[
  {
    "path": ".gitignore",
    "content": "# Xcode\n#\n# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore\n\n## Build generated\nbuild/\nDerivedData/\n\n####################################\n######## OS generated files ########\n####################################\n.DS_Store\n.DS_Store?\n*.swp\n._*\n.Spotlight-V100\n.Trashes\nIcon?\nehthumbs.db\nThumbs.db\n####################################\n############# packages #############\n####################################\n*.7z  \n*.dmg\n*.gz\n*.iso\n*.jar\n*.rar\n*.tar\n####################################\n############# xcode #############\n####################################\n*.xcuserstate\nproject.xcworkspace\nxcuserdata\nUserInterfaceState.xcuserstate\nproject.xcworkspace/\nxcuserdata/\nUserInterface.xcuserstate% \nAppia.xcodeproj/xcuserdata/\nPods/Pods.xcodeproj/xcuserdata/\n\n####################################\n###### Pods settings  ###########\n####################################\nPods/\n\n####################################\n###### Various settings  ###########\n####################################\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata/\n\n####################################\n############ Other #################\n####################################\n*.moved-aside\n*.xccheckout\n*.xcscmblueprint\n"
  },
  {
    "path": "Cartfile",
    "content": "git \"https://github.com/zhuhaow/NEKit\" \"master\"\n#github \"Alamofire/Alamofire\""
  },
  {
    "path": "Cartfile.resolved",
    "content": "github \"CocoaLumberjack/CocoaLumberjack\" \"3.4.2\"\ngithub \"behrang/YamlSwift\" \"3.4.3\"\ngithub \"lexrus/MMDB-Swift\" \"0.2.9\"\ngithub \"robbiehanson/CocoaAsyncSocket\" \"7.6.3\"\ngithub \"zhuhaow/NEKit\" \"79c996835d21de223f876705d2a8230ca1528a49\"\ngithub \"zhuhaow/Resolver\" \"0.1.3\"\ngithub \"zhuhaow/Sodium-framework\" \"v1.0.10.1\"\ngithub \"zhuhaow/tun2socks\" \"0.6.1\"\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/.gitignore",
    "content": "# Xcode\n#\n# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore\n\n## Build generated\nbuild/\nDerivedData\n\n## Various settings\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n\n## Other\n.DS_Store\n*.xccheckout\n*.moved-aside\n*.xcuserstate\n*.xcscmblueprint\n\n## Obj-C/Swift specific\n*.hmap\n*.ipa\n\n# CocoaPods\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control\n#\nPods/\n\n# Carthage\n#\n# Add this line if you want to avoid checking in source code from Carthage dependencies.\n# Carthage/Checkouts\n\nCarthage/Build"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/.travis.yml",
    "content": "osx_image: xcode9.2\nlanguage: objective-c\n\ninstall:\n  - cd Tests\n  - bundle install\n  - bundle exec pod install --project-directory=./iOS\n  - bundle exec pod install --project-directory=./Mac\n  - cd ../\n\nscript:\n  - export IOS_VERSION=\"11.2\" # waiting for xcode9.3 on Travis\n  - bash Tests/test-all.sh\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/CocoaAsyncSocket.podspec",
    "content": "Pod::Spec.new do |s|\n  s.name     = 'CocoaAsyncSocket'\n  s.version  = '7.6.3'\n  s.license  = { :type => 'public domain', :text => <<-LICENSE\nPublic Domain License\n\nThe CocoaAsyncSocket project is in the public domain.\n\nThe original TCP version (AsyncSocket) was created by Dustin Voss in January 2003.\nUpdated and maintained by Deusty LLC and the Apple development community.\n                 LICENSE\n               }\n  s.summary  = 'Asynchronous socket networking library for Mac and iOS.'\n  s.homepage = 'https://github.com/robbiehanson/CocoaAsyncSocket'\n  s.authors  = 'Dustin Voss', { 'Robbie Hanson' => 'robbiehanson@deusty.com' }\n\n  s.source   = { :git => 'https://github.com/robbiehanson/CocoaAsyncSocket.git',\n                 :tag => \"#{s.version}\" }\n\n  s.description = 'CocoaAsyncSocket supports TCP and UDP. The AsyncSocket class is for TCP, and the AsyncUdpSocket class is for UDP. ' \\\n                  'AsyncSocket is a TCP/IP socket networking library that wraps CFSocket and CFStream. It offers asynchronous ' \\\n                  'operation, and a native Cocoa class complete with delegate support or use the GCD variant GCDAsyncSocket. ' \\\n                  'AsyncUdpSocket is a UDP/IP socket networking library that wraps CFSocket. It works almost exactly like the TCP ' \\\n                  'version, but is designed specifically for UDP. This includes queued non-blocking send/receive operations, full ' \\\n                  'delegate support, run-loop based, self-contained class, and support for IPv4 and IPv6.'\n\n  s.source_files = 'Source/GCD/*.{h,m}'\n\n  s.requires_arc = true\n\n  s.ios.deployment_target = '5.0'\n  s.tvos.deployment_target = '9.0'\n  s.osx.deployment_target = '10.8'\n\n  s.ios.frameworks = 'CFNetwork', 'Security'\n  s.tvos.frameworks = 'CFNetwork', 'Security'\n  s.osx.frameworks = 'CoreServices', 'Security'\nend\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/CocoaAsyncSocket.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 48;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t6C55C7D31B7838B1006A7440 /* CocoaAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C55C7D11B7838B1006A7440 /* CocoaAsyncSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t6CD990301B7789680011A685 /* GCDAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD9902C1B7789680011A685 /* GCDAsyncSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t6CD990311B7789680011A685 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CD9902D1B7789680011A685 /* GCDAsyncSocket.m */; };\n\t\t6CD990321B7789680011A685 /* GCDAsyncUdpSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD9902E1B7789680011A685 /* GCDAsyncUdpSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t6CD990331B7789680011A685 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CD9902F1B7789680011A685 /* GCDAsyncUdpSocket.m */; };\n\t\t7D8B70D01BCFA22A00D8E273 /* CocoaAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C55C7D11B7838B1006A7440 /* CocoaAsyncSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t7D8B70D11BCFA23100D8E273 /* GCDAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD9902C1B7789680011A685 /* GCDAsyncSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t7D8B70D21BCFA23100D8E273 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CD9902D1B7789680011A685 /* GCDAsyncSocket.m */; };\n\t\t7D8B70D31BCFA23100D8E273 /* GCDAsyncUdpSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD9902E1B7789680011A685 /* GCDAsyncUdpSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t7D8B70D41BCFA23100D8E273 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CD9902F1B7789680011A685 /* GCDAsyncUdpSocket.m */; };\n\t\t9FC41F2C1B9D968000578BEB /* CocoaAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C55C7D11B7838B1006A7440 /* CocoaAsyncSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t9FC41F2D1B9D968700578BEB /* GCDAsyncSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD9902C1B7789680011A685 /* GCDAsyncSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t9FC41F2E1B9D968E00578BEB /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CD9902D1B7789680011A685 /* GCDAsyncSocket.m */; };\n\t\t9FC41F2F1B9D968E00578BEB /* GCDAsyncUdpSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CD9902E1B7789680011A685 /* GCDAsyncUdpSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t9FC41F301B9D969100578BEB /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CD9902F1B7789680011A685 /* GCDAsyncUdpSocket.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t6C55C7D11B7838B1006A7440 /* CocoaAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CocoaAsyncSocket.h; path = Source/CocoaAsyncSocket.h; sourceTree = SOURCE_ROOT; };\n\t\t6CD990101B77868C0011A685 /* CocoaAsyncSocket.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaAsyncSocket.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t6CD990151B77868C0011A685 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = Source/Info.plist; sourceTree = \"<group>\"; };\n\t\t6CD9902C1B7789680011A685 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncSocket.h; path = Source/GCD/GCDAsyncSocket.h; sourceTree = SOURCE_ROOT; };\n\t\t6CD9902D1B7789680011A685 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocket.m; path = Source/GCD/GCDAsyncSocket.m; sourceTree = SOURCE_ROOT; };\n\t\t6CD9902E1B7789680011A685 /* GCDAsyncUdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncUdpSocket.h; path = Source/GCD/GCDAsyncUdpSocket.h; sourceTree = SOURCE_ROOT; };\n\t\t6CD9902F1B7789680011A685 /* GCDAsyncUdpSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncUdpSocket.m; path = Source/GCD/GCDAsyncUdpSocket.m; sourceTree = SOURCE_ROOT; };\n\t\t7D8B70C41BCFA15700D8E273 /* CocoaAsyncSocket.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaAsyncSocket.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t9FC41F131B9D965000578BEB /* CocoaAsyncSocket.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaAsyncSocket.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t6CD9900C1B77868C0011A685 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t7D8B70C01BCFA15700D8E273 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t9FC41F0F1B9D965000578BEB /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t6CD990061B77868C0011A685 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t6CD990121B77868C0011A685 /* CocoaAsyncSocket */,\n\t\t\t\t6CD990111B77868C0011A685 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t6CD990111B77868C0011A685 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t6CD990101B77868C0011A685 /* CocoaAsyncSocket.framework */,\n\t\t\t\t9FC41F131B9D965000578BEB /* CocoaAsyncSocket.framework */,\n\t\t\t\t7D8B70C41BCFA15700D8E273 /* CocoaAsyncSocket.framework */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t6CD990121B77868C0011A685 /* CocoaAsyncSocket */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t6CD9902A1B7789220011A685 /* GCD */,\n\t\t\t\t6CD990151B77868C0011A685 /* Info.plist */,\n\t\t\t\t6C55C7D11B7838B1006A7440 /* CocoaAsyncSocket.h */,\n\t\t\t);\n\t\t\tpath = CocoaAsyncSocket;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t6CD9902A1B7789220011A685 /* GCD */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t6CD9902C1B7789680011A685 /* GCDAsyncSocket.h */,\n\t\t\t\t6CD9902D1B7789680011A685 /* GCDAsyncSocket.m */,\n\t\t\t\t6CD9902E1B7789680011A685 /* GCDAsyncUdpSocket.h */,\n\t\t\t\t6CD9902F1B7789680011A685 /* GCDAsyncUdpSocket.m */,\n\t\t\t);\n\t\t\tname = GCD;\n\t\t\tpath = Source/GCD;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t6CD9900D1B77868C0011A685 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t6CD990301B7789680011A685 /* GCDAsyncSocket.h in Headers */,\n\t\t\t\t6CD990321B7789680011A685 /* GCDAsyncUdpSocket.h in Headers */,\n\t\t\t\t6C55C7D31B7838B1006A7440 /* CocoaAsyncSocket.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t7D8B70C11BCFA15700D8E273 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t7D8B70D31BCFA23100D8E273 /* GCDAsyncUdpSocket.h in Headers */,\n\t\t\t\t7D8B70D01BCFA22A00D8E273 /* CocoaAsyncSocket.h in Headers */,\n\t\t\t\t7D8B70D11BCFA23100D8E273 /* GCDAsyncSocket.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t9FC41F101B9D965000578BEB /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t9FC41F2C1B9D968000578BEB /* CocoaAsyncSocket.h in Headers */,\n\t\t\t\t9FC41F2D1B9D968700578BEB /* GCDAsyncSocket.h in Headers */,\n\t\t\t\t9FC41F2F1B9D968E00578BEB /* GCDAsyncUdpSocket.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t6CD9900F1B77868C0011A685 /* iOS CocoaAsyncSocket */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 6CD990241B77868C0011A685 /* Build configuration list for PBXNativeTarget \"iOS CocoaAsyncSocket\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t6CD9900B1B77868C0011A685 /* Sources */,\n\t\t\t\t6CD9900C1B77868C0011A685 /* Frameworks */,\n\t\t\t\t6CD9900D1B77868C0011A685 /* Headers */,\n\t\t\t\t6CD9900E1B77868C0011A685 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"iOS CocoaAsyncSocket\";\n\t\t\tproductName = CocoaAsyncSocket;\n\t\t\tproductReference = 6CD990101B77868C0011A685 /* CocoaAsyncSocket.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t7D8B70C31BCFA15700D8E273 /* tvOS CocoaAsyncSocket */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 7D8B70CB1BCFA15700D8E273 /* Build configuration list for PBXNativeTarget \"tvOS CocoaAsyncSocket\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t7D8B70BF1BCFA15700D8E273 /* Sources */,\n\t\t\t\t7D8B70C01BCFA15700D8E273 /* Frameworks */,\n\t\t\t\t7D8B70C11BCFA15700D8E273 /* Headers */,\n\t\t\t\t7D8B70C21BCFA15700D8E273 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"tvOS CocoaAsyncSocket\";\n\t\t\tproductName = \"tvOS CocoaAsyncSocket\";\n\t\t\tproductReference = 7D8B70C41BCFA15700D8E273 /* CocoaAsyncSocket.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t9FC41F121B9D965000578BEB /* Mac CocoaAsyncSocket */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 9FC41F261B9D965000578BEB /* Build configuration list for PBXNativeTarget \"Mac CocoaAsyncSocket\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t9FC41F0E1B9D965000578BEB /* Sources */,\n\t\t\t\t9FC41F0F1B9D965000578BEB /* Frameworks */,\n\t\t\t\t9FC41F101B9D965000578BEB /* Headers */,\n\t\t\t\t9FC41F111B9D965000578BEB /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Mac CocoaAsyncSocket\";\n\t\t\tproductName = \"Mac CocoaAsyncSocket\";\n\t\t\tproductReference = 9FC41F131B9D965000578BEB /* CocoaAsyncSocket.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t6CD990071B77868C0011A685 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0930;\n\t\t\t\tORGANIZATIONNAME = \"Robbie Hanson\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t6CD9900F1B77868C0011A685 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.0;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t};\n\t\t\t\t\t7D8B70C31BCFA15700D8E273 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.1;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t};\n\t\t\t\t\t9FC41F121B9D965000578BEB = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.4;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 6CD9900A1B77868C0011A685 /* Build configuration list for PBXProject \"CocoaAsyncSocket\" */;\n\t\t\tcompatibilityVersion = \"Xcode 8.0\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = 6CD990061B77868C0011A685;\n\t\t\tproductRefGroup = 6CD990111B77868C0011A685 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t6CD9900F1B77868C0011A685 /* iOS CocoaAsyncSocket */,\n\t\t\t\t9FC41F121B9D965000578BEB /* Mac CocoaAsyncSocket */,\n\t\t\t\t7D8B70C31BCFA15700D8E273 /* tvOS CocoaAsyncSocket */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t6CD9900E1B77868C0011A685 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t7D8B70C21BCFA15700D8E273 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t9FC41F111B9D965000578BEB /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t6CD9900B1B77868C0011A685 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t6CD990331B7789680011A685 /* GCDAsyncUdpSocket.m in Sources */,\n\t\t\t\t6CD990311B7789680011A685 /* GCDAsyncSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t7D8B70BF1BCFA15700D8E273 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t7D8B70D41BCFA23100D8E273 /* GCDAsyncUdpSocket.m in Sources */,\n\t\t\t\t7D8B70D21BCFA23100D8E273 /* GCDAsyncSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t9FC41F0E1B9D965000578BEB /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t9FC41F301B9D969100578BEB /* GCDAsyncUdpSocket.m in Sources */,\n\t\t\t\t9FC41F2E1B9D968E00578BEB /* GCDAsyncSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\t6CD990221B77868C0011A685 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;\n\t\t\t\tCLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;\n\t\t\t\tCLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_ASSIGN_ENUM = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_RECEIVER_WEAK = YES;\n\t\t\t\tCLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_STRICT_SELECTOR_MATCH = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t6CD990231B77868C0011A685 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;\n\t\t\t\tCLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;\n\t\t\t\tCLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_ASSIGN_ENUM = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_RECEIVER_WEAK = YES;\n\t\t\t\tCLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_STRICT_SELECTOR_MATCH = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t6CD990251B77868C0011A685 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Source/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.4;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.robbiehanson.CocoaAsyncSocket;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t6CD990261B77868C0011A685 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Source/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.4;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.robbiehanson.CocoaAsyncSocket;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t7D8B70C91BCFA15700D8E273 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Source/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.robbiehanson.CocoaAsyncSocket;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t7D8B70CA1BCFA15700D8E273 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Source/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.robbiehanson.CocoaAsyncSocket;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t9FC41F271B9D965000578BEB /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Source/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.robbiehanson.CocoaAsyncSocket;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t9FC41F281B9D965000578BEB /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Source/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.robbiehanson.CocoaAsyncSocket;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t6CD9900A1B77868C0011A685 /* Build configuration list for PBXProject \"CocoaAsyncSocket\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t6CD990221B77868C0011A685 /* Debug */,\n\t\t\t\t6CD990231B77868C0011A685 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t6CD990241B77868C0011A685 /* Build configuration list for PBXNativeTarget \"iOS CocoaAsyncSocket\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t6CD990251B77868C0011A685 /* Debug */,\n\t\t\t\t6CD990261B77868C0011A685 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t7D8B70CB1BCFA15700D8E273 /* Build configuration list for PBXNativeTarget \"tvOS CocoaAsyncSocket\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t7D8B70C91BCFA15700D8E273 /* Debug */,\n\t\t\t\t7D8B70CA1BCFA15700D8E273 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t9FC41F261B9D965000578BEB /* Build configuration list for PBXNativeTarget \"Mac CocoaAsyncSocket\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t9FC41F271B9D965000578BEB /* Debug */,\n\t\t\t\t9FC41F281B9D965000578BEB /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 6CD990071B77868C0011A685 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/CocoaAsyncSocket.xcodeproj/xcshareddata/xcschemes/Mac Framework.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"9FC41F121B9D965000578BEB\"\n               BuildableName = \"CocoaAsyncSocket.framework\"\n               BlueprintName = \"Mac CocoaAsyncSocket\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"9FC41F1C1B9D965000578BEB\"\n               BuildableName = \"Mac CocoaAsyncSocketTests.xctest\"\n               BlueprintName = \"Mac CocoaAsyncSocketTests\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"9FC41F1C1B9D965000578BEB\"\n               BuildableName = \"Mac CocoaAsyncSocketTests.xctest\"\n               BlueprintName = \"Mac CocoaAsyncSocketTests\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"9FC41F121B9D965000578BEB\"\n            BuildableName = \"CocoaAsyncSocket.framework\"\n            BlueprintName = \"Mac CocoaAsyncSocket\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"9FC41F121B9D965000578BEB\"\n            BuildableName = \"CocoaAsyncSocket.framework\"\n            BlueprintName = \"Mac CocoaAsyncSocket\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"9FC41F121B9D965000578BEB\"\n            BuildableName = \"CocoaAsyncSocket.framework\"\n            BlueprintName = \"Mac CocoaAsyncSocket\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/CocoaAsyncSocket.xcodeproj/xcshareddata/xcschemes/iOS Framework.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"6CD9900F1B77868C0011A685\"\n               BuildableName = \"CocoaAsyncSocket.framework\"\n               BlueprintName = \"iOS CocoaAsyncSocket\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"6CD990191B77868C0011A685\"\n               BuildableName = \"CocoaAsyncSocketTests.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTests\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"6CD9900F1B77868C0011A685\"\n            BuildableName = \"CocoaAsyncSocket.framework\"\n            BlueprintName = \"iOS CocoaAsyncSocket\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"6CD9900F1B77868C0011A685\"\n            BuildableName = \"CocoaAsyncSocket.framework\"\n            BlueprintName = \"iOS CocoaAsyncSocket\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"6CD9900F1B77868C0011A685\"\n            BuildableName = \"CocoaAsyncSocket.framework\"\n            BlueprintName = \"iOS CocoaAsyncSocket\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/CocoaAsyncSocket.xcodeproj/xcshareddata/xcschemes/tvOS Framework.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"7D8B70C31BCFA15700D8E273\"\n               BuildableName = \"CocoaAsyncSocket.framework\"\n               BlueprintName = \"tvOS CocoaAsyncSocket\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"7D8B70C31BCFA15700D8E273\"\n            BuildableName = \"CocoaAsyncSocket.framework\"\n            BlueprintName = \"tvOS CocoaAsyncSocket\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"7D8B70C31BCFA15700D8E273\"\n            BuildableName = \"CocoaAsyncSocket.framework\"\n            BlueprintName = \"tvOS CocoaAsyncSocket\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourClient/BonjourClient-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourClient/BonjourClient.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C32806186CDB3000F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32801186CDB3000F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C32807186CDB3000F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32803186CDB3000F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C32808186CDB3000F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32805186CDB3000F6D762 /* DDMultiFormatter.m */; };\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* BonjourClientAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* BonjourClientAppDelegate.m */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tDC73005412F20D5600549AC7 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC73005312F20D5600549AC7 /* GCDAsyncSocket.m */; };\n\t\tDC73005612F20D6400549AC7 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC73005512F20D6400549AC7 /* Security.framework */; };\n\t\tDC90ABAA147743C90022DF52 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB9B147743C90022DF52 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC90ABAB147743C90022DF52 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB9D147743C90022DF52 /* DDASLLogger.m */; };\n\t\tDC90ABAC147743C90022DF52 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB9F147743C90022DF52 /* DDFileLogger.m */; };\n\t\tDC90ABAD147743C90022DF52 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABA1147743C90022DF52 /* DDLog.m */; };\n\t\tDC90ABAE147743C90022DF52 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABA3147743C90022DF52 /* DDTTYLogger.m */; };\n\t\tDC90ABB1147743C90022DF52 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC90ABA9147743C90022DF52 /* README.txt */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t11C32800186CDB3000F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32801186CDB3000F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32802186CDB3000F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32803186CDB3000F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32804186CDB3000F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32805186CDB3000F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32809186CDB3700F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = \"DDLog+LOGV.h\"; path = \"../../../Vendor/CocoaLumberjack/DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* BonjourClientAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BonjourClientAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* BonjourClientAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BonjourClientAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* BonjourClient_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BonjourClient_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t8D1107310486CEB800E47090 /* BonjourClient-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"BonjourClient-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* BonjourClient.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BonjourClient.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC73005212F20D5600549AC7 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncSocket.h; path = ../../GCDAsyncSocket.h; sourceTree = SOURCE_ROOT; };\n\t\tDC73005312F20D5600549AC7 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocket.m; path = ../../GCDAsyncSocket.m; sourceTree = SOURCE_ROOT; };\n\t\tDC73005512F20D6400549AC7 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n\t\tDC90AB9A147743C90022DF52 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = ../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB9B147743C90022DF52 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = ../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB9C147743C90022DF52 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = ../../../Vendor/CocoaLumberjack/DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB9D147743C90022DF52 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = ../../../Vendor/CocoaLumberjack/DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB9E147743C90022DF52 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = ../../../Vendor/CocoaLumberjack/DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB9F147743C90022DF52 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = ../../../Vendor/CocoaLumberjack/DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABA0147743C90022DF52 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = ../../../Vendor/CocoaLumberjack/DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC90ABA1147743C90022DF52 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = ../../../Vendor/CocoaLumberjack/DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC90ABA2147743C90022DF52 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = ../../../Vendor/CocoaLumberjack/DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90ABA3147743C90022DF52 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = ../../../Vendor/CocoaLumberjack/DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABA9147743C90022DF52 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\tDC73005612F20D6400549AC7 /* Security.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* BonjourClientAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* BonjourClientAppDelegate.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t\tDC73005512F20D6400549AC7 /* Security.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* BonjourClient.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* BonjourClient */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC73005B12F20E0B00549AC7 /* Logging */,\n\t\t\t\tDC90AB98147743A80022DF52 /* TCP */,\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t);\n\t\t\tname = BonjourClient;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* BonjourClient_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* BonjourClient-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC73005B12F20E0B00549AC7 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC90AB9A147743C90022DF52 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC90AB9B147743C90022DF52 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC90AB9C147743C90022DF52 /* DDASLLogger.h */,\n\t\t\t\tDC90AB9D147743C90022DF52 /* DDASLLogger.m */,\n\t\t\t\tDC90AB9E147743C90022DF52 /* DDFileLogger.h */,\n\t\t\t\tDC90AB9F147743C90022DF52 /* DDFileLogger.m */,\n\t\t\t\tDC90ABA0147743C90022DF52 /* DDLog.h */,\n\t\t\t\tDC90ABA1147743C90022DF52 /* DDLog.m */,\n\t\t\t\t11C32809186CDB3700F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC90ABA2147743C90022DF52 /* DDTTYLogger.h */,\n\t\t\t\tDC90ABA3147743C90022DF52 /* DDTTYLogger.m */,\n\t\t\t\tDC90ABA4147743C90022DF52 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC90AB98147743A80022DF52 /* TCP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC73005212F20D5600549AC7 /* GCDAsyncSocket.h */,\n\t\t\t\tDC73005312F20D5600549AC7 /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = TCP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC90ABA4147743C90022DF52 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C32800186CDB3000F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C32801186CDB3000F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C32802186CDB3000F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C32803186CDB3000F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C32804186CDB3000F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C32805186CDB3000F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC90ABA9147743C90022DF52 /* README.txt */,\n\t\t\t);\n\t\t\tname = Extensions;\n\t\t\tpath = ../../../Vendor/CocoaLumberjack/Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* BonjourClient */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"BonjourClient\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = BonjourClient;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = BonjourClient;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* BonjourClient.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0450;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"BonjourClient\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* BonjourClient */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* BonjourClient */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t\tDC90ABB1147743C90022DF52 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* BonjourClientAppDelegate.m in Sources */,\n\t\t\t\tDC73005412F20D5600549AC7 /* GCDAsyncSocket.m in Sources */,\n\t\t\t\t11C32806186CDB3000F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC90ABAA147743C90022DF52 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDC90ABAB147743C90022DF52 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC90ABAC147743C90022DF52 /* DDFileLogger.m in Sources */,\n\t\t\t\t11C32808186CDB3000F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\t11C32807186CDB3000F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDC90ABAD147743C90022DF52 /* DDLog.m in Sources */,\n\t\t\t\tDC90ABAE147743C90022DF52 /* DDTTYLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = BonjourClient_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"BonjourClient-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_NAME = BonjourClient;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = BonjourClient_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"BonjourClient-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_NAME = BonjourClient;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_64_BIT)\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_64_BIT)\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"BonjourClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"BonjourClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourClient/BonjourClientAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class GCDAsyncSocket;\n\n\n@interface BonjourClientAppDelegate : NSObject <NSApplicationDelegate, NSNetServiceBrowserDelegate, NSNetServiceDelegate>\n{\n\tNSNetServiceBrowser *netServiceBrowser;\n\tNSNetService *serverService;\n\tNSMutableArray *serverAddresses;\n\tGCDAsyncSocket *asyncSocket;\n\tBOOL connected;\n\t\n\tNSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourClient/BonjourClientAppDelegate.m",
    "content": "#import \"BonjourClientAppDelegate.h\"\n#import \"GCDAsyncSocket.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n#import \"DDASLLogger.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n@interface BonjourClientAppDelegate (Private)\n- (void)connectToNextAddress;\n@end\n\n#pragma mark -\n\n@implementation BonjourClientAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\t// Configure logging framework\n\t\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t[DDLog addLogger:[DDASLLogger sharedInstance]];\n\t\n\t// Start browsing for bonjour services\n\t\n\tnetServiceBrowser = [[NSNetServiceBrowser alloc] init];\n\t\n\t[netServiceBrowser setDelegate:self];\n\t[netServiceBrowser searchForServicesOfType:@\"_YourServiceName._tcp.\" inDomain:@\"local.\"];\n}\n\n- (void)netServiceBrowser:(NSNetServiceBrowser *)sender didNotSearch:(NSDictionary *)errorInfo\n{\n\tDDLogError(@\"DidNotSearch: %@\", errorInfo);\n}\n\n- (void)netServiceBrowser:(NSNetServiceBrowser *)sender\n           didFindService:(NSNetService *)netService\n               moreComing:(BOOL)moreServicesComing\n{\n\tDDLogVerbose(@\"DidFindService: %@\", [netService name]);\n\t\n\t// Connect to the first service we find\n\t\n\tif (serverService == nil)\n\t{\n\t\tDDLogVerbose(@\"Resolving...\");\n\t\t\n\t\tserverService = netService;\n\t\t\n\t\t[serverService setDelegate:self];\n\t\t[serverService resolveWithTimeout:5.0];\n\t}\n}\n\n- (void)netServiceBrowser:(NSNetServiceBrowser *)sender\n         didRemoveService:(NSNetService *)netService\n               moreComing:(BOOL)moreServicesComing\n{\n\tDDLogVerbose(@\"DidRemoveService: %@\", [netService name]);\n}\n\n- (void)netServiceBrowserDidStopSearch:(NSNetServiceBrowser *)sender\n{\n\tDDLogInfo(@\"DidStopSearch\");\n}\n\n- (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict\n{\n\tDDLogError(@\"DidNotResolve\");\n}\n\n- (void)netServiceDidResolveAddress:(NSNetService *)sender\n{\n\tDDLogInfo(@\"DidResolve: %@\", [sender addresses]);\n\t\n\tif (serverAddresses == nil)\n\t{\n\t\tserverAddresses = [[sender addresses] mutableCopy];\n\t}\n\t\n\tif (asyncSocket == nil)\n\t{\n\t\tasyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n\t\t\n\t\t[self connectToNextAddress];\n\t}\n}\n\n- (void)connectToNextAddress\n{\n\tBOOL done = NO;\n\t\n\twhile (!done && ([serverAddresses count] > 0))\n\t{\n\t\tNSData *addr;\n\t\t\n\t\t// Note: The serverAddresses array probably contains both IPv4 and IPv6 addresses.\n\t\t// \n\t\t// If your server is also using GCDAsyncSocket then you don't have to worry about it,\n\t\t// as the socket automatically handles both protocols for you transparently.\n\t\t\n\t\tif (YES) // Iterate forwards\n\t\t{\n\t\t\taddr = [serverAddresses objectAtIndex:0];\n\t\t\t[serverAddresses removeObjectAtIndex:0];\n\t\t}\n\t\telse // Iterate backwards\n\t\t{\n\t\t\taddr = [serverAddresses lastObject];\n\t\t\t[serverAddresses removeLastObject];\n\t\t}\n\t\t\n\t\tDDLogVerbose(@\"Attempting connection to %@\", addr);\n\t\t\n\t\tNSError *err = nil;\n\t\tif ([asyncSocket connectToAddress:addr error:&err])\n\t\t{\n\t\t\tdone = YES;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDDLogWarn(@\"Unable to connect: %@\", err);\n\t\t}\n\t\t\n\t}\n\t\n\tif (!done)\n\t{\n\t\tDDLogWarn(@\"Unable to connect to any resolved address\");\n\t}\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port\n{\n\tDDLogInfo(@\"Socket:DidConnectToHost: %@ Port: %hu\", host, port);\n\t\n\tconnected = YES;\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err\n{\n\tDDLogWarn(@\"SocketDidDisconnect:WithError: %@\", err);\n\t\n\tif (!connected)\n\t{\n\t\t[self connectToNextAddress];\n\t}\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourClient/BonjourClient_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'BonjourClient' target in the 'BonjourClient' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourClient/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourClient/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">BonjourClient</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">BonjourClient</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About BonjourClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide BonjourClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit BonjourClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">BonjourClient Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">BonjourClient</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">BonjourClientAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">BonjourClientAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">BonjourClientAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../BonjourClient.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourClient/main.m",
    "content": "//\n//  main.m\n//  BonjourClient\n//\n//  Created by Robbie Hanson on 1/27/11.\n//  Copyright 2011 Voalte. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourServer/BonjourServer-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourServer/BonjourServer.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C32810186CDB6500F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3280B186CDB6500F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C32811186CDB6500F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3280D186CDB6500F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C32812186CDB6500F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3280F186CDB6500F6D762 /* DDMultiFormatter.m */; };\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* BonjourServerAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* BonjourServerAppDelegate.m */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tDC73000C12F2069000549AC7 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC73000B12F2069000549AC7 /* GCDAsyncSocket.m */; };\n\t\tDC73002B12F20CA200549AC7 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC73002A12F20CA200549AC7 /* Security.framework */; };\n\t\tDC90ABC71477442E0022DF52 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABB81477442E0022DF52 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC90ABC81477442E0022DF52 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABBA1477442E0022DF52 /* DDASLLogger.m */; };\n\t\tDC90ABC91477442E0022DF52 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABBC1477442E0022DF52 /* DDFileLogger.m */; };\n\t\tDC90ABCA1477442E0022DF52 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABBE1477442E0022DF52 /* DDLog.m */; };\n\t\tDC90ABCB1477442E0022DF52 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABC01477442E0022DF52 /* DDTTYLogger.m */; };\n\t\tDC90ABCE1477442E0022DF52 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC90ABC61477442E0022DF52 /* README.txt */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t11C3280A186CDB6500F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3280B186CDB6500F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C3280C186CDB6500F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3280D186CDB6500F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C3280E186CDB6500F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3280F186CDB6500F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32813186CDB7800F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = \"DDLog+LOGV.h\"; path = \"../../../Vendor/CocoaLumberjack/DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* BonjourServerAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BonjourServerAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* BonjourServerAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BonjourServerAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* BonjourServer_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BonjourServer_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t8D1107310486CEB800E47090 /* BonjourServer-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"BonjourServer-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* BonjourServer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BonjourServer.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC73000A12F2069000549AC7 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncSocket.h; path = ../../GCDAsyncSocket.h; sourceTree = SOURCE_ROOT; };\n\t\tDC73000B12F2069000549AC7 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocket.m; path = ../../GCDAsyncSocket.m; sourceTree = SOURCE_ROOT; };\n\t\tDC73002A12F20CA200549AC7 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n\t\tDC90ABB71477442E0022DF52 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = ../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90ABB81477442E0022DF52 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = ../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABB91477442E0022DF52 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = ../../../Vendor/CocoaLumberjack/DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90ABBA1477442E0022DF52 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = ../../../Vendor/CocoaLumberjack/DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABBB1477442E0022DF52 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = ../../../Vendor/CocoaLumberjack/DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90ABBC1477442E0022DF52 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = ../../../Vendor/CocoaLumberjack/DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABBD1477442E0022DF52 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = ../../../Vendor/CocoaLumberjack/DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC90ABBE1477442E0022DF52 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = ../../../Vendor/CocoaLumberjack/DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC90ABBF1477442E0022DF52 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = ../../../Vendor/CocoaLumberjack/DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90ABC01477442E0022DF52 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = ../../../Vendor/CocoaLumberjack/DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABC61477442E0022DF52 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\tDC73002B12F20CA200549AC7 /* Security.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* BonjourServerAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* BonjourServerAppDelegate.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t\tDC73002A12F20CA200549AC7 /* Security.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* BonjourServer.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* BonjourServer */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC73001712F2088D00549AC7 /* Logging */,\n\t\t\t\tDC90ABCF147744330022DF52 /* TCP */,\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t);\n\t\t\tname = BonjourServer;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* BonjourServer_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* BonjourServer-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC73001712F2088D00549AC7 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC90ABB71477442E0022DF52 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC90ABB81477442E0022DF52 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC90ABB91477442E0022DF52 /* DDASLLogger.h */,\n\t\t\t\tDC90ABBA1477442E0022DF52 /* DDASLLogger.m */,\n\t\t\t\tDC90ABBB1477442E0022DF52 /* DDFileLogger.h */,\n\t\t\t\tDC90ABBC1477442E0022DF52 /* DDFileLogger.m */,\n\t\t\t\tDC90ABBD1477442E0022DF52 /* DDLog.h */,\n\t\t\t\tDC90ABBE1477442E0022DF52 /* DDLog.m */,\n\t\t\t\t11C32813186CDB7800F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC90ABBF1477442E0022DF52 /* DDTTYLogger.h */,\n\t\t\t\tDC90ABC01477442E0022DF52 /* DDTTYLogger.m */,\n\t\t\t\tDC90ABC11477442E0022DF52 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC90ABC11477442E0022DF52 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C3280A186CDB6500F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C3280B186CDB6500F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C3280C186CDB6500F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C3280D186CDB6500F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C3280E186CDB6500F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C3280F186CDB6500F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC90ABC61477442E0022DF52 /* README.txt */,\n\t\t\t);\n\t\t\tname = Extensions;\n\t\t\tpath = ../../../Vendor/CocoaLumberjack/Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC90ABCF147744330022DF52 /* TCP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC73000A12F2069000549AC7 /* GCDAsyncSocket.h */,\n\t\t\t\tDC73000B12F2069000549AC7 /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = TCP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* BonjourServer */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"BonjourServer\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = BonjourServer;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = BonjourServer;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* BonjourServer.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0450;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"BonjourServer\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* BonjourServer */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* BonjourServer */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t\tDC90ABCE1477442E0022DF52 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* BonjourServerAppDelegate.m in Sources */,\n\t\t\t\tDC73000C12F2069000549AC7 /* GCDAsyncSocket.m in Sources */,\n\t\t\t\t11C32810186CDB6500F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC90ABC71477442E0022DF52 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDC90ABC81477442E0022DF52 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC90ABC91477442E0022DF52 /* DDFileLogger.m in Sources */,\n\t\t\t\t11C32812186CDB6500F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\t11C32811186CDB6500F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDC90ABCA1477442E0022DF52 /* DDLog.m in Sources */,\n\t\t\t\tDC90ABCB1477442E0022DF52 /* DDTTYLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = BonjourServer_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"BonjourServer-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_NAME = BonjourServer;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = BonjourServer_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"BonjourServer-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_NAME = BonjourServer;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_64_BIT)\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_64_BIT)\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"BonjourServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"BonjourServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourServer/BonjourServerAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class GCDAsyncSocket;\n\n\n@interface BonjourServerAppDelegate : NSObject <NSApplicationDelegate, NSNetServiceDelegate>\n{\n\tNSNetService *netService;\n\tGCDAsyncSocket *asyncSocket;\n\tNSMutableArray *connectedSockets;\n\t\n\tNSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourServer/BonjourServerAppDelegate.m",
    "content": "#import \"BonjourServerAppDelegate.h\"\n#import \"GCDAsyncSocket.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n#import \"DDASLLogger.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n\n@implementation BonjourServerAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\t// Configure logging framework\n\t\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t[DDLog addLogger:[DDASLLogger sharedInstance]];\n\t\n\t// Create our socket.\n\t// We tell it to invoke our delegate methods on the main thread.\n\t\n\tasyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n\t\n\t// Create an array to hold accepted incoming connections.\n\t\n\tconnectedSockets = [[NSMutableArray alloc] init];\n\t\n\t// Now we tell the socket to accept incoming connections.\n\t// We don't care what port it listens on, so we pass zero for the port number.\n\t// This allows the operating system to automatically assign us an available port.\n\t\n\tNSError *err = nil;\n\tif ([asyncSocket acceptOnPort:0 error:&err])\n\t{\n\t\t// So what port did the OS give us?\n\t\t\n\t\tUInt16 port = [asyncSocket localPort];\n\t\t\n\t\t// Create and publish the bonjour service.\n\t\t// Obviously you will be using your own custom service type.\n\t\t\n\t\tnetService = [[NSNetService alloc] initWithDomain:@\"local.\"\n\t\t                                             type:@\"_YourServiceName._tcp.\"\n\t\t                                             name:@\"\"\n\t\t                                             port:port];\n\t\t\n\t\t[netService setDelegate:self];\n\t\t[netService publish];\n\t\t\n\t\t// You can optionally add TXT record stuff\n\t\t\n\t\tNSMutableDictionary *txtDict = [NSMutableDictionary dictionaryWithCapacity:2];\n\t\t\n\t\t[txtDict setObject:@\"moo\" forKey:@\"cow\"];\n\t\t[txtDict setObject:@\"quack\" forKey:@\"duck\"];\n\t\t\n\t\tNSData *txtData = [NSNetService dataFromTXTRecordDictionary:txtDict];\n\t\t[netService setTXTRecordData:txtData];\n\t}\n\telse\n\t{\n\t\tDDLogError(@\"Error in acceptOnPort:error: -> %@\", err);\n\t}\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket\n{\n\tDDLogInfo(@\"Accepted new socket from %@:%hu\", [newSocket connectedHost], [newSocket connectedPort]);\n\t\n\t// The newSocket automatically inherits its delegate & delegateQueue from its parent.\n\t\n\t[connectedSockets addObject:newSocket];\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err\n{\n\t[connectedSockets removeObject:sock];\n}\n\n- (void)netServiceDidPublish:(NSNetService *)ns\n{\n\tDDLogInfo(@\"Bonjour Service Published: domain(%@) type(%@) name(%@) port(%i)\",\n\t\t\t  [ns domain], [ns type], [ns name], (int)[ns port]);\n}\n\n- (void)netService:(NSNetService *)ns didNotPublish:(NSDictionary *)errorDict\n{\n\t// Override me to do something here...\n\t// \n\t// Note: This method in invoked on our bonjour thread.\n\t\n\tDDLogError(@\"Failed to Publish Service: domain(%@) type(%@) name(%@) - %@\",\n\t\t\t\t[ns domain], [ns type], [ns name], errorDict);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourServer/BonjourServer_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'BonjourServer' target in the 'BonjourServer' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourServer/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourServer/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">BonjourServer</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">BonjourServer</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About BonjourServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide BonjourServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit BonjourServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">BonjourServer Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">BonjourServer</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">BonjourServerAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">BonjourServerAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">BonjourServerAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../BonjourServer.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/BonjourServer/main.m",
    "content": "//\n//  main.m\n//  BonjourServer\n//\n//  Created by Robbie Hanson on 1/27/11.\n//  Copyright 2011 Voalte. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Desktop/ConnectTest/ConnectTest-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Desktop/ConnectTest/ConnectTest-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'ConnectTest' target in the 'ConnectTest' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Desktop/ConnectTest/ConnectTestAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class GCDAsyncSocket;\n\n\n@interface ConnectTestAppDelegate : NSObject <NSApplicationDelegate> {\n@private\n\tGCDAsyncSocket *asyncSocket;\n\t\n\tNSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Desktop/ConnectTest/ConnectTestAppDelegate.m",
    "content": "#import \"ConnectTestAppDelegate.h\"\n#import \"GCDAsyncSocket.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_INFO;\n\n#define USE_SECURE_CONNECTION 0\n\n\n@implementation ConnectTestAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\t// Setup logging framework\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t\n\tDDLogInfo(@\"%@\", THIS_METHOD);\n\t\n\t// Setup our socket (GCDAsyncSocket).\n\t// The socket will invoke our delegate methods using the usual delegate paradigm.\n\t// However, it will invoke the delegate methods on a specified GCD delegate dispatch queue.\n\t// \n\t// Now we can configure the delegate dispatch queue however we want.\n\t// We could use a dedicated dispatch queue for easy parallelization.\n\t// Or we could simply use the dispatch queue for the main thread.\n\t// \n\t// The best approach for your application will depend upon convenience, requirements and performance.\n\t// \n\t// For this simple example, we're just going to use the main thread.\n\t\n\tdispatch_queue_t mainQueue = dispatch_get_main_queue();\n\t\n\tasyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:mainQueue];\n\t\n\t#if USE_SECURE_CONNECTION\n\t{\n\t\tNSString *host = @\"www.paypal.com\";\n\t\tuint16_t port = 443;\n\t\t\n\t\tDDLogInfo(@\"Connecting to \\\"%@\\\" on port %hu...\", host, port);\n\t\t\n\t\tNSError *error = nil;\n\t\tif (![asyncSocket connectToHost:@\"www.paypal.com\" onPort:port error:&error])\n\t\t{\n\t\t\tDDLogError(@\"Error connecting: %@\", error);\n\t\t}\n\t}\n\t#else\n\t{\n\t\tNSString *host = @\"google.com\";\n\t\tuint16_t port = 80;\n\t\n\t\t\n\t\tDDLogInfo(@\"Connecting to \\\"%@\\\" on port %hu...\", host, port);\n\t\t\n\t\tNSError *error = nil;\n\t\tif (![asyncSocket connectToHost:host onPort:port error:&error])\n\t\t{\n\t\t\tDDLogError(@\"Error connecting: %@\", error);\n\t\t}\n\n\t\t// You can also specify an optional connect timeout.\n\t\t\n\t//\tNSError *error = nil;\n\t//\tif (![asyncSocket connectToHost:host onPort:80 withTimeout:5.0 error:&error])\n\t//\t{\n\t//\t\tDDLogError(@\"Error connecting: %@\", error);\n\t//\t}\n\t\t\n\t}\n\t#endif\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Socket Delegate\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port\n{\n\tDDLogInfo(@\"socket:%p didConnectToHost:%@ port:%hu\", sock, host, port);\n\t\n//\tDDLogInfo(@\"localHost :%@ port:%hu\", [sock localHost], [sock localPort]);\n\t\n\t#if USE_SECURE_CONNECTION\n\t{\n\t\t// Connected to secure server (HTTPS)\n\t\t\n\t\t// Configure SSL/TLS settings\n\t\tNSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:3];\n\t\t\n\t\t// If you simply want to ensure that the remote host's certificate is valid,\n\t\t// then you can use an empty dictionary.\n\t\t\n\t\t// If you know the name of the remote host, then you should specify the name here.\n\t\t// \n\t\t// NOTE:\n\t\t// You should understand the security implications if you do not specify the peer name.\n\t\t// Please see the documentation for the startTLS method in GCDAsyncSocket.h for a full discussion.\n\t\t\n\t\t[settings setObject:@\"www.paypal.com\"\n\t\t\t\t\t forKey:(NSString *)kCFStreamSSLPeerName];\n\t\t\n\t\t// To connect to a test server, with a self-signed certificate, use settings similar to this:\n\t\t\n\t//\t// Allow expired certificates\n\t//\t[settings setObject:[NSNumber numberWithBool:YES]\n\t//\t\t\t\t forKey:(NSString *)kCFStreamSSLAllowsExpiredCertificates];\n\t//\t\n\t//\t// Allow self-signed certificates\n\t//\t[settings setObject:[NSNumber numberWithBool:YES]\n\t//\t\t\t\t forKey:(NSString *)kCFStreamSSLAllowsAnyRoot];\n\t//\t\n\t//\t// In fact, don't even validate the certificate chain\n\t//\t[settings setObject:[NSNumber numberWithBool:NO]\n\t//\t\t\t\t forKey:(NSString *)kCFStreamSSLValidatesCertificateChain];\n\t\t\n\t\tDDLogInfo(@\"Starting TLS with settings:\\n%@\", settings);\n\t\t\n\t\t[sock startTLS:settings];\n\t\t\n\t\t// You can also pass nil to the startTLS method, which is the same as passing an empty dictionary.\n\t\t// Again, you should understand the security implications of doing so.\n\t\t// Please see the documentation for the startTLS method in GCDAsyncSocket.h for a full discussion.\n\t\t\n\t}\n\t#else\n\t{\n\t\t// Connected to normal server (HTTP)\n\t}\n\t#endif\n}\n\n- (void)socketDidSecure:(GCDAsyncSocket *)sock\n{\n\tDDLogInfo(@\"socketDidSecure:%p\", sock);\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag\n{\n\tDDLogInfo(@\"socket:%p didWriteDataWithTag:%ld\", sock, tag);\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag\n{\n\tDDLogInfo(@\"socket:%p didReadData:withTag:%ld\", sock, tag);\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err\n{\n\tDDLogInfo(@\"socketDidDisconnect:%p withError: %@\", sock, err);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Desktop/ConnectTest/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Desktop/ConnectTest/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Desktop/ConnectTest/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">ConnectTest</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">ConnectTest</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About ConnectTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide ConnectTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit ConnectTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">ConnectTest Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">ConnectTest</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">ConnectTestAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ConnectTestAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">ConnectTestAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../ConnectTest.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Desktop/ConnectTest/main.m",
    "content": "//\n//  main.m\n//  ConnectTest\n//\n//  Created by Robbie Hanson on 7/23/11.\n//  Copyright 2011 __MyCompanyName__. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n\treturn NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Desktop/ConnectTest.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C3281B186CDB9B00F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32816186CDB9B00F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C3281C186CDB9B00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32818186CDB9B00F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C3281D186CDB9B00F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3281A186CDB9B00F6D762 /* DDMultiFormatter.m */; };\n\t\t2DBCA5CB1B8CFC73004F3128 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DBCA5CA1B8CFC73004F3128 /* GCDAsyncSocket.m */; };\n\t\tDC5778B013DBBF2E007881FC /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC5778AF13DBBF2E007881FC /* Cocoa.framework */; };\n\t\tDC5778BA13DBBF2E007881FC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC5778B813DBBF2E007881FC /* InfoPlist.strings */; };\n\t\tDC5778BD13DBBF2E007881FC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5778BC13DBBF2E007881FC /* main.m */; };\n\t\tDC5778C013DBBF2E007881FC /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC5778BE13DBBF2E007881FC /* Credits.rtf */; };\n\t\tDC5778C313DBBF2E007881FC /* ConnectTestAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC5778C213DBBF2E007881FC /* ConnectTestAppDelegate.m */; };\n\t\tDC5778C613DBBF2E007881FC /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC5778C413DBBF2E007881FC /* MainMenu.xib */; };\n\t\tDC5778E113DBC121007881FC /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC5778E013DBC121007881FC /* Security.framework */; };\n\t\tDC90AB6F147743110022DF52 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB60147743110022DF52 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC90AB70147743110022DF52 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB62147743110022DF52 /* DDASLLogger.m */; };\n\t\tDC90AB71147743110022DF52 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB64147743110022DF52 /* DDFileLogger.m */; };\n\t\tDC90AB72147743110022DF52 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB66147743110022DF52 /* DDLog.m */; };\n\t\tDC90AB73147743110022DF52 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB68147743110022DF52 /* DDTTYLogger.m */; };\n\t\tDC90AB76147743110022DF52 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC90AB6E147743110022DF52 /* README.txt */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C32814186CDB9400F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = \"DDLog+LOGV.h\"; path = \"../../../../Vendor/CocoaLumberjack/DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C32815186CDB9B00F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32816186CDB9B00F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32817186CDB9B00F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32818186CDB9B00F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32819186CDB9B00F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3281A186CDB9B00F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\t2DBCA5C91B8CFC6C004F3128 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GCDAsyncSocket.h; sourceTree = \"<group>\"; };\n\t\t2DBCA5CA1B8CFC73004F3128 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDAsyncSocket.m; sourceTree = \"<group>\"; };\n\t\tDC5778AB13DBBF2E007881FC /* ConnectTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ConnectTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC5778AF13DBBF2E007881FC /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC5778B213DBBF2E007881FC /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC5778B313DBBF2E007881FC /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC5778B413DBBF2E007881FC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC5778B713DBBF2E007881FC /* ConnectTest-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"ConnectTest-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC5778B913DBBF2E007881FC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC5778BB13DBBF2E007881FC /* ConnectTest-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"ConnectTest-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC5778BC13DBBF2E007881FC /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC5778BF13DBBF2E007881FC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC5778C113DBBF2E007881FC /* ConnectTestAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConnectTestAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC5778C213DBBF2E007881FC /* ConnectTestAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ConnectTestAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC5778C513DBBF2E007881FC /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDC5778E013DBC121007881FC /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n\t\tDC90AB5F147743110022DF52 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB60147743110022DF52 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB61147743110022DF52 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB62147743110022DF52 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB63147743110022DF52 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB64147743110022DF52 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB65147743110022DF52 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = ../../../../Vendor/CocoaLumberjack/DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC90AB66147743110022DF52 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = ../../../../Vendor/CocoaLumberjack/DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC90AB67147743110022DF52 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB68147743110022DF52 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB6E147743110022DF52 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC5778A813DBBF2E007881FC /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC5778E113DBC121007881FC /* Security.framework in Frameworks */,\n\t\t\t\tDC5778B013DBBF2E007881FC /* Cocoa.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC5778A013DBBF2E007881FC = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5778CC13DBBF43007881FC /* Logging */,\n\t\t\t\tDC5778CD13DBBF50007881FC /* TCP */,\n\t\t\t\tDC5778B513DBBF2E007881FC /* ConnectTest */,\n\t\t\t\tDC5778AE13DBBF2E007881FC /* Frameworks */,\n\t\t\t\tDC5778AC13DBBF2E007881FC /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5778AC13DBBF2E007881FC /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5778AB13DBBF2E007881FC /* ConnectTest.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5778AE13DBBF2E007881FC /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5778AF13DBBF2E007881FC /* Cocoa.framework */,\n\t\t\t\tDC5778E013DBC121007881FC /* Security.framework */,\n\t\t\t\tDC5778B113DBBF2E007881FC /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5778B113DBBF2E007881FC /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5778B213DBBF2E007881FC /* AppKit.framework */,\n\t\t\t\tDC5778B313DBBF2E007881FC /* CoreData.framework */,\n\t\t\t\tDC5778B413DBBF2E007881FC /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5778B513DBBF2E007881FC /* ConnectTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5778C113DBBF2E007881FC /* ConnectTestAppDelegate.h */,\n\t\t\t\tDC5778C213DBBF2E007881FC /* ConnectTestAppDelegate.m */,\n\t\t\t\tDC5778C413DBBF2E007881FC /* MainMenu.xib */,\n\t\t\t\tDC5778B613DBBF2E007881FC /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = ConnectTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5778B613DBBF2E007881FC /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5778B713DBBF2E007881FC /* ConnectTest-Info.plist */,\n\t\t\t\tDC5778B813DBBF2E007881FC /* InfoPlist.strings */,\n\t\t\t\tDC5778BB13DBBF2E007881FC /* ConnectTest-Prefix.pch */,\n\t\t\t\tDC5778BC13DBBF2E007881FC /* main.m */,\n\t\t\t\tDC5778BE13DBBF2E007881FC /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5778CC13DBBF43007881FC /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC90AB5F147743110022DF52 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC90AB60147743110022DF52 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC90AB61147743110022DF52 /* DDASLLogger.h */,\n\t\t\t\tDC90AB62147743110022DF52 /* DDASLLogger.m */,\n\t\t\t\tDC90AB63147743110022DF52 /* DDFileLogger.h */,\n\t\t\t\tDC90AB64147743110022DF52 /* DDFileLogger.m */,\n\t\t\t\tDC90AB65147743110022DF52 /* DDLog.h */,\n\t\t\t\tDC90AB66147743110022DF52 /* DDLog.m */,\n\t\t\t\t11C32814186CDB9400F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC90AB67147743110022DF52 /* DDTTYLogger.h */,\n\t\t\t\tDC90AB68147743110022DF52 /* DDTTYLogger.m */,\n\t\t\t\tDC90AB69147743110022DF52 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5778CD13DBBF50007881FC /* TCP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2DBCA5C91B8CFC6C004F3128 /* GCDAsyncSocket.h */,\n\t\t\t\t2DBCA5CA1B8CFC73004F3128 /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = TCP;\n\t\t\tpath = ../../../../Source/GCD;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC90AB69147743110022DF52 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C32815186CDB9B00F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C32816186CDB9B00F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C32817186CDB9B00F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C32818186CDB9B00F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C32819186CDB9B00F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C3281A186CDB9B00F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC90AB6E147743110022DF52 /* README.txt */,\n\t\t\t);\n\t\t\tname = Extensions;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack/Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC5778AA13DBBF2E007881FC /* ConnectTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC5778C913DBBF2E007881FC /* Build configuration list for PBXNativeTarget \"ConnectTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC5778A713DBBF2E007881FC /* Sources */,\n\t\t\t\tDC5778A813DBBF2E007881FC /* Frameworks */,\n\t\t\t\tDC5778A913DBBF2E007881FC /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = ConnectTest;\n\t\t\tproductName = ConnectTest;\n\t\t\tproductReference = DC5778AB13DBBF2E007881FC /* ConnectTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC5778A213DBBF2E007881FC /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0500;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC5778A513DBBF2E007881FC /* Build configuration list for PBXProject \"ConnectTest\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC5778A013DBBF2E007881FC;\n\t\t\tproductRefGroup = DC5778AC13DBBF2E007881FC /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC5778AA13DBBF2E007881FC /* ConnectTest */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC5778A913DBBF2E007881FC /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC5778BA13DBBF2E007881FC /* InfoPlist.strings in Resources */,\n\t\t\t\tDC5778C013DBBF2E007881FC /* Credits.rtf in Resources */,\n\t\t\t\tDC5778C613DBBF2E007881FC /* MainMenu.xib in Resources */,\n\t\t\t\tDC90AB76147743110022DF52 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC5778A713DBBF2E007881FC /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC5778BD13DBBF2E007881FC /* main.m in Sources */,\n\t\t\t\tDC5778C313DBBF2E007881FC /* ConnectTestAppDelegate.m in Sources */,\n\t\t\t\t11C3281B186CDB9B00F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC90AB6F147743110022DF52 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDC90AB70147743110022DF52 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC90AB71147743110022DF52 /* DDFileLogger.m in Sources */,\n\t\t\t\t11C3281D186CDB9B00F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\t11C3281C186CDB9B00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDC90AB72147743110022DF52 /* DDLog.m in Sources */,\n\t\t\t\t2DBCA5CB1B8CFC73004F3128 /* GCDAsyncSocket.m in Sources */,\n\t\t\t\tDC90AB73147743110022DF52 /* DDTTYLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC5778B813DBBF2E007881FC /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5778B913DBBF2E007881FC /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5778BE13DBBF2E007881FC /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5778BF13DBBF2E007881FC /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5778C413DBBF2E007881FC /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5778C513DBBF2E007881FC /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC5778C713DBBF2E007881FC /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = DEBUG;\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = \"\";\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC5778C813DBBF2E007881FC /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = \"\";\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC5778CA13DBBF2E007881FC /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"ConnectTest/ConnectTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"ConnectTest/ConnectTest-Info.plist\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.7;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC5778CB13DBBF2E007881FC /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"ConnectTest/ConnectTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"ConnectTest/ConnectTest-Info.plist\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.7;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC5778A513DBBF2E007881FC /* Build configuration list for PBXProject \"ConnectTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC5778C713DBBF2E007881FC /* Debug */,\n\t\t\t\tDC5778C813DBBF2E007881FC /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC5778C913DBBF2E007881FC /* Build configuration list for PBXNativeTarget \"ConnectTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC5778CA13DBBF2E007881FC /* Debug */,\n\t\t\t\tDC5778CB13DBBF2E007881FC /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC5778A213DBBF2E007881FC /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/ConnectTest-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSMainNibFile</key>\n\t<string>MainWindow</string>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/ConnectTest-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'ConnectTest' target in the 'ConnectTest' project\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_3_0\n#warning \"This project uses features only available in iPhone SDK 3.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n\t#import <UIKit/UIKit.h>\n\t#import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/ConnectTestAppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class ConnectTestViewController;\n@class GCDAsyncSocket;\n\n\n@interface ConnectTestAppDelegate : NSObject <UIApplicationDelegate>\n{\n\tGCDAsyncSocket *asyncSocket;\n}\n\n@property (nonatomic, strong) IBOutlet UIWindow *window;\n@property (nonatomic, strong) IBOutlet ConnectTestViewController *viewController;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/ConnectTestAppDelegate.m",
    "content": "#import \"ConnectTestAppDelegate.h\"\n#import \"ConnectTestViewController.h\"\n#import \"GCDAsyncSocket.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_INFO;\n\n#define USE_SECURE_CONNECTION 1\n#define ENABLE_BACKGROUNDING  0\n\n#if USE_SECURE_CONNECTION\n  #define HOST @\"www.paypal.com\"\n  #define PORT 443\n#else\n  #define HOST @\"google.com\"\n  #define PORT 80\n#endif\n\n@implementation ConnectTestAppDelegate\n\n@synthesize window = _window;\n@synthesize viewController = _viewController;\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Application Lifecycle\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (id)init\n{\n\tif ((self = [super init]))\n\t{\n\t\t// Setup logging framework\n\t\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t}\n\treturn self;\n}\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n\tDDLogInfo(@\"%@\", THIS_METHOD);\n\t\n\t// Setup our socket (GCDAsyncSocket).\n\t// The socket will invoke our delegate methods using the usual delegate paradigm.\n\t// However, it will invoke the delegate methods on a specified GCD delegate dispatch queue.\n\t// \n\t// Now we can configure the delegate dispatch queue however we want.\n\t// We could use a dedicated dispatch queue for easy parallelization.\n\t// Or we could simply use the dispatch queue for the main thread.\n\t// \n\t// The best approach for your application will depend upon convenience, requirements and performance.\n\t// \n\t// For this simple example, we're just going to use the main thread.\n\t\n\tdispatch_queue_t mainQueue = dispatch_get_main_queue();\n\t\n\tasyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:mainQueue];\n\t\n\t#if USE_SECURE_CONNECTION\n\t{\n\t\tNSString *host = HOST;\n\t\tuint16_t port = PORT;\n\t\t\n\t\tDDLogInfo(@\"Connecting to \\\"%@\\\" on port %hu...\", host, port);\n\t\tself.viewController.label.text = @\"Connecting...\";\n\t\t\n\t\tNSError *error = nil;\n\t\tif (![asyncSocket connectToHost:@\"www.paypal.com\" onPort:port error:&error])\n\t\t{\n\t\t\tDDLogError(@\"Error connecting: %@\", error);\n\t\t\tself.viewController.label.text = @\"Oops\";\n\t\t}\n\t}\n\t#else\n\t{\n\t\tNSString *host = HOST;\n\t\tuint16_t port = PORT;\n\t\t\n\t\tDDLogInfo(@\"Connecting to \\\"%@\\\" on port %hu...\", host, port);\n\t\tself.viewController.label.text = @\"Connecting...\";\n\t\t\n\t\tNSError *error = nil;\n\t\tif (![asyncSocket connectToHost:host onPort:port error:&error])\n\t\t{\n\t\t\tDDLogError(@\"Error connecting: %@\", error);\n\t\t\tself.viewController.label.text = @\"Oops\";\n\t\t}\n\n\t\t// You can also specify an optional connect timeout.\n\t\t\n\t//\tNSError *error = nil;\n\t//\tif (![asyncSocket connectToHost:host onPort:80 withTimeout:5.0 error:&error])\n\t//\t{\n\t//\t\tDDLogError(@\"Error connecting: %@\", error);\n\t//\t}\n\t\t\n\t}\n\t#endif\n\t\n\t// Add the view controller's view to the window and display.\n\t[self.window addSubview:self.viewController.view];\n\t[self.window makeKeyAndVisible];\n\t\n\treturn YES;\n}\n\n- (void)applicationWillResignActive:(UIApplication *)application\n{\n\tDDLogInfo(@\"%@\", THIS_METHOD);\n}\n\n- (void)applicationDidEnterBackground:(UIApplication *)application\n{\n\tDDLogInfo(@\"%@\", THIS_METHOD);\n}\n\n- (void)applicationWillEnterForeground:(UIApplication *)application\n{\n\tDDLogInfo(@\"%@\", THIS_METHOD);\n}\n\n- (void)applicationDidBecomeActive:(UIApplication *)application\n{\n\tstatic BOOL isAppLaunch = YES;\n\tif (isAppLaunch)\n\t{\n\t\tisAppLaunch = NO;\n\t\treturn;\n\t}\n\t\n\tDDLogInfo(@\"%@\", THIS_METHOD);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Socket Delegate\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port\n{\n\tDDLogInfo(@\"socket:%p didConnectToHost:%@ port:%hu\", sock, host, port);\n\tself.viewController.label.text = @\"Connected\";\n\t\n//\tDDLogInfo(@\"localHost :%@ port:%hu\", [sock localHost], [sock localPort]);\n\t\n\t#if USE_SECURE_CONNECTION\n\t{\n\t\t// Connected to secure server (HTTPS)\n\t\t \n\t\t#if ENABLE_BACKGROUNDING && !TARGET_IPHONE_SIMULATOR\n\t\t{\t\n\t\t\t// Backgrounding doesn't seem to be supported on the simulator yet\n\t\t\t\n\t\t\t[sock performBlock:^{\n\t\t\t\tif ([sock enableBackgroundingOnSocket])\n\t\t\t\t\tDDLogInfo(@\"Enabled backgrounding on socket\");\n\t\t\t\telse\n\t\t\t\t\tDDLogWarn(@\"Enabling backgrounding failed!\");\n\t\t\t}];\n\t\t}\t\n\t\t#endif\n\t\t\n\t\t// Configure SSL/TLS settings\n\t\tNSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:3];\n\t\t\n\t\t// If you simply want to ensure that the remote host's certificate is valid,\n\t\t// then you can use an empty dictionary.\n\t\t\n\t\t// If you know the name of the remote host, then you should specify the name here.\n\t\t// \n\t\t// NOTE:\n\t\t// You should understand the security implications if you do not specify the peer name.\n\t\t// Please see the documentation for the startTLS method in GCDAsyncSocket.h for a full discussion.\n\t\t\n\t\t[settings setObject:@\"www.paypal.com\"\n\t\t\t\t\t forKey:(NSString *)kCFStreamSSLPeerName];\n\t\t\n\t\t// To connect to a test server, with a self-signed certificate, use settings similar to this:\n\t\t\n\t//\t// Allow expired certificates\n\t//\t[settings setObject:[NSNumber numberWithBool:YES]\n\t//\t\t\t\t forKey:(NSString *)kCFStreamSSLAllowsExpiredCertificates];\n\t//\t\n\t//\t// Allow self-signed certificates\n\t//\t[settings setObject:[NSNumber numberWithBool:YES]\n\t//\t\t\t\t forKey:(NSString *)kCFStreamSSLAllowsAnyRoot];\n\t//\t\n\t//\t// In fact, don't even validate the certificate chain\n\t//\t[settings setObject:[NSNumber numberWithBool:NO]\n\t//\t\t\t\t forKey:(NSString *)kCFStreamSSLValidatesCertificateChain];\n\t\t\n\t\tDDLogInfo(@\"Starting TLS with settings:\\n%@\", settings);\n\t\t\n\t\t[sock startTLS:settings];\n\t\t\n\t\t// You can also pass nil to the startTLS method, which is the same as passing an empty dictionary.\n\t\t// Again, you should understand the security implications of doing so.\n\t\t// Please see the documentation for the startTLS method in GCDAsyncSocket.h for a full discussion.\n\t\t\n\t}\n\t#else\n\t{\n\t\t// Connected to normal server (HTTP)\n\t\t\n\t\t#if ENABLE_BACKGROUNDING && !TARGET_IPHONE_SIMULATOR\n\t\t{\n\t\t\t// Backgrounding doesn't seem to be supported on the simulator yet\n\t\t\t\n\t\t\t[sock performBlock:^{\n\t\t\t\tif ([sock enableBackgroundingOnSocket])\n\t\t\t\t\tDDLogInfo(@\"Enabled backgrounding on socket\");\n\t\t\t\telse\n\t\t\t\t\tDDLogWarn(@\"Enabling backgrounding failed!\");\n\t\t\t}];\n\t\t}\n\t\t#endif\n\t}\n\t#endif\n}\n\n- (void)socketDidSecure:(GCDAsyncSocket *)sock\n{\n\tDDLogInfo(@\"socketDidSecure:%p\", sock);\n\tself.viewController.label.text = @\"Connected + Secure\";\n\t\n\tNSString *requestStr = [NSString stringWithFormat:@\"GET / HTTP/1.1\\r\\nHost: %@\\r\\n\\r\\n\", HOST];\n\tNSData *requestData = [requestStr dataUsingEncoding:NSUTF8StringEncoding];\n\t\n\t[sock writeData:requestData withTimeout:-1 tag:0];\n\t[sock readDataToData:[GCDAsyncSocket CRLFData] withTimeout:-1 tag:0];\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag\n{\n\tDDLogInfo(@\"socket:%p didWriteDataWithTag:%ld\", sock, tag);\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag\n{\n\tDDLogInfo(@\"socket:%p didReadData:withTag:%ld\", sock, tag);\n\t\n\tNSString *httpResponse = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\t\n\tDDLogInfo(@\"HTTP Response:\\n%@\", httpResponse);\n\t\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err\n{\n\tDDLogInfo(@\"socketDidDisconnect:%p withError: %@\", sock, err);\n\tself.viewController.label.text = @\"Disconnected\";\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/ConnectTestViewController.h",
    "content": "#import <UIKit/UIKit.h>\n\n\n@interface ConnectTestViewController : UIViewController {\n    \n}\n\n@property (nonatomic, strong) IBOutlet UILabel *label;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/ConnectTestViewController.m",
    "content": "#import \"ConnectTestViewController.h\"\n\n\n@implementation ConnectTestViewController\n\n@synthesize label = _label;\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/en.lproj/ConnectTestViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1536</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11E53</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2541</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.47</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">569.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1875</string>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>IBProxyObject</string>\n\t\t\t<string>IBUILabel</string>\n\t\t\t<string>IBUIView</string>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBUILabel\" id=\"389148834\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 135}, {280, 21}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<reference key=\"NSNextKeyView\"/>\n\t\t\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t\t\t<bool key=\"IBUIClipsSubviews\">YES</bool>\n\t\t\t\t\t\t<int key=\"IBUIContentMode\">7</int>\n\t\t\t\t\t\t<bool key=\"IBUIUserInteractionEnabled\">NO</bool>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<nil key=\"IBUIHighlightedColor\"/>\n\t\t\t\t\t\t<int key=\"IBUIBaselineAdjustment\">1</int>\n\t\t\t\t\t\t<string key=\"IBUIText\">Label</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUITextColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDAAA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<int key=\"IBUITextAlignment\">1</int>\n\t\t\t\t\t\t<object class=\"IBUIFontDescription\" key=\"IBUIFontDescription\">\n\t\t\t\t\t\t\t<int key=\"type\">1</int>\n\t\t\t\t\t\t\t<double key=\"pointSize\">17</double>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSFont\" key=\"IBUIFont\">\n\t\t\t\t\t\t\t<string key=\"NSName\">Helvetica</string>\n\t\t\t\t\t\t\t<double key=\"NSSize\">17</double>\n\t\t\t\t\t\t\t<int key=\"NSfFlags\">16</int>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<bool key=\"IBUIAdjustsFontSizeToFit\">NO</bool>\n\t\t\t\t\t\t<int key=\"IBUIAutoshrinkMode\">0</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSFrame\">{{0, 20}, {320, 460}}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"389148834\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">label</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"389148834\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">17</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"object\" id=\"0\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"389148834\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">16</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"389148834\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-1.IBPluginDependency</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>-2.IBPluginDependency</string>\n\t\t\t\t\t<string>16.IBPluginDependency</string>\n\t\t\t\t\t<string>6.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>ConnectTestViewController</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<reference key=\"dict.values\" ref=\"0\"/>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<reference key=\"dict.values\" ref=\"0\"/>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">17</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ConnectTestViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">label</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">UILabel</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">label</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">label</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">UILabel</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ConnectTestViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">1875</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/en.lproj/MainWindow.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1024</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10D571</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">786</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.29</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">460.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">112</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"10\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"841351856\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"427554174\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUICustomObject\" id=\"664661524\">\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIViewController\" id=\"943309135\">\n\t\t\t\t<string key=\"IBUINibName\">ConnectTestViewController</string>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<object class=\"IBUISimulatedOrientationMetrics\" key=\"IBUISimulatedOrientationMetrics\">\n\t\t\t\t\t<int key=\"interfaceOrientation\">1</int>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIHorizontal\">NO</bool>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIWindow\" id=\"117978783\">\n\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 480}</string>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t<bytes key=\"NSRGB\">MSAxIDEAA</bytes>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIResizesToFullScreen\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"664661524\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">4</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">viewController</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"943309135\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">11</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117978783\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">14</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">ConnectTest App Delegate</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"427554174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"943309135\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">12</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117978783\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>10.CustomClassName</string>\n\t\t\t\t\t<string>10.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>10.IBPluginDependency</string>\n\t\t\t\t\t<string>12.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>12.IBPluginDependency</string>\n\t\t\t\t\t<string>3.CustomClassName</string>\n\t\t\t\t\t<string>3.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>UIApplication</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>ConnectTestViewController</string>\n\t\t\t\t\t<string>{{234, 376}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>{{525, 346}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>ConnectTestAppDelegate</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">15</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ConnectTestAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>ConnectTestViewController</string>\n\t\t\t\t\t\t\t<string>UIWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">viewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">ConnectTestViewController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">UIWindow</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">ConnectTestAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ConnectTestAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ConnectTestViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">ConnectTestViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"356479594\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"356479594\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchBar</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchBar.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchDisplayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchDisplayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITextField.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINavigationController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIPopoverController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISplitViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITabBarController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>\n\t\t\t<integer value=\"1024\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">ConnectTest.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">112</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest/main.m",
    "content": "//\n//  main.m\n//  ConnectTest\n//\n//  Created by Robbie Hanson on 7/25/11.\n//  Copyright 2011 __MyCompanyName__. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\nint main(int argc, char *argv[])\n{\n\t@autoreleasepool {\n\t\tint retVal = UIApplicationMain(argc, argv, nil, nil);\n\t\treturn retVal;\n\t}\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/Mobile/ConnectTest.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C32825186CDBD800F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32820186CDBD800F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C32826186CDBD800F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32822186CDBD800F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C32827186CDBD800F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32824186CDBD800F6D762 /* DDMultiFormatter.m */; };\n\t\tDC4FC340142867780064A228 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC4FC33F142867780064A228 /* GCDAsyncSocket.m */; };\n\t\tDC5889A5158DE310007AFCFC /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC5889A4158DE310007AFCFC /* Security.framework */; };\n\t\tDC90AB8C1477436C0022DF52 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB7D1477436C0022DF52 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC90AB8D1477436C0022DF52 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB7F1477436C0022DF52 /* DDASLLogger.m */; };\n\t\tDC90AB8E1477436C0022DF52 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB811477436C0022DF52 /* DDFileLogger.m */; };\n\t\tDC90AB8F1477436C0022DF52 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB831477436C0022DF52 /* DDLog.m */; };\n\t\tDC90AB901477436C0022DF52 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB851477436C0022DF52 /* DDTTYLogger.m */; };\n\t\tDC90AB931477436C0022DF52 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC90AB8B1477436C0022DF52 /* README.txt */; };\n\t\tDCCE5078163B6B560000C729 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DCCE5077163B6B560000C729 /* Default-568h@2x.png */; };\n\t\tDCDE285D13DDEC74006BFCC0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCDE285C13DDEC74006BFCC0 /* UIKit.framework */; };\n\t\tDCDE285F13DDEC74006BFCC0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCDE285E13DDEC74006BFCC0 /* Foundation.framework */; };\n\t\tDCDE286113DDEC74006BFCC0 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCDE286013DDEC74006BFCC0 /* CoreGraphics.framework */; };\n\t\tDCDE286713DDEC74006BFCC0 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DCDE286513DDEC74006BFCC0 /* InfoPlist.strings */; };\n\t\tDCDE286A13DDEC74006BFCC0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DCDE286913DDEC74006BFCC0 /* main.m */; };\n\t\tDCDE286D13DDEC74006BFCC0 /* ConnectTestAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DCDE286C13DDEC74006BFCC0 /* ConnectTestAppDelegate.m */; };\n\t\tDCDE287013DDEC74006BFCC0 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCDE286E13DDEC74006BFCC0 /* MainWindow.xib */; };\n\t\tDCDE287313DDEC74006BFCC0 /* ConnectTestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DCDE287213DDEC74006BFCC0 /* ConnectTestViewController.m */; };\n\t\tDCDE287613DDEC74006BFCC0 /* ConnectTestViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCDE287413DDEC74006BFCC0 /* ConnectTestViewController.xib */; };\n\t\tDCDE289913DDECF1006BFCC0 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCDE289813DDECF1006BFCC0 /* CFNetwork.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C3281E186CDBBC00F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = \"DDLog+LOGV.h\"; path = \"../../../../Vendor/CocoaLumberjack/DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C3281F186CDBD800F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32820186CDBD800F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32821186CDBD800F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32822186CDBD800F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32823186CDBD800F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32824186CDBD800F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDC4FC33E142867780064A228 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncSocket.h; path = ../../../GCDAsyncSocket.h; sourceTree = \"<group>\"; };\n\t\tDC4FC33F142867780064A228 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocket.m; path = ../../../GCDAsyncSocket.m; sourceTree = \"<group>\"; };\n\t\tDC5889A4158DE310007AFCFC /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n\t\tDC90AB7C1477436C0022DF52 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB7D1477436C0022DF52 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB7E1477436C0022DF52 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB7F1477436C0022DF52 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB801477436C0022DF52 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB811477436C0022DF52 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB821477436C0022DF52 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = ../../../../Vendor/CocoaLumberjack/DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC90AB831477436C0022DF52 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = ../../../../Vendor/CocoaLumberjack/DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC90AB841477436C0022DF52 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB851477436C0022DF52 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB8B1477436C0022DF52 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n\t\tDCCE5077163B6B560000C729 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = \"Default-568h@2x.png\"; path = \"../Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n\t\tDCDE285813DDEC74006BFCC0 /* ConnectTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ConnectTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCDE285C13DDEC74006BFCC0 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\tDCDE285E13DDEC74006BFCC0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDCDE286013DDEC74006BFCC0 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tDCDE286413DDEC74006BFCC0 /* ConnectTest-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"ConnectTest-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDCDE286613DDEC74006BFCC0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDCDE286813DDEC74006BFCC0 /* ConnectTest-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"ConnectTest-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDCDE286913DDEC74006BFCC0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDCDE286B13DDEC74006BFCC0 /* ConnectTestAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConnectTestAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDCDE286C13DDEC74006BFCC0 /* ConnectTestAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ConnectTestAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDCDE286F13DDEC74006BFCC0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = \"<group>\"; };\n\t\tDCDE287113DDEC74006BFCC0 /* ConnectTestViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConnectTestViewController.h; sourceTree = \"<group>\"; };\n\t\tDCDE287213DDEC74006BFCC0 /* ConnectTestViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ConnectTestViewController.m; sourceTree = \"<group>\"; };\n\t\tDCDE287513DDEC74006BFCC0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ConnectTestViewController.xib; sourceTree = \"<group>\"; };\n\t\tDCDE289813DDECF1006BFCC0 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDCDE285513DDEC74006BFCC0 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC5889A5158DE310007AFCFC /* Security.framework in Frameworks */,\n\t\t\t\tDCDE289913DDECF1006BFCC0 /* CFNetwork.framework in Frameworks */,\n\t\t\t\tDCDE285D13DDEC74006BFCC0 /* UIKit.framework in Frameworks */,\n\t\t\t\tDCDE285F13DDEC74006BFCC0 /* Foundation.framework in Frameworks */,\n\t\t\t\tDCDE286113DDEC74006BFCC0 /* CoreGraphics.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC90AB861477436C0022DF52 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C3281F186CDBD800F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C32820186CDBD800F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C32821186CDBD800F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C32822186CDBD800F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C32823186CDBD800F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C32824186CDBD800F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC90AB8B1477436C0022DF52 /* README.txt */,\n\t\t\t);\n\t\t\tname = Extensions;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack/Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCDE284D13DDEC74006BFCC0 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCDE288413DDEC96006BFCC0 /* Logging */,\n\t\t\t\tDCDE289413DDECC4006BFCC0 /* TCP */,\n\t\t\t\tDCDE286213DDEC74006BFCC0 /* ConnectTest */,\n\t\t\t\tDCDE285B13DDEC74006BFCC0 /* Frameworks */,\n\t\t\t\tDCDE285913DDEC74006BFCC0 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCDE285913DDEC74006BFCC0 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCDE285813DDEC74006BFCC0 /* ConnectTest.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCDE285B13DDEC74006BFCC0 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCDE285C13DDEC74006BFCC0 /* UIKit.framework */,\n\t\t\t\tDCDE285E13DDEC74006BFCC0 /* Foundation.framework */,\n\t\t\t\tDCDE286013DDEC74006BFCC0 /* CoreGraphics.framework */,\n\t\t\t\tDCDE289813DDECF1006BFCC0 /* CFNetwork.framework */,\n\t\t\t\tDC5889A4158DE310007AFCFC /* Security.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCDE286213DDEC74006BFCC0 /* ConnectTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCDE286B13DDEC74006BFCC0 /* ConnectTestAppDelegate.h */,\n\t\t\t\tDCDE286C13DDEC74006BFCC0 /* ConnectTestAppDelegate.m */,\n\t\t\t\tDCDE286E13DDEC74006BFCC0 /* MainWindow.xib */,\n\t\t\t\tDCDE287113DDEC74006BFCC0 /* ConnectTestViewController.h */,\n\t\t\t\tDCDE287213DDEC74006BFCC0 /* ConnectTestViewController.m */,\n\t\t\t\tDCDE287413DDEC74006BFCC0 /* ConnectTestViewController.xib */,\n\t\t\t\tDCDE286313DDEC74006BFCC0 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = ConnectTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCDE286313DDEC74006BFCC0 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCCE5077163B6B560000C729 /* Default-568h@2x.png */,\n\t\t\t\tDCDE286413DDEC74006BFCC0 /* ConnectTest-Info.plist */,\n\t\t\t\tDCDE286513DDEC74006BFCC0 /* InfoPlist.strings */,\n\t\t\t\tDCDE286813DDEC74006BFCC0 /* ConnectTest-Prefix.pch */,\n\t\t\t\tDCDE286913DDEC74006BFCC0 /* main.m */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCDE288413DDEC96006BFCC0 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC90AB7C1477436C0022DF52 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC90AB7D1477436C0022DF52 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC90AB7E1477436C0022DF52 /* DDASLLogger.h */,\n\t\t\t\tDC90AB7F1477436C0022DF52 /* DDASLLogger.m */,\n\t\t\t\tDC90AB801477436C0022DF52 /* DDFileLogger.h */,\n\t\t\t\tDC90AB811477436C0022DF52 /* DDFileLogger.m */,\n\t\t\t\tDC90AB821477436C0022DF52 /* DDLog.h */,\n\t\t\t\tDC90AB831477436C0022DF52 /* DDLog.m */,\n\t\t\t\t11C3281E186CDBBC00F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC90AB841477436C0022DF52 /* DDTTYLogger.h */,\n\t\t\t\tDC90AB851477436C0022DF52 /* DDTTYLogger.m */,\n\t\t\t\tDC90AB861477436C0022DF52 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCDE289413DDECC4006BFCC0 /* TCP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC4FC33E142867780064A228 /* GCDAsyncSocket.h */,\n\t\t\t\tDC4FC33F142867780064A228 /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = TCP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDCDE285713DDEC74006BFCC0 /* ConnectTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DCDE287913DDEC74006BFCC0 /* Build configuration list for PBXNativeTarget \"ConnectTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDCDE285413DDEC74006BFCC0 /* Sources */,\n\t\t\t\tDCDE285513DDEC74006BFCC0 /* Frameworks */,\n\t\t\t\tDCDE285613DDEC74006BFCC0 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = ConnectTest;\n\t\t\tproductName = ConnectTest;\n\t\t\tproductReference = DCDE285813DDEC74006BFCC0 /* ConnectTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDCDE284F13DDEC74006BFCC0 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0500;\n\t\t\t};\n\t\t\tbuildConfigurationList = DCDE285213DDEC74006BFCC0 /* Build configuration list for PBXProject \"ConnectTest\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DCDE284D13DDEC74006BFCC0;\n\t\t\tproductRefGroup = DCDE285913DDEC74006BFCC0 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDCDE285713DDEC74006BFCC0 /* ConnectTest */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDCDE285613DDEC74006BFCC0 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCDE286713DDEC74006BFCC0 /* InfoPlist.strings in Resources */,\n\t\t\t\tDCDE287013DDEC74006BFCC0 /* MainWindow.xib in Resources */,\n\t\t\t\tDCDE287613DDEC74006BFCC0 /* ConnectTestViewController.xib in Resources */,\n\t\t\t\tDC90AB931477436C0022DF52 /* README.txt in Resources */,\n\t\t\t\tDCCE5078163B6B560000C729 /* Default-568h@2x.png in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDCDE285413DDEC74006BFCC0 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t11C32827186CDBD800F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\tDCDE286A13DDEC74006BFCC0 /* main.m in Sources */,\n\t\t\t\tDCDE286D13DDEC74006BFCC0 /* ConnectTestAppDelegate.m in Sources */,\n\t\t\t\t11C32826186CDBD800F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDCDE287313DDEC74006BFCC0 /* ConnectTestViewController.m in Sources */,\n\t\t\t\tDC4FC340142867780064A228 /* GCDAsyncSocket.m in Sources */,\n\t\t\t\tDC90AB8C1477436C0022DF52 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\t11C32825186CDBD800F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC90AB8D1477436C0022DF52 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC90AB8E1477436C0022DF52 /* DDFileLogger.m in Sources */,\n\t\t\t\tDC90AB8F1477436C0022DF52 /* DDLog.m in Sources */,\n\t\t\t\tDC90AB901477436C0022DF52 /* DDTTYLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDCDE286513DDEC74006BFCC0 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCDE286613DDEC74006BFCC0 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCDE286E13DDEC74006BFCC0 /* MainWindow.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCDE286F13DDEC74006BFCC0 /* en */,\n\t\t\t);\n\t\t\tname = MainWindow.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCDE287413DDEC74006BFCC0 /* ConnectTestViewController.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCDE287513DDEC74006BFCC0 /* en */,\n\t\t\t);\n\t\t\tname = ConnectTestViewController.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDCDE287713DDEC74006BFCC0 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = DEBUG;\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvmgcc42;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 6.0;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCDE287813DDEC74006BFCC0 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvmgcc42;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 6.0;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCDE287A13DDEC74006BFCC0 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"ConnectTest/ConnectTest-Prefix.pch\";\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"ConnectTest/ConnectTest-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCDE287B13DDEC74006BFCC0 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"ConnectTest/ConnectTest-Prefix.pch\";\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"ConnectTest/ConnectTest-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDCDE285213DDEC74006BFCC0 /* Build configuration list for PBXProject \"ConnectTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCDE287713DDEC74006BFCC0 /* Debug */,\n\t\t\t\tDCDE287813DDEC74006BFCC0 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCDE287913DDEC74006BFCC0 /* Build configuration list for PBXNativeTarget \"ConnectTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCDE287A13DDEC74006BFCC0 /* Debug */,\n\t\t\t\tDCDE287B13DDEC74006BFCC0 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DCDE284F13DDEC74006BFCC0 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/ConnectTest/ReadMe.txt",
    "content": "The ConnectTest projects demonstrates some of the various options available for connecting to a host, such as:\n\n- Setting connect timeouts\n- Connecting to secure hosts (using SSL/TLS)"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  DomainTest\n//\n//  Created by Jonathan Diehl on 06.10.12.\n//  Copyright (c) 2012 Jonathan Diehl. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\n#import \"DomainServer.h\"\n#import \"DomainClient.h\"\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n\n@property (assign) IBOutlet NSWindow *window;\n@property (strong) DomainServer *server;\n@property (strong) NSMutableArray *clients;\n\n- (IBAction)addClient:(id)sender;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/AppDelegate.m",
    "content": "//\n//  AppDelegate.m\n//  DomainTest\n//\n//  Created by Jonathan Diehl on 06.10.12.\n//  Copyright (c) 2012 Jonathan Diehl. All rights reserved.\n//\n\n#import \"AppDelegate.h\"\n\n@implementation AppDelegate\n\n@synthesize server = _server;\n@synthesize clients = _clients;\n\n- (IBAction)addClient:(id)sender;\n{\n\tDomainClient *client = [[DomainClient alloc] initWithWindowNibName:@\"DomainClient\"];\n\t[self.clients addObject:client];\n\t[client connectToUrl:self.server.url];\n\t[client showWindow:sender];\n}\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\t_clients = [NSMutableArray new];\n\t\n\tNSError *error = nil;\n\t_server = [DomainServer new];\n\tself.server.url = [NSURL fileURLWithPath:@\"/tmp/socket\"];\n\tif (![self.server start:&error]) {\n\t\t[self.window presentError:error];\n\t}\n\t\n\t[self addClient:nil];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/DomainClient.h",
    "content": "//\n//  DomainClient.h\n//  DomainTest\n//\n//  Created by Jonathan Diehl on 06.10.12.\n//  Copyright (c) 2012 Jonathan Diehl. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\n#import \"GCDAsyncSocket.h\"\n\n@interface DomainClient : NSWindowController <GCDAsyncSocketDelegate>\n\n@property (readonly) GCDAsyncSocket *socket;\n@property (strong) IBOutlet NSTextView *outputView;\n@property (strong) IBOutlet NSTextField *inputView;\n\n- (void)connectToUrl:(NSURL *)url;\n- (IBAction)send:(id)sender;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/DomainClient.m",
    "content": "//\n//  DomainClient.m\n//  DomainTest\n//\n//  Created by Jonathan Diehl on 06.10.12.\n//  Copyright (c) 2012 Jonathan Diehl. All rights reserved.\n//\n\n#import \"DomainClient.h\"\n\n@implementation DomainClient\n\n@synthesize socket = _socket;\n@synthesize outputView = _outputView;\n@synthesize inputView = _inputView;\n\n- (void)connectToUrl:(NSURL *)url;\n{\n\tNSError *error = nil;\n\t_socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n\tif (![self.socket connectToUrl:url withTimeout:-1 error:&error]) {\n\t\t[self presentError:error];\n\t}\n}\n\n- (IBAction)send:(id)sender;\n{\n\tNSData *data = [self.inputView.stringValue dataUsingEncoding:NSUTF8StringEncoding];\n\t[self.socket writeData:data withTimeout:-1 tag:0];\n\tself.inputView.stringValue = @\"\";\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didConnectToUrl:(NSURL *)url;\n{\n\tNSLog(@\"[Client] Connected to %@\", url);\n\t[sock readDataWithTimeout:-1 tag:0];\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)socket withError:(NSError *)error;\n{\n\tNSLog(@\"[Client] Closed connection: %@\", error);\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag;\n{\n\tNSString *text = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\tNSLog(@\"[Client] Received: %@\", text);\n\t\n\ttext = [text stringByAppendingString:@\"\\n\"];\n\tNSAttributedString *string = [[NSAttributedString alloc] initWithString:text];\n\tNSTextStorage *storage = self.outputView.textStorage;\n\t\n\t[storage beginEditing];\n\t[storage appendAttributedString:string];\n\t[storage endEditing];\n\t\n\t[sock readDataWithTimeout:-1 tag:0];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/DomainClient.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1080</int>\n\t\t<string key=\"IBDocument.SystemVersion\">12C54</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2840</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1187.34</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">625.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">2840</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>IBNSLayoutConstraint</string>\n\t\t\t<string>NSButton</string>\n\t\t\t<string>NSButtonCell</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t\t<string>NSScrollView</string>\n\t\t\t<string>NSScroller</string>\n\t\t\t<string>NSTextField</string>\n\t\t\t<string>NSTextFieldCell</string>\n\t\t\t<string>NSTextView</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSWindowTemplate</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1001\">\n\t\t\t\t<string key=\"NSClassName\">DomainClient</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1003\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1004\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"1005\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{196, 240}, {480, 354}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">544735232</int>\n\t\t\t\t<string key=\"NSWindowTitle\">Window</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"1006\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"64493003\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"1006\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 20}, {359, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"1006\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"824176917\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"106036100\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804599231</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<object class=\"NSFont\" key=\"NSSupport\" id=\"314701203\">\n\t\t\t\t\t\t\t\t\t<string key=\"NSName\">LucidaGrande</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSSize\">13</double>\n\t\t\t\t\t\t\t\t\t<int key=\"NSfFlags\">1044</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:9</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"64493003\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"998151364\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"873914055\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<bool key=\"NSAllowsLogicalLayoutDirection\">NO</bool>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSScrollView\" id=\"739093120\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"1006\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t<object class=\"NSClipView\" id=\"73909222\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2304</int>\n\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextView\" id=\"459556541\">\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"73909222\"/>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2322</int>\n\t\t\t\t\t\t\t\t\t\t\t<set class=\"NSMutableSet\" key=\"NSDragTypes\">\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple HTML pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PDF pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PICT pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PNG pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple URL pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>CorePasteboardFlavorType 0x6D6F6F76</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSColor pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSFilenamesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSStringPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT RTFD pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Rich Text Format v1.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT TIFF v4.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT font pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT ruler pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>WebURLsWithTitlesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>public.url</string>\n\t\t\t\t\t\t\t\t\t\t\t</set>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSFrameSize\">{423, 282}</string>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"73909222\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"760609230\"/>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:13</string>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextContainer\" key=\"NSTextContainer\" id=\"24125905\">\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSLayoutManager\" key=\"NSLayoutManager\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextStorage\" key=\"NSTextStorage\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableString\" key=\"NSString\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<characters key=\"NS.bytes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSTextContainers\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"24125905\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSLMFlags\">166</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSTextView\" ref=\"459556541\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSWidth\">423</double>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTCFlags\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextViewSharedData\" key=\"NSSharedData\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSFlags\">12263</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTextCheckingTypes\">0</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSMarkedAttributes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"998151364\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSSelectedAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MC42NjY2NjY2NjY3AA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"873914055\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSInsertionColor\" ref=\"873914055\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSLinkAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDEAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{8, -8}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSCursorType\">13</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"1\" key=\"NSUnderline\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDefaultParagraphStyle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSTextFinder\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSPreferredTextFinderStyle\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTVFlags\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMaxSize\">{463, 10000000}</string>\n\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{1, 1}, {423, 282}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"459556541\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:11</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSDocView\" ref=\"459556541\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSBGColor\" ref=\"998151364\"/>\n\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{4, 5}</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSImage\" key=\"NSImage\">\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSImageFlags\">12582912</int>\n\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSReps\">\n\t\t\t\t\t\t\t\t\t\t\t\t<array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"0\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSBitmapImageRep\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSData\" key=\"NSTIFFRepresentation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NS.bytes\">TU0AKgAAEAj///8A////qwAAAP8AAAD/AwMD/BYWFtIFBQVuAAAABv///wD///8E6+vrTGhoaLYtLS3p\nBAQE/QAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/AAAA/wAAAP8EBATSX19fK9HR0ZciIiLv\nAAAA/wAAAP8AAAD/AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////CsPDw0CRkZG1FxcX9AAAAP8bGxvr\nICAg8AAAAP8ICAjlFRUVVQAAAA////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wrm5uab\nFxcX9AAAAP8AAAD/AQEB3wAAAA////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///zaXl5fGAAAA/wAAAP8AAABR////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////CO7u7q8AAAD/AAAA/wAAAAz///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r\nAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/AAAA/wAAAP8AAAD/\nAAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/\nAAAA/wAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///+rAAAA/wAAAP////8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6sAAAD/AAAA/////wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qwAAAP8AAAD/\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+r\nAAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////CO7u7q8AAAD/AAAA/wAAAAz///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///80mpqaxQAAAP8AAAD/AAAATv///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////CuXl5ZYeHh7xAAAA/wAAAP8CAgLXAAAAD////wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////EKurq0mOjo63FxcX9AAAAP8bGxvrICAg8AAAAP8ICAjlHh4eXAAAABj///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////qwAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE1V9fXyvS0tKZICAg8AAAAP8AAAD/\nAAAA/wAAAP8AAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///+rAAAA/wAAAP8AAAD/FBQU1AUFBXEAAAAG////AP///wTr6+tO\nZWVluC4uLuoAAAD/AAAA/wAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8AABABAAADAAAAAQAgAAABAQADAAAAAQAgAAABAgADAAAABAAA\nEM4BAwADAAAAAQABAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAE\nAAABFgADAAAAAQAgAAABFwAEAAAAAQAAEAABGgAFAAAAAQAAENYBGwAFAAAAAQAAEN4BHAADAAAAAQAB\nAAABKAADAAAAAQACAAABUgADAAAAAQACAAABUwADAAAABAAAEOYAAAAAAAgACAAIAAgSAAAAACAAABIA\nAAAAIAAAAAEAAQABAAE</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t<array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"0\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSBitmapImageRep\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSData\" key=\"NSTIFFRepresentation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NS.bytes\">TU0AKgAABAj///9VQ0ND/wAAAP////8A////AP///6pDQ0P/AAAA/////wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///+qAAAA/////6oAAAD/////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///6oAAAD/////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///+qAAAA/////wD///8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP////8A////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///6oAAAD/////AP///wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+qAAAA/////wD///8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP////8A\n////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////qgAAAP8AAAD/\nAAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///+q\nAAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////qgAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///6oAAAD/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///+qAAAA/////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////qgAAAP////8A////AP///wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///8A////qgAAAP////+qAAAA/////wD///8A////AP///wD///8A////AP///wD///8A\n////AP///wD///9VQ0ND/wAAAP////8A////AP///6pDQ0P/AAAA/////wD///8A////AP///wD///8A\n////AP///wD///8AAA4BAAADAAAAAQAQAAABAQADAAAAAQAQAAABAgADAAAABAAABLYBAwADAAAAAQAB\nAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAAAQAEAAABFgADAAAAAQAQ\nAAABFwAEAAAAAQAABAABHAADAAAAAQABAAABUgADAAAAAQACAAABUwADAAAABAAABL6HcwAHAAAHqAAA\nBMYAAAAAAAgACAAIAAgAAQABAAEAAQAAB6hhcHBsAiAAAG1udHJSR0IgWFlaIAfZAAIAGQALABoAC2Fj\nc3BBUFBMAAAAAGFwcGwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2Rlc2MAAAEIAAAAb2RzY20AAAF4AAAFbGNw\ncnQAAAbkAAAAOHd0cHQAAAccAAAAFHJYWVoAAAcwAAAAFGdYWVoAAAdEAAAAFGJYWVoAAAdYAAAAFHJU\nUkMAAAdsAAAADmNoYWQAAAd8AAAALGJUUkMAAAdsAAAADmdUUkMAAAdsAAAADmRlc2MAAAAAAAAAFEdl\nbmVyaWMgUkdCIFByb2ZpbGUAAAAAAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAB4AAAAMc2tTSwAA\nACgAAAF4aHJIUgAAACgAAAGgY2FFUwAAACQAAAHIcHRCUgAAACYAAAHsdWtVQQAAACoAAAISZnJGVQAA\nACgAAAI8emhUVwAAABYAAAJkaXRJVAAAACgAAAJ6bmJOTwAAACYAAAKia29LUgAAABYAAALIY3NDWgAA\nACIAAALeaGVJTAAAAB4AAAMAZGVERQAAACwAAAMeaHVIVQAAACgAAANKc3ZTRQAAACYAAAKiemhDTgAA\nABYAAANyamFKUAAAABoAAAOIcm9STwAAACQAAAOiZWxHUgAAACIAAAPGcHRQTwAAACYAAAPobmxOTAAA\nACgAAAQOZXNFUwAAACYAAAPodGhUSAAAACQAAAQ2dHJUUgAAACIAAARaZmlGSQAAACgAAAR8cGxQTAAA\nACwAAASkcnVSVQAAACIAAATQYXJFRwAAACYAAATyZW5VUwAAACYAAAUYZGFESwAAAC4AAAU+AFYBYQBl\nAG8AYgBlAGMAbgD9ACAAUgBHAEIAIABwAHIAbwBmAGkAbABHAGUAbgBlAHIAaQENAGsAaQAgAFIARwBC\nACAAcAByAG8AZgBpAGwAUABlAHIAZgBpAGwAIABSAEcAQgAgAGcAZQBuAOgAcgBpAGMAUABlAHIAZgBp\nAGwAIABSAEcAQgAgAEcAZQBuAOkAcgBpAGMAbwQXBDAEMwQwBDsETAQ9BDgEOQAgBD8EQAQ+BEQEMAQ5\nBDsAIABSAEcAQgBQAHIAbwBmAGkAbAAgAGcA6QBuAOkAcgBpAHEAdQBlACAAUgBWAEKQGnUoACAAUgBH\nAEIAIIJyX2ljz4/wAFAAcgBvAGYAaQBsAG8AIABSAEcAQgAgAGcAZQBuAGUAcgBpAGMAbwBHAGUAbgBl\nAHIAaQBzAGsAIABSAEcAQgAtAHAAcgBvAGYAaQBsx3y8GAAgAFIARwBCACDVBLhc0wzHfABPAGIAZQBj\nAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwF5AXoBdUF5AXZBdwAIABSAEcAQgAgBdsF3AXcBdkAQQBs\nAGwAZwBlAG0AZQBpAG4AZQBzACAAUgBHAEIALQBQAHIAbwBmAGkAbADBAGwAdABhAGwA4QBuAG8AcwAg\nAFIARwBCACAAcAByAG8AZgBpAGxmbpAaACAAUgBHAEIAIGPPj/Blh072TgCCLAAgAFIARwBCACAw1zDt\nMNUwoTCkMOsAUAByAG8AZgBpAGwAIABSAEcAQgAgAGcAZQBuAGUAcgBpAGMDkwO1A70DuQO6A8wAIAPA\nA8EDvwPGA68DuwAgAFIARwBCAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDpAHIAaQBjAG8AQQBs\nAGcAZQBtAGUAZQBuACAAUgBHAEIALQBwAHIAbwBmAGkAZQBsDkIOGw4jDkQOHw4lDkwAIABSAEcAQgAg\nDhcOMQ5IDicORA4bAEcAZQBuAGUAbAAgAFIARwBCACAAUAByAG8AZgBpAGwAaQBZAGwAZQBpAG4AZQBu\nACAAUgBHAEIALQBwAHIAbwBmAGkAaQBsAGkAVQBuAGkAdwBlAHIAcwBhAGwAbgB5ACAAcAByAG8AZgBp\nAGwAIABSAEcAQgQeBDEESQQ4BDkAIAQ/BEAEPgREBDgEOwRMACAAUgBHAEIGRQZEBkEAIAYqBjkGMQZK\nBkEAIABSAEcAQgAgBicGRAY5BicGRQBHAGUAbgBlAHIAaQBjACAAUgBHAEIAIABQAHIAbwBmAGkAbABl\nAEcAZQBuAGUAcgBlAGwAIABSAEcAQgAtAGIAZQBzAGsAcgBpAHYAZQBsAHMAZXRleHQAAAAAQ29weXJp\nZ2h0IDIwMDcgQXBwbGUgSW5jLiwgYWxsIHJpZ2h0cyByZXNlcnZlZC4AWFlaIAAAAAAAAPNSAAEAAAAB\nFs9YWVogAAAAAAAAdE0AAD3uAAAD0FhZWiAAAAAAAABadQAArHMAABc0WFlaIAAAAAAAACgaAAAVnwAA\nuDZjdXJ2AAAAAAAAAAEBzQAAc2YzMgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L///2jAAAD3AAA\nwGw</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MCAwAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t<int key=\"NScvFlags\">4</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"760609230\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{424, 1}, {15, 282}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"64493003\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:83</string>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSAllowsLogicalLayoutDirection\">NO</bool>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.85256409645080566</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"560004470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">-2147483392</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{-100, -100}, {87, 18}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"73909222\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:33</string>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSAllowsLogicalLayoutDirection\">NO</bool>\n\t\t\t\t\t\t\t\t\t<int key=\"NSsFlags\">1</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.94565218687057495</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 50}, {440, 284}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"1006\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"560004470\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t\t<int key=\"NSsFlags\">133138</int>\n\t\t\t\t\t\t\t<reference key=\"NSVScroller\" ref=\"760609230\"/>\n\t\t\t\t\t\t\t<reference key=\"NSHScroller\" ref=\"560004470\"/>\n\t\t\t\t\t\t\t<reference key=\"NSContentView\" ref=\"73909222\"/>\n\t\t\t\t\t\t\t<double key=\"NSMinMagnification\">0.25</double>\n\t\t\t\t\t\t\t<double key=\"NSMaxMagnification\">4</double>\n\t\t\t\t\t\t\t<double key=\"NSMagnification\">1</double>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSButton\" id=\"824176917\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"1006\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{387, 18}, {73, 25}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"1006\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:22</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSButtonCell\" key=\"NSCell\" id=\"374506189\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-2080374784</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">134217728</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Send</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"314701203\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:22</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"824176917\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags\">-2038153216</int>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags2\">163</int>\n\t\t\t\t\t\t\t\t<string key=\"NSAlternateContents\"/>\n\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSKeyEquivalent\">DQ</string>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicDelay\">400</int>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicInterval\">75</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<bool key=\"NSAllowsLogicalLayoutDirection\">NO</bool>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</array>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 354}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"739093120\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">inputView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1001\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"64493003\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">29</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">send:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1001\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"824176917\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">30</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">outputView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1001\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"459556541\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">33</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">initialFirstResponder</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1005\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"64493003\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">31</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1001\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1003\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1004\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1005\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1006\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1006\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"767054664\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"824176917\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"64493003\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">8</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"558961430\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">4</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"824176917\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">4</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"522172209\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">6</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"824176917\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"190102249\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"64493003\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">3</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">4</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">8</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"234203384\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"64493003\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">5</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"188389127\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">4</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"64493003\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">4</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"712305208\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">6</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"370411312\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">5</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"308430069\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"739093120\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">3</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"1006\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<reference ref=\"739093120\"/>\n\t\t\t\t\t\t\t<reference ref=\"64493003\"/>\n\t\t\t\t\t\t\t<reference ref=\"824176917\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1005\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"64493003\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"106036100\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">4</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"106036100\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"64493003\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"188389127\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">7</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"234203384\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">8</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739093120\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"459556541\"/>\n\t\t\t\t\t\t\t<reference ref=\"560004470\"/>\n\t\t\t\t\t\t\t<reference ref=\"760609230\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">9</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"459556541\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"739093120\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560004470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"739093120\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">11</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"760609230\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"739093120\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">13</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"308430069\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">15</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"370411312\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">16</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"190102249\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">17</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"712305208\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">18</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"824176917\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"374506189\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"178610470\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"824176917\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">7</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<nil key=\"secondItem\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">0</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">73</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"824176917\"/>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">9</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">1</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"374506189\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"824176917\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">20</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"522172209\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"558961430\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">25</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"178610470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"824176917\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">26</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767054664\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1006\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"1.IBWindowTemplateEditedContentRect\">{{357, 418}, {480, 270}}</string>\n\t\t\t\t<integer value=\"1\" key=\"1.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"10.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"11.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"13.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"15.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"16.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"17.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<array key=\"18.IBNSViewMetadataConstraints\">\n\t\t\t\t\t<reference ref=\"178610470\"/>\n\t\t\t\t</array>\n\t\t\t\t<boolean value=\"NO\" key=\"18.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"18.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<array key=\"2.IBNSViewMetadataConstraints\">\n\t\t\t\t\t<reference ref=\"308430069\"/>\n\t\t\t\t\t<reference ref=\"370411312\"/>\n\t\t\t\t\t<reference ref=\"712305208\"/>\n\t\t\t\t\t<reference ref=\"188389127\"/>\n\t\t\t\t\t<reference ref=\"234203384\"/>\n\t\t\t\t\t<reference ref=\"190102249\"/>\n\t\t\t\t\t<reference ref=\"522172209\"/>\n\t\t\t\t\t<reference ref=\"558961430\"/>\n\t\t\t\t\t<reference ref=\"767054664\"/>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"20.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"25.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"26.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<boolean value=\"NO\" key=\"3.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"4.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"6.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"7.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<boolean value=\"NO\" key=\"8.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"8.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"9.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">33</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DomainClient</string>\n\t\t\t\t\t<string key=\"superclassName\">NSWindowController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">send:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">send:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">send:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"inputView\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"outputView\">NSTextView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"inputView\">\n\t\t\t\t\t\t\t<string key=\"name\">inputView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"outputView\">\n\t\t\t\t\t\t\t<string key=\"name\">outputView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DomainClient.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSLayoutConstraint</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSLayoutConstraint.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<bool key=\"IBDocument.UseAutolayout\">YES</bool>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/DomainServer.h",
    "content": "//\n//  DomainServer.h\n//  DomainTest\n//\n//  Created by Jonathan Diehl on 06.10.12.\n//  Copyright (c) 2012 Jonathan Diehl. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n\n#import \"GCDAsyncSocket.h\"\n\n@interface DomainServer : NSObject\n\n@property (readonly) GCDAsyncSocket *socket;\n@property (readonly) NSMutableSet *connectedSockets;\n@property (strong) NSURL *url;\n\n- (BOOL)start:(NSError **)error;\n- (void)stop;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/DomainServer.m",
    "content": "//\n//  DomainServer.m\n//  DomainTest\n//\n//  Created by Jonathan Diehl on 06.10.12.\n//  Copyright (c) 2012 Jonathan Diehl. All rights reserved.\n//\n\n#import \"DomainServer.h\"\n\n@implementation DomainServer\n\n@synthesize socket = _socket;\n@synthesize url = _url;\n\n- (BOOL)start:(NSError **)error;\n{\n\t_connectedSockets = [NSMutableSet new];\n\t_socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n\tBOOL result = [self.socket acceptOnUrl:self.url error:error];\n\tif (result) {\n\t\tNSLog(@\"[Server] Started at: %@\", self.url.path);\n\t}\n\treturn result;\n}\n\n- (void)stop;\n{\n\t_socket = nil;\n\tNSLog(@\"[Server] Stopped.\");\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket;\n{\n\tNSLog(@\"[Server] New connection.\");\n\t[self.connectedSockets addObject:newSocket];\n\t[newSocket readDataWithTimeout:-1 tag:0];\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)socket withError:(NSError *)error;\n{\n\t[self.connectedSockets removeObject:socket];\n\tNSLog(@\"[Server] Closed connection: %@\", error);\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag;\n{\n\tNSString *text = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\tNSLog(@\"[Server] Received: %@\", text);\n\t\n\t[sock writeData:data withTimeout:-1 tag:0];\n\t[sock readDataWithTimeout:-1 tag:0];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/DomainTest-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2012 Jonathan Diehl. All rights reserved.</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/DomainTest-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'DomainTest' target in the 'DomainTest' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1080</int>\n\t\t<string key=\"IBDocument.SystemVersion\">12C54</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2840</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1187.34</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">625.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">2840</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSCustomObject</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">DomainTest</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">DomainTest</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About DomainTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide DomainTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit DomainTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Socket</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Socket</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New Connection</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligatures</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligatures</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">DomainTest Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addClient:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">536</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">536</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">addClient:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">addClient:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">addClient:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{11, 11}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{10, 3}</string>\n\t\t</dictionary>\n\t\t<bool key=\"IBDocument.UseAutolayout\">YES</bool>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest/main.m",
    "content": "//\n//  main.m\n//  DomainTest\n//\n//  Created by Jonathan Diehl on 06.10.12.\n//  Copyright (c) 2012 Jonathan Diehl. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n\treturn NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/DomainTest/DomainTest.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t2D2E9B031B88F008007497EE /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D2E9AFF1B88F008007497EE /* GCDAsyncSocket.m */; };\n\t\tFCA1B584161FA1A400613B9F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FCA1B583161FA1A400613B9F /* Cocoa.framework */; };\n\t\tFCA1B58E161FA1A400613B9F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = FCA1B58C161FA1A400613B9F /* InfoPlist.strings */; };\n\t\tFCA1B590161FA1A400613B9F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA1B58F161FA1A400613B9F /* main.m */; };\n\t\tFCA1B594161FA1A400613B9F /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = FCA1B592161FA1A400613B9F /* Credits.rtf */; };\n\t\tFCA1B597161FA1A400613B9F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA1B596161FA1A400613B9F /* AppDelegate.m */; };\n\t\tFCA1B59A161FA1A400613B9F /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = FCA1B598161FA1A400613B9F /* MainMenu.xib */; };\n\t\tFCA1B5A6161FA1EB00613B9F /* DomainServer.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA1B5A5161FA1EB00613B9F /* DomainServer.m */; };\n\t\tFCA1B5AB161FA21100613B9F /* DomainClient.xib in Resources */ = {isa = PBXBuildFile; fileRef = FCA1B5AA161FA21100613B9F /* DomainClient.xib */; };\n\t\tFCA1B5B1161FAA4900613B9F /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FCA1B5B0161FAA4900613B9F /* Security.framework */; };\n\t\tFCA1B5B4161FB2DA00613B9F /* DomainClient.m in Sources */ = {isa = PBXBuildFile; fileRef = FCA1B5B3161FB2DA00613B9F /* DomainClient.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t2D2E9AFE1B88F008007497EE /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCDAsyncSocket.h; sourceTree = \"<group>\"; };\n\t\t2D2E9AFF1B88F008007497EE /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDAsyncSocket.m; sourceTree = \"<group>\"; };\n\t\tFCA1B57F161FA1A400613B9F /* DomainTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DomainTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tFCA1B583161FA1A400613B9F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tFCA1B586161FA1A400613B9F /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tFCA1B587161FA1A400613B9F /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tFCA1B588161FA1A400613B9F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tFCA1B58B161FA1A400613B9F /* DomainTest-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"DomainTest-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tFCA1B58D161FA1A400613B9F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tFCA1B58F161FA1A400613B9F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tFCA1B591161FA1A400613B9F /* DomainTest-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"DomainTest-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tFCA1B593161FA1A400613B9F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tFCA1B595161FA1A400613B9F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tFCA1B596161FA1A400613B9F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tFCA1B599161FA1A400613B9F /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tFCA1B5A4161FA1EB00613B9F /* DomainServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DomainServer.h; sourceTree = \"<group>\"; };\n\t\tFCA1B5A5161FA1EB00613B9F /* DomainServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DomainServer.m; sourceTree = \"<group>\"; };\n\t\tFCA1B5AA161FA21100613B9F /* DomainClient.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DomainClient.xib; sourceTree = \"<group>\"; };\n\t\tFCA1B5B0161FAA4900613B9F /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n\t\tFCA1B5B2161FB2DA00613B9F /* DomainClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DomainClient.h; sourceTree = \"<group>\"; };\n\t\tFCA1B5B3161FB2DA00613B9F /* DomainClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DomainClient.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tFCA1B57C161FA1A400613B9F /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tFCA1B5B1161FAA4900613B9F /* Security.framework in Frameworks */,\n\t\t\t\tFCA1B584161FA1A400613B9F /* Cocoa.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t2D2E9AFC1B88F008007497EE /* GCDAsyncSocket */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2D2E9AFE1B88F008007497EE /* GCDAsyncSocket.h */,\n\t\t\t\t2D2E9AFF1B88F008007497EE /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = GCDAsyncSocket;\n\t\t\tpath = ../../../Source/GCD;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tFCA1B574161FA1A400613B9F = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2D2E9AFC1B88F008007497EE /* GCDAsyncSocket */,\n\t\t\t\tFCA1B589161FA1A400613B9F /* DomainTest */,\n\t\t\t\tFCA1B582161FA1A400613B9F /* Frameworks */,\n\t\t\t\tFCA1B580161FA1A400613B9F /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tFCA1B580161FA1A400613B9F /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tFCA1B57F161FA1A400613B9F /* DomainTest.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tFCA1B582161FA1A400613B9F /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tFCA1B5B0161FAA4900613B9F /* Security.framework */,\n\t\t\t\tFCA1B583161FA1A400613B9F /* Cocoa.framework */,\n\t\t\t\tFCA1B585161FA1A400613B9F /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tFCA1B585161FA1A400613B9F /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tFCA1B586161FA1A400613B9F /* AppKit.framework */,\n\t\t\t\tFCA1B587161FA1A400613B9F /* CoreData.framework */,\n\t\t\t\tFCA1B588161FA1A400613B9F /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tFCA1B589161FA1A400613B9F /* DomainTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tFCA1B595161FA1A400613B9F /* AppDelegate.h */,\n\t\t\t\tFCA1B596161FA1A400613B9F /* AppDelegate.m */,\n\t\t\t\tFCA1B598161FA1A400613B9F /* MainMenu.xib */,\n\t\t\t\tFCA1B5A4161FA1EB00613B9F /* DomainServer.h */,\n\t\t\t\tFCA1B5A5161FA1EB00613B9F /* DomainServer.m */,\n\t\t\t\tFCA1B5B2161FB2DA00613B9F /* DomainClient.h */,\n\t\t\t\tFCA1B5B3161FB2DA00613B9F /* DomainClient.m */,\n\t\t\t\tFCA1B5AA161FA21100613B9F /* DomainClient.xib */,\n\t\t\t\tFCA1B58A161FA1A400613B9F /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = DomainTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tFCA1B58A161FA1A400613B9F /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tFCA1B58B161FA1A400613B9F /* DomainTest-Info.plist */,\n\t\t\t\tFCA1B58C161FA1A400613B9F /* InfoPlist.strings */,\n\t\t\t\tFCA1B58F161FA1A400613B9F /* main.m */,\n\t\t\t\tFCA1B591161FA1A400613B9F /* DomainTest-Prefix.pch */,\n\t\t\t\tFCA1B592161FA1A400613B9F /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tFCA1B57E161FA1A400613B9F /* DomainTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = FCA1B59D161FA1A400613B9F /* Build configuration list for PBXNativeTarget \"DomainTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tFCA1B57B161FA1A400613B9F /* Sources */,\n\t\t\t\tFCA1B57C161FA1A400613B9F /* Frameworks */,\n\t\t\t\tFCA1B57D161FA1A400613B9F /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = DomainTest;\n\t\t\tproductName = DomainTest;\n\t\t\tproductReference = FCA1B57F161FA1A400613B9F /* DomainTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tFCA1B576161FA1A400613B9F /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0640;\n\t\t\t\tORGANIZATIONNAME = \"Jonathan Diehl\";\n\t\t\t};\n\t\t\tbuildConfigurationList = FCA1B579161FA1A400613B9F /* Build configuration list for PBXProject \"DomainTest\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = FCA1B574161FA1A400613B9F;\n\t\t\tproductRefGroup = FCA1B580161FA1A400613B9F /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tFCA1B57E161FA1A400613B9F /* DomainTest */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tFCA1B57D161FA1A400613B9F /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tFCA1B58E161FA1A400613B9F /* InfoPlist.strings in Resources */,\n\t\t\t\tFCA1B594161FA1A400613B9F /* Credits.rtf in Resources */,\n\t\t\t\tFCA1B59A161FA1A400613B9F /* MainMenu.xib in Resources */,\n\t\t\t\tFCA1B5AB161FA21100613B9F /* DomainClient.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tFCA1B57B161FA1A400613B9F /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tFCA1B590161FA1A400613B9F /* main.m in Sources */,\n\t\t\t\t2D2E9B031B88F008007497EE /* GCDAsyncSocket.m in Sources */,\n\t\t\t\tFCA1B597161FA1A400613B9F /* AppDelegate.m in Sources */,\n\t\t\t\tFCA1B5A6161FA1EB00613B9F /* DomainServer.m in Sources */,\n\t\t\t\tFCA1B5B4161FB2DA00613B9F /* DomainClient.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tFCA1B58C161FA1A400613B9F /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tFCA1B58D161FA1A400613B9F /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tFCA1B592161FA1A400613B9F /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tFCA1B593161FA1A400613B9F /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tFCA1B598161FA1A400613B9F /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tFCA1B599161FA1A400613B9F /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tFCA1B59B161FA1A400613B9F /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tFCA1B59C161FA1A400613B9F /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tFCA1B59E161FA1A400613B9F /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"DomainTest/DomainTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"DomainTest/DomainTest-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tFCA1B59F161FA1A400613B9F /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"DomainTest/DomainTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"DomainTest/DomainTest-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tFCA1B579161FA1A400613B9F /* Build configuration list for PBXProject \"DomainTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tFCA1B59B161FA1A400613B9F /* Debug */,\n\t\t\t\tFCA1B59C161FA1A400613B9F /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tFCA1B59D161FA1A400613B9F /* Build configuration list for PBXNativeTarget \"DomainTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tFCA1B59E161FA1A400613B9F /* Debug */,\n\t\t\t\tFCA1B59F161FA1A400613B9F /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = FCA1B576161FA1A400613B9F /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/EchoServer/EchoServer-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/EchoServer/EchoServer.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C327FD186CDAD800F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C327F8186CDAD800F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C327FE186CDAD800F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C327FA186CDAD800F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C327FF186CDAD800F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C327FC186CDAD800F6D762 /* DDMultiFormatter.m */; };\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* EchoServerAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* EchoServerAppDelegate.m */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tDC90AB4E14773F9A0022DF52 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB3F14773F9A0022DF52 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC90AB4F14773F9A0022DF52 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB4114773F9A0022DF52 /* DDASLLogger.m */; };\n\t\tDC90AB5014773F9A0022DF52 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB4314773F9A0022DF52 /* DDFileLogger.m */; };\n\t\tDC90AB5114773F9A0022DF52 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB4514773F9A0022DF52 /* DDLog.m */; };\n\t\tDC90AB5214773F9A0022DF52 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90AB4714773F9A0022DF52 /* DDTTYLogger.m */; };\n\t\tDC90AB5514773F9A0022DF52 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC90AB4D14773F9A0022DF52 /* README.txt */; };\n\t\tDCD2871A1291DDCB001E7AEC /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DCD287191291DDCB001E7AEC /* GCDAsyncSocket.m */; };\n\t\tDCD287461291E3B7001E7AEC /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCD287451291E3B7001E7AEC /* Security.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t11C327F6186CDAB100F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = \"DDLog+LOGV.h\"; path = \"../../../Vendor/CocoaLumberjack/DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C327F7186CDAD800F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C327F8186CDAD800F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C327F9186CDAD800F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C327FA186CDAD800F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C327FB186CDAD800F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C327FC186CDAD800F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* EchoServerAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EchoServerAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* EchoServerAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EchoServerAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* EchoServer_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EchoServer_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t8D1107310486CEB800E47090 /* EchoServer-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"EchoServer-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* EchoServer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EchoServer.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC90AB3E14773F9A0022DF52 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = ../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB3F14773F9A0022DF52 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = ../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB4014773F9A0022DF52 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = ../../../Vendor/CocoaLumberjack/DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB4114773F9A0022DF52 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = ../../../Vendor/CocoaLumberjack/DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB4214773F9A0022DF52 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = ../../../Vendor/CocoaLumberjack/DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB4314773F9A0022DF52 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = ../../../Vendor/CocoaLumberjack/DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB4414773F9A0022DF52 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = ../../../Vendor/CocoaLumberjack/DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC90AB4514773F9A0022DF52 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = ../../../Vendor/CocoaLumberjack/DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC90AB4614773F9A0022DF52 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = ../../../Vendor/CocoaLumberjack/DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90AB4714773F9A0022DF52 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = ../../../Vendor/CocoaLumberjack/DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90AB4D14773F9A0022DF52 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n\t\tDCD287181291DDCA001E7AEC /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncSocket.h; path = ../../GCDAsyncSocket.h; sourceTree = SOURCE_ROOT; };\n\t\tDCD287191291DDCB001E7AEC /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocket.m; path = ../../GCDAsyncSocket.m; sourceTree = SOURCE_ROOT; };\n\t\tDCD287451291E3B7001E7AEC /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\tDCD287461291E3B7001E7AEC /* Security.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCD287181291DDCA001E7AEC /* GCDAsyncSocket.h */,\n\t\t\t\tDCD287191291DDCB001E7AEC /* GCDAsyncSocket.m */,\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* EchoServerAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* EchoServerAppDelegate.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t\tDCD287451291E3B7001E7AEC /* Security.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* EchoServer.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* EchoServer */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCD287211291E0CD001E7AEC /* Logging */,\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t);\n\t\t\tname = EchoServer;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* EchoServer_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t\t8D1107310486CEB800E47090 /* EchoServer-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC90AB4814773F9A0022DF52 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C327F7186CDAD800F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C327F8186CDAD800F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C327F9186CDAD800F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C327FA186CDAD800F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C327FB186CDAD800F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C327FC186CDAD800F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC90AB4D14773F9A0022DF52 /* README.txt */,\n\t\t\t);\n\t\t\tname = Extensions;\n\t\t\tpath = ../../../Vendor/CocoaLumberjack/Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCD287211291E0CD001E7AEC /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC90AB3E14773F9A0022DF52 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC90AB3F14773F9A0022DF52 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC90AB4014773F9A0022DF52 /* DDASLLogger.h */,\n\t\t\t\tDC90AB4114773F9A0022DF52 /* DDASLLogger.m */,\n\t\t\t\tDC90AB4214773F9A0022DF52 /* DDFileLogger.h */,\n\t\t\t\tDC90AB4314773F9A0022DF52 /* DDFileLogger.m */,\n\t\t\t\tDC90AB4414773F9A0022DF52 /* DDLog.h */,\n\t\t\t\tDC90AB4514773F9A0022DF52 /* DDLog.m */,\n\t\t\t\t11C327F6186CDAB100F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC90AB4614773F9A0022DF52 /* DDTTYLogger.h */,\n\t\t\t\tDC90AB4714773F9A0022DF52 /* DDTTYLogger.m */,\n\t\t\t\tDC90AB4814773F9A0022DF52 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* EchoServer */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"EchoServer\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = EchoServer;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = EchoServer;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* EchoServer.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0500;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"EchoServer\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* EchoServer */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* EchoServer */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t\tDC90AB5514773F9A0022DF52 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* EchoServerAppDelegate.m in Sources */,\n\t\t\t\tDCD2871A1291DDCB001E7AEC /* GCDAsyncSocket.m in Sources */,\n\t\t\t\t11C327FD186CDAD800F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC90AB4E14773F9A0022DF52 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDC90AB4F14773F9A0022DF52 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC90AB5014773F9A0022DF52 /* DDFileLogger.m in Sources */,\n\t\t\t\t11C327FF186CDAD800F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\t11C327FE186CDAD800F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDC90AB5114773F9A0022DF52 /* DDLog.m in Sources */,\n\t\t\t\tDC90AB5214773F9A0022DF52 /* DDTTYLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = EchoServer_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"EchoServer-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_NAME = EchoServer;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = EchoServer_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"EchoServer-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_NAME = EchoServer;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"EchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"EchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/EchoServer/EchoServerAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class GCDAsyncSocket;\n\n\n@interface EchoServerAppDelegate : NSObject <NSApplicationDelegate>\n{\n\tdispatch_queue_t socketQueue;\n\t\n\tGCDAsyncSocket *listenSocket;\n\tNSMutableArray *connectedSockets;\n\t\n\tBOOL isRunning;\n\t\n\tIBOutlet id logView;\n\tIBOutlet id portField;\n\tIBOutlet id startStopButton;\n\t\n\tNSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n- (IBAction)startStop:(id)sender;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/EchoServer/EchoServerAppDelegate.m",
    "content": "#import \"EchoServerAppDelegate.h\"\n#import \"GCDAsyncSocket.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n\n#define WELCOME_MSG  0\n#define ECHO_MSG     1\n#define WARNING_MSG  2\n\n#define READ_TIMEOUT 15.0\n#define READ_TIMEOUT_EXTENSION 10.0\n\n#define FORMAT(format, ...) [NSString stringWithFormat:(format), ##__VA_ARGS__]\n\n@interface EchoServerAppDelegate (PrivateAPI)\n\n- (void)logError:(NSString *)msg;\n- (void)logInfo:(NSString *)msg;\n- (void)logMessage:(NSString *)msg;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation EchoServerAppDelegate\n\n@synthesize window;\n\n- (id)init\n{\n\tif((self = [super init]))\n\t{\n\t\t// Setup our logging framework.\n\t\t\n\t\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t\t\n\t\t// Setup our socket.\n\t\t// The socket will invoke our delegate methods using the usual delegate paradigm.\n\t\t// However, it will invoke the delegate methods on a specified GCD delegate dispatch queue.\n\t\t// \n\t\t// Now we can configure the delegate dispatch queues however we want.\n\t\t// We could simply use the main dispatc queue, so the delegate methods are invoked on the main thread.\n\t\t// Or we could use a dedicated dispatch queue, which could be helpful if we were doing a lot of processing.\n\t\t// \n\t\t// The best approach for your application will depend upon convenience, requirements and performance.\n\t\t\n\t\tsocketQueue = dispatch_queue_create(\"socketQueue\", NULL);\n\t\t\n\t\tlistenSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:socketQueue];\n\t\t\n\t\t// Setup an array to store all accepted client connections\n\t\tconnectedSockets = [[NSMutableArray alloc] initWithCapacity:1];\n\t\t\n\t\tisRunning = NO;\n\t}\n\treturn self;\n}\n\n- (void)awakeFromNib\n{\n\t[logView setString:@\"\"];\n}\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\t// Reserved\n}\n\n- (void)scrollToBottom\n{\n\tNSScrollView *scrollView = [logView enclosingScrollView];\n\tNSPoint newScrollOrigin;\n\t\n\tif ([[scrollView documentView] isFlipped])\n\t\tnewScrollOrigin = NSMakePoint(0.0F, NSMaxY([[scrollView documentView] frame]));\n\telse\n\t\tnewScrollOrigin = NSMakePoint(0.0F, 0.0F);\n\t\n\t[[scrollView documentView] scrollPoint:newScrollOrigin];\n}\n\n- (void)logError:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor redColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logInfo:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor purpleColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logMessage:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor blackColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (IBAction)startStop:(id)sender\n{\n\tif(!isRunning)\n\t{\n\t\tint port = [portField intValue];\n\t\t\n\t\tif (port < 0 || port > 65535)\n\t\t{\n\t\t\t[portField setStringValue:@\"\"];\n\t\t\tport = 0;\n\t\t}\n\t\t\n\t\tNSError *error = nil;\n\t\tif(![listenSocket acceptOnPort:port error:&error])\n\t\t{\n\t\t\t[self logError:FORMAT(@\"Error starting server: %@\", error)];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t[self logInfo:FORMAT(@\"Echo server started on port %hu\", [listenSocket localPort])];\n\t\tisRunning = YES;\n\t\t\n\t\t[portField setEnabled:NO];\n\t\t[startStopButton setTitle:@\"Stop\"];\n\t}\n\telse\n\t{\n\t\t// Stop accepting connections\n\t\t[listenSocket disconnect];\n\t\t\n\t\t// Stop any client connections\n\t\t@synchronized(connectedSockets)\n\t\t{\n\t\t\tNSUInteger i;\n\t\t\tfor (i = 0; i < [connectedSockets count]; i++)\n\t\t\t{\n\t\t\t\t// Call disconnect on the socket,\n\t\t\t\t// which will invoke the socketDidDisconnect: method,\n\t\t\t\t// which will remove the socket from the list.\n\t\t\t\t[[connectedSockets objectAtIndex:i] disconnect];\n\t\t\t}\n\t\t}\n\t\t\n\t\t[self logInfo:@\"Stopped Echo server\"];\n\t\tisRunning = false;\n\t\t\n\t\t[portField setEnabled:YES];\n\t\t[startStopButton setTitle:@\"Start\"];\n\t}\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket\n{\n\t// This method is executed on the socketQueue (not the main thread)\n\t\n\t@synchronized(connectedSockets)\n\t{\n\t\t[connectedSockets addObject:newSocket];\n\t}\n\t\n\tNSString *host = [newSocket connectedHost];\n\tUInt16 port = [newSocket connectedPort];\n\t\n\tdispatch_async(dispatch_get_main_queue(), ^{\n\t\t@autoreleasepool {\n\t\t\n\t\t\t[self logInfo:FORMAT(@\"Accepted client %@:%hu\", host, port)];\n\t\t\n\t\t}\n\t});\n\t\n\tNSString *welcomeMsg = @\"Welcome to the AsyncSocket Echo Server\\r\\n\";\n\tNSData *welcomeData = [welcomeMsg dataUsingEncoding:NSUTF8StringEncoding];\n\t\n\t[newSocket writeData:welcomeData withTimeout:-1 tag:WELCOME_MSG];\n\t\n\t[newSocket readDataToData:[GCDAsyncSocket CRLFData] withTimeout:READ_TIMEOUT tag:0];\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag\n{\n\t// This method is executed on the socketQueue (not the main thread)\n\t\n\tif (tag == ECHO_MSG)\n\t{\n\t\t[sock readDataToData:[GCDAsyncSocket CRLFData] withTimeout:READ_TIMEOUT tag:0];\n\t}\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag\n{\n\t// This method is executed on the socketQueue (not the main thread)\n\t\n\tdispatch_async(dispatch_get_main_queue(), ^{\n\t\t@autoreleasepool {\n\t\t\n\t\t\tNSData *strData = [data subdataWithRange:NSMakeRange(0, [data length] - 2)];\n\t\t\tNSString *msg = [[NSString alloc] initWithData:strData encoding:NSUTF8StringEncoding];\n\t\t\tif (msg)\n\t\t\t{\n\t\t\t\t[self logMessage:msg];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t[self logError:@\"Error converting received data into UTF-8 String\"];\n\t\t\t}\n\t\t\n\t\t}\n\t});\n\t\n\t// Echo message back to client\n\t[sock writeData:data withTimeout:-1 tag:ECHO_MSG];\n}\n\n/**\n * This method is called if a read has timed out.\n * It allows us to optionally extend the timeout.\n * We use this method to issue a warning to the user prior to disconnecting them.\n**/\n- (NSTimeInterval)socket:(GCDAsyncSocket *)sock shouldTimeoutReadWithTag:(long)tag\n                                                                 elapsed:(NSTimeInterval)elapsed\n                                                               bytesDone:(NSUInteger)length\n{\n\tif (elapsed <= READ_TIMEOUT)\n\t{\n\t\tNSString *warningMsg = @\"Are you still there?\\r\\n\";\n\t\tNSData *warningData = [warningMsg dataUsingEncoding:NSUTF8StringEncoding];\n\t\t\n\t\t[sock writeData:warningData withTimeout:-1 tag:WARNING_MSG];\n\t\t\n\t\treturn READ_TIMEOUT_EXTENSION;\n\t}\n\t\n\treturn 0.0;\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err\n{\n\tif (sock != listenSocket)\n\t{\n\t\tdispatch_async(dispatch_get_main_queue(), ^{\n\t\t\t@autoreleasepool {\n\t\t\t\n\t\t\t\t[self logInfo:FORMAT(@\"Client Disconnected\")];\n\t\t\t\n\t\t\t}\n\t\t});\n\t\t\n\t\t@synchronized(connectedSockets)\n\t\t{\n\t\t\t[connectedSockets removeObject:sock];\n\t\t}\n\t}\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/EchoServer/EchoServer_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'EchoServer' target in the 'EchoServer' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/EchoServer/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/EchoServer/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11C74</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1938</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.23</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">567.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1938</string>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>NSScroller</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSTextFieldCell</string>\n\t\t\t<string>NSScrollView</string>\n\t\t\t<string>NSButtonCell</string>\n\t\t\t<string>NSButton</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t\t<string>NSTextView</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSTextField</string>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">EchoServer</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">EchoServer</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About EchoServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide EchoServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit EchoServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">EchoServer Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 358}, {394, 392}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">EchoServer</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"757714593\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{17, 352}, {34, 17}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"517990097\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">68288064</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Port:</string>\n\t\t\t\t\t\t\t\t<object class=\"NSFont\" key=\"NSSupport\" id=\"985546486\">\n\t\t\t\t\t\t\t\t\t<string key=\"NSName\">LucidaGrande</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSSize\">13</double>\n\t\t\t\t\t\t\t\t\t<int key=\"NSfFlags\">1044</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"757714593\"/>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">controlColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"476278573\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MC42NjY2NjY2NjY3AA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">controlTextColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"217445751\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"848850122\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{56, 350}, {71, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"45913130\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"985546486\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">Any</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"848850122\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"287451867\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textColor</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"217445751\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSButton\" id=\"163909551\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">265</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{284, 342}, {96, 32}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSButtonCell\" key=\"NSCell\" id=\"925804731\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">67239424</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">134217728</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Start</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"985546486\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"163909551\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags\">-2038284033</int>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags2\">129</int>\n\t\t\t\t\t\t\t\t<string key=\"NSAlternateContents\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSKeyEquivalent\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicDelay\">200</int>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicInterval\">25</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSScrollView\" id=\"589577954\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSClipView\" id=\"641005881\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"589577954\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2304</int>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextView\" id=\"228850452\">\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"641005881\"/>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2322</int>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableSet\" key=\"NSDragTypes\">\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"set.sortedObjects\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple HTML pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PDF pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PICT pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PNG pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple URL pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>CorePasteboardFlavorType 0x6D6F6F76</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSColor pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSFilenamesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSStringPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT RTFD pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Rich Text Format v1.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT TIFF v4.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT font pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT ruler pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>WebURLsWithTitlesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string>public.url</string>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSFrameSize\">{352, 133}</string>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"641005881\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextContainer\" key=\"NSTextContainer\" id=\"650176987\">\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSLayoutManager\" key=\"NSLayoutManager\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextStorage\" key=\"NSTextStorage\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableString\" key=\"NSString\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<characters key=\"NS.bytes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSTextContainers\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"650176987\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSLMFlags\">134</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSTextView\" ref=\"228850452\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSWidth\">352</double>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTCFlags\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextViewSharedData\" key=\"NSSharedData\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSFlags\">67120999</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTextCheckingTypes\">0</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSMarkedAttributes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"287451867\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSDictionary\" key=\"NSSelectedAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"476278573\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"217445751\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSInsertionColor\" ref=\"217445751\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSDictionary\" key=\"NSLinkAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSCursor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSUnderline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDEAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{8, -8}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSCursorType\">13</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDefaultParagraphStyle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSTextFinder\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSPreferredTextFinderStyle\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTVFlags\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMaxSize\">{463, 10000000}</string>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMinize\">{223, 133}</string>\n\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{1, 1}, {352, 320}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"589577954\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"228850452\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSDocView\" ref=\"228850452\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSBGColor\" ref=\"287451867\"/>\n\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{4, 5}</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSImage\" key=\"NSImage\">\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSImageFlags\">12582912</int>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSReps\">\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"0\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSBitmapImageRep\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSData\" key=\"NSTIFFRepresentation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NS.bytes\">TU0AKgAAAHCAFUqgBVKsAAAAwdVQUqwaEQeIRGJRGFlYqwWLQ+JxuOQpVRmEx2RROKwOQyOUQSPyaUym\nSxqWyKXyeYxyZzWbSuJTScRCbz2Nz+gRKhUOfTqeUai0OSxiWTiBQSHSGFquGwekxyAgAAAOAQAAAwAA\nAAEAEAAAAQEAAwAAAAEAEAAAAQIAAwAAAAIACAAIAQMAAwAAAAEABQAAAQYAAwAAAAEAAQAAAREABAAA\nAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEAAgAAARYAAwAAAAEAEAAAARcABAAAAAEAAABnARwAAwAA\nAAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MCAwAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t<int key=\"NScvFlags\">4</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"748408196\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"589577954\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{338, 1}, {15, 320}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"589577954\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"589577954\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.85256409645080566</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"947015109\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"589577954\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">-2147483392</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{-100, -100}, {87, 18}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"589577954\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSsFlags\">1</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"589577954\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.94565218687057495</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 20}, {354, 322}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"641005881\"/>\n\t\t\t\t\t\t\t<int key=\"NSsFlags\">133138</int>\n\t\t\t\t\t\t\t<reference key=\"NSVScroller\" ref=\"748408196\"/>\n\t\t\t\t\t\t\t<reference key=\"NSHScroller\" ref=\"947015109\"/>\n\t\t\t\t\t\t\t<reference key=\"NSContentView\" ref=\"641005881\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<string key=\"NSFrameSize\">{394, 392}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1440, 878}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<string key=\"NSFrameAutosaveName\">MainWindow</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">EchoServerAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStopButton</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"163909551\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">539</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">portField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"848850122\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">540</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">logView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"228850452\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">545</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStop:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"163909551\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">546</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"object\" id=\"0\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"848850122\"/>\n\t\t\t\t\t\t\t<reference ref=\"757714593\"/>\n\t\t\t\t\t\t\t<reference ref=\"163909551\"/>\n\t\t\t\t\t\t\t<reference ref=\"589577954\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">533</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"757714593\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"517990097\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"517990097\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"757714593\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">535</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"848850122\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"45913130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">536</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"45913130\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"848850122\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">537</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163909551\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"925804731\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">538</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"925804731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"163909551\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">541</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"589577954\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"748408196\"/>\n\t\t\t\t\t\t\t<reference ref=\"947015109\"/>\n\t\t\t\t\t\t\t<reference ref=\"228850452\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">542</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"748408196\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"589577954\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">543</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"947015109\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"589577954\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">544</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"228850452\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"589577954\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.IBPluginDependency</string>\n\t\t\t\t\t<string>-2.IBPluginDependency</string>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>420.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>494.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>533.IBPluginDependency</string>\n\t\t\t\t\t<string>534.IBPluginDependency</string>\n\t\t\t\t\t<string>535.IBPluginDependency</string>\n\t\t\t\t\t<string>536.IBPluginDependency</string>\n\t\t\t\t\t<string>537.IBPluginDependency</string>\n\t\t\t\t\t<string>538.IBPluginDependency</string>\n\t\t\t\t\t<string>541.IBPluginDependency</string>\n\t\t\t\t\t<string>542.IBPluginDependency</string>\n\t\t\t\t\t<string>543.IBPluginDependency</string>\n\t\t\t\t\t<string>544.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{63, 496}, {394, 392}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<reference key=\"dict.values\" ref=\"0\"/>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<reference key=\"dict.values\" ref=\"0\"/>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">546</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">EchoServerAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStop:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStop:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">startStop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>logView</string>\n\t\t\t\t\t\t\t<string>portField</string>\n\t\t\t\t\t\t\t<string>startStopButton</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>logView</string>\n\t\t\t\t\t\t\t<string>portField</string>\n\t\t\t\t\t\t\t<string>startStopButton</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">logView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">portField</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">startStopButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/EchoServerAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<string>NSMenuCheckmark</string>\n\t\t\t\t<string>NSMenuMixedState</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<string>{9, 8}</string>\n\t\t\t\t<string>{7, 2}</string>\n\t\t\t</object>\n\t\t</object>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/EchoServer/main.m",
    "content": "//\n//  main.m\n//  EchoServer\n//\n//  Created by Robbie Hanson on 11/4/10.\n//  Copyright 2010 __MyCompanyName__. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Desktop/SimpleHTTPClient/SimpleHTTPClient-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Desktop/SimpleHTTPClient/SimpleHTTPClient-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'SimpleHTTPClient' target in the 'SimpleHTTPClient' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Desktop/SimpleHTTPClient/SimpleHTTPClientAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class GCDAsyncSocket;\n\n\n@interface SimpleHTTPClientAppDelegate : NSObject <NSApplicationDelegate> {\n@private\n\tGCDAsyncSocket *asyncSocket;\n\t\n\tNSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Desktop/SimpleHTTPClient/SimpleHTTPClientAppDelegate.m",
    "content": "#import \"SimpleHTTPClientAppDelegate.h\"\n#import \"GCDAsyncSocket.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n#import \"DDDispatchQueueLogFormatter.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n#define  WWW_PORT 0  // 0 => automatic\n#define  WWW_HOST @\"www.amazon.com\"\n#define CERT_HOST @\"www.amazon.com\"\n\n#define USE_SECURE_CONNECTION    1\n#define MANUALLY_EVALUATE_TRUST  1\n\n#define READ_HEADER_LINE_BY_LINE 0\n\n\n@implementation SimpleHTTPClientAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\t// AsyncSocket optionally uses the Lumberjack logging framework.\n\t// \n\t// Lumberjack is a professional logging framework. It's extremely fast and flexible.\n\t// It also uses GCD, making it a great fit for GCDAsyncSocket.\n\t// \n\t// As mentioned earlier, enabling logging in GCDAsyncSocket is entirely optional.\n\t// Doing so simply helps give you a deeper understanding of the inner workings of the library (if you care).\n\t// You can do so at the top of GCDAsyncSocket.m,\n\t// where you can also control things such as the log level,\n\t// and whether or not logging should be asynchronous (helps to improve speed, and\n\t// perfect for reducing interference with those pesky timing bugs in your code).\n\t// \n\t// There is a massive amount of documentation on the Lumberjack project page:\n\t// http://code.google.com/p/cocoalumberjack/\n\t// \n\t// But this one line is all you need to instruct Lumberjack to spit out log statements to the Xcode console.\n\t\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t\n\t// We're going to take advantage of some of Lumberjack's advanced features.\n\t//\n\t// Format log statements such that it outputs the queue/thread name.\n\t// As opposed to the not-so-helpful mach thread id.\n\t// \n\t// Old : 2011-12-05 19:54:08:161 [17894:f803] Connecting...\n\t//       2011-12-05 19:54:08:161 [17894:11f03] GCDAsyncSocket: Dispatching DNS lookup...\n\t//       2011-12-05 19:54:08:161 [17894:13303] GCDAsyncSocket: Creating IPv4 socket\n\t// \n\t// New : 2011-12-05 19:54:08:161 [main] Connecting...\n\t//       2011-12-05 19:54:08:161 [socket] GCDAsyncSocket: Dispatching DNS lookup...\n\t//       2011-12-05 19:54:08:161 [socket] GCDAsyncSocket: Creating IPv4 socket\n\t\n\tDDDispatchQueueLogFormatter *formatter = [[DDDispatchQueueLogFormatter alloc] init];\n\t[formatter setReplacementString:@\"socket\" forQueueLabel:GCDAsyncSocketQueueName];\n\t[formatter setReplacementString:@\"socket-cf\" forQueueLabel:GCDAsyncSocketThreadName];\n\t\n\t[[DDTTYLogger sharedInstance] setLogFormatter:formatter];\n\t\n\t// Start the socket stuff\n\t\n\t[self startSocket];\n}\n\n- (void)startSocket\n{\n\t// Create our GCDAsyncSocket instance.\n\t// \n\t// Notice that we give it the normal delegate AND a delegate queue.\n\t// The socket will do all of its operations in a background queue,\n\t// and you can tell it which thread/queue to invoke your delegate on.\n\t// In this case, we're just saying invoke us on the main thread.\n\t// But you can see how trivial it would be to create your own queue,\n\t// and parallelize your networking processing code by having your\n\t// delegate methods invoked and run on background queues.\n\t\n\tasyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n\t\n\t// Now we tell the ASYNCHRONOUS socket to connect.\n\t// \n\t// Recall that GCDAsyncSocket is ... asynchronous.\n\t// This means when you tell the socket to connect, it will do so ... asynchronously.\n\t// After all, do you want your main thread to block on a slow network connection?\n\t// \n\t// So what's with the BOOL return value, and error pointer?\n\t// These are for early detection of obvious problems, such as:\n\t// \n\t// - The socket is already connected.\n\t// - You passed in an invalid parameter.\n\t// - The socket isn't configured properly.\n\t// \n\t// The error message might be something like \"Attempting to connect without a delegate. Set a delegate first.\"\n\t// \n\t// When the asynchronous sockets connects, it will invoke the socket:didConnectToHost:port: delegate method.\n\t\n\tNSError *error = nil;\n\t\n\tuint16_t port = WWW_PORT;\n\tif (port == 0)\n\t{\n\t#if USE_SECURE_CONNECTION\n\t\tport = 443; // HTTPS\n\t#else\n\t\tport = 80;  // HTTP\n\t#endif\n\t}\n\t\n\tif (![asyncSocket connectToHost:WWW_HOST onPort:port error:&error])\n\t{\n\t\tDDLogError(@\"Unable to connect to due to invalid configuration: %@\", error);\n\t}\n\telse\n\t{\n\t\tDDLogVerbose(@\"Connecting to \\\"%@\\\" on port %hu...\", WWW_HOST, port);\n\t}\n\t\n#if USE_SECURE_CONNECTION\n\t\n\t// The connect method above is asynchronous.\n\t// At this point, the connection has been initiated, but hasn't completed.\n\t// When the connection is established, our socket:didConnectToHost:port: delegate method will be invoked.\n\t// \n\t// Now, for a secure connection we have to connect to the HTTPS server running on port 443.\n\t// The SSL/TLS protocol runs atop TCP, so after the connection is established we want to start the TLS handshake.\n\t// \n\t// We already know this is what we want to do.\n\t// Wouldn't it be convenient if we could tell the socket to queue the security upgrade now instead of waiting?\n\t// Well in fact you can! This is part of the queued architecture of AsyncSocket.\n\t// \n\t// After the connection has been established, AsyncSocket will look in its queue for the next task.\n\t// There it will find, dequeue and execute our request to start the TLS security protocol.\n\t// \n\t// The options passed to the startTLS method are fully documented in the GCDAsyncSocket header file.\n\t\n\t#if MANUALLY_EVALUATE_TRUST\n\t{\n\t\t// Use socket:shouldTrustPeer: delegate method for manual trust evaluation\n\t\t\n\t\tNSDictionary *options = @{\n\t\t\tGCDAsyncSocketManuallyEvaluateTrust : @(YES),\n\t\t    GCDAsyncSocketSSLPeerName : CERT_HOST\n\t\t};\n\t\t\n\t\tDDLogVerbose(@\"Requesting StartTLS with options:\\n%@\", options);\n\t\t[asyncSocket startTLS:options];\n\t}\n\t#else\n\t{\n\t\t// Use default trust evaluation, and provide basic security parameters\n\t\t\n\t\tNSDictionary *options = @{\n\t\t    GCDAsyncSocketSSLPeerName : CERT_HOST\n\t\t};\n\t\t\n\t\tDDLogVerbose(@\"Requesting StartTLS with options:\\n%@\", options);\n\t\t[asyncSocket startTLS:options];\n\t}\n\t#endif\n\t\n#endif\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port\n{\n\tDDLogVerbose(@\"socket:didConnectToHost:%@ port:%hu\", host, port);\n\t\n\t// HTTP is a really simple protocol.\n\t// \n\t// If you don't already know all about it, this is one of the best resources I know (short and sweet):\n\t// http://www.jmarshall.com/easy/http/\n\t// \n\t// We're just going to tell the server to send us the metadata (essentially) about a particular resource.\n\t// The server will send an http response, and then immediately close the connection.\n\t\n\tNSString *requestStrFrmt = @\"HEAD / HTTP/1.0\\r\\nHost: %@\\r\\nConnection: Close\\r\\n\\r\\n\";\n\t\n\tNSString *requestStr = [NSString stringWithFormat:requestStrFrmt, WWW_HOST];\n\tNSData *requestData = [requestStr dataUsingEncoding:NSUTF8StringEncoding];\n\t\n\t[asyncSocket writeData:requestData withTimeout:-1.0 tag:0];\n\t\n\tDDLogInfo(@\"Full httpRequest:\\n%@\", requestStr);\n\t\n\t// Side Note:\n\t// \n\t// The AsyncSocket family supports queued reads and writes.\n\t// \n\t// This means that you don't have to wait for the socket to connect before issuing your read or write commands.\n\t// If you do so before the socket is connected, it will simply queue the requests,\n\t// and process them after the socket is connected.\n\t// Also, you can issue multiple write commands (or read commands) at a time.\n\t// You don't have to wait for one write operation to complete before sending another write command.\n\t// \n\t// The whole point is to make YOUR code easier to write, easier to read, and easier to maintain.\n\t// Do networking stuff when it is easiest for you, or when it makes the most sense for you.\n\t// AsyncSocket adapts to your schedule, not the other way around.\n\t\n#if READ_HEADER_LINE_BY_LINE\n\t\n\t// Now we tell the socket to read the first line of the http response header.\n\t// As per the http protocol, we know each header line is terminated with a CRLF (carriage return, line feed).\n\t\n\t[asyncSocket readDataToData:[GCDAsyncSocket CRLFData] withTimeout:-1.0 tag:0];\n\t\n#else\n\t\n\t// Now we tell the socket to read the full header for the http response.\n\t// As per the http protocol, we know the header is terminated with two CRLF's (carriage return, line feed).\n\t\n\tNSData *responseTerminatorData = [@\"\\r\\n\\r\\n\" dataUsingEncoding:NSASCIIStringEncoding];\n\n\t[asyncSocket readDataToData:responseTerminatorData withTimeout:-1.0 tag:0];\n\t\n#endif\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didReceiveTrust:(SecTrustRef)trust\n                                    completionHandler:(void (^)(BOOL shouldTrustPeer))completionHandler\n{\n\tDDLogVerbose(@\"socket:shouldTrustPeer:\");\n\t\n\tdispatch_queue_t bgQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n\tdispatch_async(bgQueue, ^{\n\t\t\n\t\t// This is where you would (eventually) invoke SecTrustEvaluate.\n\t\t// Presumably, if you're using manual trust evaluation, you're likely doing extra stuff here.\n\t\t// For example, allowing a specific self-signed certificate that is known to the app.\n\t\t\n\t\tSecTrustResultType result = kSecTrustResultDeny;\n\t\tOSStatus status = SecTrustEvaluate(trust, &result);\n\t\t\n\t\tif (status == noErr && (result == kSecTrustResultProceed || result == kSecTrustResultUnspecified)) {\n\t\t\tcompletionHandler(YES);\n\t\t}\n\t\telse {\n\t\t\tcompletionHandler(NO);\n\t\t}\n\t});\n}\n\n- (void)socketDidSecure:(GCDAsyncSocket *)sock\n{\n\t// This method will be called if USE_SECURE_CONNECTION is set\n\t\n\tDDLogVerbose(@\"socketDidSecure:\");\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag\n{\n\tDDLogVerbose(@\"socket:didWriteDataWithTag:\");\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag\n{\n\tDDLogVerbose(@\"socket:didReadData:withTag:\");\n\t\n\tNSString *httpResponse = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\t\n#if READ_HEADER_LINE_BY_LINE\n\t\n\tDDLogInfo(@\"Line httpResponse: %@\", httpResponse);\n\t\n\t// As per the http protocol, we know the header is terminated with two CRLF's.\n\t// In other words, an empty line.\n\t\n\tif ([data length] == 2) // 2 bytes = CRLF\n\t{\n\t\tDDLogInfo(@\"<done>\");\n\t}\n\telse\n\t{\n\t\t// Read the next line of the header\n\t\t[asyncSocket readDataToData:[GCDAsyncSocket CRLFData] withTimeout:-1.0 tag:0];\n\t}\n\t\n#else\n\t\n\tDDLogInfo(@\"Full httpResponse:\\n%@\", httpResponse);\n\t\n#endif\n\t\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err\n{\n\t// Since we requested HTTP/1.0, we expect the server to close the connection as soon as it has sent the response.\n\t\n\tDDLogVerbose(@\"socketDidDisconnect:%p withError:%@\", sock, err);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Desktop/SimpleHTTPClient/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Desktop/SimpleHTTPClient/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Desktop/SimpleHTTPClient/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">SimpleHTTPClient</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">SimpleHTTPClient</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About SimpleHTTPClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide SimpleHTTPClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit SimpleHTTPClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">SimpleHTTPClient Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">SimpleHTTPClient</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">SimpleHTTPClientAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">SimpleHTTPClientAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">SimpleHTTPClientAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../SimpleHTTPClient.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Desktop/SimpleHTTPClient/main.m",
    "content": "//\n//  main.m\n//  SimpleHTTPClient\n//\n//  Created by Robbie Hanson on 7/5/11.\n//  Copyright 2011 __MyCompanyName__. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n\treturn NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Desktop/SimpleHTTPClient.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C3282F186CDC0E00F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3282A186CDC0E00F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C32830186CDC0E00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3282C186CDC0E00F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C32831186CDC0E00F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3282E186CDC0E00F6D762 /* DDMultiFormatter.m */; };\n\t\tDC80CA0013C3978F00D29D06 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC80C9FF13C3978F00D29D06 /* Cocoa.framework */; };\n\t\tDC80CA0A13C3978F00D29D06 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC80CA0813C3978F00D29D06 /* InfoPlist.strings */; };\n\t\tDC80CA0D13C3978F00D29D06 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC80CA0C13C3978F00D29D06 /* main.m */; };\n\t\tDC80CA1013C3978F00D29D06 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC80CA0E13C3978F00D29D06 /* Credits.rtf */; };\n\t\tDC80CA1313C3978F00D29D06 /* SimpleHTTPClientAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC80CA1213C3978F00D29D06 /* SimpleHTTPClientAppDelegate.m */; };\n\t\tDC80CA1613C3978F00D29D06 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC80CA1413C3978F00D29D06 /* MainMenu.xib */; };\n\t\tDC80CA2813C3B0AC00D29D06 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC80CA2713C3B0AC00D29D06 /* Security.framework */; };\n\t\tDC80CA7813C3B55800D29D06 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC80CA7713C3B55800D29D06 /* GCDAsyncSocket.m */; };\n\t\tDC90ABE51477449F0022DF52 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABD61477449F0022DF52 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC90ABE61477449F0022DF52 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABD81477449F0022DF52 /* DDASLLogger.m */; };\n\t\tDC90ABE71477449F0022DF52 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABDA1477449F0022DF52 /* DDFileLogger.m */; };\n\t\tDC90ABE81477449F0022DF52 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABDC1477449F0022DF52 /* DDLog.m */; };\n\t\tDC90ABE91477449F0022DF52 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC90ABDE1477449F0022DF52 /* DDTTYLogger.m */; };\n\t\tDC90ABEC1477449F0022DF52 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC90ABE41477449F0022DF52 /* README.txt */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C32828186CDC0300F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = \"DDLog+LOGV.h\"; path = \"../../../../Vendor/CocoaLumberjack/DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C32829186CDC0E00F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3282A186CDC0E00F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C3282B186CDC0E00F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3282C186CDC0E00F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C3282D186CDC0E00F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3282E186CDC0E00F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDC80C9FB13C3978F00D29D06 /* SimpleHTTPClient.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SimpleHTTPClient.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC80C9FF13C3978F00D29D06 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC80CA0213C3978F00D29D06 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC80CA0313C3978F00D29D06 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC80CA0413C3978F00D29D06 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC80CA0713C3978F00D29D06 /* SimpleHTTPClient-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"SimpleHTTPClient-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC80CA0913C3978F00D29D06 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC80CA0B13C3978F00D29D06 /* SimpleHTTPClient-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"SimpleHTTPClient-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC80CA0C13C3978F00D29D06 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC80CA0F13C3978F00D29D06 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC80CA1113C3978F00D29D06 /* SimpleHTTPClientAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SimpleHTTPClientAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC80CA1213C3978F00D29D06 /* SimpleHTTPClientAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SimpleHTTPClientAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC80CA1513C3978F00D29D06 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDC80CA2713C3B0AC00D29D06 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n\t\tDC80CA7613C3B55800D29D06 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncSocket.h; path = ../../../GCDAsyncSocket.h; sourceTree = \"<group>\"; };\n\t\tDC80CA7713C3B55800D29D06 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocket.m; path = ../../../GCDAsyncSocket.m; sourceTree = \"<group>\"; };\n\t\tDC90ABD51477449F0022DF52 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90ABD61477449F0022DF52 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABD71477449F0022DF52 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90ABD81477449F0022DF52 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABD91477449F0022DF52 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90ABDA1477449F0022DF52 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABDB1477449F0022DF52 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = ../../../../Vendor/CocoaLumberjack/DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC90ABDC1477449F0022DF52 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = ../../../../Vendor/CocoaLumberjack/DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC90ABDD1477449F0022DF52 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC90ABDE1477449F0022DF52 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC90ABE41477449F0022DF52 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC80C9F813C3978F00D29D06 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC80CA2813C3B0AC00D29D06 /* Security.framework in Frameworks */,\n\t\t\t\tDC80CA0013C3978F00D29D06 /* Cocoa.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC80C9F013C3978F00D29D06 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA2013C398B200D29D06 /* Logging */,\n\t\t\t\tDC80CA1C13C3984700D29D06 /* TCP */,\n\t\t\t\tDC80CA0513C3978F00D29D06 /* SimpleHTTPClient */,\n\t\t\t\tDC80C9FE13C3978F00D29D06 /* Frameworks */,\n\t\t\t\tDC80C9FC13C3978F00D29D06 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80C9FC13C3978F00D29D06 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80C9FB13C3978F00D29D06 /* SimpleHTTPClient.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80C9FE13C3978F00D29D06 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80C9FF13C3978F00D29D06 /* Cocoa.framework */,\n\t\t\t\tDC80CA2713C3B0AC00D29D06 /* Security.framework */,\n\t\t\t\tDC80CA0113C3978F00D29D06 /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA0113C3978F00D29D06 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA0213C3978F00D29D06 /* AppKit.framework */,\n\t\t\t\tDC80CA0313C3978F00D29D06 /* CoreData.framework */,\n\t\t\t\tDC80CA0413C3978F00D29D06 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA0513C3978F00D29D06 /* SimpleHTTPClient */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA1113C3978F00D29D06 /* SimpleHTTPClientAppDelegate.h */,\n\t\t\t\tDC80CA1213C3978F00D29D06 /* SimpleHTTPClientAppDelegate.m */,\n\t\t\t\tDC80CA1413C3978F00D29D06 /* MainMenu.xib */,\n\t\t\t\tDC80CA0613C3978F00D29D06 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = SimpleHTTPClient;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA0613C3978F00D29D06 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA0713C3978F00D29D06 /* SimpleHTTPClient-Info.plist */,\n\t\t\t\tDC80CA0813C3978F00D29D06 /* InfoPlist.strings */,\n\t\t\t\tDC80CA0B13C3978F00D29D06 /* SimpleHTTPClient-Prefix.pch */,\n\t\t\t\tDC80CA0C13C3978F00D29D06 /* main.m */,\n\t\t\t\tDC80CA0E13C3978F00D29D06 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA1C13C3984700D29D06 /* TCP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA7613C3B55800D29D06 /* GCDAsyncSocket.h */,\n\t\t\t\tDC80CA7713C3B55800D29D06 /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = TCP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA2013C398B200D29D06 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC90ABD51477449F0022DF52 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC90ABD61477449F0022DF52 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC90ABD71477449F0022DF52 /* DDASLLogger.h */,\n\t\t\t\tDC90ABD81477449F0022DF52 /* DDASLLogger.m */,\n\t\t\t\tDC90ABD91477449F0022DF52 /* DDFileLogger.h */,\n\t\t\t\tDC90ABDA1477449F0022DF52 /* DDFileLogger.m */,\n\t\t\t\tDC90ABDB1477449F0022DF52 /* DDLog.h */,\n\t\t\t\tDC90ABDC1477449F0022DF52 /* DDLog.m */,\n\t\t\t\t11C32828186CDC0300F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC90ABDD1477449F0022DF52 /* DDTTYLogger.h */,\n\t\t\t\tDC90ABDE1477449F0022DF52 /* DDTTYLogger.m */,\n\t\t\t\tDC90ABDF1477449F0022DF52 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC90ABDF1477449F0022DF52 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C32829186CDC0E00F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C3282A186CDC0E00F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C3282B186CDC0E00F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C3282C186CDC0E00F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C3282D186CDC0E00F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C3282E186CDC0E00F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC90ABE41477449F0022DF52 /* README.txt */,\n\t\t\t);\n\t\t\tname = Extensions;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack/Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC80C9FA13C3978F00D29D06 /* SimpleHTTPClient */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC80CA1913C3978F00D29D06 /* Build configuration list for PBXNativeTarget \"SimpleHTTPClient\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC80C9F713C3978F00D29D06 /* Sources */,\n\t\t\t\tDC80C9F813C3978F00D29D06 /* Frameworks */,\n\t\t\t\tDC80C9F913C3978F00D29D06 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = SimpleHTTPClient;\n\t\t\tproductName = SimpleHTTPClient;\n\t\t\tproductReference = DC80C9FB13C3978F00D29D06 /* SimpleHTTPClient.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC80C9F213C3978F00D29D06 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0510;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC80C9F513C3978F00D29D06 /* Build configuration list for PBXProject \"SimpleHTTPClient\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC80C9F013C3978F00D29D06;\n\t\t\tproductRefGroup = DC80C9FC13C3978F00D29D06 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC80C9FA13C3978F00D29D06 /* SimpleHTTPClient */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC80C9F913C3978F00D29D06 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC80CA0A13C3978F00D29D06 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC80CA1013C3978F00D29D06 /* Credits.rtf in Resources */,\n\t\t\t\tDC80CA1613C3978F00D29D06 /* MainMenu.xib in Resources */,\n\t\t\t\tDC90ABEC1477449F0022DF52 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC80C9F713C3978F00D29D06 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC80CA0D13C3978F00D29D06 /* main.m in Sources */,\n\t\t\t\tDC80CA1313C3978F00D29D06 /* SimpleHTTPClientAppDelegate.m in Sources */,\n\t\t\t\tDC80CA7813C3B55800D29D06 /* GCDAsyncSocket.m in Sources */,\n\t\t\t\t11C3282F186CDC0E00F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC90ABE51477449F0022DF52 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDC90ABE61477449F0022DF52 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC90ABE71477449F0022DF52 /* DDFileLogger.m in Sources */,\n\t\t\t\t11C32831186CDC0E00F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\t11C32830186CDC0E00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDC90ABE81477449F0022DF52 /* DDLog.m in Sources */,\n\t\t\t\tDC90ABE91477449F0022DF52 /* DDTTYLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC80CA0813C3978F00D29D06 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA0913C3978F00D29D06 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA0E13C3978F00D29D06 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA0F13C3978F00D29D06 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA1413C3978F00D29D06 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA1513C3978F00D29D06 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC80CA1713C3978F00D29D06 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN_OBJC_RECEIVER_WEAK = YES;\n\t\t\t\tCLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = DEBUG;\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.9;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC80CA1813C3978F00D29D06 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN_OBJC_RECEIVER_WEAK = YES;\n\t\t\t\tCLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_NEWLINE = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;\n\t\t\t\tGCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNKNOWN_PRAGMAS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_LABEL = YES;\n\t\t\t\tGCC_WARN_UNUSED_VALUE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.9;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC80CA1A13C3978F00D29D06 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"SimpleHTTPClient/SimpleHTTPClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"SimpleHTTPClient/SimpleHTTPClient-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC80CA1B13C3978F00D29D06 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"SimpleHTTPClient/SimpleHTTPClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"SimpleHTTPClient/SimpleHTTPClient-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC80C9F513C3978F00D29D06 /* Build configuration list for PBXProject \"SimpleHTTPClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC80CA1713C3978F00D29D06 /* Debug */,\n\t\t\t\tDC80CA1813C3978F00D29D06 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC80CA1913C3978F00D29D06 /* Build configuration list for PBXNativeTarget \"SimpleHTTPClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC80CA1A13C3978F00D29D06 /* Debug */,\n\t\t\t\tDC80CA1B13C3978F00D29D06 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC80C9F213C3978F00D29D06 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/SimpleHTTPClient-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSMainNibFile</key>\n\t<string>MainWindow</string>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/SimpleHTTPClient-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'SimpleHTTPClient' target in the 'SimpleHTTPClient' project\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_3_0\n#warning \"This project uses features only available in iPhone SDK 3.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n\t#import <UIKit/UIKit.h>\n\t#import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/SimpleHTTPClientAppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class SimpleHTTPClientViewController;\n@class GCDAsyncSocket;\n\n\n@interface SimpleHTTPClientAppDelegate : NSObject <UIApplicationDelegate>\n{\n\tGCDAsyncSocket *asyncSocket;\n}\n\n@property (nonatomic) IBOutlet UIWindow *window;\n@property (nonatomic) IBOutlet SimpleHTTPClientViewController *viewController;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/SimpleHTTPClientAppDelegate.m",
    "content": "#import \"SimpleHTTPClientAppDelegate.h\"\n#import \"SimpleHTTPClientViewController.h\"\n#import \"GCDAsyncSocket.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n#import \"DDDispatchQueueLogFormatter.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n#define  WWW_PORT 0  // 0 => automatic\n#define  WWW_HOST @\"www.amazon.com\"\n#define CERT_HOST @\"www.amazon.com\"\n\n#define USE_SECURE_CONNECTION    1\n#define USE_CFSTREAM_FOR_TLS     0 // Use old-school CFStream style technique\n#define MANUALLY_EVALUATE_TRUST  1\n\n#define READ_HEADER_LINE_BY_LINE 0\n\n\n@implementation SimpleHTTPClientAppDelegate\n\n@synthesize window = _window;\n@synthesize viewController = _viewController;\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n\t// AsyncSocket optionally uses the Lumberjack logging framework.\n\t// \n\t// Lumberjack is a professional logging framework. It's extremely fast and flexible.\n\t// It also uses GCD, making it a great fit for GCDAsyncSocket.\n\t// \n\t// As mentioned earlier, enabling logging in GCDAsyncSocket is entirely optional.\n\t// Doing so simply helps give you a deeper understanding of the inner workings of the library (if you care).\n\t// You can do so at the top of GCDAsyncSocket.m,\n\t// where you can also control things such as the log level,\n\t// and whether or not logging should be asynchronous (helps to improve speed, and\n\t// perfect for reducing interference with those pesky timing bugs in your code).\n\t// \n\t// There is a massive amount of documentation on the Lumberjack project page:\n\t// http://code.google.com/p/cocoalumberjack/\n\t// \n\t// But this one line is all you need to instruct Lumberjack to spit out log statements to the Xcode console.\n\t\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t\n\t// We're going to take advantage of some of Lumberjack's advanced features.\n\t//\n\t// Format log statements such that it outputs the queue/thread name.\n\t// As opposed to the not-so-helpful mach thread id.\n\t// \n\t// Old : 2011-12-05 19:54:08:161 [17894:f803] Connecting...\n\t//       2011-12-05 19:54:08:161 [17894:11f03] GCDAsyncSocket: Dispatching DNS lookup...\n\t//       2011-12-05 19:54:08:161 [17894:13303] GCDAsyncSocket: Creating IPv4 socket\n\t// \n\t// New : 2011-12-05 19:54:08:161 [main] Connecting...\n\t//       2011-12-05 19:54:08:161 [socket] GCDAsyncSocket: Dispatching DNS lookup...\n\t//       2011-12-05 19:54:08:161 [socket] GCDAsyncSocket: Creating IPv4 socket\n\t\n\tDDDispatchQueueLogFormatter *formatter = [[DDDispatchQueueLogFormatter alloc] init];\n\t[formatter setReplacementString:@\"socket\" forQueueLabel:GCDAsyncSocketQueueName];\n\t[formatter setReplacementString:@\"socket-cf\" forQueueLabel:GCDAsyncSocketThreadName];\n\t\n\t[[DDTTYLogger sharedInstance] setLogFormatter:formatter];\n\t\n\t// Start the socket stuff\n\t\n\t[self startSocket];\n\t\n\t// Normal iOS stuff...\n\t\n\tself.window.rootViewController = self.viewController;\n\t[self.window makeKeyAndVisible];\n    return YES;\n}\n\n- (void)startSocket\n{\n\t// Create our GCDAsyncSocket instance.\n\t// \n\t// Notice that we give it the normal delegate AND a delegate queue.\n\t// The socket will do all of its operations in a background queue,\n\t// and you can tell it which thread/queue to invoke your delegate on.\n\t// In this case, we're just saying invoke us on the main thread.\n\t// But you can see how trivial it would be to create your own queue,\n\t// and parallelize your networking processing code by having your\n\t// delegate methods invoked and run on background queues.\n\t\n\tasyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n\t\n\t// Now we tell the ASYNCHRONOUS socket to connect.\n\t// \n\t// Recall that GCDAsyncSocket is ... asynchronous.\n\t// This means when you tell the socket to connect, it will do so ... asynchronously.\n\t// After all, do you want your main thread to block on a slow network connection?\n\t// \n\t// So what's with the BOOL return value, and error pointer?\n\t// These are for early detection of obvious problems, such as:\n\t// \n\t// - The socket is already connected.\n\t// - You passed in an invalid parameter.\n\t// - The socket isn't configured properly.\n\t// \n\t// The error message might be something like \"Attempting to connect without a delegate. Set a delegate first.\"\n\t// \n\t// When the asynchronous sockets connects, it will invoke the socket:didConnectToHost:port: delegate method.\n\t\n\tNSError *error = nil;\n\t\n\tuint16_t port = WWW_PORT;\n\tif (port == 0)\n\t{\n\t#if USE_SECURE_CONNECTION\n\t\tport = 443; // HTTPS\n\t#else\n\t\tport = 80;  // HTTP\n\t#endif\n\t}\n\t\n\tif (![asyncSocket connectToHost:WWW_HOST onPort:port error:&error])\n\t{\n\t\tDDLogError(@\"Unable to connect to due to invalid configuration: %@\", error);\n\t}\n\telse\n\t{\n\t\tDDLogVerbose(@\"Connecting to \\\"%@\\\" on port %hu...\", WWW_HOST, port);\n\t}\n\t\n#if USE_SECURE_CONNECTION\n\t\n\t// The connect method above is asynchronous.\n\t// At this point, the connection has been initiated, but hasn't completed.\n\t// When the connection is established, our socket:didConnectToHost:port: delegate method will be invoked.\n\t// \n\t// Now, for a secure connection we have to connect to the HTTPS server running on port 443.\n\t// The SSL/TLS protocol runs atop TCP, so after the connection is established we want to start the TLS handshake.\n\t// \n\t// We already know this is what we want to do.\n\t// Wouldn't it be convenient if we could tell the socket to queue the security upgrade now instead of waiting?\n\t// Well in fact you can! This is part of the queued architecture of AsyncSocket.\n\t// \n\t// After the connection has been established, AsyncSocket will look in its queue for the next task.\n\t// There it will find, dequeue and execute our request to start the TLS security protocol.\n\t// \n\t// The options passed to the startTLS method are fully documented in the GCDAsyncSocket header file.\n\t\n\t#if USE_CFSTREAM_FOR_TLS\n\t{\n\t\t// Use old-school CFStream style technique\n\t\t\n\t\tNSDictionary *options = @{\n\t\t    GCDAsyncSocketUseCFStreamForTLS : @(YES),\n\t\t\tGCDAsyncSocketSSLPeerName : CERT_HOST\n\t\t};\n\t\t\n\t\tDDLogVerbose(@\"Requesting StartTLS with options:\\n%@\", options);\n\t\t[asyncSocket startTLS:options];\n\t}\n\t#elif MANUALLY_EVALUATE_TRUST\n\t{\n\t\t// Use socket:didReceiveTrust:completionHandler: delegate method for manual trust evaluation\n\t\t\n\t\tNSDictionary *options = @{\n\t\t\tGCDAsyncSocketManuallyEvaluateTrust : @(YES),\n\t\t\tGCDAsyncSocketSSLPeerName : CERT_HOST\n\t\t};\n\t\t\n\t\tDDLogVerbose(@\"Requesting StartTLS with options:\\n%@\", options);\n\t\t[asyncSocket startTLS:options];\n\t}\n\t#else\n\t{\n\t\t// Use default trust evaluation, and provide basic security parameters\n\t\t\n\t\tNSDictionary *options = @{\n\t\t    GCDAsyncSocketSSLPeerName : CERT_HOST\n\t\t};\n\t\t\n\t\tDDLogVerbose(@\"Requesting StartTLS with options:\\n%@\", options);\n\t\t[asyncSocket startTLS:options];\n\t}\n\t#endif\n\t\n#endif\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port\n{\n\tDDLogVerbose(@\"socket:didConnectToHost:%@ port:%hu\", host, port);\n\t\n\t// HTTP is a really simple protocol.\n\t// \n\t// If you don't already know all about it, this is one of the best resources I know (short and sweet):\n\t// http://www.jmarshall.com/easy/http/\n\t// \n\t// We're just going to tell the server to send us the metadata (essentially) about a particular resource.\n\t// The server will send an http response, and then immediately close the connection.\n\t\n\tNSString *requestStrFrmt = @\"HEAD / HTTP/1.0\\r\\nHost: %@\\r\\n\\r\\n\";\n\n\tNSString *requestStr = [NSString stringWithFormat:requestStrFrmt, WWW_HOST];\n\tNSData *requestData = [requestStr dataUsingEncoding:NSUTF8StringEncoding];\n\n\t[asyncSocket writeData:requestData withTimeout:-1.0 tag:0];\n\n\tDDLogVerbose(@\"Sending HTTP Request:\\n%@\", requestStr);\n\t\n\t// Side Note:\n\t// \n\t// The AsyncSocket family supports queued reads and writes.\n\t// \n\t// This means that you don't have to wait for the socket to connect before issuing your read or write commands.\n\t// If you do so before the socket is connected, it will simply queue the requests,\n\t// and process them after the socket is connected.\n\t// Also, you can issue multiple write commands (or read commands) at a time.\n\t// You don't have to wait for one write operation to complete before sending another write command.\n\t// \n\t// The whole point is to make YOUR code easier to write, easier to read, and easier to maintain.\n\t// Do networking stuff when it is easiest for you, or when it makes the most sense for you.\n\t// AsyncSocket adapts to your schedule, not the other way around.\n\t\n#if READ_HEADER_LINE_BY_LINE\n\t\n\t// Now we tell the socket to read the first line of the http response header.\n\t// As per the http protocol, we know each header line is terminated with a CRLF (carriage return, line feed).\n\t\n\t[asyncSocket readDataToData:[GCDAsyncSocket CRLFData] withTimeout:-1.0 tag:0];\n\t\n#else\n\t\n\t// Now we tell the socket to read the full header for the http response.\n\t// As per the http protocol, we know the header is terminated with two CRLF's (carriage return, line feed).\n\t\n\tNSData *responseTerminatorData = [@\"\\r\\n\\r\\n\" dataUsingEncoding:NSASCIIStringEncoding];\n\n\t[asyncSocket readDataToData:responseTerminatorData withTimeout:-1.0 tag:0];\n\t\n#endif\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didReceiveTrust:(SecTrustRef)trust\n                                    completionHandler:(void (^)(BOOL shouldTrustPeer))completionHandler\n{\n\tDDLogVerbose(@\"socket:shouldTrustPeer:\");\n\t\n\tdispatch_queue_t bgQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n\tdispatch_async(bgQueue, ^{\n\t\t\n\t\t// This is where you would (eventually) invoke SecTrustEvaluate.\n\t\t// Presumably, if you're using manual trust evaluation, you're likely doing extra stuff here.\n\t\t// For example, allowing a specific self-signed certificate that is known to the app.\n\t\t\n\t\tSecTrustResultType result = kSecTrustResultDeny;\n\t\tOSStatus status = SecTrustEvaluate(trust, &result);\n\t\t\n\t\tif (status == noErr && (result == kSecTrustResultProceed || result == kSecTrustResultUnspecified)) {\n\t\t\tcompletionHandler(YES);\n\t\t}\n\t\telse {\n\t\t\tcompletionHandler(NO);\n\t\t}\n\t});\n}\n\n- (void)socketDidSecure:(GCDAsyncSocket *)sock\n{\n\t// This method will be called if USE_SECURE_CONNECTION is set\n\t\n\tDDLogVerbose(@\"socketDidSecure:\");\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag\n{\n\tDDLogVerbose(@\"socket:didWriteDataWithTag:\");\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag\n{\n\tDDLogVerbose(@\"socket:didReadData:withTag:\");\n\t\n\tNSString *httpResponse = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\t\n#if READ_HEADER_LINE_BY_LINE\n\t\n\tDDLogInfo(@\"Line httpResponse: %@\", httpResponse);\n\t\n\t// As per the http protocol, we know the header is terminated with two CRLF's.\n\t// In other words, an empty line.\n\t\n\tif ([data length] == 2) // 2 bytes = CRLF\n\t{\n\t\tDDLogInfo(@\"<done>\");\n\t}\n\telse\n\t{\n\t\t// Read the next line of the header\n\t\t[asyncSocket readDataToData:[GCDAsyncSocket CRLFData] withTimeout:-1.0 tag:0];\n\t}\n\t\n#else\n\t\n\tDDLogInfo(@\"Full HTTP Response:\\n%@\", httpResponse);\n\t\n#endif\n\t\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err\n{\n\t// Since we requested HTTP/1.0, we expect the server to close the connection as soon as it has sent the response.\n\t\n\tDDLogVerbose(@\"socketDidDisconnect:withError: \\\"%@\\\"\", err);\n}\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/SimpleHTTPClientViewController.h",
    "content": "#import <UIKit/UIKit.h>\n\n\n@interface SimpleHTTPClientViewController : UIViewController {\n    \n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/SimpleHTTPClientViewController.m",
    "content": "#import \"SimpleHTTPClientViewController.h\"\n\n\n@implementation SimpleHTTPClientViewController\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/en.lproj/MainWindow.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1024</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10D571</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">786</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.29</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">460.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">112</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"10\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"841351856\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"427554174\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUICustomObject\" id=\"664661524\">\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIViewController\" id=\"943309135\">\n\t\t\t\t<string key=\"IBUINibName\">SimpleHTTPClientViewController</string>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<object class=\"IBUISimulatedOrientationMetrics\" key=\"IBUISimulatedOrientationMetrics\">\n\t\t\t\t\t<int key=\"interfaceOrientation\">1</int>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIHorizontal\">NO</bool>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIWindow\" id=\"117978783\">\n\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 480}</string>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t<bytes key=\"NSRGB\">MSAxIDEAA</bytes>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIResizesToFullScreen\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"664661524\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">4</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">viewController</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"943309135\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">11</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117978783\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">14</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">SimpleHTTPClient App Delegate</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"427554174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"943309135\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">12</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117978783\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>10.CustomClassName</string>\n\t\t\t\t\t<string>10.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>10.IBPluginDependency</string>\n\t\t\t\t\t<string>12.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>12.IBPluginDependency</string>\n\t\t\t\t\t<string>3.CustomClassName</string>\n\t\t\t\t\t<string>3.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>UIApplication</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>SimpleHTTPClientViewController</string>\n\t\t\t\t\t<string>{{234, 376}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>{{525, 346}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>SimpleHTTPClientAppDelegate</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">15</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">SimpleHTTPClientAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>SimpleHTTPClientViewController</string>\n\t\t\t\t\t\t\t<string>UIWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">viewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">SimpleHTTPClientViewController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">UIWindow</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">SimpleHTTPClientAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">SimpleHTTPClientAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">SimpleHTTPClientViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">SimpleHTTPClientViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"356479594\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"356479594\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchBar</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchBar.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchDisplayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchDisplayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITextField.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINavigationController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIPopoverController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISplitViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITabBarController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>\n\t\t\t<integer value=\"1024\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">SimpleHTTPClient.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">112</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/en.lproj/SimpleHTTPClientViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">800</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10C540</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">759</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.25</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">458.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">77</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"6\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 460}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>6.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>6.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>SimpleHTTPClientViewController</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>{{239, 654}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">7</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">SimpleHTTPClientViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">SimpleHTTPClientViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">SimpleHTTPClient.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">77</string>\n\t\t<nil key=\"IBCocoaTouchSimulationTargetRuntimeIdentifier\"/>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient/main.m",
    "content": "//\n//  main.m\n//  SimpleHTTPClient\n//\n//  Created by Robbie Hanson on 7/5/11.\n//  Copyright 2011 __MyCompanyName__. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\nint main(int argc, char *argv[])\n{\n\t@autoreleasepool {\n\t\tint retVal = UIApplicationMain(argc, argv, nil, nil);\n\t\treturn retVal;\n\t}\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/Mobile/SimpleHTTPClient.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C32839186CDC6200F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32834186CDC6200F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C3283A186CDC6200F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32836186CDC6200F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C3283B186CDC6200F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32838186CDC6200F6D762 /* DDMultiFormatter.m */; };\n\t\tDC4B0BB2151D48DE000985E5 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC4B0BA3151D48DE000985E5 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC4B0BB3151D48DE000985E5 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC4B0BA5151D48DE000985E5 /* DDASLLogger.m */; };\n\t\tDC4B0BB4151D48DE000985E5 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC4B0BA7151D48DE000985E5 /* DDFileLogger.m */; };\n\t\tDC4B0BB5151D48DE000985E5 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC4B0BA9151D48DE000985E5 /* DDLog.m */; };\n\t\tDC4B0BB6151D48DE000985E5 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC4B0BAB151D48DE000985E5 /* DDTTYLogger.m */; };\n\t\tDC4B0BB9151D48DE000985E5 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC4B0BB1151D48DE000985E5 /* README.txt */; };\n\t\tDC80CA3913C3B43F00D29D06 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC80CA3813C3B43F00D29D06 /* UIKit.framework */; };\n\t\tDC80CA3B13C3B43F00D29D06 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC80CA3A13C3B43F00D29D06 /* Foundation.framework */; };\n\t\tDC80CA3D13C3B43F00D29D06 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC80CA3C13C3B43F00D29D06 /* CoreGraphics.framework */; };\n\t\tDC80CA4313C3B43F00D29D06 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC80CA4113C3B43F00D29D06 /* InfoPlist.strings */; };\n\t\tDC80CA4613C3B43F00D29D06 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC80CA4513C3B43F00D29D06 /* main.m */; };\n\t\tDC80CA4913C3B43F00D29D06 /* SimpleHTTPClientAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC80CA4813C3B43F00D29D06 /* SimpleHTTPClientAppDelegate.m */; };\n\t\tDC80CA4C13C3B43F00D29D06 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC80CA4A13C3B43F00D29D06 /* MainWindow.xib */; };\n\t\tDC80CA4F13C3B43F00D29D06 /* SimpleHTTPClientViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DC80CA4E13C3B43F00D29D06 /* SimpleHTTPClientViewController.m */; };\n\t\tDC80CA5213C3B43F00D29D06 /* SimpleHTTPClientViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC80CA5013C3B43F00D29D06 /* SimpleHTTPClientViewController.xib */; };\n\t\tDC80CA6D13C3B4AA00D29D06 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC80CA6C13C3B4AA00D29D06 /* CFNetwork.framework */; };\n\t\tDC80CAA313C3B94B00D29D06 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC80CAA213C3B94B00D29D06 /* GCDAsyncSocket.m */; };\n\t\tDC825153163AFEC100D95D37 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DC825152163AFEC100D95D37 /* Default-568h@2x.png */; };\n\t\tDCFF8C051529676500448078 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFF8C041529676500448078 /* Security.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C32832186CDC5700F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = \"DDLog+LOGV.h\"; path = \"../../../../Vendor/CocoaLumberjack/DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C32833186CDC6200F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32834186CDC6200F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32835186CDC6200F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32836186CDC6200F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32837186CDC6200F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32838186CDC6200F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDC4B0BA2151D48DE000985E5 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC4B0BA3151D48DE000985E5 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC4B0BA4151D48DE000985E5 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC4B0BA5151D48DE000985E5 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC4B0BA6151D48DE000985E5 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC4B0BA7151D48DE000985E5 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC4B0BA8151D48DE000985E5 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = ../../../../Vendor/CocoaLumberjack/DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC4B0BA9151D48DE000985E5 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = ../../../../Vendor/CocoaLumberjack/DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC4B0BAA151D48DE000985E5 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = ../../../../Vendor/CocoaLumberjack/DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC4B0BAB151D48DE000985E5 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = ../../../../Vendor/CocoaLumberjack/DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC4B0BB1151D48DE000985E5 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n\t\tDC80CA3413C3B43F00D29D06 /* SimpleHTTPClient.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SimpleHTTPClient.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC80CA3813C3B43F00D29D06 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\tDC80CA3A13C3B43F00D29D06 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC80CA3C13C3B43F00D29D06 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tDC80CA4013C3B43F00D29D06 /* SimpleHTTPClient-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"SimpleHTTPClient-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC80CA4213C3B43F00D29D06 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC80CA4413C3B43F00D29D06 /* SimpleHTTPClient-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"SimpleHTTPClient-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC80CA4513C3B43F00D29D06 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC80CA4713C3B43F00D29D06 /* SimpleHTTPClientAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SimpleHTTPClientAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC80CA4813C3B43F00D29D06 /* SimpleHTTPClientAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SimpleHTTPClientAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC80CA4B13C3B43F00D29D06 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = \"<group>\"; };\n\t\tDC80CA4D13C3B43F00D29D06 /* SimpleHTTPClientViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SimpleHTTPClientViewController.h; sourceTree = \"<group>\"; };\n\t\tDC80CA4E13C3B43F00D29D06 /* SimpleHTTPClientViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SimpleHTTPClientViewController.m; sourceTree = \"<group>\"; };\n\t\tDC80CA5113C3B43F00D29D06 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/SimpleHTTPClientViewController.xib; sourceTree = \"<group>\"; };\n\t\tDC80CA6C13C3B4AA00D29D06 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };\n\t\tDC80CAA113C3B94B00D29D06 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncSocket.h; path = ../../../GCDAsyncSocket.h; sourceTree = \"<group>\"; };\n\t\tDC80CAA213C3B94B00D29D06 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocket.m; path = ../../../GCDAsyncSocket.m; sourceTree = \"<group>\"; };\n\t\tDC825152163AFEC100D95D37 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = \"Default-568h@2x.png\"; path = \"../Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n\t\tDCFF8C041529676500448078 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC80CA3113C3B43F00D29D06 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCFF8C051529676500448078 /* Security.framework in Frameworks */,\n\t\t\t\tDC80CA6D13C3B4AA00D29D06 /* CFNetwork.framework in Frameworks */,\n\t\t\t\tDC80CA3913C3B43F00D29D06 /* UIKit.framework in Frameworks */,\n\t\t\t\tDC80CA3B13C3B43F00D29D06 /* Foundation.framework in Frameworks */,\n\t\t\t\tDC80CA3D13C3B43F00D29D06 /* CoreGraphics.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC4B0BAC151D48DE000985E5 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C32833186CDC6200F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C32834186CDC6200F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C32835186CDC6200F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C32836186CDC6200F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C32837186CDC6200F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C32838186CDC6200F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC4B0BB1151D48DE000985E5 /* README.txt */,\n\t\t\t);\n\t\t\tname = Extensions;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack/Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA2913C3B43F00D29D06 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA5813C3B44900D29D06 /* Logging */,\n\t\t\t\tDC80CA6813C3B47300D29D06 /* TCP */,\n\t\t\t\tDC80CA3E13C3B43F00D29D06 /* SimpleHTTPClient */,\n\t\t\t\tDC80CA3713C3B43F00D29D06 /* Frameworks */,\n\t\t\t\tDC80CA3513C3B43F00D29D06 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA3513C3B43F00D29D06 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA3413C3B43F00D29D06 /* SimpleHTTPClient.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA3713C3B43F00D29D06 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA3813C3B43F00D29D06 /* UIKit.framework */,\n\t\t\t\tDC80CA3A13C3B43F00D29D06 /* Foundation.framework */,\n\t\t\t\tDC80CA3C13C3B43F00D29D06 /* CoreGraphics.framework */,\n\t\t\t\tDC80CA6C13C3B4AA00D29D06 /* CFNetwork.framework */,\n\t\t\t\tDCFF8C041529676500448078 /* Security.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA3E13C3B43F00D29D06 /* SimpleHTTPClient */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA4713C3B43F00D29D06 /* SimpleHTTPClientAppDelegate.h */,\n\t\t\t\tDC80CA4813C3B43F00D29D06 /* SimpleHTTPClientAppDelegate.m */,\n\t\t\t\tDC80CA4A13C3B43F00D29D06 /* MainWindow.xib */,\n\t\t\t\tDC80CA4D13C3B43F00D29D06 /* SimpleHTTPClientViewController.h */,\n\t\t\t\tDC80CA4E13C3B43F00D29D06 /* SimpleHTTPClientViewController.m */,\n\t\t\t\tDC80CA5013C3B43F00D29D06 /* SimpleHTTPClientViewController.xib */,\n\t\t\t\tDC80CA3F13C3B43F00D29D06 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = SimpleHTTPClient;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA3F13C3B43F00D29D06 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC825152163AFEC100D95D37 /* Default-568h@2x.png */,\n\t\t\t\tDC80CA4013C3B43F00D29D06 /* SimpleHTTPClient-Info.plist */,\n\t\t\t\tDC80CA4113C3B43F00D29D06 /* InfoPlist.strings */,\n\t\t\t\tDC80CA4413C3B43F00D29D06 /* SimpleHTTPClient-Prefix.pch */,\n\t\t\t\tDC80CA4513C3B43F00D29D06 /* main.m */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA5813C3B44900D29D06 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC4B0BA2151D48DE000985E5 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC4B0BA3151D48DE000985E5 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC4B0BA4151D48DE000985E5 /* DDASLLogger.h */,\n\t\t\t\tDC4B0BA5151D48DE000985E5 /* DDASLLogger.m */,\n\t\t\t\tDC4B0BA6151D48DE000985E5 /* DDFileLogger.h */,\n\t\t\t\tDC4B0BA7151D48DE000985E5 /* DDFileLogger.m */,\n\t\t\t\tDC4B0BA8151D48DE000985E5 /* DDLog.h */,\n\t\t\t\tDC4B0BA9151D48DE000985E5 /* DDLog.m */,\n\t\t\t\t11C32832186CDC5700F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC4B0BAA151D48DE000985E5 /* DDTTYLogger.h */,\n\t\t\t\tDC4B0BAB151D48DE000985E5 /* DDTTYLogger.m */,\n\t\t\t\tDC4B0BAC151D48DE000985E5 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA6813C3B47300D29D06 /* TCP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CAA113C3B94B00D29D06 /* GCDAsyncSocket.h */,\n\t\t\t\tDC80CAA213C3B94B00D29D06 /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = TCP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC80CA3313C3B43F00D29D06 /* SimpleHTTPClient */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC80CA5513C3B43F00D29D06 /* Build configuration list for PBXNativeTarget \"SimpleHTTPClient\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC80CA3013C3B43F00D29D06 /* Sources */,\n\t\t\t\tDC80CA3113C3B43F00D29D06 /* Frameworks */,\n\t\t\t\tDC80CA3213C3B43F00D29D06 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = SimpleHTTPClient;\n\t\t\tproductName = SimpleHTTPClient;\n\t\t\tproductReference = DC80CA3413C3B43F00D29D06 /* SimpleHTTPClient.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC80CA2B13C3B43F00D29D06 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0510;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC80CA2E13C3B43F00D29D06 /* Build configuration list for PBXProject \"SimpleHTTPClient\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC80CA2913C3B43F00D29D06;\n\t\t\tproductRefGroup = DC80CA3513C3B43F00D29D06 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC80CA3313C3B43F00D29D06 /* SimpleHTTPClient */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC80CA3213C3B43F00D29D06 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC80CA4313C3B43F00D29D06 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC80CA4C13C3B43F00D29D06 /* MainWindow.xib in Resources */,\n\t\t\t\tDC80CA5213C3B43F00D29D06 /* SimpleHTTPClientViewController.xib in Resources */,\n\t\t\t\tDC4B0BB9151D48DE000985E5 /* README.txt in Resources */,\n\t\t\t\tDC825153163AFEC100D95D37 /* Default-568h@2x.png in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC80CA3013C3B43F00D29D06 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t11C3283B186CDC6200F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\tDC80CA4613C3B43F00D29D06 /* main.m in Sources */,\n\t\t\t\tDC80CA4913C3B43F00D29D06 /* SimpleHTTPClientAppDelegate.m in Sources */,\n\t\t\t\t11C3283A186CDC6200F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDC80CA4F13C3B43F00D29D06 /* SimpleHTTPClientViewController.m in Sources */,\n\t\t\t\tDC80CAA313C3B94B00D29D06 /* GCDAsyncSocket.m in Sources */,\n\t\t\t\tDC4B0BB2151D48DE000985E5 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\t11C32839186CDC6200F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC4B0BB3151D48DE000985E5 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC4B0BB4151D48DE000985E5 /* DDFileLogger.m in Sources */,\n\t\t\t\tDC4B0BB5151D48DE000985E5 /* DDLog.m in Sources */,\n\t\t\t\tDC4B0BB6151D48DE000985E5 /* DDTTYLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC80CA4113C3B43F00D29D06 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA4213C3B43F00D29D06 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA4A13C3B43F00D29D06 /* MainWindow.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA4B13C3B43F00D29D06 /* en */,\n\t\t\t);\n\t\t\tname = MainWindow.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC80CA5013C3B43F00D29D06 /* SimpleHTTPClientViewController.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC80CA5113C3B43F00D29D06 /* en */,\n\t\t\t);\n\t\t\tname = SimpleHTTPClientViewController.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC80CA5313C3B43F00D29D06 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN_OBJC_RECEIVER_WEAK = YES;\n\t\t\t\tCLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = DEBUG;\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 6.0;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC80CA5413C3B43F00D29D06 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN_OBJC_RECEIVER_WEAK = YES;\n\t\t\t\tCLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 6.0;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC80CA5613C3B43F00D29D06 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"SimpleHTTPClient/SimpleHTTPClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"SimpleHTTPClient/SimpleHTTPClient-Info.plist\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 6.0;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC80CA5713C3B43F00D29D06 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"SimpleHTTPClient/SimpleHTTPClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"SimpleHTTPClient/SimpleHTTPClient-Info.plist\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 6.0;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC80CA2E13C3B43F00D29D06 /* Build configuration list for PBXProject \"SimpleHTTPClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC80CA5313C3B43F00D29D06 /* Debug */,\n\t\t\t\tDC80CA5413C3B43F00D29D06 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC80CA5513C3B43F00D29D06 /* Build configuration list for PBXNativeTarget \"SimpleHTTPClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC80CA5613C3B43F00D29D06 /* Debug */,\n\t\t\t\tDC80CA5713C3B43F00D29D06 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC80CA2B13C3B43F00D29D06 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/SimpleHTTPClient/ReadMe.txt",
    "content": "The SimpleHTTPClient projects are just a simple demonstration of reading and writing data using GCDAsyncSocket. Obviously it's not meant to be a full fledged HTTP client. There are other excellent libraries for that task. But the HTTP protocol itself is so simple, it makes for a great example."
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Desktop/TestPreBuffer/AppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n\n@property (assign) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Desktop/TestPreBuffer/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import \"TestPreBuffer.h\"\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\t[TestPreBuffer start];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Desktop/TestPreBuffer/TestPreBuffer-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2012 __MyCompanyName__. All rights reserved.</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Desktop/TestPreBuffer/TestPreBuffer-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'TestPreBuffer' target in the 'TestPreBuffer' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Desktop/TestPreBuffer/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Desktop/TestPreBuffer/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Desktop/TestPreBuffer/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11C42</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1938</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.17</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">567.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1938</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">TestPreBuffer</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">TestPreBuffer</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About TestPreBuffer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide TestPreBuffer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit TestPreBuffer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">TestPreBuffer Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">TestPreBuffer</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">535</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addCardViewField:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"doDelete:\">id</string>\n\t\t\t\t\t\t<string key=\"find:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"saveChanges:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addCardViewField:\">\n\t\t\t\t\t\t\t<string key=\"name\">addCardViewField:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"doDelete:\">\n\t\t\t\t\t\t\t<string key=\"name\">doDelete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"find:\">\n\t\t\t\t\t\t\t<string key=\"name\">find:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveChanges:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveChanges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mCardView\">ABCardView</string>\n\t\t\t\t\t\t<string key=\"mEditButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"mManagedObjectContext\">NSManagedObjectContext</string>\n\t\t\t\t\t\t<string key=\"mSearchField\">NSSearchField</string>\n\t\t\t\t\t\t<string key=\"mStatusTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"mWindow\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mCardView\">\n\t\t\t\t\t\t\t<string key=\"name\">mCardView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABCardView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mEditButton\">\n\t\t\t\t\t\t\t<string key=\"name\">mEditButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mManagedObjectContext\">\n\t\t\t\t\t\t\t<string key=\"name\">mManagedObjectContext</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSManagedObjectContext</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mSearchField\">\n\t\t\t\t\t\t\t<string key=\"name\">mSearchField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSearchField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mStatusTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">mStatusTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">mWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"commitAndSave:\">id</string>\n\t\t\t\t\t\t<string key=\"statusImageClicked:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"commitAndSave:\">\n\t\t\t\t\t\t\t<string key=\"name\">commitAndSave:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"statusImageClicked:\">\n\t\t\t\t\t\t\t<string key=\"name\">statusImageClicked:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mBuddyStatusImage\">NSImageView</string>\n\t\t\t\t\t\t<string key=\"mHeaderView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mNameView\">ABNameFrameView</string>\n\t\t\t\t\t\t<string key=\"mNextKeyView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mUserImage\">NSImage</string>\n\t\t\t\t\t\t<string key=\"mUserImageView\">ABImageView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mBuddyStatusImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mBuddyStatusImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mHeaderView\">\n\t\t\t\t\t\t\t<string key=\"name\">mHeaderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNameView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNameView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABNameFrameView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNextKeyView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNextKeyView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImage</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImageView\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImageView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABImageView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTAutoLayoutView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTAutoLayoutView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTBorderedView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">contentView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTBorderedView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTDelayedMenuButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTDelayedMenuButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTGradientImageButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTGradientImageButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTextFieldCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextColumn</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableColumn</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextColumn.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTSplitView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSSplitView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTSplitView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTStackView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTStackView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFRepresenterTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFRepresenterTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IBEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"changeFont:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeSelectionToFit:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"changeFont:\">\n\t\t\t\t\t\t\t<string key=\"name\">changeFont:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeSelectionToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeSelectionToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IBEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDECapsuleListView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTStackView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">dataSource</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDECapsuleListView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMArrayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSArrayController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMArrayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"bottomToolbarBorderView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"sourceListSplitViewPane\">NSView</string>\n\t\t\t\t\t\t<string key=\"sourceListViewController\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t<string key=\"splitView\">DVTSplitView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"bottomToolbarBorderView\">\n\t\t\t\t\t\t\t<string key=\"name\">bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListSplitViewPane\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"borderedView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDMEditor</string>\n\t\t\t\t\t\t<string key=\"primaryColumn\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t<string key=\"sourceListOutlineView\">DVTOutlineView</string>\n\t\t\t\t\t\t<string key=\"sourceListTreeController\">NSTreeController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"primaryColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">primaryColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListOutlineView\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListTreeController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListTreeController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorSourceListController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTImageAndTextCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMHighlightImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"attributesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"capsuleView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"fetchedPropertiesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"relationshipsTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"attributesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">attributesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchedPropertiesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"relationshipsTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">relationshipsTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelBrowserEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"capsuleListView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableController\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleListView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleListView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableController\">\n\t\t\t\t\t\t\t<string key=\"name\">tableController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"configurationsArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationsArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationsArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"diagramView\">XDDiagramView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramView\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDDiagramView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelDiagramEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"addEntityButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"addPropertyButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"browserDiagramSegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"configurationViewController\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"entityContentsViewController\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"fetchRequestViewController\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t<string key=\"hierarchySegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addEntityButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addEntityButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addPropertyButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addPropertyButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserDiagramSegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityContentsViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityContentsViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchRequestViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchRequestViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"hierarchySegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">hierarchySegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"browserViewController\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"diagramViewController\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">browserViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEntityContentsEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"entityController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">IDECapsuleListView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelFetchRequestEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"arrayController\">IDEDMArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesColumn\">NSTableColumn</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"propertyNameAndImageCell\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"arrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">arrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTableColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"propertyNameAndImageCell\">\n\t\t\t\t\t\t\t<string key=\"name\">propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelPropertiesTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"getDocSetAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showProblemInfoForUpdate:\">id</string>\n\t\t\t\t\t\t<string key=\"subscribeToPublisherAction:\">id</string>\n\t\t\t\t\t\t<string key=\"unsubscribeFromPublisher:\">id</string>\n\t\t\t\t\t\t<string key=\"updateDocSetAction:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"getDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">getDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showProblemInfoForUpdate:\">\n\t\t\t\t\t\t\t<string key=\"name\">showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscribeToPublisherAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unsubscribeFromPublisher:\">\n\t\t\t\t\t\t\t<string key=\"name\">unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"updateDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">updateDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDocSetOutlineView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocViewingPrefPaneController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addSubscription:\">id</string>\n\t\t\t\t\t\t<string key=\"checkForAndInstallUpdatesNow:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeComboBoxAction:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeEnabledAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showHelp:\">id</string>\n\t\t\t\t\t\t<string key=\"showSubscriptionSheet:\">id</string>\n\t\t\t\t\t\t<string key=\"subscriptionCancelAction:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleAutoCheckForAndInstallUpdates:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleDocSetInfo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addSubscription:\">\n\t\t\t\t\t\t\t<string key=\"name\">addSubscription:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"checkForAndInstallUpdatesNow:\">\n\t\t\t\t\t\t\t<string key=\"name\">checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeComboBoxAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeEnabledAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showHelp:\">\n\t\t\t\t\t\t\t<string key=\"name\">showHelp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showSubscriptionSheet:\">\n\t\t\t\t\t\t\t<string key=\"name\">showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscriptionCancelAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleAutoCheckForAndInstallUpdates:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleDocSetInfo:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleDocSetInfo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"_addButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_deleteButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_showInfoAreaButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_splitView\">NSSplitView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetInfoSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetsListSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"borderedViewAroundSplitView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"borderedViewBelowTable\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"checkAndInstallNowButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"docSetInfoTextView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"docSetOutlineViewController\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeControl\">NSComboBox</string>\n\t\t\t\t\t\t<string key=\"noUpdatesAvailableMessage\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"showInfoButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"subscriptionTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"subscriptionWindow\">NSWindow</string>\n\t\t\t\t\t\t<string key=\"validateAddSubscriptionButton\">NSButton</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_addButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_addButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_deleteButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_deleteButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_showInfoAreaButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_showInfoAreaButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetInfoSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetsListSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewAroundSplitView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewBelowTable\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewBelowTable</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"checkAndInstallNowButton\">\n\t\t\t\t\t\t\t<string key=\"name\">checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetInfoTextView\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetInfoTextView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetOutlineViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"minimumFontSizeControl\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSComboBox</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"noUpdatesAvailableMessage\">\n\t\t\t\t\t\t\t<string key=\"name\">noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"showInfoButton\">\n\t\t\t\t\t\t\t<string key=\"name\">showInfoButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"validateAddSubscriptionButton\">\n\t\t\t\t\t\t\t<string key=\"name\">validateAddSubscriptionButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocViewingPrefPaneController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IKImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"crop:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"crop:\">\n\t\t\t\t\t\t\t<string key=\"name\">crop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IKImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"printDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"revertDocumentToSaved:\">id</string>\n\t\t\t\t\t\t<string key=\"runPageLayout:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentAs:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentTo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"printDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"revertDocumentToSaved:\">\n\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"runPageLayout:\">\n\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentAs:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentTo:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QLPreviewBubble</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"hide:\">id</string>\n\t\t\t\t\t\t<string key=\"show:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"hide:\">\n\t\t\t\t\t\t\t<string key=\"name\">hide:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"show:\">\n\t\t\t\t\t\t\t<string key=\"name\">show:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">parentWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QLPreviewBubble.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QTMovieView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"showAll:\">id</string>\n\t\t\t\t\t\t<string key=\"showCustomButton:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleLoops:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">showAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showCustomButton:\">\n\t\t\t\t\t\t\t<string key=\"name\">showCustomButton:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleLoops:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleLoops:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QTMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"reloadFromOrigin:\">id</string>\n\t\t\t\t\t\t<string key=\"resetPageZoom:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"reloadFromOrigin:\">\n\t\t\t\t\t\t\t<string key=\"name\">reloadFromOrigin:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"resetPageZoom:\">\n\t\t\t\t\t\t\t<string key=\"name\">resetPageZoom:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/WebView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDDiagramView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"_graphLayouterMenuItemAction:\">id</string>\n\t\t\t\t\t\t<string key=\"_zoomPopUpButtonAction:\">id</string>\n\t\t\t\t\t\t<string key=\"alignBottomEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersHorizontallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersVerticallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignHorizontalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"alignLeftEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignRightEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignTopEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignVerticalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"bringToFront:\">id</string>\n\t\t\t\t\t\t<string key=\"collapseAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteBackward:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteForward:\">id</string>\n\t\t\t\t\t\t<string key=\"deselectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomOut:\">id</string>\n\t\t\t\t\t\t<string key=\"expandAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"flipHorizontally:\">id</string>\n\t\t\t\t\t\t<string key=\"flipVertically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsConcentrically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsHierarchically:\">id</string>\n\t\t\t\t\t\t<string key=\"lock:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameHeight:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameWidth:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDown:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDownAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeft:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeftAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRight:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRightAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUp:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUpAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"rollDownAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"rollUpAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sendToBack:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeToFit:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleGridShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleHiddenGraphicsShown:\">id</string>\n\t\t\t\t\t\t<string key=\"togglePageBreaksShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleRuler:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleSnapsToGrid:\">id</string>\n\t\t\t\t\t\t<string key=\"unlock:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_graphLayouterMenuItemAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_zoomPopUpButtonAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignBottomEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignBottomEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersHorizontallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersVerticallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignHorizontalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignLeftEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignLeftEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignRightEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignRightEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignTopEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignTopEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignVerticalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignVerticalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"bringToFront:\">\n\t\t\t\t\t\t\t<string key=\"name\">bringToFront:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"collapseAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">collapseAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteBackward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteBackward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteForward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteForward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deselectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">deselectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"expandAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">expandAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipHorizontally:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipHorizontally:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipVertically:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipVertically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsConcentrically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsHierarchically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"lock:\">\n\t\t\t\t\t\t\t<string key=\"name\">lock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameHeight:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameHeight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameWidth:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameWidth:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDown:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDownAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeft:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeft:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeftAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRight:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRightAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUp:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUpAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollDownAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollUpAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sendToBack:\">\n\t\t\t\t\t\t\t<string key=\"name\">sendToBack:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleGridShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleGridShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleHiddenGraphicsShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"togglePageBreaksShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleRuler:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleRuler:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleSnapsToGrid:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unlock:\">\n\t\t\t\t\t\t\t<string key=\"name\">unlock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">_diagramController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDDiagramView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">showAllTableColumns:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"applicationShouldTerminate:\">id</string>\n\t\t\t\t\t\t<string key=\"applicationWillFinishLaunching:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationShouldTerminate:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationWillFinishLaunching:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1070\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{9, 8}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{7, 2}</string>\n\t\t</dictionary>\n\t\t<bool key=\"IBDocument.UseAutolayout\">YES</bool>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Desktop/TestPreBuffer/main.m",
    "content": "//\n//  main.m\n//  TestPreBuffer\n//\n//  Created by Robbie Hanson on 6/7/12.\n//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n\treturn NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Desktop/TestPreBuffer.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C32843186CDCAB00F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3283E186CDCAB00F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C32844186CDCAB00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32840186CDCAB00F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C32845186CDCAB00F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32842186CDCAB00F6D762 /* DDMultiFormatter.m */; };\n\t\tDC71D2E015816A2200A8A249 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC71D2DF15816A2200A8A249 /* Cocoa.framework */; };\n\t\tDC71D2EA15816A2200A8A249 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC71D2E815816A2200A8A249 /* InfoPlist.strings */; };\n\t\tDC71D2EC15816A2300A8A249 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D2EB15816A2300A8A249 /* main.m */; };\n\t\tDC71D2F015816A2300A8A249 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC71D2EE15816A2300A8A249 /* Credits.rtf */; };\n\t\tDC71D2F315816A2300A8A249 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D2F215816A2300A8A249 /* AppDelegate.m */; };\n\t\tDC71D2F615816A2300A8A249 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC71D2F415816A2300A8A249 /* MainMenu.xib */; };\n\t\tDC71D31115816A5C00A8A249 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D30215816A5C00A8A249 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC71D31215816A5C00A8A249 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D30415816A5C00A8A249 /* DDASLLogger.m */; };\n\t\tDC71D31315816A5C00A8A249 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D30615816A5C00A8A249 /* DDFileLogger.m */; };\n\t\tDC71D31415816A5C00A8A249 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D30815816A5C00A8A249 /* DDLog.m */; };\n\t\tDC71D31515816A5C00A8A249 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D30A15816A5C00A8A249 /* DDTTYLogger.m */; };\n\t\tDC71D31815816A5C00A8A249 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC71D31015816A5C00A8A249 /* README.txt */; };\n\t\tDC71D31D15816A6F00A8A249 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D31C15816A6F00A8A249 /* GCDAsyncSocket.m */; };\n\t\tDC71D32015816A9900A8A249 /* TestPreBuffer.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D31F15816A9900A8A249 /* TestPreBuffer.m */; };\n\t\tDC71D32215816B0800A8A249 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC71D32115816B0800A8A249 /* Security.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C3283C186CDCA100F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C3283D186CDCAB00F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3283E186CDCAB00F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C3283F186CDCAB00F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32840186CDCAB00F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32841186CDCAB00F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32842186CDCAB00F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDC71D2DB15816A2200A8A249 /* TestPreBuffer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestPreBuffer.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC71D2DF15816A2200A8A249 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC71D2E215816A2200A8A249 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC71D2E315816A2200A8A249 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC71D2E415816A2200A8A249 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC71D2E715816A2200A8A249 /* TestPreBuffer-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"TestPreBuffer-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC71D2E915816A2200A8A249 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC71D2EB15816A2300A8A249 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC71D2ED15816A2300A8A249 /* TestPreBuffer-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"TestPreBuffer-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC71D2EF15816A2300A8A249 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC71D2F115816A2300A8A249 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC71D2F215816A2300A8A249 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC71D2F515816A2300A8A249 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDC71D30115816A5C00A8A249 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC71D30215816A5C00A8A249 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC71D30315816A5C00A8A249 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC71D30415816A5C00A8A249 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC71D30515816A5C00A8A249 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC71D30615816A5C00A8A249 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC71D30715816A5C00A8A249 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC71D30815816A5C00A8A249 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC71D30915816A5C00A8A249 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC71D30A15816A5C00A8A249 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC71D31015816A5C00A8A249 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n\t\tDC71D31B15816A6F00A8A249 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncSocket.h; path = ../../../GCDAsyncSocket.h; sourceTree = \"<group>\"; };\n\t\tDC71D31C15816A6F00A8A249 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocket.m; path = ../../../GCDAsyncSocket.m; sourceTree = \"<group>\"; };\n\t\tDC71D31E15816A9900A8A249 /* TestPreBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestPreBuffer.h; path = ../../Shared/TestPreBuffer.h; sourceTree = \"<group>\"; };\n\t\tDC71D31F15816A9900A8A249 /* TestPreBuffer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TestPreBuffer.m; path = ../../Shared/TestPreBuffer.m; sourceTree = \"<group>\"; };\n\t\tDC71D32115816B0800A8A249 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC71D2D815816A2200A8A249 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC71D32215816B0800A8A249 /* Security.framework in Frameworks */,\n\t\t\t\tDC71D2E015816A2200A8A249 /* Cocoa.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC71D2D015816A2100A8A249 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D30015816A5C00A8A249 /* CocoaLumberjack */,\n\t\t\t\tDC71D31A15816A6100A8A249 /* TCP */,\n\t\t\t\tDC71D2E515816A2200A8A249 /* TestPreBuffer */,\n\t\t\t\tDC71D2DE15816A2200A8A249 /* Frameworks */,\n\t\t\t\tDC71D2DC15816A2200A8A249 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D2DC15816A2200A8A249 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D2DB15816A2200A8A249 /* TestPreBuffer.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D2DE15816A2200A8A249 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D2DF15816A2200A8A249 /* Cocoa.framework */,\n\t\t\t\tDC71D32115816B0800A8A249 /* Security.framework */,\n\t\t\t\tDC71D2E115816A2200A8A249 /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D2E115816A2200A8A249 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D2E215816A2200A8A249 /* AppKit.framework */,\n\t\t\t\tDC71D2E315816A2200A8A249 /* CoreData.framework */,\n\t\t\t\tDC71D2E415816A2200A8A249 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D2E515816A2200A8A249 /* TestPreBuffer */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D31E15816A9900A8A249 /* TestPreBuffer.h */,\n\t\t\t\tDC71D31F15816A9900A8A249 /* TestPreBuffer.m */,\n\t\t\t\tDC71D2F115816A2300A8A249 /* AppDelegate.h */,\n\t\t\t\tDC71D2F215816A2300A8A249 /* AppDelegate.m */,\n\t\t\t\tDC71D2F415816A2300A8A249 /* MainMenu.xib */,\n\t\t\t\tDC71D2E615816A2200A8A249 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = TestPreBuffer;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D2E615816A2200A8A249 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D2E715816A2200A8A249 /* TestPreBuffer-Info.plist */,\n\t\t\t\tDC71D2E815816A2200A8A249 /* InfoPlist.strings */,\n\t\t\t\tDC71D2EB15816A2300A8A249 /* main.m */,\n\t\t\t\tDC71D2ED15816A2300A8A249 /* TestPreBuffer-Prefix.pch */,\n\t\t\t\tDC71D2EE15816A2300A8A249 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D30015816A5C00A8A249 /* CocoaLumberjack */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D30115816A5C00A8A249 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC71D30215816A5C00A8A249 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC71D30315816A5C00A8A249 /* DDASLLogger.h */,\n\t\t\t\tDC71D30415816A5C00A8A249 /* DDASLLogger.m */,\n\t\t\t\tDC71D30515816A5C00A8A249 /* DDFileLogger.h */,\n\t\t\t\tDC71D30615816A5C00A8A249 /* DDFileLogger.m */,\n\t\t\t\tDC71D30715816A5C00A8A249 /* DDLog.h */,\n\t\t\t\tDC71D30815816A5C00A8A249 /* DDLog.m */,\n\t\t\t\t11C3283C186CDCA100F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC71D30915816A5C00A8A249 /* DDTTYLogger.h */,\n\t\t\t\tDC71D30A15816A5C00A8A249 /* DDTTYLogger.m */,\n\t\t\t\tDC71D30B15816A5C00A8A249 /* Extensions */,\n\t\t\t);\n\t\t\tname = CocoaLumberjack;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D30B15816A5C00A8A249 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C3283D186CDCAB00F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C3283E186CDCAB00F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C3283F186CDCAB00F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C32840186CDCAB00F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C32841186CDCAB00F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C32842186CDCAB00F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC71D31015816A5C00A8A249 /* README.txt */,\n\t\t\t);\n\t\t\tpath = Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D31A15816A6100A8A249 /* TCP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D31B15816A6F00A8A249 /* GCDAsyncSocket.h */,\n\t\t\t\tDC71D31C15816A6F00A8A249 /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = TCP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC71D2DA15816A2200A8A249 /* TestPreBuffer */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC71D2F915816A2300A8A249 /* Build configuration list for PBXNativeTarget \"TestPreBuffer\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC71D2D715816A2200A8A249 /* Sources */,\n\t\t\t\tDC71D2D815816A2200A8A249 /* Frameworks */,\n\t\t\t\tDC71D2D915816A2200A8A249 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = TestPreBuffer;\n\t\t\tproductName = TestPreBuffer;\n\t\t\tproductReference = DC71D2DB15816A2200A8A249 /* TestPreBuffer.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC71D2D215816A2200A8A249 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0450;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC71D2D515816A2200A8A249 /* Build configuration list for PBXProject \"TestPreBuffer\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC71D2D015816A2100A8A249;\n\t\t\tproductRefGroup = DC71D2DC15816A2200A8A249 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC71D2DA15816A2200A8A249 /* TestPreBuffer */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC71D2D915816A2200A8A249 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC71D2EA15816A2200A8A249 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC71D2F015816A2300A8A249 /* Credits.rtf in Resources */,\n\t\t\t\tDC71D2F615816A2300A8A249 /* MainMenu.xib in Resources */,\n\t\t\t\tDC71D31815816A5C00A8A249 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC71D2D715816A2200A8A249 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t11C32845186CDCAB00F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\tDC71D2EC15816A2300A8A249 /* main.m in Sources */,\n\t\t\t\tDC71D2F315816A2300A8A249 /* AppDelegate.m in Sources */,\n\t\t\t\t11C32844186CDCAB00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDC71D31115816A5C00A8A249 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDC71D31215816A5C00A8A249 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC71D31315816A5C00A8A249 /* DDFileLogger.m in Sources */,\n\t\t\t\t11C32843186CDCAB00F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC71D31415816A5C00A8A249 /* DDLog.m in Sources */,\n\t\t\t\tDC71D31515816A5C00A8A249 /* DDTTYLogger.m in Sources */,\n\t\t\t\tDC71D31D15816A6F00A8A249 /* GCDAsyncSocket.m in Sources */,\n\t\t\t\tDC71D32015816A9900A8A249 /* TestPreBuffer.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC71D2E815816A2200A8A249 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D2E915816A2200A8A249 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D2EE15816A2300A8A249 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D2EF15816A2300A8A249 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D2F415816A2300A8A249 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D2F515816A2300A8A249 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC71D2F715816A2300A8A249 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_64_BIT)\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.7;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC71D2F815816A2300A8A249 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_64_BIT)\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.7;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC71D2FA15816A2300A8A249 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"TestPreBuffer/TestPreBuffer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"TestPreBuffer/TestPreBuffer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC71D2FB15816A2300A8A249 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"TestPreBuffer/TestPreBuffer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"TestPreBuffer/TestPreBuffer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC71D2D515816A2200A8A249 /* Build configuration list for PBXProject \"TestPreBuffer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC71D2F715816A2300A8A249 /* Debug */,\n\t\t\t\tDC71D2F815816A2300A8A249 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC71D2F915816A2300A8A249 /* Build configuration list for PBXNativeTarget \"TestPreBuffer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC71D2FA15816A2300A8A249 /* Debug */,\n\t\t\t\tDC71D2FB15816A2300A8A249 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC71D2D215816A2200A8A249 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/AppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class ViewController;\n\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n@property (strong, nonatomic) ViewController *viewController;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import \"ViewController.h\"\n#import \"TestPreBuffer.h\"\n\n\n@implementation AppDelegate\n\n@synthesize window;\n@synthesize viewController;\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n\t[TestPreBuffer start];\n\t\n\t// Normal UI stuff\n\t\n\twindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];\n\tif ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {\n\t\tviewController = [[ViewController alloc] initWithNibName:@\"ViewController_iPhone\" bundle:nil];\n\t} else {\n\t\tviewController = [[ViewController alloc] initWithNibName:@\"ViewController_iPad\" bundle:nil];\n\t}\n\twindow.rootViewController = self.viewController;\n\t[window makeKeyAndVisible];\n\treturn YES;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/TestPreBuffer-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/TestPreBuffer-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'TestPreBuffer' target in the 'TestPreBuffer' project\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_4_0\n#warning \"This project uses features only available in iOS SDK 4.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n\t#import <UIKit/UIKit.h>\n\t#import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/ViewController.h",
    "content": "//\n//  ViewController.h\n//  TestPreBuffer\n//\n//  Created by Robbie Hanson on 6/7/12.\n//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface ViewController : UIViewController\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/ViewController.m",
    "content": "//\n//  ViewController.m\n//  TestPreBuffer\n//\n//  Created by Robbie Hanson on 6/7/12.\n//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.\n//\n\n#import \"ViewController.h\"\n\n@interface ViewController ()\n\n@end\n\n@implementation ViewController\n\n- (void)viewDidLoad\n{\n    [super viewDidLoad];\n\t// Do any additional setup after loading the view, typically from a nib.\n}\n\n- (void)viewDidUnload\n{\n    [super viewDidUnload];\n    // Release any retained subviews of the main view.\n}\n\n- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation\n{\n\tif ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {\n\t    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);\n\t} else {\n\t    return YES;\n\t}\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/en.lproj/ViewController_iPad.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1280</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11C25</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1919</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.11</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">566.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">916</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>IBProxyObject</string>\n\t\t\t<string>IBUIView</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<object class=\"IBProxyObject\" id=\"841351856\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBIPadFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"606714003\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBIPadFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"766721923\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<string key=\"NSFrame\">{{0, 20}, {768, 1004}}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\">\n\t\t\t\t\t<int key=\"IBUIStatusBarStyle\">2</int>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBIPadFramework</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766721923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">3</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"606714003\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766721923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.CustomClassName\">ViewController</string>\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"-2.CustomClassName\">UIResponder</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"2.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">3</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBIPadFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">916</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/en.lproj/ViewController_iPhone.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1280</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11C25</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1919</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.11</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">566.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">916</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>IBProxyObject</string>\n\t\t\t<string>IBUIView</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<string key=\"NSFrame\">{{0, 20}, {320, 460}}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.CustomClassName\">ViewController</string>\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"-2.CustomClassName\">UIResponder</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"6.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">7</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">916</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer/main.m",
    "content": "//\n//  main.m\n//  TestPreBuffer\n//\n//  Created by Robbie Hanson on 6/7/12.\n//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char *argv[])\n{\n\t@autoreleasepool {\n\t    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n\t}\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Mobile/TestPreBuffer.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C3284D186CDCD600F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32848186CDCD600F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C3284E186CDCD600F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3284A186CDCD600F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C3284F186CDCD600F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3284C186CDCD600F6D762 /* DDMultiFormatter.m */; };\n\t\tDC71D33715816B5300A8A249 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC71D33615816B5300A8A249 /* UIKit.framework */; };\n\t\tDC71D33915816B5300A8A249 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC71D33815816B5300A8A249 /* Foundation.framework */; };\n\t\tDC71D33B15816B5300A8A249 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC71D33A15816B5300A8A249 /* CoreGraphics.framework */; };\n\t\tDC71D34115816B5300A8A249 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC71D33F15816B5300A8A249 /* InfoPlist.strings */; };\n\t\tDC71D34315816B5300A8A249 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D34215816B5300A8A249 /* main.m */; };\n\t\tDC71D34715816B5300A8A249 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D34615816B5300A8A249 /* AppDelegate.m */; };\n\t\tDC71D34A15816B5300A8A249 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D34915816B5300A8A249 /* ViewController.m */; };\n\t\tDC71D34D15816B5300A8A249 /* ViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC71D34B15816B5300A8A249 /* ViewController_iPhone.xib */; };\n\t\tDC71D35015816B5300A8A249 /* ViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC71D34E15816B5300A8A249 /* ViewController_iPad.xib */; };\n\t\tDC71D36B15816BFC00A8A249 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D35C15816BFC00A8A249 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC71D36C15816BFC00A8A249 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D35E15816BFC00A8A249 /* DDASLLogger.m */; };\n\t\tDC71D36D15816BFC00A8A249 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D36015816BFC00A8A249 /* DDFileLogger.m */; };\n\t\tDC71D36E15816BFC00A8A249 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D36215816BFC00A8A249 /* DDLog.m */; };\n\t\tDC71D36F15816BFC00A8A249 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D36415816BFC00A8A249 /* DDTTYLogger.m */; };\n\t\tDC71D37215816BFC00A8A249 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC71D36A15816BFC00A8A249 /* README.txt */; };\n\t\tDC71D37715816C0E00A8A249 /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D37615816C0E00A8A249 /* GCDAsyncSocket.m */; };\n\t\tDC71D37A15816C2000A8A249 /* TestPreBuffer.m in Sources */ = {isa = PBXBuildFile; fileRef = DC71D37915816C2000A8A249 /* TestPreBuffer.m */; };\n\t\tDC71D37C15816C3700A8A249 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC71D37B15816C3700A8A249 /* Security.framework */; };\n\t\tDC71D37E15816C5300A8A249 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC71D37D15816C5300A8A249 /* CFNetwork.framework */; };\n\t\tDCCE5060163B6A0D0000C729 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DCCE505F163B6A0D0000C729 /* Default-568h@2x.png */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C32846186CDCCB00F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C32847186CDCD600F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32848186CDCD600F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32849186CDCD600F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3284A186CDCD600F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C3284B186CDCD600F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3284C186CDCD600F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDC71D33215816B5300A8A249 /* TestPreBuffer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestPreBuffer.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC71D33615816B5300A8A249 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\tDC71D33815816B5300A8A249 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC71D33A15816B5300A8A249 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tDC71D33E15816B5300A8A249 /* TestPreBuffer-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"TestPreBuffer-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC71D34015816B5300A8A249 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC71D34215816B5300A8A249 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC71D34415816B5300A8A249 /* TestPreBuffer-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"TestPreBuffer-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC71D34515816B5300A8A249 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC71D34615816B5300A8A249 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC71D34815816B5300A8A249 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = \"<group>\"; };\n\t\tDC71D34915816B5300A8A249 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = \"<group>\"; };\n\t\tDC71D34C15816B5300A8A249 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPhone.xib; sourceTree = \"<group>\"; };\n\t\tDC71D34F15816B5300A8A249 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController_iPad.xib; sourceTree = \"<group>\"; };\n\t\tDC71D35B15816BFC00A8A249 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC71D35C15816BFC00A8A249 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC71D35D15816BFC00A8A249 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC71D35E15816BFC00A8A249 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC71D35F15816BFC00A8A249 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC71D36015816BFC00A8A249 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC71D36115816BFC00A8A249 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC71D36215816BFC00A8A249 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC71D36315816BFC00A8A249 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC71D36415816BFC00A8A249 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC71D36A15816BFC00A8A249 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n\t\tDC71D37515816C0E00A8A249 /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncSocket.h; path = ../../../GCDAsyncSocket.h; sourceTree = \"<group>\"; };\n\t\tDC71D37615816C0E00A8A249 /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocket.m; path = ../../../GCDAsyncSocket.m; sourceTree = \"<group>\"; };\n\t\tDC71D37815816C2000A8A249 /* TestPreBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestPreBuffer.h; path = ../../Shared/TestPreBuffer.h; sourceTree = \"<group>\"; };\n\t\tDC71D37915816C2000A8A249 /* TestPreBuffer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TestPreBuffer.m; path = ../../Shared/TestPreBuffer.m; sourceTree = \"<group>\"; };\n\t\tDC71D37B15816C3700A8A249 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n\t\tDC71D37D15816C5300A8A249 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };\n\t\tDCCE505F163B6A0D0000C729 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = \"Default-568h@2x.png\"; path = \"../Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC71D32F15816B5300A8A249 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC71D37E15816C5300A8A249 /* CFNetwork.framework in Frameworks */,\n\t\t\t\tDC71D37C15816C3700A8A249 /* Security.framework in Frameworks */,\n\t\t\t\tDC71D33715816B5300A8A249 /* UIKit.framework in Frameworks */,\n\t\t\t\tDC71D33915816B5300A8A249 /* Foundation.framework in Frameworks */,\n\t\t\t\tDC71D33B15816B5300A8A249 /* CoreGraphics.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC71D32715816B5300A8A249 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D35A15816BFC00A8A249 /* CocoaLumberjack */,\n\t\t\t\tDC71D37415816C0000A8A249 /* TCP */,\n\t\t\t\tDC71D33C15816B5300A8A249 /* TestPreBuffer */,\n\t\t\t\tDC71D33515816B5300A8A249 /* Frameworks */,\n\t\t\t\tDC71D33315816B5300A8A249 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D33315816B5300A8A249 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D33215816B5300A8A249 /* TestPreBuffer.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D33515816B5300A8A249 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D33615816B5300A8A249 /* UIKit.framework */,\n\t\t\t\tDC71D33815816B5300A8A249 /* Foundation.framework */,\n\t\t\t\tDC71D33A15816B5300A8A249 /* CoreGraphics.framework */,\n\t\t\t\tDC71D37D15816C5300A8A249 /* CFNetwork.framework */,\n\t\t\t\tDC71D37B15816C3700A8A249 /* Security.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D33C15816B5300A8A249 /* TestPreBuffer */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D37815816C2000A8A249 /* TestPreBuffer.h */,\n\t\t\t\tDC71D37915816C2000A8A249 /* TestPreBuffer.m */,\n\t\t\t\tDC71D34515816B5300A8A249 /* AppDelegate.h */,\n\t\t\t\tDC71D34615816B5300A8A249 /* AppDelegate.m */,\n\t\t\t\tDC71D34815816B5300A8A249 /* ViewController.h */,\n\t\t\t\tDC71D34915816B5300A8A249 /* ViewController.m */,\n\t\t\t\tDC71D34B15816B5300A8A249 /* ViewController_iPhone.xib */,\n\t\t\t\tDC71D34E15816B5300A8A249 /* ViewController_iPad.xib */,\n\t\t\t\tDC71D33D15816B5300A8A249 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = TestPreBuffer;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D33D15816B5300A8A249 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCCE505F163B6A0D0000C729 /* Default-568h@2x.png */,\n\t\t\t\tDC71D33E15816B5300A8A249 /* TestPreBuffer-Info.plist */,\n\t\t\t\tDC71D33F15816B5300A8A249 /* InfoPlist.strings */,\n\t\t\t\tDC71D34215816B5300A8A249 /* main.m */,\n\t\t\t\tDC71D34415816B5300A8A249 /* TestPreBuffer-Prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D35A15816BFC00A8A249 /* CocoaLumberjack */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D35B15816BFC00A8A249 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC71D35C15816BFC00A8A249 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC71D35D15816BFC00A8A249 /* DDASLLogger.h */,\n\t\t\t\tDC71D35E15816BFC00A8A249 /* DDASLLogger.m */,\n\t\t\t\tDC71D35F15816BFC00A8A249 /* DDFileLogger.h */,\n\t\t\t\tDC71D36015816BFC00A8A249 /* DDFileLogger.m */,\n\t\t\t\tDC71D36115816BFC00A8A249 /* DDLog.h */,\n\t\t\t\tDC71D36215816BFC00A8A249 /* DDLog.m */,\n\t\t\t\t11C32846186CDCCB00F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC71D36315816BFC00A8A249 /* DDTTYLogger.h */,\n\t\t\t\tDC71D36415816BFC00A8A249 /* DDTTYLogger.m */,\n\t\t\t\tDC71D36515816BFC00A8A249 /* Extensions */,\n\t\t\t);\n\t\t\tname = CocoaLumberjack;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D36515816BFC00A8A249 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C32847186CDCD600F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C32848186CDCD600F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C32849186CDCD600F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C3284A186CDCD600F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C3284B186CDCD600F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C3284C186CDCD600F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC71D36A15816BFC00A8A249 /* README.txt */,\n\t\t\t);\n\t\t\tpath = Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D37415816C0000A8A249 /* TCP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D37515816C0E00A8A249 /* GCDAsyncSocket.h */,\n\t\t\t\tDC71D37615816C0E00A8A249 /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = TCP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC71D33115816B5300A8A249 /* TestPreBuffer */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC71D35315816B5300A8A249 /* Build configuration list for PBXNativeTarget \"TestPreBuffer\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC71D32E15816B5300A8A249 /* Sources */,\n\t\t\t\tDC71D32F15816B5300A8A249 /* Frameworks */,\n\t\t\t\tDC71D33015816B5300A8A249 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = TestPreBuffer;\n\t\t\tproductName = TestPreBuffer;\n\t\t\tproductReference = DC71D33215816B5300A8A249 /* TestPreBuffer.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC71D32915816B5300A8A249 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0430;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC71D32C15816B5300A8A249 /* Build configuration list for PBXProject \"TestPreBuffer\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC71D32715816B5300A8A249;\n\t\t\tproductRefGroup = DC71D33315816B5300A8A249 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC71D33115816B5300A8A249 /* TestPreBuffer */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC71D33015816B5300A8A249 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC71D34115816B5300A8A249 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC71D34D15816B5300A8A249 /* ViewController_iPhone.xib in Resources */,\n\t\t\t\tDC71D35015816B5300A8A249 /* ViewController_iPad.xib in Resources */,\n\t\t\t\tDC71D37215816BFC00A8A249 /* README.txt in Resources */,\n\t\t\t\tDCCE5060163B6A0D0000C729 /* Default-568h@2x.png in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC71D32E15816B5300A8A249 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC71D34315816B5300A8A249 /* main.m in Sources */,\n\t\t\t\tDC71D34715816B5300A8A249 /* AppDelegate.m in Sources */,\n\t\t\t\tDC71D34A15816B5300A8A249 /* ViewController.m in Sources */,\n\t\t\t\t11C3284D186CDCD600F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC71D36B15816BFC00A8A249 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDC71D36C15816BFC00A8A249 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC71D36D15816BFC00A8A249 /* DDFileLogger.m in Sources */,\n\t\t\t\t11C3284F186CDCD600F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\tDC71D36E15816BFC00A8A249 /* DDLog.m in Sources */,\n\t\t\t\tDC71D36F15816BFC00A8A249 /* DDTTYLogger.m in Sources */,\n\t\t\t\tDC71D37715816C0E00A8A249 /* GCDAsyncSocket.m in Sources */,\n\t\t\t\tDC71D37A15816C2000A8A249 /* TestPreBuffer.m in Sources */,\n\t\t\t\t11C3284E186CDCD600F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC71D33F15816B5300A8A249 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D34015816B5300A8A249 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D34B15816B5300A8A249 /* ViewController_iPhone.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D34C15816B5300A8A249 /* en */,\n\t\t\t);\n\t\t\tname = ViewController_iPhone.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC71D34E15816B5300A8A249 /* ViewController_iPad.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC71D34F15816B5300A8A249 /* en */,\n\t\t\t);\n\t\t\tname = ViewController_iPad.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC71D35115816B5300A8A249 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_32_BIT)\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.1;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC71D35215816B5300A8A249 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_32_BIT)\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.1;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC71D35415816B5300A8A249 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"TestPreBuffer/TestPreBuffer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"TestPreBuffer/TestPreBuffer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC71D35515816B5300A8A249 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"TestPreBuffer/TestPreBuffer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"TestPreBuffer/TestPreBuffer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC71D32C15816B5300A8A249 /* Build configuration list for PBXProject \"TestPreBuffer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC71D35115816B5300A8A249 /* Debug */,\n\t\t\t\tDC71D35215816B5300A8A249 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC71D35315816B5300A8A249 /* Build configuration list for PBXNativeTarget \"TestPreBuffer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC71D35415816B5300A8A249 /* Debug */,\n\t\t\t\tDC71D35515816B5300A8A249 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC71D32915816B5300A8A249 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Shared/TestPreBuffer.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@interface TestPreBuffer : NSObject\n\n+ (void)start;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/TestPreBuffer/Shared/TestPreBuffer.m",
    "content": "#import \"TestPreBuffer.h\"\n#import <Security/SecRandom.h>\n\n\n#define COUNT 25000\n\n/**\n * Interface definition copied from GCDAsyncSocket.m (to make it public for testing).\n * \n * The implementation itself remains within GCDAsyncSocket.m\n**/\n\n@interface GCDAsyncSocketPreBuffer : NSObject\n\n- (id)initWithCapacity:(size_t)numBytes;\n\n- (void)ensureCapacityForWrite:(size_t)numBytes;\n\n- (size_t)availableBytes;\n- (uint8_t *)readBuffer;\n\n- (void)getReadBuffer:(uint8_t **)bufferPtr availableBytes:(size_t *)availableBytesPtr;\n\n- (size_t)availableSpace;\n- (uint8_t *)writeBuffer;\n\n- (void)getWriteBuffer:(uint8_t **)bufferPtr availableSpace:(size_t *)availableSpacePtr;\n\n- (void)didRead:(size_t)bytesRead;\n- (void)didWrite:(size_t)bytesWritten;\n\n- (void)reset;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface TestPreBuffer ()\n\n+ (void)test_preBuffer;\n\n+ (void)benchmark_mutableData;\n+ (void)benchmark_preBuffer;\n\n@end\n\n\n@implementation TestPreBuffer\n\nstatic size_t bufferSize;\n\nstatic int randomSize1;\nstatic int randomSize2;\n\n+ (void)start\n{\n\t// Run unit tests\n\t\n\t[self test_preBuffer];\n\n\t// Setup benchmarks.\n\t// \n\t// We're going to test a common pattern within GCDAsyncSocket, which is:\n\t// - write a chunk of data to the preBuffer\n\t// - read a chunk of data out of the preBuffer\n\t// - read another chunk of data out of the preBuffer\n\t\n\tbufferSize = 1024 * 4;\n\t\n\trandomSize1 = (arc4random() % (bufferSize / 2));\n\trandomSize2 = (arc4random() % (bufferSize / 2));\n\t\n\t// Run benchmarks (on different runloop cycles to be fair)\n\t\n\t[self performSelector:@selector(benchmark_mutableData) withObject:nil afterDelay:2.0];\n\t[self performSelector:@selector(benchmark_preBuffer)   withObject:nil afterDelay:4.0];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Unit Tests\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (void)test_preBuffer\n{\n\tGCDAsyncSocketPreBuffer *preBuffer = [[GCDAsyncSocketPreBuffer alloc] initWithCapacity:1024];\n\t\n\t// Test capacity, and initial size methods\n\t\n\tsize_t capacity = [preBuffer availableSpace];\n\n\tNSAssert([preBuffer availableSpace] >= 1024, @\"1A\");\n\tNSAssert([preBuffer availableBytes] == 0, @\"1B\");\n\t\n\t// Test write pointer\n\t\n\tuint8_t *writePointer1;\n\tuint8_t *writePointer2;\n\t\n\twritePointer1 = [preBuffer writeBuffer];\n\t[preBuffer didWrite:512];\n\twritePointer2 = [preBuffer writeBuffer];\n\n\tNSAssert(writePointer2 - writePointer1 == 512, @\"2A\");\n\tNSAssert([preBuffer availableBytes] == 512, @\"2B\");\n\t\n\t// Test read pointer\n\t\n\tuint8_t *readPointer1;\n\tuint8_t *readPointer2;\n\t\n\treadPointer1 = [preBuffer readBuffer];\n\t[preBuffer didRead:256];\n\treadPointer2 = [preBuffer readBuffer];\n\n\tNSAssert(readPointer2 - readPointer1 == 256, @\"3A\");\n\tNSAssert([preBuffer availableBytes] == 256, @\"3B\");\n\t\n\t[preBuffer didRead:256];\n\t\n\tNSAssert([preBuffer availableBytes] == 0, @\"4A\");\n\tNSAssert([preBuffer availableSpace] == capacity, @\"4B\");\n\n    // At this point, the buffer should have reset\n    NSAssert([preBuffer readBuffer] == [preBuffer writeBuffer], @\"4C\");\n    NSAssert([preBuffer availableSpace] == 1024, @\"4D\");\n\n\t// Test write and read\n\t\n\tchar *str = \"test\";\n\tsize_t strLen = strlen(str);\n\t\n\tmemcpy([preBuffer writeBuffer], str, strLen);\n\t[preBuffer didWrite:strLen];\n\t\n\tNSAssert([preBuffer availableBytes] == strLen, @\"5A\");\n\tNSAssert(memcmp([preBuffer readBuffer], str, strLen) == 0, @\"5B\");\n\t\n\t// Test realloc\n\t\n\t[preBuffer ensureCapacityForWrite:(capacity * 2)];\n\t\n\tNSAssert([preBuffer availableSpace] >= (capacity * 2), @\"6A\");\n\tNSAssert([preBuffer availableBytes] == strLen, @\"6B\");\n\tNSAssert(memcmp([preBuffer readBuffer], str, strLen) == 0, @\"6C\");\n\n    // Test available space\n    [preBuffer reset];\n    size_t availableSpace = [preBuffer availableSpace];\n\n    // Make sure the available space is correct if we write all but 1 byte of our available space\n    size_t writeCount = availableSpace - 1;\n    [preBuffer didWrite:writeCount];\n    NSAssert([preBuffer availableSpace] == 1, @\"7A\");\n\n    // Make sure it doesn't change if we read some, but not all, of the data\n    [preBuffer didRead:writeCount - 1];\n    NSAssert([preBuffer availableSpace] == 1, @\"7B\");\n\n\tNSLog(@\"%@: passed\", NSStringFromSelector(_cmd));\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Benchmarks\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (void)benchmark_mutableData\n{\n\tNSMutableData *data = [[NSMutableData alloc] initWithCapacity:bufferSize];\n\t\n\tvoid *readBuffer  = malloc(bufferSize);\n\tvoid *writeBuffer = malloc(bufferSize);\n\t\n\tSecRandomCopyBytes(kSecRandomDefault, (randomSize1+randomSize2), writeBuffer);\n\t\n\tNSDate *start = [NSDate date];\n\t\n\tint i;\n\tfor (i = 0; i < COUNT; i++)\n\t{\n\t\t// Copy data into buffer.\n\t\t// Simulate reading from socket into preBuffer.\n\t\t\n\t\t[data appendBytes:writeBuffer length:(randomSize1+randomSize2)];\n\t\t\n\t\t// Read 1st chunk.\n\t\t// Simulate reading partial data out of preBuffer.\n\t\t\n\t\tmemcpy(readBuffer, [data mutableBytes], randomSize1);\n\t\t[data replaceBytesInRange:NSMakeRange(0, randomSize1) withBytes:NULL length:0];\n\t\t\n\t\t// Read 2nd chunk.\n\t\t// Simulate draining preBuffer.\n\t\t\n\t\tmemcpy(readBuffer+randomSize1, [data mutableBytes], randomSize2);\n\t\t[data replaceBytesInRange:NSMakeRange(0, randomSize2) withBytes:NULL length:0];\n\t}\n\t\n\tNSTimeInterval elapsed = [start timeIntervalSinceNow] * -1.0;\n\tNSLog(@\"%@: elapsed = %.6f\", NSStringFromSelector(_cmd), elapsed);\n\t\n\tfree(readBuffer);\n\tfree(writeBuffer);\n}\n\n+ (void)benchmark_preBuffer\n{\n\tGCDAsyncSocketPreBuffer *preBuffer = [[GCDAsyncSocketPreBuffer alloc] initWithCapacity:bufferSize];\n\t\n\tvoid *readBuffer  = malloc(bufferSize);\n\tvoid *writeBuffer = malloc(bufferSize);\n\t\n\tSecRandomCopyBytes(kSecRandomDefault, (randomSize1+randomSize2), writeBuffer);\n\t\n\tNSDate *start = [NSDate date];\n\t\n\tint i;\n\tfor (i = 0; i < COUNT; i++)\n\t{\n\t\t// Copy data into buffer.\n\t\t// Simulate reading from socket into preBuffer.\n\t\t\n\t\tmemcpy([preBuffer writeBuffer], writeBuffer, randomSize1+randomSize2);\n\t\t[preBuffer didWrite:(randomSize1+randomSize2)];\n\t\t\n\t\t// Read 1st chunk.\n\t\t// Simulate reading partial data out of preBuffer.\n\t\t\n\t\tmemcpy(readBuffer, [preBuffer readBuffer], randomSize1);\n\t\t[preBuffer didRead:randomSize1];\n\t\t\n\t\t// Read 2nd chunk.\n\t\t// Simulate draining preBuffer.\n\t\t\n\t\tmemcpy(readBuffer+randomSize1, [preBuffer readBuffer], randomSize2);\n\t\t[preBuffer didRead:randomSize2];\n\t}\n\t\n\tNSTimeInterval elapsed = [start timeIntervalSinceNow] * -1.0;\n\tNSLog(@\"%@  : elapsed = %.6f\", NSStringFromSelector(_cmd), elapsed);\n\t\n\tfree(readBuffer);\n\tfree(writeBuffer);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Desktop/UdpEchoClient/AppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n#import \"GCDAsyncUdpSocket.h\"\n\n@interface AppDelegate : NSObject <NSApplicationDelegate, GCDAsyncUdpSocketDelegate>\n{\n\tlong tag;\n\tGCDAsyncUdpSocket *udpSocket;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow    * window;\n@property  IBOutlet NSTextField * addrField;\n@property  IBOutlet NSTextField * portField;\n@property  IBOutlet NSTextField * messageField;\n@property  IBOutlet NSButton    * sendButton;\n@property  IBOutlet NSTextView  * logView;\n\n- (IBAction)send:(id)sender;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Desktop/UdpEchoClient/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n#import \"GCDAsyncUdpSocket.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n#define FORMAT(format, ...) [NSString stringWithFormat:(format), ##__VA_ARGS__]\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n@synthesize addrField;\n@synthesize portField;\n@synthesize messageField;\n@synthesize sendButton;\n@synthesize logView;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\t// Setup our logging framework.\n\t\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t\n\t// Setup our socket.\n\t// The socket will invoke our delegate methods using the usual delegate paradigm.\n\t// However, it will invoke the delegate methods on a specified GCD delegate dispatch queue.\n\t// \n\t// Now we can configure the delegate dispatch queues however we want.\n\t// We could simply use the main dispatc queue, so the delegate methods are invoked on the main thread.\n\t// Or we could use a dedicated dispatch queue, which could be helpful if we were doing a lot of processing.\n\t// \n\t// The best approach for your application will depend upon convenience, requirements and performance.\n\t// \n\t// For this simple example, we're just going to use the main thread.\n\t\n\tudpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n\t\n\tNSError *error = nil;\n\t\n\tif (![udpSocket bindToPort:0 error:&error])\n\t{\n\t\tDDLogError(@\"Error binding: %@\", error);\n\t\treturn;\n\t}\n\tif (![udpSocket beginReceiving:&error])\n\t{\n\t\tDDLogError(@\"Error receiving: %@\", error);\n\t\treturn;\n\t}\n\t\n\tDDLogVerbose(@\"Ready\");\n}\n\n- (void)scrollToBottom\n{\n\tNSScrollView *scrollView = [logView enclosingScrollView];\n\tNSPoint newScrollOrigin;\n\t\n\tif ([[scrollView documentView] isFlipped])\n\t\tnewScrollOrigin = NSMakePoint(0.0F, NSMaxY([[scrollView documentView] frame]));\n\telse\n\t\tnewScrollOrigin = NSMakePoint(0.0F, 0.0F);\n\t\n\t[[scrollView documentView] scrollPoint:newScrollOrigin];\n}\n\n- (void)logError:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor redColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logInfo:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor purpleColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logMessage:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor blackColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (IBAction)send:(id)sender\n{\n\tNSString *host = [addrField stringValue];\n\tif ([host length] == 0)\n\t{\n\t\t[self logError:@\"Address required\"];\n\t\treturn;\n\t}\n\t\n\tint port = [portField intValue];\n\tif (port <= 0 || port > 65535)\n\t{\n\t\t[self logError:@\"Valid port required\"];\n\t\treturn;\n\t}\n\t\n\tNSString *msg = [messageField stringValue];\n\tif ([msg length] == 0)\n\t{\n\t\t[self logError:@\"Message required\"];\n\t\treturn;\n\t}\n\t\n\tNSData *data = [msg dataUsingEncoding:NSUTF8StringEncoding];\n\t[udpSocket sendData:data toHost:host port:port withTimeout:-1 tag:tag];\n\t\n\t[self logMessage:FORMAT(@\"SENT (%i): %@\", (int)tag, msg)];\n\t\n\ttag++;\n}\n\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didSendDataWithTag:(long)tag\n{\n\t// You could add checks here\n}\n\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error\n{\n\t// You could add checks here\n}\n\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data\n                                               fromAddress:(NSData *)address\n                                         withFilterContext:(id)filterContext\n{\n\tNSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\tif (msg)\n\t{\n\t\t[self logMessage:FORMAT(@\"RECV: %@\", msg)];\n\t}\n\telse\n\t{\n\t\tNSString *host = nil;\n\t\tuint16_t port = 0;\n\t\t[GCDAsyncUdpSocket getHost:&host port:&port fromAddress:address];\n\t\t\n\t\t[self logInfo:FORMAT(@\"RECV: Unknown message from: %@:%hu\", host, port)];\n\t}\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Desktop/UdpEchoClient/UdpEchoClient-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2011 __MyCompanyName__. All rights reserved.</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Desktop/UdpEchoClient/UdpEchoClient-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'UdpEchoClient' target in the 'UdpEchoClient' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Desktop/UdpEchoClient/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Desktop/UdpEchoClient/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Desktop/UdpEchoClient/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11D50b</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2182</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.32</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">568.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">2182</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSScroller</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSTextFieldCell</string>\n\t\t\t<string>NSScrollView</string>\n\t\t\t<string>NSButtonCell</string>\n\t\t\t<string>NSButton</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t\t<string>NSTextView</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSTextField</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoClient</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoClient</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About UdpEchoClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide UdpEchoClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit UdpEchoClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoClient Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {415, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">UdpEchoClient</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<string key=\"NSWindowContentMinSize\">{275, 250}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t<object class=\"NSButton\" id=\"530310016\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">265</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{319, 279}, {82, 32}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"492771759\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:687</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSButtonCell\" key=\"NSCell\" id=\"423127568\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">67239424</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">134217728</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Send</string>\n\t\t\t\t\t\t\t\t<object class=\"NSFont\" key=\"NSSupport\" id=\"122514327\">\n\t\t\t\t\t\t\t\t\t<string key=\"NSName\">LucidaGrande</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSSize\">13</double>\n\t\t\t\t\t\t\t\t\t<int key=\"NSfFlags\">1044</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:687</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"530310016\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags\">-2038284033</int>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags2\">129</int>\n\t\t\t\t\t\t\t\t<string key=\"NSAlternateContents\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSKeyEquivalent\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicDelay\">200</int>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicInterval\">25</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"526517092\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">266</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 318}, {227, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"441416311\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:903</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"745215057\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"122514327\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">domain.tld or IP address</string>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:903</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"526517092\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\" id=\"715526439\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"829060706\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\" id=\"82675212\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"108659636\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"441416311\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">265</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{255, 318}, {62, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"1007774819\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:903</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"299341168\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"122514327\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">port</string>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:903</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"441416311\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"715526439\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSTextColor\" ref=\"82675212\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"1007774819\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">266</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 286}, {297, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"530310016\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:903</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"969455757\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"122514327\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">message to send</string>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:903</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"1007774819\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"715526439\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSTextColor\" ref=\"82675212\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSScrollView\" id=\"492771759\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t<object class=\"NSClipView\" id=\"184640169\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"492771759\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2304</int>\n\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextView\" id=\"864361147\">\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"184640169\"/>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2322</int>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSFrameSize\">{373, 133}</string>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"184640169\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"135368740\"/>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1480</string>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextContainer\" key=\"NSTextContainer\" id=\"559077142\">\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSLayoutManager\" key=\"NSLayoutManager\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextStorage\" key=\"NSTextStorage\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableString\" key=\"NSString\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<characters key=\"NS.bytes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSTextContainers\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"559077142\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSLMFlags\">134</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSTextView\" ref=\"864361147\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSWidth\">373</double>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTCFlags\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextViewSharedData\" key=\"NSSharedData\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSFlags\">67120999</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTextCheckingTypes\">0</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSMarkedAttributes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"829060706\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSSelectedAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MC42NjY2NjY2NjY3AA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"108659636\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSInsertionColor\" ref=\"108659636\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSLinkAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDEAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{8, -8}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSCursorType\">13</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"1\" key=\"NSUnderline\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDefaultParagraphStyle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSTextFinder\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSPreferredTextFinderStyle\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTVFlags\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMaxSize\">{463, 10000000}</string>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMinize\">{238, 133}</string>\n\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{1, 1}, {373, 256}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"492771759\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"864361147\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1478</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSDocView\" ref=\"864361147\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSBGColor\" ref=\"829060706\"/>\n\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{4, 5}</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSImage\" key=\"NSImage\">\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSImageFlags\">12582912</int>\n\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSReps\">\n\t\t\t\t\t\t\t\t\t\t\t\t<array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"0\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSBitmapImageRep\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSData\" key=\"NSTIFFRepresentation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NS.bytes\">TU0AKgAAAHCAFUqgBVKsAAAAwdVQUqwaEQeIRGJRGFlYqwWLQ+JxuOQpVRmEx2RROKwOQyOUQSPyaUym\nSxqWyKXyeYxyZzWbSuJTScRCbz2Nz+gRKhUOfTqeUai0OSxiWTiBQSHSGFquGwekxyAgAAAOAQAAAwAA\nAAEAEAAAAQEAAwAAAAEAEAAAAQIAAwAAAAIACAAIAQMAAwAAAAEABQAAAQYAAwAAAAEAAQAAAREABAAA\nAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEAAgAAARYAAwAAAAEAEAAAARcABAAAAAEAAABnARwAAwAA\nAAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MCAwAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t<int key=\"NScvFlags\">4</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"95544789\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"492771759\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{359, 1}, {15, 256}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"492771759\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1494</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"492771759\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.85256409645080566</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"135368740\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"492771759\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">-2147483392</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{-100, -100}, {87, 18}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"492771759\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"184640169\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1482</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSsFlags\">1</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"492771759\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.94565218687057495</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 20}, {375, 258}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"184640169\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:940</string>\n\t\t\t\t\t\t\t<int key=\"NSsFlags\">133138</int>\n\t\t\t\t\t\t\t<reference key=\"NSVScroller\" ref=\"95544789\"/>\n\t\t\t\t\t\t\t<reference key=\"NSHScroller\" ref=\"135368740\"/>\n\t\t\t\t\t\t\t<reference key=\"NSContentView\" ref=\"184640169\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</array>\n\t\t\t\t\t<string key=\"NSFrameSize\">{415, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"526517092\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1440, 878}}</string>\n\t\t\t\t<string key=\"NSMinSize\">{275, 272}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<string key=\"NSFrameAutosaveName\">PrimaryWindow</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addrField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"526517092\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">548</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">portField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"441416311\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">549</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">messageField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1007774819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">550</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">sendButton</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"530310016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">551</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">logView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"864361147\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">552</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">send</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"530310016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">553</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"526517092\"/>\n\t\t\t\t\t\t\t<reference ref=\"1007774819\"/>\n\t\t\t\t\t\t\t<reference ref=\"530310016\"/>\n\t\t\t\t\t\t\t<reference ref=\"441416311\"/>\n\t\t\t\t\t\t\t<reference ref=\"492771759\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">536</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"530310016\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"423127568\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">537</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"423127568\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"530310016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">538</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"526517092\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"745215057\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">539</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"745215057\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"526517092\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">540</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"441416311\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299341168\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">541</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299341168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"441416311\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">542</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1007774819\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"969455757\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">543</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"969455757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1007774819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">544</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"492771759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"864361147\"/>\n\t\t\t\t\t\t\t<reference ref=\"135368740\"/>\n\t\t\t\t\t\t\t<reference ref=\"95544789\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">545</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"864361147\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"492771759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">546</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"135368740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"492771759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">547</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"95544789\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"492771759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"536.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"537.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"538.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"539.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"540.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"541.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"542.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"543.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"544.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"545.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"546.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"547.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">553</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\"/>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{11, 11}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{10, 3}</string>\n\t\t</dictionary>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Desktop/UdpEchoClient/main.m",
    "content": "//\n//  main.m\n//  UdpEchoClient\n//\n//  Created by Robbie Hanson on 11/28/11.\n//  Copyright (c) 2011 __MyCompanyName__. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n\treturn NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Desktop/UdpEchoClient.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C32857186CDCFF00F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32852186CDCFF00F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C32858186CDCFF00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32854186CDCFF00F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C32859186CDCFF00F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32856186CDCFF00F6D762 /* DDMultiFormatter.m */; };\n\t\tDC34A1FE1484363D004F0A03 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC34A1FD1484363D004F0A03 /* Cocoa.framework */; };\n\t\tDC34A2081484363D004F0A03 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC34A2061484363D004F0A03 /* InfoPlist.strings */; };\n\t\tDC34A20A1484363D004F0A03 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC34A2091484363D004F0A03 /* main.m */; };\n\t\tDC34A20E1484363D004F0A03 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC34A20C1484363D004F0A03 /* Credits.rtf */; };\n\t\tDC34A2111484363D004F0A03 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC34A2101484363D004F0A03 /* AppDelegate.m */; };\n\t\tDC34A2141484363D004F0A03 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC34A2121484363D004F0A03 /* MainMenu.xib */; };\n\t\tDCC96B21152E12970064C500 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96B12152E12970064C500 /* DDAbstractDatabaseLogger.m */; };\n\t\tDCC96B22152E12970064C500 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96B14152E12970064C500 /* DDASLLogger.m */; };\n\t\tDCC96B23152E12970064C500 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96B16152E12970064C500 /* DDFileLogger.m */; };\n\t\tDCC96B24152E12970064C500 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96B18152E12970064C500 /* DDLog.m */; };\n\t\tDCC96B25152E12970064C500 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96B1A152E12970064C500 /* DDTTYLogger.m */; };\n\t\tDCC96B28152E12970064C500 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DCC96B20152E12970064C500 /* README.txt */; };\n\t\tDCC96B2B152E12A60064C500 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96B2A152E12A60064C500 /* GCDAsyncUdpSocket.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C32850186CDCF300F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C32851186CDCFF00F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32852186CDCFF00F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32853186CDCFF00F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32854186CDCFF00F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32855186CDCFF00F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32856186CDCFF00F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDC34A1F91484363D004F0A03 /* UdpEchoClient.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UdpEchoClient.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC34A1FD1484363D004F0A03 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC34A2001484363D004F0A03 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC34A2011484363D004F0A03 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC34A2021484363D004F0A03 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC34A2051484363D004F0A03 /* UdpEchoClient-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"UdpEchoClient-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC34A2071484363D004F0A03 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC34A2091484363D004F0A03 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC34A20B1484363D004F0A03 /* UdpEchoClient-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"UdpEchoClient-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC34A20D1484363D004F0A03 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC34A20F1484363D004F0A03 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC34A2101484363D004F0A03 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC34A2131484363D004F0A03 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDCC96B11152E12970064C500 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDCC96B12152E12970064C500 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDCC96B13152E12970064C500 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDCC96B14152E12970064C500 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDCC96B15152E12970064C500 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDCC96B16152E12970064C500 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDCC96B17152E12970064C500 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLog.h; sourceTree = \"<group>\"; };\n\t\tDCC96B18152E12970064C500 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLog.m; sourceTree = \"<group>\"; };\n\t\tDCC96B19152E12970064C500 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDCC96B1A152E12970064C500 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDCC96B20152E12970064C500 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n\t\tDCC96B29152E12A60064C500 /* GCDAsyncUdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncUdpSocket.h; path = ../../../GCDAsyncUdpSocket.h; sourceTree = \"<group>\"; };\n\t\tDCC96B2A152E12A60064C500 /* GCDAsyncUdpSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncUdpSocket.m; path = ../../../GCDAsyncUdpSocket.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC34A1F61484363D004F0A03 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC34A1FE1484363D004F0A03 /* Cocoa.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC34A1EE1484363D004F0A03 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96B10152E12970064C500 /* Logging */,\n\t\t\t\tDC34A21A14843649004F0A03 /* UDP */,\n\t\t\t\tDC34A2031484363D004F0A03 /* UdpEchoClient */,\n\t\t\t\tDC34A1FC1484363D004F0A03 /* Frameworks */,\n\t\t\t\tDC34A1FA1484363D004F0A03 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1FA1484363D004F0A03 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1F91484363D004F0A03 /* UdpEchoClient.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1FC1484363D004F0A03 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1FD1484363D004F0A03 /* Cocoa.framework */,\n\t\t\t\tDC34A1FF1484363D004F0A03 /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1FF1484363D004F0A03 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A2001484363D004F0A03 /* AppKit.framework */,\n\t\t\t\tDC34A2011484363D004F0A03 /* CoreData.framework */,\n\t\t\t\tDC34A2021484363D004F0A03 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A2031484363D004F0A03 /* UdpEchoClient */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A20F1484363D004F0A03 /* AppDelegate.h */,\n\t\t\t\tDC34A2101484363D004F0A03 /* AppDelegate.m */,\n\t\t\t\tDC34A2121484363D004F0A03 /* MainMenu.xib */,\n\t\t\t\tDC34A2041484363D004F0A03 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = UdpEchoClient;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A2041484363D004F0A03 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A2051484363D004F0A03 /* UdpEchoClient-Info.plist */,\n\t\t\t\tDC34A2061484363D004F0A03 /* InfoPlist.strings */,\n\t\t\t\tDC34A2091484363D004F0A03 /* main.m */,\n\t\t\t\tDC34A20B1484363D004F0A03 /* UdpEchoClient-Prefix.pch */,\n\t\t\t\tDC34A20C1484363D004F0A03 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A21A14843649004F0A03 /* UDP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96B29152E12A60064C500 /* GCDAsyncUdpSocket.h */,\n\t\t\t\tDCC96B2A152E12A60064C500 /* GCDAsyncUdpSocket.m */,\n\t\t\t);\n\t\t\tname = UDP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96B10152E12970064C500 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96B11152E12970064C500 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDCC96B12152E12970064C500 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDCC96B13152E12970064C500 /* DDASLLogger.h */,\n\t\t\t\tDCC96B14152E12970064C500 /* DDASLLogger.m */,\n\t\t\t\tDCC96B15152E12970064C500 /* DDFileLogger.h */,\n\t\t\t\tDCC96B16152E12970064C500 /* DDFileLogger.m */,\n\t\t\t\tDCC96B17152E12970064C500 /* DDLog.h */,\n\t\t\t\tDCC96B18152E12970064C500 /* DDLog.m */,\n\t\t\t\t11C32850186CDCF300F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDCC96B19152E12970064C500 /* DDTTYLogger.h */,\n\t\t\t\tDCC96B1A152E12970064C500 /* DDTTYLogger.m */,\n\t\t\t\tDCC96B1B152E12970064C500 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96B1B152E12970064C500 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C32851186CDCFF00F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C32852186CDCFF00F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C32853186CDCFF00F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C32854186CDCFF00F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C32855186CDCFF00F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C32856186CDCFF00F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDCC96B20152E12970064C500 /* README.txt */,\n\t\t\t);\n\t\t\tpath = Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC34A1F81484363D004F0A03 /* UdpEchoClient */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC34A2171484363D004F0A03 /* Build configuration list for PBXNativeTarget \"UdpEchoClient\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC34A1F51484363D004F0A03 /* Sources */,\n\t\t\t\tDC34A1F61484363D004F0A03 /* Frameworks */,\n\t\t\t\tDC34A1F71484363D004F0A03 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = UdpEchoClient;\n\t\t\tproductName = UdpEchoClient;\n\t\t\tproductReference = DC34A1F91484363D004F0A03 /* UdpEchoClient.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC34A1F01484363D004F0A03 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0510;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC34A1F31484363D004F0A03 /* Build configuration list for PBXProject \"UdpEchoClient\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC34A1EE1484363D004F0A03;\n\t\t\tproductRefGroup = DC34A1FA1484363D004F0A03 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC34A1F81484363D004F0A03 /* UdpEchoClient */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC34A1F71484363D004F0A03 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC34A2081484363D004F0A03 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC34A20E1484363D004F0A03 /* Credits.rtf in Resources */,\n\t\t\t\tDC34A2141484363D004F0A03 /* MainMenu.xib in Resources */,\n\t\t\t\tDCC96B28152E12970064C500 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC34A1F51484363D004F0A03 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC34A20A1484363D004F0A03 /* main.m in Sources */,\n\t\t\t\tDC34A2111484363D004F0A03 /* AppDelegate.m in Sources */,\n\t\t\t\tDCC96B21152E12970064C500 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\t11C32857186CDCFF00F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDCC96B22152E12970064C500 /* DDASLLogger.m in Sources */,\n\t\t\t\tDCC96B23152E12970064C500 /* DDFileLogger.m in Sources */,\n\t\t\t\tDCC96B24152E12970064C500 /* DDLog.m in Sources */,\n\t\t\t\t11C32859186CDCFF00F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\t11C32858186CDCFF00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDCC96B25152E12970064C500 /* DDTTYLogger.m in Sources */,\n\t\t\t\tDCC96B2B152E12A60064C500 /* GCDAsyncUdpSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC34A2061484363D004F0A03 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A2071484363D004F0A03 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A20C1484363D004F0A03 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A20D1484363D004F0A03 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A2121484363D004F0A03 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A2131484363D004F0A03 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC34A2151484363D004F0A03 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC34A2161484363D004F0A03 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC34A2181484363D004F0A03 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoClient/UdpEchoClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoClient/UdpEchoClient-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC34A2191484363D004F0A03 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoClient/UdpEchoClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoClient/UdpEchoClient-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC34A1F31484363D004F0A03 /* Build configuration list for PBXProject \"UdpEchoClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC34A2151484363D004F0A03 /* Debug */,\n\t\t\t\tDC34A2161484363D004F0A03 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC34A2171484363D004F0A03 /* Build configuration list for PBXNativeTarget \"UdpEchoClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC34A2181484363D004F0A03 /* Debug */,\n\t\t\t\tDC34A2191484363D004F0A03 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC34A1F01484363D004F0A03 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient/AppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class ViewController;\n\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n@property (strong, nonatomic) ViewController *viewController;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import \"ViewController.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n@synthesize viewController = _viewController;\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n\t// Setup our logging framework.\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t\n\tself.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];\n\t\n\tself.viewController = [[ViewController alloc] initWithNibName:@\"ViewController\" bundle:nil];\n\tself.window.rootViewController = self.viewController;\n\t\n\t[self.window makeKeyAndVisible];\n\treturn YES;\n}\n\n- (void)applicationWillResignActive:(UIApplication *)application\n{\t\n}\n\n- (void)applicationDidEnterBackground:(UIApplication *)application\n{\n}\n\n- (void)applicationWillEnterForeground:(UIApplication *)application\n{\n}\n\n- (void)applicationDidBecomeActive:(UIApplication *)application\n{\n}\n\n- (void)applicationWillTerminate:(UIApplication *)application\n{\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient/UdpEchoClient-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient/UdpEchoClient-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'UdpEchoClient' target in the 'UdpEchoClient' project\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_4_0\n#warning \"This project uses features only available in iOS SDK 4.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n\t#import <UIKit/UIKit.h>\n\t#import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient/ViewController.h",
    "content": "#import <UIKit/UIKit.h>\n#import \"GCDAsyncUdpSocket.h\"\n\n@interface ViewController : UIViewController <GCDAsyncUdpSocketDelegate>\n{\n\tIBOutlet UITextField *addrField;\n\tIBOutlet UITextField *portField;\n\tIBOutlet UITextField *messageField;\n\tIBOutlet UIWebView *webView;\n}\n\n- (IBAction)send:(id)sender;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient/ViewController.m",
    "content": "#import \"ViewController.h\"\n#import \"GCDAsyncUdpSocket.h\"\n#import \"DDLog.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n#define FORMAT(format, ...) [NSString stringWithFormat:(format), ##__VA_ARGS__]\n\n@interface ViewController ()\n{\n\tlong tag;\n\tGCDAsyncUdpSocket *udpSocket;\n\t\n\tNSMutableString *log;\n}\n\n@end\n\n\n@implementation ViewController\n\n- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil\n{\n\tif ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]))\n\t{\n\t\tlog = [[NSMutableString alloc] init];\n\t}\n\treturn self;\n}\n\n- (void)setupSocket\n{\n\t// Setup our socket.\n\t// The socket will invoke our delegate methods using the usual delegate paradigm.\n\t// However, it will invoke the delegate methods on a specified GCD delegate dispatch queue.\n\t// \n\t// Now we can configure the delegate dispatch queues however we want.\n\t// We could simply use the main dispatc queue, so the delegate methods are invoked on the main thread.\n\t// Or we could use a dedicated dispatch queue, which could be helpful if we were doing a lot of processing.\n\t// \n\t// The best approach for your application will depend upon convenience, requirements and performance.\n\t// \n\t// For this simple example, we're just going to use the main thread.\n\t\n\tudpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n\t\n\tNSError *error = nil;\n\t\n\tif (![udpSocket bindToPort:0 error:&error])\n\t{\n\t\t[self logError:FORMAT(@\"Error binding: %@\", error)];\n\t\treturn;\n\t}\n\tif (![udpSocket beginReceiving:&error])\n\t{\n\t\t[self logError:FORMAT(@\"Error receiving: %@\", error)];\n\t\treturn;\n\t}\n\t\n\t[self logInfo:@\"Ready\"];\n}\n\n- (void)viewDidLoad\n{\n\t[super viewDidLoad];\n\t\n\tif (udpSocket == nil)\n\t{\n\t\t[self setupSocket];\n\t}\n\t\n\t[[NSNotificationCenter defaultCenter] addObserver:self\n\t                                         selector:@selector(keyboardWillShow:)\n\t                                             name:UIKeyboardWillShowNotification \n\t                                           object:nil];\n\t\n\t[[NSNotificationCenter defaultCenter] addObserver:self\n\t                                         selector:@selector(keyboardWillHide:)\n\t                                             name:UIKeyboardWillHideNotification\n\t                                           object:nil];\n}\n\n- (void)viewDidUnload\n{\n\t[super viewDidUnload];\n\t\n\t[[NSNotificationCenter defaultCenter] removeObserver:self];\n}\n\n- (void)getKeyboardHeight:(float *)keyboardHeightPtr\n        animationDuration:(double *)animationDurationPtr\n                     from:(NSNotification *)notification\n{\n\tfloat keyboardHeight;\n\tdouble animationDuration;\n\t\n\t// UIKeyboardCenterBeginUserInfoKey:\n\t// The key for an NSValue object containing a CGRect\n\t// that identifies the start frame of the keyboard in screen coordinates.\n\t\n\tCGRect beginRect = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];\n\tCGRect endRect   = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];\n\t\n\tif (UIInterfaceOrientationIsLandscape(self.interfaceOrientation))\n\t{\n\t\tkeyboardHeight = ABS(beginRect.origin.x - endRect.origin.x);\n\t}\n\telse\n\t{\n\t\tkeyboardHeight = ABS(beginRect.origin.y - endRect.origin.y);\n\t}\n\t\n\t// UIKeyboardAnimationDurationUserInfoKey\n\t// The key for an NSValue object containing a double that identifies the duration of the animation in seconds.\n\t\n\tanimationDuration = [[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];\n\t\n\tif (keyboardHeightPtr) *keyboardHeightPtr = keyboardHeight;\n\tif (animationDurationPtr) *animationDurationPtr = animationDuration;\n}\n\n- (void)keyboardWillShow:(NSNotification *)notification\n{\n\tfloat keyboardHeight = 0.0F;\n\tdouble animationDuration = 0.0;\n\t\n\t[self getKeyboardHeight:&keyboardHeight animationDuration:&animationDuration from:notification];\n\t\n\tCGRect webViewFrame = webView.frame;\n\twebViewFrame.size.height -= keyboardHeight;\n\t\n\tvoid (^animationBlock)(void) = ^{\n\t\t\n\t\twebView.frame = webViewFrame;\n\t};\n\t\n\tUIViewAnimationOptions options = 0;\n\t\n\t[UIView animateWithDuration:animationDuration\n\t                      delay:0.0\n\t                    options:options\n\t                 animations:animationBlock\n\t                 completion:NULL];\n}\n\n- (void)keyboardWillHide:(NSNotification *)notification\n{\n\tfloat keyboardHeight = 0.0F;\n\tdouble animationDuration = 0.0;\n\t\n\t[self getKeyboardHeight:&keyboardHeight animationDuration:&animationDuration from:notification];\n\t\n\tCGRect webViewFrame = webView.frame;\n\twebViewFrame.size.height += keyboardHeight;\n\t\n\tvoid (^animationBlock)(void) = ^{\n\t\t\n\t\twebView.frame = webViewFrame;\n\t};\n\t\n\tUIViewAnimationOptions options = 0;\n\t\n\t[UIView animateWithDuration:animationDuration\n\t                      delay:0.0\n\t                    options:options\n\t                 animations:animationBlock\n\t                 completion:NULL];\n}\n\n- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error\n{\n\tDDLogError(@\"webView:didFailLoadWithError: %@\", error);\n}\n\n- (void)webViewDidFinishLoad:(UIWebView *)sender\n{\n\tNSString *scrollToBottom = @\"window.scrollTo(document.body.scrollWidth, document.body.scrollHeight);\";\n\t\n    [sender stringByEvaluatingJavaScriptFromString:scrollToBottom];\n}\n\n- (void)logError:(NSString *)msg\n{\n\tNSString *prefix = @\"<font color=\\\"#B40404\\\">\";\n\tNSString *suffix = @\"</font><br/>\";\n\t\n\t[log appendFormat:@\"%@%@%@\\n\", prefix, msg, suffix];\n\t\n\tNSString *html = [NSString stringWithFormat:@\"<html><body>\\n%@\\n</body></html>\", log];\n\t[webView loadHTMLString:html baseURL:nil];\n}\n\n- (void)logInfo:(NSString *)msg\n{\n\tNSString *prefix = @\"<font color=\\\"#6A0888\\\">\";\n\tNSString *suffix = @\"</font><br/>\";\n\t\n\t[log appendFormat:@\"%@%@%@\\n\", prefix, msg, suffix];\n\t\n\tNSString *html = [NSString stringWithFormat:@\"<html><body>\\n%@\\n</body></html>\", log];\n\t[webView loadHTMLString:html baseURL:nil];\n}\n\n- (void)logMessage:(NSString *)msg\n{\n\tNSString *prefix = @\"<font color=\\\"#000000\\\">\";\n\tNSString *suffix = @\"</font><br/>\";\n\t\n\t[log appendFormat:@\"%@%@%@\\n\", prefix, msg, suffix];\n\t\n\tNSString *html = [NSString stringWithFormat:@\"<html><body>%@</body></html>\", log];\n\t[webView loadHTMLString:html baseURL:nil];\n}\n\n- (IBAction)send:(id)sender\n{\n\tNSString *host = addrField.text;\n\tif ([host length] == 0)\n\t{\n\t\t[self logError:@\"Address required\"];\n\t\treturn;\n\t}\n\t\n\tint port = [portField.text intValue];\n\tif (port <= 0 || port > 65535)\n\t{\n\t\t[self logError:@\"Valid port required\"];\n\t\treturn;\n\t}\n\t\n\tNSString *msg = messageField.text;\n\tif ([msg length] == 0)\n\t{\n\t\t[self logError:@\"Message required\"];\n\t\treturn;\n\t}\n\t\n\tNSData *data = [msg dataUsingEncoding:NSUTF8StringEncoding];\n\t[udpSocket sendData:data toHost:host port:port withTimeout:-1 tag:tag];\n\t\n\t[self logMessage:FORMAT(@\"SENT (%i): %@\", (int)tag, msg)];\n\t\n\ttag++;\n}\n\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didSendDataWithTag:(long)tag\n{\n\t// You could add checks here\n}\n\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error\n{\n\t// You could add checks here\n}\n\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data\n                                               fromAddress:(NSData *)address\n                                         withFilterContext:(id)filterContext\n{\n\tNSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\tif (msg)\n\t{\n\t\t[self logMessage:FORMAT(@\"RECV: %@\", msg)];\n\t}\n\telse\n\t{\n\t\tNSString *host = nil;\n\t\tuint16_t port = 0;\n\t\t[GCDAsyncUdpSocket getHost:&host port:&port fromAddress:address];\n\t\t\n\t\t[self logInfo:FORMAT(@\"RECV: Unknown message from: %@:%hu\", host, port)];\n\t}\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient/en.lproj/ViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1296</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11D50b</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2182</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.32</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">568.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1181</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>IBUIWebView</string>\n\t\t\t<string>IBUIButton</string>\n\t\t\t<string>IBUIView</string>\n\t\t\t<string>IBUITextField</string>\n\t\t\t<string>IBProxyObject</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t<object class=\"IBUITextField\" id=\"167980628\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 20}, {206, 31}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"654495561\"/>\n\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t\t\t<bool key=\"IBUIClipsSubviews\">YES</bool>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<int key=\"IBUIContentVerticalAlignment\">0</int>\n\t\t\t\t\t\t<string key=\"IBUIText\"/>\n\t\t\t\t\t\t<int key=\"IBUIBorderStyle\">3</int>\n\t\t\t\t\t\t<string key=\"IBUIPlaceholder\">domain.tld or ip address</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUITextColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\" id=\"133688650\">\n\t\t\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<bool key=\"IBUIAdjustsFontSizeToFit\">YES</bool>\n\t\t\t\t\t\t<float key=\"IBUIMinimumFontSize\">17</float>\n\t\t\t\t\t\t<object class=\"IBUITextInputTraits\" key=\"IBUITextInputTraits\">\n\t\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBUIFontDescription\" key=\"IBUIFontDescription\" id=\"854186070\">\n\t\t\t\t\t\t\t<int key=\"type\">1</int>\n\t\t\t\t\t\t\t<double key=\"pointSize\">14</double>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSFont\" key=\"IBUIFont\" id=\"626367825\">\n\t\t\t\t\t\t\t<string key=\"NSName\">Helvetica</string>\n\t\t\t\t\t\t\t<double key=\"NSSize\">14</double>\n\t\t\t\t\t\t\t<int key=\"NSfFlags\">16</int>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBUITextField\" id=\"654495561\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{234, 20}, {66, 31}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"864407844\"/>\n\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t\t\t<bool key=\"IBUIClipsSubviews\">YES</bool>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<int key=\"IBUIContentVerticalAlignment\">0</int>\n\t\t\t\t\t\t<string key=\"IBUIText\"/>\n\t\t\t\t\t\t<int key=\"IBUIBorderStyle\">3</int>\n\t\t\t\t\t\t<string key=\"IBUIPlaceholder\">port #</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUITextColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t<reference key=\"NSCustomColorSpace\" ref=\"133688650\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<bool key=\"IBUIAdjustsFontSizeToFit\">YES</bool>\n\t\t\t\t\t\t<float key=\"IBUIMinimumFontSize\">17</float>\n\t\t\t\t\t\t<object class=\"IBUITextInputTraits\" key=\"IBUITextInputTraits\">\n\t\t\t\t\t\t\t<int key=\"IBUIKeyboardType\">4</int>\n\t\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"IBUIFontDescription\" ref=\"854186070\"/>\n\t\t\t\t\t\t<reference key=\"IBUIFont\" ref=\"626367825\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBUITextField\" id=\"864407844\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 59}, {280, 31}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"384217150\"/>\n\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t\t\t<bool key=\"IBUIClipsSubviews\">YES</bool>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<int key=\"IBUIContentVerticalAlignment\">0</int>\n\t\t\t\t\t\t<string key=\"IBUIText\"/>\n\t\t\t\t\t\t<int key=\"IBUIBorderStyle\">3</int>\n\t\t\t\t\t\t<string key=\"IBUIPlaceholder\">message to send (via udp)</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUITextColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t<reference key=\"NSCustomColorSpace\" ref=\"133688650\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<bool key=\"IBUIAdjustsFontSizeToFit\">YES</bool>\n\t\t\t\t\t\t<float key=\"IBUIMinimumFontSize\">17</float>\n\t\t\t\t\t\t<object class=\"IBUITextInputTraits\" key=\"IBUITextInputTraits\">\n\t\t\t\t\t\t\t<int key=\"IBUIReturnKeyType\">7</int>\n\t\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"IBUIFontDescription\" ref=\"854186070\"/>\n\t\t\t\t\t\t<reference key=\"IBUIFont\" ref=\"626367825\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBUIButton\" id=\"384217150\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 98}, {280, 37}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<int key=\"IBUIContentHorizontalAlignment\">0</int>\n\t\t\t\t\t\t<int key=\"IBUIContentVerticalAlignment\">0</int>\n\t\t\t\t\t\t<int key=\"IBUIButtonType\">1</int>\n\t\t\t\t\t\t<string key=\"IBUINormalTitle\">Send</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUIHighlightedTitleColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUINormalTitleColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUINormalTitleShadowColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MC41AA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBUIFontDescription\" key=\"IBUIFontDescription\">\n\t\t\t\t\t\t\t<int key=\"type\">2</int>\n\t\t\t\t\t\t\t<double key=\"pointSize\">15</double>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSFont\" key=\"IBUIFont\">\n\t\t\t\t\t\t\t<string key=\"NSName\">Helvetica-Bold</string>\n\t\t\t\t\t\t\t<double key=\"NSSize\">15</double>\n\t\t\t\t\t\t\t<int key=\"NSfFlags\">16</int>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBUIWebView\" id=\"360731472\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 143}, {280, 297}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MSAxIDEAA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<int key=\"IBUIDataDetectorTypes\">1</int>\n\t\t\t\t\t\t<bool key=\"IBUIDetectsPhoneNumbers\">YES</bool>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSFrame\">{{0, 20}, {320, 460}}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"167980628\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<reference key=\"NSCustomColorSpace\" ref=\"133688650\"/>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addrField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"167980628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">13</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">messageField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"864407844\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">14</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">portField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"654495561\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">15</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">webView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"360731472\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">16</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchEventConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">send:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"864407844\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"372490531\"/>\n\t\t\t\t\t\t<int key=\"IBEventType\">20</int>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">18</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchEventConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">send:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"384217150\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"372490531\"/>\n\t\t\t\t\t\t<int key=\"IBEventType\">7</int>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">17</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"360731472\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"372490531\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">19</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"167980628\"/>\n\t\t\t\t\t\t\t<reference ref=\"654495561\"/>\n\t\t\t\t\t\t\t<reference ref=\"864407844\"/>\n\t\t\t\t\t\t\t<reference ref=\"384217150\"/>\n\t\t\t\t\t\t\t<reference ref=\"360731472\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">8</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"167980628\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">9</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"654495561\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"864407844\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">11</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"384217150\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">12</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"360731472\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.CustomClassName\">ViewController</string>\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"-2.CustomClassName\">UIResponder</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"10.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"11.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"12.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"6.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"8.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"9.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">19</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">send:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">send:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">send:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"addrField\">UITextField</string>\n\t\t\t\t\t\t<string key=\"messageField\">UITextField</string>\n\t\t\t\t\t\t<string key=\"portField\">UITextField</string>\n\t\t\t\t\t\t<string key=\"webView\">UIWebView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addrField\">\n\t\t\t\t\t\t\t<string key=\"name\">addrField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">UITextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"messageField\">\n\t\t\t\t\t\t\t<string key=\"name\">messageField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">UITextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"portField\">\n\t\t\t\t\t\t\t<string key=\"name\">portField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">UITextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"webView\">\n\t\t\t\t\t\t\t<string key=\"name\">webView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">UIWebView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>\n\t\t\t<real value=\"1296\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">1181</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient/main.m",
    "content": "//\n//  main.m\n//  UdpEchoClient\n//\n//  Created by Robbie Hanson on 4/5/12.\n//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char *argv[])\n{\n\t@autoreleasepool {\n\t    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n\t}\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoClient/Mobile/UdpEchoClient.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C32861186CDD2A00F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3285C186CDD2A00F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C32862186CDD2A00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3285E186CDD2A00F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C32863186CDD2A00F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32860186CDD2A00F6D762 /* DDMultiFormatter.m */; };\n\t\tDC49317917F9F88F00402F77 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DC49317817F9F88F00402F77 /* Default-568h@2x.png */; };\n\t\tDCC96ACD152E11210064C500 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCC96ACC152E11210064C500 /* UIKit.framework */; };\n\t\tDCC96ACF152E11210064C500 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCC96ACE152E11210064C500 /* Foundation.framework */; };\n\t\tDCC96AD1152E11210064C500 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCC96AD0152E11210064C500 /* CoreGraphics.framework */; };\n\t\tDCC96AD7152E11210064C500 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DCC96AD5152E11210064C500 /* InfoPlist.strings */; };\n\t\tDCC96AD9152E11210064C500 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96AD8152E11210064C500 /* main.m */; };\n\t\tDCC96ADD152E11210064C500 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96ADC152E11210064C500 /* AppDelegate.m */; };\n\t\tDCC96AE0152E11210064C500 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96ADF152E11210064C500 /* ViewController.m */; };\n\t\tDCC96AE3152E11210064C500 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCC96AE1152E11210064C500 /* ViewController.xib */; };\n\t\tDCC96AFE152E11450064C500 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96AEF152E11450064C500 /* DDAbstractDatabaseLogger.m */; };\n\t\tDCC96AFF152E11450064C500 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96AF1152E11450064C500 /* DDASLLogger.m */; };\n\t\tDCC96B00152E11450064C500 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96AF3152E11450064C500 /* DDFileLogger.m */; };\n\t\tDCC96B01152E11450064C500 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96AF5152E11450064C500 /* DDLog.m */; };\n\t\tDCC96B02152E11450064C500 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96AF7152E11450064C500 /* DDTTYLogger.m */; };\n\t\tDCC96B05152E11450064C500 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DCC96AFD152E11450064C500 /* README.txt */; };\n\t\tDCC96B0A152E115C0064C500 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC96B09152E115C0064C500 /* GCDAsyncUdpSocket.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C3285A186CDD1F00F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C3285B186CDD2A00F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3285C186CDD2A00F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C3285D186CDD2A00F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3285E186CDD2A00F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C3285F186CDD2A00F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32860186CDD2A00F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDC49317817F9F88F00402F77 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = \"Default-568h@2x.png\"; path = \"../Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n\t\tDCC96AC8152E11210064C500 /* UdpEchoClient.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UdpEchoClient.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCC96ACC152E11210064C500 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\tDCC96ACE152E11210064C500 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDCC96AD0152E11210064C500 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tDCC96AD4152E11210064C500 /* UdpEchoClient-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"UdpEchoClient-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDCC96AD6152E11210064C500 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDCC96AD8152E11210064C500 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDCC96ADA152E11210064C500 /* UdpEchoClient-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"UdpEchoClient-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDCC96ADB152E11210064C500 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDCC96ADC152E11210064C500 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDCC96ADE152E11210064C500 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = \"<group>\"; };\n\t\tDCC96ADF152E11210064C500 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = \"<group>\"; };\n\t\tDCC96AE2152E11210064C500 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = \"<group>\"; };\n\t\tDCC96AEE152E11450064C500 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDCC96AEF152E11450064C500 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDCC96AF0152E11450064C500 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDCC96AF1152E11450064C500 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDCC96AF2152E11450064C500 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDCC96AF3152E11450064C500 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDCC96AF4152E11450064C500 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLog.h; sourceTree = \"<group>\"; };\n\t\tDCC96AF5152E11450064C500 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLog.m; sourceTree = \"<group>\"; };\n\t\tDCC96AF6152E11450064C500 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDCC96AF7152E11450064C500 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDCC96AFD152E11450064C500 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n\t\tDCC96B08152E115C0064C500 /* GCDAsyncUdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncUdpSocket.h; path = ../../../GCDAsyncUdpSocket.h; sourceTree = \"<group>\"; };\n\t\tDCC96B09152E115C0064C500 /* GCDAsyncUdpSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncUdpSocket.m; path = ../../../GCDAsyncUdpSocket.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDCC96AC5152E11210064C500 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCC96ACD152E11210064C500 /* UIKit.framework in Frameworks */,\n\t\t\t\tDCC96ACF152E11210064C500 /* Foundation.framework in Frameworks */,\n\t\t\t\tDCC96AD1152E11210064C500 /* CoreGraphics.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDCC96ABD152E11210064C500 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96AED152E11450064C500 /* Logging */,\n\t\t\t\tDCC96B07152E114C0064C500 /* UDP */,\n\t\t\t\tDCC96AD2152E11210064C500 /* UdpEchoClient */,\n\t\t\t\tDCC96ACB152E11210064C500 /* Frameworks */,\n\t\t\t\tDCC96AC9152E11210064C500 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96AC9152E11210064C500 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96AC8152E11210064C500 /* UdpEchoClient.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96ACB152E11210064C500 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96ACC152E11210064C500 /* UIKit.framework */,\n\t\t\t\tDCC96ACE152E11210064C500 /* Foundation.framework */,\n\t\t\t\tDCC96AD0152E11210064C500 /* CoreGraphics.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96AD2152E11210064C500 /* UdpEchoClient */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96ADB152E11210064C500 /* AppDelegate.h */,\n\t\t\t\tDCC96ADC152E11210064C500 /* AppDelegate.m */,\n\t\t\t\tDCC96ADE152E11210064C500 /* ViewController.h */,\n\t\t\t\tDCC96ADF152E11210064C500 /* ViewController.m */,\n\t\t\t\tDCC96AE1152E11210064C500 /* ViewController.xib */,\n\t\t\t\tDCC96AD3152E11210064C500 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = UdpEchoClient;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96AD3152E11210064C500 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC49317817F9F88F00402F77 /* Default-568h@2x.png */,\n\t\t\t\tDCC96AD4152E11210064C500 /* UdpEchoClient-Info.plist */,\n\t\t\t\tDCC96AD5152E11210064C500 /* InfoPlist.strings */,\n\t\t\t\tDCC96AD8152E11210064C500 /* main.m */,\n\t\t\t\tDCC96ADA152E11210064C500 /* UdpEchoClient-Prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96AED152E11450064C500 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96AEE152E11450064C500 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDCC96AEF152E11450064C500 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDCC96AF0152E11450064C500 /* DDASLLogger.h */,\n\t\t\t\tDCC96AF1152E11450064C500 /* DDASLLogger.m */,\n\t\t\t\tDCC96AF2152E11450064C500 /* DDFileLogger.h */,\n\t\t\t\tDCC96AF3152E11450064C500 /* DDFileLogger.m */,\n\t\t\t\tDCC96AF4152E11450064C500 /* DDLog.h */,\n\t\t\t\tDCC96AF5152E11450064C500 /* DDLog.m */,\n\t\t\t\t11C3285A186CDD1F00F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDCC96AF6152E11450064C500 /* DDTTYLogger.h */,\n\t\t\t\tDCC96AF7152E11450064C500 /* DDTTYLogger.m */,\n\t\t\t\tDCC96AF8152E11450064C500 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96AF8152E11450064C500 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C3285B186CDD2A00F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C3285C186CDD2A00F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C3285D186CDD2A00F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C3285E186CDD2A00F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C3285F186CDD2A00F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C32860186CDD2A00F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDCC96AFD152E11450064C500 /* README.txt */,\n\t\t\t);\n\t\t\tpath = Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96B07152E114C0064C500 /* UDP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96B08152E115C0064C500 /* GCDAsyncUdpSocket.h */,\n\t\t\t\tDCC96B09152E115C0064C500 /* GCDAsyncUdpSocket.m */,\n\t\t\t);\n\t\t\tname = UDP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDCC96AC7152E11210064C500 /* UdpEchoClient */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DCC96AE6152E11210064C500 /* Build configuration list for PBXNativeTarget \"UdpEchoClient\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDCC96AC4152E11210064C500 /* Sources */,\n\t\t\t\tDCC96AC5152E11210064C500 /* Frameworks */,\n\t\t\t\tDCC96AC6152E11210064C500 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = UdpEchoClient;\n\t\t\tproductName = UdpEchoClient;\n\t\t\tproductReference = DCC96AC8152E11210064C500 /* UdpEchoClient.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDCC96ABF152E11210064C500 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0500;\n\t\t\t};\n\t\t\tbuildConfigurationList = DCC96AC2152E11210064C500 /* Build configuration list for PBXProject \"UdpEchoClient\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DCC96ABD152E11210064C500;\n\t\t\tproductRefGroup = DCC96AC9152E11210064C500 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDCC96AC7152E11210064C500 /* UdpEchoClient */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDCC96AC6152E11210064C500 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCC96AD7152E11210064C500 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC49317917F9F88F00402F77 /* Default-568h@2x.png in Resources */,\n\t\t\t\tDCC96AE3152E11210064C500 /* ViewController.xib in Resources */,\n\t\t\t\tDCC96B05152E11450064C500 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDCC96AC4152E11210064C500 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t11C32863186CDD2A00F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\tDCC96AD9152E11210064C500 /* main.m in Sources */,\n\t\t\t\tDCC96ADD152E11210064C500 /* AppDelegate.m in Sources */,\n\t\t\t\t11C32862186CDD2A00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDCC96AE0152E11210064C500 /* ViewController.m in Sources */,\n\t\t\t\tDCC96AFE152E11450064C500 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDCC96AFF152E11450064C500 /* DDASLLogger.m in Sources */,\n\t\t\t\t11C32861186CDD2A00F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDCC96B00152E11450064C500 /* DDFileLogger.m in Sources */,\n\t\t\t\tDCC96B01152E11450064C500 /* DDLog.m in Sources */,\n\t\t\t\tDCC96B02152E11450064C500 /* DDTTYLogger.m in Sources */,\n\t\t\t\tDCC96B0A152E115C0064C500 /* GCDAsyncUdpSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDCC96AD5152E11210064C500 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96AD6152E11210064C500 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC96AE1152E11210064C500 /* ViewController.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC96AE2152E11210064C500 /* en */,\n\t\t\t);\n\t\t\tname = ViewController.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDCC96AE4152E11210064C500 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.1;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCC96AE5152E11210064C500 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.1;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCC96AE7152E11210064C500 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoClient/UdpEchoClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoClient/UdpEchoClient-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCC96AE8152E11210064C500 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoClient/UdpEchoClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoClient/UdpEchoClient-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDCC96AC2152E11210064C500 /* Build configuration list for PBXProject \"UdpEchoClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCC96AE4152E11210064C500 /* Debug */,\n\t\t\t\tDCC96AE5152E11210064C500 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCC96AE6152E11210064C500 /* Build configuration list for PBXNativeTarget \"UdpEchoClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCC96AE7152E11210064C500 /* Debug */,\n\t\t\t\tDCC96AE8152E11210064C500 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DCC96ABF152E11210064C500 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Desktop/UdpEchoServer/AppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n#import \"GCDAsyncUdpSocket.h\"\n\n\n@interface AppDelegate : NSObject <NSApplicationDelegate, GCDAsyncUdpSocketDelegate>\n{\n\tGCDAsyncUdpSocket *udpSocket;\n\tBOOL isRunning;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n@property  IBOutlet NSTextField *portField;\n@property  IBOutlet NSButton *startStopButton;\n@property  IBOutlet NSTextView *logView;\n\n- (IBAction)startStopButtonPressed:(id)sender;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Desktop/UdpEchoServer/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n#define FORMAT(format, ...) [NSString stringWithFormat:(format), ##__VA_ARGS__]\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n@synthesize portField;\n@synthesize startStopButton;\n@synthesize logView;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\t// Setup our logging framework.\n\t\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t\n\t// Setup our socket.\n\t// The socket will invoke our delegate methods using the usual delegate paradigm.\n\t// However, it will invoke the delegate methods on a specified GCD delegate dispatch queue.\n\t// \n\t// Now we can configure the delegate dispatch queues however we want.\n\t// We could simply use the main dispatch queue, so the delegate methods are invoked on the main thread.\n\t// Or we could use a dedicated dispatch queue, which could be helpful if we were doing a lot of processing.\n\t// \n\t// The best approach for your application will depend upon convenience, requirements and performance.\n\t// \n\t// For this simple example, we're just going to use the main thread.\n\t\n\tudpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n}\n\n- (void)awakeFromNib\n{\n\t[logView setEnabledTextCheckingTypes:0];\n\t[logView setAutomaticSpellingCorrectionEnabled:NO];\n}\n\n- (void)scrollToBottom\n{\n\tNSScrollView *scrollView = [logView enclosingScrollView];\n\tNSPoint newScrollOrigin;\n\t\n\tif ([[scrollView documentView] isFlipped])\n\t\tnewScrollOrigin = NSMakePoint(0.0F, NSMaxY([[scrollView documentView] frame]));\n\telse\n\t\tnewScrollOrigin = NSMakePoint(0.0F, 0.0F);\n\t\n\t[[scrollView documentView] scrollPoint:newScrollOrigin];\n}\n\n- (void)logError:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor redColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logInfo:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor purpleColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logMessage:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor blackColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (IBAction)startStopButtonPressed:(id)sender\n{\n\tif (isRunning)\n\t{\n\t\t// STOP udp echo server\n\t\t\n\t\t[udpSocket close];\n\t\t\n\t\t[self logInfo:@\"Stopped Udp Echo server\"];\n\t\tisRunning = false;\n\t\t\n\t\t[portField setEnabled:YES];\n\t\t[startStopButton setTitle:@\"Start\"];\n\t}\n\telse\n\t{\n\t\t// START udp echo server\n\t\t\n\t\tint port = [portField intValue];\n\t\tif (port < 0 || port > 65535)\n\t\t{\n\t\t\t[portField setStringValue:@\"\"];\n\t\t\tport = 0;\n\t\t}\n\t\t\n\t\tNSError *error = nil;\n\t\t\n\t\tif (![udpSocket bindToPort:port error:&error])\n\t\t{\n\t\t\t[self logError:FORMAT(@\"Error starting server (bind): %@\", error)];\n\t\t\treturn;\n\t\t}\n\t\tif (![udpSocket beginReceiving:&error])\n\t\t{\n\t\t\t[udpSocket close];\n\t\t\t\n\t\t\t[self logError:FORMAT(@\"Error starting server (recv): %@\", error)];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t[self logInfo:FORMAT(@\"Udp Echo server started on port %hu\", [udpSocket localPort])];\n\t\tisRunning = YES;\n\t\t\n\t\t[portField setEnabled:NO];\n\t\t[startStopButton setTitle:@\"Stop\"];\n\t}\n}\n\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data\n                                               fromAddress:(NSData *)address\n                                         withFilterContext:(id)filterContext\n{\n\tNSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\tif (msg)\n\t{\n\t\t[self logMessage:msg];\n\t}\n\telse\n\t{\n\t\t[self logError:@\"Error converting received data into UTF-8 String\"];\n\t}\n\t\n\t[udpSocket sendData:data toAddress:address withTimeout:-1 tag:0];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Desktop/UdpEchoServer/UdpEchoServer-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2011 __MyCompanyName__. All rights reserved.</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Desktop/UdpEchoServer/UdpEchoServer-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'UdpEchoServer' target in the 'UdpEchoServer' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Desktop/UdpEchoServer/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Desktop/UdpEchoServer/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Desktop/UdpEchoServer/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11D50</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2148</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.32</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">568.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">2148</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSScroller</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSTextFieldCell</string>\n\t\t\t<string>NSScrollView</string>\n\t\t\t<string>NSButtonCell</string>\n\t\t\t<string>NSButton</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t\t<string>NSTextView</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSTextField</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoServer</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoServer</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About UdpEchoServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide UdpEchoServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit UdpEchoServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoServer Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">UdpEchoServer</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<string key=\"NSWindowContentMinSize\">{250, 250}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t<object class=\"NSButton\" id=\"123060429\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">265</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{384, 312}, {82, 32}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"155068027\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:687</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSButtonCell\" key=\"NSCell\" id=\"1021083522\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">67239424</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">134217728</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Start</string>\n\t\t\t\t\t\t\t\t<object class=\"NSFont\" key=\"NSSupport\" id=\"956163773\">\n\t\t\t\t\t\t\t\t\t<string key=\"NSName\">LucidaGrande</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSSize\">13</double>\n\t\t\t\t\t\t\t\t\t<int key=\"NSfFlags\">1044</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:687</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"123060429\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags\">-2038284033</int>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags2\">129</int>\n\t\t\t\t\t\t\t\t<string key=\"NSAlternateContents\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSKeyEquivalent\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicDelay\">200</int>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicInterval\">25</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"265177371\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{56, 318}, {50, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"123060429\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:903</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"461012108\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"956163773\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">Any</string>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:903</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"265177371\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"666061212\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"1069380937\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"91772087\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{17, 320}, {34, 17}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"265177371\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:3944</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"1007226180\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">68288064</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Port:</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"956163773\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:3944</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"91772087\"/>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">controlColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"816762155\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MC42NjY2NjY2NjY3AA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">controlTextColor</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"1069380937\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSScrollView\" id=\"155068027\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t<object class=\"NSClipView\" id=\"423407049\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"155068027\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2304</int>\n\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextView\" id=\"165031787\">\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"423407049\"/>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2322</int>\n\t\t\t\t\t\t\t\t\t\t\t<set class=\"NSMutableSet\" key=\"NSDragTypes\">\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple HTML pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PDF pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PICT pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PNG pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple URL pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>CorePasteboardFlavorType 0x6D6F6F76</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSColor pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSFilenamesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSStringPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT RTFD pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Rich Text Format v1.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT TIFF v4.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT font pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT ruler pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>WebURLsWithTitlesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>public.url</string>\n\t\t\t\t\t\t\t\t\t\t\t</set>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSFrameSize\">{423, 133}</string>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"423407049\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"1050047821\"/>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1480</string>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextContainer\" key=\"NSTextContainer\" id=\"1042835503\">\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSLayoutManager\" key=\"NSLayoutManager\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextStorage\" key=\"NSTextStorage\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableString\" key=\"NSString\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<characters key=\"NS.bytes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSTextContainers\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"1042835503\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSLMFlags\">134</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSTextView\" ref=\"165031787\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSWidth\">423</double>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTCFlags\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextViewSharedData\" key=\"NSSharedData\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSFlags\">67121127</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTextCheckingTypes\">0</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSMarkedAttributes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"666061212\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSSelectedAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"816762155\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"1069380937\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSInsertionColor\" ref=\"1069380937\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSLinkAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDEAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{8, -8}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSCursorType\">13</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"1\" key=\"NSUnderline\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDefaultParagraphStyle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSTextFinder\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSPreferredTextFinderStyle\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTVFlags\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMaxSize\">{463, 10000000}</string>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMinize\">{238, 133}</string>\n\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{1, 1}, {423, 288}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"155068027\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"165031787\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1478</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSDocView\" ref=\"165031787\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSBGColor\" ref=\"666061212\"/>\n\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{4, 5}</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSImage\" key=\"NSImage\">\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSImageFlags\">12582912</int>\n\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSReps\">\n\t\t\t\t\t\t\t\t\t\t\t\t<array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"0\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSBitmapImageRep\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSData\" key=\"NSTIFFRepresentation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NS.bytes\">TU0AKgAAAHCAFUqgBVKsAAAAwdVQUqwaEQeIRGJRGFlYqwWLQ+JxuOQpVRmEx2RROKwOQyOUQSPyaUym\nSxqWyKXyeYxyZzWbSuJTScRCbz2Nz+gRKhUOfTqeUai0OSxiWTiBQSHSGFquGwekxyAgAAAOAQAAAwAA\nAAEAEAAAAQEAAwAAAAEAEAAAAQIAAwAAAAIACAAIAQMAAwAAAAEABQAAAQYAAwAAAAEAAQAAAREABAAA\nAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEAAgAAARYAAwAAAAEAEAAAARcABAAAAAEAAABnARwAAwAA\nAAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MCAwAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t<int key=\"NScvFlags\">4</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"1050047821\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"155068027\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{424, 1}, {15, 288}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"155068027\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1494</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"155068027\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.85256409645080566</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"107969622\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"155068027\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">-2147483392</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{-100, -100}, {87, 18}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"155068027\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"423407049\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1482</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSsFlags\">1</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"155068027\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.94565218687057495</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 20}, {440, 290}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"107969622\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:940</string>\n\t\t\t\t\t\t\t<int key=\"NSsFlags\">133138</int>\n\t\t\t\t\t\t\t<reference key=\"NSVScroller\" ref=\"1050047821\"/>\n\t\t\t\t\t\t\t<reference key=\"NSHScroller\" ref=\"107969622\"/>\n\t\t\t\t\t\t\t<reference key=\"NSContentView\" ref=\"423407049\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</array>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"91772087\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1680, 1028}}</string>\n\t\t\t\t<string key=\"NSMinSize\">{250, 272}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<string key=\"NSFrameAutosaveName\">PrimaryWindow</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">portField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"265177371\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">546</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStopButton</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"123060429\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">547</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">logView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"165031787\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">548</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStopButtonPressed:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"123060429\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">549</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"91772087\"/>\n\t\t\t\t\t\t\t<reference ref=\"265177371\"/>\n\t\t\t\t\t\t\t<reference ref=\"155068027\"/>\n\t\t\t\t\t\t\t<reference ref=\"123060429\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">536</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"123060429\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1021083522\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">537</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021083522\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"123060429\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">538</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"265177371\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"461012108\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">539</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"461012108\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"265177371\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">540</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"91772087\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1007226180\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">541</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1007226180\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"91772087\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">542</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"155068027\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"165031787\"/>\n\t\t\t\t\t\t\t<reference ref=\"107969622\"/>\n\t\t\t\t\t\t\t<reference ref=\"1050047821\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">543</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"165031787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"155068027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">544</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"107969622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"155068027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">545</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050047821\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"155068027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"536.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"537.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"538.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"539.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"540.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"541.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"542.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"543.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"544.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"545.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">549</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStopButtonPressed:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStopButtonPressed:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">startStopButtonPressed:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"logView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"portField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"startStopButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"window\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"logView\">\n\t\t\t\t\t\t\t<string key=\"name\">logView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"portField\">\n\t\t\t\t\t\t\t<string key=\"name\">portField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"startStopButton\">\n\t\t\t\t\t\t\t<string key=\"name\">startStopButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"window\">\n\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"printDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"revertDocumentToSaved:\">id</string>\n\t\t\t\t\t\t<string key=\"runPageLayout:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentAs:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentTo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"printDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"revertDocumentToSaved:\">\n\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"runPageLayout:\">\n\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentAs:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentTo:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{11, 11}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{10, 3}</string>\n\t\t</dictionary>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Desktop/UdpEchoServer/main.m",
    "content": "//\n//  main.m\n//  UdpEchoServer\n//\n//  Created by Robbie Hanson on 11/23/11.\n//  Copyright (c) 2011 __MyCompanyName__. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n\treturn NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Desktop/UdpEchoServer.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C3286B186CDD5800F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32866186CDD5800F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C3286C186CDD5800F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32868186CDD5800F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C3286D186CDD5800F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C3286A186CDD5800F6D762 /* DDMultiFormatter.m */; };\n\t\tDC34A1A8147DF0A8004F0A03 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC34A1A7147DF0A8004F0A03 /* Cocoa.framework */; };\n\t\tDC34A1B2147DF0A8004F0A03 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC34A1B0147DF0A8004F0A03 /* InfoPlist.strings */; };\n\t\tDC34A1B4147DF0A8004F0A03 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC34A1B3147DF0A8004F0A03 /* main.m */; };\n\t\tDC34A1B8147DF0A8004F0A03 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC34A1B6147DF0A8004F0A03 /* Credits.rtf */; };\n\t\tDC34A1BB147DF0A8004F0A03 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC34A1BA147DF0A8004F0A03 /* AppDelegate.m */; };\n\t\tDC34A1BE147DF0A8004F0A03 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC34A1BC147DF0A8004F0A03 /* MainMenu.xib */; };\n\t\tDC88552815325BF500514FD7 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88551915325BF500514FD7 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC88552915325BF500514FD7 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88551B15325BF500514FD7 /* DDASLLogger.m */; };\n\t\tDC88552A15325BF500514FD7 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88551D15325BF500514FD7 /* DDFileLogger.m */; };\n\t\tDC88552B15325BF500514FD7 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88551F15325BF500514FD7 /* DDLog.m */; };\n\t\tDC88552C15325BF500514FD7 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88552115325BF500514FD7 /* DDTTYLogger.m */; };\n\t\tDC88552F15325BF500514FD7 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC88552715325BF500514FD7 /* README.txt */; };\n\t\tDC88553315325C0E00514FD7 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88553215325C0E00514FD7 /* GCDAsyncUdpSocket.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C32864186CDD4D00F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C32865186CDD5800F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32866186CDD5800F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32867186CDD5800F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32868186CDD5800F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32869186CDD5800F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C3286A186CDD5800F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDC34A1A3147DF0A8004F0A03 /* UdpEchoServer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UdpEchoServer.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC34A1A7147DF0A8004F0A03 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC34A1AA147DF0A8004F0A03 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC34A1AB147DF0A8004F0A03 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC34A1AC147DF0A8004F0A03 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC34A1AF147DF0A8004F0A03 /* UdpEchoServer-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"UdpEchoServer-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC34A1B1147DF0A8004F0A03 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC34A1B3147DF0A8004F0A03 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC34A1B5147DF0A8004F0A03 /* UdpEchoServer-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"UdpEchoServer-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC34A1B7147DF0A8004F0A03 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC34A1B9147DF0A8004F0A03 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC34A1BA147DF0A8004F0A03 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC34A1BD147DF0A8004F0A03 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDC88551815325BF500514FD7 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC88551915325BF500514FD7 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC88551A15325BF500514FD7 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC88551B15325BF500514FD7 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC88551C15325BF500514FD7 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC88551D15325BF500514FD7 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC88551E15325BF500514FD7 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC88551F15325BF500514FD7 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC88552015325BF500514FD7 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC88552115325BF500514FD7 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC88552715325BF500514FD7 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n\t\tDC88553115325C0E00514FD7 /* GCDAsyncUdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncUdpSocket.h; path = ../../../GCDAsyncUdpSocket.h; sourceTree = \"<group>\"; };\n\t\tDC88553215325C0E00514FD7 /* GCDAsyncUdpSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncUdpSocket.m; path = ../../../GCDAsyncUdpSocket.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC34A1A0147DF0A8004F0A03 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC34A1A8147DF0A8004F0A03 /* Cocoa.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC34A198147DF0A8004F0A03 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88551715325BF500514FD7 /* Logging */,\n\t\t\t\tDC88553015325BFC00514FD7 /* UDP */,\n\t\t\t\tDC34A1AD147DF0A8004F0A03 /* UdpEchoServer */,\n\t\t\t\tDC34A1A6147DF0A8004F0A03 /* Frameworks */,\n\t\t\t\tDC34A1A4147DF0A8004F0A03 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1A4147DF0A8004F0A03 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1A3147DF0A8004F0A03 /* UdpEchoServer.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1A6147DF0A8004F0A03 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1A7147DF0A8004F0A03 /* Cocoa.framework */,\n\t\t\t\tDC34A1A9147DF0A8004F0A03 /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1A9147DF0A8004F0A03 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1AA147DF0A8004F0A03 /* AppKit.framework */,\n\t\t\t\tDC34A1AB147DF0A8004F0A03 /* CoreData.framework */,\n\t\t\t\tDC34A1AC147DF0A8004F0A03 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1AD147DF0A8004F0A03 /* UdpEchoServer */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1B9147DF0A8004F0A03 /* AppDelegate.h */,\n\t\t\t\tDC34A1BA147DF0A8004F0A03 /* AppDelegate.m */,\n\t\t\t\tDC34A1BC147DF0A8004F0A03 /* MainMenu.xib */,\n\t\t\t\tDC34A1AE147DF0A8004F0A03 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = UdpEchoServer;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1AE147DF0A8004F0A03 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1AF147DF0A8004F0A03 /* UdpEchoServer-Info.plist */,\n\t\t\t\tDC34A1B0147DF0A8004F0A03 /* InfoPlist.strings */,\n\t\t\t\tDC34A1B3147DF0A8004F0A03 /* main.m */,\n\t\t\t\tDC34A1B5147DF0A8004F0A03 /* UdpEchoServer-Prefix.pch */,\n\t\t\t\tDC34A1B6147DF0A8004F0A03 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88551715325BF500514FD7 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88551815325BF500514FD7 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC88551915325BF500514FD7 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC88551A15325BF500514FD7 /* DDASLLogger.h */,\n\t\t\t\tDC88551B15325BF500514FD7 /* DDASLLogger.m */,\n\t\t\t\tDC88551C15325BF500514FD7 /* DDFileLogger.h */,\n\t\t\t\tDC88551D15325BF500514FD7 /* DDFileLogger.m */,\n\t\t\t\tDC88551E15325BF500514FD7 /* DDLog.h */,\n\t\t\t\tDC88551F15325BF500514FD7 /* DDLog.m */,\n\t\t\t\t11C32864186CDD4D00F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC88552015325BF500514FD7 /* DDTTYLogger.h */,\n\t\t\t\tDC88552115325BF500514FD7 /* DDTTYLogger.m */,\n\t\t\t\tDC88552215325BF500514FD7 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88552215325BF500514FD7 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C32865186CDD5800F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C32866186CDD5800F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C32867186CDD5800F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C32868186CDD5800F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C32869186CDD5800F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C3286A186CDD5800F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC88552715325BF500514FD7 /* README.txt */,\n\t\t\t);\n\t\t\tpath = Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88553015325BFC00514FD7 /* UDP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88553115325C0E00514FD7 /* GCDAsyncUdpSocket.h */,\n\t\t\t\tDC88553215325C0E00514FD7 /* GCDAsyncUdpSocket.m */,\n\t\t\t);\n\t\t\tname = UDP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC34A1A2147DF0A8004F0A03 /* UdpEchoServer */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC34A1C1147DF0A8004F0A03 /* Build configuration list for PBXNativeTarget \"UdpEchoServer\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC34A19F147DF0A8004F0A03 /* Sources */,\n\t\t\t\tDC34A1A0147DF0A8004F0A03 /* Frameworks */,\n\t\t\t\tDC34A1A1147DF0A8004F0A03 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = UdpEchoServer;\n\t\t\tproductName = UdpEchoServer;\n\t\t\tproductReference = DC34A1A3147DF0A8004F0A03 /* UdpEchoServer.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC34A19A147DF0A8004F0A03 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0450;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC34A19D147DF0A8004F0A03 /* Build configuration list for PBXProject \"UdpEchoServer\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC34A198147DF0A8004F0A03;\n\t\t\tproductRefGroup = DC34A1A4147DF0A8004F0A03 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC34A1A2147DF0A8004F0A03 /* UdpEchoServer */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC34A1A1147DF0A8004F0A03 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC34A1B2147DF0A8004F0A03 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC34A1B8147DF0A8004F0A03 /* Credits.rtf in Resources */,\n\t\t\t\tDC34A1BE147DF0A8004F0A03 /* MainMenu.xib in Resources */,\n\t\t\t\tDC88552F15325BF500514FD7 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC34A19F147DF0A8004F0A03 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC34A1B4147DF0A8004F0A03 /* main.m in Sources */,\n\t\t\t\tDC34A1BB147DF0A8004F0A03 /* AppDelegate.m in Sources */,\n\t\t\t\tDC88552815325BF500514FD7 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\t11C3286B186CDD5800F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC88552915325BF500514FD7 /* DDASLLogger.m in Sources */,\n\t\t\t\tDC88552A15325BF500514FD7 /* DDFileLogger.m in Sources */,\n\t\t\t\tDC88552B15325BF500514FD7 /* DDLog.m in Sources */,\n\t\t\t\t11C3286D186CDD5800F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\t11C3286C186CDD5800F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDC88552C15325BF500514FD7 /* DDTTYLogger.m in Sources */,\n\t\t\t\tDC88553315325C0E00514FD7 /* GCDAsyncUdpSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC34A1B0147DF0A8004F0A03 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1B1147DF0A8004F0A03 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1B6147DF0A8004F0A03 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1B7147DF0A8004F0A03 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC34A1BC147DF0A8004F0A03 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC34A1BD147DF0A8004F0A03 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC34A1BF147DF0A8004F0A03 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_64_BIT)\";\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC34A1C0147DF0A8004F0A03 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_64_BIT)\";\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC34A1C2147DF0A8004F0A03 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoServer/UdpEchoServer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoServer/UdpEchoServer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC34A1C3147DF0A8004F0A03 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoServer/UdpEchoServer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoServer/UdpEchoServer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC34A19D147DF0A8004F0A03 /* Build configuration list for PBXProject \"UdpEchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC34A1BF147DF0A8004F0A03 /* Debug */,\n\t\t\t\tDC34A1C0147DF0A8004F0A03 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC34A1C1147DF0A8004F0A03 /* Build configuration list for PBXNativeTarget \"UdpEchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC34A1C2147DF0A8004F0A03 /* Debug */,\n\t\t\t\tDC34A1C3147DF0A8004F0A03 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC34A19A147DF0A8004F0A03 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer/AppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class ViewController;\n\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n@property (strong, nonatomic) ViewController *viewController;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import \"ViewController.h\"\n#import \"DDLog.h\"\n#import \"DDTTYLogger.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n@synthesize viewController = _viewController;\n\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n\t// Setup our logging framework.\n\t\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t\n\t// Setup UI\n\t\n\tself.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];\n\tself.viewController = [[ViewController alloc] initWithNibName:@\"ViewController\" bundle:nil];\n\tself.window.rootViewController = self.viewController;\n\t[self.window makeKeyAndVisible];\n\treturn YES;\n}\n\n- (void)applicationWillResignActive:(UIApplication *)application\n{\n}\n\n- (void)applicationDidEnterBackground:(UIApplication *)application\n{\n}\n\n- (void)applicationWillEnterForeground:(UIApplication *)application\n{\n}\n\n- (void)applicationDidBecomeActive:(UIApplication *)application\n{\n}\n\n- (void)applicationWillTerminate:(UIApplication *)application\n{\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer/UdpEchoServer-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer/UdpEchoServer-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'UdpEchoServer' target in the 'UdpEchoServer' project\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_4_0\n#warning \"This project uses features only available in iOS SDK 4.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n\t#import <UIKit/UIKit.h>\n\t#import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer/ViewController.h",
    "content": "#import <UIKit/UIKit.h>\n#import \"GCDAsyncUdpSocket.h\"\n\n@interface ViewController : UIViewController <GCDAsyncUdpSocketDelegate>\n{\n\tIBOutlet UITextField *portField;\n\tIBOutlet UIButton *startStopButton;\n\tIBOutlet UIWebView *webView;\n}\n\n- (IBAction)startStop:(id)sender;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer/ViewController.m",
    "content": "#import \"ViewController.h\"\n#import \"GCDAsyncUdpSocket.h\"\n#import \"DDLog.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const int ddLogLevel = LOG_LEVEL_VERBOSE;\n\n#define FORMAT(format, ...) [NSString stringWithFormat:(format), ##__VA_ARGS__]\n\n\n@interface ViewController ()\n{\n\tBOOL isRunning;\n\tGCDAsyncUdpSocket *udpSocket;\n\t\n\tNSMutableString *log;\n}\n\n@end\n\n@implementation ViewController\n\n- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil\n{\n\tif ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]))\n\t{\n\t\tlog = [[NSMutableString alloc] init];\n\t\t\n\t\t// Setup our socket.\n\t\t// The socket will invoke our delegate methods using the usual delegate paradigm.\n\t\t// However, it will invoke the delegate methods on a specified GCD delegate dispatch queue.\n\t\t// \n\t\t// Now we can configure the delegate dispatch queues however we want.\n\t\t// We could simply use the main dispatch queue, so the delegate methods are invoked on the main thread.\n\t\t// Or we could use a dedicated dispatch queue, which could be helpful if we were doing a lot of processing.\n\t\t// \n\t\t// The best approach for your application will depend upon convenience, requirements and performance.\n\t\t// \n\t\t// For this simple example, we're just going to use the main thread.\n\t\t\n\t\tudpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n\t}\n\treturn self;\n}\n\n\n- (void)viewDidLoad\n{\n    [super viewDidLoad];\n\t\n\twebView.dataDetectorTypes = UIDataDetectorTypeNone;\n\t\n\t[[NSNotificationCenter defaultCenter] addObserver:self\n\t                                         selector:@selector(keyboardWillShow:)\n\t                                             name:UIKeyboardWillShowNotification \n\t                                           object:nil];\n\t\n\t[[NSNotificationCenter defaultCenter] addObserver:self\n\t                                         selector:@selector(keyboardWillHide:)\n\t                                             name:UIKeyboardWillHideNotification\n\t                                           object:nil];\n}\n\n- (void)viewDidUnload\n{\n\t[super viewDidUnload];\n\t\n\t[[NSNotificationCenter defaultCenter] removeObserver:self];\n}\n\n- (void)getKeyboardHeight:(float *)keyboardHeightPtr\n        animationDuration:(double *)animationDurationPtr\n                     from:(NSNotification *)notification\n{\n\tfloat keyboardHeight;\n\tdouble animationDuration;\n\t\n\t// UIKeyboardCenterBeginUserInfoKey:\n\t// The key for an NSValue object containing a CGRect\n\t// that identifies the start frame of the keyboard in screen coordinates.\n\t\n\tCGRect beginRect = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];\n\tCGRect endRect   = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];\n\t\n\tif (UIInterfaceOrientationIsLandscape(self.interfaceOrientation))\n\t{\n\t\tkeyboardHeight = ABS(beginRect.origin.x - endRect.origin.x);\n\t}\n\telse\n\t{\n\t\tkeyboardHeight = ABS(beginRect.origin.y - endRect.origin.y);\n\t}\n\t\n\t// UIKeyboardAnimationDurationUserInfoKey\n\t// The key for an NSValue object containing a double that identifies the duration of the animation in seconds.\n\t\n\tanimationDuration = [[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];\n\t\n\tif (keyboardHeightPtr) *keyboardHeightPtr = keyboardHeight;\n\tif (animationDurationPtr) *animationDurationPtr = animationDuration;\n}\n\n- (void)keyboardWillShow:(NSNotification *)notification\n{\n\tfloat keyboardHeight = 0.0F;\n\tdouble animationDuration = 0.0;\n\t\n\t[self getKeyboardHeight:&keyboardHeight animationDuration:&animationDuration from:notification];\n\t\n\tCGRect webViewFrame = webView.frame;\n\twebViewFrame.size.height -= keyboardHeight;\n\t\n\tvoid (^animationBlock)(void) = ^{\n\t\t\n\t\twebView.frame = webViewFrame;\n\t};\n\t\n\tUIViewAnimationOptions options = 0;\n\t\n\t[UIView animateWithDuration:animationDuration\n\t                      delay:0.0\n\t                    options:options\n\t                 animations:animationBlock\n\t                 completion:NULL];\n}\n\n- (void)keyboardWillHide:(NSNotification *)notification\n{\n\tfloat keyboardHeight = 0.0F;\n\tdouble animationDuration = 0.0;\n\t\n\t[self getKeyboardHeight:&keyboardHeight animationDuration:&animationDuration from:notification];\n\t\n\tCGRect webViewFrame = webView.frame;\n\twebViewFrame.size.height += keyboardHeight;\n\t\n\tvoid (^animationBlock)(void) = ^{\n\t\t\n\t\twebView.frame = webViewFrame;\n\t};\n\t\n\tUIViewAnimationOptions options = 0;\n\t\n\t[UIView animateWithDuration:animationDuration\n\t                      delay:0.0\n\t                    options:options\n\t                 animations:animationBlock\n\t                 completion:NULL];\n}\n\n- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error\n{\n\tDDLogError(@\"webView:didFailLoadWithError: %@\", error);\n}\n\n- (void)webViewDidFinishLoad:(UIWebView *)sender\n{\n\tNSString *scrollToBottom = @\"window.scrollTo(document.body.scrollWidth, document.body.scrollHeight);\";\n\t\n    [sender stringByEvaluatingJavaScriptFromString:scrollToBottom];\n}\n\n- (void)logError:(NSString *)msg\n{\n\tNSString *prefix = @\"<font color=\\\"#B40404\\\">\";\n\tNSString *suffix = @\"</font><br/>\";\n\t\n\t[log appendFormat:@\"%@%@%@\\n\", prefix, msg, suffix];\n\t\n\tNSString *html = [NSString stringWithFormat:@\"<html><body>\\n%@\\n</body></html>\", log];\n\t[webView loadHTMLString:html baseURL:nil];\n}\n\n- (void)logInfo:(NSString *)msg\n{\n\tNSString *prefix = @\"<font color=\\\"#6A0888\\\">\";\n\tNSString *suffix = @\"</font><br/>\";\n\t\n\t[log appendFormat:@\"%@%@%@\\n\", prefix, msg, suffix];\n\t\n\tNSString *html = [NSString stringWithFormat:@\"<html><body>\\n%@\\n</body></html>\", log];\n\t[webView loadHTMLString:html baseURL:nil];\n}\n\n- (void)logMessage:(NSString *)msg\n{\n\tNSString *prefix = @\"<font color=\\\"#000000\\\">\";\n\tNSString *suffix = @\"</font><br/>\";\n\t\n\t[log appendFormat:@\"%@%@%@\\n\", prefix, msg, suffix];\n\t\n\tNSString *html = [NSString stringWithFormat:@\"<html><body>%@</body></html>\", log];\n\t[webView loadHTMLString:html baseURL:nil];\n}\n\n- (IBAction)startStop:(id)sender\n{\n\tif (isRunning)\n\t{\n\t\t// STOP udp echo server\n\t\t\n\t\t[udpSocket close];\n\t\t\n\t\t[self logInfo:@\"Stopped Udp Echo server\"];\n\t\tisRunning = false;\n\t\t\n\t\t[portField setEnabled:YES];\n\t\t[startStopButton setTitle:@\"Start\" forState:UIControlStateNormal];\n\t}\n\telse\n\t{\n\t\t// START udp echo server\n\t\t\n\t\tint port = [portField.text intValue];\n\t\tif (port < 0 || port > 65535)\n\t\t{\n\t\t\tportField.text = @\"\";\n\t\t\tport = 0;\n\t\t}\n\t\t\n\t\tNSError *error = nil;\n\t\t\n\t\tif (![udpSocket bindToPort:port error:&error])\n\t\t{\n\t\t\t[self logError:FORMAT(@\"Error starting server (bind): %@\", error)];\n\t\t\treturn;\n\t\t}\n\t\tif (![udpSocket beginReceiving:&error])\n\t\t{\n\t\t\t[udpSocket close];\n\t\t\t\n\t\t\t[self logError:FORMAT(@\"Error starting server (recv): %@\", error)];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t[self logInfo:FORMAT(@\"Udp Echo server started on port %hu\", [udpSocket localPort])];\n\t\tisRunning = YES;\n\t\t\n\t\t[portField setEnabled:NO];\n\t\t[startStopButton setTitle:@\"Stop\" forState:UIControlStateNormal];\n\t}\n}\n\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data\n                                               fromAddress:(NSData *)address\n                                         withFilterContext:(id)filterContext\n{\n\tif (!isRunning) return;\n\t\n\tNSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\tif (msg)\n\t{\n\t\t/* If you want to get a display friendly version of the IPv4 or IPv6 address, you could do this:\n\t\t \n\t\tNSString *host = nil;\n\t\tuint16_t port = 0;\n\t\t[GCDAsyncUdpSocket getHost:&host port:&port fromAddress:address];\n\t\t\n\t\t*/\n\t\t\n\t\t[self logMessage:msg];\n\t}\n\telse\n\t{\n\t\t[self logError:@\"Error converting received data into UTF-8 String\"];\n\t}\n\t\n\t[udpSocket sendData:data toAddress:address withTimeout:-1 tag:0];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer/en.lproj/ViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1536</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11E53</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2541</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.47</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">569.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1875</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>IBProxyObject</string>\n\t\t\t<string>IBUIButton</string>\n\t\t\t<string>IBUILabel</string>\n\t\t\t<string>IBUITextField</string>\n\t\t\t<string>IBUIView</string>\n\t\t\t<string>IBUIWebView</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t<object class=\"IBUITextField\" id=\"618625328\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{74, 20}, {60, 31}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"657012785\"/>\n\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t\t\t<bool key=\"IBUIClipsSubviews\">YES</bool>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<int key=\"IBUIContentVerticalAlignment\">0</int>\n\t\t\t\t\t\t<int key=\"IBUIBorderStyle\">3</int>\n\t\t\t\t\t\t<string key=\"IBUIPlaceholder\">any</string>\n\t\t\t\t\t\t<bool key=\"IBUIAdjustsFontSizeToFit\">YES</bool>\n\t\t\t\t\t\t<float key=\"IBUIMinimumFontSize\">17</float>\n\t\t\t\t\t\t<object class=\"IBUITextInputTraits\" key=\"IBUITextInputTraits\">\n\t\t\t\t\t\t\t<int key=\"IBUIKeyboardType\">4</int>\n\t\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"IBUIText\"/>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUITextColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\" id=\"886710129\">\n\t\t\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBUIFontDescription\" key=\"IBUIFontDescription\">\n\t\t\t\t\t\t\t<int key=\"type\">1</int>\n\t\t\t\t\t\t\t<double key=\"pointSize\">14</double>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSFont\" key=\"IBUIFont\">\n\t\t\t\t\t\t\t<string key=\"NSName\">Helvetica</string>\n\t\t\t\t\t\t\t<double key=\"NSSize\">14</double>\n\t\t\t\t\t\t\t<int key=\"NSfFlags\">16</int>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBUIButton\" id=\"657012785\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">289</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{210, 20}, {90, 31}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<int key=\"IBUIContentHorizontalAlignment\">0</int>\n\t\t\t\t\t\t<int key=\"IBUIContentVerticalAlignment\">0</int>\n\t\t\t\t\t\t<int key=\"IBUIButtonType\">1</int>\n\t\t\t\t\t\t<string key=\"IBUINormalTitle\">Start</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUIHighlightedTitleColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUINormalTitleColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUINormalTitleShadowColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MC41AA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBUIFontDescription\" key=\"IBUIFontDescription\">\n\t\t\t\t\t\t\t<int key=\"type\">2</int>\n\t\t\t\t\t\t\t<double key=\"pointSize\">15</double>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSFont\" key=\"IBUIFont\">\n\t\t\t\t\t\t\t<string key=\"NSName\">Helvetica-Bold</string>\n\t\t\t\t\t\t\t<double key=\"NSSize\">15</double>\n\t\t\t\t\t\t\t<int key=\"NSfFlags\">16</int>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBUILabel\" id=\"416469379\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 25}, {46, 21}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"618625328\"/>\n\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t\t\t<bool key=\"IBUIClipsSubviews\">YES</bool>\n\t\t\t\t\t\t<int key=\"IBUIContentMode\">7</int>\n\t\t\t\t\t\t<bool key=\"IBUIUserInteractionEnabled\">NO</bool>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<nil key=\"IBUIHighlightedColor\"/>\n\t\t\t\t\t\t<int key=\"IBUIBaselineAdjustment\">0</int>\n\t\t\t\t\t\t<string key=\"IBUIText\">Port #</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUITextColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDAAA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBUIFontDescription\" key=\"IBUIFontDescription\">\n\t\t\t\t\t\t\t<int key=\"type\">1</int>\n\t\t\t\t\t\t\t<double key=\"pointSize\">17</double>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSFont\" key=\"IBUIFont\">\n\t\t\t\t\t\t\t<string key=\"NSName\">Helvetica</string>\n\t\t\t\t\t\t\t<double key=\"NSSize\">17</double>\n\t\t\t\t\t\t\t<int key=\"NSfFlags\">16</int>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<bool key=\"IBUIAdjustsFontSizeToFit\">NO</bool>\n\t\t\t\t\t\t<int key=\"IBUIAutoshrinkMode\">0</int>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBUIWebView\" id=\"291667335\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"774585933\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 59}, {280, 381}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MSAxIDEAA</bytes>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<int key=\"IBUIDataDetectorTypes\">1</int>\n\t\t\t\t\t\t<bool key=\"IBUIDetectsPhoneNumbers\">YES</bool>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSFrame\">{{0, 20}, {320, 460}}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"416469379\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<reference key=\"NSCustomColorSpace\" ref=\"886710129\"/>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">portField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"618625328\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">12</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStopButton</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"657012785\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">13</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">webView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"291667335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">14</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchEventConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStop:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"618625328\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"372490531\"/>\n\t\t\t\t\t\t<int key=\"IBEventType\">20</int>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">15</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchEventConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStop:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"657012785\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"372490531\"/>\n\t\t\t\t\t\t<int key=\"IBEventType\">7</int>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">16</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"657012785\"/>\n\t\t\t\t\t\t\t<reference ref=\"416469379\"/>\n\t\t\t\t\t\t\t<reference ref=\"618625328\"/>\n\t\t\t\t\t\t\t<reference ref=\"291667335\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">8</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"618625328\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">9</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"657012785\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"416469379\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">11</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"291667335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.CustomClassName\">ViewController</string>\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"-2.CustomClassName\">UIResponder</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"10.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"11.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"6.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"8.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<string key=\"9.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">16</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStop:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStop:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">startStop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"portField\">UITextField</string>\n\t\t\t\t\t\t<string key=\"startStopButton\">UIButton</string>\n\t\t\t\t\t\t<string key=\"webView\">UIWebView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"portField\">\n\t\t\t\t\t\t\t<string key=\"name\">portField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">UITextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"startStopButton\">\n\t\t\t\t\t\t\t<string key=\"name\">startStopButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">UIButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"webView\">\n\t\t\t\t\t\t\t<string key=\"name\">webView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">UIWebView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>\n\t\t\t<real value=\"1536\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">1875</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer/main.m",
    "content": "//\n//  main.m\n//  UdpEchoServer\n//\n//  Created by Robbie Hanson on 4/8/12.\n//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char *argv[])\n{\n\t@autoreleasepool {\n\t    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n\t}\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/GCD/UdpEchoServer/Mobile/UdpEchoServer.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t11C32875186CDD7D00F6D762 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32870186CDD7D00F6D762 /* DDContextFilterLogFormatter.m */; };\n\t\t11C32876186CDD7D00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32872186CDD7D00F6D762 /* DDDispatchQueueLogFormatter.m */; };\n\t\t11C32877186CDD7D00F6D762 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 11C32874186CDD7D00F6D762 /* DDMultiFormatter.m */; };\n\t\tDC88554415325C5A00514FD7 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC88554315325C5A00514FD7 /* UIKit.framework */; };\n\t\tDC88554615325C5A00514FD7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC88554515325C5A00514FD7 /* Foundation.framework */; };\n\t\tDC88554815325C5A00514FD7 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC88554715325C5A00514FD7 /* CoreGraphics.framework */; };\n\t\tDC88554E15325C5A00514FD7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC88554C15325C5A00514FD7 /* InfoPlist.strings */; };\n\t\tDC88555015325C5A00514FD7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88554F15325C5A00514FD7 /* main.m */; };\n\t\tDC88555415325C5B00514FD7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88555315325C5B00514FD7 /* AppDelegate.m */; };\n\t\tDC88555715325C5B00514FD7 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88555615325C5B00514FD7 /* ViewController.m */; };\n\t\tDC88555A15325C5B00514FD7 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC88555815325C5B00514FD7 /* ViewController.xib */; };\n\t\tDC88557515325C8B00514FD7 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88556615325C8B00514FD7 /* DDAbstractDatabaseLogger.m */; };\n\t\tDC88557615325C8B00514FD7 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88556815325C8B00514FD7 /* DDASLLogger.m */; };\n\t\tDC88557715325C8B00514FD7 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88556A15325C8B00514FD7 /* DDFileLogger.m */; };\n\t\tDC88557815325C8B00514FD7 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88556C15325C8B00514FD7 /* DDLog.m */; };\n\t\tDC88557915325C8B00514FD7 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88556E15325C8B00514FD7 /* DDTTYLogger.m */; };\n\t\tDC88557C15325C8B00514FD7 /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DC88557415325C8B00514FD7 /* README.txt */; };\n\t\tDC88558115325CAC00514FD7 /* GCDAsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC88558015325CAC00514FD7 /* GCDAsyncUdpSocket.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t11C3286E186CDD7100F6D762 /* DDLog+LOGV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\t11C3286F186CDD7D00F6D762 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32870186CDD7D00F6D762 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32871186CDD7D00F6D762 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32872186CDD7D00F6D762 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\t11C32873186CDD7D00F6D762 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\t11C32874186CDD7D00F6D762 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDC88553F15325C5A00514FD7 /* UdpEchoServer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UdpEchoServer.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC88554315325C5A00514FD7 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\tDC88554515325C5A00514FD7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC88554715325C5A00514FD7 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tDC88554B15325C5A00514FD7 /* UdpEchoServer-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"UdpEchoServer-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC88554D15325C5A00514FD7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC88554F15325C5A00514FD7 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC88555115325C5B00514FD7 /* UdpEchoServer-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"UdpEchoServer-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC88555215325C5B00514FD7 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC88555315325C5B00514FD7 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC88555515325C5B00514FD7 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = \"<group>\"; };\n\t\tDC88555615325C5B00514FD7 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = \"<group>\"; };\n\t\tDC88555915325C5B00514FD7 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = \"<group>\"; };\n\t\tDC88556515325C8B00514FD7 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDC88556615325C8B00514FD7 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDC88556715325C8B00514FD7 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDC88556815325C8B00514FD7 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDC88556915325C8B00514FD7 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDC88556A15325C8B00514FD7 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDC88556B15325C8B00514FD7 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLog.h; sourceTree = \"<group>\"; };\n\t\tDC88556C15325C8B00514FD7 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLog.m; sourceTree = \"<group>\"; };\n\t\tDC88556D15325C8B00514FD7 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDC88556E15325C8B00514FD7 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDC88557415325C8B00514FD7 /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = \"<group>\"; };\n\t\tDC88557F15325CAC00514FD7 /* GCDAsyncUdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GCDAsyncUdpSocket.h; path = ../../../GCDAsyncUdpSocket.h; sourceTree = \"<group>\"; };\n\t\tDC88558015325CAC00514FD7 /* GCDAsyncUdpSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncUdpSocket.m; path = ../../../GCDAsyncUdpSocket.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC88553C15325C5A00514FD7 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC88554415325C5A00514FD7 /* UIKit.framework in Frameworks */,\n\t\t\t\tDC88554615325C5A00514FD7 /* Foundation.framework in Frameworks */,\n\t\t\t\tDC88554815325C5A00514FD7 /* CoreGraphics.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC88553415325C5A00514FD7 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88556415325C8B00514FD7 /* Logging */,\n\t\t\t\tDC88557E15325C9400514FD7 /* UDP */,\n\t\t\t\tDC88554915325C5A00514FD7 /* UdpEchoServer */,\n\t\t\t\tDC88554215325C5A00514FD7 /* Frameworks */,\n\t\t\t\tDC88554015325C5A00514FD7 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88554015325C5A00514FD7 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88553F15325C5A00514FD7 /* UdpEchoServer.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88554215325C5A00514FD7 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88554315325C5A00514FD7 /* UIKit.framework */,\n\t\t\t\tDC88554515325C5A00514FD7 /* Foundation.framework */,\n\t\t\t\tDC88554715325C5A00514FD7 /* CoreGraphics.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88554915325C5A00514FD7 /* UdpEchoServer */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88555215325C5B00514FD7 /* AppDelegate.h */,\n\t\t\t\tDC88555315325C5B00514FD7 /* AppDelegate.m */,\n\t\t\t\tDC88555515325C5B00514FD7 /* ViewController.h */,\n\t\t\t\tDC88555615325C5B00514FD7 /* ViewController.m */,\n\t\t\t\tDC88555815325C5B00514FD7 /* ViewController.xib */,\n\t\t\t\tDC88554A15325C5A00514FD7 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = UdpEchoServer;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88554A15325C5A00514FD7 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88554B15325C5A00514FD7 /* UdpEchoServer-Info.plist */,\n\t\t\t\tDC88554C15325C5A00514FD7 /* InfoPlist.strings */,\n\t\t\t\tDC88554F15325C5A00514FD7 /* main.m */,\n\t\t\t\tDC88555115325C5B00514FD7 /* UdpEchoServer-Prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88556415325C8B00514FD7 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88556515325C8B00514FD7 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDC88556615325C8B00514FD7 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDC88556715325C8B00514FD7 /* DDASLLogger.h */,\n\t\t\t\tDC88556815325C8B00514FD7 /* DDASLLogger.m */,\n\t\t\t\tDC88556915325C8B00514FD7 /* DDFileLogger.h */,\n\t\t\t\tDC88556A15325C8B00514FD7 /* DDFileLogger.m */,\n\t\t\t\tDC88556B15325C8B00514FD7 /* DDLog.h */,\n\t\t\t\tDC88556C15325C8B00514FD7 /* DDLog.m */,\n\t\t\t\t11C3286E186CDD7100F6D762 /* DDLog+LOGV.h */,\n\t\t\t\tDC88556D15325C8B00514FD7 /* DDTTYLogger.h */,\n\t\t\t\tDC88556E15325C8B00514FD7 /* DDTTYLogger.m */,\n\t\t\t\tDC88556F15325C8B00514FD7 /* Extensions */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tpath = ../../../../Vendor/CocoaLumberjack;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88556F15325C8B00514FD7 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t11C3286F186CDD7D00F6D762 /* DDContextFilterLogFormatter.h */,\n\t\t\t\t11C32870186CDD7D00F6D762 /* DDContextFilterLogFormatter.m */,\n\t\t\t\t11C32871186CDD7D00F6D762 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\t11C32872186CDD7D00F6D762 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\t11C32873186CDD7D00F6D762 /* DDMultiFormatter.h */,\n\t\t\t\t11C32874186CDD7D00F6D762 /* DDMultiFormatter.m */,\n\t\t\t\tDC88557415325C8B00514FD7 /* README.txt */,\n\t\t\t);\n\t\t\tpath = Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88557E15325C9400514FD7 /* UDP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88557F15325CAC00514FD7 /* GCDAsyncUdpSocket.h */,\n\t\t\t\tDC88558015325CAC00514FD7 /* GCDAsyncUdpSocket.m */,\n\t\t\t);\n\t\t\tname = UDP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC88553E15325C5A00514FD7 /* UdpEchoServer */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC88555D15325C5B00514FD7 /* Build configuration list for PBXNativeTarget \"UdpEchoServer\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC88553B15325C5A00514FD7 /* Sources */,\n\t\t\t\tDC88553C15325C5A00514FD7 /* Frameworks */,\n\t\t\t\tDC88553D15325C5A00514FD7 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = UdpEchoServer;\n\t\t\tproductName = UdpEchoServer;\n\t\t\tproductReference = DC88553F15325C5A00514FD7 /* UdpEchoServer.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC88553615325C5A00514FD7 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0430;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC88553915325C5A00514FD7 /* Build configuration list for PBXProject \"UdpEchoServer\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC88553415325C5A00514FD7;\n\t\t\tproductRefGroup = DC88554015325C5A00514FD7 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC88553E15325C5A00514FD7 /* UdpEchoServer */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC88553D15325C5A00514FD7 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC88554E15325C5A00514FD7 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC88555A15325C5B00514FD7 /* ViewController.xib in Resources */,\n\t\t\t\tDC88557C15325C8B00514FD7 /* README.txt in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC88553B15325C5A00514FD7 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t11C32877186CDD7D00F6D762 /* DDMultiFormatter.m in Sources */,\n\t\t\t\tDC88555015325C5A00514FD7 /* main.m in Sources */,\n\t\t\t\tDC88555415325C5B00514FD7 /* AppDelegate.m in Sources */,\n\t\t\t\t11C32876186CDD7D00F6D762 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDC88555715325C5B00514FD7 /* ViewController.m in Sources */,\n\t\t\t\tDC88557515325C8B00514FD7 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDC88557615325C8B00514FD7 /* DDASLLogger.m in Sources */,\n\t\t\t\t11C32875186CDD7D00F6D762 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tDC88557715325C8B00514FD7 /* DDFileLogger.m in Sources */,\n\t\t\t\tDC88557815325C8B00514FD7 /* DDLog.m in Sources */,\n\t\t\t\tDC88557915325C8B00514FD7 /* DDTTYLogger.m in Sources */,\n\t\t\t\tDC88558115325CAC00514FD7 /* GCDAsyncUdpSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC88554C15325C5A00514FD7 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88554D15325C5A00514FD7 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC88555815325C5B00514FD7 /* ViewController.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC88555915325C5B00514FD7 /* en */,\n\t\t\t);\n\t\t\tname = ViewController.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC88555B15325C5B00514FD7 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_32_BIT)\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.1;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC88555C15325C5B00514FD7 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tARCHS = \"$(ARCHS_STANDARD_32_BIT)\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.1;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC88555E15325C5B00514FD7 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoServer/UdpEchoServer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoServer/UdpEchoServer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC88555F15325C5B00514FD7 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoServer/UdpEchoServer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoServer/UdpEchoServer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC88553915325C5A00514FD7 /* Build configuration list for PBXProject \"UdpEchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC88555B15325C5B00514FD7 /* Debug */,\n\t\t\t\tDC88555C15325C5B00514FD7 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC88555D15325C5B00514FD7 /* Build configuration list for PBXNativeTarget \"UdpEchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC88555E15325C5B00514FD7 /* Debug */,\n\t\t\t\tDC88555F15325C5B00514FD7 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC88553615325C5A00514FD7 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/EchoServer/AppController.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class AsyncSocket;\n\n@interface AppController : NSObject\n{\n\tAsyncSocket *listenSocket;\n\tNSMutableArray *connectedSockets;\n\t\n\tBOOL isRunning;\n\t\n    IBOutlet id logView;\n    IBOutlet id portField;\n    IBOutlet id startStopButton;\n}\n- (IBAction)startStop:(id)sender;\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/EchoServer/AppController.m",
    "content": "#import \"AppController.h\"\n#import \"AsyncSocket.h\"\n\n#define WELCOME_MSG  0\n#define ECHO_MSG     1\n#define WARNING_MSG  2\n\n#define READ_TIMEOUT 15.0\n#define READ_TIMEOUT_EXTENSION 10.0\n\n#define FORMAT(format, ...) [NSString stringWithFormat:(format), ##__VA_ARGS__]\n\n@interface AppController (PrivateAPI)\n- (void)logError:(NSString *)msg;\n- (void)logInfo:(NSString *)msg;\n- (void)logMessage:(NSString *)msg;\n@end\n\n\n@implementation AppController\n\n- (id)init\n{\n\tif((self = [super init]))\n\t{\n\t\tlistenSocket = [[AsyncSocket alloc] initWithDelegate:self];\n\t\tconnectedSockets = [[NSMutableArray alloc] initWithCapacity:1];\n\t\t\n\t\tisRunning = NO;\n\t}\n\treturn self;\n}\n\n- (void)awakeFromNib\n{\n\t[logView setString:@\"\"];\n}\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\tNSLog(@\"Ready\");\n\t\n\t// Advanced options - enable the socket to contine operations even during modal dialogs, and menu browsing\n\t[listenSocket setRunLoopModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];\n}\n\n- (void)scrollToBottom\n{\n\tNSScrollView *scrollView = [logView enclosingScrollView];\n\tNSPoint newScrollOrigin;\n\t\n\tif ([[scrollView documentView] isFlipped])\n\t\tnewScrollOrigin = NSMakePoint(0.0F, NSMaxY([[scrollView documentView] frame]));\n\telse\n\t\tnewScrollOrigin = NSMakePoint(0.0F, 0.0F);\n\t\n\t[[scrollView documentView] scrollPoint:newScrollOrigin];\n}\n\n- (void)logError:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor redColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logInfo:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor purpleColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logMessage:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor blackColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (IBAction)startStop:(id)sender\n{\n\tif(!isRunning)\n\t{\n\t\tint port = [portField intValue];\n\t\t\n\t\tif(port < 0 || port > 65535)\n\t\t{\n\t\t\tport = 0;\n\t\t}\n\t\t\n\t\tNSError *error = nil;\n\t\tif(![listenSocket acceptOnPort:port error:&error])\n\t\t{\n\t\t\t[self logError:FORMAT(@\"Error starting server: %@\", error)];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t[self logInfo:FORMAT(@\"Echo server started on port %hu\", [listenSocket localPort])];\n\t\tisRunning = YES;\n\t\t\n\t\t[portField setEnabled:NO];\n\t\t[startStopButton setTitle:@\"Stop\"];\n\t}\n\telse\n\t{\n\t\t// Stop accepting connections\n\t\t[listenSocket disconnect];\n\t\t\t\n\t\t// Stop any client connections\n\t\tNSUInteger i;\n\t\tfor(i = 0; i < [connectedSockets count]; i++)\n\t\t{\n\t\t\t// Call disconnect on the socket,\n\t\t\t// which will invoke the onSocketDidDisconnect: method,\n\t\t\t// which will remove the socket from the list.\n\t\t\t[[connectedSockets objectAtIndex:i] disconnect];\n\t\t}\n\t\t\n\t\t[self logInfo:@\"Stopped Echo server\"];\n\t\tisRunning = false;\n\t\t\n\t\t[portField setEnabled:YES];\n\t\t[startStopButton setTitle:@\"Start\"];\n\t}\n}\n\n- (void)onSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)newSocket\n{\n\t[connectedSockets addObject:newSocket];\n}\n\n- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port\n{\n\t[self logInfo:FORMAT(@\"Accepted client %@:%hu\", host, port)];\n\t\n\tNSString *welcomeMsg = @\"Welcome to the AsyncSocket Echo Server\\r\\n\";\n\tNSData *welcomeData = [welcomeMsg dataUsingEncoding:NSUTF8StringEncoding];\n\t\n\t[sock writeData:welcomeData withTimeout:-1 tag:WELCOME_MSG];\n\t\n\t[sock readDataToData:[AsyncSocket CRLFData] withTimeout:READ_TIMEOUT tag:0];\n}\n\n- (void)onSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag\n{\n\tif(tag == ECHO_MSG)\n\t{\n\t\t[sock readDataToData:[AsyncSocket CRLFData] withTimeout:READ_TIMEOUT tag:0];\n\t}\n}\n\n- (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag\n{\n\tNSData *strData = [data subdataWithRange:NSMakeRange(0, [data length] - 2)];\n\tNSString *msg = [[NSString alloc] initWithData:strData encoding:NSUTF8StringEncoding];\n\tif(msg)\n\t{\n\t\t[self logMessage:msg];\n\t}\n\telse\n\t{\n\t\t[self logError:@\"Error converting received data into UTF-8 String\"];\n\t}\n\t\n\t// Even if we were unable to write the incoming data to the log,\n\t// we're still going to echo it back to the client.\n\t[sock writeData:data withTimeout:-1 tag:ECHO_MSG];\n}\n\n/**\n * This method is called if a read has timed out.\n * It allows us to optionally extend the timeout.\n * We use this method to issue a warning to the user prior to disconnecting them.\n**/\n- (NSTimeInterval)onSocket:(AsyncSocket *)sock\n  shouldTimeoutReadWithTag:(long)tag\n\t\t\t\t   elapsed:(NSTimeInterval)elapsed\n\t\t\t\t bytesDone:(NSUInteger)length\n{\n\tif(elapsed <= READ_TIMEOUT)\n\t{\n\t\tNSString *warningMsg = @\"Are you still there?\\r\\n\";\n\t\tNSData *warningData = [warningMsg dataUsingEncoding:NSUTF8StringEncoding];\n\t\t\n\t\t[sock writeData:warningData withTimeout:-1 tag:WARNING_MSG];\n\t\t\n\t\treturn READ_TIMEOUT_EXTENSION;\n\t}\n\t\n\treturn 0.0;\n}\n\n- (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err\n{\n\t[self logInfo:FORMAT(@\"Client Disconnected: %@:%hu\", [sock connectedHost], [sock connectedPort])];\n}\n\n- (void)onSocketDidDisconnect:(AsyncSocket *)sock\n{\n\t[connectedSockets removeObject:sock];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/EchoServer/EchoServer.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tDC7619050E26F49700A77CA5 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7619040E26F49700A77CA5 /* AppController.m */; };\n\t\tDC8465FE1293A62E001C71DF /* AsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC8465FD1293A62E001C71DF /* AsyncSocket.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t32CA4F630368D1EE00C91783 /* EchoServer_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EchoServer_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* EchoServer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = EchoServer.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC7619030E26F49700A77CA5 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = \"<group>\"; };\n\t\tDC7619040E26F49700A77CA5 /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = \"<group>\"; };\n\t\tDC8465FC1293A62E001C71DF /* AsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AsyncSocket.h; path = ../../AsyncSocket.h; sourceTree = SOURCE_ROOT; };\n\t\tDC8465FD1293A62E001C71DF /* AsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AsyncSocket.m; path = ../../AsyncSocket.m; sourceTree = SOURCE_ROOT; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC8465FC1293A62E001C71DF /* AsyncSocket.h */,\n\t\t\t\tDC8465FD1293A62E001C71DF /* AsyncSocket.m */,\n\t\t\t\tDC7619030E26F49700A77CA5 /* AppController.h */,\n\t\t\t\tDC7619040E26F49700A77CA5 /* AppController.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* EchoServer.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* EchoServer */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t);\n\t\t\tname = EchoServer;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t32CA4F630368D1EE00C91783 /* EchoServer_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t29B97318FDCFA39411CA2CEA /* MainMenu.nib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* EchoServer */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"EchoServer\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = EchoServer;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = EchoServer;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* EchoServer.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0510;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"EchoServer\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* EchoServer */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* EchoServer */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\tDC7619050E26F49700A77CA5 /* AppController.m in Sources */,\n\t\t\t\tDC8465FE1293A62E001C71DF /* AsyncSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97319FDCFA39411CA2CEA /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.nib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = EchoServer_Prefix.pch;\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_NAME = EchoServer;\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = EchoServer_Prefix.pch;\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_NAME = EchoServer;\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_SIGN_COMPARE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_MISSING_PARENTHESES = YES;\n\t\t\t\tGCC_WARN_SHADOW = YES;\n\t\t\t\tGCC_WARN_SIGN_COMPARE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"EchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"EchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/EchoServer/EchoServer_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'EchoServer' target in the 'EchoServer' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/EchoServer/English.lproj/MainMenu.nib/designable.nib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1050</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11D50b</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2182</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.32</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">568.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">2182</string>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>NSScroller</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSTextFieldCell</string>\n\t\t\t<string>NSScrollView</string>\n\t\t\t<string>NSButtonCell</string>\n\t\t\t<string>NSButton</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t\t<string>NSTextView</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSTextField</string>\n\t\t\t<string>NSUserDefaultsController</string>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">NewApplication</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"464403078\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"466025668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">NewApplication</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About NewApplication</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide NewApplication</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit NewApplication</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"626404410\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"502084290\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"519768076\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"502084290\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1028416764\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"502084290\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"391199113\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"374024848\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238773614\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"374024848\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">NewApplication Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"464403078\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"466025668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 392}, {364, 358}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1946157056</int>\n\t\t\t\t<string key=\"NSWindowTitle\">Window</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<string key=\"NSWindowContentMinSize\">{250, 150}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"37798317\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{60, 316}, {63, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"478395592\"/>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"109716074\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<object class=\"NSFont\" key=\"NSSupport\" id=\"345453730\">\n\t\t\t\t\t\t\t\t\t<string key=\"NSName\">LucidaGrande</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSSize\">13</double>\n\t\t\t\t\t\t\t\t\t<int key=\"NSfFlags\">1044</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">Any</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"37798317\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"828979410\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"518544926\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"1048681524\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{17, 318}, {38, 17}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"37798317\"/>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"251998944\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">67239488</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Port:</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"345453730\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"1048681524\"/>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">controlColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"244308676\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MC42NjY2NjY2NjY3AA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">controlTextColor</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"518544926\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSButton\" id=\"478395592\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">265</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{254, 310}, {96, 32}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"808079749\"/>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSButtonCell\" key=\"NSCell\" id=\"770729566\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">67239424</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">134217728</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Start</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"345453730\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"478395592\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags\">-2038284033</int>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags2\">129</int>\n\t\t\t\t\t\t\t\t<string key=\"NSAlternateContents\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSKeyEquivalent\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicDelay\">200</int>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicInterval\">25</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSScrollView\" id=\"808079749\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSClipView\" id=\"753933742\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"808079749\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2304</int>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextView\" id=\"35061812\">\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"753933742\"/>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">10514</int>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSFrameSize\">{322, 120}</string>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"753933742\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"851288889\"/>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextContainer\" key=\"NSTextContainer\" id=\"943374405\">\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSLayoutManager\" key=\"NSLayoutManager\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextStorage\" key=\"NSTextStorage\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableString\" key=\"NSString\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<characters key=\"NS.bytes\">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Et harumd und lookum like Greek to me, dereud facilis est er expedit distinct. Nam liber te conscient to factor tum poen legum odioque civiuda</characters>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSDictionary\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSFont</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSParagraphStyle</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSFont\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">LucidaGrande</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSSize\">10</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSfFlags\">2843</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSParagraphStyle\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSAlignment\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"NSTabStops\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"391676181\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">0.0</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"937054670\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">56</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"579976407\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">112</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"461447862\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">168</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"374678093\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">224</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"457774899\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">280</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"301812150\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">336</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"606981213\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">392</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"370182881\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">448</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"713445094\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">504</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"332171008\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">560</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"462725174\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">616</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"240732\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">672</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"867356602\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">728</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"731175877\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">784</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"707002120\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">840</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"596993831\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">896</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"268943605\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">952</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"737954820\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1008</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"542894483\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1064</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"306740922\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1120</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"590772929\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1176</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"888347213\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1232</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"281678623\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1288</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"35574032\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1344</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"292998982\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1400</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"16014550\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1456</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"789506774\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1512</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"1049600189\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1568</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"6320735\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1624</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"528829228\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1680</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextTab\" id=\"367532548\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSLocation\">1736</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSDictionary\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSFont</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSParagraphStyle</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSFont\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">LucidaGrande-Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSSize\">10</double>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSfFlags\">16</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSParagraphStyle\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSAlignment\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"NSTabStops\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"391676181\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"937054670\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"579976407\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"461447862\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"374678093\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"457774899\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"301812150\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"606981213\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"370182881\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"713445094\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"332171008\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"462725174\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"240732\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"867356602\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"731175877\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"707002120\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"596993831\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"268943605\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"737954820\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"542894483\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"306740922\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"590772929\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"888347213\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"281678623\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"35574032\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"292998982\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"16014550\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"789506774\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"1049600189\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"6320735\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"528829228\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"367532548\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableData\" key=\"NSAttributeInfo\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NS.bytes\">GQAEAQgADAEiAAcBhAQAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSTextContainers\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"943374405\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSLMFlags\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSTextView\" ref=\"35061812\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSWidth\">322</double>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTCFlags\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextViewSharedData\" key=\"NSSharedData\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSFlags\">11109</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTextCheckingTypes\">0</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSMarkedAttributes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"828979410\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSDictionary\" key=\"NSSelectedAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"244308676\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"518544926\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSInsertionColor\" ref=\"518544926\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSDictionary\" key=\"NSLinkAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string>NSUnderline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDEAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDefaultParagraphStyle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSTextFinder\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSPreferredTextFinderStyle\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTVFlags\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMaxSize\">{454, 10000000}</string>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMinize\">{84, 0}</string>\n\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{1, 1}, {322, 286}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"808079749\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"35061812\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSDocView\" ref=\"35061812\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSBGColor\" ref=\"828979410\"/>\n\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{4, 5}</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSImage\" key=\"NSImage\">\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSImageFlags\">12582912</int>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSReps\">\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSArray\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"0\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSBitmapImageRep\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSData\" key=\"NSTIFFRepresentation\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NS.bytes\">TU0AKgAAAHCAFUqgBVKsAAAAwdVQUqwaEQeIRGJRGFlYqwWLQ+JxuOQpVRmEx2RROKwOQyOUQSPyaUym\nSxqWyKXyeYxyZzWbSuJTScRCbz2Nz+gRKhUOfTqeUai0OSxiWTiBQSHSGFquGwekxyAgAAAOAQAAAwAA\nAAEAEAAAAQEAAwAAAAEAEAAAAQIAAwAAAAIACAAIAQMAAwAAAAEABQAAAQYAAwAAAAEAAQAAAREABAAA\nAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEAAgAAARYAAwAAAAEAEAAAARcABAAAAAEAAABnARwAAwAA\nAAEAAQAAAT0AAwAAAAEAAgAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MCAwAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t<int key=\"NScvFlags\">4</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"851288889\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"808079749\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">-2147483392</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{308, 1}, {15, 286}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"808079749\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"808079749\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.35794740000000003</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"863017593\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"808079749\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">-2147483392</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{-100, -100}, {87, 18}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"808079749\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"753933742\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSsFlags\">1</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"808079749\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.94565220000000005</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 20}, {324, 288}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"863017593\"/>\n\t\t\t\t\t\t\t<int key=\"NSsFlags\">133650</int>\n\t\t\t\t\t\t\t<reference key=\"NSVScroller\" ref=\"851288889\"/>\n\t\t\t\t\t\t\t<reference key=\"NSHScroller\" ref=\"863017593\"/>\n\t\t\t\t\t\t\t<reference key=\"NSContentView\" ref=\"753933742\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<string key=\"NSFrameSize\">{364, 358}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"1048681524\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1440, 878}}</string>\n\t\t\t\t<string key=\"NSMinSize\">{250, 172}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<string key=\"NSFrameAutosaveName\">EchoServerWindow</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"977069679\">\n\t\t\t\t<string key=\"NSClassName\">AppController</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSUserDefaultsController\" id=\"563223037\">\n\t\t\t\t<bool key=\"NSSharedInstance\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"977069679\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">386</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238773614\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">360</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1028416764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">361</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">369</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">initialFirstResponder</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"972006081\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"478395592\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">393</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBBindingConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">value: values.serverPort</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"37798317\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"563223037\"/>\n\t\t\t\t\t\t<object class=\"NSNibBindingConnector\" key=\"connector\">\n\t\t\t\t\t\t\t<reference key=\"NSSource\" ref=\"37798317\"/>\n\t\t\t\t\t\t\t<reference key=\"NSDestination\" ref=\"563223037\"/>\n\t\t\t\t\t\t\t<string key=\"NSLabel\">value: values.serverPort</string>\n\t\t\t\t\t\t\t<string key=\"NSBinding\">value</string>\n\t\t\t\t\t\t\t<string key=\"NSKeyPath\">values.serverPort</string>\n\t\t\t\t\t\t\t<int key=\"NSNibBindingConnectorVersion\">2</int>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">392</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">logView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"977069679\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"35061812\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">387</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">portField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"977069679\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"37798317\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">388</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStopButton</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"977069679\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"478395592\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">389</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStop:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"977069679\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"478395592\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">390</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"object\" id=\"1049\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1049\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1049\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1049\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"391199113\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"626404410\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1049\"/>\n\t\t\t\t\t\t<string key=\"objectName\">MainMenu</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">103</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"391199113\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"374024848\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"objectName\">1</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t\t<string key=\"objectName\">3</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t\t<string key=\"objectName\">8</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t\t<string key=\"objectName\">6</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t\t<string key=\"objectName\">9</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t\t<string key=\"objectName\">5</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t\t<string key=\"objectName\">1</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t\t<string key=\"objectName\">7</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t\t<string key=\"objectName\">10</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t\t<string key=\"objectName\">2</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">106</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"374024848\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238773614\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"391199113\"/>\n\t\t\t\t\t\t<string key=\"objectName\">2</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">111</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238773614\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"374024848\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t\t<string key=\"objectName\">1111</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t\t<string key=\"objectName\">121</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">299</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"626404410\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"502084290\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">300</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"502084290\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"519768076\"/>\n\t\t\t\t\t\t\t<reference ref=\"1028416764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"626404410\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">344</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"519768076\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"502084290\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">345</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1028416764\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"502084290\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1049\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"37798317\"/>\n\t\t\t\t\t\t\t<reference ref=\"1048681524\"/>\n\t\t\t\t\t\t\t<reference ref=\"478395592\"/>\n\t\t\t\t\t\t\t<reference ref=\"808079749\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"37798317\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"109716074\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"109716074\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"37798317\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1048681524\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"251998944\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">378</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"251998944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1048681524\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">379</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"478395592\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"770729566\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">380</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"770729566\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"478395592\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">381</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"977069679\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1049\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">382</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"808079749\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"851288889\"/>\n\t\t\t\t\t\t\t<reference ref=\"863017593\"/>\n\t\t\t\t\t\t\t<reference ref=\"35061812\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">383</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"851288889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"808079749\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">384</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"863017593\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"808079749\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">385</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"35061812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"808079749\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"563223037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1049\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.IBPluginDependency</string>\n\t\t\t\t\t<string>-2.IBPluginDependency</string>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>103.IBPluginDependency</string>\n\t\t\t\t\t<string>106.IBPluginDependency</string>\n\t\t\t\t\t<string>111.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>299.IBPluginDependency</string>\n\t\t\t\t\t<string>300.IBPluginDependency</string>\n\t\t\t\t\t<string>344.IBPluginDependency</string>\n\t\t\t\t\t<string>345.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>378.IBPluginDependency</string>\n\t\t\t\t\t<string>379.IBPluginDependency</string>\n\t\t\t\t\t<string>380.IBPluginDependency</string>\n\t\t\t\t\t<string>381.IBPluginDependency</string>\n\t\t\t\t\t<string>382.IBPluginDependency</string>\n\t\t\t\t\t<string>383.IBPluginDependency</string>\n\t\t\t\t\t<string>384.IBPluginDependency</string>\n\t\t\t\t\t<string>385.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{108, 527}, {364, 358}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"1049\"/>\n\t\t\t\t<reference key=\"dict.values\" ref=\"1049\"/>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"1049\"/>\n\t\t\t\t<reference key=\"dict.values\" ref=\"1049\"/>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">393</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStop:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStop:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">startStop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>logView</string>\n\t\t\t\t\t\t\t<string>portField</string>\n\t\t\t\t\t\t\t<string>startStopButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>logView</string>\n\t\t\t\t\t\t\t<string>portField</string>\n\t\t\t\t\t\t\t<string>startStopButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">logView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">portField</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">startStopButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1050\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<string>NSMenuCheckmark</string>\n\t\t\t\t<string>NSMenuMixedState</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<string>{11, 11}</string>\n\t\t\t\t<string>{10, 3}</string>\n\t\t\t</object>\n\t\t</object>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/EchoServer/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.yourcompany.EchoServer</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/EchoServer/Instructions.txt",
    "content": "First, build and run the EchoServer.\nYou can set it to run on a specific port, or allow to pick an available port.\nNow start the echo server.  It will output the port it started on.\n\nYou can now use telnet to connect to the echo server and test it.\nUsing the Terminal (/Applications/Utilities/Terminal.app)\ntype in the following:\ntelnet localhost [port]\n\nwhere \"[port]\" is replaced by the port the Echo server is running on.\n\nType in anything you want, and hit return.\nWhatever you typed in will be displayed in the Echo Server, and echoed back to you.\n\nTo end your telnet session hit Ctrl-], and type \"quit\"."
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/EchoServer/main.m",
    "content": "//\n//  main.m\n//  EchoServer\n//\n//  Created by Robbie Hanson on 7/10/08.\n//  Copyright __MyCompanyName__ 2008. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/Classes/InterfaceTestAppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class InterfaceTestViewController;\n@class AsyncSocket;\n\n\n@interface InterfaceTestAppDelegate : NSObject <UIApplicationDelegate>\n{\n\tCFHostRef host;\n\tAsyncSocket *asyncSocket;\n\t\n\tUIWindow *window;\n\tInterfaceTestViewController *viewController;\n}\n\n@property (nonatomic) IBOutlet UIWindow *window;\n@property (nonatomic) IBOutlet InterfaceTestViewController *viewController;\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/Classes/InterfaceTestAppDelegate.m",
    "content": "#import \"InterfaceTestAppDelegate.h\"\n#import \"InterfaceTestViewController.h\"\n#import \"AsyncSocket.h\"\n\n#import <arpa/inet.h>\n#import <net/if.h>\n#import <ifaddrs.h>\n\n\n@implementation InterfaceTestAppDelegate\n\n@synthesize window;\n@synthesize viewController;\n\n- (void)listInterfaces\n{\n\tNSLog(@\"listInterfaces\");\n\t\n\tstruct ifaddrs *addrs;\n\tconst struct ifaddrs *cursor;\n\t\n\tif ((getifaddrs(&addrs) == 0))\n\t{\n\t\tcursor = addrs;\n\t\twhile (cursor != NULL)\n\t\t{\n\t\t\tNSString *name = [NSString stringWithUTF8String:cursor->ifa_name];\n\t\t\tNSLog(@\"%@\", name);\n\t\t\t\n\t\t\tcursor = cursor->ifa_next;\n\t\t}\n\t\tfreeifaddrs(addrs);\n\t}\n}\n\n- (NSData *)wifiAddress\n{\n\t// On iPhone, WiFi is always \"en0\"\n\t\n\tNSData *result = nil;\n\t\n\tstruct ifaddrs *addrs;\n\tconst struct ifaddrs *cursor;\n\t\n\tif ((getifaddrs(&addrs) == 0))\n\t{\n\t\tcursor = addrs;\n\t\twhile (cursor != NULL)\n\t\t{\n\t\t\tNSLog(@\"cursor->ifa_name = %s\", cursor->ifa_name);\n\t\t\t\n\t\t\tif (strcmp(cursor->ifa_name, \"en0\") == 0)\n\t\t\t{\n\t\t\t\tif (cursor->ifa_addr->sa_family == AF_INET)\n\t\t\t\t{\n\t\t\t\t\tstruct sockaddr_in *addr = (struct sockaddr_in *)cursor->ifa_addr;\n\t\t\t\t\tNSLog(@\"cursor->ifa_addr = %s\", inet_ntoa(addr->sin_addr));\n\t\t\t\t\t\n\t\t\t\t\tresult = [NSData dataWithBytes:addr length:sizeof(struct sockaddr_in)];\n\t\t\t\t\tcursor = NULL;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tcursor = cursor->ifa_next;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcursor = cursor->ifa_next;\n\t\t\t}\n\t\t}\n\t\tfreeifaddrs(addrs);\n\t}\n\t\n\treturn result;\n}\n\n- (NSData *)cellAddress\n{\n\t// On iPhone, 3G is \"pdp_ipX\", where X is usually 0, but may possibly be 0-3 (i'm guessing...)\n\t\n\tNSData *result = nil;\n\t\n\tstruct ifaddrs *addrs;\n\tconst struct ifaddrs *cursor;\n\t\n\tif ((getifaddrs(&addrs) == 0))\n\t{\n\t\tcursor = addrs;\n\t\twhile (cursor != NULL)\n\t\t{\n\t\t\tNSLog(@\"cursor->ifa_name = %s\", cursor->ifa_name);\n\t\t\t\n\t\t\tif (strncmp(cursor->ifa_name, \"pdp_ip\", 6) == 0)\n\t\t\t{\n\t\t\t\tif (cursor->ifa_addr->sa_family == AF_INET)\n\t\t\t\t{\n\t\t\t\t\tstruct sockaddr_in *addr = (struct sockaddr_in *)cursor->ifa_addr;\n\t\t\t\t\tNSLog(@\"cursor->ifa_addr = %s\", inet_ntoa(addr->sin_addr));\n\t\t\t\t\t\n\t\t\t\t\tresult = [NSData dataWithBytes:addr length:sizeof(struct sockaddr_in)];\n\t\t\t\t\tcursor = NULL;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tcursor = cursor->ifa_next;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcursor = cursor->ifa_next;\n\t\t\t}\n\t\t}\n\t\tfreeifaddrs(addrs);\n\t}\n\t\n\treturn result;\n}\n\n- (void)dnsResolveDidFinish\n{\n\tNSLog(@\"dnsResolveDidFinish\");\n\t\n\tBoolean hasBeenResolved;\n\tCFArrayRef addrs = CFHostGetAddressing(host, &hasBeenResolved);\n\t\n\tif (!hasBeenResolved)\n\t{\n\t\tNSLog(@\"Failed to resolve!\");\n\t\treturn;\n\t}\n\t\n\tCFIndex count = CFArrayGetCount(addrs);\n\t\t\n\tif (count == 0)\n\t{\n\t\tNSLog(@\"Found 0 addresses!\");\n\t\treturn;\n\t}\n\t\n\t\n\tstruct sockaddr_in remoteAddr;\n\tNSData *remoteAddrData = nil;\n\t\n\tBOOL found = NO;\n\tCFIndex i;\n\tfor (i = 0; i < count && !found; i++)\n\t{\n\t\tCFDataRef addr = CFArrayGetValueAtIndex(addrs, i);\n\t\t\n\t\tstruct sockaddr *saddr = (struct sockaddr *)CFDataGetBytePtr(addr);\n\t\tif (saddr->sa_family == AF_INET)\n\t\t{\n\t\t\tstruct sockaddr_in *saddr4 = (struct sockaddr_in *)saddr;\n\t\t\t\n\t\t\tNSLog(@\"Found IPv4 version: %s\", inet_ntoa(saddr4->sin_addr));\n\t\t\t\n\t\t\tmemcpy(&remoteAddr, saddr, sizeof(remoteAddr));\n\t\t\tremoteAddr.sin_port = htons(80);\n\t\t\t\n\t\t\tremoteAddrData = [NSData dataWithBytes:&remoteAddr length:sizeof(remoteAddr)];\n\t\t\t\n\t\t\tfound = YES;\n\t\t}\n\t}\n\t\n\tif (found == NO)\n\t{\n\t\tNSLog(@\"Found no suitable addresses!\");\n\t\treturn;\n\t}\n\t\n\tNSData *interfaceAddrData = [self wifiAddress];\n//\tNSData *interfaceAddrData = [self cellAddress];\n\tif (interfaceAddrData == nil)\n\t{\n\t\tNSLog(@\"Requested interface not available\");\n\t\treturn;\n\t}\n\t\n\tNSLog(@\"Connecting...\");\n\t\n\tasyncSocket = [[AsyncSocket alloc] initWithDelegate:self];\n\t\n\tNSError *err = nil;\n\tif (![asyncSocket connectToAddress:remoteAddrData viaInterfaceAddress:interfaceAddrData withTimeout:-1 error:&err])\n\t{\n\t\tNSLog(@\"Error connecting: %@\", err);\n\t}\n}\n\nstatic void DNSResolveCallBack(CFHostRef theHost, CFHostInfoType typeInfo, const CFStreamError *error, void *info)\n{\n\t@autoreleasepool {\n\t\n\t\tInterfaceTestAppDelegate *instance = (__bridge InterfaceTestAppDelegate *)info;\n\t\t[instance dnsResolveDidFinish];\n\t\n\t}\n}\n\n- (void)startDNSResolve\n{\n\tNSLog(@\"startDNSResolve\");\n\t\n\tNSLog(@\"Resolving google.com...\");\n\thost = CFHostCreateWithName(kCFAllocatorDefault, CFSTR(\"google.com\"));\n\tif (host == NULL)\n\t{\n\t\tNSLog(@\"wtf 1\");\n\t\treturn;\n\t}\n\t\n\tBoolean result;\n\t\n\tCFHostClientContext context;\n\tcontext.version         = 0;\n\tcontext.info            = (__bridge void *)(self);\n\tcontext.retain          = NULL;\n\tcontext.release         = NULL;\n\tcontext.copyDescription = NULL;\n\t\n\tresult = CFHostSetClient(host, &DNSResolveCallBack, &context);\n\tif (!result)\n\t{\n\t\tNSLog(@\"wtf 2\");\n\t\treturn;\n\t}\n\t\n\tCFHostScheduleWithRunLoop(host, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);\n\t\n\tCFStreamError error;\n\tbzero(&error, sizeof(error));\n\t\n\tresult = CFHostStartInfoResolution(host, kCFHostAddresses, &error);\n\tif (!result)\n\t{\n\t\tNSLog(@\"Failed to start DNS resolve\");\n\t\tNSLog(@\"error: domain(%i) code(%i)\", (int)(error.domain), (int)(error.error));\n\t}\n}\n\n- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)remoteHost port:(UInt16)remotePort\n{\n\tNSLog(@\"Socket is connected!\");\n\t\n\tNSLog(@\"Remote Address: %@:%hu\", remoteHost, remotePort);\n\t\n\tNSString *localHost = [sock localHost];\n\tUInt16 localPort = [sock localPort];\n\t\n\tNSLog(@\"Local Address: %@:%hu\", localHost, localPort);\n}\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n\tNSLog(@\"application:didFinishLaunchingWithOptions:\");\n\t\n    [self listInterfaces];\n\t[self startDNSResolve];\n\t\n\t// Add the view controller's view to the window and display.\n\t[window addSubview:viewController.view];\n\t[window makeKeyAndVisible];\n\t\n\treturn YES;\n}\n\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/Classes/InterfaceTestViewController.h",
    "content": "//\n//  InterfaceTestViewController.h\n//  InterfaceTest\n//\n//  Created by Robbie Hanson on 10/15/10.\n//  Copyright 2010 __MyCompanyName__. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface InterfaceTestViewController : UIViewController {\n\n}\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/Classes/InterfaceTestViewController.m",
    "content": "//\n//  InterfaceTestViewController.m\n//  InterfaceTest\n//\n//  Created by Robbie Hanson on 10/15/10.\n//  Copyright 2010 __MyCompanyName__. All rights reserved.\n//\n\n#import \"InterfaceTestViewController.h\"\n\n@implementation InterfaceTestViewController\n\n\n\n/*\n// The designated initializer. Override to perform setup that is required before the view is loaded.\n- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {\n    if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {\n        // Custom initialization\n    }\n    return self;\n}\n*/\n\n/*\n// Implement loadView to create a view hierarchy programmatically, without using a nib.\n- (void)loadView {\n}\n*/\n\n\n/*\n// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.\n- (void)viewDidLoad {\n    [super viewDidLoad];\n}\n*/\n\n\n/*\n// Override to allow orientations other than the default portrait orientation.\n- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {\n    // Return YES for supported orientations\n    return (interfaceOrientation == UIInterfaceOrientationPortrait);\n}\n*/\n\n- (void)didReceiveMemoryWarning {\n\t// Releases the view if it doesn't have a superview.\n    [super didReceiveMemoryWarning];\n\t\n\t// Release any cached data, images, etc that aren't in use.\n}\n\n- (void)viewDidUnload {\n\t// Release any retained subviews of the main view.\n\t// e.g. self.myOutlet = nil;\n}\n\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/InterfaceTest-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSMainNibFile</key>\n\t<string>MainWindow</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/InterfaceTest.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1D3623260D0F684500981E51 /* InterfaceTestAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* InterfaceTestAppDelegate.m */; };\n\t\t1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };\n\t\t1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };\n\t\t1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };\n\t\t288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };\n\t\t2899E5220DE3E06400AC0155 /* InterfaceTestViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* InterfaceTestViewController.xib */; };\n\t\t28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };\n\t\t28D7ACF80DDB3853001CB0EB /* InterfaceTestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* InterfaceTestViewController.m */; };\n\t\tDC84662D1293A7C4001C71DF /* AsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC84662C1293A7C4001C71DF /* AsyncSocket.m */; };\n\t\tDC8466311293A801001C71DF /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC8466301293A801001C71DF /* CFNetwork.framework */; };\n\t\tDC98AD3418FA3B7A00C50790 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DC98AD3318FA3B7A00C50790 /* Default-568h@2x.png */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\t1D3623240D0F684500981E51 /* InterfaceTestAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InterfaceTestAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t1D3623250D0F684500981E51 /* InterfaceTestAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InterfaceTestAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t1D6058910D05DD3D006BFB54 /* InterfaceTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = InterfaceTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\t288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\t2899E5210DE3E06400AC0155 /* InterfaceTestViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = InterfaceTestViewController.xib; sourceTree = \"<group>\"; };\n\t\t28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = \"<group>\"; };\n\t\t28D7ACF60DDB3853001CB0EB /* InterfaceTestViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InterfaceTestViewController.h; sourceTree = \"<group>\"; };\n\t\t28D7ACF70DDB3853001CB0EB /* InterfaceTestViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InterfaceTestViewController.m; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t32CA4F630368D1EE00C91783 /* InterfaceTest_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InterfaceTest_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t8D1107310486CEB800E47090 /* InterfaceTest-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"InterfaceTest-Info.plist\"; plistStructureDefinitionIdentifier = \"com.apple.xcode.plist.structure-definition.iphone.info-plist\"; sourceTree = \"<group>\"; };\n\t\tDC84662B1293A7C4001C71DF /* AsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AsyncSocket.h; path = ../../AsyncSocket.h; sourceTree = SOURCE_ROOT; };\n\t\tDC84662C1293A7C4001C71DF /* AsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AsyncSocket.m; path = ../../AsyncSocket.m; sourceTree = SOURCE_ROOT; };\n\t\tDC8466301293A801001C71DF /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };\n\t\tDC98AD3318FA3B7A00C50790 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = \"Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t1D60588F0D05DD3D006BFB54 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,\n\t\t\t\t1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,\n\t\t\t\t288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,\n\t\t\t\tDC8466311293A801001C71DF /* CFNetwork.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC84662B1293A7C4001C71DF /* AsyncSocket.h */,\n\t\t\t\tDC84662C1293A7C4001C71DF /* AsyncSocket.m */,\n\t\t\t\t1D3623240D0F684500981E51 /* InterfaceTestAppDelegate.h */,\n\t\t\t\t1D3623250D0F684500981E51 /* InterfaceTestAppDelegate.m */,\n\t\t\t\t28D7ACF60DDB3853001CB0EB /* InterfaceTestViewController.h */,\n\t\t\t\t28D7ACF70DDB3853001CB0EB /* InterfaceTestViewController.m */,\n\t\t\t);\n\t\t\tpath = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1D6058910D05DD3D006BFB54 /* InterfaceTest.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC98AD3318FA3B7A00C50790 /* Default-568h@2x.png */,\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t);\n\t\t\tname = CustomTemplate;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t32CA4F630368D1EE00C91783 /* InterfaceTest_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2899E5210DE3E06400AC0155 /* InterfaceTestViewController.xib */,\n\t\t\t\t28AD733E0D9D9553002E5188 /* MainWindow.xib */,\n\t\t\t\t8D1107310486CEB800E47090 /* InterfaceTest-Info.plist */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,\n\t\t\t\t1D30AB110D05D00D00671497 /* Foundation.framework */,\n\t\t\t\t288765A40DF7441C002DB57D /* CoreGraphics.framework */,\n\t\t\t\tDC8466301293A801001C71DF /* CFNetwork.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t1D6058900D05DD3D006BFB54 /* InterfaceTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget \"InterfaceTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t1D60588D0D05DD3D006BFB54 /* Resources */,\n\t\t\t\t1D60588E0D05DD3D006BFB54 /* Sources */,\n\t\t\t\t1D60588F0D05DD3D006BFB54 /* Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = InterfaceTest;\n\t\t\tproductName = InterfaceTest;\n\t\t\tproductReference = 1D6058910D05DD3D006BFB54 /* InterfaceTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0510;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"InterfaceTest\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t1D6058900D05DD3D006BFB54 /* InterfaceTest */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t1D60588D0D05DD3D006BFB54 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,\n\t\t\t\t2899E5220DE3E06400AC0155 /* InterfaceTestViewController.xib in Resources */,\n\t\t\t\tDC98AD3418FA3B7A00C50790 /* Default-568h@2x.png in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t1D60588E0D05DD3D006BFB54 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t1D60589B0D05DD56006BFB54 /* main.m in Sources */,\n\t\t\t\t1D3623260D0F684500981E51 /* InterfaceTestAppDelegate.m in Sources */,\n\t\t\t\t28D7ACF80DDB3853001CB0EB /* InterfaceTestViewController.m in Sources */,\n\t\t\t\tDC84662D1293A7C4001C71DF /* AsyncSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\t1D6058940D05DD3E006BFB54 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = InterfaceTest_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"InterfaceTest-Info.plist\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.0;\n\t\t\t\tPRODUCT_NAME = InterfaceTest;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t1D6058950D05DD3E006BFB54 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = InterfaceTest_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"InterfaceTest-Info.plist\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 5.0;\n\t\t\t\tPRODUCT_NAME = InterfaceTest;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = c99;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tPREBINDING = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = c99;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tPREBINDING = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget \"InterfaceTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t1D6058940D05DD3E006BFB54 /* Debug */,\n\t\t\t\t1D6058950D05DD3E006BFB54 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"InterfaceTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/InterfaceTestViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">800</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10C540</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">759</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.25</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">458.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">77</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"6\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 460}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>6.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>6.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>InterfaceTestViewController</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>{{239, 654}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">7</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">InterfaceTestViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/InterfaceTestViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">InterfaceTest.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">77</string>\n\t\t<nil key=\"IBCocoaTouchSimulationTargetRuntimeIdentifier\"/>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/InterfaceTest_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'InterfaceTest' target in the 'InterfaceTest' project\n//\n\n#ifdef __OBJC__\n    #import <Foundation/Foundation.h>\n    #import <UIKit/UIKit.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/MainWindow.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1024</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10D571</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">786</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.29</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">460.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">112</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"10\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"841351856\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"427554174\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUICustomObject\" id=\"664661524\">\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIViewController\" id=\"943309135\">\n\t\t\t\t<string key=\"IBUINibName\">InterfaceTestViewController</string>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<object class=\"IBUISimulatedOrientationMetrics\" key=\"IBUISimulatedOrientationMetrics\">\n\t\t\t\t\t<int key=\"interfaceOrientation\">1</int>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIHorizontal\">NO</bool>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIWindow\" id=\"117978783\">\n\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 480}</string>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t<bytes key=\"NSRGB\">MSAxIDEAA</bytes>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIResizesToFullScreen\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"664661524\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">4</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">viewController</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"943309135\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">11</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117978783\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">14</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">InterfaceTest App Delegate</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"427554174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"943309135\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">12</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117978783\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>10.CustomClassName</string>\n\t\t\t\t\t<string>10.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>10.IBPluginDependency</string>\n\t\t\t\t\t<string>12.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>12.IBPluginDependency</string>\n\t\t\t\t\t<string>3.CustomClassName</string>\n\t\t\t\t\t<string>3.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>UIApplication</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>InterfaceTestViewController</string>\n\t\t\t\t\t<string>{{234, 376}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>{{525, 346}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>InterfaceTestAppDelegate</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">15</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">InterfaceTestAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>InterfaceTestViewController</string>\n\t\t\t\t\t\t\t<string>UIWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">viewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">InterfaceTestViewController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">UIWindow</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/InterfaceTestAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">InterfaceTestAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">InterfaceTestViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/InterfaceTestViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"356479594\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"356479594\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchBar</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchBar.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchDisplayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchDisplayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITextField.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINavigationController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIPopoverController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISplitViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITabBarController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>\n\t\t\t<integer value=\"1024\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">InterfaceTest.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">112</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/Readme.txt",
    "content": "InterfaceTest is an iPhone project that demonstrates some of AsyncSocket's interface abilities.\n\nMost machines have multiple network interfaces. For example:\n- Ethernet\n- WiFi\n- 3G (cellular)\n- Bluetooth\n- Loopback (local machine only)\n\nWhich leads to the question:\nIf you are setting up sockets, which interface will your socket be running on?\n\nBy default, if you don't specify an inteface, then the following rules generally apply:\n\n- Server sockets (listening/accepting) will accept incoming connections on any inteface.\n- Client sockets (connecting) will make outgoing connections on the primary interface.\n\nThe primary interface on iPhone is WiFi.\nThe primary interface on Mac is configurable via system preferences.\n\nBut you can specify a particular interface using AsyncSocket.  There are various examples of when one might want to do this.\n\n- You're trying to make a bluetooth connection.\n\n- Your iPhone app only supports WiFi, so you need to ensure your socket is only using the WiFi interface.\n\n- You want to create a local-only server socket on Mac for inter-process communication. You want to ensure only processes running on the local device can connect to your server.\n\n\nThe IntefaceTest project demonstrates specifying a particular interface to use for an outgoing connection to google.com. You can force either the WiFi interface or the 3G/cellular interface."
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/InterfaceTest/main.m",
    "content": "//\n//  main.m\n//  InterfaceTest\n//\n//  Created by Robbie Hanson on 10/15/10.\n//  Copyright 2010 __MyCompanyName__. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\nint main(int argc, char *argv[]) {\n    \n    @autoreleasepool {\n        int retVal = UIApplicationMain(argc, argv, nil, nil);\n        return retVal;\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoClient/UdpEchoClient/AppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n#import \"AsyncUdpSocket.h\"\n\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n{\n\tlong tag;\n\tAsyncUdpSocket *udpSocket;\n}\n\n@property (assign) IBOutlet NSWindow *window;\n\n@property  IBOutlet NSTextField * addrField;\n@property  IBOutlet NSTextField * portField;\n@property  IBOutlet NSTextField * messageField;\n@property  IBOutlet NSButton    * sendButton;\n@property  IBOutlet NSTextView  * logView;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoClient/UdpEchoClient/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n\n#define FORMAT(format, ...) [NSString stringWithFormat:(format), ##__VA_ARGS__]\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n@synthesize addrField;\n@synthesize portField;\n@synthesize messageField;\n@synthesize sendButton;\n@synthesize logView;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\tudpSocket = [[AsyncUdpSocket alloc] initWithDelegate:self];\n\t\n\tNSError *error = nil;\n\t\n\tif (![udpSocket bindToPort:0 error:&error])\n\t{\n\t\tNSLog(@\"Error binding: %@\", error);\n\t\treturn;\n\t}\n\t\n\t[udpSocket receiveWithTimeout:-1 tag:0];\n\t\n\tNSLog(@\"Ready\");\n}\n\n- (void)scrollToBottom\n{\n\tNSScrollView *scrollView = [logView enclosingScrollView];\n\tNSPoint newScrollOrigin;\n\t\n\tif ([[scrollView documentView] isFlipped])\n\t\tnewScrollOrigin = NSMakePoint(0.0F, NSMaxY([[scrollView documentView] frame]));\n\telse\n\t\tnewScrollOrigin = NSMakePoint(0.0F, 0.0F);\n\t\n\t[[scrollView documentView] scrollPoint:newScrollOrigin];\n}\n\n- (void)logError:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor redColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logInfo:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor purpleColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logMessage:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor blackColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (IBAction)send:(id)sender\n{\n\tNSString *host = [addrField stringValue];\n\tif ([host length] == 0)\n\t{\n\t\t[self logError:@\"Address required\"];\n\t\treturn;\n\t}\n\t\n\tint port = [portField intValue];\n\tif (port <= 0 || port > 65535)\n\t{\n\t\t[self logError:@\"Valid port required\"];\n\t\treturn;\n\t}\n\t\n\tNSString *msg = [messageField stringValue];\n\tif ([msg length] == 0)\n\t{\n\t\t[self logError:@\"Message required\"];\n\t\treturn;\n\t}\n\t\n\tNSData *data = [msg dataUsingEncoding:NSUTF8StringEncoding];\n\t[udpSocket sendData:data toHost:host port:port withTimeout:-1 tag:tag];\n\t\n\t[self logMessage:FORMAT(@\"SENT (%i): %@\", (int)tag, msg)];\n\t\n\ttag++;\n}\n\n- (void)onUdpSocket:(AsyncUdpSocket *)sock didSendDataWithTag:(long)tag\n{\n\t// You could add checks here\n}\n\n- (void)onUdpSocket:(AsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error\n{\n\t// You could add checks here\n}\n\n- (BOOL)onUdpSocket:(AsyncUdpSocket *)sock\n     didReceiveData:(NSData *)data\n            withTag:(long)tag\n           fromHost:(NSString *)host\n               port:(UInt16)port\n{\n\tNSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\tif (msg)\n\t{\n\t\t[self logMessage:FORMAT(@\"RECV: %@\", msg)];\n\t}\n\telse\n\t{\n\t\t[self logInfo:FORMAT(@\"RECV: Unknown message from: %@:%hu\", host, port)];\n\t}\n\t\n\t[udpSocket receiveWithTimeout:-1 tag:0];\n\treturn YES;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoClient/UdpEchoClient/UdpEchoClient-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2012 __MyCompanyName__. All rights reserved.</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoClient/UdpEchoClient/UdpEchoClient-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'UdpEchoClient' target in the 'UdpEchoClient' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoClient/UdpEchoClient/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoClient/UdpEchoClient/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoClient/UdpEchoClient/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11D50</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2182</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.32</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">568.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">2182</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSScroller</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSTextFieldCell</string>\n\t\t\t<string>NSScrollView</string>\n\t\t\t<string>NSButtonCell</string>\n\t\t\t<string>NSButton</string>\n\t\t\t<string>IBNSLayoutConstraint</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t\t<string>NSTextView</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSTextField</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoClient</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoClient</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About UdpEchoClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide UdpEchoClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit UdpEchoClient</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoClient Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">UdpEchoClient</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t<object class=\"NSButton\" id=\"198073473\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{384, 278}, {82, 32}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSButtonCell\" key=\"NSCell\" id=\"824424898\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">67239424</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">134217728</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Send</string>\n\t\t\t\t\t\t\t\t<object class=\"NSFont\" key=\"NSSupport\" id=\"758147247\">\n\t\t\t\t\t\t\t\t\t<string key=\"NSName\">LucidaGrande</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSSize\">13</double>\n\t\t\t\t\t\t\t\t\t<int key=\"NSfFlags\">1044</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:9</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"198073473\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags\">-2038284033</int>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags2\">129</int>\n\t\t\t\t\t\t\t\t<string key=\"NSAlternateContents\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSKeyEquivalent\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicDelay\">200</int>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicInterval\">25</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"488397140\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 318}, {258, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"215811189\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"994792594\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"758147247\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">domain.tld or ip address</string>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:9</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"488397140\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\" id=\"518830582\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"56519588\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\" id=\"885085870\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"252494801\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"797678684\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 286}, {362, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"198073473\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"578879052\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"758147247\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">message to send</string>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:9</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"797678684\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"518830582\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSTextColor\" ref=\"885085870\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"215811189\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{286, 318}, {96, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"797678684\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"807117630\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"758147247\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">port</string>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:9</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"215811189\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"518830582\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSTextColor\" ref=\"885085870\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSScrollView\" id=\"905874442\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t<object class=\"NSClipView\" id=\"724300900\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2304</int>\n\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextView\" id=\"763547939\">\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"724300900\"/>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2322</int>\n\t\t\t\t\t\t\t\t\t\t\t<set class=\"NSMutableSet\" key=\"NSDragTypes\">\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple HTML pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PDF pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PICT pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PNG pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple URL pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>CorePasteboardFlavorType 0x6D6F6F76</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSColor pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSFilenamesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSStringPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT RTFD pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Rich Text Format v1.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT TIFF v4.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT font pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT ruler pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>WebURLsWithTitlesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>public.url</string>\n\t\t\t\t\t\t\t\t\t\t\t</set>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSFrameSize\">{423, 14}</string>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"724300900\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"498078311\"/>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:13</string>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextContainer\" key=\"NSTextContainer\" id=\"778196927\">\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSLayoutManager\" key=\"NSLayoutManager\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextStorage\" key=\"NSTextStorage\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableString\" key=\"NSString\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<characters key=\"NS.bytes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSTextContainers\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"778196927\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSLMFlags\">134</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSTextView\" ref=\"763547939\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSWidth\">423</double>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTCFlags\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextViewSharedData\" key=\"NSSharedData\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSFlags\">67121127</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTextCheckingTypes\">0</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSMarkedAttributes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"56519588\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSSelectedAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MC42NjY2NjY2NjY3AA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"252494801\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSInsertionColor\" ref=\"252494801\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSLinkAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDEAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{8, -8}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSCursorType\">13</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"1\" key=\"NSUnderline\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDefaultParagraphStyle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSTextFinder\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSPreferredTextFinderStyle\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTVFlags\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMaxSize\">{463, 10000000}</string>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMinize\">{223, 14}</string>\n\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{1, 1}, {423, 256}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"763547939\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:11</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSDocView\" ref=\"763547939\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSBGColor\" ref=\"56519588\"/>\n\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{4, 5}</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSImage\" key=\"NSImage\">\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSImageFlags\">79691776</int>\n\t\t\t\t\t\t\t\t\t\t\t<array key=\"NSReps\">\n\t\t\t\t\t\t\t\t\t\t\t\t<array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"5\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSURL\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NS.base\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NS.relative\">file://localhost/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/DVTIbeamCursor.tiff</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MCAwAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t<int key=\"NScvFlags\">4</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"477143819\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{424, 1}, {15, 256}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:84</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.85256409645080566</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"498078311\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">-2147483392</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{-100, -100}, {87, 18}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"724300900\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:33</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSsFlags\">1</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.94565218687057495</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 20}, {440, 258}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"724300900\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:9</string>\n\t\t\t\t\t\t\t<int key=\"NSsFlags\">133138</int>\n\t\t\t\t\t\t\t<reference key=\"NSVScroller\" ref=\"477143819\"/>\n\t\t\t\t\t\t\t<reference key=\"NSHScroller\" ref=\"498078311\"/>\n\t\t\t\t\t\t\t<reference key=\"NSContentView\" ref=\"724300900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</array>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"488397140\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1680, 1028}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<string key=\"NSFrameAutosaveName\">PrimaryWindow</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addrField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"488397140\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">608</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">portField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"215811189\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">609</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">messageField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"797678684\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">610</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">logView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"763547939\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">611</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">sendButton</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"198073473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">612</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">send:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"198073473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">613</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"488397140\"/>\n\t\t\t\t\t\t\t<reference ref=\"797678684\"/>\n\t\t\t\t\t\t\t<reference ref=\"198073473\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"239485617\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"488397140\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">5</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"533150592\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">6</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"198073473\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<reference ref=\"215811189\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"472070848\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"198073473\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"797678684\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">8</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"436477796\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"797678684\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">5</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"1001395170\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"797678684\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">3</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"488397140\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">4</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">10</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<reference ref=\"905874442\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"1073321919\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">3</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"797678684\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">4</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">8</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"680718506\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">6</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"193517758\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"215811189\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">3</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"412137662\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"215811189\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">6</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"797678684\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">0.0</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">2</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"943580652\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"215811189\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"488397140\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">8</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"391590232\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"488397140\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">3</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"627947852\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">5</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"627984076\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">4</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"905874442\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">4</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"879984374\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"198073473\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">11</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"797678684\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">11</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">0.0</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">2</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">536</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"198073473\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"824424898\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"616280751\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"198073473\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">7</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<nil key=\"secondItem\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">0</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">70</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">9</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">1</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"198073473\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">537</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"824424898\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"198073473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">540</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"488397140\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"994792594\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">541</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"994792594\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"488397140\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">557</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"797678684\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"578879052\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">558</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"578879052\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"797678684\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">575</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"239485617\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">577</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533150592\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">578</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215811189\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"807117630\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"61239864\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"215811189\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">7</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<nil key=\"secondItem\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">0</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">96</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">9</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">1</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"215811189\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">579</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"807117630\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215811189\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">580</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"61239864\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215811189\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">583</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"472070848\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">588</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"436477796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">589</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1001395170\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">590</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"616280751\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"198073473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">591</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"905874442\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"763547939\"/>\n\t\t\t\t\t\t\t<reference ref=\"498078311\"/>\n\t\t\t\t\t\t\t<reference ref=\"477143819\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">592</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"763547939\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"905874442\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">593</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"498078311\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"905874442\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">594</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"477143819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"905874442\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">599</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1073321919\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">600</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680718506\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">601</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"193517758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">602</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"412137662\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">603</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"943580652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">604</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"391590232\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">605</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"627947852\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">606</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"627984076\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">607</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879984374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"372.IBNSViewMetadataConstraints\">\n\t\t\t\t\t<reference ref=\"239485617\"/>\n\t\t\t\t\t<reference ref=\"533150592\"/>\n\t\t\t\t\t<reference ref=\"472070848\"/>\n\t\t\t\t\t<reference ref=\"436477796\"/>\n\t\t\t\t\t<reference ref=\"1001395170\"/>\n\t\t\t\t\t<reference ref=\"1073321919\"/>\n\t\t\t\t\t<reference ref=\"680718506\"/>\n\t\t\t\t\t<reference ref=\"193517758\"/>\n\t\t\t\t\t<reference ref=\"412137662\"/>\n\t\t\t\t\t<reference ref=\"943580652\"/>\n\t\t\t\t\t<reference ref=\"391590232\"/>\n\t\t\t\t\t<reference ref=\"627947852\"/>\n\t\t\t\t\t<reference ref=\"627984076\"/>\n\t\t\t\t\t<reference ref=\"879984374\"/>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"536.IBNSViewMetadataConstraints\">\n\t\t\t\t\t<reference ref=\"616280751\"/>\n\t\t\t\t</array>\n\t\t\t\t<boolean value=\"NO\" key=\"536.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"536.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"537.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<boolean value=\"NO\" key=\"540.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"540.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"541.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<boolean value=\"NO\" key=\"557.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"557.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"558.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"575.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"577.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<array key=\"578.IBNSViewMetadataConstraints\">\n\t\t\t\t\t<reference ref=\"61239864\"/>\n\t\t\t\t</array>\n\t\t\t\t<boolean value=\"NO\" key=\"578.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"578.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"579.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"580.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"583.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"588.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"589.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"590.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<boolean value=\"NO\" key=\"591.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"591.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"592.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"593.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"594.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"599.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"600.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"601.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"602.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"603.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"604.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"605.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"606.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"607.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">613</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"addrField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"logView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"messageField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"portField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"sendButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"window\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addrField\">\n\t\t\t\t\t\t\t<string key=\"name\">addrField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"logView\">\n\t\t\t\t\t\t\t<string key=\"name\">logView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"messageField\">\n\t\t\t\t\t\t\t<string key=\"name\">messageField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"portField\">\n\t\t\t\t\t\t\t<string key=\"name\">portField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sendButton\">\n\t\t\t\t\t\t\t<string key=\"name\">sendButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"window\">\n\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSLayoutConstraint</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSLayoutConstraint.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1070\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{11, 11}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{10, 3}</string>\n\t\t</dictionary>\n\t\t<bool key=\"IBDocument.UseAutolayout\">YES</bool>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoClient/UdpEchoClient/main.m",
    "content": "//\n//  main.m\n//  UdpEchoClient\n//\n//  Created by Robbie Hanson on 4/1/12.\n//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n\treturn NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoClient/UdpEchoClient.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tDC50574D15292039005A70E5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC50574C15292039005A70E5 /* Cocoa.framework */; };\n\t\tDC50575715292039005A70E5 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC50575515292039005A70E5 /* InfoPlist.strings */; };\n\t\tDC50575915292039005A70E5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC50575815292039005A70E5 /* main.m */; };\n\t\tDC50575D15292039005A70E5 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC50575B15292039005A70E5 /* Credits.rtf */; };\n\t\tDC50576015292039005A70E5 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC50575F15292039005A70E5 /* AppDelegate.m */; };\n\t\tDC5057631529203A005A70E5 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC5057611529203A005A70E5 /* MainMenu.xib */; };\n\t\tDC50576C15292071005A70E5 /* AsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC50576B15292071005A70E5 /* AsyncUdpSocket.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\tDC50574815292039005A70E5 /* UdpEchoClient.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UdpEchoClient.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC50574C15292039005A70E5 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC50574F15292039005A70E5 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC50575015292039005A70E5 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC50575115292039005A70E5 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC50575415292039005A70E5 /* UdpEchoClient-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"UdpEchoClient-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC50575615292039005A70E5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC50575815292039005A70E5 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC50575A15292039005A70E5 /* UdpEchoClient-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"UdpEchoClient-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC50575C15292039005A70E5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC50575E15292039005A70E5 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC50575F15292039005A70E5 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC5057621529203A005A70E5 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDC50576A15292071005A70E5 /* AsyncUdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AsyncUdpSocket.h; path = ../../AsyncUdpSocket.h; sourceTree = \"<group>\"; };\n\t\tDC50576B15292071005A70E5 /* AsyncUdpSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AsyncUdpSocket.m; path = ../../AsyncUdpSocket.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC50574515292039005A70E5 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC50574D15292039005A70E5 /* Cocoa.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC50573D15292038005A70E5 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5057691529205E005A70E5 /* UDP */,\n\t\t\t\tDC50575215292039005A70E5 /* UdpEchoClient */,\n\t\t\t\tDC50574B15292039005A70E5 /* Frameworks */,\n\t\t\t\tDC50574915292039005A70E5 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC50574915292039005A70E5 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC50574815292039005A70E5 /* UdpEchoClient.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC50574B15292039005A70E5 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC50574C15292039005A70E5 /* Cocoa.framework */,\n\t\t\t\tDC50574E15292039005A70E5 /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC50574E15292039005A70E5 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC50574F15292039005A70E5 /* AppKit.framework */,\n\t\t\t\tDC50575015292039005A70E5 /* CoreData.framework */,\n\t\t\t\tDC50575115292039005A70E5 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC50575215292039005A70E5 /* UdpEchoClient */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC50575E15292039005A70E5 /* AppDelegate.h */,\n\t\t\t\tDC50575F15292039005A70E5 /* AppDelegate.m */,\n\t\t\t\tDC5057611529203A005A70E5 /* MainMenu.xib */,\n\t\t\t\tDC50575315292039005A70E5 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = UdpEchoClient;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC50575315292039005A70E5 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC50575415292039005A70E5 /* UdpEchoClient-Info.plist */,\n\t\t\t\tDC50575515292039005A70E5 /* InfoPlist.strings */,\n\t\t\t\tDC50575815292039005A70E5 /* main.m */,\n\t\t\t\tDC50575A15292039005A70E5 /* UdpEchoClient-Prefix.pch */,\n\t\t\t\tDC50575B15292039005A70E5 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5057691529205E005A70E5 /* UDP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC50576A15292071005A70E5 /* AsyncUdpSocket.h */,\n\t\t\t\tDC50576B15292071005A70E5 /* AsyncUdpSocket.m */,\n\t\t\t);\n\t\t\tname = UDP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC50574715292039005A70E5 /* UdpEchoClient */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC5057661529203A005A70E5 /* Build configuration list for PBXNativeTarget \"UdpEchoClient\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC50574415292039005A70E5 /* Sources */,\n\t\t\t\tDC50574515292039005A70E5 /* Frameworks */,\n\t\t\t\tDC50574615292039005A70E5 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = UdpEchoClient;\n\t\t\tproductName = UdpEchoClient;\n\t\t\tproductReference = DC50574815292039005A70E5 /* UdpEchoClient.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC50573F15292038005A70E5 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0510;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC50574215292038005A70E5 /* Build configuration list for PBXProject \"UdpEchoClient\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC50573D15292038005A70E5;\n\t\t\tproductRefGroup = DC50574915292039005A70E5 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC50574715292039005A70E5 /* UdpEchoClient */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC50574615292039005A70E5 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC50575715292039005A70E5 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC50575D15292039005A70E5 /* Credits.rtf in Resources */,\n\t\t\t\tDC5057631529203A005A70E5 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC50574415292039005A70E5 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC50575915292039005A70E5 /* main.m in Sources */,\n\t\t\t\tDC50576015292039005A70E5 /* AppDelegate.m in Sources */,\n\t\t\t\tDC50576C15292071005A70E5 /* AsyncUdpSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC50575515292039005A70E5 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC50575615292039005A70E5 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC50575B15292039005A70E5 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC50575C15292039005A70E5 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC5057611529203A005A70E5 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC5057621529203A005A70E5 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC5057641529203A005A70E5 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.7;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC5057651529203A005A70E5 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.7;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC5057671529203A005A70E5 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoClient/UdpEchoClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoClient/UdpEchoClient-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC5057681529203A005A70E5 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoClient/UdpEchoClient-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoClient/UdpEchoClient-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC50574215292038005A70E5 /* Build configuration list for PBXProject \"UdpEchoClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC5057641529203A005A70E5 /* Debug */,\n\t\t\t\tDC5057651529203A005A70E5 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC5057661529203A005A70E5 /* Build configuration list for PBXNativeTarget \"UdpEchoClient\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC5057671529203A005A70E5 /* Debug */,\n\t\t\t\tDC5057681529203A005A70E5 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC50573F15292038005A70E5 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoServer/UdpEchoServer/AppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n#import \"AsyncUdpSocket.h\"\n\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n{\n\tAsyncUdpSocket *udpSocket;\n\tBOOL isRunning;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@property  IBOutlet NSTextField *portField;\n@property  IBOutlet NSButton *startStopButton;\n@property  IBOutlet NSTextView *logView;\n\n- (IBAction)startStopButtonPressed:(id)sender;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoServer/UdpEchoServer/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n\n#define FORMAT(format, ...) [NSString stringWithFormat:(format), ##__VA_ARGS__]\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n@synthesize portField;\n@synthesize startStopButton;\n@synthesize logView;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n\tudpSocket = [[AsyncUdpSocket alloc] initWithDelegate:self];\n}\n\n- (void)awakeFromNib\n{\n\t[logView setEnabledTextCheckingTypes:0];\n\t[logView setAutomaticSpellingCorrectionEnabled:NO];\n}\n\n- (void)scrollToBottom\n{\n\tNSScrollView *scrollView = [logView enclosingScrollView];\n\tNSPoint newScrollOrigin;\n\t\n\tif ([[scrollView documentView] isFlipped])\n\t\tnewScrollOrigin = NSMakePoint(0.0F, NSMaxY([[scrollView documentView] frame]));\n\telse\n\t\tnewScrollOrigin = NSMakePoint(0.0F, 0.0F);\n\t\n\t[[scrollView documentView] scrollPoint:newScrollOrigin];\n}\n\n- (void)logError:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor redColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logInfo:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor purpleColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (void)logMessage:(NSString *)msg\n{\n\tNSString *paragraph = [NSString stringWithFormat:@\"%@\\n\", msg];\n\t\n\tNSMutableDictionary *attributes = [NSMutableDictionary dictionaryWithCapacity:1];\n\t[attributes setObject:[NSColor blackColor] forKey:NSForegroundColorAttributeName];\n\t\n\tNSAttributedString *as = [[NSAttributedString alloc] initWithString:paragraph attributes:attributes];\n\t\n\t[[logView textStorage] appendAttributedString:as];\n\t[self scrollToBottom];\n}\n\n- (IBAction)startStopButtonPressed:(id)sender\n{\n\tif (isRunning)\n\t{\n\t\t// STOP udp echo server\n\t\t\n\t\t[udpSocket close];\n\t\t\n\t\t[self logInfo:@\"Stopped Udp Echo server\"];\n\t\tisRunning = false;\n\t\t\n\t\t[portField setEnabled:YES];\n\t\t[startStopButton setTitle:@\"Start\"];\n\t}\n\telse\n\t{\n\t\t// START udp echo server\n\t\t\n\t\tint port = [portField intValue];\n\t\tif (port < 0 || port > 65535)\n\t\t{\n\t\t\t[portField setStringValue:@\"\"];\n\t\t\tport = 0;\n\t\t}\n\t\t\n\t\tNSError *error = nil;\n\t\t\n\t\tif (![udpSocket bindToPort:port error:&error])\n\t\t{\n\t\t\t[self logError:FORMAT(@\"Error starting server (bind): %@\", error)];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t[udpSocket receiveWithTimeout:-1 tag:0];\n\t\t\n\t\t[self logInfo:FORMAT(@\"Udp Echo server started on port %hu\", [udpSocket localPort])];\n\t\tisRunning = YES;\n\t\t\n\t\t[portField setEnabled:NO];\n\t\t[startStopButton setTitle:@\"Stop\"];\n\t}\n}\n\n- (BOOL)onUdpSocket:(AsyncUdpSocket *)sock\n     didReceiveData:(NSData *)data\n            withTag:(long)tag\n           fromHost:(NSString *)host\n               port:(UInt16)port\n{\n\tNSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n\tif (msg)\n\t{\n\t\t[self logMessage:msg];\n\t}\n\telse\n\t{\n\t\t[self logError:@\"Error converting received data into UTF-8 String\"];\n\t}\n\n\t[udpSocket sendData:data toHost:host port:port withTimeout:-1 tag:0];\n\t[udpSocket receiveWithTimeout:-1 tag:0];\n\n\treturn YES;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoServer/UdpEchoServer/UdpEchoServer-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.${PRODUCT_NAME:rfc1034identifier}</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2012 __MyCompanyName__. All rights reserved.</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoServer/UdpEchoServer/UdpEchoServer-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'UdpEchoServer' target in the 'UdpEchoServer' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoServer/UdpEchoServer/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoServer/UdpEchoServer/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoServer/UdpEchoServer/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11D50</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">2148</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.32</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">568.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">2148</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSScroller</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSTextFieldCell</string>\n\t\t\t<string>NSScrollView</string>\n\t\t\t<string>NSButtonCell</string>\n\t\t\t<string>NSButton</string>\n\t\t\t<string>IBNSLayoutConstraint</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t\t<string>NSTextView</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSTextField</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoServer</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoServer</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About UdpEchoServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide UdpEchoServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit UdpEchoServer</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">UdpEchoServer Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">UdpEchoServer</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t<object class=\"NSButton\" id=\"445065594\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{384, 312}, {82, 32}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:664</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSButtonCell\" key=\"NSCell\" id=\"87361029\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">67239424</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">134217728</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Start</string>\n\t\t\t\t\t\t\t\t<object class=\"NSFont\" key=\"NSSupport\" id=\"23170498\">\n\t\t\t\t\t\t\t\t\t<string key=\"NSName\">LucidaGrande</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSSize\">13</double>\n\t\t\t\t\t\t\t\t\t<int key=\"NSfFlags\">1044</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:664</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"445065594\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags\">-2038284033</int>\n\t\t\t\t\t\t\t\t<int key=\"NSButtonFlags2\">129</int>\n\t\t\t\t\t\t\t\t<string key=\"NSAlternateContents\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSKeyEquivalent\"/>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicDelay\">200</int>\n\t\t\t\t\t\t\t\t<int key=\"NSPeriodicInterval\">25</int>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"566576813\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{59, 320}, {60, 22}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"445065594\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:880</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"673190658\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">-1804468671</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\"/>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"23170498\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSPlaceholderString\">Any</string>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:880</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"566576813\"/>\n\t\t\t\t\t\t\t\t<bool key=\"NSDrawsBackground\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"406435719\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MQA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">textColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"98564672\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MAA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSTextField\" id=\"609756856\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">268</int>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 322}, {34, 17}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"566576813\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:3805</string>\n\t\t\t\t\t\t\t<bool key=\"NSEnabled\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"NSTextFieldCell\" key=\"NSCell\" id=\"613538895\">\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags\">68288064</int>\n\t\t\t\t\t\t\t\t<int key=\"NSCellFlags2\">272630784</int>\n\t\t\t\t\t\t\t\t<string key=\"NSContents\">Port:</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSSupport\" ref=\"23170498\"/>\n\t\t\t\t\t\t\t\t<string key=\"NSCellIdentifier\">_NS:3805</string>\n\t\t\t\t\t\t\t\t<reference key=\"NSControlView\" ref=\"609756856\"/>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">controlColor</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\" id=\"266059007\">\n\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MC42NjY2NjY2NjY3AA</bytes>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSTextColor\">\n\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">controlTextColor</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"98564672\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSScrollView\" id=\"254706000\">\n\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t<object class=\"NSClipView\" id=\"735645468\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2304</int>\n\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextView\" id=\"315595983\">\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"735645468\"/>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">2322</int>\n\t\t\t\t\t\t\t\t\t\t\t<set class=\"NSMutableSet\" key=\"NSDragTypes\">\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple HTML pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PDF pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PICT pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple PNG pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>Apple URL pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>CorePasteboardFlavorType 0x6D6F6F76</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSColor pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSFilenamesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NSStringPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT RTFD pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT Rich Text Format v1.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT TIFF v4.0 pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT font pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>NeXT ruler pasteboard type</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>WebURLsWithTitlesPboardType</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string>public.url</string>\n\t\t\t\t\t\t\t\t\t\t\t</set>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSFrameSize\">{423, 290}</string>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"735645468\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"86244514\"/>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1426</string>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextContainer\" key=\"NSTextContainer\" id=\"95400037\">\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSLayoutManager\" key=\"NSLayoutManager\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextStorage\" key=\"NSTextStorage\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableString\" key=\"NSString\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<characters key=\"NS.bytes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSTextContainers\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference ref=\"95400037\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSLMFlags\">134</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSTextView\" ref=\"315595983\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<double key=\"NSWidth\">423</double>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTCFlags\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSTextViewSharedData\" key=\"NSSharedData\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSFlags\">67121127</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTextCheckingTypes\">0</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSMarkedAttributes\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSBackgroundColor\" ref=\"406435719\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSSelectedAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSBackgroundColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextBackgroundColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"266059007\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSCatalogName\">System</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSColorName\">selectedTextColor</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSColor\" ref=\"98564672\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSInsertionColor\" ref=\"98564672\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<dictionary key=\"NSLinkAttributes\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDEAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{8, -8}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSCursorType\">13</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"1\" key=\"NSUnderline\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t</dictionary>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDefaultParagraphStyle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSTextFinder\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSPreferredTextFinderStyle\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTVFlags\">6</int>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMaxSize\">{463, 10000000}</string>\n\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSMinize\">{223, 133}</string>\n\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NSDelegate\"/>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{1, 1}, {423, 290}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"315595983\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1424</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSDocView\" ref=\"315595983\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSBGColor\" ref=\"406435719\"/>\n\t\t\t\t\t\t\t\t\t<object class=\"NSCursor\" key=\"NSCursor\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSHotSpot\">{4, 5}</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSImage\" key=\"NSImage\">\n\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSImageFlags\">79691776</int>\n\t\t\t\t\t\t\t\t\t\t\t<array key=\"NSReps\">\n\t\t\t\t\t\t\t\t\t\t\t\t<array>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<integer value=\"5\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSURL\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<nil key=\"NS.base\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NS.relative\">file://localhost/Developer/Applications/Xcode.app/Contents/SharedFrameworks/DVTKit.framework/Resources/DVTIbeamCursor.tiff</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSColor\" key=\"NSColor\">\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<bytes key=\"NSWhite\">MCAwAA</bytes>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t<int key=\"NScvFlags\">4</int>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"86244514\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{424, 1}, {15, 290}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1448</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.85256409645080566</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSScroller\" id=\"734434074\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSvFlags\">-2147483392</int>\n\t\t\t\t\t\t\t\t\t<string key=\"NSFrame\">{{-100, -100}, {87, 18}}</string>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"735645468\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:1429</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSsFlags\">1</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSTarget\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">_doScroller:</string>\n\t\t\t\t\t\t\t\t\t<double key=\"NSCurValue\">1</double>\n\t\t\t\t\t\t\t\t\t<double key=\"NSPercent\">0.94565218687057495</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 20}, {440, 292}}</string>\n\t\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"734434074\"/>\n\t\t\t\t\t\t\t<string key=\"NSReuseIdentifierKey\">_NS:917</string>\n\t\t\t\t\t\t\t<int key=\"NSsFlags\">174098</int>\n\t\t\t\t\t\t\t<reference key=\"NSVScroller\" ref=\"86244514\"/>\n\t\t\t\t\t\t\t<reference key=\"NSHScroller\" ref=\"734434074\"/>\n\t\t\t\t\t\t\t<reference key=\"NSContentView\" ref=\"735645468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</array>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t<reference key=\"NSNextKeyView\" ref=\"609756856\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1680, 1028}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<string key=\"NSFrameAutosaveName\">PrimaryWindow</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStopButtonPressed:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"445065594\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">661</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">portField</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"566576813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">662</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startStopButton</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"445065594\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">663</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">logView</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"315595983\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">664</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"445065594\"/>\n\t\t\t\t\t\t\t<reference ref=\"609756856\"/>\n\t\t\t\t\t\t\t<reference ref=\"566576813\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"495353222\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"566576813\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">11</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"609756856\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">11</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">0.0</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">2</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<reference ref=\"254706000\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"3959845\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">6</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"445065594\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"628815675\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"609756856\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">5</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">23</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">9</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"803445480\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"566576813\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"609756856\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">8</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"649995638\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">6</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"914319329\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"445065594\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">11</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"566576813\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">11</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">0.0</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">2</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"505923734\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"445065594\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">3</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"869684913\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">3</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"566576813\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">4</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">8</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">6</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">24</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"972577016\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">4</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">4</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"28096749\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"254706000\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">5</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<reference key=\"secondItem\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">5</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBNSLayoutSymbolicConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">20</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">8</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">29</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">3</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"439893737\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">536</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"445065594\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"87361029\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"60391074\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"445065594\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">7</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<nil key=\"secondItem\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">0</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">70</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">9</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">1</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"445065594\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">537</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"87361029\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"445065594\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">540</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"566576813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"673190658\"/>\n\t\t\t\t\t\t\t<object class=\"IBNSLayoutConstraint\" id=\"437433437\">\n\t\t\t\t\t\t\t\t<reference key=\"firstItem\" ref=\"566576813\"/>\n\t\t\t\t\t\t\t\t<int key=\"firstAttribute\">7</int>\n\t\t\t\t\t\t\t\t<int key=\"relation\">0</int>\n\t\t\t\t\t\t\t\t<nil key=\"secondItem\"/>\n\t\t\t\t\t\t\t\t<int key=\"secondAttribute\">0</int>\n\t\t\t\t\t\t\t\t<float key=\"multiplier\">1</float>\n\t\t\t\t\t\t\t\t<object class=\"IBLayoutConstant\" key=\"constant\">\n\t\t\t\t\t\t\t\t\t<double key=\"value\">60</double>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<float key=\"priority\">1000</float>\n\t\t\t\t\t\t\t\t<int key=\"scoringType\">3</int>\n\t\t\t\t\t\t\t\t<float key=\"scoringTypeFloat\">9</float>\n\t\t\t\t\t\t\t\t<int key=\"contentType\">1</int>\n\t\t\t\t\t\t\t\t<reference key=\"containingView\" ref=\"566576813\"/>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">541</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"673190658\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"566576813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">545</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609756856\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"613538895\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">546</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"613538895\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"609756856\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">629</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"254706000\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"315595983\"/>\n\t\t\t\t\t\t\t<reference ref=\"734434074\"/>\n\t\t\t\t\t\t\t<reference ref=\"86244514\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">630</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"315595983\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"254706000\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">631</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"734434074\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"254706000\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">632</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"86244514\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"254706000\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">641</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"60391074\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"445065594\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">646</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437433437\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"566576813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">648</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649995638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">651</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"869684913\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">652</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972577016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">653</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"28096749\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">620</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"495353222\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">650</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"505923734\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">639</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"3959845\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">644</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"628815675\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">649</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"914319329\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">647</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"803445480\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"439893737\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"372.IBNSViewMetadataConstraints\">\n\t\t\t\t\t<reference ref=\"495353222\"/>\n\t\t\t\t\t<reference ref=\"3959845\"/>\n\t\t\t\t\t<reference ref=\"628815675\"/>\n\t\t\t\t\t<reference ref=\"803445480\"/>\n\t\t\t\t\t<reference ref=\"649995638\"/>\n\t\t\t\t\t<reference ref=\"914319329\"/>\n\t\t\t\t\t<reference ref=\"505923734\"/>\n\t\t\t\t\t<reference ref=\"869684913\"/>\n\t\t\t\t\t<reference ref=\"972577016\"/>\n\t\t\t\t\t<reference ref=\"28096749\"/>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"536.IBNSViewMetadataConstraints\">\n\t\t\t\t\t<reference ref=\"60391074\"/>\n\t\t\t\t</array>\n\t\t\t\t<boolean value=\"NO\" key=\"536.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"536.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"537.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"540.IBNSViewMetadataConstraints\">\n\t\t\t\t\t<reference ref=\"437433437\"/>\n\t\t\t\t</array>\n\t\t\t\t<boolean value=\"NO\" key=\"540.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"540.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"541.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<boolean value=\"NO\" key=\"545.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"545.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"546.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"620.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<boolean value=\"NO\" key=\"629.IBNSViewMetadataTranslatesAutoresizingMaskIntoConstraints\"/>\n\t\t\t\t<string key=\"629.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"630.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"631.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"632.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"639.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"641.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"644.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"646.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"647.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"648.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"649.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"650.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"651.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"652.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"653.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">664</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStopButtonPressed:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">startStopButtonPressed:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">startStopButtonPressed:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"logView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"portField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"startStopButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"window\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"logView\">\n\t\t\t\t\t\t\t<string key=\"name\">logView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"portField\">\n\t\t\t\t\t\t\t<string key=\"name\">portField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"startStopButton\">\n\t\t\t\t\t\t\t<string key=\"name\">startStopButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"window\">\n\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"printDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"revertDocumentToSaved:\">id</string>\n\t\t\t\t\t\t<string key=\"runPageLayout:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentAs:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentTo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"printDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"revertDocumentToSaved:\">\n\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"runPageLayout:\">\n\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentAs:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentTo:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSLayoutConstraint</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSLayoutConstraint.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1070\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{11, 11}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{10, 3}</string>\n\t\t</dictionary>\n\t\t<bool key=\"IBDocument.UseAutolayout\">YES</bool>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoServer/UdpEchoServer/main.m",
    "content": "//\n//  main.m\n//  UdpEchoServer\n//\n//  Created by Robbie Hanson on 4/1/12.\n//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n\treturn NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Examples/RunLoop/UdpEchoServer/UdpEchoServer.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tDC2F15F515291500001380A6 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC2F15F415291500001380A6 /* Cocoa.framework */; };\n\t\tDC2F15FF15291500001380A6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC2F15FD15291500001380A6 /* InfoPlist.strings */; };\n\t\tDC2F160115291500001380A6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC2F160015291500001380A6 /* main.m */; };\n\t\tDC2F160515291500001380A6 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC2F160315291500001380A6 /* Credits.rtf */; };\n\t\tDC2F160815291501001380A6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC2F160715291501001380A6 /* AppDelegate.m */; };\n\t\tDC2F160B15291501001380A6 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC2F160915291501001380A6 /* MainMenu.xib */; };\n\t\tDC2F16141529152B001380A6 /* AsyncUdpSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DC2F16131529152B001380A6 /* AsyncUdpSocket.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\tDC2F15F015291500001380A6 /* UdpEchoServer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UdpEchoServer.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC2F15F415291500001380A6 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC2F15F715291500001380A6 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC2F15F815291500001380A6 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC2F15F915291500001380A6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC2F15FC15291500001380A6 /* UdpEchoServer-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"UdpEchoServer-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC2F15FE15291500001380A6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC2F160015291500001380A6 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC2F160215291500001380A6 /* UdpEchoServer-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"UdpEchoServer-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC2F160415291500001380A6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC2F160615291500001380A6 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC2F160715291501001380A6 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC2F160A15291501001380A6 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDC2F16121529152B001380A6 /* AsyncUdpSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AsyncUdpSocket.h; path = ../../AsyncUdpSocket.h; sourceTree = \"<group>\"; };\n\t\tDC2F16131529152B001380A6 /* AsyncUdpSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AsyncUdpSocket.m; path = ../../AsyncUdpSocket.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC2F15ED15291500001380A6 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC2F15F515291500001380A6 /* Cocoa.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC2F15E5152914FF001380A6 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F161115291515001380A6 /* UDP */,\n\t\t\t\tDC2F15FA15291500001380A6 /* UdpEchoServer */,\n\t\t\t\tDC2F15F315291500001380A6 /* Frameworks */,\n\t\t\t\tDC2F15F115291500001380A6 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC2F15F115291500001380A6 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F15F015291500001380A6 /* UdpEchoServer.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC2F15F315291500001380A6 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F15F415291500001380A6 /* Cocoa.framework */,\n\t\t\t\tDC2F15F615291500001380A6 /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC2F15F615291500001380A6 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F15F715291500001380A6 /* AppKit.framework */,\n\t\t\t\tDC2F15F815291500001380A6 /* CoreData.framework */,\n\t\t\t\tDC2F15F915291500001380A6 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC2F15FA15291500001380A6 /* UdpEchoServer */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F160615291500001380A6 /* AppDelegate.h */,\n\t\t\t\tDC2F160715291501001380A6 /* AppDelegate.m */,\n\t\t\t\tDC2F160915291501001380A6 /* MainMenu.xib */,\n\t\t\t\tDC2F15FB15291500001380A6 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = UdpEchoServer;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC2F15FB15291500001380A6 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F15FC15291500001380A6 /* UdpEchoServer-Info.plist */,\n\t\t\t\tDC2F15FD15291500001380A6 /* InfoPlist.strings */,\n\t\t\t\tDC2F160015291500001380A6 /* main.m */,\n\t\t\t\tDC2F160215291500001380A6 /* UdpEchoServer-Prefix.pch */,\n\t\t\t\tDC2F160315291500001380A6 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC2F161115291515001380A6 /* UDP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F16121529152B001380A6 /* AsyncUdpSocket.h */,\n\t\t\t\tDC2F16131529152B001380A6 /* AsyncUdpSocket.m */,\n\t\t\t);\n\t\t\tname = UDP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC2F15EF15291500001380A6 /* UdpEchoServer */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC2F160E15291501001380A6 /* Build configuration list for PBXNativeTarget \"UdpEchoServer\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDC2F15EC15291500001380A6 /* Sources */,\n\t\t\t\tDC2F15ED15291500001380A6 /* Frameworks */,\n\t\t\t\tDC2F15EE15291500001380A6 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = UdpEchoServer;\n\t\t\tproductName = UdpEchoServer;\n\t\t\tproductReference = DC2F15F015291500001380A6 /* UdpEchoServer.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC2F15E7152914FF001380A6 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0510;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC2F15EA152914FF001380A6 /* Build configuration list for PBXProject \"UdpEchoServer\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC2F15E5152914FF001380A6;\n\t\t\tproductRefGroup = DC2F15F115291500001380A6 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC2F15EF15291500001380A6 /* UdpEchoServer */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC2F15EE15291500001380A6 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC2F15FF15291500001380A6 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC2F160515291500001380A6 /* Credits.rtf in Resources */,\n\t\t\t\tDC2F160B15291501001380A6 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC2F15EC15291500001380A6 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC2F160115291500001380A6 /* main.m in Sources */,\n\t\t\t\tDC2F160815291501001380A6 /* AppDelegate.m in Sources */,\n\t\t\t\tDC2F16141529152B001380A6 /* AsyncUdpSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC2F15FD15291500001380A6 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F15FE15291500001380A6 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC2F160315291500001380A6 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F160415291500001380A6 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC2F160915291501001380A6 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC2F160A15291501001380A6 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC2F160C15291501001380A6 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.7;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC2F160D15291501001380A6 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.7;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC2F160F15291501001380A6 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoServer/UdpEchoServer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoServer/UdpEchoServer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC2F161015291501001380A6 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"UdpEchoServer/UdpEchoServer-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"UdpEchoServer/UdpEchoServer-Info.plist\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC2F15EA152914FF001380A6 /* Build configuration list for PBXProject \"UdpEchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC2F160C15291501001380A6 /* Debug */,\n\t\t\t\tDC2F160D15291501001380A6 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC2F160E15291501001380A6 /* Build configuration list for PBXNativeTarget \"UdpEchoServer\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC2F160F15291501001380A6 /* Debug */,\n\t\t\t\tDC2F161015291501001380A6 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC2F15E7152914FF001380A6 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/LICENSE.txt",
    "content": "This library is in the public domain.\nHowever, not all organizations are allowed to use such a license.\nFor example, Germany doesn't recognize the Public Domain and one is not allowed to use libraries under such license (or similar).\n\nThus, the library is now dual licensed,\nand one is allowed to choose which license they would like to use.\n\n##################################################\nLicense Option #1 :\n##################################################\n\nPublic Domain\n\n##################################################\nLicense Option #2 :\n##################################################\n\nSoftware License Agreement (BSD License)\n\nCopyright (c) 2017, Deusty, LLC\nAll rights reserved.\n\nRedistribution and use of this software in source and binary forms,\nwith or without modification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above\n  copyright notice, this list of conditions and the\n  following disclaimer.\n\n* Neither the name of Deusty LLC nor the names of its\n  contributors may be used to endorse or promote products\n  derived from this software without specific prior\n  written permission of Deusty LLC.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/README.markdown",
    "content": "# CocoaAsyncSocket\n[![Build Status](https://travis-ci.org/robbiehanson/CocoaAsyncSocket.svg?branch=master)](https://travis-ci.org/robbiehanson/CocoaAsyncSocket) [![Version Status](https://img.shields.io/cocoapods/v/CocoaAsyncSocket.svg?style=flat)](http://cocoadocs.org/docsets/CocoaAsyncSocket) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Platform](http://img.shields.io/cocoapods/p/CocoaAsyncSocket.svg?style=flat)](http://cocoapods.org/?q=CocoaAsyncSocket) [![license Public Domain](https://img.shields.io/badge/license-Public%20Domain-orange.svg?style=flat)](https://en.wikipedia.org/wiki/Public_domain)\n\n\nCocoaAsyncSocket provides easy-to-use and powerful asynchronous socket libraries for Mac and iOS. The classes are described below.\n\n## Installation\n\n#### CocoaPods\n\nInstall using [CocoaPods](http://cocoapods.org) by adding this line to your Podfile:\n\n````ruby\nuse_frameworks! # Add this if you are targeting iOS 8+ or using Swift\npod 'CocoaAsyncSocket'  \n````\n\n#### Carthage\n\nCocoaAsyncSocket is [Carthage](https://github.com/Carthage/Carthage) compatible. To include it add the following line to your `Cartfile`\n\n```bash\ngithub \"robbiehanson/CocoaAsyncSocket\" \"master\"\n```\n\nThe project is currently configured to build for **iOS**, **tvOS** and **Mac**.  After building with carthage the resultant frameworks will be stored in:\n\n* `Carthage/Build/iOS/CocoaAsyncSocket.framework`\n* `Carthage/Build/tvOS/CocoaAsyncSocket.framework`\n* `Carthage/Build/Mac/CocoaAsyncSocket.framework`\n\nSelect the correct framework(s) and drag it into your project.\n\n#### Manual\n\nYou can also include it into your project by adding the source files directly, but you should probably be using a dependency manager to keep up to date.\n\n### Importing\n\nUsing Objective-C:\n\n```obj-c\n// When using iOS 8+ frameworks\n@import CocoaAsyncSocket; \n\n// OR when not using frameworks, targeting iOS 7 or below\n#import \"GCDAsyncSocket.h\" // for TCP\n#import \"GCDAsyncUdpSocket.h\" // for UDP\n```\n\nUsing Swift:\n\n```swift\nimport CocoaAsyncSocket\n```\n\n## TCP\n\n**GCDAsyncSocket** is a TCP/IP socket networking library built atop Grand Central Dispatch. Here are the key features available:\n\n- Native objective-c, fully self-contained in one class.<br/>\n  _No need to muck around with sockets or streams. This class handles everything for you._\n\n- Full delegate support<br/>\n  _Errors, connections, read completions, write completions, progress, and disconnections all result in a call to your delegate method._\n\n- Queued non-blocking reads and writes, with optional timeouts.<br/>\n  _You tell it what to read or write, and it handles everything for you. Queueing, buffering, and searching for termination sequences within the stream - all handled for you automatically._\n\n- Automatic socket acceptance.<br/>\n  _Spin up a server socket, tell it to accept connections, and it will call you with new instances of itself for each connection._\n\n- Support for TCP streams over IPv4 and IPv6.<br/>\n  _Automatically connect to IPv4 or IPv6 hosts. Automatically accept incoming connections over both IPv4 and IPv6 with a single instance of this class. No more worrying about multiple sockets._\n\n- Support for TLS / SSL<br/>\n  _Secure your socket with ease using just a single method call. Available for both client and server sockets._\n\n- Fully GCD based and Thread-Safe<br/>\n  _It runs entirely within its own GCD dispatch_queue, and is completely thread-safe. Further, the delegate methods are all invoked asynchronously onto a dispatch_queue of your choosing. This means parallel operation of your socket code, and your delegate/processing code._\n\n- The Latest Technology & Performance Optimizations<br/>\n  _Internally the library takes advantage of technologies such as [kqueue's](http://en.wikipedia.org/wiki/Kqueue) to limit [system calls](http://en.wikipedia.org/wiki/System_call) and optimize buffer allocations. In other words, peak performance._\n\n## UDP\n\n**GCDAsyncUdpSocket** is a UDP/IP socket networking library built atop Grand Central Dispatch. Here are the key features available:\n\n- Native objective-c, fully self-contained in one class.<br/>\n  _No need to muck around with low-level sockets. This class handles everything for you._\n\n- Full delegate support.<br/>\n  _Errors, send completions, receive completions, and disconnections all result in a call to your delegate method._\n\n- Queued non-blocking send and receive operations, with optional timeouts.<br/>\n  _You tell it what to send or receive, and it handles everything for you. Queueing, buffering, waiting and checking errno - all handled for you automatically._\n\n- Support for IPv4 and IPv6.<br/>\n  _Automatically send/recv using IPv4 and/or IPv6. No more worrying about multiple sockets._\n\n- Fully GCD based and Thread-Safe<br/>\n  _It runs entirely within its own GCD dispatch_queue, and is completely thread-safe. Further, the delegate methods are all invoked asynchronously onto a dispatch_queue of your choosing. This means parallel operation of your socket code, and your delegate/processing code._\n\n***\n\nFor those new(ish) to networking, it's recommended you **[read the wiki](https://github.com/robbiehanson/CocoaAsyncSocket/wiki)**.<br/>_Sockets might not work exactly like you think they do..._\n\n**Still got questions?** Try the **[CocoaAsyncSocket Mailing List](http://groups.google.com/group/cocoaasyncsocket)**.\n***\n\nLove the project? Wanna buy me a ☕️&nbsp;&nbsp;? (or a 🍺&nbsp;&nbsp;😀&nbsp;):\n\n[![donation-bitcoin](https://bitpay.com/img/donate-sm.png)](https://onename.com/robbiehanson)\n[![donation-paypal](https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2M8C699FQ8AW2)\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/CocoaAsyncSocket.h",
    "content": "//\n//  CocoaAsyncSocket.h\n//  CocoaAsyncSocket\n//\n//  Created by Derek Clarkson on 10/08/2015.\n//  CocoaAsyncSocket project is in the public domain.\n//\n\n@import Foundation;\n\n//! Project version number for CocoaAsyncSocket.\nFOUNDATION_EXPORT double cocoaAsyncSocketVersionNumber;\n\n//! Project version string for CocoaAsyncSocket.\nFOUNDATION_EXPORT const unsigned char cocoaAsyncSocketVersionString[];\n\n#import <CocoaAsyncSocket/GCDAsyncSocket.h>\n#import <CocoaAsyncSocket/GCDAsyncUdpSocket.h>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/GCD/Documentation.html",
    "content": "<html>\n<body>\n\n<h1>Welcome to the CocoaAsyncSocket project!</h1>\n\n<p>\nA wealth of documentation can be found on the Google Code homepage:</br>\n<a href=\"https://github.com/robbiehanson/CocoaAsyncSocket\">https://github.com/robbiehanson/CocoaAsyncSocket</a>\n</p>\n\n<p>\nIf you are new to networking, it is recommended you start by reading the Intro page:<br/>\n<a href=\"https://github.com/robbiehanson/CocoaAsyncSocket/wiki/Intro\">https://github.com/robbiehanson/CocoaAsyncSocket/wiki/Intro</a>\n</p>\n\n<p>\nIf you are a seasoned networking professional, with 10+ years of experience writing low-level socket code,\nand detailed knowledge of the underlying BSD networking stack, then you can skip the CommonPitfalls page.<br/>\nOtherwise, it should be considered mandatory reading:<br/>\n<a href=\"https://github.com/robbiehanson/CocoaAsyncSocket/wiki/CommonPitfalls\">https://github.com/robbiehanson/CocoaAsyncSocket/wiki/CommonPitfalls</a>\n</p>\n\n<h4>\nA little bit of investment in your knowledge and understanding of networking fundamentals can go a long way.<br/>\nAnd it can save you a LOT of time and frustration in the long run.\n</h4>\n\n<p>\nYour first goto for reference should ALWAYS be the header files. They are extremely well documented. Please read them.\n</p>\n\n<p>\nDid I mention you should read the headers? They're docemented very nicely, in plain english.\n</p>\n\n<p>\nIf you have any questions you are welcome to post to the CocoaAsyncSocket mailing list:<br/>\n<a href=\"http://groups.google.com/group/cocoaasyncsocket\">http://groups.google.com/group/cocoaasyncsocket</a><br/>\n<br/>\nThe list is archived, and available for browsing online.<br/>\nYou may be able to instantly find the answer you're looking for with a quick search.<br/>\n</p>\n\n<h3>We hope the CocoaAsyncSocket project can provide you with powerful and easy to use networking libraries.</h3>\n\n</body>\n</html>"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/GCD/GCDAsyncSocket.h",
    "content": "//  \n//  GCDAsyncSocket.h\n//  \n//  This class is in the public domain.\n//  Originally created by Robbie Hanson in Q3 2010.\n//  Updated and maintained by Deusty LLC and the Apple development community.\n//  \n//  https://github.com/robbiehanson/CocoaAsyncSocket\n//\n\n#import <Foundation/Foundation.h>\n#import <Security/Security.h>\n#import <Security/SecureTransport.h>\n#import <dispatch/dispatch.h>\n#import <Availability.h>\n\n#include <sys/socket.h> // AF_INET, AF_INET6\n\n@class GCDAsyncReadPacket;\n@class GCDAsyncWritePacket;\n@class GCDAsyncSocketPreBuffer;\n@protocol GCDAsyncSocketDelegate;\n\nNS_ASSUME_NONNULL_BEGIN\n\nextern NSString *const GCDAsyncSocketException;\nextern NSString *const GCDAsyncSocketErrorDomain;\n\nextern NSString *const GCDAsyncSocketQueueName;\nextern NSString *const GCDAsyncSocketThreadName;\n\nextern NSString *const GCDAsyncSocketManuallyEvaluateTrust;\n#if TARGET_OS_IPHONE\nextern NSString *const GCDAsyncSocketUseCFStreamForTLS;\n#endif\n#define GCDAsyncSocketSSLPeerName     (NSString *)kCFStreamSSLPeerName\n#define GCDAsyncSocketSSLCertificates (NSString *)kCFStreamSSLCertificates\n#define GCDAsyncSocketSSLIsServer     (NSString *)kCFStreamSSLIsServer\nextern NSString *const GCDAsyncSocketSSLPeerID;\nextern NSString *const GCDAsyncSocketSSLProtocolVersionMin;\nextern NSString *const GCDAsyncSocketSSLProtocolVersionMax;\nextern NSString *const GCDAsyncSocketSSLSessionOptionFalseStart;\nextern NSString *const GCDAsyncSocketSSLSessionOptionSendOneByteRecord;\nextern NSString *const GCDAsyncSocketSSLCipherSuites;\n#if !TARGET_OS_IPHONE\nextern NSString *const GCDAsyncSocketSSLDiffieHellmanParameters;\n#endif\n\n#define GCDAsyncSocketLoggingContext 65535\n\n\ntypedef NS_ENUM(NSInteger, GCDAsyncSocketError) {\n\tGCDAsyncSocketNoError = 0,           // Never used\n\tGCDAsyncSocketBadConfigError,        // Invalid configuration\n\tGCDAsyncSocketBadParamError,         // Invalid parameter was passed\n\tGCDAsyncSocketConnectTimeoutError,   // A connect operation timed out\n\tGCDAsyncSocketReadTimeoutError,      // A read operation timed out\n\tGCDAsyncSocketWriteTimeoutError,     // A write operation timed out\n\tGCDAsyncSocketReadMaxedOutError,     // Reached set maxLength without completing\n\tGCDAsyncSocketClosedError,           // The remote peer closed the connection\n\tGCDAsyncSocketOtherError,            // Description provided in userInfo\n};\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n\n@interface GCDAsyncSocket : NSObject\n\n/**\n * GCDAsyncSocket uses the standard delegate paradigm,\n * but executes all delegate callbacks on a given delegate dispatch queue.\n * This allows for maximum concurrency, while at the same time providing easy thread safety.\n * \n * You MUST set a delegate AND delegate dispatch queue before attempting to\n * use the socket, or you will get an error.\n * \n * The socket queue is optional.\n * If you pass NULL, GCDAsyncSocket will automatically create it's own socket queue.\n * If you choose to provide a socket queue, the socket queue must not be a concurrent queue.\n * If you choose to provide a socket queue, and the socket queue has a configured target queue,\n * then please see the discussion for the method markSocketQueueTargetQueue.\n * \n * The delegate queue and socket queue can optionally be the same.\n**/\n- (instancetype)init;\n- (instancetype)initWithSocketQueue:(nullable dispatch_queue_t)sq;\n- (instancetype)initWithDelegate:(nullable id<GCDAsyncSocketDelegate>)aDelegate delegateQueue:(nullable dispatch_queue_t)dq;\n- (instancetype)initWithDelegate:(nullable id<GCDAsyncSocketDelegate>)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq;\n\n/**\n * Create GCDAsyncSocket from already connect BSD socket file descriptor\n**/\n+ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD socketQueue:(nullable dispatch_queue_t)sq error:(NSError**)error;\n\n+ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD delegate:(nullable id<GCDAsyncSocketDelegate>)aDelegate delegateQueue:(nullable dispatch_queue_t)dq error:(NSError**)error;\n\n+ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD delegate:(nullable id<GCDAsyncSocketDelegate>)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq error:(NSError **)error;\n\n#pragma mark Configuration\n\n@property (atomic, weak, readwrite, nullable) id<GCDAsyncSocketDelegate> delegate;\n#if OS_OBJECT_USE_OBJC\n@property (atomic, strong, readwrite, nullable) dispatch_queue_t delegateQueue;\n#else\n@property (atomic, assign, readwrite, nullable) dispatch_queue_t delegateQueue;\n#endif\n\n- (void)getDelegate:(id<GCDAsyncSocketDelegate> __nullable * __nullable)delegatePtr delegateQueue:(dispatch_queue_t __nullable * __nullable)delegateQueuePtr;\n- (void)setDelegate:(nullable id<GCDAsyncSocketDelegate>)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue;\n\n/**\n * If you are setting the delegate to nil within the delegate's dealloc method,\n * you may need to use the synchronous versions below.\n**/\n- (void)synchronouslySetDelegate:(nullable id<GCDAsyncSocketDelegate>)delegate;\n- (void)synchronouslySetDelegateQueue:(nullable dispatch_queue_t)delegateQueue;\n- (void)synchronouslySetDelegate:(nullable id<GCDAsyncSocketDelegate>)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue;\n\n/**\n * By default, both IPv4 and IPv6 are enabled.\n * \n * For accepting incoming connections, this means GCDAsyncSocket automatically supports both protocols,\n * and can simulataneously accept incoming connections on either protocol.\n * \n * For outgoing connections, this means GCDAsyncSocket can connect to remote hosts running either protocol.\n * If a DNS lookup returns only IPv4 results, GCDAsyncSocket will automatically use IPv4.\n * If a DNS lookup returns only IPv6 results, GCDAsyncSocket will automatically use IPv6.\n * If a DNS lookup returns both IPv4 and IPv6 results, the preferred protocol will be chosen.\n * By default, the preferred protocol is IPv4, but may be configured as desired.\n**/\n\n@property (atomic, assign, readwrite, getter=isIPv4Enabled) BOOL IPv4Enabled;\n@property (atomic, assign, readwrite, getter=isIPv6Enabled) BOOL IPv6Enabled;\n\n@property (atomic, assign, readwrite, getter=isIPv4PreferredOverIPv6) BOOL IPv4PreferredOverIPv6;\n\n/** \n * When connecting to both IPv4 and IPv6 using Happy Eyeballs (RFC 6555) https://tools.ietf.org/html/rfc6555\n * this is the delay between connecting to the preferred protocol and the fallback protocol.\n *\n * Defaults to 300ms.\n**/\n@property (atomic, assign, readwrite) NSTimeInterval alternateAddressDelay;\n\n/**\n * User data allows you to associate arbitrary information with the socket.\n * This data is not used internally by socket in any way.\n**/\n@property (atomic, strong, readwrite, nullable) id userData;\n\n#pragma mark Accepting\n\n/**\n * Tells the socket to begin listening and accepting connections on the given port.\n * When a connection is accepted, a new instance of GCDAsyncSocket will be spawned to handle it,\n * and the socket:didAcceptNewSocket: delegate method will be invoked.\n * \n * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc)\n**/\n- (BOOL)acceptOnPort:(uint16_t)port error:(NSError **)errPtr;\n\n/**\n * This method is the same as acceptOnPort:error: with the\n * additional option of specifying which interface to listen on.\n * \n * For example, you could specify that the socket should only accept connections over ethernet,\n * and not other interfaces such as wifi.\n * \n * The interface may be specified by name (e.g. \"en1\" or \"lo0\") or by IP address (e.g. \"192.168.4.34\").\n * You may also use the special strings \"localhost\" or \"loopback\" to specify that\n * the socket only accept connections from the local machine.\n * \n * You can see the list of interfaces via the command line utility \"ifconfig\",\n * or programmatically via the getifaddrs() function.\n * \n * To accept connections on any interface pass nil, or simply use the acceptOnPort:error: method.\n**/\n- (BOOL)acceptOnInterface:(nullable NSString *)interface port:(uint16_t)port error:(NSError **)errPtr;\n\n/**\n * Tells the socket to begin listening and accepting connections on the unix domain at the given url.\n * When a connection is accepted, a new instance of GCDAsyncSocket will be spawned to handle it,\n * and the socket:didAcceptNewSocket: delegate method will be invoked.\n *\n * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc)\n **/\n- (BOOL)acceptOnUrl:(NSURL *)url error:(NSError **)errPtr;\n\n#pragma mark Connecting\n\n/**\n * Connects to the given host and port.\n * \n * This method invokes connectToHost:onPort:viaInterface:withTimeout:error:\n * and uses the default interface, and no timeout.\n**/\n- (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr;\n\n/**\n * Connects to the given host and port with an optional timeout.\n * \n * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: and uses the default interface.\n**/\n- (BOOL)connectToHost:(NSString *)host\n               onPort:(uint16_t)port\n          withTimeout:(NSTimeInterval)timeout\n                error:(NSError **)errPtr;\n\n/**\n * Connects to the given host & port, via the optional interface, with an optional timeout.\n * \n * The host may be a domain name (e.g. \"deusty.com\") or an IP address string (e.g. \"192.168.0.2\").\n * The host may also be the special strings \"localhost\" or \"loopback\" to specify connecting\n * to a service on the local machine.\n * \n * The interface may be a name (e.g. \"en1\" or \"lo0\") or the corresponding IP address (e.g. \"192.168.4.35\").\n * The interface may also be used to specify the local port (see below).\n * \n * To not time out use a negative time interval.\n * \n * This method will return NO if an error is detected, and set the error pointer (if one was given).\n * Possible errors would be a nil host, invalid interface, or socket is already connected.\n * \n * If no errors are detected, this method will start a background connect operation and immediately return YES.\n * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable.\n * \n * Since this class supports queued reads and writes, you can immediately start reading and/or writing.\n * All read/write operations will be queued, and upon socket connection,\n * the operations will be dequeued and processed in order.\n * \n * The interface may optionally contain a port number at the end of the string, separated by a colon.\n * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end)\n * To specify both interface and local port: \"en1:8082\" or \"192.168.4.35:2424\".\n * To specify only local port: \":8082\".\n * Please note this is an advanced feature, and is somewhat hidden on purpose.\n * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection.\n * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere.\n * Local ports do NOT need to match remote ports. In fact, they almost never do.\n * This feature is here for networking professionals using very advanced techniques.\n**/\n- (BOOL)connectToHost:(NSString *)host\n               onPort:(uint16_t)port\n         viaInterface:(nullable NSString *)interface\n          withTimeout:(NSTimeInterval)timeout\n                error:(NSError **)errPtr;\n\n/**\n * Connects to the given address, specified as a sockaddr structure wrapped in a NSData object.\n * For example, a NSData object returned from NSNetService's addresses method.\n * \n * If you have an existing struct sockaddr you can convert it to a NSData object like so:\n * struct sockaddr sa  -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];\n * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len];\n * \n * This method invokes connectToAdd\n**/\n- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr;\n\n/**\n * This method is the same as connectToAddress:error: with an additional timeout option.\n * To not time out use a negative time interval, or simply use the connectToAddress:error: method.\n**/\n- (BOOL)connectToAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr;\n\n/**\n * Connects to the given address, using the specified interface and timeout.\n * \n * The address is specified as a sockaddr structure wrapped in a NSData object.\n * For example, a NSData object returned from NSNetService's addresses method.\n * \n * If you have an existing struct sockaddr you can convert it to a NSData object like so:\n * struct sockaddr sa  -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];\n * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len];\n * \n * The interface may be a name (e.g. \"en1\" or \"lo0\") or the corresponding IP address (e.g. \"192.168.4.35\").\n * The interface may also be used to specify the local port (see below).\n * \n * The timeout is optional. To not time out use a negative time interval.\n * \n * This method will return NO if an error is detected, and set the error pointer (if one was given).\n * Possible errors would be a nil host, invalid interface, or socket is already connected.\n * \n * If no errors are detected, this method will start a background connect operation and immediately return YES.\n * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable.\n * \n * Since this class supports queued reads and writes, you can immediately start reading and/or writing.\n * All read/write operations will be queued, and upon socket connection,\n * the operations will be dequeued and processed in order.\n * \n * The interface may optionally contain a port number at the end of the string, separated by a colon.\n * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end)\n * To specify both interface and local port: \"en1:8082\" or \"192.168.4.35:2424\".\n * To specify only local port: \":8082\".\n * Please note this is an advanced feature, and is somewhat hidden on purpose.\n * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection.\n * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere.\n * Local ports do NOT need to match remote ports. In fact, they almost never do.\n * This feature is here for networking professionals using very advanced techniques.\n**/\n- (BOOL)connectToAddress:(NSData *)remoteAddr\n            viaInterface:(nullable NSString *)interface\n             withTimeout:(NSTimeInterval)timeout\n                   error:(NSError **)errPtr;\n/**\n * Connects to the unix domain socket at the given url, using the specified timeout.\n */\n- (BOOL)connectToUrl:(NSURL *)url withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr;\n\n#pragma mark Disconnecting\n\n/**\n * Disconnects immediately (synchronously). Any pending reads or writes are dropped.\n * \n * If the socket is not already disconnected, an invocation to the socketDidDisconnect:withError: delegate method\n * will be queued onto the delegateQueue asynchronously (behind any previously queued delegate methods).\n * In other words, the disconnected delegate method will be invoked sometime shortly after this method returns.\n * \n * Please note the recommended way of releasing a GCDAsyncSocket instance (e.g. in a dealloc method)\n * [asyncSocket setDelegate:nil];\n * [asyncSocket disconnect];\n * [asyncSocket release];\n * \n * If you plan on disconnecting the socket, and then immediately asking it to connect again,\n * you'll likely want to do so like this:\n * [asyncSocket setDelegate:nil];\n * [asyncSocket disconnect];\n * [asyncSocket setDelegate:self];\n * [asyncSocket connect...];\n**/\n- (void)disconnect;\n\n/**\n * Disconnects after all pending reads have completed.\n * After calling this, the read and write methods will do nothing.\n * The socket will disconnect even if there are still pending writes.\n**/\n- (void)disconnectAfterReading;\n\n/**\n * Disconnects after all pending writes have completed.\n * After calling this, the read and write methods will do nothing.\n * The socket will disconnect even if there are still pending reads.\n**/\n- (void)disconnectAfterWriting;\n\n/**\n * Disconnects after all pending reads and writes have completed.\n * After calling this, the read and write methods will do nothing.\n**/\n- (void)disconnectAfterReadingAndWriting;\n\n#pragma mark Diagnostics\n\n/**\n * Returns whether the socket is disconnected or connected.\n * \n * A disconnected socket may be recycled.\n * That is, it can be used again for connecting or listening.\n * \n * If a socket is in the process of connecting, it may be neither disconnected nor connected.\n**/\n@property (atomic, readonly) BOOL isDisconnected;\n@property (atomic, readonly) BOOL isConnected;\n\n/**\n * Returns the local or remote host and port to which this socket is connected, or nil and 0 if not connected.\n * The host will be an IP address.\n**/\n@property (atomic, readonly, nullable) NSString *connectedHost;\n@property (atomic, readonly) uint16_t  connectedPort;\n@property (atomic, readonly, nullable) NSURL    *connectedUrl;\n\n@property (atomic, readonly, nullable) NSString *localHost;\n@property (atomic, readonly) uint16_t  localPort;\n\n/**\n * Returns the local or remote address to which this socket is connected,\n * specified as a sockaddr structure wrapped in a NSData object.\n * \n * @seealso connectedHost\n * @seealso connectedPort\n * @seealso localHost\n * @seealso localPort\n**/\n@property (atomic, readonly, nullable) NSData *connectedAddress;\n@property (atomic, readonly, nullable) NSData *localAddress;\n\n/**\n * Returns whether the socket is IPv4 or IPv6.\n * An accepting socket may be both.\n**/\n@property (atomic, readonly) BOOL isIPv4;\n@property (atomic, readonly) BOOL isIPv6;\n\n/**\n * Returns whether or not the socket has been secured via SSL/TLS.\n * \n * See also the startTLS method.\n**/\n@property (atomic, readonly) BOOL isSecure;\n\n#pragma mark Reading\n\n// The readData and writeData methods won't block (they are asynchronous).\n// \n// When a read is complete the socket:didReadData:withTag: delegate method is dispatched on the delegateQueue.\n// When a write is complete the socket:didWriteDataWithTag: delegate method is dispatched on the delegateQueue.\n// \n// You may optionally set a timeout for any read/write operation. (To not timeout, use a negative time interval.)\n// If a read/write opertion times out, the corresponding \"socket:shouldTimeout...\" delegate method\n// is called to optionally allow you to extend the timeout.\n// Upon a timeout, the \"socket:didDisconnectWithError:\" method is called\n// \n// The tag is for your convenience.\n// You can use it as an array index, step number, state id, pointer, etc.\n\n/**\n * Reads the first available bytes that become available on the socket.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n**/\n- (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * Reads the first available bytes that become available on the socket.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, the socket will create a buffer for you.\n * \n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing, and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while the socket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n**/\n- (void)readDataWithTimeout:(NSTimeInterval)timeout\n\t\t\t\t\t buffer:(nullable NSMutableData *)buffer\n\t\t\t   bufferOffset:(NSUInteger)offset\n\t\t\t\t\t\ttag:(long)tag;\n\n/**\n * Reads the first available bytes that become available on the socket.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * A maximum of length bytes will be read.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, a buffer will automatically be created for you.\n * If maxLength is zero, no length restriction is enforced.\n * \n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing, and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while the socket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer  via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n**/\n- (void)readDataWithTimeout:(NSTimeInterval)timeout\n                     buffer:(nullable NSMutableData *)buffer\n               bufferOffset:(NSUInteger)offset\n                  maxLength:(NSUInteger)length\n                        tag:(long)tag;\n\n/**\n * Reads the given number of bytes.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * \n * If the length is 0, this method does nothing and the delegate is not called.\n**/\n- (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * Reads the given number of bytes.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, a buffer will automatically be created for you.\n * \n * If the length is 0, this method does nothing and the delegate is not called.\n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing, and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while AsyncSocket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n**/\n- (void)readDataToLength:(NSUInteger)length\n             withTimeout:(NSTimeInterval)timeout\n                  buffer:(nullable NSMutableData *)buffer\n            bufferOffset:(NSUInteger)offset\n                     tag:(long)tag;\n\n/**\n * Reads bytes until (and including) the passed \"data\" parameter, which acts as a separator.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * \n * If you pass nil or zero-length data as the \"data\" parameter,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * \n * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the \"data\" parameter.\n * If you're developing your own custom protocol, be sure your separator can not occur naturally as\n * part of the data between separators.\n * For example, imagine you want to send several small documents over a socket.\n * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents.\n * In this particular example, it would be better to use a protocol similar to HTTP with\n * a header that includes the length of the document.\n * Also be careful that your separator cannot occur naturally as part of the encoding for a character.\n * \n * The given data (separator) parameter should be immutable.\n * For performance reasons, the socket will retain it, not copy it.\n * So if it is immutable, don't modify it while the socket is using it.\n**/\n- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * Reads bytes until (and including) the passed \"data\" parameter, which acts as a separator.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, a buffer will automatically be created for you.\n * \n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while the socket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n * \n * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the \"data\" parameter.\n * If you're developing your own custom protocol, be sure your separator can not occur naturally as\n * part of the data between separators.\n * For example, imagine you want to send several small documents over a socket.\n * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents.\n * In this particular example, it would be better to use a protocol similar to HTTP with\n * a header that includes the length of the document.\n * Also be careful that your separator cannot occur naturally as part of the encoding for a character.\n * \n * The given data (separator) parameter should be immutable.\n * For performance reasons, the socket will retain it, not copy it.\n * So if it is immutable, don't modify it while the socket is using it.\n**/\n- (void)readDataToData:(NSData *)data\n           withTimeout:(NSTimeInterval)timeout\n                buffer:(nullable NSMutableData *)buffer\n          bufferOffset:(NSUInteger)offset\n                   tag:(long)tag;\n\n/**\n * Reads bytes until (and including) the passed \"data\" parameter, which acts as a separator.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * \n * If maxLength is zero, no length restriction is enforced.\n * Otherwise if maxLength bytes are read without completing the read,\n * it is treated similarly to a timeout - the socket is closed with a GCDAsyncSocketReadMaxedOutError.\n * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end.\n * \n * If you pass nil or zero-length data as the \"data\" parameter,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * If you pass a maxLength parameter that is less than the length of the data parameter,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * \n * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the \"data\" parameter.\n * If you're developing your own custom protocol, be sure your separator can not occur naturally as\n * part of the data between separators.\n * For example, imagine you want to send several small documents over a socket.\n * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents.\n * In this particular example, it would be better to use a protocol similar to HTTP with\n * a header that includes the length of the document.\n * Also be careful that your separator cannot occur naturally as part of the encoding for a character.\n * \n * The given data (separator) parameter should be immutable.\n * For performance reasons, the socket will retain it, not copy it.\n * So if it is immutable, don't modify it while the socket is using it.\n**/\n- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout maxLength:(NSUInteger)length tag:(long)tag;\n\n/**\n * Reads bytes until (and including) the passed \"data\" parameter, which acts as a separator.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, a buffer will automatically be created for you.\n * \n * If maxLength is zero, no length restriction is enforced.\n * Otherwise if maxLength bytes are read without completing the read,\n * it is treated similarly to a timeout - the socket is closed with a GCDAsyncSocketReadMaxedOutError.\n * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end.\n * \n * If you pass a maxLength parameter that is less than the length of the data (separator) parameter,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while the socket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n * \n * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the \"data\" parameter.\n * If you're developing your own custom protocol, be sure your separator can not occur naturally as\n * part of the data between separators.\n * For example, imagine you want to send several small documents over a socket.\n * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents.\n * In this particular example, it would be better to use a protocol similar to HTTP with\n * a header that includes the length of the document.\n * Also be careful that your separator cannot occur naturally as part of the encoding for a character.\n * \n * The given data (separator) parameter should be immutable.\n * For performance reasons, the socket will retain it, not copy it.\n * So if it is immutable, don't modify it while the socket is using it.\n**/\n- (void)readDataToData:(NSData *)data\n           withTimeout:(NSTimeInterval)timeout\n                buffer:(nullable NSMutableData *)buffer\n          bufferOffset:(NSUInteger)offset\n             maxLength:(NSUInteger)length\n                   tag:(long)tag;\n\n/**\n * Returns progress of the current read, from 0.0 to 1.0, or NaN if no current read (use isnan() to check).\n * The parameters \"tag\", \"done\" and \"total\" will be filled in if they aren't NULL.\n**/\n- (float)progressOfReadReturningTag:(nullable long *)tagPtr bytesDone:(nullable NSUInteger *)donePtr total:(nullable NSUInteger *)totalPtr;\n\n#pragma mark Writing\n\n/**\n * Writes data to the socket, and calls the delegate when finished.\n * \n * If you pass in nil or zero-length data, this method does nothing and the delegate will not be called.\n * If the timeout value is negative, the write operation will not use a timeout.\n * \n * Thread-Safety Note:\n * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while\n * the socket is writing it. In other words, it's not safe to alter the data until after the delegate method\n * socket:didWriteDataWithTag: is invoked signifying that this particular write operation has completed.\n * This is due to the fact that GCDAsyncSocket does NOT copy the data. It simply retains it.\n * This is for performance reasons. Often times, if NSMutableData is passed, it is because\n * a request/response was built up in memory. Copying this data adds an unwanted/unneeded overhead.\n * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket\n * completes writing the bytes (which is NOT immediately after this method returns, but rather at a later time\n * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method.\n**/\n- (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * Returns progress of the current write, from 0.0 to 1.0, or NaN if no current write (use isnan() to check).\n * The parameters \"tag\", \"done\" and \"total\" will be filled in if they aren't NULL.\n**/\n- (float)progressOfWriteReturningTag:(nullable long *)tagPtr bytesDone:(nullable NSUInteger *)donePtr total:(nullable NSUInteger *)totalPtr;\n\n#pragma mark Security\n\n/**\n * Secures the connection using SSL/TLS.\n * \n * This method may be called at any time, and the TLS handshake will occur after all pending reads and writes\n * are finished. This allows one the option of sending a protocol dependent StartTLS message, and queuing\n * the upgrade to TLS at the same time, without having to wait for the write to finish.\n * Any reads or writes scheduled after this method is called will occur over the secured connection.\n *\n * ==== The available TOP-LEVEL KEYS are:\n * \n * - GCDAsyncSocketManuallyEvaluateTrust\n *     The value must be of type NSNumber, encapsulating a BOOL value.\n *     If you set this to YES, then the underlying SecureTransport system will not evaluate the SecTrustRef of the peer.\n *     Instead it will pause at the moment evaulation would typically occur,\n *     and allow us to handle the security evaluation however we see fit.\n *     So GCDAsyncSocket will invoke the delegate method socket:shouldTrustPeer: passing the SecTrustRef.\n *\n *     Note that if you set this option, then all other configuration keys are ignored.\n *     Evaluation will be completely up to you during the socket:didReceiveTrust:completionHandler: delegate method.\n *\n *     For more information on trust evaluation see:\n *     Apple's Technical Note TN2232 - HTTPS Server Trust Evaluation\n *     https://developer.apple.com/library/ios/technotes/tn2232/_index.html\n *     \n *     If unspecified, the default value is NO.\n *\n * - GCDAsyncSocketUseCFStreamForTLS (iOS only)\n *     The value must be of type NSNumber, encapsulating a BOOL value.\n *     By default GCDAsyncSocket will use the SecureTransport layer to perform encryption.\n *     This gives us more control over the security protocol (many more configuration options),\n *     plus it allows us to optimize things like sys calls and buffer allocation.\n *     \n *     However, if you absolutely must, you can instruct GCDAsyncSocket to use the old-fashioned encryption\n *     technique by going through the CFStream instead. So instead of using SecureTransport, GCDAsyncSocket\n *     will instead setup a CFRead/CFWriteStream. And then set the kCFStreamPropertySSLSettings property\n *     (via CFReadStreamSetProperty / CFWriteStreamSetProperty) and will pass the given options to this method.\n *     \n *     Thus all the other keys in the given dictionary will be ignored by GCDAsyncSocket,\n *     and will passed directly CFReadStreamSetProperty / CFWriteStreamSetProperty.\n *     For more infomation on these keys, please see the documentation for kCFStreamPropertySSLSettings.\n *\n *     If unspecified, the default value is NO.\n *\n * ==== The available CONFIGURATION KEYS are:\n *\n * - kCFStreamSSLPeerName\n *     The value must be of type NSString.\n *     It should match the name in the X.509 certificate given by the remote party.\n *     See Apple's documentation for SSLSetPeerDomainName.\n *\n * - kCFStreamSSLCertificates\n *     The value must be of type NSArray.\n *     See Apple's documentation for SSLSetCertificate.\n *\n * - kCFStreamSSLIsServer\n *     The value must be of type NSNumber, encapsulationg a BOOL value.\n *     See Apple's documentation for SSLCreateContext for iOS.\n *     This is optional for iOS. If not supplied, a NO value is the default.\n *     This is not needed for Mac OS X, and the value is ignored.\n *\n * - GCDAsyncSocketSSLPeerID\n *     The value must be of type NSData.\n *     You must set this value if you want to use TLS session resumption.\n *     See Apple's documentation for SSLSetPeerID.\n *\n * - GCDAsyncSocketSSLProtocolVersionMin\n * - GCDAsyncSocketSSLProtocolVersionMax\n *     The value(s) must be of type NSNumber, encapsulting a SSLProtocol value.\n *     See Apple's documentation for SSLSetProtocolVersionMin & SSLSetProtocolVersionMax.\n *     See also the SSLProtocol typedef.\n * \n * - GCDAsyncSocketSSLSessionOptionFalseStart\n *     The value must be of type NSNumber, encapsulating a BOOL value.\n *     See Apple's documentation for kSSLSessionOptionFalseStart.\n * \n * - GCDAsyncSocketSSLSessionOptionSendOneByteRecord\n *     The value must be of type NSNumber, encapsulating a BOOL value.\n *     See Apple's documentation for kSSLSessionOptionSendOneByteRecord.\n * \n * - GCDAsyncSocketSSLCipherSuites\n *     The values must be of type NSArray.\n *     Each item within the array must be a NSNumber, encapsulating\n *     See Apple's documentation for SSLSetEnabledCiphers.\n *     See also the SSLCipherSuite typedef.\n *\n * - GCDAsyncSocketSSLDiffieHellmanParameters (Mac OS X only)\n *     The value must be of type NSData.\n *     See Apple's documentation for SSLSetDiffieHellmanParams.\n * \n * ==== The following UNAVAILABLE KEYS are: (with throw an exception)\n * \n * - kCFStreamSSLAllowsAnyRoot (UNAVAILABLE)\n *     You MUST use manual trust evaluation instead (see GCDAsyncSocketManuallyEvaluateTrust).\n *     Corresponding deprecated method: SSLSetAllowsAnyRoot\n * \n * - kCFStreamSSLAllowsExpiredRoots (UNAVAILABLE)\n *     You MUST use manual trust evaluation instead (see GCDAsyncSocketManuallyEvaluateTrust).\n *     Corresponding deprecated method: SSLSetAllowsExpiredRoots\n *\n * - kCFStreamSSLAllowsExpiredCertificates (UNAVAILABLE)\n *     You MUST use manual trust evaluation instead (see GCDAsyncSocketManuallyEvaluateTrust).\n *     Corresponding deprecated method: SSLSetAllowsExpiredCerts\n *\n * - kCFStreamSSLValidatesCertificateChain (UNAVAILABLE)\n *     You MUST use manual trust evaluation instead (see GCDAsyncSocketManuallyEvaluateTrust).\n *     Corresponding deprecated method: SSLSetEnableCertVerify\n *\n * - kCFStreamSSLLevel (UNAVAILABLE)\n *     You MUST use GCDAsyncSocketSSLProtocolVersionMin & GCDAsyncSocketSSLProtocolVersionMin instead.\n *     Corresponding deprecated method: SSLSetProtocolVersionEnabled\n *\n * \n * Please refer to Apple's documentation for corresponding SSLFunctions.\n *\n * If you pass in nil or an empty dictionary, the default settings will be used.\n * \n * IMPORTANT SECURITY NOTE:\n * The default settings will check to make sure the remote party's certificate is signed by a\n * trusted 3rd party certificate agency (e.g. verisign) and that the certificate is not expired.\n * However it will not verify the name on the certificate unless you\n * give it a name to verify against via the kCFStreamSSLPeerName key.\n * The security implications of this are important to understand.\n * Imagine you are attempting to create a secure connection to MySecureServer.com,\n * but your socket gets directed to MaliciousServer.com because of a hacked DNS server.\n * If you simply use the default settings, and MaliciousServer.com has a valid certificate,\n * the default settings will not detect any problems since the certificate is valid.\n * To properly secure your connection in this particular scenario you\n * should set the kCFStreamSSLPeerName property to \"MySecureServer.com\".\n * \n * You can also perform additional validation in socketDidSecure.\n**/\n- (void)startTLS:(nullable NSDictionary <NSString*,NSObject*>*)tlsSettings;\n\n#pragma mark Advanced\n\n/**\n * Traditionally sockets are not closed until the conversation is over.\n * However, it is technically possible for the remote enpoint to close its write stream.\n * Our socket would then be notified that there is no more data to be read,\n * but our socket would still be writeable and the remote endpoint could continue to receive our data.\n * \n * The argument for this confusing functionality stems from the idea that a client could shut down its\n * write stream after sending a request to the server, thus notifying the server there are to be no further requests.\n * In practice, however, this technique did little to help server developers.\n * \n * To make matters worse, from a TCP perspective there is no way to tell the difference from a read stream close\n * and a full socket close. They both result in the TCP stack receiving a FIN packet. The only way to tell\n * is by continuing to write to the socket. If it was only a read stream close, then writes will continue to work.\n * Otherwise an error will be occur shortly (when the remote end sends us a RST packet).\n * \n * In addition to the technical challenges and confusion, many high level socket/stream API's provide\n * no support for dealing with the problem. If the read stream is closed, the API immediately declares the\n * socket to be closed, and shuts down the write stream as well. In fact, this is what Apple's CFStream API does.\n * It might sound like poor design at first, but in fact it simplifies development.\n * \n * The vast majority of the time if the read stream is closed it's because the remote endpoint closed its socket.\n * Thus it actually makes sense to close the socket at this point.\n * And in fact this is what most networking developers want and expect to happen.\n * However, if you are writing a server that interacts with a plethora of clients,\n * you might encounter a client that uses the discouraged technique of shutting down its write stream.\n * If this is the case, you can set this property to NO,\n * and make use of the socketDidCloseReadStream delegate method.\n * \n * The default value is YES.\n**/\n@property (atomic, assign, readwrite) BOOL autoDisconnectOnClosedReadStream;\n\n/**\n * GCDAsyncSocket maintains thread safety by using an internal serial dispatch_queue.\n * In most cases, the instance creates this queue itself.\n * However, to allow for maximum flexibility, the internal queue may be passed in the init method.\n * This allows for some advanced options such as controlling socket priority via target queues.\n * However, when one begins to use target queues like this, they open the door to some specific deadlock issues.\n * \n * For example, imagine there are 2 queues:\n * dispatch_queue_t socketQueue;\n * dispatch_queue_t socketTargetQueue;\n * \n * If you do this (pseudo-code):\n * socketQueue.targetQueue = socketTargetQueue;\n * \n * Then all socketQueue operations will actually get run on the given socketTargetQueue.\n * This is fine and works great in most situations.\n * But if you run code directly from within the socketTargetQueue that accesses the socket,\n * you could potentially get deadlock. Imagine the following code:\n * \n * - (BOOL)socketHasSomething\n * {\n *     __block BOOL result = NO;\n *     dispatch_block_t block = ^{\n *         result = [self someInternalMethodToBeRunOnlyOnSocketQueue];\n *     }\n *     if (is_executing_on_queue(socketQueue))\n *         block();\n *     else\n *         dispatch_sync(socketQueue, block);\n *     \n *     return result;\n * }\n * \n * What happens if you call this method from the socketTargetQueue? The result is deadlock.\n * This is because the GCD API offers no mechanism to discover a queue's targetQueue.\n * Thus we have no idea if our socketQueue is configured with a targetQueue.\n * If we had this information, we could easily avoid deadlock.\n * But, since these API's are missing or unfeasible, you'll have to explicitly set it.\n * \n * IF you pass a socketQueue via the init method,\n * AND you've configured the passed socketQueue with a targetQueue,\n * THEN you should pass the end queue in the target hierarchy.\n * \n * For example, consider the following queue hierarchy:\n * socketQueue -> ipQueue -> moduleQueue\n *\n * This example demonstrates priority shaping within some server.\n * All incoming client connections from the same IP address are executed on the same target queue.\n * And all connections for a particular module are executed on the same target queue.\n * Thus, the priority of all networking for the entire module can be changed on the fly.\n * Additionally, networking traffic from a single IP cannot monopolize the module.\n * \n * Here's how you would accomplish something like that:\n * - (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(GCDAsyncSocket *)sock\n * {\n *     dispatch_queue_t socketQueue = dispatch_queue_create(\"\", NULL);\n *     dispatch_queue_t ipQueue = [self ipQueueForAddress:address];\n *     \n *     dispatch_set_target_queue(socketQueue, ipQueue);\n *     dispatch_set_target_queue(iqQueue, moduleQueue);\n *     \n *     return socketQueue;\n * }\n * - (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket\n * {\n *     [clientConnections addObject:newSocket];\n *     [newSocket markSocketQueueTargetQueue:moduleQueue];\n * }\n * \n * Note: This workaround is ONLY needed if you intend to execute code directly on the ipQueue or moduleQueue.\n * This is often NOT the case, as such queues are used solely for execution shaping.\n**/\n- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreConfiguredTargetQueue;\n- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreviouslyConfiguredTargetQueue;\n\n/**\n * It's not thread-safe to access certain variables from outside the socket's internal queue.\n * \n * For example, the socket file descriptor.\n * File descriptors are simply integers which reference an index in the per-process file table.\n * However, when one requests a new file descriptor (by opening a file or socket),\n * the file descriptor returned is guaranteed to be the lowest numbered unused descriptor.\n * So if we're not careful, the following could be possible:\n * \n * - Thread A invokes a method which returns the socket's file descriptor.\n * - The socket is closed via the socket's internal queue on thread B.\n * - Thread C opens a file, and subsequently receives the file descriptor that was previously the socket's FD.\n * - Thread A is now accessing/altering the file instead of the socket.\n * \n * In addition to this, other variables are not actually objects,\n * and thus cannot be retained/released or even autoreleased.\n * An example is the sslContext, of type SSLContextRef, which is actually a malloc'd struct.\n * \n * Although there are internal variables that make it difficult to maintain thread-safety,\n * it is important to provide access to these variables\n * to ensure this class can be used in a wide array of environments.\n * This method helps to accomplish this by invoking the current block on the socket's internal queue.\n * The methods below can be invoked from within the block to access\n * those generally thread-unsafe internal variables in a thread-safe manner.\n * The given block will be invoked synchronously on the socket's internal queue.\n * \n * If you save references to any protected variables and use them outside the block, you do so at your own peril.\n**/\n- (void)performBlock:(dispatch_block_t)block;\n\n/**\n * These methods are only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Provides access to the socket's file descriptor(s).\n * If the socket is a server socket (is accepting incoming connections),\n * it might actually have multiple internal socket file descriptors - one for IPv4 and one for IPv6.\n**/\n- (int)socketFD;\n- (int)socket4FD;\n- (int)socket6FD;\n\n#if TARGET_OS_IPHONE\n\n/**\n * These methods are only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Provides access to the socket's internal CFReadStream/CFWriteStream.\n * \n * These streams are only used as workarounds for specific iOS shortcomings:\n * \n * - Apple has decided to keep the SecureTransport framework private is iOS.\n *   This means the only supplied way to do SSL/TLS is via CFStream or some other API layered on top of it.\n *   Thus, in order to provide SSL/TLS support on iOS we are forced to rely on CFStream,\n *   instead of the preferred and faster and more powerful SecureTransport.\n * \n * - If a socket doesn't have backgrounding enabled, and that socket is closed while the app is backgrounded,\n *   Apple only bothers to notify us via the CFStream API.\n *   The faster and more powerful GCD API isn't notified properly in this case.\n * \n * See also: (BOOL)enableBackgroundingOnSocket\n**/\n- (nullable CFReadStreamRef)readStream;\n- (nullable CFWriteStreamRef)writeStream;\n\n/**\n * This method is only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Configures the socket to allow it to operate when the iOS application has been backgrounded.\n * In other words, this method creates a read & write stream, and invokes:\n * \n * CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n * \n * Returns YES if successful, NO otherwise.\n * \n * Note: Apple does not officially support backgrounding server sockets.\n * That is, if your socket is accepting incoming connections, Apple does not officially support\n * allowing iOS applications to accept incoming connections while an app is backgrounded.\n * \n * Example usage:\n * \n * - (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port\n * {\n *     [asyncSocket performBlock:^{\n *         [asyncSocket enableBackgroundingOnSocket];\n *     }];\n * }\n**/\n- (BOOL)enableBackgroundingOnSocket;\n\n#endif\n\n/**\n * This method is only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Provides access to the socket's SSLContext, if SSL/TLS has been started on the socket.\n**/\n- (nullable SSLContextRef)sslContext;\n\n#pragma mark Utilities\n\n/**\n * The address lookup utility used by the class.\n * This method is synchronous, so it's recommended you use it on a background thread/queue.\n * \n * The special strings \"localhost\" and \"loopback\" return the loopback address for IPv4 and IPv6.\n * \n * @returns\n *   A mutable array with all IPv4 and IPv6 addresses returned by getaddrinfo.\n *   The addresses are specifically for TCP connections.\n *   You can filter the addresses, if needed, using the other utility methods provided by the class.\n**/\n+ (nullable NSMutableArray *)lookupHost:(NSString *)host port:(uint16_t)port error:(NSError **)errPtr;\n\n/**\n * Extracting host and port information from raw address data.\n**/\n\n+ (nullable NSString *)hostFromAddress:(NSData *)address;\n+ (uint16_t)portFromAddress:(NSData *)address;\n\n+ (BOOL)isIPv4Address:(NSData *)address;\n+ (BOOL)isIPv6Address:(NSData *)address;\n\n+ (BOOL)getHost:( NSString * __nullable * __nullable)hostPtr port:(nullable uint16_t *)portPtr fromAddress:(NSData *)address;\n\n+ (BOOL)getHost:(NSString * __nullable * __nullable)hostPtr port:(nullable uint16_t *)portPtr family:(nullable sa_family_t *)afPtr fromAddress:(NSData *)address;\n\n/**\n * A few common line separators, for use with the readDataToData:... methods.\n**/\n+ (NSData *)CRLFData;   // 0x0D0A\n+ (NSData *)CRData;     // 0x0D\n+ (NSData *)LFData;     // 0x0A\n+ (NSData *)ZeroData;   // 0x00\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@protocol GCDAsyncSocketDelegate <NSObject>\n@optional\n\n/**\n * This method is called immediately prior to socket:didAcceptNewSocket:.\n * It optionally allows a listening socket to specify the socketQueue for a new accepted socket.\n * If this method is not implemented, or returns NULL, the new accepted socket will create its own default queue.\n * \n * Since you cannot autorelease a dispatch_queue,\n * this method uses the \"new\" prefix in its name to specify that the returned queue has been retained.\n * \n * Thus you could do something like this in the implementation:\n * return dispatch_queue_create(\"MyQueue\", NULL);\n * \n * If you are placing multiple sockets on the same queue,\n * then care should be taken to increment the retain count each time this method is invoked.\n * \n * For example, your implementation might look something like this:\n * dispatch_retain(myExistingQueue);\n * return myExistingQueue;\n**/\n- (nullable dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(GCDAsyncSocket *)sock;\n\n/**\n * Called when a socket accepts a connection.\n * Another socket is automatically spawned to handle it.\n * \n * You must retain the newSocket if you wish to handle the connection.\n * Otherwise the newSocket instance will be released and the spawned connection will be closed.\n * \n * By default the new socket will have the same delegate and delegateQueue.\n * You may, of course, change this at any time.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket;\n\n/**\n * Called when a socket connects and is ready for reading and writing.\n * The host parameter will be an IP address, not a DNS name.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port;\n\n/**\n * Called when a socket connects and is ready for reading and writing.\n * The host parameter will be an IP address, not a DNS name.\n **/\n- (void)socket:(GCDAsyncSocket *)sock didConnectToUrl:(NSURL *)url;\n\n/**\n * Called when a socket has completed reading the requested data into memory.\n * Not called if there is an error.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag;\n\n/**\n * Called when a socket has read in data, but has not yet completed the read.\n * This would occur if using readToData: or readToLength: methods.\n * It may be used to for things such as updating progress bars.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didReadPartialDataOfLength:(NSUInteger)partialLength tag:(long)tag;\n\n/**\n * Called when a socket has completed writing the requested data. Not called if there is an error.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag;\n\n/**\n * Called when a socket has written some data, but has not yet completed the entire write.\n * It may be used to for things such as updating progress bars.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didWritePartialDataOfLength:(NSUInteger)partialLength tag:(long)tag;\n\n/**\n * Called if a read operation has reached its timeout without completing.\n * This method allows you to optionally extend the timeout.\n * If you return a positive time interval (> 0) the read's timeout will be extended by the given amount.\n * If you don't implement this method, or return a non-positive time interval (<= 0) the read will timeout as usual.\n * \n * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method.\n * The length parameter is the number of bytes that have been read so far for the read operation.\n * \n * Note that this method may be called multiple times for a single read if you return positive numbers.\n**/\n- (NSTimeInterval)socket:(GCDAsyncSocket *)sock shouldTimeoutReadWithTag:(long)tag\n                                                                 elapsed:(NSTimeInterval)elapsed\n                                                               bytesDone:(NSUInteger)length;\n\n/**\n * Called if a write operation has reached its timeout without completing.\n * This method allows you to optionally extend the timeout.\n * If you return a positive time interval (> 0) the write's timeout will be extended by the given amount.\n * If you don't implement this method, or return a non-positive time interval (<= 0) the write will timeout as usual.\n * \n * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method.\n * The length parameter is the number of bytes that have been written so far for the write operation.\n * \n * Note that this method may be called multiple times for a single write if you return positive numbers.\n**/\n- (NSTimeInterval)socket:(GCDAsyncSocket *)sock shouldTimeoutWriteWithTag:(long)tag\n                                                                  elapsed:(NSTimeInterval)elapsed\n                                                                bytesDone:(NSUInteger)length;\n\n/**\n * Conditionally called if the read stream closes, but the write stream may still be writeable.\n * \n * This delegate method is only called if autoDisconnectOnClosedReadStream has been set to NO.\n * See the discussion on the autoDisconnectOnClosedReadStream method for more information.\n**/\n- (void)socketDidCloseReadStream:(GCDAsyncSocket *)sock;\n\n/**\n * Called when a socket disconnects with or without error.\n * \n * If you call the disconnect method, and the socket wasn't already disconnected,\n * then an invocation of this delegate method will be enqueued on the delegateQueue\n * before the disconnect method returns.\n * \n * Note: If the GCDAsyncSocket instance is deallocated while it is still connected,\n * and the delegate is not also deallocated, then this method will be invoked,\n * but the sock parameter will be nil. (It must necessarily be nil since it is no longer available.)\n * This is a generally rare, but is possible if one writes code like this:\n * \n * asyncSocket = nil; // I'm implicitly disconnecting the socket\n * \n * In this case it may preferrable to nil the delegate beforehand, like this:\n * \n * asyncSocket.delegate = nil; // Don't invoke my delegate method\n * asyncSocket = nil; // I'm implicitly disconnecting the socket\n * \n * Of course, this depends on how your state machine is configured.\n**/\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(nullable NSError *)err;\n\n/**\n * Called after the socket has successfully completed SSL/TLS negotiation.\n * This method is not called unless you use the provided startTLS method.\n * \n * If a SSL/TLS negotiation fails (invalid certificate, etc) then the socket will immediately close,\n * and the socketDidDisconnect:withError: delegate method will be called with the specific SSL error code.\n**/\n- (void)socketDidSecure:(GCDAsyncSocket *)sock;\n\n/**\n * Allows a socket delegate to hook into the TLS handshake and manually validate the peer it's connecting to.\n *\n * This is only called if startTLS is invoked with options that include:\n * - GCDAsyncSocketManuallyEvaluateTrust == YES\n *\n * Typically the delegate will use SecTrustEvaluate (and related functions) to properly validate the peer.\n * \n * Note from Apple's documentation:\n *   Because [SecTrustEvaluate] might look on the network for certificates in the certificate chain,\n *   [it] might block while attempting network access. You should never call it from your main thread;\n *   call it only from within a function running on a dispatch queue or on a separate thread.\n * \n * Thus this method uses a completionHandler block rather than a normal return value.\n * The completionHandler block is thread-safe, and may be invoked from a background queue/thread.\n * It is safe to invoke the completionHandler block even if the socket has been closed.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didReceiveTrust:(SecTrustRef)trust\n                                    completionHandler:(void (^)(BOOL shouldTrustPeer))completionHandler;\n\n@end\nNS_ASSUME_NONNULL_END\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/GCD/GCDAsyncSocket.m",
    "content": "//\n//  GCDAsyncSocket.m\n//  \n//  This class is in the public domain.\n//  Originally created by Robbie Hanson in Q4 2010.\n//  Updated and maintained by Deusty LLC and the Apple development community.\n//\n//  https://github.com/robbiehanson/CocoaAsyncSocket\n//\n\n#import \"GCDAsyncSocket.h\"\n\n#if TARGET_OS_IPHONE\n#import <CFNetwork/CFNetwork.h>\n#endif\n\n#import <TargetConditionals.h>\n#import <arpa/inet.h>\n#import <fcntl.h>\n#import <ifaddrs.h>\n#import <netdb.h>\n#import <netinet/in.h>\n#import <net/if.h>\n#import <sys/socket.h>\n#import <sys/types.h>\n#import <sys/ioctl.h>\n#import <sys/poll.h>\n#import <sys/uio.h>\n#import <sys/un.h>\n#import <unistd.h>\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n// For more information see: https://github.com/robbiehanson/CocoaAsyncSocket/wiki/ARC\n#endif\n\n\n#ifndef GCDAsyncSocketLoggingEnabled\n#define GCDAsyncSocketLoggingEnabled 0\n#endif\n\n#if GCDAsyncSocketLoggingEnabled\n\n// Logging Enabled - See log level below\n\n// Logging uses the CocoaLumberjack framework (which is also GCD based).\n// https://github.com/robbiehanson/CocoaLumberjack\n// \n// It allows us to do a lot of logging without significantly slowing down the code.\n#import \"DDLog.h\"\n\n#define LogAsync   YES\n#define LogContext GCDAsyncSocketLoggingContext\n\n#define LogObjc(flg, frmt, ...) LOG_OBJC_MAYBE(LogAsync, logLevel, flg, LogContext, frmt, ##__VA_ARGS__)\n#define LogC(flg, frmt, ...)    LOG_C_MAYBE(LogAsync, logLevel, flg, LogContext, frmt, ##__VA_ARGS__)\n\n#define LogError(frmt, ...)     LogObjc(LOG_FLAG_ERROR,   (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogWarn(frmt, ...)      LogObjc(LOG_FLAG_WARN,    (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogInfo(frmt, ...)      LogObjc(LOG_FLAG_INFO,    (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogVerbose(frmt, ...)   LogObjc(LOG_FLAG_VERBOSE, (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n\n#define LogCError(frmt, ...)    LogC(LOG_FLAG_ERROR,   (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogCWarn(frmt, ...)     LogC(LOG_FLAG_WARN,    (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogCInfo(frmt, ...)     LogC(LOG_FLAG_INFO,    (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogCVerbose(frmt, ...)  LogC(LOG_FLAG_VERBOSE, (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n\n#define LogTrace()              LogObjc(LOG_FLAG_VERBOSE, @\"%@: %@\", THIS_FILE, THIS_METHOD)\n#define LogCTrace()             LogC(LOG_FLAG_VERBOSE, @\"%@: %s\", THIS_FILE, __FUNCTION__)\n\n#ifndef GCDAsyncSocketLogLevel\n#define GCDAsyncSocketLogLevel LOG_LEVEL_VERBOSE\n#endif\n\n// Log levels : off, error, warn, info, verbose\nstatic const int logLevel = GCDAsyncSocketLogLevel;\n\n#else\n\n// Logging Disabled\n\n#define LogError(frmt, ...)     {}\n#define LogWarn(frmt, ...)      {}\n#define LogInfo(frmt, ...)      {}\n#define LogVerbose(frmt, ...)   {}\n\n#define LogCError(frmt, ...)    {}\n#define LogCWarn(frmt, ...)     {}\n#define LogCInfo(frmt, ...)     {}\n#define LogCVerbose(frmt, ...)  {}\n\n#define LogTrace()              {}\n#define LogCTrace(frmt, ...)    {}\n\n#endif\n\n/**\n * Seeing a return statements within an inner block\n * can sometimes be mistaken for a return point of the enclosing method.\n * This makes inline blocks a bit easier to read.\n**/\n#define return_from_block  return\n\n/**\n * A socket file descriptor is really just an integer.\n * It represents the index of the socket within the kernel.\n * This makes invalid file descriptor comparisons easier to read.\n**/\n#define SOCKET_NULL -1\n\n\nNSString *const GCDAsyncSocketException = @\"GCDAsyncSocketException\";\nNSString *const GCDAsyncSocketErrorDomain = @\"GCDAsyncSocketErrorDomain\";\n\nNSString *const GCDAsyncSocketQueueName = @\"GCDAsyncSocket\";\nNSString *const GCDAsyncSocketThreadName = @\"GCDAsyncSocket-CFStream\";\n\nNSString *const GCDAsyncSocketManuallyEvaluateTrust = @\"GCDAsyncSocketManuallyEvaluateTrust\";\n#if TARGET_OS_IPHONE\nNSString *const GCDAsyncSocketUseCFStreamForTLS = @\"GCDAsyncSocketUseCFStreamForTLS\";\n#endif\nNSString *const GCDAsyncSocketSSLPeerID = @\"GCDAsyncSocketSSLPeerID\";\nNSString *const GCDAsyncSocketSSLProtocolVersionMin = @\"GCDAsyncSocketSSLProtocolVersionMin\";\nNSString *const GCDAsyncSocketSSLProtocolVersionMax = @\"GCDAsyncSocketSSLProtocolVersionMax\";\nNSString *const GCDAsyncSocketSSLSessionOptionFalseStart = @\"GCDAsyncSocketSSLSessionOptionFalseStart\";\nNSString *const GCDAsyncSocketSSLSessionOptionSendOneByteRecord = @\"GCDAsyncSocketSSLSessionOptionSendOneByteRecord\";\nNSString *const GCDAsyncSocketSSLCipherSuites = @\"GCDAsyncSocketSSLCipherSuites\";\n#if !TARGET_OS_IPHONE\nNSString *const GCDAsyncSocketSSLDiffieHellmanParameters = @\"GCDAsyncSocketSSLDiffieHellmanParameters\";\n#endif\n\nenum GCDAsyncSocketFlags\n{\n\tkSocketStarted                 = 1 <<  0,  // If set, socket has been started (accepting/connecting)\n\tkConnected                     = 1 <<  1,  // If set, the socket is connected\n\tkForbidReadsWrites             = 1 <<  2,  // If set, no new reads or writes are allowed\n\tkReadsPaused                   = 1 <<  3,  // If set, reads are paused due to possible timeout\n\tkWritesPaused                  = 1 <<  4,  // If set, writes are paused due to possible timeout\n\tkDisconnectAfterReads          = 1 <<  5,  // If set, disconnect after no more reads are queued\n\tkDisconnectAfterWrites         = 1 <<  6,  // If set, disconnect after no more writes are queued\n\tkSocketCanAcceptBytes          = 1 <<  7,  // If set, we know socket can accept bytes. If unset, it's unknown.\n\tkReadSourceSuspended           = 1 <<  8,  // If set, the read source is suspended\n\tkWriteSourceSuspended          = 1 <<  9,  // If set, the write source is suspended\n\tkQueuedTLS                     = 1 << 10,  // If set, we've queued an upgrade to TLS\n\tkStartingReadTLS               = 1 << 11,  // If set, we're waiting for TLS negotiation to complete\n\tkStartingWriteTLS              = 1 << 12,  // If set, we're waiting for TLS negotiation to complete\n\tkSocketSecure                  = 1 << 13,  // If set, socket is using secure communication via SSL/TLS\n\tkSocketHasReadEOF              = 1 << 14,  // If set, we have read EOF from socket\n\tkReadStreamClosed              = 1 << 15,  // If set, we've read EOF plus prebuffer has been drained\n\tkDealloc                       = 1 << 16,  // If set, the socket is being deallocated\n#if TARGET_OS_IPHONE\n\tkAddedStreamsToRunLoop         = 1 << 17,  // If set, CFStreams have been added to listener thread\n\tkUsingCFStreamForTLS           = 1 << 18,  // If set, we're forced to use CFStream instead of SecureTransport\n\tkSecureSocketHasBytesAvailable = 1 << 19,  // If set, CFReadStream has notified us of bytes available\n#endif\n};\n\nenum GCDAsyncSocketConfig\n{\n\tkIPv4Disabled              = 1 << 0,  // If set, IPv4 is disabled\n\tkIPv6Disabled              = 1 << 1,  // If set, IPv6 is disabled\n\tkPreferIPv6                = 1 << 2,  // If set, IPv6 is preferred over IPv4\n\tkAllowHalfDuplexConnection = 1 << 3,  // If set, the socket will stay open even if the read stream closes\n};\n\n#if TARGET_OS_IPHONE\n  static NSThread *cfstreamThread;  // Used for CFStreams\n\n\n  static uint64_t cfstreamThreadRetainCount;   // setup & teardown\n  static dispatch_queue_t cfstreamThreadSetupQueue; // setup & teardown\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A PreBuffer is used when there is more data available on the socket\n * than is being requested by current read request.\n * In this case we slurp up all data from the socket (to minimize sys calls),\n * and store additional yet unread data in a \"prebuffer\".\n * \n * The prebuffer is entirely drained before we read from the socket again.\n * In other words, a large chunk of data is written is written to the prebuffer.\n * The prebuffer is then drained via a series of one or more reads (for subsequent read request(s)).\n * \n * A ring buffer was once used for this purpose.\n * But a ring buffer takes up twice as much memory as needed (double the size for mirroring).\n * In fact, it generally takes up more than twice the needed size as everything has to be rounded up to vm_page_size.\n * And since the prebuffer is always completely drained after being written to, a full ring buffer isn't needed.\n * \n * The current design is very simple and straight-forward, while also keeping memory requirements lower.\n**/\n\n@interface GCDAsyncSocketPreBuffer : NSObject\n{\n\tuint8_t *preBuffer;\n\tsize_t preBufferSize;\n\t\n\tuint8_t *readPointer;\n\tuint8_t *writePointer;\n}\n\n- (id)initWithCapacity:(size_t)numBytes;\n\n- (void)ensureCapacityForWrite:(size_t)numBytes;\n\n- (size_t)availableBytes;\n- (uint8_t *)readBuffer;\n\n- (void)getReadBuffer:(uint8_t **)bufferPtr availableBytes:(size_t *)availableBytesPtr;\n\n- (size_t)availableSpace;\n- (uint8_t *)writeBuffer;\n\n- (void)getWriteBuffer:(uint8_t **)bufferPtr availableSpace:(size_t *)availableSpacePtr;\n\n- (void)didRead:(size_t)bytesRead;\n- (void)didWrite:(size_t)bytesWritten;\n\n- (void)reset;\n\n@end\n\n@implementation GCDAsyncSocketPreBuffer\n\n- (id)initWithCapacity:(size_t)numBytes\n{\n\tif ((self = [super init]))\n\t{\n\t\tpreBufferSize = numBytes;\n\t\tpreBuffer = malloc(preBufferSize);\n\t\t\n\t\treadPointer = preBuffer;\n\t\twritePointer = preBuffer;\n\t}\n\treturn self;\n}\n\n- (void)dealloc\n{\n\tif (preBuffer)\n\t\tfree(preBuffer);\n}\n\n- (void)ensureCapacityForWrite:(size_t)numBytes\n{\n\tsize_t availableSpace = [self availableSpace];\n\t\n\tif (numBytes > availableSpace)\n\t{\n\t\tsize_t additionalBytes = numBytes - availableSpace;\n\t\t\n\t\tsize_t newPreBufferSize = preBufferSize + additionalBytes;\n\t\tuint8_t *newPreBuffer = realloc(preBuffer, newPreBufferSize);\n\t\t\n\t\tsize_t readPointerOffset = readPointer - preBuffer;\n\t\tsize_t writePointerOffset = writePointer - preBuffer;\n\t\t\n\t\tpreBuffer = newPreBuffer;\n\t\tpreBufferSize = newPreBufferSize;\n\t\t\n\t\treadPointer = preBuffer + readPointerOffset;\n\t\twritePointer = preBuffer + writePointerOffset;\n\t}\n}\n\n- (size_t)availableBytes\n{\n\treturn writePointer - readPointer;\n}\n\n- (uint8_t *)readBuffer\n{\n\treturn readPointer;\n}\n\n- (void)getReadBuffer:(uint8_t **)bufferPtr availableBytes:(size_t *)availableBytesPtr\n{\n\tif (bufferPtr) *bufferPtr = readPointer;\n\tif (availableBytesPtr) *availableBytesPtr = [self availableBytes];\n}\n\n- (void)didRead:(size_t)bytesRead\n{\n\treadPointer += bytesRead;\n\t\n\tif (readPointer == writePointer)\n\t{\n\t\t// The prebuffer has been drained. Reset pointers.\n\t\treadPointer  = preBuffer;\n\t\twritePointer = preBuffer;\n\t}\n}\n\n- (size_t)availableSpace\n{\n\treturn preBufferSize - (writePointer - preBuffer);\n}\n\n- (uint8_t *)writeBuffer\n{\n\treturn writePointer;\n}\n\n- (void)getWriteBuffer:(uint8_t **)bufferPtr availableSpace:(size_t *)availableSpacePtr\n{\n\tif (bufferPtr) *bufferPtr = writePointer;\n\tif (availableSpacePtr) *availableSpacePtr = [self availableSpace];\n}\n\n- (void)didWrite:(size_t)bytesWritten\n{\n\twritePointer += bytesWritten;\n}\n\n- (void)reset\n{\n\treadPointer  = preBuffer;\n\twritePointer = preBuffer;\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The GCDAsyncReadPacket encompasses the instructions for any given read.\n * The content of a read packet allows the code to determine if we're:\n *  - reading to a certain length\n *  - reading to a certain separator\n *  - or simply reading the first chunk of available data\n**/\n@interface GCDAsyncReadPacket : NSObject\n{\n  @public\n\tNSMutableData *buffer;\n\tNSUInteger startOffset;\n\tNSUInteger bytesDone;\n\tNSUInteger maxLength;\n\tNSTimeInterval timeout;\n\tNSUInteger readLength;\n\tNSData *term;\n\tBOOL bufferOwner;\n\tNSUInteger originalBufferLength;\n\tlong tag;\n}\n- (id)initWithData:(NSMutableData *)d\n       startOffset:(NSUInteger)s\n         maxLength:(NSUInteger)m\n           timeout:(NSTimeInterval)t\n        readLength:(NSUInteger)l\n        terminator:(NSData *)e\n               tag:(long)i;\n\n- (void)ensureCapacityForAdditionalDataOfLength:(NSUInteger)bytesToRead;\n\n- (NSUInteger)optimalReadLengthWithDefault:(NSUInteger)defaultValue shouldPreBuffer:(BOOL *)shouldPreBufferPtr;\n\n- (NSUInteger)readLengthForNonTermWithHint:(NSUInteger)bytesAvailable;\n- (NSUInteger)readLengthForTermWithHint:(NSUInteger)bytesAvailable shouldPreBuffer:(BOOL *)shouldPreBufferPtr;\n- (NSUInteger)readLengthForTermWithPreBuffer:(GCDAsyncSocketPreBuffer *)preBuffer found:(BOOL *)foundPtr;\n\n- (NSInteger)searchForTermAfterPreBuffering:(ssize_t)numBytes;\n\n@end\n\n@implementation GCDAsyncReadPacket\n\n- (id)initWithData:(NSMutableData *)d\n       startOffset:(NSUInteger)s\n         maxLength:(NSUInteger)m\n           timeout:(NSTimeInterval)t\n        readLength:(NSUInteger)l\n        terminator:(NSData *)e\n               tag:(long)i\n{\n\tif((self = [super init]))\n\t{\n\t\tbytesDone = 0;\n\t\tmaxLength = m;\n\t\ttimeout = t;\n\t\treadLength = l;\n\t\tterm = [e copy];\n\t\ttag = i;\n\t\t\n\t\tif (d)\n\t\t{\n\t\t\tbuffer = d;\n\t\t\tstartOffset = s;\n\t\t\tbufferOwner = NO;\n\t\t\toriginalBufferLength = [d length];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (readLength > 0)\n\t\t\t\tbuffer = [[NSMutableData alloc] initWithLength:readLength];\n\t\t\telse\n\t\t\t\tbuffer = [[NSMutableData alloc] initWithLength:0];\n\t\t\t\n\t\t\tstartOffset = 0;\n\t\t\tbufferOwner = YES;\n\t\t\toriginalBufferLength = 0;\n\t\t}\n\t}\n\treturn self;\n}\n\n/**\n * Increases the length of the buffer (if needed) to ensure a read of the given size will fit.\n**/\n- (void)ensureCapacityForAdditionalDataOfLength:(NSUInteger)bytesToRead\n{\n\tNSUInteger buffSize = [buffer length];\n\tNSUInteger buffUsed = startOffset + bytesDone;\n\t\n\tNSUInteger buffSpace = buffSize - buffUsed;\n\t\n\tif (bytesToRead > buffSpace)\n\t{\n\t\tNSUInteger buffInc = bytesToRead - buffSpace;\n\t\t\n\t\t[buffer increaseLengthBy:buffInc];\n\t}\n}\n\n/**\n * This method is used when we do NOT know how much data is available to be read from the socket.\n * This method returns the default value unless it exceeds the specified readLength or maxLength.\n * \n * Furthermore, the shouldPreBuffer decision is based upon the packet type,\n * and whether the returned value would fit in the current buffer without requiring a resize of the buffer.\n**/\n- (NSUInteger)optimalReadLengthWithDefault:(NSUInteger)defaultValue shouldPreBuffer:(BOOL *)shouldPreBufferPtr\n{\n\tNSUInteger result;\n\t\n\tif (readLength > 0)\n\t{\n\t\t// Read a specific length of data\n\t\tresult = readLength - bytesDone;\n\t\t\n\t\t// There is no need to prebuffer since we know exactly how much data we need to read.\n\t\t// Even if the buffer isn't currently big enough to fit this amount of data,\n\t\t// it would have to be resized eventually anyway.\n\t\t\n\t\tif (shouldPreBufferPtr)\n\t\t\t*shouldPreBufferPtr = NO;\n\t}\n\telse\n\t{\n\t\t// Either reading until we find a specified terminator,\n\t\t// or we're simply reading all available data.\n\t\t// \n\t\t// In other words, one of:\n\t\t// \n\t\t// - readDataToData packet\n\t\t// - readDataWithTimeout packet\n\t\t\n\t\tif (maxLength > 0)\n\t\t\tresult =  MIN(defaultValue, (maxLength - bytesDone));\n\t\telse\n\t\t\tresult = defaultValue;\n\t\t\n\t\t// Since we don't know the size of the read in advance,\n\t\t// the shouldPreBuffer decision is based upon whether the returned value would fit\n\t\t// in the current buffer without requiring a resize of the buffer.\n\t\t// \n\t\t// This is because, in all likelyhood, the amount read from the socket will be less than the default value.\n\t\t// Thus we should avoid over-allocating the read buffer when we can simply use the pre-buffer instead.\n\t\t\n\t\tif (shouldPreBufferPtr)\n\t\t{\n\t\t\tNSUInteger buffSize = [buffer length];\n\t\t\tNSUInteger buffUsed = startOffset + bytesDone;\n\t\t\t\n\t\t\tNSUInteger buffSpace = buffSize - buffUsed;\n\t\t\t\n\t\t\tif (buffSpace >= result)\n\t\t\t\t*shouldPreBufferPtr = NO;\n\t\t\telse\n\t\t\t\t*shouldPreBufferPtr = YES;\n\t\t}\n\t}\n\t\n\treturn result;\n}\n\n/**\n * For read packets without a set terminator, returns the amount of data\n * that can be read without exceeding the readLength or maxLength.\n * \n * The given parameter indicates the number of bytes estimated to be available on the socket,\n * which is taken into consideration during the calculation.\n * \n * The given hint MUST be greater than zero.\n**/\n- (NSUInteger)readLengthForNonTermWithHint:(NSUInteger)bytesAvailable\n{\n\tNSAssert(term == nil, @\"This method does not apply to term reads\");\n\tNSAssert(bytesAvailable > 0, @\"Invalid parameter: bytesAvailable\");\n\t\n\tif (readLength > 0)\n\t{\n\t\t// Read a specific length of data\n\t\t\n\t\treturn MIN(bytesAvailable, (readLength - bytesDone));\n\t\t\n\t\t// No need to avoid resizing the buffer.\n\t\t// If the user provided their own buffer,\n\t\t// and told us to read a certain length of data that exceeds the size of the buffer,\n\t\t// then it is clear that our code will resize the buffer during the read operation.\n\t\t// \n\t\t// This method does not actually do any resizing.\n\t\t// The resizing will happen elsewhere if needed.\n\t}\n\telse\n\t{\n\t\t// Read all available data\n\t\t\n\t\tNSUInteger result = bytesAvailable;\n\t\t\n\t\tif (maxLength > 0)\n\t\t{\n\t\t\tresult = MIN(result, (maxLength - bytesDone));\n\t\t}\n\t\t\n\t\t// No need to avoid resizing the buffer.\n\t\t// If the user provided their own buffer,\n\t\t// and told us to read all available data without giving us a maxLength,\n\t\t// then it is clear that our code might resize the buffer during the read operation.\n\t\t// \n\t\t// This method does not actually do any resizing.\n\t\t// The resizing will happen elsewhere if needed.\n\t\t\n\t\treturn result;\n\t}\n}\n\n/**\n * For read packets with a set terminator, returns the amount of data\n * that can be read without exceeding the maxLength.\n * \n * The given parameter indicates the number of bytes estimated to be available on the socket,\n * which is taken into consideration during the calculation.\n * \n * To optimize memory allocations, mem copies, and mem moves\n * the shouldPreBuffer boolean value will indicate if the data should be read into a prebuffer first,\n * or if the data can be read directly into the read packet's buffer.\n**/\n- (NSUInteger)readLengthForTermWithHint:(NSUInteger)bytesAvailable shouldPreBuffer:(BOOL *)shouldPreBufferPtr\n{\n\tNSAssert(term != nil, @\"This method does not apply to non-term reads\");\n\tNSAssert(bytesAvailable > 0, @\"Invalid parameter: bytesAvailable\");\n\t\n\t\n\tNSUInteger result = bytesAvailable;\n\t\n\tif (maxLength > 0)\n\t{\n\t\tresult = MIN(result, (maxLength - bytesDone));\n\t}\n\t\n\t// Should the data be read into the read packet's buffer, or into a pre-buffer first?\n\t// \n\t// One would imagine the preferred option is the faster one.\n\t// So which one is faster?\n\t// \n\t// Reading directly into the packet's buffer requires:\n\t// 1. Possibly resizing packet buffer (malloc/realloc)\n\t// 2. Filling buffer (read)\n\t// 3. Searching for term (memcmp)\n\t// 4. Possibly copying overflow into prebuffer (malloc/realloc, memcpy)\n\t// \n\t// Reading into prebuffer first:\n\t// 1. Possibly resizing prebuffer (malloc/realloc)\n\t// 2. Filling buffer (read)\n\t// 3. Searching for term (memcmp)\n\t// 4. Copying underflow into packet buffer (malloc/realloc, memcpy)\n\t// 5. Removing underflow from prebuffer (memmove)\n\t// \n\t// Comparing the performance of the two we can see that reading\n\t// data into the prebuffer first is slower due to the extra memove.\n\t// \n\t// However:\n\t// The implementation of NSMutableData is open source via core foundation's CFMutableData.\n\t// Decreasing the length of a mutable data object doesn't cause a realloc.\n\t// In other words, the capacity of a mutable data object can grow, but doesn't shrink.\n\t// \n\t// This means the prebuffer will rarely need a realloc.\n\t// The packet buffer, on the other hand, may often need a realloc.\n\t// This is especially true if we are the buffer owner.\n\t// Furthermore, if we are constantly realloc'ing the packet buffer,\n\t// and then moving the overflow into the prebuffer,\n\t// then we're consistently over-allocating memory for each term read.\n\t// And now we get into a bit of a tradeoff between speed and memory utilization.\n\t// \n\t// The end result is that the two perform very similarly.\n\t// And we can answer the original question very simply by another means.\n\t// \n\t// If we can read all the data directly into the packet's buffer without resizing it first,\n\t// then we do so. Otherwise we use the prebuffer.\n\t\n\tif (shouldPreBufferPtr)\n\t{\n\t\tNSUInteger buffSize = [buffer length];\n\t\tNSUInteger buffUsed = startOffset + bytesDone;\n\t\t\n\t\tif ((buffSize - buffUsed) >= result)\n\t\t\t*shouldPreBufferPtr = NO;\n\t\telse\n\t\t\t*shouldPreBufferPtr = YES;\n\t}\n\t\n\treturn result;\n}\n\n/**\n * For read packets with a set terminator,\n * returns the amount of data that can be read from the given preBuffer,\n * without going over a terminator or the maxLength.\n * \n * It is assumed the terminator has not already been read.\n**/\n- (NSUInteger)readLengthForTermWithPreBuffer:(GCDAsyncSocketPreBuffer *)preBuffer found:(BOOL *)foundPtr\n{\n\tNSAssert(term != nil, @\"This method does not apply to non-term reads\");\n\tNSAssert([preBuffer availableBytes] > 0, @\"Invoked with empty pre buffer!\");\n\t\n\t// We know that the terminator, as a whole, doesn't exist in our own buffer.\n\t// But it is possible that a _portion_ of it exists in our buffer.\n\t// So we're going to look for the terminator starting with a portion of our own buffer.\n\t// \n\t// Example:\n\t// \n\t// term length      = 3 bytes\n\t// bytesDone        = 5 bytes\n\t// preBuffer length = 5 bytes\n\t// \n\t// If we append the preBuffer to our buffer,\n\t// it would look like this:\n\t// \n\t// ---------------------\n\t// |B|B|B|B|B|P|P|P|P|P|\n\t// ---------------------\n\t// \n\t// So we start our search here:\n\t// \n\t// ---------------------\n\t// |B|B|B|B|B|P|P|P|P|P|\n\t// -------^-^-^---------\n\t// \n\t// And move forwards...\n\t// \n\t// ---------------------\n\t// |B|B|B|B|B|P|P|P|P|P|\n\t// ---------^-^-^-------\n\t// \n\t// Until we find the terminator or reach the end.\n\t// \n\t// ---------------------\n\t// |B|B|B|B|B|P|P|P|P|P|\n\t// ---------------^-^-^-\n\t\n\tBOOL found = NO;\n\t\n\tNSUInteger termLength = [term length];\n\tNSUInteger preBufferLength = [preBuffer availableBytes];\n\t\n\tif ((bytesDone + preBufferLength) < termLength)\n\t{\n\t\t// Not enough data for a full term sequence yet\n\t\treturn preBufferLength;\n\t}\n\t\n\tNSUInteger maxPreBufferLength;\n\tif (maxLength > 0) {\n\t\tmaxPreBufferLength = MIN(preBufferLength, (maxLength - bytesDone));\n\t\t\n\t\t// Note: maxLength >= termLength\n\t}\n\telse {\n\t\tmaxPreBufferLength = preBufferLength;\n\t}\n\t\n\tuint8_t seq[termLength];\n\tconst void *termBuf = [term bytes];\n\t\n\tNSUInteger bufLen = MIN(bytesDone, (termLength - 1));\n\tuint8_t *buf = (uint8_t *)[buffer mutableBytes] + startOffset + bytesDone - bufLen;\n\t\n\tNSUInteger preLen = termLength - bufLen;\n\tconst uint8_t *pre = [preBuffer readBuffer];\n\t\n\tNSUInteger loopCount = bufLen + maxPreBufferLength - termLength + 1; // Plus one. See example above.\n\t\n\tNSUInteger result = maxPreBufferLength;\n\t\n\tNSUInteger i;\n\tfor (i = 0; i < loopCount; i++)\n\t{\n\t\tif (bufLen > 0)\n\t\t{\n\t\t\t// Combining bytes from buffer and preBuffer\n\t\t\t\n\t\t\tmemcpy(seq, buf, bufLen);\n\t\t\tmemcpy(seq + bufLen, pre, preLen);\n\t\t\t\n\t\t\tif (memcmp(seq, termBuf, termLength) == 0)\n\t\t\t{\n\t\t\t\tresult = preLen;\n\t\t\t\tfound = YES;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tbuf++;\n\t\t\tbufLen--;\n\t\t\tpreLen++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Comparing directly from preBuffer\n\t\t\t\n\t\t\tif (memcmp(pre, termBuf, termLength) == 0)\n\t\t\t{\n\t\t\t\tNSUInteger preOffset = pre - [preBuffer readBuffer]; // pointer arithmetic\n\t\t\t\t\n\t\t\t\tresult = preOffset + termLength;\n\t\t\t\tfound = YES;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tpre++;\n\t\t}\n\t}\n\t\n\t// There is no need to avoid resizing the buffer in this particular situation.\n\t\n\tif (foundPtr) *foundPtr = found;\n\treturn result;\n}\n\n/**\n * For read packets with a set terminator, scans the packet buffer for the term.\n * It is assumed the terminator had not been fully read prior to the new bytes.\n * \n * If the term is found, the number of excess bytes after the term are returned.\n * If the term is not found, this method will return -1.\n * \n * Note: A return value of zero means the term was found at the very end.\n * \n * Prerequisites:\n * The given number of bytes have been added to the end of our buffer.\n * Our bytesDone variable has NOT been changed due to the prebuffered bytes.\n**/\n- (NSInteger)searchForTermAfterPreBuffering:(ssize_t)numBytes\n{\n\tNSAssert(term != nil, @\"This method does not apply to non-term reads\");\n\t\n\t// The implementation of this method is very similar to the above method.\n\t// See the above method for a discussion of the algorithm used here.\n\t\n\tuint8_t *buff = [buffer mutableBytes];\n\tNSUInteger buffLength = bytesDone + numBytes;\n\t\n\tconst void *termBuff = [term bytes];\n\tNSUInteger termLength = [term length];\n\t\n\t// Note: We are dealing with unsigned integers,\n\t// so make sure the math doesn't go below zero.\n\t\n\tNSUInteger i = ((buffLength - numBytes) >= termLength) ? (buffLength - numBytes - termLength + 1) : 0;\n\t\n\twhile (i + termLength <= buffLength)\n\t{\n\t\tuint8_t *subBuffer = buff + startOffset + i;\n\t\t\n\t\tif (memcmp(subBuffer, termBuff, termLength) == 0)\n\t\t{\n\t\t\treturn buffLength - (i + termLength);\n\t\t}\n\t\t\n\t\ti++;\n\t}\n\t\n\treturn -1;\n}\n\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The GCDAsyncWritePacket encompasses the instructions for any given write.\n**/\n@interface GCDAsyncWritePacket : NSObject\n{\n  @public\n\tNSData *buffer;\n\tNSUInteger bytesDone;\n\tlong tag;\n\tNSTimeInterval timeout;\n}\n- (id)initWithData:(NSData *)d timeout:(NSTimeInterval)t tag:(long)i;\n@end\n\n@implementation GCDAsyncWritePacket\n\n- (id)initWithData:(NSData *)d timeout:(NSTimeInterval)t tag:(long)i\n{\n\tif((self = [super init]))\n\t{\n\t\tbuffer = d; // Retain not copy. For performance as documented in header file.\n\t\tbytesDone = 0;\n\t\ttimeout = t;\n\t\ttag = i;\n\t}\n\treturn self;\n}\n\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The GCDAsyncSpecialPacket encompasses special instructions for interruptions in the read/write queues.\n * This class my be altered to support more than just TLS in the future.\n**/\n@interface GCDAsyncSpecialPacket : NSObject\n{\n  @public\n\tNSDictionary *tlsSettings;\n}\n- (id)initWithTLSSettings:(NSDictionary *)settings;\n@end\n\n@implementation GCDAsyncSpecialPacket\n\n- (id)initWithTLSSettings:(NSDictionary *)settings\n{\n\tif((self = [super init]))\n\t{\n\t\ttlsSettings = [settings copy];\n\t}\n\treturn self;\n}\n\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation GCDAsyncSocket\n{\n\tuint32_t flags;\n\tuint16_t config;\n\t\n\t__weak id<GCDAsyncSocketDelegate> delegate;\n\tdispatch_queue_t delegateQueue;\n\t\n\tint socket4FD;\n\tint socket6FD;\n\tint socketUN;\n\tNSURL *socketUrl;\n\tint stateIndex;\n\tNSData * connectInterface4;\n\tNSData * connectInterface6;\n\tNSData * connectInterfaceUN;\n\t\n\tdispatch_queue_t socketQueue;\n\t\n\tdispatch_source_t accept4Source;\n\tdispatch_source_t accept6Source;\n\tdispatch_source_t acceptUNSource;\n\tdispatch_source_t connectTimer;\n\tdispatch_source_t readSource;\n\tdispatch_source_t writeSource;\n\tdispatch_source_t readTimer;\n\tdispatch_source_t writeTimer;\n\t\n\tNSMutableArray *readQueue;\n\tNSMutableArray *writeQueue;\n\t\n\tGCDAsyncReadPacket *currentRead;\n\tGCDAsyncWritePacket *currentWrite;\n\t\n\tunsigned long socketFDBytesAvailable;\n\t\n\tGCDAsyncSocketPreBuffer *preBuffer;\n\t\t\n#if TARGET_OS_IPHONE\n\tCFStreamClientContext streamContext;\n\tCFReadStreamRef readStream;\n\tCFWriteStreamRef writeStream;\n#endif\n\tSSLContextRef sslContext;\n\tGCDAsyncSocketPreBuffer *sslPreBuffer;\n\tsize_t sslWriteCachedLength;\n\tOSStatus sslErrCode;\n    OSStatus lastSSLHandshakeError;\n\t\n\tvoid *IsOnSocketQueueOrTargetQueueKey;\n\t\n\tid userData;\n    NSTimeInterval alternateAddressDelay;\n}\n\n- (id)init\n{\n\treturn [self initWithDelegate:nil delegateQueue:NULL socketQueue:NULL];\n}\n\n- (id)initWithSocketQueue:(dispatch_queue_t)sq\n{\n\treturn [self initWithDelegate:nil delegateQueue:NULL socketQueue:sq];\n}\n\n- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq\n{\n\treturn [self initWithDelegate:aDelegate delegateQueue:dq socketQueue:NULL];\n}\n\n- (id)initWithDelegate:(id<GCDAsyncSocketDelegate>)aDelegate delegateQueue:(dispatch_queue_t)dq socketQueue:(dispatch_queue_t)sq\n{\n\tif((self = [super init]))\n\t{\n\t\tdelegate = aDelegate;\n\t\tdelegateQueue = dq;\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tif (dq) dispatch_retain(dq);\n\t\t#endif\n\t\t\n\t\tsocket4FD = SOCKET_NULL;\n\t\tsocket6FD = SOCKET_NULL;\n\t\tsocketUN = SOCKET_NULL;\n\t\tsocketUrl = nil;\n\t\tstateIndex = 0;\n\t\t\n\t\tif (sq)\n\t\t{\n\t\t\tNSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0),\n\t\t\t         @\"The given socketQueue parameter must not be a concurrent queue.\");\n\t\t\tNSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0),\n\t\t\t         @\"The given socketQueue parameter must not be a concurrent queue.\");\n\t\t\tNSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),\n\t\t\t         @\"The given socketQueue parameter must not be a concurrent queue.\");\n\t\t\t\n\t\t\tsocketQueue = sq;\n\t\t\t#if !OS_OBJECT_USE_OBJC\n\t\t\tdispatch_retain(sq);\n\t\t\t#endif\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsocketQueue = dispatch_queue_create([GCDAsyncSocketQueueName UTF8String], NULL);\n\t\t}\n\t\t\n\t\t// The dispatch_queue_set_specific() and dispatch_get_specific() functions take a \"void *key\" parameter.\n\t\t// From the documentation:\n\t\t//\n\t\t// > Keys are only compared as pointers and are never dereferenced.\n\t\t// > Thus, you can use a pointer to a static variable for a specific subsystem or\n\t\t// > any other value that allows you to identify the value uniquely.\n\t\t//\n\t\t// We're just going to use the memory address of an ivar.\n\t\t// Specifically an ivar that is explicitly named for our purpose to make the code more readable.\n\t\t//\n\t\t// However, it feels tedious (and less readable) to include the \"&\" all the time:\n\t\t// dispatch_get_specific(&IsOnSocketQueueOrTargetQueueKey)\n\t\t//\n\t\t// So we're going to make it so it doesn't matter if we use the '&' or not,\n\t\t// by assigning the value of the ivar to the address of the ivar.\n\t\t// Thus: IsOnSocketQueueOrTargetQueueKey == &IsOnSocketQueueOrTargetQueueKey;\n\t\t\n\t\tIsOnSocketQueueOrTargetQueueKey = &IsOnSocketQueueOrTargetQueueKey;\n\t\t\n\t\tvoid *nonNullUnusedPointer = (__bridge void *)self;\n\t\tdispatch_queue_set_specific(socketQueue, IsOnSocketQueueOrTargetQueueKey, nonNullUnusedPointer, NULL);\n\t\t\n\t\treadQueue = [[NSMutableArray alloc] initWithCapacity:5];\n\t\tcurrentRead = nil;\n\t\t\n\t\twriteQueue = [[NSMutableArray alloc] initWithCapacity:5];\n\t\tcurrentWrite = nil;\n\t\t\n\t\tpreBuffer = [[GCDAsyncSocketPreBuffer alloc] initWithCapacity:(1024 * 4)];\n        alternateAddressDelay = 0.3;\n\t}\n\treturn self;\n}\n\n- (void)dealloc\n{\n\tLogInfo(@\"%@ - %@ (start)\", THIS_METHOD, self);\n\t\n\t// Set dealloc flag.\n\t// This is used by closeWithError to ensure we don't accidentally retain ourself.\n\tflags |= kDealloc;\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\t[self closeWithError:nil];\n\t}\n\telse\n\t{\n\t\tdispatch_sync(socketQueue, ^{\n\t\t\t[self closeWithError:nil];\n\t\t});\n\t}\n\t\n\tdelegate = nil;\n\t\n\t#if !OS_OBJECT_USE_OBJC\n\tif (delegateQueue) dispatch_release(delegateQueue);\n\t#endif\n\tdelegateQueue = NULL;\n\t\n\t#if !OS_OBJECT_USE_OBJC\n\tif (socketQueue) dispatch_release(socketQueue);\n\t#endif\n\tsocketQueue = NULL;\n\t\n\tLogInfo(@\"%@ - %@ (finish)\", THIS_METHOD, self);\n}\n\n#pragma mark -\n\n+ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD socketQueue:(nullable dispatch_queue_t)sq error:(NSError**)error {\n  return [self socketFromConnectedSocketFD:socketFD delegate:nil delegateQueue:NULL socketQueue:sq error:error];\n}\n\n+ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD delegate:(nullable id<GCDAsyncSocketDelegate>)aDelegate delegateQueue:(nullable dispatch_queue_t)dq error:(NSError**)error {\n  return [self socketFromConnectedSocketFD:socketFD delegate:aDelegate delegateQueue:dq socketQueue:NULL error:error];\n}\n\n+ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD delegate:(nullable id<GCDAsyncSocketDelegate>)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq error:(NSError* __autoreleasing *)error\n{\n  __block BOOL errorOccured = NO;\n  \n  GCDAsyncSocket *socket = [[[self class] alloc] initWithDelegate:aDelegate delegateQueue:dq socketQueue:sq];\n  \n  dispatch_sync(socket->socketQueue, ^{ @autoreleasepool {\n    struct sockaddr addr;\n    socklen_t addr_size = sizeof(struct sockaddr);\n    int retVal = getpeername(socketFD, (struct sockaddr *)&addr, &addr_size);\n    if (retVal)\n    {\n      NSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketOtherError\",\n                                                           @\"GCDAsyncSocket\", [NSBundle mainBundle],\n                                                           @\"Attempt to create socket from socket FD failed. getpeername() failed\", nil);\n      \n      NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\n      errorOccured = YES;\n      if (error)\n        *error = [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketOtherError userInfo:userInfo];\n      return;\n    }\n    \n    if (addr.sa_family == AF_INET)\n    {\n      socket->socket4FD = socketFD;\n    }\n    else if (addr.sa_family == AF_INET6)\n    {\n      socket->socket6FD = socketFD;\n    }\n    else\n    {\n      NSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketOtherError\",\n                                                           @\"GCDAsyncSocket\", [NSBundle mainBundle],\n                                                           @\"Attempt to create socket from socket FD failed. socket FD is neither IPv4 nor IPv6\", nil);\n      \n      NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n      \n      errorOccured = YES;\n      if (error)\n        *error = [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketOtherError userInfo:userInfo];\n      return;\n    }\n    \n    socket->flags = kSocketStarted;\n    [socket didConnect:socket->stateIndex];\n  }});\n  \n  return errorOccured? nil: socket;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (id)delegate\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn delegate;\n\t}\n\telse\n\t{\n\t\t__block id result;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = self->delegate;\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (void)setDelegate:(id)newDelegate synchronously:(BOOL)synchronously\n{\n\tdispatch_block_t block = ^{\n        self->delegate = newDelegate;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) {\n\t\tblock();\n\t}\n\telse {\n\t\tif (synchronously)\n\t\t\tdispatch_sync(socketQueue, block);\n\t\telse\n\t\t\tdispatch_async(socketQueue, block);\n\t}\n}\n\n- (void)setDelegate:(id)newDelegate\n{\n\t[self setDelegate:newDelegate synchronously:NO];\n}\n\n- (void)synchronouslySetDelegate:(id)newDelegate\n{\n\t[self setDelegate:newDelegate synchronously:YES];\n}\n\n- (dispatch_queue_t)delegateQueue\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn delegateQueue;\n\t}\n\telse\n\t{\n\t\t__block dispatch_queue_t result;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = self->delegateQueue;\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (void)setDelegateQueue:(dispatch_queue_t)newDelegateQueue synchronously:(BOOL)synchronously\n{\n\tdispatch_block_t block = ^{\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n        if (self->delegateQueue) dispatch_release(self->delegateQueue);\n\t\tif (newDelegateQueue) dispatch_retain(newDelegateQueue);\n\t\t#endif\n\t\t\n        self->delegateQueue = newDelegateQueue;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) {\n\t\tblock();\n\t}\n\telse {\n\t\tif (synchronously)\n\t\t\tdispatch_sync(socketQueue, block);\n\t\telse\n\t\t\tdispatch_async(socketQueue, block);\n\t}\n}\n\n- (void)setDelegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n\t[self setDelegateQueue:newDelegateQueue synchronously:NO];\n}\n\n- (void)synchronouslySetDelegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n\t[self setDelegateQueue:newDelegateQueue synchronously:YES];\n}\n\n- (void)getDelegate:(id<GCDAsyncSocketDelegate> *)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tif (delegatePtr) *delegatePtr = delegate;\n\t\tif (delegateQueuePtr) *delegateQueuePtr = delegateQueue;\n\t}\n\telse\n\t{\n\t\t__block id dPtr = NULL;\n\t\t__block dispatch_queue_t dqPtr = NULL;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            dPtr = self->delegate;\n            dqPtr = self->delegateQueue;\n\t\t});\n\t\t\n\t\tif (delegatePtr) *delegatePtr = dPtr;\n\t\tif (delegateQueuePtr) *delegateQueuePtr = dqPtr;\n\t}\n}\n\n- (void)setDelegate:(id)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue synchronously:(BOOL)synchronously\n{\n\tdispatch_block_t block = ^{\n\t\t\n        self->delegate = newDelegate;\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n        if (self->delegateQueue) dispatch_release(self->delegateQueue);\n\t\tif (newDelegateQueue) dispatch_retain(newDelegateQueue);\n\t\t#endif\n\t\t\n        self->delegateQueue = newDelegateQueue;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) {\n\t\tblock();\n\t}\n\telse {\n\t\tif (synchronously)\n\t\t\tdispatch_sync(socketQueue, block);\n\t\telse\n\t\t\tdispatch_async(socketQueue, block);\n\t}\n}\n\n- (void)setDelegate:(id)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n\t[self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:NO];\n}\n\n- (void)synchronouslySetDelegate:(id)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n\t[self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:YES];\n}\n\n- (BOOL)isIPv4Enabled\n{\n\t// Note: YES means kIPv4Disabled is OFF\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn ((config & kIPv4Disabled) == 0);\n\t}\n\telse\n\t{\n\t\t__block BOOL result;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = ((self->config & kIPv4Disabled) == 0);\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (void)setIPv4Enabled:(BOOL)flag\n{\n\t// Note: YES means kIPv4Disabled is OFF\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\tif (flag)\n            self->config &= ~kIPv4Disabled;\n\t\telse\n            self->config |= kIPv4Disabled;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (BOOL)isIPv6Enabled\n{\n\t// Note: YES means kIPv6Disabled is OFF\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn ((config & kIPv6Disabled) == 0);\n\t}\n\telse\n\t{\n\t\t__block BOOL result;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = ((self->config & kIPv6Disabled) == 0);\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (void)setIPv6Enabled:(BOOL)flag\n{\n\t// Note: YES means kIPv6Disabled is OFF\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\tif (flag)\n            self->config &= ~kIPv6Disabled;\n\t\telse\n            self->config |= kIPv6Disabled;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (BOOL)isIPv4PreferredOverIPv6\n{\n\t// Note: YES means kPreferIPv6 is OFF\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn ((config & kPreferIPv6) == 0);\n\t}\n\telse\n\t{\n\t\t__block BOOL result;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = ((self->config & kPreferIPv6) == 0);\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (void)setIPv4PreferredOverIPv6:(BOOL)flag\n{\n\t// Note: YES means kPreferIPv6 is OFF\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\tif (flag)\n            self->config &= ~kPreferIPv6;\n\t\telse\n            self->config |= kPreferIPv6;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (NSTimeInterval) alternateAddressDelay {\n    __block NSTimeInterval delay;\n    dispatch_block_t block = ^{\n        delay = self->alternateAddressDelay;\n    };\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    return delay;\n}\n\n- (void) setAlternateAddressDelay:(NSTimeInterval)delay {\n    dispatch_block_t block = ^{\n        self->alternateAddressDelay = delay;\n    };\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_async(socketQueue, block);\n}\n\n- (id)userData\n{\n\t__block id result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        result = self->userData;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (void)setUserData:(id)arbitraryUserData\n{\n\tdispatch_block_t block = ^{\n\t\t\n        if (self->userData != arbitraryUserData)\n\t\t{\n            self->userData = arbitraryUserData;\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Accepting\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)acceptOnPort:(uint16_t)port error:(NSError **)errPtr\n{\n\treturn [self acceptOnInterface:nil port:port error:errPtr];\n}\n\n- (BOOL)acceptOnInterface:(NSString *)inInterface port:(uint16_t)port error:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\t// Just in-case interface parameter is immutable.\n\tNSString *interface = [inInterface copy];\n\t\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\t// CreateSocket Block\n\t// This block will be invoked within the dispatch block below.\n\t\n\tint(^createSocket)(int, NSData*) = ^int (int domain, NSData *interfaceAddr) {\n\t\t\n\t\tint socketFD = socket(domain, SOCK_STREAM, 0);\n\t\t\n\t\tif (socketFD == SOCKET_NULL)\n\t\t{\n\t\t\tNSString *reason = @\"Error in socket() function\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\tint status;\n\t\t\n\t\t// Set socket options\n\t\t\n\t\tstatus = fcntl(socketFD, F_SETFL, O_NONBLOCK);\n\t\tif (status == -1)\n\t\t{\n\t\t\tNSString *reason = @\"Error enabling non-blocking IO on socket (fcntl)\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\tint reuseOn = 1;\n\t\tstatus = setsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, &reuseOn, sizeof(reuseOn));\n\t\tif (status == -1)\n\t\t{\n\t\t\tNSString *reason = @\"Error enabling address reuse (setsockopt)\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\t// Bind socket\n\t\t\n\t\tstatus = bind(socketFD, (const struct sockaddr *)[interfaceAddr bytes], (socklen_t)[interfaceAddr length]);\n\t\tif (status == -1)\n\t\t{\n\t\t\tNSString *reason = @\"Error in bind() function\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\t// Listen\n\t\t\n\t\tstatus = listen(socketFD, 1024);\n\t\tif (status == -1)\n\t\t{\n\t\t\tNSString *reason = @\"Error in listen() function\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\treturn socketFD;\n\t};\n\t\n\t// Create dispatch block and run on socketQueue\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n        if (self->delegate == nil) // Must have delegate set\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to accept without a delegate. Set a delegate first.\";\n\t\t\terr = [self badConfigError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n        if (self->delegateQueue == NULL) // Must have delegate queue set\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to accept without a delegate queue. Set a delegate queue first.\";\n\t\t\terr = [self badConfigError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n        BOOL isIPv4Disabled = (self->config & kIPv4Disabled) ? YES : NO;\n        BOOL isIPv6Disabled = (self->config & kIPv6Disabled) ? YES : NO;\n\t\t\n\t\tif (isIPv4Disabled && isIPv6Disabled) // Must have IPv4 or IPv6 enabled\n\t\t{\n\t\t\tNSString *msg = @\"Both IPv4 and IPv6 have been disabled. Must enable at least one protocol first.\";\n\t\t\terr = [self badConfigError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tif (![self isDisconnected]) // Must be disconnected\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to accept while connected or accepting connections. Disconnect first.\";\n\t\t\terr = [self badConfigError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Clear queues (spurious read/write requests post disconnect)\n        [self->readQueue removeAllObjects];\n        [self->writeQueue removeAllObjects];\n\t\t\n\t\t// Resolve interface from description\n\t\t\n\t\tNSMutableData *interface4 = nil;\n\t\tNSMutableData *interface6 = nil;\n\t\t\n\t\t[self getInterfaceAddress4:&interface4 address6:&interface6 fromDescription:interface port:port];\n\t\t\n\t\tif ((interface4 == nil) && (interface6 == nil))\n\t\t{\n\t\t\tNSString *msg = @\"Unknown interface. Specify valid interface by name (e.g. \\\"en1\\\") or IP address.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tif (isIPv4Disabled && (interface6 == nil))\n\t\t{\n\t\t\tNSString *msg = @\"IPv4 has been disabled and specified interface doesn't support IPv6.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tif (isIPv6Disabled && (interface4 == nil))\n\t\t{\n\t\t\tNSString *msg = @\"IPv6 has been disabled and specified interface doesn't support IPv4.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tBOOL enableIPv4 = !isIPv4Disabled && (interface4 != nil);\n\t\tBOOL enableIPv6 = !isIPv6Disabled && (interface6 != nil);\n\t\t\n\t\t// Create sockets, configure, bind, and listen\n\t\t\n\t\tif (enableIPv4)\n\t\t{\n\t\t\tLogVerbose(@\"Creating IPv4 socket\");\n            self->socket4FD = createSocket(AF_INET, interface4);\n\t\t\t\n            if (self->socket4FD == SOCKET_NULL)\n\t\t\t{\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (enableIPv6)\n\t\t{\n\t\t\tLogVerbose(@\"Creating IPv6 socket\");\n\t\t\t\n\t\t\tif (enableIPv4 && (port == 0))\n\t\t\t{\n\t\t\t\t// No specific port was specified, so we allowed the OS to pick an available port for us.\n\t\t\t\t// Now we need to make sure the IPv6 socket listens on the same port as the IPv4 socket.\n\t\t\t\t\n\t\t\t\tstruct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)[interface6 mutableBytes];\n\t\t\t\taddr6->sin6_port = htons([self localPort4]);\n\t\t\t}\n\t\t\t\n            self->socket6FD = createSocket(AF_INET6, interface6);\n\t\t\t\n            if (self->socket6FD == SOCKET_NULL)\n\t\t\t{\n                if (self->socket4FD != SOCKET_NULL)\n\t\t\t\t{\n\t\t\t\t\tLogVerbose(@\"close(socket4FD)\");\n                    close(self->socket4FD);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Create accept sources\n\t\t\n\t\tif (enableIPv4)\n\t\t{\n            self->accept4Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, self->socket4FD, 0, self->socketQueue);\n\t\t\t\n            int socketFD = self->socket4FD;\n            dispatch_source_t acceptSource = self->accept4Source;\n\t\t\t\n\t\t\t__weak GCDAsyncSocket *weakSelf = self;\n\t\t\t\n            dispatch_source_set_event_handler(self->accept4Source, ^{ @autoreleasepool {\n\t\t\t#pragma clang diagnostic push\n\t\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\t\n\t\t\t\t__strong GCDAsyncSocket *strongSelf = weakSelf;\n\t\t\t\tif (strongSelf == nil) return_from_block;\n\t\t\t\t\n\t\t\t\tLogVerbose(@\"event4Block\");\n\t\t\t\t\n\t\t\t\tunsigned long i = 0;\n\t\t\t\tunsigned long numPendingConnections = dispatch_source_get_data(acceptSource);\n\t\t\t\t\n\t\t\t\tLogVerbose(@\"numPendingConnections: %lu\", numPendingConnections);\n\t\t\t\t\n\t\t\t\twhile ([strongSelf doAccept:socketFD] && (++i < numPendingConnections));\n\t\t\t\t\n\t\t\t#pragma clang diagnostic pop\n\t\t\t}});\n\t\t\t\n\t\t\t\n            dispatch_source_set_cancel_handler(self->accept4Source, ^{\n\t\t\t#pragma clang diagnostic push\n\t\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\t\n\t\t\t\t#if !OS_OBJECT_USE_OBJC\n\t\t\t\tLogVerbose(@\"dispatch_release(accept4Source)\");\n\t\t\t\tdispatch_release(acceptSource);\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\tLogVerbose(@\"close(socket4FD)\");\n\t\t\t\tclose(socketFD);\n\t\t\t\n\t\t\t#pragma clang diagnostic pop\n\t\t\t});\n\t\t\t\n\t\t\tLogVerbose(@\"dispatch_resume(accept4Source)\");\n            dispatch_resume(self->accept4Source);\n\t\t}\n\t\t\n\t\tif (enableIPv6)\n\t\t{\n            self->accept6Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, self->socket6FD, 0, self->socketQueue);\n\t\t\t\n            int socketFD = self->socket6FD;\n            dispatch_source_t acceptSource = self->accept6Source;\n\t\t\t\n\t\t\t__weak GCDAsyncSocket *weakSelf = self;\n\t\t\t\n            dispatch_source_set_event_handler(self->accept6Source, ^{ @autoreleasepool {\n\t\t\t#pragma clang diagnostic push\n\t\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\t\n\t\t\t\t__strong GCDAsyncSocket *strongSelf = weakSelf;\n\t\t\t\tif (strongSelf == nil) return_from_block;\n\t\t\t\t\n\t\t\t\tLogVerbose(@\"event6Block\");\n\t\t\t\t\n\t\t\t\tunsigned long i = 0;\n\t\t\t\tunsigned long numPendingConnections = dispatch_source_get_data(acceptSource);\n\t\t\t\t\n\t\t\t\tLogVerbose(@\"numPendingConnections: %lu\", numPendingConnections);\n\t\t\t\t\n\t\t\t\twhile ([strongSelf doAccept:socketFD] && (++i < numPendingConnections));\n\t\t\t\t\n\t\t\t#pragma clang diagnostic pop\n\t\t\t}});\n\t\t\t\n            dispatch_source_set_cancel_handler(self->accept6Source, ^{\n\t\t\t#pragma clang diagnostic push\n\t\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\t\n\t\t\t\t#if !OS_OBJECT_USE_OBJC\n\t\t\t\tLogVerbose(@\"dispatch_release(accept6Source)\");\n\t\t\t\tdispatch_release(acceptSource);\n\t\t\t\t#endif\n\t\t\t\t\n\t\t\t\tLogVerbose(@\"close(socket6FD)\");\n\t\t\t\tclose(socketFD);\n\t\t\t\t\n\t\t\t#pragma clang diagnostic pop\n\t\t\t});\n\t\t\t\n\t\t\tLogVerbose(@\"dispatch_resume(accept6Source)\");\n            dispatch_resume(self->accept6Source);\n\t\t}\n\t\t\n        self->flags |= kSocketStarted;\n\t\t\n\t\tresult = YES;\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (result == NO)\n\t{\n\t\tLogInfo(@\"Error in accept: %@\", err);\n\t\t\n\t\tif (errPtr)\n\t\t\t*errPtr = err;\n\t}\n\t\n\treturn result;\n}\n\n- (BOOL)acceptOnUrl:(NSURL *)url error:(NSError **)errPtr;\n{\n\tLogTrace();\n\t\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\t// CreateSocket Block\n\t// This block will be invoked within the dispatch block below.\n\t\n\tint(^createSocket)(int, NSData*) = ^int (int domain, NSData *interfaceAddr) {\n\t\t\n\t\tint socketFD = socket(domain, SOCK_STREAM, 0);\n\t\t\n\t\tif (socketFD == SOCKET_NULL)\n\t\t{\n\t\t\tNSString *reason = @\"Error in socket() function\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\tint status;\n\t\t\n\t\t// Set socket options\n\t\t\n\t\tstatus = fcntl(socketFD, F_SETFL, O_NONBLOCK);\n\t\tif (status == -1)\n\t\t{\n\t\t\tNSString *reason = @\"Error enabling non-blocking IO on socket (fcntl)\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\tint reuseOn = 1;\n\t\tstatus = setsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, &reuseOn, sizeof(reuseOn));\n\t\tif (status == -1)\n\t\t{\n\t\t\tNSString *reason = @\"Error enabling address reuse (setsockopt)\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\t// Bind socket\n\t\t\n\t\tstatus = bind(socketFD, (const struct sockaddr *)[interfaceAddr bytes], (socklen_t)[interfaceAddr length]);\n\t\tif (status == -1)\n\t\t{\n\t\t\tNSString *reason = @\"Error in bind() function\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\t// Listen\n\t\t\n\t\tstatus = listen(socketFD, 1024);\n\t\tif (status == -1)\n\t\t{\n\t\t\tNSString *reason = @\"Error in listen() function\";\n\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\treturn socketFD;\n\t};\n\t\n\t// Create dispatch block and run on socketQueue\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n        if (self->delegate == nil) // Must have delegate set\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to accept without a delegate. Set a delegate first.\";\n\t\t\terr = [self badConfigError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n        if (self->delegateQueue == NULL) // Must have delegate queue set\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to accept without a delegate queue. Set a delegate queue first.\";\n\t\t\terr = [self badConfigError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tif (![self isDisconnected]) // Must be disconnected\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to accept while connected or accepting connections. Disconnect first.\";\n\t\t\terr = [self badConfigError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Clear queues (spurious read/write requests post disconnect)\n        [self->readQueue removeAllObjects];\n        [self->writeQueue removeAllObjects];\n\t\t\n\t\t// Remove a previous socket\n\t\t\n\t\tNSError *error = nil;\n\t\tNSFileManager *fileManager = [NSFileManager defaultManager];\n\t\tif ([fileManager fileExistsAtPath:url.path]) {\n\t\t\tif (![[NSFileManager defaultManager] removeItemAtURL:url error:&error]) {\n\t\t\t\tNSString *msg = @\"Could not remove previous unix domain socket at given url.\";\n\t\t\t\terr = [self otherError:msg];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Resolve interface from description\n\t\t\n\t\tNSData *interface = [self getInterfaceAddressFromUrl:url];\n\t\t\n\t\tif (interface == nil)\n\t\t{\n\t\t\tNSString *msg = @\"Invalid unix domain url. Specify a valid file url that does not exist (e.g. \\\"file:///tmp/socket\\\")\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Create sockets, configure, bind, and listen\n\t\t\n\t\tLogVerbose(@\"Creating unix domain socket\");\n        self->socketUN = createSocket(AF_UNIX, interface);\n\t\t\n        if (self->socketUN == SOCKET_NULL)\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n        self->socketUrl = url;\n\t\t\n\t\t// Create accept sources\n\t\t\n        self->acceptUNSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, self->socketUN, 0, self->socketQueue);\n\t\t\n        int socketFD = self->socketUN;\n        dispatch_source_t acceptSource = self->acceptUNSource;\n\t\t\n        dispatch_source_set_event_handler(self->acceptUNSource, ^{ @autoreleasepool {\n\t\t\t\n\t\t\tLogVerbose(@\"eventUNBlock\");\n\t\t\t\n\t\t\tunsigned long i = 0;\n\t\t\tunsigned long numPendingConnections = dispatch_source_get_data(acceptSource);\n\t\t\t\n\t\t\tLogVerbose(@\"numPendingConnections: %lu\", numPendingConnections);\n\t\t\t\n\t\t\twhile ([self doAccept:socketFD] && (++i < numPendingConnections));\n\t\t}});\n\t\t\n        dispatch_source_set_cancel_handler(self->acceptUNSource, ^{\n\t\t\t\n#if NEEDS_DISPATCH_RETAIN_RELEASE\n\t\t\tLogVerbose(@\"dispatch_release(accept4Source)\");\n\t\t\tdispatch_release(acceptSource);\n#endif\n\t\t\t\n\t\t\tLogVerbose(@\"close(socket4FD)\");\n\t\t\tclose(socketFD);\n\t\t});\n\t\t\n\t\tLogVerbose(@\"dispatch_resume(accept4Source)\");\n        dispatch_resume(self->acceptUNSource);\n\t\t\n        self->flags |= kSocketStarted;\n\t\t\n\t\tresult = YES;\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (result == NO)\n\t{\n\t\tLogInfo(@\"Error in accept: %@\", err);\n\t\t\n\t\tif (errPtr)\n\t\t\t*errPtr = err;\n\t}\n\t\n\treturn result;\t\n}\n\n- (BOOL)doAccept:(int)parentSocketFD\n{\n\tLogTrace();\n\t\n\tint socketType;\n\tint childSocketFD;\n\tNSData *childSocketAddress;\n\t\n\tif (parentSocketFD == socket4FD)\n\t{\n\t\tsocketType = 0;\n\t\t\n\t\tstruct sockaddr_in addr;\n\t\tsocklen_t addrLen = sizeof(addr);\n\t\t\n\t\tchildSocketFD = accept(parentSocketFD, (struct sockaddr *)&addr, &addrLen);\n\t\t\n\t\tif (childSocketFD == -1)\n\t\t{\n\t\t\tLogWarn(@\"Accept failed with error: %@\", [self errnoError]);\n\t\t\treturn NO;\n\t\t}\n\t\t\n\t\tchildSocketAddress = [NSData dataWithBytes:&addr length:addrLen];\n\t}\n\telse if (parentSocketFD == socket6FD)\n\t{\n\t\tsocketType = 1;\n\t\t\n\t\tstruct sockaddr_in6 addr;\n\t\tsocklen_t addrLen = sizeof(addr);\n\t\t\n\t\tchildSocketFD = accept(parentSocketFD, (struct sockaddr *)&addr, &addrLen);\n\t\t\n\t\tif (childSocketFD == -1)\n\t\t{\n\t\t\tLogWarn(@\"Accept failed with error: %@\", [self errnoError]);\n\t\t\treturn NO;\n\t\t}\n\t\t\n\t\tchildSocketAddress = [NSData dataWithBytes:&addr length:addrLen];\n\t}\n\telse // if (parentSocketFD == socketUN)\n\t{\n\t\tsocketType = 2;\n\t\t\n\t\tstruct sockaddr_un addr;\n\t\tsocklen_t addrLen = sizeof(addr);\n\t\t\n\t\tchildSocketFD = accept(parentSocketFD, (struct sockaddr *)&addr, &addrLen);\n\t\t\n\t\tif (childSocketFD == -1)\n\t\t{\n\t\t\tLogWarn(@\"Accept failed with error: %@\", [self errnoError]);\n\t\t\treturn NO;\n\t\t}\n\t\t\n\t\tchildSocketAddress = [NSData dataWithBytes:&addr length:addrLen];\n\t}\n\t\n\t// Enable non-blocking IO on the socket\n\t\n\tint result = fcntl(childSocketFD, F_SETFL, O_NONBLOCK);\n\tif (result == -1)\n\t{\n\t\tLogWarn(@\"Error enabling non-blocking IO on accepted socket (fcntl)\");\n\t\tLogVerbose(@\"close(childSocketFD)\");\n\t\tclose(childSocketFD);\n\t\treturn NO;\n\t}\n\t\n\t// Prevent SIGPIPE signals\n\t\n\tint nosigpipe = 1;\n\tsetsockopt(childSocketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe));\n\t\n\t// Notify delegate\n\t\n\tif (delegateQueue)\n\t{\n\t\t__strong id theDelegate = delegate;\n\t\t\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t// Query delegate for custom socket queue\n\t\t\t\n\t\t\tdispatch_queue_t childSocketQueue = NULL;\n\t\t\t\n\t\t\tif ([theDelegate respondsToSelector:@selector(newSocketQueueForConnectionFromAddress:onSocket:)])\n\t\t\t{\n\t\t\t\tchildSocketQueue = [theDelegate newSocketQueueForConnectionFromAddress:childSocketAddress\n\t\t\t\t                                                              onSocket:self];\n\t\t\t}\n\t\t\t\n\t\t\t// Create GCDAsyncSocket instance for accepted socket\n\t\t\t\n\t\t\tGCDAsyncSocket *acceptedSocket = [[[self class] alloc] initWithDelegate:theDelegate\n                                                                      delegateQueue:self->delegateQueue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsocketQueue:childSocketQueue];\n\t\t\t\n\t\t\tif (socketType == 0)\n\t\t\t\tacceptedSocket->socket4FD = childSocketFD;\n\t\t\telse if (socketType == 1)\n\t\t\t\tacceptedSocket->socket6FD = childSocketFD;\n\t\t\telse\n\t\t\t\tacceptedSocket->socketUN = childSocketFD;\n\t\t\t\n\t\t\tacceptedSocket->flags = (kSocketStarted | kConnected);\n\t\t\t\n\t\t\t// Setup read and write sources for accepted socket\n\t\t\t\n\t\t\tdispatch_async(acceptedSocket->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[acceptedSocket setupReadAndWriteSourcesForNewlyConnectedSocket:childSocketFD];\n\t\t\t}});\n\t\t\t\n\t\t\t// Notify delegate\n\t\t\t\n\t\t\tif ([theDelegate respondsToSelector:@selector(socket:didAcceptNewSocket:)])\n\t\t\t{\n\t\t\t\t[theDelegate socket:self didAcceptNewSocket:acceptedSocket];\n\t\t\t}\n\t\t\t\n\t\t\t// Release the socket queue returned from the delegate (it was retained by acceptedSocket)\n\t\t\t#if !OS_OBJECT_USE_OBJC\n\t\t\tif (childSocketQueue) dispatch_release(childSocketQueue);\n\t\t\t#endif\n\t\t\t\n\t\t\t// The accepted socket should have been retained by the delegate.\n\t\t\t// Otherwise it gets properly released when exiting the block.\n\t\t}});\n\t}\n\t\n\treturn YES;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Connecting\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method runs through the various checks required prior to a connection attempt.\n * It is shared between the connectToHost and connectToAddress methods.\n * \n**/\n- (BOOL)preConnectWithInterface:(NSString *)interface error:(NSError **)errPtr\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tif (delegate == nil) // Must have delegate set\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to connect without a delegate. Set a delegate first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tif (delegateQueue == NULL) // Must have delegate queue set\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to connect without a delegate queue. Set a delegate queue first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tif (![self isDisconnected]) // Must be disconnected\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to connect while connected or accepting connections. Disconnect first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tBOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO;\n\tBOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO;\n\t\n\tif (isIPv4Disabled && isIPv6Disabled) // Must have IPv4 or IPv6 enabled\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Both IPv4 and IPv6 have been disabled. Must enable at least one protocol first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tif (interface)\n\t{\n\t\tNSMutableData *interface4 = nil;\n\t\tNSMutableData *interface6 = nil;\n\t\t\n\t\t[self getInterfaceAddress4:&interface4 address6:&interface6 fromDescription:interface port:0];\n\t\t\n\t\tif ((interface4 == nil) && (interface6 == nil))\n\t\t{\n\t\t\tif (errPtr)\n\t\t\t{\n\t\t\t\tNSString *msg = @\"Unknown interface. Specify valid interface by name (e.g. \\\"en1\\\") or IP address.\";\n\t\t\t\t*errPtr = [self badParamError:msg];\n\t\t\t}\n\t\t\treturn NO;\n\t\t}\n\t\t\n\t\tif (isIPv4Disabled && (interface6 == nil))\n\t\t{\n\t\t\tif (errPtr)\n\t\t\t{\n\t\t\t\tNSString *msg = @\"IPv4 has been disabled and specified interface doesn't support IPv6.\";\n\t\t\t\t*errPtr = [self badParamError:msg];\n\t\t\t}\n\t\t\treturn NO;\n\t\t}\n\t\t\n\t\tif (isIPv6Disabled && (interface4 == nil))\n\t\t{\n\t\t\tif (errPtr)\n\t\t\t{\n\t\t\t\tNSString *msg = @\"IPv6 has been disabled and specified interface doesn't support IPv4.\";\n\t\t\t\t*errPtr = [self badParamError:msg];\n\t\t\t}\n\t\t\treturn NO;\n\t\t}\n\t\t\n\t\tconnectInterface4 = interface4;\n\t\tconnectInterface6 = interface6;\n\t}\n\t\n\t// Clear queues (spurious read/write requests post disconnect)\n\t[readQueue removeAllObjects];\n\t[writeQueue removeAllObjects];\n\t\n\treturn YES;\n}\n\n- (BOOL)preConnectWithUrl:(NSURL *)url error:(NSError **)errPtr\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tif (delegate == nil) // Must have delegate set\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to connect without a delegate. Set a delegate first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tif (delegateQueue == NULL) // Must have delegate queue set\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to connect without a delegate queue. Set a delegate queue first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tif (![self isDisconnected]) // Must be disconnected\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to connect while connected or accepting connections. Disconnect first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tNSData *interface = [self getInterfaceAddressFromUrl:url];\n\t\n\tif (interface == nil)\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Unknown interface. Specify valid interface by name (e.g. \\\"en1\\\") or IP address.\";\n\t\t\t*errPtr = [self badParamError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tconnectInterfaceUN = interface;\n\t\n\t// Clear queues (spurious read/write requests post disconnect)\n\t[readQueue removeAllObjects];\n\t[writeQueue removeAllObjects];\n\t\n\treturn YES;\n}\n\n- (BOOL)connectToHost:(NSString*)host onPort:(uint16_t)port error:(NSError **)errPtr\n{\n\treturn [self connectToHost:host onPort:port withTimeout:-1 error:errPtr];\n}\n\n- (BOOL)connectToHost:(NSString *)host\n               onPort:(uint16_t)port\n          withTimeout:(NSTimeInterval)timeout\n                error:(NSError **)errPtr\n{\n\treturn [self connectToHost:host onPort:port viaInterface:nil withTimeout:timeout error:errPtr];\n}\n\n- (BOOL)connectToHost:(NSString *)inHost\n               onPort:(uint16_t)port\n         viaInterface:(NSString *)inInterface\n          withTimeout:(NSTimeInterval)timeout\n                error:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\t// Just in case immutable objects were passed\n\tNSString *host = [inHost copy];\n\tNSString *interface = [inInterface copy];\n\t\n\t__block BOOL result = NO;\n\t__block NSError *preConnectErr = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t// Check for problems with host parameter\n\t\t\n\t\tif ([host length] == 0)\n\t\t{\n\t\t\tNSString *msg = @\"Invalid host parameter (nil or \\\"\\\"). Should be a domain name or IP address string.\";\n\t\t\tpreConnectErr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Run through standard pre-connect checks\n\t\t\n\t\tif (![self preConnectWithInterface:interface error:&preConnectErr])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// We've made it past all the checks.\n\t\t// It's time to start the connection process.\n\t\t\n        self->flags |= kSocketStarted;\n\t\t\n\t\tLogVerbose(@\"Dispatching DNS lookup...\");\n\t\t\n\t\t// It's possible that the given host parameter is actually a NSMutableString.\n\t\t// So we want to copy it now, within this block that will be executed synchronously.\n\t\t// This way the asynchronous lookup block below doesn't have to worry about it changing.\n\t\t\n\t\tNSString *hostCpy = [host copy];\n\t\t\n        int aStateIndex = self->stateIndex;\n\t\t__weak GCDAsyncSocket *weakSelf = self;\n\t\t\n\t\tdispatch_queue_t globalConcurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n\t\tdispatch_async(globalConcurrentQueue, ^{ @autoreleasepool {\n\t\t#pragma clang diagnostic push\n\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\n\t\t\tNSError *lookupErr = nil;\n\t\t\tNSMutableArray *addresses = [[self class] lookupHost:hostCpy port:port error:&lookupErr];\n\t\t\t\n\t\t\t__strong GCDAsyncSocket *strongSelf = weakSelf;\n\t\t\tif (strongSelf == nil) return_from_block;\n\t\t\t\n\t\t\tif (lookupErr)\n\t\t\t{\n\t\t\t\tdispatch_async(strongSelf->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\n\t\t\t\t\t[strongSelf lookup:aStateIndex didFail:lookupErr];\n\t\t\t\t}});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tNSData *address4 = nil;\n\t\t\t\tNSData *address6 = nil;\n\t\t\t\t\n\t\t\t\tfor (NSData *address in addresses)\n\t\t\t\t{\n\t\t\t\t\tif (!address4 && [[self class] isIPv4Address:address])\n\t\t\t\t\t{\n\t\t\t\t\t\taddress4 = address;\n\t\t\t\t\t}\n\t\t\t\t\telse if (!address6 && [[self class] isIPv6Address:address])\n\t\t\t\t\t{\n\t\t\t\t\t\taddress6 = address;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdispatch_async(strongSelf->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\n\t\t\t\t\t[strongSelf lookup:aStateIndex didSucceedWithAddress4:address4 address6:address6];\n\t\t\t\t}});\n\t\t\t}\n\t\t\t\n\t\t#pragma clang diagnostic pop\n\t\t}});\n\t\t\n\t\t[self startConnectTimeout:timeout];\n\t\t\n\t\tresult = YES;\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\t\n\tif (errPtr) *errPtr = preConnectErr;\n\treturn result;\n}\n\n- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr\n{\n\treturn [self connectToAddress:remoteAddr viaInterface:nil withTimeout:-1 error:errPtr];\n}\n\n- (BOOL)connectToAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr\n{\n\treturn [self connectToAddress:remoteAddr viaInterface:nil withTimeout:timeout error:errPtr];\n}\n\n- (BOOL)connectToAddress:(NSData *)inRemoteAddr\n            viaInterface:(NSString *)inInterface\n             withTimeout:(NSTimeInterval)timeout\n                   error:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\t// Just in case immutable objects were passed\n\tNSData *remoteAddr = [inRemoteAddr copy];\n\tNSString *interface = [inInterface copy];\n\t\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t// Check for problems with remoteAddr parameter\n\t\t\n\t\tNSData *address4 = nil;\n\t\tNSData *address6 = nil;\n\t\t\n\t\tif ([remoteAddr length] >= sizeof(struct sockaddr))\n\t\t{\n\t\t\tconst struct sockaddr *sockaddr = (const struct sockaddr *)[remoteAddr bytes];\n\t\t\t\n\t\t\tif (sockaddr->sa_family == AF_INET)\n\t\t\t{\n\t\t\t\tif ([remoteAddr length] == sizeof(struct sockaddr_in))\n\t\t\t\t{\n\t\t\t\t\taddress4 = remoteAddr;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (sockaddr->sa_family == AF_INET6)\n\t\t\t{\n\t\t\t\tif ([remoteAddr length] == sizeof(struct sockaddr_in6))\n\t\t\t\t{\n\t\t\t\t\taddress6 = remoteAddr;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tif ((address4 == nil) && (address6 == nil))\n\t\t{\n\t\t\tNSString *msg = @\"A valid IPv4 or IPv6 address was not given\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n        BOOL isIPv4Disabled = (self->config & kIPv4Disabled) ? YES : NO;\n        BOOL isIPv6Disabled = (self->config & kIPv6Disabled) ? YES : NO;\n\t\t\n\t\tif (isIPv4Disabled && (address4 != nil))\n\t\t{\n\t\t\tNSString *msg = @\"IPv4 has been disabled and an IPv4 address was passed.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tif (isIPv6Disabled && (address6 != nil))\n\t\t{\n\t\t\tNSString *msg = @\"IPv6 has been disabled and an IPv6 address was passed.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Run through standard pre-connect checks\n\t\t\n\t\tif (![self preConnectWithInterface:interface error:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// We've made it past all the checks.\n\t\t// It's time to start the connection process.\n\t\t\n\t\tif (![self connectWithAddress4:address4 address6:address6 error:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n        self->flags |= kSocketStarted;\n\t\t\n\t\t[self startConnectTimeout:timeout];\n\t\t\n\t\tresult = YES;\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (result == NO)\n\t{\n\t\tif (errPtr)\n\t\t\t*errPtr = err;\n\t}\n\t\n\treturn result;\n}\n\n- (BOOL)connectToUrl:(NSURL *)url withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr;\n{\n\tLogTrace();\n\t\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t// Check for problems with host parameter\n\t\t\n\t\tif ([url.path length] == 0)\n\t\t{\n\t\t\tNSString *msg = @\"Invalid unix domain socket url.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Run through standard pre-connect checks\n\t\t\n\t\tif (![self preConnectWithUrl:url error:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// We've made it past all the checks.\n\t\t// It's time to start the connection process.\n\t\t\n        self->flags |= kSocketStarted;\n\t\t\n\t\t// Start the normal connection process\n\t\t\n\t\tNSError *connectError = nil;\n        if (![self connectWithAddressUN:self->connectInterfaceUN error:&connectError])\n\t\t{\n\t\t\t[self closeWithError:connectError];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\n\t\t[self startConnectTimeout:timeout];\n\t\t\n\t\tresult = YES;\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (result == NO)\n\t{\n\t\tif (errPtr)\n\t\t\t*errPtr = err;\n\t}\n\t\n\treturn result;\n}\n\n- (void)lookup:(int)aStateIndex didSucceedWithAddress4:(NSData *)address4 address6:(NSData *)address6\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert(address4 || address6, @\"Expected at least one valid address\");\n\t\n\tif (aStateIndex != stateIndex)\n\t{\n\t\tLogInfo(@\"Ignoring lookupDidSucceed, already disconnected\");\n\t\t\n\t\t// The connect operation has been cancelled.\n\t\t// That is, socket was disconnected, or connection has already timed out.\n\t\treturn;\n\t}\n\t\n\t// Check for problems\n\t\n\tBOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO;\n\tBOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO;\n\t\n\tif (isIPv4Disabled && (address6 == nil))\n\t{\n\t\tNSString *msg = @\"IPv4 has been disabled and DNS lookup found no IPv6 address.\";\n\t\t\n\t\t[self closeWithError:[self otherError:msg]];\n\t\treturn;\n\t}\n\t\n\tif (isIPv6Disabled && (address4 == nil))\n\t{\n\t\tNSString *msg = @\"IPv6 has been disabled and DNS lookup found no IPv4 address.\";\n\t\t\n\t\t[self closeWithError:[self otherError:msg]];\n\t\treturn;\n\t}\n\t\n\t// Start the normal connection process\n\t\n\tNSError *err = nil;\n\tif (![self connectWithAddress4:address4 address6:address6 error:&err])\n\t{\n\t\t[self closeWithError:err];\n\t}\n}\n\n/**\n * This method is called if the DNS lookup fails.\n * This method is executed on the socketQueue.\n * \n * Since the DNS lookup executed synchronously on a global concurrent queue,\n * the original connection request may have already been cancelled or timed-out by the time this method is invoked.\n * The lookupIndex tells us whether the lookup is still valid or not.\n**/\n- (void)lookup:(int)aStateIndex didFail:(NSError *)error\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t\n\tif (aStateIndex != stateIndex)\n\t{\n\t\tLogInfo(@\"Ignoring lookup:didFail: - already disconnected\");\n\t\t\n\t\t// The connect operation has been cancelled.\n\t\t// That is, socket was disconnected, or connection has already timed out.\n\t\treturn;\n\t}\n\t\n\t[self endConnectTimeout];\n\t[self closeWithError:error];\n}\n\n- (BOOL)bindSocket:(int)socketFD toInterface:(NSData *)connectInterface error:(NSError **)errPtr\n{\n    // Bind the socket to the desired interface (if needed)\n    \n    if (connectInterface)\n    {\n        LogVerbose(@\"Binding socket...\");\n        \n        if ([[self class] portFromAddress:connectInterface] > 0)\n        {\n            // Since we're going to be binding to a specific port,\n            // we should turn on reuseaddr to allow us to override sockets in time_wait.\n            \n            int reuseOn = 1;\n            setsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, &reuseOn, sizeof(reuseOn));\n        }\n        \n        const struct sockaddr *interfaceAddr = (const struct sockaddr *)[connectInterface bytes];\n        \n        int result = bind(socketFD, interfaceAddr, (socklen_t)[connectInterface length]);\n        if (result != 0)\n        {\n            if (errPtr)\n                *errPtr = [self errnoErrorWithReason:@\"Error in bind() function\"];\n            \n            return NO;\n        }\n    }\n    \n    return YES;\n}\n\n- (int)createSocket:(int)family connectInterface:(NSData *)connectInterface errPtr:(NSError **)errPtr\n{\n    int socketFD = socket(family, SOCK_STREAM, 0);\n    \n    if (socketFD == SOCKET_NULL)\n    {\n        if (errPtr)\n            *errPtr = [self errnoErrorWithReason:@\"Error in socket() function\"];\n        \n        return socketFD;\n    }\n    \n    if (![self bindSocket:socketFD toInterface:connectInterface error:errPtr])\n    {\n        [self closeSocket:socketFD];\n        \n        return SOCKET_NULL;\n    }\n    \n    // Prevent SIGPIPE signals\n    \n    int nosigpipe = 1;\n    setsockopt(socketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe));\n    \n    return socketFD;\n}\n\n- (void)connectSocket:(int)socketFD address:(NSData *)address stateIndex:(int)aStateIndex\n{\n    // If there already is a socket connected, we close socketFD and return\n    if (self.isConnected)\n    {\n        [self closeSocket:socketFD];\n        return;\n    }\n    \n    // Start the connection process in a background queue\n    \n    __weak GCDAsyncSocket *weakSelf = self;\n    \n    dispatch_queue_t globalConcurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n    dispatch_async(globalConcurrentQueue, ^{\n#pragma clang diagnostic push\n#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n        \n        int result = connect(socketFD, (const struct sockaddr *)[address bytes], (socklen_t)[address length]);\n        \n        __strong GCDAsyncSocket *strongSelf = weakSelf;\n        if (strongSelf == nil) return_from_block;\n        \n        dispatch_async(strongSelf->socketQueue, ^{ @autoreleasepool {\n            \n            if (strongSelf.isConnected)\n            {\n                [strongSelf closeSocket:socketFD];\n                return_from_block;\n            }\n            \n            if (result == 0)\n            {\n                [self closeUnusedSocket:socketFD];\n                \n                [strongSelf didConnect:aStateIndex];\n            }\n            else\n            {\n                [strongSelf closeSocket:socketFD];\n                \n                // If there are no more sockets trying to connect, we inform the error to the delegate\n                if (strongSelf.socket4FD == SOCKET_NULL && strongSelf.socket6FD == SOCKET_NULL)\n                {\n                    NSError *error = [strongSelf errnoErrorWithReason:@\"Error in connect() function\"];\n                    [strongSelf didNotConnect:aStateIndex error:error];\n                }\n            }\n        }});\n        \n#pragma clang diagnostic pop\n    });\n    \n    LogVerbose(@\"Connecting...\");\n}\n\n- (void)closeSocket:(int)socketFD\n{\n    if (socketFD != SOCKET_NULL &&\n        (socketFD == socket6FD || socketFD == socket4FD))\n    {\n        close(socketFD);\n        \n        if (socketFD == socket4FD)\n        {\n            LogVerbose(@\"close(socket4FD)\");\n            socket4FD = SOCKET_NULL;\n        }\n        else if (socketFD == socket6FD)\n        {\n            LogVerbose(@\"close(socket6FD)\");\n            socket6FD = SOCKET_NULL;\n        }\n    }\n}\n\n- (void)closeUnusedSocket:(int)usedSocketFD\n{\n    if (usedSocketFD != socket4FD)\n    {\n        [self closeSocket:socket4FD];\n    }\n    else if (usedSocketFD != socket6FD)\n    {\n        [self closeSocket:socket6FD];\n    }\n}\n\n- (BOOL)connectWithAddress4:(NSData *)address4 address6:(NSData *)address6 error:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tLogVerbose(@\"IPv4: %@:%hu\", [[self class] hostFromAddress:address4], [[self class] portFromAddress:address4]);\n\tLogVerbose(@\"IPv6: %@:%hu\", [[self class] hostFromAddress:address6], [[self class] portFromAddress:address6]);\n\t\n\t// Determine socket type\n\t\n\tBOOL preferIPv6 = (config & kPreferIPv6) ? YES : NO;\n\t\n\t// Create and bind the sockets\n    \n    if (address4)\n    {\n        LogVerbose(@\"Creating IPv4 socket\");\n        \n        socket4FD = [self createSocket:AF_INET connectInterface:connectInterface4 errPtr:errPtr];\n    }\n    \n    if (address6)\n    {\n        LogVerbose(@\"Creating IPv6 socket\");\n        \n        socket6FD = [self createSocket:AF_INET6 connectInterface:connectInterface6 errPtr:errPtr];\n    }\n    \n    if (socket4FD == SOCKET_NULL && socket6FD == SOCKET_NULL)\n    {\n        return NO;\n    }\n\t\n\tint socketFD, alternateSocketFD;\n\tNSData *address, *alternateAddress;\n\t\n    if ((preferIPv6 && socket6FD != SOCKET_NULL) || socket4FD == SOCKET_NULL)\n    {\n        socketFD = socket6FD;\n        alternateSocketFD = socket4FD;\n        address = address6;\n        alternateAddress = address4;\n    }\n    else\n    {\n        socketFD = socket4FD;\n        alternateSocketFD = socket6FD;\n        address = address4;\n        alternateAddress = address6;\n    }\n\n    int aStateIndex = stateIndex;\n    \n    [self connectSocket:socketFD address:address stateIndex:aStateIndex];\n    \n    if (alternateAddress)\n    {\n        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(alternateAddressDelay * NSEC_PER_SEC)), socketQueue, ^{\n            [self connectSocket:alternateSocketFD address:alternateAddress stateIndex:aStateIndex];\n        });\n    }\n\t\n\treturn YES;\n}\n\n- (BOOL)connectWithAddressUN:(NSData *)address error:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t// Create the socket\n\t\n\tint socketFD;\n\t\n\tLogVerbose(@\"Creating unix domain socket\");\n\t\n\tsocketUN = socket(AF_UNIX, SOCK_STREAM, 0);\n\t\n\tsocketFD = socketUN;\n\t\n\tif (socketFD == SOCKET_NULL)\n\t{\n\t\tif (errPtr)\n\t\t\t*errPtr = [self errnoErrorWithReason:@\"Error in socket() function\"];\n\t\t\n\t\treturn NO;\n\t}\n\t\n\t// Bind the socket to the desired interface (if needed)\n\t\n\tLogVerbose(@\"Binding socket...\");\n\t\n\tint reuseOn = 1;\n\tsetsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, &reuseOn, sizeof(reuseOn));\n\n//\tconst struct sockaddr *interfaceAddr = (const struct sockaddr *)[address bytes];\n//\t\n//\tint result = bind(socketFD, interfaceAddr, (socklen_t)[address length]);\n//\tif (result != 0)\n//\t{\n//\t\tif (errPtr)\n//\t\t\t*errPtr = [self errnoErrorWithReason:@\"Error in bind() function\"];\n//\t\t\n//\t\treturn NO;\n//\t}\n\t\n\t// Prevent SIGPIPE signals\n\t\n\tint nosigpipe = 1;\n\tsetsockopt(socketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe));\n\t\n\t// Start the connection process in a background queue\n\t\n\tint aStateIndex = stateIndex;\n\t\n\tdispatch_queue_t globalConcurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n\tdispatch_async(globalConcurrentQueue, ^{\n\t\t\n\t\tconst struct sockaddr *addr = (const struct sockaddr *)[address bytes];\n\t\tint result = connect(socketFD, addr, addr->sa_len);\n\t\tif (result == 0)\n\t\t{\n            dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[self didConnect:aStateIndex];\n\t\t\t}});\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// TODO: Bad file descriptor\n\t\t\tperror(\"connect\");\n\t\t\tNSError *error = [self errnoErrorWithReason:@\"Error in connect() function\"];\n\t\t\t\n            dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[self didNotConnect:aStateIndex error:error];\n\t\t\t}});\n\t\t}\n\t});\n\t\n\tLogVerbose(@\"Connecting...\");\n\t\n\treturn YES;\n}\n\n- (void)didConnect:(int)aStateIndex\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t\n\tif (aStateIndex != stateIndex)\n\t{\n\t\tLogInfo(@\"Ignoring didConnect, already disconnected\");\n\t\t\n\t\t// The connect operation has been cancelled.\n\t\t// That is, socket was disconnected, or connection has already timed out.\n\t\treturn;\n\t}\n\t\n\tflags |= kConnected;\n\t\n\t[self endConnectTimeout];\n\t\n\t#if TARGET_OS_IPHONE\n\t// The endConnectTimeout method executed above incremented the stateIndex.\n\taStateIndex = stateIndex;\n\t#endif\n\t\n\t// Setup read/write streams (as workaround for specific shortcomings in the iOS platform)\n\t// \n\t// Note:\n\t// There may be configuration options that must be set by the delegate before opening the streams.\n\t// The primary example is the kCFStreamNetworkServiceTypeVoIP flag, which only works on an unopened stream.\n\t// \n\t// Thus we wait until after the socket:didConnectToHost:port: delegate method has completed.\n\t// This gives the delegate time to properly configure the streams if needed.\n\t\n\tdispatch_block_t SetupStreamsPart1 = ^{\n\t\t#if TARGET_OS_IPHONE\n\t\t\n\t\tif (![self createReadAndWriteStream])\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error creating CFStreams\"]];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif (![self registerForStreamCallbacksIncludingReadWrite:NO])\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in CFStreamSetClient\"]];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t#endif\n\t};\n\tdispatch_block_t SetupStreamsPart2 = ^{\n\t\t#if TARGET_OS_IPHONE\n\t\t\n        if (aStateIndex != self->stateIndex)\n\t\t{\n\t\t\t// The socket has been disconnected.\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif (![self addStreamsToRunLoop])\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in CFStreamScheduleWithRunLoop\"]];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif (![self openStreams])\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error creating CFStreams\"]];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t#endif\n\t};\n\t\n\t// Notify delegate\n\t\n\tNSString *host = [self connectedHost];\n\tuint16_t port = [self connectedPort];\n\tNSURL *url = [self connectedUrl];\n\t\n\t__strong id theDelegate = delegate;\n\n\tif (delegateQueue && host != nil && [theDelegate respondsToSelector:@selector(socket:didConnectToHost:port:)])\n\t{\n\t\tSetupStreamsPart1();\n\t\t\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate socket:self didConnectToHost:host port:port];\n\t\t\t\n            dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\tSetupStreamsPart2();\n\t\t\t}});\n\t\t}});\n\t}\n\telse if (delegateQueue && url != nil && [theDelegate respondsToSelector:@selector(socket:didConnectToUrl:)])\n\t{\n\t\tSetupStreamsPart1();\n\t\t\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate socket:self didConnectToUrl:url];\n\t\t\t\n            dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\tSetupStreamsPart2();\n\t\t\t}});\n\t\t}});\n\t}\n\telse\n\t{\n\t\tSetupStreamsPart1();\n\t\tSetupStreamsPart2();\n\t}\n\t\t\n\t// Get the connected socket\n\t\n\tint socketFD = (socket4FD != SOCKET_NULL) ? socket4FD : (socket6FD != SOCKET_NULL) ? socket6FD : socketUN;\n\t\n\t// Enable non-blocking IO on the socket\n\t\n\tint result = fcntl(socketFD, F_SETFL, O_NONBLOCK);\n\tif (result == -1)\n\t{\n\t\tNSString *errMsg = @\"Error enabling non-blocking IO on socket (fcntl)\";\n\t\t[self closeWithError:[self otherError:errMsg]];\n\t\t\n\t\treturn;\n\t}\n\t\n\t// Setup our read/write sources\n\t\n\t[self setupReadAndWriteSourcesForNewlyConnectedSocket:socketFD];\n\t\n\t// Dequeue any pending read/write requests\n\t\n\t[self maybeDequeueRead];\n\t[self maybeDequeueWrite];\n}\n\n- (void)didNotConnect:(int)aStateIndex error:(NSError *)error\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t\n\tif (aStateIndex != stateIndex)\n\t{\n\t\tLogInfo(@\"Ignoring didNotConnect, already disconnected\");\n\t\t\n\t\t// The connect operation has been cancelled.\n\t\t// That is, socket was disconnected, or connection has already timed out.\n\t\treturn;\n\t}\n\t\n\t[self closeWithError:error];\n}\n\n- (void)startConnectTimeout:(NSTimeInterval)timeout\n{\n\tif (timeout >= 0.0)\n\t{\n\t\tconnectTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue);\n\t\t\n\t\t__weak GCDAsyncSocket *weakSelf = self;\n\t\t\n\t\tdispatch_source_set_event_handler(connectTimer, ^{ @autoreleasepool {\n\t\t#pragma clang diagnostic push\n\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\n\t\t\t__strong GCDAsyncSocket *strongSelf = weakSelf;\n\t\t\tif (strongSelf == nil) return_from_block;\n\t\t\t\n\t\t\t[strongSelf doConnectTimeout];\n\t\t\t\n\t\t#pragma clang diagnostic pop\n\t\t}});\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tdispatch_source_t theConnectTimer = connectTimer;\n\t\tdispatch_source_set_cancel_handler(connectTimer, ^{\n\t\t#pragma clang diagnostic push\n\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\n\t\t\tLogVerbose(@\"dispatch_release(connectTimer)\");\n\t\t\tdispatch_release(theConnectTimer);\n\t\t\t\n\t\t#pragma clang diagnostic pop\n\t\t});\n\t\t#endif\n\t\t\n\t\tdispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(timeout * NSEC_PER_SEC));\n\t\tdispatch_source_set_timer(connectTimer, tt, DISPATCH_TIME_FOREVER, 0);\n\t\t\n\t\tdispatch_resume(connectTimer);\n\t}\n}\n\n- (void)endConnectTimeout\n{\n\tLogTrace();\n\t\n\tif (connectTimer)\n\t{\n\t\tdispatch_source_cancel(connectTimer);\n\t\tconnectTimer = NULL;\n\t}\n\t\n\t// Increment stateIndex.\n\t// This will prevent us from processing results from any related background asynchronous operations.\n\t// \n\t// Note: This should be called from close method even if connectTimer is NULL.\n\t// This is because one might disconnect a socket prior to a successful connection which had no timeout.\n\t\n\tstateIndex++;\n\t\n\tif (connectInterface4)\n\t{\n\t\tconnectInterface4 = nil;\n\t}\n\tif (connectInterface6)\n\t{\n\t\tconnectInterface6 = nil;\n\t}\n}\n\n- (void)doConnectTimeout\n{\n\tLogTrace();\n\t\n\t[self endConnectTimeout];\n\t[self closeWithError:[self connectTimeoutError]];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Disconnecting\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)closeWithError:(NSError *)error\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t[self endConnectTimeout];\n\t\n\tif (currentRead != nil)  [self endCurrentRead];\n\tif (currentWrite != nil) [self endCurrentWrite];\n\t\n\t[readQueue removeAllObjects];\n\t[writeQueue removeAllObjects];\n\t\n\t[preBuffer reset];\n\t\n\t#if TARGET_OS_IPHONE\n\t{\n\t\tif (readStream || writeStream)\n\t\t{\n\t\t\t[self removeStreamsFromRunLoop];\n\t\t\t\n\t\t\tif (readStream)\n\t\t\t{\n\t\t\t\tCFReadStreamSetClient(readStream, kCFStreamEventNone, NULL, NULL);\n\t\t\t\tCFReadStreamClose(readStream);\n\t\t\t\tCFRelease(readStream);\n\t\t\t\treadStream = NULL;\n\t\t\t}\n\t\t\tif (writeStream)\n\t\t\t{\n\t\t\t\tCFWriteStreamSetClient(writeStream, kCFStreamEventNone, NULL, NULL);\n\t\t\t\tCFWriteStreamClose(writeStream);\n\t\t\t\tCFRelease(writeStream);\n\t\t\t\twriteStream = NULL;\n\t\t\t}\n\t\t}\n\t}\n\t#endif\n\t\n\t[sslPreBuffer reset];\n\tsslErrCode = lastSSLHandshakeError = noErr;\n\t\n\tif (sslContext)\n\t{\n\t\t// Getting a linker error here about the SSLx() functions?\n\t\t// You need to add the Security Framework to your application.\n\t\t\n\t\tSSLClose(sslContext);\n\t\t\n\t\t#if TARGET_OS_IPHONE || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 1080)\n\t\tCFRelease(sslContext);\n\t\t#else\n\t\tSSLDisposeContext(sslContext);\n\t\t#endif\n\t\t\n\t\tsslContext = NULL;\n\t}\n\t\n\t// For some crazy reason (in my opinion), cancelling a dispatch source doesn't\n\t// invoke the cancel handler if the dispatch source is paused.\n\t// So we have to unpause the source if needed.\n\t// This allows the cancel handler to be run, which in turn releases the source and closes the socket.\n\t\n\tif (!accept4Source && !accept6Source && !acceptUNSource && !readSource && !writeSource)\n\t{\n\t\tLogVerbose(@\"manually closing close\");\n\n\t\tif (socket4FD != SOCKET_NULL)\n\t\t{\n\t\t\tLogVerbose(@\"close(socket4FD)\");\n\t\t\tclose(socket4FD);\n\t\t\tsocket4FD = SOCKET_NULL;\n\t\t}\n\n\t\tif (socket6FD != SOCKET_NULL)\n\t\t{\n\t\t\tLogVerbose(@\"close(socket6FD)\");\n\t\t\tclose(socket6FD);\n\t\t\tsocket6FD = SOCKET_NULL;\n\t\t}\n\t\t\n\t\tif (socketUN != SOCKET_NULL)\n\t\t{\n\t\t\tLogVerbose(@\"close(socketUN)\");\n\t\t\tclose(socketUN);\n\t\t\tsocketUN = SOCKET_NULL;\n\t\t\tunlink(socketUrl.path.fileSystemRepresentation);\n\t\t\tsocketUrl = nil;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif (accept4Source)\n\t\t{\n\t\t\tLogVerbose(@\"dispatch_source_cancel(accept4Source)\");\n\t\t\tdispatch_source_cancel(accept4Source);\n\t\t\t\n\t\t\t// We never suspend accept4Source\n\t\t\t\n\t\t\taccept4Source = NULL;\n\t\t}\n\t\t\n\t\tif (accept6Source)\n\t\t{\n\t\t\tLogVerbose(@\"dispatch_source_cancel(accept6Source)\");\n\t\t\tdispatch_source_cancel(accept6Source);\n\t\t\t\n\t\t\t// We never suspend accept6Source\n\t\t\t\n\t\t\taccept6Source = NULL;\n\t\t}\n\t\t\n\t\tif (acceptUNSource)\n\t\t{\n\t\t\tLogVerbose(@\"dispatch_source_cancel(acceptUNSource)\");\n\t\t\tdispatch_source_cancel(acceptUNSource);\n\t\t\t\n\t\t\t// We never suspend acceptUNSource\n\t\t\t\n\t\t\tacceptUNSource = NULL;\n\t\t}\n\t\n\t\tif (readSource)\n\t\t{\n\t\t\tLogVerbose(@\"dispatch_source_cancel(readSource)\");\n\t\t\tdispatch_source_cancel(readSource);\n\t\t\t\n\t\t\t[self resumeReadSource];\n\t\t\t\n\t\t\treadSource = NULL;\n\t\t}\n\t\t\n\t\tif (writeSource)\n\t\t{\n\t\t\tLogVerbose(@\"dispatch_source_cancel(writeSource)\");\n\t\t\tdispatch_source_cancel(writeSource);\n\t\t\t\n\t\t\t[self resumeWriteSource];\n\t\t\t\n\t\t\twriteSource = NULL;\n\t\t}\n\t\t\n\t\t// The sockets will be closed by the cancel handlers of the corresponding source\n\t\t\n\t\tsocket4FD = SOCKET_NULL;\n\t\tsocket6FD = SOCKET_NULL;\n\t\tsocketUN = SOCKET_NULL;\n\t}\n\t\n\t// If the client has passed the connect/accept method, then the connection has at least begun.\n\t// Notify delegate that it is now ending.\n\tBOOL shouldCallDelegate = (flags & kSocketStarted) ? YES : NO;\n\tBOOL isDeallocating = (flags & kDealloc) ? YES : NO;\n\t\n\t// Clear stored socket info and all flags (config remains as is)\n\tsocketFDBytesAvailable = 0;\n\tflags = 0;\n\tsslWriteCachedLength = 0;\n\t\n\tif (shouldCallDelegate)\n\t{\n\t\t__strong id theDelegate = delegate;\n\t\t__strong id theSelf = isDeallocating ? nil : self;\n\t\t\n\t\tif (delegateQueue && [theDelegate respondsToSelector: @selector(socketDidDisconnect:withError:)])\n\t\t{\n\t\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[theDelegate socketDidDisconnect:theSelf withError:error];\n\t\t\t}});\n\t\t}\t\n\t}\n}\n\n- (void)disconnect\n{\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n        if (self->flags & kSocketStarted)\n\t\t{\n\t\t\t[self closeWithError:nil];\n\t\t}\n\t}};\n\t\n\t// Synchronous disconnection, as documented in the header file\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n}\n\n- (void)disconnectAfterReading\n{\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n        if (self->flags & kSocketStarted)\n\t\t{\n            self->flags |= (kForbidReadsWrites | kDisconnectAfterReads);\n\t\t\t[self maybeClose];\n\t\t}\n\t}});\n}\n\n- (void)disconnectAfterWriting\n{\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n        if (self->flags & kSocketStarted)\n\t\t{\n            self->flags |= (kForbidReadsWrites | kDisconnectAfterWrites);\n\t\t\t[self maybeClose];\n\t\t}\n\t}});\n}\n\n- (void)disconnectAfterReadingAndWriting\n{\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n        if (self->flags & kSocketStarted)\n\t\t{\n            self->flags |= (kForbidReadsWrites | kDisconnectAfterReads | kDisconnectAfterWrites);\n\t\t\t[self maybeClose];\n\t\t}\n\t}});\n}\n\n/**\n * Closes the socket if possible.\n * That is, if all writes have completed, and we're set to disconnect after writing,\n * or if all reads have completed, and we're set to disconnect after reading.\n**/\n- (void)maybeClose\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tBOOL shouldClose = NO;\n\t\n\tif (flags & kDisconnectAfterReads)\n\t{\n\t\tif (([readQueue count] == 0) && (currentRead == nil))\n\t\t{\n\t\t\tif (flags & kDisconnectAfterWrites)\n\t\t\t{\n\t\t\t\tif (([writeQueue count] == 0) && (currentWrite == nil))\n\t\t\t\t{\n\t\t\t\t\tshouldClose = YES;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tshouldClose = YES;\n\t\t\t}\n\t\t}\n\t}\n\telse if (flags & kDisconnectAfterWrites)\n\t{\n\t\tif (([writeQueue count] == 0) && (currentWrite == nil))\n\t\t{\n\t\t\tshouldClose = YES;\n\t\t}\n\t}\n\t\n\tif (shouldClose)\n\t{\n\t\t[self closeWithError:nil];\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Errors\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSError *)badConfigError:(NSString *)errMsg\n{\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketBadConfigError userInfo:userInfo];\n}\n\n- (NSError *)badParamError:(NSString *)errMsg\n{\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketBadParamError userInfo:userInfo];\n}\n\n+ (NSError *)gaiError:(int)gai_error\n{\n\tNSString *errMsg = [NSString stringWithCString:gai_strerror(gai_error) encoding:NSASCIIStringEncoding];\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:@\"kCFStreamErrorDomainNetDB\" code:gai_error userInfo:userInfo];\n}\n\n- (NSError *)errnoErrorWithReason:(NSString *)reason\n{\n\tNSString *errMsg = [NSString stringWithUTF8String:strerror(errno)];\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:errMsg, NSLocalizedDescriptionKey,\n\t                                                                    reason, NSLocalizedFailureReasonErrorKey, nil];\n\t\n\treturn [NSError errorWithDomain:NSPOSIXErrorDomain code:errno userInfo:userInfo];\n}\n\n- (NSError *)errnoError\n{\n\tNSString *errMsg = [NSString stringWithUTF8String:strerror(errno)];\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:NSPOSIXErrorDomain code:errno userInfo:userInfo];\n}\n\n- (NSError *)sslError:(OSStatus)ssl_error\n{\n\tNSString *msg = @\"Error code definition can be found in Apple's SecureTransport.h\";\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:msg forKey:NSLocalizedRecoverySuggestionErrorKey];\n\t\n\treturn [NSError errorWithDomain:@\"kCFStreamErrorDomainSSL\" code:ssl_error userInfo:userInfo];\n}\n\n- (NSError *)connectTimeoutError\n{\n\tNSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketConnectTimeoutError\",\n\t                                                     @\"GCDAsyncSocket\", [NSBundle mainBundle],\n\t                                                     @\"Attempt to connect to host timed out\", nil);\n\t\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketConnectTimeoutError userInfo:userInfo];\n}\n\n/**\n * Returns a standard AsyncSocket maxed out error.\n**/\n- (NSError *)readMaxedOutError\n{\n\tNSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketReadMaxedOutError\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t @\"GCDAsyncSocket\", [NSBundle mainBundle],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t @\"Read operation reached set maximum length\", nil);\n\t\n\tNSDictionary *info = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketReadMaxedOutError userInfo:info];\n}\n\n/**\n * Returns a standard AsyncSocket write timeout error.\n**/\n- (NSError *)readTimeoutError\n{\n\tNSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketReadTimeoutError\",\n\t                                                     @\"GCDAsyncSocket\", [NSBundle mainBundle],\n\t                                                     @\"Read operation timed out\", nil);\n\t\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketReadTimeoutError userInfo:userInfo];\n}\n\n/**\n * Returns a standard AsyncSocket write timeout error.\n**/\n- (NSError *)writeTimeoutError\n{\n\tNSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketWriteTimeoutError\",\n\t                                                     @\"GCDAsyncSocket\", [NSBundle mainBundle],\n\t                                                     @\"Write operation timed out\", nil);\n\t\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketWriteTimeoutError userInfo:userInfo];\n}\n\n- (NSError *)connectionClosedError\n{\n\tNSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketClosedError\",\n\t                                                     @\"GCDAsyncSocket\", [NSBundle mainBundle],\n\t                                                     @\"Socket closed by remote peer\", nil);\n\t\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketClosedError userInfo:userInfo];\n}\n\n- (NSError *)otherError:(NSString *)errMsg\n{\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketOtherError userInfo:userInfo];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Diagnostics\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)isDisconnected\n{\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n        result = (self->flags & kSocketStarted) ? NO : YES;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (BOOL)isConnected\n{\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n        result = (self->flags & kConnected) ? YES : NO;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (NSString *)connectedHost\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tif (socket4FD != SOCKET_NULL)\n\t\t\treturn [self connectedHostFromSocket4:socket4FD];\n\t\tif (socket6FD != SOCKET_NULL)\n\t\t\treturn [self connectedHostFromSocket6:socket6FD];\n\t\t\n\t\treturn nil;\n\t}\n\telse\n\t{\n\t\t__block NSString *result = nil;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{ @autoreleasepool {\n\t\t\t\n            if (self->socket4FD != SOCKET_NULL)\n                result = [self connectedHostFromSocket4:self->socket4FD];\n            else if (self->socket6FD != SOCKET_NULL)\n                result = [self connectedHostFromSocket6:self->socket6FD];\n\t\t}});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (uint16_t)connectedPort\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tif (socket4FD != SOCKET_NULL)\n\t\t\treturn [self connectedPortFromSocket4:socket4FD];\n\t\tif (socket6FD != SOCKET_NULL)\n\t\t\treturn [self connectedPortFromSocket6:socket6FD];\n\t\t\n\t\treturn 0;\n\t}\n\telse\n\t{\n\t\t__block uint16_t result = 0;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n\t\t\t// No need for autorelease pool\n\t\t\t\n            if (self->socket4FD != SOCKET_NULL)\n                result = [self connectedPortFromSocket4:self->socket4FD];\n            else if (self->socket6FD != SOCKET_NULL)\n                result = [self connectedPortFromSocket6:self->socket6FD];\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (NSURL *)connectedUrl\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tif (socketUN != SOCKET_NULL)\n\t\t\treturn [self connectedUrlFromSocketUN:socketUN];\n\t\t\n\t\treturn nil;\n\t}\n\telse\n\t{\n\t\t__block NSURL *result = nil;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{ @autoreleasepool {\n\t\t\t\n            if (self->socketUN != SOCKET_NULL)\n                result = [self connectedUrlFromSocketUN:self->socketUN];\n\t\t}});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (NSString *)localHost\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tif (socket4FD != SOCKET_NULL)\n\t\t\treturn [self localHostFromSocket4:socket4FD];\n\t\tif (socket6FD != SOCKET_NULL)\n\t\t\treturn [self localHostFromSocket6:socket6FD];\n\t\t\n\t\treturn nil;\n\t}\n\telse\n\t{\n\t\t__block NSString *result = nil;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{ @autoreleasepool {\n\t\t\t\n            if (self->socket4FD != SOCKET_NULL)\n                result = [self localHostFromSocket4:self->socket4FD];\n            else if (self->socket6FD != SOCKET_NULL)\n                result = [self localHostFromSocket6:self->socket6FD];\n\t\t}});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (uint16_t)localPort\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tif (socket4FD != SOCKET_NULL)\n\t\t\treturn [self localPortFromSocket4:socket4FD];\n\t\tif (socket6FD != SOCKET_NULL)\n\t\t\treturn [self localPortFromSocket6:socket6FD];\n\t\t\n\t\treturn 0;\n\t}\n\telse\n\t{\n\t\t__block uint16_t result = 0;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n\t\t\t// No need for autorelease pool\n\t\t\t\n            if (self->socket4FD != SOCKET_NULL)\n                result = [self localPortFromSocket4:self->socket4FD];\n            else if (self->socket6FD != SOCKET_NULL)\n                result = [self localPortFromSocket6:self->socket6FD];\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (NSString *)connectedHost4\n{\n\tif (socket4FD != SOCKET_NULL)\n\t\treturn [self connectedHostFromSocket4:socket4FD];\n\t\n\treturn nil;\n}\n\n- (NSString *)connectedHost6\n{\n\tif (socket6FD != SOCKET_NULL)\n\t\treturn [self connectedHostFromSocket6:socket6FD];\n\t\n\treturn nil;\n}\n\n- (uint16_t)connectedPort4\n{\n\tif (socket4FD != SOCKET_NULL)\n\t\treturn [self connectedPortFromSocket4:socket4FD];\n\t\n\treturn 0;\n}\n\n- (uint16_t)connectedPort6\n{\n\tif (socket6FD != SOCKET_NULL)\n\t\treturn [self connectedPortFromSocket6:socket6FD];\n\t\n\treturn 0;\n}\n\n- (NSString *)localHost4\n{\n\tif (socket4FD != SOCKET_NULL)\n\t\treturn [self localHostFromSocket4:socket4FD];\n\t\n\treturn nil;\n}\n\n- (NSString *)localHost6\n{\n\tif (socket6FD != SOCKET_NULL)\n\t\treturn [self localHostFromSocket6:socket6FD];\n\t\n\treturn nil;\n}\n\n- (uint16_t)localPort4\n{\n\tif (socket4FD != SOCKET_NULL)\n\t\treturn [self localPortFromSocket4:socket4FD];\n\t\n\treturn 0;\n}\n\n- (uint16_t)localPort6\n{\n\tif (socket6FD != SOCKET_NULL)\n\t\treturn [self localPortFromSocket6:socket6FD];\n\t\n\treturn 0;\n}\n\n- (NSString *)connectedHostFromSocket4:(int)socketFD\n{\n\tstruct sockaddr_in sockaddr4;\n\tsocklen_t sockaddr4len = sizeof(sockaddr4);\n\t\n\tif (getpeername(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0)\n\t{\n\t\treturn nil;\n\t}\n\treturn [[self class] hostFromSockaddr4:&sockaddr4];\n}\n\n- (NSString *)connectedHostFromSocket6:(int)socketFD\n{\n\tstruct sockaddr_in6 sockaddr6;\n\tsocklen_t sockaddr6len = sizeof(sockaddr6);\n\t\n\tif (getpeername(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0)\n\t{\n\t\treturn nil;\n\t}\n\treturn [[self class] hostFromSockaddr6:&sockaddr6];\n}\n\n- (uint16_t)connectedPortFromSocket4:(int)socketFD\n{\n\tstruct sockaddr_in sockaddr4;\n\tsocklen_t sockaddr4len = sizeof(sockaddr4);\n\t\n\tif (getpeername(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0)\n\t{\n\t\treturn 0;\n\t}\n\treturn [[self class] portFromSockaddr4:&sockaddr4];\n}\n\n- (uint16_t)connectedPortFromSocket6:(int)socketFD\n{\n\tstruct sockaddr_in6 sockaddr6;\n\tsocklen_t sockaddr6len = sizeof(sockaddr6);\n\t\n\tif (getpeername(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0)\n\t{\n\t\treturn 0;\n\t}\n\treturn [[self class] portFromSockaddr6:&sockaddr6];\n}\n\n- (NSURL *)connectedUrlFromSocketUN:(int)socketFD\n{\n\tstruct sockaddr_un sockaddr;\n\tsocklen_t sockaddrlen = sizeof(sockaddr);\n\t\n\tif (getpeername(socketFD, (struct sockaddr *)&sockaddr, &sockaddrlen) < 0)\n\t{\n\t\treturn 0;\n\t}\n\treturn [[self class] urlFromSockaddrUN:&sockaddr];\n}\n\n- (NSString *)localHostFromSocket4:(int)socketFD\n{\n\tstruct sockaddr_in sockaddr4;\n\tsocklen_t sockaddr4len = sizeof(sockaddr4);\n\t\n\tif (getsockname(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0)\n\t{\n\t\treturn nil;\n\t}\n\treturn [[self class] hostFromSockaddr4:&sockaddr4];\n}\n\n- (NSString *)localHostFromSocket6:(int)socketFD\n{\n\tstruct sockaddr_in6 sockaddr6;\n\tsocklen_t sockaddr6len = sizeof(sockaddr6);\n\t\n\tif (getsockname(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0)\n\t{\n\t\treturn nil;\n\t}\n\treturn [[self class] hostFromSockaddr6:&sockaddr6];\n}\n\n- (uint16_t)localPortFromSocket4:(int)socketFD\n{\n\tstruct sockaddr_in sockaddr4;\n\tsocklen_t sockaddr4len = sizeof(sockaddr4);\n\t\n\tif (getsockname(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0)\n\t{\n\t\treturn 0;\n\t}\n\treturn [[self class] portFromSockaddr4:&sockaddr4];\n}\n\n- (uint16_t)localPortFromSocket6:(int)socketFD\n{\n\tstruct sockaddr_in6 sockaddr6;\n\tsocklen_t sockaddr6len = sizeof(sockaddr6);\n\t\n\tif (getsockname(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0)\n\t{\n\t\treturn 0;\n\t}\n\treturn [[self class] portFromSockaddr6:&sockaddr6];\n}\n\n- (NSData *)connectedAddress\n{\n\t__block NSData *result = nil;\n\t\n\tdispatch_block_t block = ^{\n        if (self->socket4FD != SOCKET_NULL)\n\t\t{\n\t\t\tstruct sockaddr_in sockaddr4;\n\t\t\tsocklen_t sockaddr4len = sizeof(sockaddr4);\n\t\t\t\n            if (getpeername(self->socket4FD, (struct sockaddr *)&sockaddr4, &sockaddr4len) == 0)\n\t\t\t{\n\t\t\t\tresult = [[NSData alloc] initWithBytes:&sockaddr4 length:sockaddr4len];\n\t\t\t}\n\t\t}\n\t\t\n        if (self->socket6FD != SOCKET_NULL)\n\t\t{\n\t\t\tstruct sockaddr_in6 sockaddr6;\n\t\t\tsocklen_t sockaddr6len = sizeof(sockaddr6);\n\t\t\t\n            if (getpeername(self->socket6FD, (struct sockaddr *)&sockaddr6, &sockaddr6len) == 0)\n\t\t\t{\n\t\t\t\tresult = [[NSData alloc] initWithBytes:&sockaddr6 length:sockaddr6len];\n\t\t\t}\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (NSData *)localAddress\n{\n\t__block NSData *result = nil;\n\t\n\tdispatch_block_t block = ^{\n        if (self->socket4FD != SOCKET_NULL)\n\t\t{\n\t\t\tstruct sockaddr_in sockaddr4;\n\t\t\tsocklen_t sockaddr4len = sizeof(sockaddr4);\n\t\t\t\n            if (getsockname(self->socket4FD, (struct sockaddr *)&sockaddr4, &sockaddr4len) == 0)\n\t\t\t{\n\t\t\t\tresult = [[NSData alloc] initWithBytes:&sockaddr4 length:sockaddr4len];\n\t\t\t}\n\t\t}\n\t\t\n        if (self->socket6FD != SOCKET_NULL)\n\t\t{\n\t\t\tstruct sockaddr_in6 sockaddr6;\n\t\t\tsocklen_t sockaddr6len = sizeof(sockaddr6);\n\t\t\t\n            if (getsockname(self->socket6FD, (struct sockaddr *)&sockaddr6, &sockaddr6len) == 0)\n\t\t\t{\n\t\t\t\tresult = [[NSData alloc] initWithBytes:&sockaddr6 length:sockaddr6len];\n\t\t\t}\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (BOOL)isIPv4\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn (socket4FD != SOCKET_NULL);\n\t}\n\telse\n\t{\n\t\t__block BOOL result = NO;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = (self->socket4FD != SOCKET_NULL);\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (BOOL)isIPv6\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn (socket6FD != SOCKET_NULL);\n\t}\n\telse\n\t{\n\t\t__block BOOL result = NO;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = (self->socket6FD != SOCKET_NULL);\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (BOOL)isSecure\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn (flags & kSocketSecure) ? YES : NO;\n\t}\n\telse\n\t{\n\t\t__block BOOL result;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = (self->flags & kSocketSecure) ? YES : NO;\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Utilities\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Finds the address of an interface description.\n * An inteface description may be an interface name (en0, en1, lo0) or corresponding IP (192.168.4.34).\n * \n * The interface description may optionally contain a port number at the end, separated by a colon.\n * If a non-zero port parameter is provided, any port number in the interface description is ignored.\n * \n * The returned value is a 'struct sockaddr' wrapped in an NSMutableData object.\n**/\n- (void)getInterfaceAddress4:(NSMutableData **)interfaceAddr4Ptr\n                    address6:(NSMutableData **)interfaceAddr6Ptr\n             fromDescription:(NSString *)interfaceDescription\n                        port:(uint16_t)port\n{\n\tNSMutableData *addr4 = nil;\n\tNSMutableData *addr6 = nil;\n\t\n\tNSString *interface = nil;\n\t\n\tNSArray *components = [interfaceDescription componentsSeparatedByString:@\":\"];\n\tif ([components count] > 0)\n\t{\n\t\tNSString *temp = [components objectAtIndex:0];\n\t\tif ([temp length] > 0)\n\t\t{\n\t\t\tinterface = temp;\n\t\t}\n\t}\n\tif ([components count] > 1 && port == 0)\n\t{\n\t\tlong portL = strtol([[components objectAtIndex:1] UTF8String], NULL, 10);\n\t\t\n\t\tif (portL > 0 && portL <= UINT16_MAX)\n\t\t{\n\t\t\tport = (uint16_t)portL;\n\t\t}\n\t}\n\t\n\tif (interface == nil)\n\t{\n\t\t// ANY address\n\t\t\n\t\tstruct sockaddr_in sockaddr4;\n\t\tmemset(&sockaddr4, 0, sizeof(sockaddr4));\n\t\t\n\t\tsockaddr4.sin_len         = sizeof(sockaddr4);\n\t\tsockaddr4.sin_family      = AF_INET;\n\t\tsockaddr4.sin_port        = htons(port);\n\t\tsockaddr4.sin_addr.s_addr = htonl(INADDR_ANY);\n\t\t\n\t\tstruct sockaddr_in6 sockaddr6;\n\t\tmemset(&sockaddr6, 0, sizeof(sockaddr6));\n\t\t\n\t\tsockaddr6.sin6_len       = sizeof(sockaddr6);\n\t\tsockaddr6.sin6_family    = AF_INET6;\n\t\tsockaddr6.sin6_port      = htons(port);\n\t\tsockaddr6.sin6_addr      = in6addr_any;\n\t\t\n\t\taddr4 = [NSMutableData dataWithBytes:&sockaddr4 length:sizeof(sockaddr4)];\n\t\taddr6 = [NSMutableData dataWithBytes:&sockaddr6 length:sizeof(sockaddr6)];\n\t}\n\telse if ([interface isEqualToString:@\"localhost\"] || [interface isEqualToString:@\"loopback\"])\n\t{\n\t\t// LOOPBACK address\n\t\t\n\t\tstruct sockaddr_in sockaddr4;\n\t\tmemset(&sockaddr4, 0, sizeof(sockaddr4));\n\t\t\n\t\tsockaddr4.sin_len         = sizeof(sockaddr4);\n\t\tsockaddr4.sin_family      = AF_INET;\n\t\tsockaddr4.sin_port        = htons(port);\n\t\tsockaddr4.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n\t\t\n\t\tstruct sockaddr_in6 sockaddr6;\n\t\tmemset(&sockaddr6, 0, sizeof(sockaddr6));\n\t\t\n\t\tsockaddr6.sin6_len       = sizeof(sockaddr6);\n\t\tsockaddr6.sin6_family    = AF_INET6;\n\t\tsockaddr6.sin6_port      = htons(port);\n\t\tsockaddr6.sin6_addr      = in6addr_loopback;\n\t\t\n\t\taddr4 = [NSMutableData dataWithBytes:&sockaddr4 length:sizeof(sockaddr4)];\n\t\taddr6 = [NSMutableData dataWithBytes:&sockaddr6 length:sizeof(sockaddr6)];\n\t}\n\telse\n\t{\n\t\tconst char *iface = [interface UTF8String];\n\t\t\n\t\tstruct ifaddrs *addrs;\n\t\tconst struct ifaddrs *cursor;\n\t\t\n\t\tif ((getifaddrs(&addrs) == 0))\n\t\t{\n\t\t\tcursor = addrs;\n\t\t\twhile (cursor != NULL)\n\t\t\t{\n\t\t\t\tif ((addr4 == nil) && (cursor->ifa_addr->sa_family == AF_INET))\n\t\t\t\t{\n\t\t\t\t\t// IPv4\n\t\t\t\t\t\n\t\t\t\t\tstruct sockaddr_in nativeAddr4;\n\t\t\t\t\tmemcpy(&nativeAddr4, cursor->ifa_addr, sizeof(nativeAddr4));\n\t\t\t\t\t\n\t\t\t\t\tif (strcmp(cursor->ifa_name, iface) == 0)\n\t\t\t\t\t{\n\t\t\t\t\t\t// Name match\n\t\t\t\t\t\t\n\t\t\t\t\t\tnativeAddr4.sin_port = htons(port);\n\t\t\t\t\t\t\n\t\t\t\t\t\taddr4 = [NSMutableData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)];\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tchar ip[INET_ADDRSTRLEN];\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst char *conversion = inet_ntop(AF_INET, &nativeAddr4.sin_addr, ip, sizeof(ip));\n\t\t\t\t\t\t\n\t\t\t\t\t\tif ((conversion != NULL) && (strcmp(ip, iface) == 0))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// IP match\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tnativeAddr4.sin_port = htons(port);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\taddr4 = [NSMutableData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if ((addr6 == nil) && (cursor->ifa_addr->sa_family == AF_INET6))\n\t\t\t\t{\n\t\t\t\t\t// IPv6\n\t\t\t\t\t\n\t\t\t\t\tstruct sockaddr_in6 nativeAddr6;\n\t\t\t\t\tmemcpy(&nativeAddr6, cursor->ifa_addr, sizeof(nativeAddr6));\n\t\t\t\t\t\n\t\t\t\t\tif (strcmp(cursor->ifa_name, iface) == 0)\n\t\t\t\t\t{\n\t\t\t\t\t\t// Name match\n\t\t\t\t\t\t\n\t\t\t\t\t\tnativeAddr6.sin6_port = htons(port);\n\t\t\t\t\t\t\n\t\t\t\t\t\taddr6 = [NSMutableData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)];\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tchar ip[INET6_ADDRSTRLEN];\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst char *conversion = inet_ntop(AF_INET6, &nativeAddr6.sin6_addr, ip, sizeof(ip));\n\t\t\t\t\t\t\n\t\t\t\t\t\tif ((conversion != NULL) && (strcmp(ip, iface) == 0))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// IP match\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tnativeAddr6.sin6_port = htons(port);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\taddr6 = [NSMutableData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tcursor = cursor->ifa_next;\n\t\t\t}\n\t\t\t\n\t\t\tfreeifaddrs(addrs);\n\t\t}\n\t}\n\t\n\tif (interfaceAddr4Ptr) *interfaceAddr4Ptr = addr4;\n\tif (interfaceAddr6Ptr) *interfaceAddr6Ptr = addr6;\n}\n\n- (NSData *)getInterfaceAddressFromUrl:(NSURL *)url;\n{\n\tNSString *path = url.path;\n\tif (path.length == 0) {\n\t\treturn nil;\n\t}\n\t\n    struct sockaddr_un nativeAddr;\n    nativeAddr.sun_family = AF_UNIX;\n    strlcpy(nativeAddr.sun_path, path.fileSystemRepresentation, sizeof(nativeAddr.sun_path));\n    nativeAddr.sun_len = (unsigned char)SUN_LEN(&nativeAddr);\n    NSData *interface = [NSData dataWithBytes:&nativeAddr length:sizeof(struct sockaddr_un)];\n\t\n\treturn interface;\n}\n\n- (void)setupReadAndWriteSourcesForNewlyConnectedSocket:(int)socketFD\n{\n\treadSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, socketFD, 0, socketQueue);\n\twriteSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_WRITE, socketFD, 0, socketQueue);\n\t\n\t// Setup event handlers\n\t\n\t__weak GCDAsyncSocket *weakSelf = self;\n\t\n\tdispatch_source_set_event_handler(readSource, ^{ @autoreleasepool {\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\n\t\t__strong GCDAsyncSocket *strongSelf = weakSelf;\n\t\tif (strongSelf == nil) return_from_block;\n\t\t\n\t\tLogVerbose(@\"readEventBlock\");\n\t\t\n\t\tstrongSelf->socketFDBytesAvailable = dispatch_source_get_data(strongSelf->readSource);\n\t\tLogVerbose(@\"socketFDBytesAvailable: %lu\", strongSelf->socketFDBytesAvailable);\n\t\t\n\t\tif (strongSelf->socketFDBytesAvailable > 0)\n\t\t\t[strongSelf doReadData];\n\t\telse\n\t\t\t[strongSelf doReadEOF];\n\t\t\n\t#pragma clang diagnostic pop\n\t}});\n\t\n\tdispatch_source_set_event_handler(writeSource, ^{ @autoreleasepool {\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\n\t\t__strong GCDAsyncSocket *strongSelf = weakSelf;\n\t\tif (strongSelf == nil) return_from_block;\n\t\t\n\t\tLogVerbose(@\"writeEventBlock\");\n\t\t\n\t\tstrongSelf->flags |= kSocketCanAcceptBytes;\n\t\t[strongSelf doWriteData];\n\t\t\n\t#pragma clang diagnostic pop\n\t}});\n\t\n\t// Setup cancel handlers\n\t\n\t__block int socketFDRefCount = 2;\n\t\n\t#if !OS_OBJECT_USE_OBJC\n\tdispatch_source_t theReadSource = readSource;\n\tdispatch_source_t theWriteSource = writeSource;\n\t#endif\n\t\n\tdispatch_source_set_cancel_handler(readSource, ^{\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\n\t\tLogVerbose(@\"readCancelBlock\");\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tLogVerbose(@\"dispatch_release(readSource)\");\n\t\tdispatch_release(theReadSource);\n\t\t#endif\n\t\t\n\t\tif (--socketFDRefCount == 0)\n\t\t{\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t}\n\t\t\n\t#pragma clang diagnostic pop\n\t});\n\t\n\tdispatch_source_set_cancel_handler(writeSource, ^{\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\n\t\tLogVerbose(@\"writeCancelBlock\");\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tLogVerbose(@\"dispatch_release(writeSource)\");\n\t\tdispatch_release(theWriteSource);\n\t\t#endif\n\t\t\n\t\tif (--socketFDRefCount == 0)\n\t\t{\n\t\t\tLogVerbose(@\"close(socketFD)\");\n\t\t\tclose(socketFD);\n\t\t}\n\t\t\n\t#pragma clang diagnostic pop\n\t});\n\t\n\t// We will not be able to read until data arrives.\n\t// But we should be able to write immediately.\n\t\n\tsocketFDBytesAvailable = 0;\n\tflags &= ~kReadSourceSuspended;\n\t\n\tLogVerbose(@\"dispatch_resume(readSource)\");\n\tdispatch_resume(readSource);\n\t\n\tflags |= kSocketCanAcceptBytes;\n\tflags |= kWriteSourceSuspended;\n}\n\n- (BOOL)usingCFStreamForTLS\n{\n\t#if TARGET_OS_IPHONE\n\t\n\tif ((flags & kSocketSecure) && (flags & kUsingCFStreamForTLS))\n\t{\n\t\t// The startTLS method was given the GCDAsyncSocketUseCFStreamForTLS flag.\n\t\t\n\t\treturn YES;\n\t}\n\t\n\t#endif\n\t\n\treturn NO;\n}\n\n- (BOOL)usingSecureTransportForTLS\n{\n\t// Invoking this method is equivalent to ![self usingCFStreamForTLS] (just more readable)\n\t\n\t#if TARGET_OS_IPHONE\n\t\n\tif ((flags & kSocketSecure) && (flags & kUsingCFStreamForTLS))\n\t{\n\t\t// The startTLS method was given the GCDAsyncSocketUseCFStreamForTLS flag.\n\t\t\n\t\treturn NO;\n\t}\n\t\n\t#endif\n\t\n\treturn YES;\n}\n\n- (void)suspendReadSource\n{\n\tif (!(flags & kReadSourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_suspend(readSource)\");\n\t\t\n\t\tdispatch_suspend(readSource);\n\t\tflags |= kReadSourceSuspended;\n\t}\n}\n\n- (void)resumeReadSource\n{\n\tif (flags & kReadSourceSuspended)\n\t{\n\t\tLogVerbose(@\"dispatch_resume(readSource)\");\n\t\t\n\t\tdispatch_resume(readSource);\n\t\tflags &= ~kReadSourceSuspended;\n\t}\n}\n\n- (void)suspendWriteSource\n{\n\tif (!(flags & kWriteSourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_suspend(writeSource)\");\n\t\t\n\t\tdispatch_suspend(writeSource);\n\t\tflags |= kWriteSourceSuspended;\n\t}\n}\n\n- (void)resumeWriteSource\n{\n\tif (flags & kWriteSourceSuspended)\n\t{\n\t\tLogVerbose(@\"dispatch_resume(writeSource)\");\n\t\t\n\t\tdispatch_resume(writeSource);\n\t\tflags &= ~kWriteSourceSuspended;\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Reading\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n\t[self readDataWithTimeout:timeout buffer:nil bufferOffset:0 maxLength:0 tag:tag];\n}\n\n- (void)readDataWithTimeout:(NSTimeInterval)timeout\n                     buffer:(NSMutableData *)buffer\n               bufferOffset:(NSUInteger)offset\n                        tag:(long)tag\n{\n\t[self readDataWithTimeout:timeout buffer:buffer bufferOffset:offset maxLength:0 tag:tag];\n}\n\n- (void)readDataWithTimeout:(NSTimeInterval)timeout\n                     buffer:(NSMutableData *)buffer\n               bufferOffset:(NSUInteger)offset\n                  maxLength:(NSUInteger)length\n                        tag:(long)tag\n{\n\tif (offset > [buffer length]) {\n\t\tLogWarn(@\"Cannot read: offset > [buffer length]\");\n\t\treturn;\n\t}\n\t\n\tGCDAsyncReadPacket *packet = [[GCDAsyncReadPacket alloc] initWithData:buffer\n\t                                                          startOffset:offset\n\t                                                            maxLength:length\n\t                                                              timeout:timeout\n\t                                                           readLength:0\n\t                                                           terminator:nil\n\t                                                                  tag:tag];\n\t\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n\t\tLogTrace();\n\t\t\n        if ((self->flags & kSocketStarted) && !(self->flags & kForbidReadsWrites))\n\t\t{\n            [self->readQueue addObject:packet];\n\t\t\t[self maybeDequeueRead];\n\t\t}\n\t}});\n\t\n\t// Do not rely on the block being run in order to release the packet,\n\t// as the queue might get released without the block completing.\n}\n\n- (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n\t[self readDataToLength:length withTimeout:timeout buffer:nil bufferOffset:0 tag:tag];\n}\n\n- (void)readDataToLength:(NSUInteger)length\n             withTimeout:(NSTimeInterval)timeout\n                  buffer:(NSMutableData *)buffer\n            bufferOffset:(NSUInteger)offset\n                     tag:(long)tag\n{\n\tif (length == 0) {\n\t\tLogWarn(@\"Cannot read: length == 0\");\n\t\treturn;\n\t}\n\tif (offset > [buffer length]) {\n\t\tLogWarn(@\"Cannot read: offset > [buffer length]\");\n\t\treturn;\n\t}\n\t\n\tGCDAsyncReadPacket *packet = [[GCDAsyncReadPacket alloc] initWithData:buffer\n\t                                                          startOffset:offset\n\t                                                            maxLength:0\n\t                                                              timeout:timeout\n\t                                                           readLength:length\n\t                                                           terminator:nil\n\t                                                                  tag:tag];\n\t\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n\t\tLogTrace();\n\t\t\n        if ((self->flags & kSocketStarted) && !(self->flags & kForbidReadsWrites))\n\t\t{\n            [self->readQueue addObject:packet];\n\t\t\t[self maybeDequeueRead];\n\t\t}\n\t}});\n\t\n\t// Do not rely on the block being run in order to release the packet,\n\t// as the queue might get released without the block completing.\n}\n\n- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n\t[self readDataToData:data withTimeout:timeout buffer:nil bufferOffset:0 maxLength:0 tag:tag];\n}\n\n- (void)readDataToData:(NSData *)data\n           withTimeout:(NSTimeInterval)timeout\n                buffer:(NSMutableData *)buffer\n          bufferOffset:(NSUInteger)offset\n                   tag:(long)tag\n{\n\t[self readDataToData:data withTimeout:timeout buffer:buffer bufferOffset:offset maxLength:0 tag:tag];\n}\n\n- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout maxLength:(NSUInteger)length tag:(long)tag\n{\n\t[self readDataToData:data withTimeout:timeout buffer:nil bufferOffset:0 maxLength:length tag:tag];\n}\n\n- (void)readDataToData:(NSData *)data\n           withTimeout:(NSTimeInterval)timeout\n                buffer:(NSMutableData *)buffer\n          bufferOffset:(NSUInteger)offset\n             maxLength:(NSUInteger)maxLength\n                   tag:(long)tag\n{\n\tif ([data length] == 0) {\n\t\tLogWarn(@\"Cannot read: [data length] == 0\");\n\t\treturn;\n\t}\n\tif (offset > [buffer length]) {\n\t\tLogWarn(@\"Cannot read: offset > [buffer length]\");\n\t\treturn;\n\t}\n\tif (maxLength > 0 && maxLength < [data length]) {\n\t\tLogWarn(@\"Cannot read: maxLength > 0 && maxLength < [data length]\");\n\t\treturn;\n\t}\n\t\n\tGCDAsyncReadPacket *packet = [[GCDAsyncReadPacket alloc] initWithData:buffer\n\t                                                          startOffset:offset\n\t                                                            maxLength:maxLength\n\t                                                              timeout:timeout\n\t                                                           readLength:0\n\t                                                           terminator:data\n\t                                                                  tag:tag];\n\t\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n\t\tLogTrace();\n\t\t\n        if ((self->flags & kSocketStarted) && !(self->flags & kForbidReadsWrites))\n\t\t{\n            [self->readQueue addObject:packet];\n\t\t\t[self maybeDequeueRead];\n\t\t}\n\t}});\n\t\n\t// Do not rely on the block being run in order to release the packet,\n\t// as the queue might get released without the block completing.\n}\n\n- (float)progressOfReadReturningTag:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(NSUInteger *)totalPtr\n{\n\t__block float result = 0.0F;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        if (!self->currentRead || ![self->currentRead isKindOfClass:[GCDAsyncReadPacket class]])\n\t\t{\n\t\t\t// We're not reading anything right now.\n\t\t\t\n\t\t\tif (tagPtr != NULL)   *tagPtr = 0;\n\t\t\tif (donePtr != NULL)  *donePtr = 0;\n\t\t\tif (totalPtr != NULL) *totalPtr = 0;\n\t\t\t\n\t\t\tresult = NAN;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// It's only possible to know the progress of our read if we're reading to a certain length.\n\t\t\t// If we're reading to data, we of course have no idea when the data will arrive.\n\t\t\t// If we're reading to timeout, then we have no idea when the next chunk of data will arrive.\n\t\t\t\n            NSUInteger done = self->currentRead->bytesDone;\n            NSUInteger total = self->currentRead->readLength;\n\t\t\t\n            if (tagPtr != NULL)   *tagPtr = self->currentRead->tag;\n\t\t\tif (donePtr != NULL)  *donePtr = done;\n\t\t\tif (totalPtr != NULL) *totalPtr = total;\n\t\t\t\n\t\t\tif (total > 0)\n\t\t\t\tresult = (float)done / (float)total;\n\t\t\telse\n\t\t\t\tresult = 1.0F;\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n/**\n * This method starts a new read, if needed.\n * \n * It is called when:\n * - a user requests a read\n * - after a read request has finished (to handle the next request)\n * - immediately after the socket opens to handle any pending requests\n * \n * This method also handles auto-disconnect post read/write completion.\n**/\n- (void)maybeDequeueRead\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t// If we're not currently processing a read AND we have an available read stream\n\tif ((currentRead == nil) && (flags & kConnected))\n\t{\n\t\tif ([readQueue count] > 0)\n\t\t{\n\t\t\t// Dequeue the next object in the write queue\n\t\t\tcurrentRead = [readQueue objectAtIndex:0];\n\t\t\t[readQueue removeObjectAtIndex:0];\n\t\t\t\n\t\t\t\n\t\t\tif ([currentRead isKindOfClass:[GCDAsyncSpecialPacket class]])\n\t\t\t{\n\t\t\t\tLogVerbose(@\"Dequeued GCDAsyncSpecialPacket\");\n\t\t\t\t\n\t\t\t\t// Attempt to start TLS\n\t\t\t\tflags |= kStartingReadTLS;\n\t\t\t\t\n\t\t\t\t// This method won't do anything unless both kStartingReadTLS and kStartingWriteTLS are set\n\t\t\t\t[self maybeStartTLS];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tLogVerbose(@\"Dequeued GCDAsyncReadPacket\");\n\t\t\t\t\n\t\t\t\t// Setup read timer (if needed)\n\t\t\t\t[self setupReadTimerWithTimeout:currentRead->timeout];\n\t\t\t\t\n\t\t\t\t// Immediately read, if possible\n\t\t\t\t[self doReadData];\n\t\t\t}\n\t\t}\n\t\telse if (flags & kDisconnectAfterReads)\n\t\t{\n\t\t\tif (flags & kDisconnectAfterWrites)\n\t\t\t{\n\t\t\t\tif (([writeQueue count] == 0) && (currentWrite == nil))\n\t\t\t\t{\n\t\t\t\t\t[self closeWithError:nil];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t[self closeWithError:nil];\n\t\t\t}\n\t\t}\n\t\telse if (flags & kSocketSecure)\n\t\t{\n\t\t\t[self flushSSLBuffers];\n\t\t\t\n\t\t\t// Edge case:\n\t\t\t// \n\t\t\t// We just drained all data from the ssl buffers,\n\t\t\t// and all known data from the socket (socketFDBytesAvailable).\n\t\t\t// \n\t\t\t// If we didn't get any data from this process,\n\t\t\t// then we may have reached the end of the TCP stream.\n\t\t\t// \n\t\t\t// Be sure callbacks are enabled so we're notified about a disconnection.\n\t\t\t\n\t\t\tif ([preBuffer availableBytes] == 0)\n\t\t\t{\n\t\t\t\tif ([self usingCFStreamForTLS]) {\n\t\t\t\t\t// Callbacks never disabled\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t[self resumeReadSource];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n- (void)flushSSLBuffers\n{\n\tLogTrace();\n\t\n\tNSAssert((flags & kSocketSecure), @\"Cannot flush ssl buffers on non-secure socket\");\n\t\n\tif ([preBuffer availableBytes] > 0)\n\t{\n\t\t// Only flush the ssl buffers if the prebuffer is empty.\n\t\t// This is to avoid growing the prebuffer inifinitely large.\n\t\t\n\t\treturn;\n\t}\n\t\n\t#if TARGET_OS_IPHONE\n\t\n\tif ([self usingCFStreamForTLS])\n\t{\n\t\tif ((flags & kSecureSocketHasBytesAvailable) && CFReadStreamHasBytesAvailable(readStream))\n\t\t{\n\t\t\tLogVerbose(@\"%@ - Flushing ssl buffers into prebuffer...\", THIS_METHOD);\n\t\t\t\n\t\t\tCFIndex defaultBytesToRead = (1024 * 4);\n\t\t\t\n\t\t\t[preBuffer ensureCapacityForWrite:defaultBytesToRead];\n\t\t\t\n\t\t\tuint8_t *buffer = [preBuffer writeBuffer];\n\t\t\t\n\t\t\tCFIndex result = CFReadStreamRead(readStream, buffer, defaultBytesToRead);\n\t\t\tLogVerbose(@\"%@ - CFReadStreamRead(): result = %i\", THIS_METHOD, (int)result);\n\t\t\t\n\t\t\tif (result > 0)\n\t\t\t{\n\t\t\t\t[preBuffer didWrite:result];\n\t\t\t}\n\t\t\t\n\t\t\tflags &= ~kSecureSocketHasBytesAvailable;\n\t\t}\n\t\t\n\t\treturn;\n\t}\n\t\n\t#endif\n\t\n\t__block NSUInteger estimatedBytesAvailable = 0;\n\t\n\tdispatch_block_t updateEstimatedBytesAvailable = ^{\n\t\t\n\t\t// Figure out if there is any data available to be read\n\t\t// \n\t\t// socketFDBytesAvailable        <- Number of encrypted bytes we haven't read from the bsd socket\n\t\t// [sslPreBuffer availableBytes] <- Number of encrypted bytes we've buffered from bsd socket\n\t\t// sslInternalBufSize            <- Number of decrypted bytes SecureTransport has buffered\n\t\t// \n\t\t// We call the variable \"estimated\" because we don't know how many decrypted bytes we'll get\n\t\t// from the encrypted bytes in the sslPreBuffer.\n\t\t// However, we do know this is an upper bound on the estimation.\n\t\t\n        estimatedBytesAvailable = self->socketFDBytesAvailable + [self->sslPreBuffer availableBytes];\n\t\t\n\t\tsize_t sslInternalBufSize = 0;\n        SSLGetBufferedReadSize(self->sslContext, &sslInternalBufSize);\n\t\t\n\t\testimatedBytesAvailable += sslInternalBufSize;\n\t};\n\t\n\tupdateEstimatedBytesAvailable();\n\t\n\tif (estimatedBytesAvailable > 0)\n\t{\n\t\tLogVerbose(@\"%@ - Flushing ssl buffers into prebuffer...\", THIS_METHOD);\n\t\t\n\t\tBOOL done = NO;\n\t\tdo\n\t\t{\n\t\t\tLogVerbose(@\"%@ - estimatedBytesAvailable = %lu\", THIS_METHOD, (unsigned long)estimatedBytesAvailable);\n\t\t\t\n\t\t\t// Make sure there's enough room in the prebuffer\n\t\t\t\n\t\t\t[preBuffer ensureCapacityForWrite:estimatedBytesAvailable];\n\t\t\t\n\t\t\t// Read data into prebuffer\n\t\t\t\n\t\t\tuint8_t *buffer = [preBuffer writeBuffer];\n\t\t\tsize_t bytesRead = 0;\n\t\t\t\n\t\t\tOSStatus result = SSLRead(sslContext, buffer, (size_t)estimatedBytesAvailable, &bytesRead);\n\t\t\tLogVerbose(@\"%@ - read from secure socket = %u\", THIS_METHOD, (unsigned)bytesRead);\n\t\t\t\n\t\t\tif (bytesRead > 0)\n\t\t\t{\n\t\t\t\t[preBuffer didWrite:bytesRead];\n\t\t\t}\n\t\t\t\n\t\t\tLogVerbose(@\"%@ - prebuffer.length = %zu\", THIS_METHOD, [preBuffer availableBytes]);\n\t\t\t\n\t\t\tif (result != noErr)\n\t\t\t{\n\t\t\t\tdone = YES;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tupdateEstimatedBytesAvailable();\n\t\t\t}\n\t\t\t\n\t\t} while (!done && estimatedBytesAvailable > 0);\n\t}\n}\n\n- (void)doReadData\n{\n\tLogTrace();\n\t\n\t// This method is called on the socketQueue.\n\t// It might be called directly, or via the readSource when data is available to be read.\n\t\n\tif ((currentRead == nil) || (flags & kReadsPaused))\n\t{\n\t\tLogVerbose(@\"No currentRead or kReadsPaused\");\n\t\t\n\t\t// Unable to read at this time\n\t\t\n\t\tif (flags & kSocketSecure)\n\t\t{\n\t\t\t// Here's the situation:\n\t\t\t// \n\t\t\t// We have an established secure connection.\n\t\t\t// There may not be a currentRead, but there might be encrypted data sitting around for us.\n\t\t\t// When the user does get around to issuing a read, that encrypted data will need to be decrypted.\n\t\t\t// \n\t\t\t// So why make the user wait?\n\t\t\t// We might as well get a head start on decrypting some data now.\n\t\t\t// \n\t\t\t// The other reason we do this has to do with detecting a socket disconnection.\n\t\t\t// The SSL/TLS protocol has it's own disconnection handshake.\n\t\t\t// So when a secure socket is closed, a \"goodbye\" packet comes across the wire.\n\t\t\t// We want to make sure we read the \"goodbye\" packet so we can properly detect the TCP disconnection.\n\t\t\t\n\t\t\t[self flushSSLBuffers];\n\t\t}\n\t\t\n\t\tif ([self usingCFStreamForTLS])\n\t\t{\n\t\t\t// CFReadStream only fires once when there is available data.\n\t\t\t// It won't fire again until we've invoked CFReadStreamRead.\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// If the readSource is firing, we need to pause it\n\t\t\t// or else it will continue to fire over and over again.\n\t\t\t// \n\t\t\t// If the readSource is not firing,\n\t\t\t// we want it to continue monitoring the socket.\n\t\t\t\n\t\t\tif (socketFDBytesAvailable > 0)\n\t\t\t{\n\t\t\t\t[self suspendReadSource];\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\t\n\tBOOL hasBytesAvailable = NO;\n\tunsigned long estimatedBytesAvailable = 0;\n\t\n\tif ([self usingCFStreamForTLS])\n\t{\n\t\t#if TARGET_OS_IPHONE\n\t\t\n\t\t// Requested CFStream, rather than SecureTransport, for TLS (via GCDAsyncSocketUseCFStreamForTLS)\n\t\t\n\t\testimatedBytesAvailable = 0;\n\t\tif ((flags & kSecureSocketHasBytesAvailable) && CFReadStreamHasBytesAvailable(readStream))\n\t\t\thasBytesAvailable = YES;\n\t\telse\n\t\t\thasBytesAvailable = NO;\n\t\t\n\t\t#endif\n\t}\n\telse\n\t{\n\t\testimatedBytesAvailable = socketFDBytesAvailable;\n\t\t\n\t\tif (flags & kSocketSecure)\n\t\t{\n\t\t\t// There are 2 buffers to be aware of here.\n\t\t\t// \n\t\t\t// We are using SecureTransport, a TLS/SSL security layer which sits atop TCP.\n\t\t\t// We issue a read to the SecureTranport API, which in turn issues a read to our SSLReadFunction.\n\t\t\t// Our SSLReadFunction then reads from the BSD socket and returns the encrypted data to SecureTransport.\n\t\t\t// SecureTransport then decrypts the data, and finally returns the decrypted data back to us.\n\t\t\t// \n\t\t\t// The first buffer is one we create.\n\t\t\t// SecureTransport often requests small amounts of data.\n\t\t\t// This has to do with the encypted packets that are coming across the TCP stream.\n\t\t\t// But it's non-optimal to do a bunch of small reads from the BSD socket.\n\t\t\t// So our SSLReadFunction reads all available data from the socket (optimizing the sys call)\n\t\t\t// and may store excess in the sslPreBuffer.\n\t\t\t\n\t\t\testimatedBytesAvailable += [sslPreBuffer availableBytes];\n\t\t\t\n\t\t\t// The second buffer is within SecureTransport.\n\t\t\t// As mentioned earlier, there are encrypted packets coming across the TCP stream.\n\t\t\t// SecureTransport needs the entire packet to decrypt it.\n\t\t\t// But if the entire packet produces X bytes of decrypted data,\n\t\t\t// and we only asked SecureTransport for X/2 bytes of data,\n\t\t\t// it must store the extra X/2 bytes of decrypted data for the next read.\n\t\t\t// \n\t\t\t// The SSLGetBufferedReadSize function will tell us the size of this internal buffer.\n\t\t\t// From the documentation:\n\t\t\t// \n\t\t\t// \"This function does not block or cause any low-level read operations to occur.\"\n\t\t\t\n\t\t\tsize_t sslInternalBufSize = 0;\n\t\t\tSSLGetBufferedReadSize(sslContext, &sslInternalBufSize);\n\t\t\t\n\t\t\testimatedBytesAvailable += sslInternalBufSize;\n\t\t}\n\t\t\n\t\thasBytesAvailable = (estimatedBytesAvailable > 0);\n\t}\n\t\n\tif ((hasBytesAvailable == NO) && ([preBuffer availableBytes] == 0))\n\t{\n\t\tLogVerbose(@\"No data available to read...\");\n\t\t\n\t\t// No data available to read.\n\t\t\n\t\tif (![self usingCFStreamForTLS])\n\t\t{\n\t\t\t// Need to wait for readSource to fire and notify us of\n\t\t\t// available data in the socket's internal read buffer.\n\t\t\t\n\t\t\t[self resumeReadSource];\n\t\t}\n\t\treturn;\n\t}\n\t\n\tif (flags & kStartingReadTLS)\n\t{\n\t\tLogVerbose(@\"Waiting for SSL/TLS handshake to complete\");\n\t\t\n\t\t// The readQueue is waiting for SSL/TLS handshake to complete.\n\t\t\n\t\tif (flags & kStartingWriteTLS)\n\t\t{\n\t\t\tif ([self usingSecureTransportForTLS] && lastSSLHandshakeError == errSSLWouldBlock)\n\t\t\t{\n\t\t\t\t// We are in the process of a SSL Handshake.\n\t\t\t\t// We were waiting for incoming data which has just arrived.\n\t\t\t\t\n\t\t\t\t[self ssl_continueSSLHandshake];\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// We are still waiting for the writeQueue to drain and start the SSL/TLS process.\n\t\t\t// We now know data is available to read.\n\t\t\t\n\t\t\tif (![self usingCFStreamForTLS])\n\t\t\t{\n\t\t\t\t// Suspend the read source or else it will continue to fire nonstop.\n\t\t\t\t\n\t\t\t\t[self suspendReadSource];\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn;\n\t}\n\t\n\tBOOL done        = NO;  // Completed read operation\n\tNSError *error   = nil; // Error occurred\n\t\n\tNSUInteger totalBytesReadForCurrentRead = 0;\n\t\n\t// \n\t// STEP 1 - READ FROM PREBUFFER\n\t// \n\t\n\tif ([preBuffer availableBytes] > 0)\n\t{\n\t\t// There are 3 types of read packets:\n\t\t// \n\t\t// 1) Read all available data.\n\t\t// 2) Read a specific length of data.\n\t\t// 3) Read up to a particular terminator.\n\t\t\n\t\tNSUInteger bytesToCopy;\n\t\t\n\t\tif (currentRead->term != nil)\n\t\t{\n\t\t\t// Read type #3 - read up to a terminator\n\t\t\t\n\t\t\tbytesToCopy = [currentRead readLengthForTermWithPreBuffer:preBuffer found:&done];\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Read type #1 or #2\n\t\t\t\n\t\t\tbytesToCopy = [currentRead readLengthForNonTermWithHint:[preBuffer availableBytes]];\n\t\t}\n\t\t\n\t\t// Make sure we have enough room in the buffer for our read.\n\t\t\n\t\t[currentRead ensureCapacityForAdditionalDataOfLength:bytesToCopy];\n\t\t\n\t\t// Copy bytes from prebuffer into packet buffer\n\t\t\n\t\tuint8_t *buffer = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset +\n\t\t                                                                  currentRead->bytesDone;\n\t\t\n\t\tmemcpy(buffer, [preBuffer readBuffer], bytesToCopy);\n\t\t\n\t\t// Remove the copied bytes from the preBuffer\n\t\t[preBuffer didRead:bytesToCopy];\n\t\t\n\t\tLogVerbose(@\"copied(%lu) preBufferLength(%zu)\", (unsigned long)bytesToCopy, [preBuffer availableBytes]);\n\t\t\n\t\t// Update totals\n\t\t\n\t\tcurrentRead->bytesDone += bytesToCopy;\n\t\ttotalBytesReadForCurrentRead += bytesToCopy;\n\t\t\n\t\t// Check to see if the read operation is done\n\t\t\n\t\tif (currentRead->readLength > 0)\n\t\t{\n\t\t\t// Read type #2 - read a specific length of data\n\t\t\t\n\t\t\tdone = (currentRead->bytesDone == currentRead->readLength);\n\t\t}\n\t\telse if (currentRead->term != nil)\n\t\t{\n\t\t\t// Read type #3 - read up to a terminator\n\t\t\t\n\t\t\t// Our 'done' variable was updated via the readLengthForTermWithPreBuffer:found: method\n\t\t\t\n\t\t\tif (!done && currentRead->maxLength > 0)\n\t\t\t{\n\t\t\t\t// We're not done and there's a set maxLength.\n\t\t\t\t// Have we reached that maxLength yet?\n\t\t\t\t\n\t\t\t\tif (currentRead->bytesDone >= currentRead->maxLength)\n\t\t\t\t{\n\t\t\t\t\terror = [self readMaxedOutError];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Read type #1 - read all available data\n\t\t\t// \n\t\t\t// We're done as soon as\n\t\t\t// - we've read all available data (in prebuffer and socket)\n\t\t\t// - we've read the maxLength of read packet.\n\t\t\t\n\t\t\tdone = ((currentRead->maxLength > 0) && (currentRead->bytesDone == currentRead->maxLength));\n\t\t}\n\t\t\n\t}\n\t\n\t// \n\t// STEP 2 - READ FROM SOCKET\n\t// \n\t\n\tBOOL socketEOF = (flags & kSocketHasReadEOF) ? YES : NO;  // Nothing more to read via socket (end of file)\n\tBOOL waiting   = !done && !error && !socketEOF && !hasBytesAvailable; // Ran out of data, waiting for more\n\t\n\tif (!done && !error && !socketEOF && hasBytesAvailable)\n\t{\n\t\tNSAssert(([preBuffer availableBytes] == 0), @\"Invalid logic\");\n\t\t\n\t\tBOOL readIntoPreBuffer = NO;\n\t\tuint8_t *buffer = NULL;\n\t\tsize_t bytesRead = 0;\n\t\t\n\t\tif (flags & kSocketSecure)\n\t\t{\n\t\t\tif ([self usingCFStreamForTLS])\n\t\t\t{\n\t\t\t\t#if TARGET_OS_IPHONE\n\t\t\t\t\n\t\t\t\t// Using CFStream, rather than SecureTransport, for TLS\n\t\t\t\t\n\t\t\t\tNSUInteger defaultReadLength = (1024 * 32);\n\t\t\t\t\n\t\t\t\tNSUInteger bytesToRead = [currentRead optimalReadLengthWithDefault:defaultReadLength\n\t\t\t\t                                                   shouldPreBuffer:&readIntoPreBuffer];\n\t\t\t\t\n\t\t\t\t// Make sure we have enough room in the buffer for our read.\n\t\t\t\t//\n\t\t\t\t// We are either reading directly into the currentRead->buffer,\n\t\t\t\t// or we're reading into the temporary preBuffer.\n\t\t\t\t\n\t\t\t\tif (readIntoPreBuffer)\n\t\t\t\t{\n\t\t\t\t\t[preBuffer ensureCapacityForWrite:bytesToRead];\n\t\t\t\t\t\n\t\t\t\t\tbuffer = [preBuffer writeBuffer];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t[currentRead ensureCapacityForAdditionalDataOfLength:bytesToRead];\n\t\t\t\t\t\n\t\t\t\t\tbuffer = (uint8_t *)[currentRead->buffer mutableBytes]\n\t\t\t\t\t       + currentRead->startOffset\n\t\t\t\t\t       + currentRead->bytesDone;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Read data into buffer\n\t\t\t\t\n\t\t\t\tCFIndex result = CFReadStreamRead(readStream, buffer, (CFIndex)bytesToRead);\n\t\t\t\tLogVerbose(@\"CFReadStreamRead(): result = %i\", (int)result);\n\t\t\t\t\n\t\t\t\tif (result < 0)\n\t\t\t\t{\n\t\t\t\t\terror = (__bridge_transfer NSError *)CFReadStreamCopyError(readStream);\n\t\t\t\t}\n\t\t\t\telse if (result == 0)\n\t\t\t\t{\n\t\t\t\t\tsocketEOF = YES;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\twaiting = YES;\n\t\t\t\t\tbytesRead = (size_t)result;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// We only know how many decrypted bytes were read.\n\t\t\t\t// The actual number of bytes read was likely more due to the overhead of the encryption.\n\t\t\t\t// So we reset our flag, and rely on the next callback to alert us of more data.\n\t\t\t\tflags &= ~kSecureSocketHasBytesAvailable;\n\t\t\t\t\n\t\t\t\t#endif\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Using SecureTransport for TLS\n\t\t\t\t//\n\t\t\t\t// We know:\n\t\t\t\t// - how many bytes are available on the socket\n\t\t\t\t// - how many encrypted bytes are sitting in the sslPreBuffer\n\t\t\t\t// - how many decypted bytes are sitting in the sslContext\n\t\t\t\t//\n\t\t\t\t// But we do NOT know:\n\t\t\t\t// - how many encypted bytes are sitting in the sslContext\n\t\t\t\t//\n\t\t\t\t// So we play the regular game of using an upper bound instead.\n\t\t\t\t\n\t\t\t\tNSUInteger defaultReadLength = (1024 * 32);\n\t\t\t\t\n\t\t\t\tif (defaultReadLength < estimatedBytesAvailable) {\n\t\t\t\t\tdefaultReadLength = estimatedBytesAvailable + (1024 * 16);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tNSUInteger bytesToRead = [currentRead optimalReadLengthWithDefault:defaultReadLength\n\t\t\t\t                                                   shouldPreBuffer:&readIntoPreBuffer];\n\t\t\t\t\n\t\t\t\tif (bytesToRead > SIZE_MAX) { // NSUInteger may be bigger than size_t\n\t\t\t\t\tbytesToRead = SIZE_MAX;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Make sure we have enough room in the buffer for our read.\n\t\t\t\t//\n\t\t\t\t// We are either reading directly into the currentRead->buffer,\n\t\t\t\t// or we're reading into the temporary preBuffer.\n\t\t\t\t\n\t\t\t\tif (readIntoPreBuffer)\n\t\t\t\t{\n\t\t\t\t\t[preBuffer ensureCapacityForWrite:bytesToRead];\n\t\t\t\t\t\n\t\t\t\t\tbuffer = [preBuffer writeBuffer];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t[currentRead ensureCapacityForAdditionalDataOfLength:bytesToRead];\n\t\t\t\t\t\n\t\t\t\t\tbuffer = (uint8_t *)[currentRead->buffer mutableBytes]\n\t\t\t\t\t       + currentRead->startOffset\n\t\t\t\t\t       + currentRead->bytesDone;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// The documentation from Apple states:\n\t\t\t\t// \n\t\t\t\t//     \"a read operation might return errSSLWouldBlock,\n\t\t\t\t//      indicating that less data than requested was actually transferred\"\n\t\t\t\t// \n\t\t\t\t// However, starting around 10.7, the function will sometimes return noErr,\n\t\t\t\t// even if it didn't read as much data as requested. So we need to watch out for that.\n\t\t\t\t\n\t\t\t\tOSStatus result;\n\t\t\t\tdo\n\t\t\t\t{\n\t\t\t\t\tvoid *loop_buffer = buffer + bytesRead;\n\t\t\t\t\tsize_t loop_bytesToRead = (size_t)bytesToRead - bytesRead;\n\t\t\t\t\tsize_t loop_bytesRead = 0;\n\t\t\t\t\t\n\t\t\t\t\tresult = SSLRead(sslContext, loop_buffer, loop_bytesToRead, &loop_bytesRead);\n\t\t\t\t\tLogVerbose(@\"read from secure socket = %u\", (unsigned)loop_bytesRead);\n\t\t\t\t\t\n\t\t\t\t\tbytesRead += loop_bytesRead;\n\t\t\t\t\t\n\t\t\t\t} while ((result == noErr) && (bytesRead < bytesToRead));\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif (result != noErr)\n\t\t\t\t{\n\t\t\t\t\tif (result == errSSLWouldBlock)\n\t\t\t\t\t\twaiting = YES;\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif (result == errSSLClosedGraceful || result == errSSLClosedAbort)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// We've reached the end of the stream.\n\t\t\t\t\t\t\t// Handle this the same way we would an EOF from the socket.\n\t\t\t\t\t\t\tsocketEOF = YES;\n\t\t\t\t\t\t\tsslErrCode = result;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terror = [self sslError:result];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// It's possible that bytesRead > 0, even if the result was errSSLWouldBlock.\n\t\t\t\t\t// This happens when the SSLRead function is able to read some data,\n\t\t\t\t\t// but not the entire amount we requested.\n\t\t\t\t\t\n\t\t\t\t\tif (bytesRead <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tbytesRead = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Do not modify socketFDBytesAvailable.\n\t\t\t\t// It will be updated via the SSLReadFunction().\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Normal socket operation\n\t\t\t\n\t\t\tNSUInteger bytesToRead;\n\t\t\t\n\t\t\t// There are 3 types of read packets:\n\t\t\t//\n\t\t\t// 1) Read all available data.\n\t\t\t// 2) Read a specific length of data.\n\t\t\t// 3) Read up to a particular terminator.\n\t\t\t\n\t\t\tif (currentRead->term != nil)\n\t\t\t{\n\t\t\t\t// Read type #3 - read up to a terminator\n\t\t\t\t\n\t\t\t\tbytesToRead = [currentRead readLengthForTermWithHint:estimatedBytesAvailable\n\t\t\t\t                                     shouldPreBuffer:&readIntoPreBuffer];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Read type #1 or #2\n\t\t\t\t\n\t\t\t\tbytesToRead = [currentRead readLengthForNonTermWithHint:estimatedBytesAvailable];\n\t\t\t}\n\t\t\t\n\t\t\tif (bytesToRead > SIZE_MAX) { // NSUInteger may be bigger than size_t (read param 3)\n\t\t\t\tbytesToRead = SIZE_MAX;\n\t\t\t}\n\t\t\t\n\t\t\t// Make sure we have enough room in the buffer for our read.\n\t\t\t//\n\t\t\t// We are either reading directly into the currentRead->buffer,\n\t\t\t// or we're reading into the temporary preBuffer.\n\t\t\t\n\t\t\tif (readIntoPreBuffer)\n\t\t\t{\n\t\t\t\t[preBuffer ensureCapacityForWrite:bytesToRead];\n\t\t\t\t\n\t\t\t\tbuffer = [preBuffer writeBuffer];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t[currentRead ensureCapacityForAdditionalDataOfLength:bytesToRead];\n\t\t\t\t\n\t\t\t\tbuffer = (uint8_t *)[currentRead->buffer mutableBytes]\n\t\t\t\t       + currentRead->startOffset\n\t\t\t\t       + currentRead->bytesDone;\n\t\t\t}\n\t\t\t\n\t\t\t// Read data into buffer\n\t\t\t\n\t\t\tint socketFD = (socket4FD != SOCKET_NULL) ? socket4FD : (socket6FD != SOCKET_NULL) ? socket6FD : socketUN;\n\t\t\t\n\t\t\tssize_t result = read(socketFD, buffer, (size_t)bytesToRead);\n\t\t\tLogVerbose(@\"read from socket = %i\", (int)result);\n\t\t\t\n\t\t\tif (result < 0)\n\t\t\t{\n\t\t\t\tif (errno == EWOULDBLOCK)\n\t\t\t\t\twaiting = YES;\n\t\t\t\telse\n\t\t\t\t\terror = [self errnoErrorWithReason:@\"Error in read() function\"];\n\t\t\t\t\n\t\t\t\tsocketFDBytesAvailable = 0;\n\t\t\t}\n\t\t\telse if (result == 0)\n\t\t\t{\n\t\t\t\tsocketEOF = YES;\n\t\t\t\tsocketFDBytesAvailable = 0;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tbytesRead = result;\n\t\t\t\t\n\t\t\t\tif (bytesRead < bytesToRead)\n\t\t\t\t{\n\t\t\t\t\t// The read returned less data than requested.\n\t\t\t\t\t// This means socketFDBytesAvailable was a bit off due to timing,\n\t\t\t\t\t// because we read from the socket right when the readSource event was firing.\n\t\t\t\t\tsocketFDBytesAvailable = 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (socketFDBytesAvailable <= bytesRead)\n\t\t\t\t\t\tsocketFDBytesAvailable = 0;\n\t\t\t\t\telse\n\t\t\t\t\t\tsocketFDBytesAvailable -= bytesRead;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (socketFDBytesAvailable == 0)\n\t\t\t\t{\n\t\t\t\t\twaiting = YES;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (bytesRead > 0)\n\t\t{\n\t\t\t// Check to see if the read operation is done\n\t\t\t\n\t\t\tif (currentRead->readLength > 0)\n\t\t\t{\n\t\t\t\t// Read type #2 - read a specific length of data\n\t\t\t\t// \n\t\t\t\t// Note: We should never be using a prebuffer when we're reading a specific length of data.\n\t\t\t\t\n\t\t\t\tNSAssert(readIntoPreBuffer == NO, @\"Invalid logic\");\n\t\t\t\t\n\t\t\t\tcurrentRead->bytesDone += bytesRead;\n\t\t\t\ttotalBytesReadForCurrentRead += bytesRead;\n\t\t\t\t\n\t\t\t\tdone = (currentRead->bytesDone == currentRead->readLength);\n\t\t\t}\n\t\t\telse if (currentRead->term != nil)\n\t\t\t{\n\t\t\t\t// Read type #3 - read up to a terminator\n\t\t\t\t\n\t\t\t\tif (readIntoPreBuffer)\n\t\t\t\t{\n\t\t\t\t\t// We just read a big chunk of data into the preBuffer\n\t\t\t\t\t\n\t\t\t\t\t[preBuffer didWrite:bytesRead];\n\t\t\t\t\tLogVerbose(@\"read data into preBuffer - preBuffer.length = %zu\", [preBuffer availableBytes]);\n\t\t\t\t\t\n\t\t\t\t\t// Search for the terminating sequence\n\t\t\t\t\t\n\t\t\t\t\tNSUInteger bytesToCopy = [currentRead readLengthForTermWithPreBuffer:preBuffer found:&done];\n\t\t\t\t\tLogVerbose(@\"copying %lu bytes from preBuffer\", (unsigned long)bytesToCopy);\n\t\t\t\t\t\n\t\t\t\t\t// Ensure there's room on the read packet's buffer\n\t\t\t\t\t\n\t\t\t\t\t[currentRead ensureCapacityForAdditionalDataOfLength:bytesToCopy];\n\t\t\t\t\t\n\t\t\t\t\t// Copy bytes from prebuffer into read buffer\n\t\t\t\t\t\n\t\t\t\t\tuint8_t *readBuf = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset\n\t\t\t\t\t                                                                 + currentRead->bytesDone;\n\t\t\t\t\t\n\t\t\t\t\tmemcpy(readBuf, [preBuffer readBuffer], bytesToCopy);\n\t\t\t\t\t\n\t\t\t\t\t// Remove the copied bytes from the prebuffer\n\t\t\t\t\t[preBuffer didRead:bytesToCopy];\n\t\t\t\t\tLogVerbose(@\"preBuffer.length = %zu\", [preBuffer availableBytes]);\n\t\t\t\t\t\n\t\t\t\t\t// Update totals\n\t\t\t\t\tcurrentRead->bytesDone += bytesToCopy;\n\t\t\t\t\ttotalBytesReadForCurrentRead += bytesToCopy;\n\t\t\t\t\t\n\t\t\t\t\t// Our 'done' variable was updated via the readLengthForTermWithPreBuffer:found: method above\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t// We just read a big chunk of data directly into the packet's buffer.\n\t\t\t\t\t// We need to move any overflow into the prebuffer.\n\t\t\t\t\t\n\t\t\t\t\tNSInteger overflow = [currentRead searchForTermAfterPreBuffering:bytesRead];\n\t\t\t\t\t\n\t\t\t\t\tif (overflow == 0)\n\t\t\t\t\t{\n\t\t\t\t\t\t// Perfect match!\n\t\t\t\t\t\t// Every byte we read stays in the read buffer,\n\t\t\t\t\t\t// and the last byte we read was the last byte of the term.\n\t\t\t\t\t\t\n\t\t\t\t\t\tcurrentRead->bytesDone += bytesRead;\n\t\t\t\t\t\ttotalBytesReadForCurrentRead += bytesRead;\n\t\t\t\t\t\tdone = YES;\n\t\t\t\t\t}\n\t\t\t\t\telse if (overflow > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\t// The term was found within the data that we read,\n\t\t\t\t\t\t// and there are extra bytes that extend past the end of the term.\n\t\t\t\t\t\t// We need to move these excess bytes out of the read packet and into the prebuffer.\n\t\t\t\t\t\t\n\t\t\t\t\t\tNSInteger underflow = bytesRead - overflow;\n\t\t\t\t\t\t\n\t\t\t\t\t\t// Copy excess data into preBuffer\n\t\t\t\t\t\t\n\t\t\t\t\t\tLogVerbose(@\"copying %ld overflow bytes into preBuffer\", (long)overflow);\n\t\t\t\t\t\t[preBuffer ensureCapacityForWrite:overflow];\n\t\t\t\t\t\t\n\t\t\t\t\t\tuint8_t *overflowBuffer = buffer + underflow;\n\t\t\t\t\t\tmemcpy([preBuffer writeBuffer], overflowBuffer, overflow);\n\t\t\t\t\t\t\n\t\t\t\t\t\t[preBuffer didWrite:overflow];\n\t\t\t\t\t\tLogVerbose(@\"preBuffer.length = %zu\", [preBuffer availableBytes]);\n\t\t\t\t\t\t\n\t\t\t\t\t\t// Note: The completeCurrentRead method will trim the buffer for us.\n\t\t\t\t\t\t\n\t\t\t\t\t\tcurrentRead->bytesDone += underflow;\n\t\t\t\t\t\ttotalBytesReadForCurrentRead += underflow;\n\t\t\t\t\t\tdone = YES;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t// The term was not found within the data that we read.\n\t\t\t\t\t\t\n\t\t\t\t\t\tcurrentRead->bytesDone += bytesRead;\n\t\t\t\t\t\ttotalBytesReadForCurrentRead += bytesRead;\n\t\t\t\t\t\tdone = NO;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (!done && currentRead->maxLength > 0)\n\t\t\t\t{\n\t\t\t\t\t// We're not done and there's a set maxLength.\n\t\t\t\t\t// Have we reached that maxLength yet?\n\t\t\t\t\t\n\t\t\t\t\tif (currentRead->bytesDone >= currentRead->maxLength)\n\t\t\t\t\t{\n\t\t\t\t\t\terror = [self readMaxedOutError];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Read type #1 - read all available data\n\t\t\t\t\n\t\t\t\tif (readIntoPreBuffer)\n\t\t\t\t{\n\t\t\t\t\t// We just read a chunk of data into the preBuffer\n\t\t\t\t\t\n\t\t\t\t\t[preBuffer didWrite:bytesRead];\n\t\t\t\t\t\n\t\t\t\t\t// Now copy the data into the read packet.\n\t\t\t\t\t// \n\t\t\t\t\t// Recall that we didn't read directly into the packet's buffer to avoid\n\t\t\t\t\t// over-allocating memory since we had no clue how much data was available to be read.\n\t\t\t\t\t// \n\t\t\t\t\t// Ensure there's room on the read packet's buffer\n\t\t\t\t\t\n\t\t\t\t\t[currentRead ensureCapacityForAdditionalDataOfLength:bytesRead];\n\t\t\t\t\t\n\t\t\t\t\t// Copy bytes from prebuffer into read buffer\n\t\t\t\t\t\n\t\t\t\t\tuint8_t *readBuf = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset\n\t\t\t\t\t                                                                 + currentRead->bytesDone;\n\t\t\t\t\t\n\t\t\t\t\tmemcpy(readBuf, [preBuffer readBuffer], bytesRead);\n\t\t\t\t\t\n\t\t\t\t\t// Remove the copied bytes from the prebuffer\n\t\t\t\t\t[preBuffer didRead:bytesRead];\n\t\t\t\t\t\n\t\t\t\t\t// Update totals\n\t\t\t\t\tcurrentRead->bytesDone += bytesRead;\n\t\t\t\t\ttotalBytesReadForCurrentRead += bytesRead;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tcurrentRead->bytesDone += bytesRead;\n\t\t\t\t\ttotalBytesReadForCurrentRead += bytesRead;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdone = YES;\n\t\t\t}\n\t\t\t\n\t\t} // if (bytesRead > 0)\n\t\t\n\t} // if (!done && !error && !socketEOF && hasBytesAvailable)\n\t\n\t\n\tif (!done && currentRead->readLength == 0 && currentRead->term == nil)\n\t{\n\t\t// Read type #1 - read all available data\n\t\t// \n\t\t// We might arrive here if we read data from the prebuffer but not from the socket.\n\t\t\n\t\tdone = (totalBytesReadForCurrentRead > 0);\n\t}\n\t\n\t// Check to see if we're done, or if we've made progress\n\t\n\tif (done)\n\t{\n\t\t[self completeCurrentRead];\n\t\t\n\t\tif (!error && (!socketEOF || [preBuffer availableBytes] > 0))\n\t\t{\n\t\t\t[self maybeDequeueRead];\n\t\t}\n\t}\n\telse if (totalBytesReadForCurrentRead > 0)\n\t{\n\t\t// We're not done read type #2 or #3 yet, but we have read in some bytes\n\t\t//\n\t\t// We ensure that `waiting` is set in order to resume the readSource (if it is suspended). It is\n\t\t// possible to reach this point and `waiting` not be set, if the current read's length is\n\t\t// sufficiently large. In that case, we may have read to some upperbound successfully, but\n\t\t// that upperbound could be smaller than the desired length.\n\t\twaiting = YES;\n\n\t\t__strong id theDelegate = delegate;\n\t\t\n\t\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socket:didReadPartialDataOfLength:tag:)])\n\t\t{\n\t\t\tlong theReadTag = currentRead->tag;\n\t\t\t\n\t\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[theDelegate socket:self didReadPartialDataOfLength:totalBytesReadForCurrentRead tag:theReadTag];\n\t\t\t}});\n\t\t}\n\t}\n\t\n\t// Check for errors\n\t\n\tif (error)\n\t{\n\t\t[self closeWithError:error];\n\t}\n\telse if (socketEOF)\n\t{\n\t\t[self doReadEOF];\n\t}\n\telse if (waiting)\n\t{\n\t\tif (![self usingCFStreamForTLS])\n\t\t{\n\t\t\t// Monitor the socket for readability (if we're not already doing so)\n\t\t\t[self resumeReadSource];\n\t\t}\n\t}\n\t\n\t// Do not add any code here without first adding return statements in the error cases above.\n}\n\n- (void)doReadEOF\n{\n\tLogTrace();\n\t\n\t// This method may be called more than once.\n\t// If the EOF is read while there is still data in the preBuffer,\n\t// then this method may be called continually after invocations of doReadData to see if it's time to disconnect.\n\t\n\tflags |= kSocketHasReadEOF;\n\t\n\tif (flags & kSocketSecure)\n\t{\n\t\t// If the SSL layer has any buffered data, flush it into the preBuffer now.\n\t\t\n\t\t[self flushSSLBuffers];\n\t}\n\t\n\tBOOL shouldDisconnect = NO;\n\tNSError *error = nil;\n\t\n\tif ((flags & kStartingReadTLS) || (flags & kStartingWriteTLS))\n\t{\n\t\t// We received an EOF during or prior to startTLS.\n\t\t// The SSL/TLS handshake is now impossible, so this is an unrecoverable situation.\n\t\t\n\t\tshouldDisconnect = YES;\n\t\t\n\t\tif ([self usingSecureTransportForTLS])\n\t\t{\n\t\t\terror = [self sslError:errSSLClosedAbort];\n\t\t}\n\t}\n\telse if (flags & kReadStreamClosed)\n\t{\n\t\t// The preBuffer has already been drained.\n\t\t// The config allows half-duplex connections.\n\t\t// We've previously checked the socket, and it appeared writeable.\n\t\t// So we marked the read stream as closed and notified the delegate.\n\t\t// \n\t\t// As per the half-duplex contract, the socket will be closed when a write fails,\n\t\t// or when the socket is manually closed.\n\t\t\n\t\tshouldDisconnect = NO;\n\t}\n\telse if ([preBuffer availableBytes] > 0)\n\t{\n\t\tLogVerbose(@\"Socket reached EOF, but there is still data available in prebuffer\");\n\t\t\n\t\t// Although we won't be able to read any more data from the socket,\n\t\t// there is existing data that has been prebuffered that we can read.\n\t\t\n\t\tshouldDisconnect = NO;\n\t}\n\telse if (config & kAllowHalfDuplexConnection)\n\t{\n\t\t// We just received an EOF (end of file) from the socket's read stream.\n\t\t// This means the remote end of the socket (the peer we're connected to)\n\t\t// has explicitly stated that it will not be sending us any more data.\n\t\t// \n\t\t// Query the socket to see if it is still writeable. (Perhaps the peer will continue reading data from us)\n\t\t\n\t\tint socketFD = (socket4FD != SOCKET_NULL) ? socket4FD : (socket6FD != SOCKET_NULL) ? socket6FD : socketUN;\n\t\t\n\t\tstruct pollfd pfd[1];\n\t\tpfd[0].fd = socketFD;\n\t\tpfd[0].events = POLLOUT;\n\t\tpfd[0].revents = 0;\n\t\t\n\t\tpoll(pfd, 1, 0);\n\t\t\n\t\tif (pfd[0].revents & POLLOUT)\n\t\t{\n\t\t\t// Socket appears to still be writeable\n\t\t\t\n\t\t\tshouldDisconnect = NO;\n\t\t\tflags |= kReadStreamClosed;\n\t\t\t\n\t\t\t// Notify the delegate that we're going half-duplex\n\t\t\t\n\t\t\t__strong id theDelegate = delegate;\n\n\t\t\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socketDidCloseReadStream:)])\n\t\t\t{\n\t\t\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\n\t\t\t\t\t[theDelegate socketDidCloseReadStream:self];\n\t\t\t\t}});\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tshouldDisconnect = YES;\n\t\t}\n\t}\n\telse\n\t{\n\t\tshouldDisconnect = YES;\n\t}\n\t\n\t\n\tif (shouldDisconnect)\n\t{\n\t\tif (error == nil)\n\t\t{\n\t\t\tif ([self usingSecureTransportForTLS])\n\t\t\t{\n\t\t\t\tif (sslErrCode != noErr && sslErrCode != errSSLClosedGraceful)\n\t\t\t\t{\n\t\t\t\t\terror = [self sslError:sslErrCode];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\terror = [self connectionClosedError];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\terror = [self connectionClosedError];\n\t\t\t}\n\t\t}\n\t\t[self closeWithError:error];\n\t}\n\telse\n\t{\n\t\tif (![self usingCFStreamForTLS])\n\t\t{\n\t\t\t// Suspend the read source (if needed)\n\t\t\t\n\t\t\t[self suspendReadSource];\n\t\t}\n\t}\n}\n\n- (void)completeCurrentRead\n{\n\tLogTrace();\n\t\n\tNSAssert(currentRead, @\"Trying to complete current read when there is no current read.\");\n\t\n\t\n\tNSData *result = nil;\n\t\n\tif (currentRead->bufferOwner)\n\t{\n\t\t// We created the buffer on behalf of the user.\n\t\t// Trim our buffer to be the proper size.\n\t\t[currentRead->buffer setLength:currentRead->bytesDone];\n\t\t\n\t\tresult = currentRead->buffer;\n\t}\n\telse\n\t{\n\t\t// We did NOT create the buffer.\n\t\t// The buffer is owned by the caller.\n\t\t// Only trim the buffer if we had to increase its size.\n\t\t\n\t\tif ([currentRead->buffer length] > currentRead->originalBufferLength)\n\t\t{\n\t\t\tNSUInteger readSize = currentRead->startOffset + currentRead->bytesDone;\n\t\t\tNSUInteger origSize = currentRead->originalBufferLength;\n\t\t\t\n\t\t\tNSUInteger buffSize = MAX(readSize, origSize);\n\t\t\t\n\t\t\t[currentRead->buffer setLength:buffSize];\n\t\t}\n\t\t\n\t\tuint8_t *buffer = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset;\n\t\t\n\t\tresult = [NSData dataWithBytesNoCopy:buffer length:currentRead->bytesDone freeWhenDone:NO];\n\t}\n\t\n\t__strong id theDelegate = delegate;\n\n\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socket:didReadData:withTag:)])\n\t{\n\t\tGCDAsyncReadPacket *theRead = currentRead; // Ensure currentRead retained since result may not own buffer\n\t\t\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate socket:self didReadData:result withTag:theRead->tag];\n\t\t}});\n\t}\n\t\n\t[self endCurrentRead];\n}\n\n- (void)endCurrentRead\n{\n\tif (readTimer)\n\t{\n\t\tdispatch_source_cancel(readTimer);\n\t\treadTimer = NULL;\n\t}\n\t\n\tcurrentRead = nil;\n}\n\n- (void)setupReadTimerWithTimeout:(NSTimeInterval)timeout\n{\n\tif (timeout >= 0.0)\n\t{\n\t\treadTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue);\n\t\t\n\t\t__weak GCDAsyncSocket *weakSelf = self;\n\t\t\n\t\tdispatch_source_set_event_handler(readTimer, ^{ @autoreleasepool {\n\t\t#pragma clang diagnostic push\n\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\n\t\t\t__strong GCDAsyncSocket *strongSelf = weakSelf;\n\t\t\tif (strongSelf == nil) return_from_block;\n\t\t\t\n\t\t\t[strongSelf doReadTimeout];\n\t\t\t\n\t\t#pragma clang diagnostic pop\n\t\t}});\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tdispatch_source_t theReadTimer = readTimer;\n\t\tdispatch_source_set_cancel_handler(readTimer, ^{\n\t\t#pragma clang diagnostic push\n\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\n\t\t\tLogVerbose(@\"dispatch_release(readTimer)\");\n\t\t\tdispatch_release(theReadTimer);\n\t\t\t\n\t\t#pragma clang diagnostic pop\n\t\t});\n\t\t#endif\n\t\t\n\t\tdispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(timeout * NSEC_PER_SEC));\n\t\t\n\t\tdispatch_source_set_timer(readTimer, tt, DISPATCH_TIME_FOREVER, 0);\n\t\tdispatch_resume(readTimer);\n\t}\n}\n\n- (void)doReadTimeout\n{\n\t// This is a little bit tricky.\n\t// Ideally we'd like to synchronously query the delegate about a timeout extension.\n\t// But if we do so synchronously we risk a possible deadlock.\n\t// So instead we have to do so asynchronously, and callback to ourselves from within the delegate block.\n\t\n\tflags |= kReadsPaused;\n\t\n\t__strong id theDelegate = delegate;\n\n\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socket:shouldTimeoutReadWithTag:elapsed:bytesDone:)])\n\t{\n\t\tGCDAsyncReadPacket *theRead = currentRead;\n\t\t\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\tNSTimeInterval timeoutExtension = 0.0;\n\t\t\t\n\t\t\ttimeoutExtension = [theDelegate socket:self shouldTimeoutReadWithTag:theRead->tag\n\t\t\t                                                             elapsed:theRead->timeout\n\t\t\t                                                           bytesDone:theRead->bytesDone];\n\t\t\t\n            dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[self doReadTimeoutWithExtension:timeoutExtension];\n\t\t\t}});\n\t\t}});\n\t}\n\telse\n\t{\n\t\t[self doReadTimeoutWithExtension:0.0];\n\t}\n}\n\n- (void)doReadTimeoutWithExtension:(NSTimeInterval)timeoutExtension\n{\n\tif (currentRead)\n\t{\n\t\tif (timeoutExtension > 0.0)\n\t\t{\n\t\t\tcurrentRead->timeout += timeoutExtension;\n\t\t\t\n\t\t\t// Reschedule the timer\n\t\t\tdispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(timeoutExtension * NSEC_PER_SEC));\n\t\t\tdispatch_source_set_timer(readTimer, tt, DISPATCH_TIME_FOREVER, 0);\n\t\t\t\n\t\t\t// Unpause reads, and continue\n\t\t\tflags &= ~kReadsPaused;\n\t\t\t[self doReadData];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLogVerbose(@\"ReadTimeout\");\n\t\t\t\n\t\t\t[self closeWithError:[self readTimeoutError]];\n\t\t}\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Writing\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n\tif ([data length] == 0) return;\n\t\n\tGCDAsyncWritePacket *packet = [[GCDAsyncWritePacket alloc] initWithData:data timeout:timeout tag:tag];\n\t\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n\t\tLogTrace();\n\t\t\n        if ((self->flags & kSocketStarted) && !(self->flags & kForbidReadsWrites))\n\t\t{\n            [self->writeQueue addObject:packet];\n\t\t\t[self maybeDequeueWrite];\n\t\t}\n\t}});\n\t\n\t// Do not rely on the block being run in order to release the packet,\n\t// as the queue might get released without the block completing.\n}\n\n- (float)progressOfWriteReturningTag:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(NSUInteger *)totalPtr\n{\n\t__block float result = 0.0F;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        if (!self->currentWrite || ![self->currentWrite isKindOfClass:[GCDAsyncWritePacket class]])\n\t\t{\n\t\t\t// We're not writing anything right now.\n\t\t\t\n\t\t\tif (tagPtr != NULL)   *tagPtr = 0;\n\t\t\tif (donePtr != NULL)  *donePtr = 0;\n\t\t\tif (totalPtr != NULL) *totalPtr = 0;\n\t\t\t\n\t\t\tresult = NAN;\n\t\t}\n\t\telse\n\t\t{\n            NSUInteger done = self->currentWrite->bytesDone;\n            NSUInteger total = [self->currentWrite->buffer length];\n\t\t\t\n            if (tagPtr != NULL)   *tagPtr = self->currentWrite->tag;\n\t\t\tif (donePtr != NULL)  *donePtr = done;\n\t\t\tif (totalPtr != NULL) *totalPtr = total;\n\t\t\t\n\t\t\tresult = (float)done / (float)total;\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n/**\n * Conditionally starts a new write.\n * \n * It is called when:\n * - a user requests a write\n * - after a write request has finished (to handle the next request)\n * - immediately after the socket opens to handle any pending requests\n * \n * This method also handles auto-disconnect post read/write completion.\n**/\n- (void)maybeDequeueWrite\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t\n\t// If we're not currently processing a write AND we have an available write stream\n\tif ((currentWrite == nil) && (flags & kConnected))\n\t{\n\t\tif ([writeQueue count] > 0)\n\t\t{\n\t\t\t// Dequeue the next object in the write queue\n\t\t\tcurrentWrite = [writeQueue objectAtIndex:0];\n\t\t\t[writeQueue removeObjectAtIndex:0];\n\t\t\t\n\t\t\t\n\t\t\tif ([currentWrite isKindOfClass:[GCDAsyncSpecialPacket class]])\n\t\t\t{\n\t\t\t\tLogVerbose(@\"Dequeued GCDAsyncSpecialPacket\");\n\t\t\t\t\n\t\t\t\t// Attempt to start TLS\n\t\t\t\tflags |= kStartingWriteTLS;\n\t\t\t\t\n\t\t\t\t// This method won't do anything unless both kStartingReadTLS and kStartingWriteTLS are set\n\t\t\t\t[self maybeStartTLS];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tLogVerbose(@\"Dequeued GCDAsyncWritePacket\");\n\t\t\t\t\n\t\t\t\t// Setup write timer (if needed)\n\t\t\t\t[self setupWriteTimerWithTimeout:currentWrite->timeout];\n\t\t\t\t\n\t\t\t\t// Immediately write, if possible\n\t\t\t\t[self doWriteData];\n\t\t\t}\n\t\t}\n\t\telse if (flags & kDisconnectAfterWrites)\n\t\t{\n\t\t\tif (flags & kDisconnectAfterReads)\n\t\t\t{\n\t\t\t\tif (([readQueue count] == 0) && (currentRead == nil))\n\t\t\t\t{\n\t\t\t\t\t[self closeWithError:nil];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t[self closeWithError:nil];\n\t\t\t}\n\t\t}\n\t}\n}\n\n- (void)doWriteData\n{\n\tLogTrace();\n\t\n\t// This method is called by the writeSource via the socketQueue\n\t\n\tif ((currentWrite == nil) || (flags & kWritesPaused))\n\t{\n\t\tLogVerbose(@\"No currentWrite or kWritesPaused\");\n\t\t\n\t\t// Unable to write at this time\n\t\t\n\t\tif ([self usingCFStreamForTLS])\n\t\t{\n\t\t\t// CFWriteStream only fires once when there is available data.\n\t\t\t// It won't fire again until we've invoked CFWriteStreamWrite.\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// If the writeSource is firing, we need to pause it\n\t\t\t// or else it will continue to fire over and over again.\n\t\t\t\n\t\t\tif (flags & kSocketCanAcceptBytes)\n\t\t\t{\n\t\t\t\t[self suspendWriteSource];\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\t\n\tif (!(flags & kSocketCanAcceptBytes))\n\t{\n\t\tLogVerbose(@\"No space available to write...\");\n\t\t\n\t\t// No space available to write.\n\t\t\n\t\tif (![self usingCFStreamForTLS])\n\t\t{\n\t\t\t// Need to wait for writeSource to fire and notify us of\n\t\t\t// available space in the socket's internal write buffer.\n\t\t\t\n\t\t\t[self resumeWriteSource];\n\t\t}\n\t\treturn;\n\t}\n\t\n\tif (flags & kStartingWriteTLS)\n\t{\n\t\tLogVerbose(@\"Waiting for SSL/TLS handshake to complete\");\n\t\t\n\t\t// The writeQueue is waiting for SSL/TLS handshake to complete.\n\t\t\n\t\tif (flags & kStartingReadTLS)\n\t\t{\n\t\t\tif ([self usingSecureTransportForTLS] && lastSSLHandshakeError == errSSLWouldBlock)\n\t\t\t{\n\t\t\t\t// We are in the process of a SSL Handshake.\n\t\t\t\t// We were waiting for available space in the socket's internal OS buffer to continue writing.\n\t\t\t\n\t\t\t\t[self ssl_continueSSLHandshake];\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// We are still waiting for the readQueue to drain and start the SSL/TLS process.\n\t\t\t// We now know we can write to the socket.\n\t\t\t\n\t\t\tif (![self usingCFStreamForTLS])\n\t\t\t{\n\t\t\t\t// Suspend the write source or else it will continue to fire nonstop.\n\t\t\t\t\n\t\t\t\t[self suspendWriteSource];\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn;\n\t}\n\t\n\t// Note: This method is not called if currentWrite is a GCDAsyncSpecialPacket (startTLS packet)\n\t\n\tBOOL waiting = NO;\n\tNSError *error = nil;\n\tsize_t bytesWritten = 0;\n\t\n\tif (flags & kSocketSecure)\n\t{\n\t\tif ([self usingCFStreamForTLS])\n\t\t{\n\t\t\t#if TARGET_OS_IPHONE\n\t\t\t\n\t\t\t// \n\t\t\t// Writing data using CFStream (over internal TLS)\n\t\t\t// \n\t\t\t\n\t\t\tconst uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes] + currentWrite->bytesDone;\n\t\t\t\n\t\t\tNSUInteger bytesToWrite = [currentWrite->buffer length] - currentWrite->bytesDone;\n\t\t\t\n\t\t\tif (bytesToWrite > SIZE_MAX) // NSUInteger may be bigger than size_t (write param 3)\n\t\t\t{\n\t\t\t\tbytesToWrite = SIZE_MAX;\n\t\t\t}\n\t\t\n\t\t\tCFIndex result = CFWriteStreamWrite(writeStream, buffer, (CFIndex)bytesToWrite);\n\t\t\tLogVerbose(@\"CFWriteStreamWrite(%lu) = %li\", (unsigned long)bytesToWrite, result);\n\t\t\n\t\t\tif (result < 0)\n\t\t\t{\n\t\t\t\terror = (__bridge_transfer NSError *)CFWriteStreamCopyError(writeStream);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tbytesWritten = (size_t)result;\n\t\t\t\t\n\t\t\t\t// We always set waiting to true in this scenario.\n\t\t\t\t// CFStream may have altered our underlying socket to non-blocking.\n\t\t\t\t// Thus if we attempt to write without a callback, we may end up blocking our queue.\n\t\t\t\twaiting = YES;\n\t\t\t}\n\t\t\t\n\t\t\t#endif\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// We're going to use the SSLWrite function.\n\t\t\t// \n\t\t\t// OSStatus SSLWrite(SSLContextRef context, const void *data, size_t dataLength, size_t *processed)\n\t\t\t// \n\t\t\t// Parameters:\n\t\t\t// context     - An SSL session context reference.\n\t\t\t// data        - A pointer to the buffer of data to write.\n\t\t\t// dataLength  - The amount, in bytes, of data to write.\n\t\t\t// processed   - On return, the length, in bytes, of the data actually written.\n\t\t\t// \n\t\t\t// It sounds pretty straight-forward,\n\t\t\t// but there are a few caveats you should be aware of.\n\t\t\t// \n\t\t\t// The SSLWrite method operates in a non-obvious (and rather annoying) manner.\n\t\t\t// According to the documentation:\n\t\t\t// \n\t\t\t//   Because you may configure the underlying connection to operate in a non-blocking manner,\n\t\t\t//   a write operation might return errSSLWouldBlock, indicating that less data than requested\n\t\t\t//   was actually transferred. In this case, you should repeat the call to SSLWrite until some\n\t\t\t//   other result is returned.\n\t\t\t// \n\t\t\t// This sounds perfect, but when our SSLWriteFunction returns errSSLWouldBlock,\n\t\t\t// then the SSLWrite method returns (with the proper errSSLWouldBlock return value),\n\t\t\t// but it sets processed to dataLength !!\n\t\t\t// \n\t\t\t// In other words, if the SSLWrite function doesn't completely write all the data we tell it to,\n\t\t\t// then it doesn't tell us how many bytes were actually written. So, for example, if we tell it to\n\t\t\t// write 256 bytes then it might actually write 128 bytes, but then report 0 bytes written.\n\t\t\t// \n\t\t\t// You might be wondering:\n\t\t\t// If the SSLWrite function doesn't tell us how many bytes were written,\n\t\t\t// then how in the world are we supposed to update our parameters (buffer & bytesToWrite)\n\t\t\t// for the next time we invoke SSLWrite?\n\t\t\t// \n\t\t\t// The answer is that SSLWrite cached all the data we told it to write,\n\t\t\t// and it will push out that data next time we call SSLWrite.\n\t\t\t// If we call SSLWrite with new data, it will push out the cached data first, and then the new data.\n\t\t\t// If we call SSLWrite with empty data, then it will simply push out the cached data.\n\t\t\t// \n\t\t\t// For this purpose we're going to break large writes into a series of smaller writes.\n\t\t\t// This allows us to report progress back to the delegate.\n\t\t\t\n\t\t\tOSStatus result;\n\t\t\t\n\t\t\tBOOL hasCachedDataToWrite = (sslWriteCachedLength > 0);\n\t\t\tBOOL hasNewDataToWrite = YES;\n\t\t\t\n\t\t\tif (hasCachedDataToWrite)\n\t\t\t{\n\t\t\t\tsize_t processed = 0;\n\t\t\t\t\n\t\t\t\tresult = SSLWrite(sslContext, NULL, 0, &processed);\n\t\t\t\t\n\t\t\t\tif (result == noErr)\n\t\t\t\t{\n\t\t\t\t\tbytesWritten = sslWriteCachedLength;\n\t\t\t\t\tsslWriteCachedLength = 0;\n\t\t\t\t\t\n\t\t\t\t\tif ([currentWrite->buffer length] == (currentWrite->bytesDone + bytesWritten))\n\t\t\t\t\t{\n\t\t\t\t\t\t// We've written all data for the current write.\n\t\t\t\t\t\thasNewDataToWrite = NO;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (result == errSSLWouldBlock)\n\t\t\t\t\t{\n\t\t\t\t\t\twaiting = YES;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\terror = [self sslError:result];\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t// Can't write any new data since we were unable to write the cached data.\n\t\t\t\t\thasNewDataToWrite = NO;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif (hasNewDataToWrite)\n\t\t\t{\n\t\t\t\tconst uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes]\n\t\t\t\t                                        + currentWrite->bytesDone\n\t\t\t\t                                        + bytesWritten;\n\t\t\t\t\n\t\t\t\tNSUInteger bytesToWrite = [currentWrite->buffer length] - currentWrite->bytesDone - bytesWritten;\n\t\t\t\t\n\t\t\t\tif (bytesToWrite > SIZE_MAX) // NSUInteger may be bigger than size_t (write param 3)\n\t\t\t\t{\n\t\t\t\t\tbytesToWrite = SIZE_MAX;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsize_t bytesRemaining = bytesToWrite;\n\t\t\t\t\n\t\t\t\tBOOL keepLooping = YES;\n\t\t\t\twhile (keepLooping)\n\t\t\t\t{\n\t\t\t\t\tconst size_t sslMaxBytesToWrite = 32768;\n\t\t\t\t\tsize_t sslBytesToWrite = MIN(bytesRemaining, sslMaxBytesToWrite);\n\t\t\t\t\tsize_t sslBytesWritten = 0;\n\t\t\t\t\t\n\t\t\t\t\tresult = SSLWrite(sslContext, buffer, sslBytesToWrite, &sslBytesWritten);\n\t\t\t\t\t\n\t\t\t\t\tif (result == noErr)\n\t\t\t\t\t{\n\t\t\t\t\t\tbuffer += sslBytesWritten;\n\t\t\t\t\t\tbytesWritten += sslBytesWritten;\n\t\t\t\t\t\tbytesRemaining -= sslBytesWritten;\n\t\t\t\t\t\t\n\t\t\t\t\t\tkeepLooping = (bytesRemaining > 0);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif (result == errSSLWouldBlock)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twaiting = YES;\n\t\t\t\t\t\t\tsslWriteCachedLength = sslBytesToWrite;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terror = [self sslError:result];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tkeepLooping = NO;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t} // while (keepLooping)\n\t\t\t\t\n\t\t\t} // if (hasNewDataToWrite)\n\t\t}\n\t}\n\telse\n\t{\n\t\t// \n\t\t// Writing data directly over raw socket\n\t\t// \n\t\t\n\t\tint socketFD = (socket4FD != SOCKET_NULL) ? socket4FD : (socket6FD != SOCKET_NULL) ? socket6FD : socketUN;\n\t\t\n\t\tconst uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes] + currentWrite->bytesDone;\n\t\t\n\t\tNSUInteger bytesToWrite = [currentWrite->buffer length] - currentWrite->bytesDone;\n\t\t\n\t\tif (bytesToWrite > SIZE_MAX) // NSUInteger may be bigger than size_t (write param 3)\n\t\t{\n\t\t\tbytesToWrite = SIZE_MAX;\n\t\t}\n\t\t\n\t\tssize_t result = write(socketFD, buffer, (size_t)bytesToWrite);\n\t\tLogVerbose(@\"wrote to socket = %zd\", result);\n\t\t\n\t\t// Check results\n\t\tif (result < 0)\n\t\t{\n\t\t\tif (errno == EWOULDBLOCK)\n\t\t\t{\n\t\t\t\twaiting = YES;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\terror = [self errnoErrorWithReason:@\"Error in write() function\"];\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbytesWritten = result;\n\t\t}\n\t}\n\t\n\t// We're done with our writing.\n\t// If we explictly ran into a situation where the socket told us there was no room in the buffer,\n\t// then we immediately resume listening for notifications.\n\t// \n\t// We must do this before we dequeue another write,\n\t// as that may in turn invoke this method again.\n\t// \n\t// Note that if CFStream is involved, it may have maliciously put our socket in blocking mode.\n\t\n\tif (waiting)\n\t{\n\t\tflags &= ~kSocketCanAcceptBytes;\n\t\t\n\t\tif (![self usingCFStreamForTLS])\n\t\t{\n\t\t\t[self resumeWriteSource];\n\t\t}\n\t}\n\t\n\t// Check our results\n\t\n\tBOOL done = NO;\n\t\n\tif (bytesWritten > 0)\n\t{\n\t\t// Update total amount read for the current write\n\t\tcurrentWrite->bytesDone += bytesWritten;\n\t\tLogVerbose(@\"currentWrite->bytesDone = %lu\", (unsigned long)currentWrite->bytesDone);\n\t\t\n\t\t// Is packet done?\n\t\tdone = (currentWrite->bytesDone == [currentWrite->buffer length]);\n\t}\n\t\n\tif (done)\n\t{\n\t\t[self completeCurrentWrite];\n\t\t\n\t\tif (!error)\n\t\t{\n\t\t\tdispatch_async(socketQueue, ^{ @autoreleasepool{\n\t\t\t\t\n\t\t\t\t[self maybeDequeueWrite];\n\t\t\t}});\n\t\t}\n\t}\n\telse\n\t{\n\t\t// We were unable to finish writing the data,\n\t\t// so we're waiting for another callback to notify us of available space in the lower-level output buffer.\n\t\t\n\t\tif (!waiting && !error)\n\t\t{\n\t\t\t// This would be the case if our write was able to accept some data, but not all of it.\n\t\t\t\n\t\t\tflags &= ~kSocketCanAcceptBytes;\n\t\t\t\n\t\t\tif (![self usingCFStreamForTLS])\n\t\t\t{\n\t\t\t\t[self resumeWriteSource];\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (bytesWritten > 0)\n\t\t{\n\t\t\t// We're not done with the entire write, but we have written some bytes\n\t\t\t\n\t\t\t__strong id theDelegate = delegate;\n\n\t\t\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socket:didWritePartialDataOfLength:tag:)])\n\t\t\t{\n\t\t\t\tlong theWriteTag = currentWrite->tag;\n\t\t\t\t\n\t\t\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\n\t\t\t\t\t[theDelegate socket:self didWritePartialDataOfLength:bytesWritten tag:theWriteTag];\n\t\t\t\t}});\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Check for errors\n\t\n\tif (error)\n\t{\n\t\t[self closeWithError:[self errnoErrorWithReason:@\"Error in write() function\"]];\n\t}\n\t\n\t// Do not add any code here without first adding a return statement in the error case above.\n}\n\n- (void)completeCurrentWrite\n{\n\tLogTrace();\n\t\n\tNSAssert(currentWrite, @\"Trying to complete current write when there is no current write.\");\n\t\n\n\t__strong id theDelegate = delegate;\n\t\n\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socket:didWriteDataWithTag:)])\n\t{\n\t\tlong theWriteTag = currentWrite->tag;\n\t\t\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate socket:self didWriteDataWithTag:theWriteTag];\n\t\t}});\n\t}\n\t\n\t[self endCurrentWrite];\n}\n\n- (void)endCurrentWrite\n{\n\tif (writeTimer)\n\t{\n\t\tdispatch_source_cancel(writeTimer);\n\t\twriteTimer = NULL;\n\t}\n\t\n\tcurrentWrite = nil;\n}\n\n- (void)setupWriteTimerWithTimeout:(NSTimeInterval)timeout\n{\n\tif (timeout >= 0.0)\n\t{\n\t\twriteTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue);\n\t\t\n\t\t__weak GCDAsyncSocket *weakSelf = self;\n\t\t\n\t\tdispatch_source_set_event_handler(writeTimer, ^{ @autoreleasepool {\n\t\t#pragma clang diagnostic push\n\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\n\t\t\t__strong GCDAsyncSocket *strongSelf = weakSelf;\n\t\t\tif (strongSelf == nil) return_from_block;\n\t\t\t\n\t\t\t[strongSelf doWriteTimeout];\n\t\t\t\n\t\t#pragma clang diagnostic pop\n\t\t}});\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tdispatch_source_t theWriteTimer = writeTimer;\n\t\tdispatch_source_set_cancel_handler(writeTimer, ^{\n\t\t#pragma clang diagnostic push\n\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\n\t\t\tLogVerbose(@\"dispatch_release(writeTimer)\");\n\t\t\tdispatch_release(theWriteTimer);\n\t\t\t\n\t\t#pragma clang diagnostic pop\n\t\t});\n\t\t#endif\n\t\t\n\t\tdispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(timeout * NSEC_PER_SEC));\n\t\t\n\t\tdispatch_source_set_timer(writeTimer, tt, DISPATCH_TIME_FOREVER, 0);\n\t\tdispatch_resume(writeTimer);\n\t}\n}\n\n- (void)doWriteTimeout\n{\n\t// This is a little bit tricky.\n\t// Ideally we'd like to synchronously query the delegate about a timeout extension.\n\t// But if we do so synchronously we risk a possible deadlock.\n\t// So instead we have to do so asynchronously, and callback to ourselves from within the delegate block.\n\t\n\tflags |= kWritesPaused;\n\t\n\t__strong id theDelegate = delegate;\n\n\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socket:shouldTimeoutWriteWithTag:elapsed:bytesDone:)])\n\t{\n\t\tGCDAsyncWritePacket *theWrite = currentWrite;\n\t\t\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\tNSTimeInterval timeoutExtension = 0.0;\n\t\t\t\n\t\t\ttimeoutExtension = [theDelegate socket:self shouldTimeoutWriteWithTag:theWrite->tag\n\t\t\t                                                              elapsed:theWrite->timeout\n\t\t\t                                                            bytesDone:theWrite->bytesDone];\n\t\t\t\n            dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[self doWriteTimeoutWithExtension:timeoutExtension];\n\t\t\t}});\n\t\t}});\n\t}\n\telse\n\t{\n\t\t[self doWriteTimeoutWithExtension:0.0];\n\t}\n}\n\n- (void)doWriteTimeoutWithExtension:(NSTimeInterval)timeoutExtension\n{\n\tif (currentWrite)\n\t{\n\t\tif (timeoutExtension > 0.0)\n\t\t{\n\t\t\tcurrentWrite->timeout += timeoutExtension;\n\t\t\t\n\t\t\t// Reschedule the timer\n\t\t\tdispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(timeoutExtension * NSEC_PER_SEC));\n\t\t\tdispatch_source_set_timer(writeTimer, tt, DISPATCH_TIME_FOREVER, 0);\n\t\t\t\n\t\t\t// Unpause writes, and continue\n\t\t\tflags &= ~kWritesPaused;\n\t\t\t[self doWriteData];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLogVerbose(@\"WriteTimeout\");\n\t\t\t\n\t\t\t[self closeWithError:[self writeTimeoutError]];\n\t\t}\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Security\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)startTLS:(NSDictionary *)tlsSettings\n{\n\tLogTrace();\n\t\n\tif (tlsSettings == nil)\n    {\n        // Passing nil/NULL to CFReadStreamSetProperty will appear to work the same as passing an empty dictionary,\n        // but causes problems if we later try to fetch the remote host's certificate.\n        // \n        // To be exact, it causes the following to return NULL instead of the normal result:\n        // CFReadStreamCopyProperty(readStream, kCFStreamPropertySSLPeerCertificates)\n        // \n        // So we use an empty dictionary instead, which works perfectly.\n        \n        tlsSettings = [NSDictionary dictionary];\n    }\n\t\n\tGCDAsyncSpecialPacket *packet = [[GCDAsyncSpecialPacket alloc] initWithTLSSettings:tlsSettings];\n\t\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n        if ((self->flags & kSocketStarted) && !(self->flags & kQueuedTLS) && !(self->flags & kForbidReadsWrites))\n\t\t{\n            [self->readQueue addObject:packet];\n            [self->writeQueue addObject:packet];\n\t\t\t\n            self->flags |= kQueuedTLS;\n\t\t\t\n\t\t\t[self maybeDequeueRead];\n\t\t\t[self maybeDequeueWrite];\n\t\t}\n\t}});\n\t\n}\n\n- (void)maybeStartTLS\n{\n\t// We can't start TLS until:\n\t// - All queued reads prior to the user calling startTLS are complete\n\t// - All queued writes prior to the user calling startTLS are complete\n\t// \n\t// We'll know these conditions are met when both kStartingReadTLS and kStartingWriteTLS are set\n\t\n\tif ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS))\n\t{\n\t\tBOOL useSecureTransport = YES;\n\t\t\n\t\t#if TARGET_OS_IPHONE\n\t\t{\n\t\t\tGCDAsyncSpecialPacket *tlsPacket = (GCDAsyncSpecialPacket *)currentRead;\n            NSDictionary *tlsSettings = @{};\n            if (tlsPacket) {\n                tlsSettings = tlsPacket->tlsSettings;\n            }\n\t\t\tNSNumber *value = [tlsSettings objectForKey:GCDAsyncSocketUseCFStreamForTLS];\n\t\t\tif (value && [value boolValue])\n\t\t\t\tuseSecureTransport = NO;\n\t\t}\n\t\t#endif\n\t\t\n\t\tif (useSecureTransport)\n\t\t{\n\t\t\t[self ssl_startTLS];\n\t\t}\n\t\telse\n\t\t{\n\t\t#if TARGET_OS_IPHONE\n\t\t\t[self cf_startTLS];\n\t\t#endif\n\t\t}\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Security via SecureTransport\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (OSStatus)sslReadWithBuffer:(void *)buffer length:(size_t *)bufferLength\n{\n\tLogVerbose(@\"sslReadWithBuffer:%p length:%lu\", buffer, (unsigned long)*bufferLength);\n\t\n\tif ((socketFDBytesAvailable == 0) && ([sslPreBuffer availableBytes] == 0))\n\t{\n\t\tLogVerbose(@\"%@ - No data available to read...\", THIS_METHOD);\n\t\t\n\t\t// No data available to read.\n\t\t// \n\t\t// Need to wait for readSource to fire and notify us of\n\t\t// available data in the socket's internal read buffer.\n\t\t\n\t\t[self resumeReadSource];\n\t\t\n\t\t*bufferLength = 0;\n\t\treturn errSSLWouldBlock;\n\t}\n\t\n\tsize_t totalBytesRead = 0;\n\tsize_t totalBytesLeftToBeRead = *bufferLength;\n\t\n\tBOOL done = NO;\n\tBOOL socketError = NO;\n\t\n\t// \n\t// STEP 1 : READ FROM SSL PRE BUFFER\n\t// \n\t\n\tsize_t sslPreBufferLength = [sslPreBuffer availableBytes];\n\t\n\tif (sslPreBufferLength > 0)\n\t{\n\t\tLogVerbose(@\"%@: Reading from SSL pre buffer...\", THIS_METHOD);\n\t\t\n\t\tsize_t bytesToCopy;\n\t\tif (sslPreBufferLength > totalBytesLeftToBeRead)\n\t\t\tbytesToCopy = totalBytesLeftToBeRead;\n\t\telse\n\t\t\tbytesToCopy = sslPreBufferLength;\n\t\t\n\t\tLogVerbose(@\"%@: Copying %zu bytes from sslPreBuffer\", THIS_METHOD, bytesToCopy);\n\t\t\n\t\tmemcpy(buffer, [sslPreBuffer readBuffer], bytesToCopy);\n\t\t[sslPreBuffer didRead:bytesToCopy];\n\t\t\n\t\tLogVerbose(@\"%@: sslPreBuffer.length = %zu\", THIS_METHOD, [sslPreBuffer availableBytes]);\n\t\t\n\t\ttotalBytesRead += bytesToCopy;\n\t\ttotalBytesLeftToBeRead -= bytesToCopy;\n\t\t\n\t\tdone = (totalBytesLeftToBeRead == 0);\n\t\t\n\t\tif (done) LogVerbose(@\"%@: Complete\", THIS_METHOD);\n\t}\n\t\n\t// \n\t// STEP 2 : READ FROM SOCKET\n\t// \n\t\n\tif (!done && (socketFDBytesAvailable > 0))\n\t{\n\t\tLogVerbose(@\"%@: Reading from socket...\", THIS_METHOD);\n\t\t\n\t\tint socketFD = (socket4FD != SOCKET_NULL) ? socket4FD : (socket6FD != SOCKET_NULL) ? socket6FD : socketUN;\n\t\t\n\t\tBOOL readIntoPreBuffer;\n\t\tsize_t bytesToRead;\n\t\tuint8_t *buf;\n\t\t\n\t\tif (socketFDBytesAvailable > totalBytesLeftToBeRead)\n\t\t{\n\t\t\t// Read all available data from socket into sslPreBuffer.\n\t\t\t// Then copy requested amount into dataBuffer.\n\t\t\t\n\t\t\tLogVerbose(@\"%@: Reading into sslPreBuffer...\", THIS_METHOD);\n\t\t\t\n\t\t\t[sslPreBuffer ensureCapacityForWrite:socketFDBytesAvailable];\n\t\t\t\n\t\t\treadIntoPreBuffer = YES;\n\t\t\tbytesToRead = (size_t)socketFDBytesAvailable;\n\t\t\tbuf = [sslPreBuffer writeBuffer];\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Read available data from socket directly into dataBuffer.\n\t\t\t\n\t\t\tLogVerbose(@\"%@: Reading directly into dataBuffer...\", THIS_METHOD);\n\t\t\t\n\t\t\treadIntoPreBuffer = NO;\n\t\t\tbytesToRead = totalBytesLeftToBeRead;\n\t\t\tbuf = (uint8_t *)buffer + totalBytesRead;\n\t\t}\n\t\t\n\t\tssize_t result = read(socketFD, buf, bytesToRead);\n\t\tLogVerbose(@\"%@: read from socket = %zd\", THIS_METHOD, result);\n\t\t\n\t\tif (result < 0)\n\t\t{\n\t\t\tLogVerbose(@\"%@: read errno = %i\", THIS_METHOD, errno);\n\t\t\t\n\t\t\tif (errno != EWOULDBLOCK)\n\t\t\t{\n\t\t\t\tsocketError = YES;\n\t\t\t}\n\t\t\t\n\t\t\tsocketFDBytesAvailable = 0;\n\t\t}\n\t\telse if (result == 0)\n\t\t{\n\t\t\tLogVerbose(@\"%@: read EOF\", THIS_METHOD);\n\t\t\t\n\t\t\tsocketError = YES;\n\t\t\tsocketFDBytesAvailable = 0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsize_t bytesReadFromSocket = result;\n\t\t\t\n\t\t\tif (socketFDBytesAvailable > bytesReadFromSocket)\n\t\t\t\tsocketFDBytesAvailable -= bytesReadFromSocket;\n\t\t\telse\n\t\t\t\tsocketFDBytesAvailable = 0;\n\t\t\t\n\t\t\tif (readIntoPreBuffer)\n\t\t\t{\n\t\t\t\t[sslPreBuffer didWrite:bytesReadFromSocket];\n\t\t\t\t\n\t\t\t\tsize_t bytesToCopy = MIN(totalBytesLeftToBeRead, bytesReadFromSocket);\n\t\t\t\t\n\t\t\t\tLogVerbose(@\"%@: Copying %zu bytes out of sslPreBuffer\", THIS_METHOD, bytesToCopy);\n\t\t\t\t\n\t\t\t\tmemcpy((uint8_t *)buffer + totalBytesRead, [sslPreBuffer readBuffer], bytesToCopy);\n\t\t\t\t[sslPreBuffer didRead:bytesToCopy];\n\t\t\t\t\n\t\t\t\ttotalBytesRead += bytesToCopy;\n\t\t\t\ttotalBytesLeftToBeRead -= bytesToCopy;\n\t\t\t\t\n\t\t\t\tLogVerbose(@\"%@: sslPreBuffer.length = %zu\", THIS_METHOD, [sslPreBuffer availableBytes]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttotalBytesRead += bytesReadFromSocket;\n\t\t\t\ttotalBytesLeftToBeRead -= bytesReadFromSocket;\n\t\t\t}\n\t\t\t\n\t\t\tdone = (totalBytesLeftToBeRead == 0);\n\t\t\t\n\t\t\tif (done) LogVerbose(@\"%@: Complete\", THIS_METHOD);\n\t\t}\n\t}\n\t\n\t*bufferLength = totalBytesRead;\n\t\n\tif (done)\n\t\treturn noErr;\n\t\n\tif (socketError)\n\t\treturn errSSLClosedAbort;\n\t\n\treturn errSSLWouldBlock;\n}\n\n- (OSStatus)sslWriteWithBuffer:(const void *)buffer length:(size_t *)bufferLength\n{\n\tif (!(flags & kSocketCanAcceptBytes))\n\t{\n\t\t// Unable to write.\n\t\t// \n\t\t// Need to wait for writeSource to fire and notify us of\n\t\t// available space in the socket's internal write buffer.\n\t\t\n\t\t[self resumeWriteSource];\n\t\t\n\t\t*bufferLength = 0;\n\t\treturn errSSLWouldBlock;\n\t}\n\t\n\tsize_t bytesToWrite = *bufferLength;\n\tsize_t bytesWritten = 0;\n\t\n\tBOOL done = NO;\n\tBOOL socketError = NO;\n\t\n\tint socketFD = (socket4FD != SOCKET_NULL) ? socket4FD : (socket6FD != SOCKET_NULL) ? socket6FD : socketUN;\n\t\n\tssize_t result = write(socketFD, buffer, bytesToWrite);\n\t\n\tif (result < 0)\n\t{\n\t\tif (errno != EWOULDBLOCK)\n\t\t{\n\t\t\tsocketError = YES;\n\t\t}\n\t\t\n\t\tflags &= ~kSocketCanAcceptBytes;\n\t}\n\telse if (result == 0)\n\t{\n\t\tflags &= ~kSocketCanAcceptBytes;\n\t}\n\telse\n\t{\n\t\tbytesWritten = result;\n\t\t\n\t\tdone = (bytesWritten == bytesToWrite);\n\t}\n\t\n\t*bufferLength = bytesWritten;\n\t\n\tif (done)\n\t\treturn noErr;\n\t\n\tif (socketError)\n\t\treturn errSSLClosedAbort;\n\t\n\treturn errSSLWouldBlock;\n}\n\nstatic OSStatus SSLReadFunction(SSLConnectionRef connection, void *data, size_t *dataLength)\n{\n\tGCDAsyncSocket *asyncSocket = (__bridge GCDAsyncSocket *)connection;\n\t\n\tNSCAssert(dispatch_get_specific(asyncSocket->IsOnSocketQueueOrTargetQueueKey), @\"What the deuce?\");\n\t\n\treturn [asyncSocket sslReadWithBuffer:data length:dataLength];\n}\n\nstatic OSStatus SSLWriteFunction(SSLConnectionRef connection, const void *data, size_t *dataLength)\n{\n\tGCDAsyncSocket *asyncSocket = (__bridge GCDAsyncSocket *)connection;\n\t\n\tNSCAssert(dispatch_get_specific(asyncSocket->IsOnSocketQueueOrTargetQueueKey), @\"What the deuce?\");\n\t\n\treturn [asyncSocket sslWriteWithBuffer:data length:dataLength];\n}\n\n- (void)ssl_startTLS\n{\n\tLogTrace();\n\t\n\tLogVerbose(@\"Starting TLS (via SecureTransport)...\");\n\t\n\tOSStatus status;\n\t\n\tGCDAsyncSpecialPacket *tlsPacket = (GCDAsyncSpecialPacket *)currentRead;\n\tif (tlsPacket == nil) // Code to quiet the analyzer\n\t{\n\t\tNSAssert(NO, @\"Logic error\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Logic error\"]];\n\t\treturn;\n\t}\n\tNSDictionary *tlsSettings = tlsPacket->tlsSettings;\n\t\n\t// Create SSLContext, and setup IO callbacks and connection ref\n\t\n\tBOOL isServer = [[tlsSettings objectForKey:(__bridge NSString *)kCFStreamSSLIsServer] boolValue];\n\t\n\t#if TARGET_OS_IPHONE || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 1080)\n\t{\n\t\tif (isServer)\n\t\t\tsslContext = SSLCreateContext(kCFAllocatorDefault, kSSLServerSide, kSSLStreamType);\n\t\telse\n\t\t\tsslContext = SSLCreateContext(kCFAllocatorDefault, kSSLClientSide, kSSLStreamType);\n\t\t\n\t\tif (sslContext == NULL)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLCreateContext\"]];\n\t\t\treturn;\n\t\t}\n\t}\n\t#else // (__MAC_OS_X_VERSION_MIN_REQUIRED < 1080)\n\t{\n\t\tstatus = SSLNewContext(isServer, &sslContext);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLNewContext\"]];\n\t\t\treturn;\n\t\t}\n\t}\n\t#endif\n\t\n\tstatus = SSLSetIOFuncs(sslContext, &SSLReadFunction, &SSLWriteFunction);\n\tif (status != noErr)\n\t{\n\t\t[self closeWithError:[self otherError:@\"Error in SSLSetIOFuncs\"]];\n\t\treturn;\n\t}\n\t\n\tstatus = SSLSetConnection(sslContext, (__bridge SSLConnectionRef)self);\n\tif (status != noErr)\n\t{\n\t\t[self closeWithError:[self otherError:@\"Error in SSLSetConnection\"]];\n\t\treturn;\n\t}\n\n\n\tBOOL shouldManuallyEvaluateTrust = [[tlsSettings objectForKey:GCDAsyncSocketManuallyEvaluateTrust] boolValue];\n\tif (shouldManuallyEvaluateTrust)\n\t{\n\t\tif (isServer)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Manual trust validation is not supported for server sockets\"]];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tstatus = SSLSetSessionOption(sslContext, kSSLSessionOptionBreakOnServerAuth, true);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetSessionOption\"]];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t#if !TARGET_OS_IPHONE && (__MAC_OS_X_VERSION_MIN_REQUIRED < 1080)\n\t\t\n\t\t// Note from Apple's documentation:\n\t\t//\n\t\t// It is only necessary to call SSLSetEnableCertVerify on the Mac prior to OS X 10.8.\n\t\t// On OS X 10.8 and later setting kSSLSessionOptionBreakOnServerAuth always disables the\n\t\t// built-in trust evaluation. All versions of iOS behave like OS X 10.8 and thus\n\t\t// SSLSetEnableCertVerify is not available on that platform at all.\n\t\t\n\t\tstatus = SSLSetEnableCertVerify(sslContext, NO);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetEnableCertVerify\"]];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t#endif\n\t}\n\n\t// Configure SSLContext from given settings\n\t// \n\t// Checklist:\n\t//  1. kCFStreamSSLPeerName\n\t//  2. kCFStreamSSLCertificates\n\t//  3. GCDAsyncSocketSSLPeerID\n\t//  4. GCDAsyncSocketSSLProtocolVersionMin\n\t//  5. GCDAsyncSocketSSLProtocolVersionMax\n\t//  6. GCDAsyncSocketSSLSessionOptionFalseStart\n\t//  7. GCDAsyncSocketSSLSessionOptionSendOneByteRecord\n\t//  8. GCDAsyncSocketSSLCipherSuites\n\t//  9. GCDAsyncSocketSSLDiffieHellmanParameters (Mac)\n\t//\n\t// Deprecated (throw error):\n\t// 10. kCFStreamSSLAllowsAnyRoot\n\t// 11. kCFStreamSSLAllowsExpiredRoots\n\t// 12. kCFStreamSSLAllowsExpiredCertificates\n\t// 13. kCFStreamSSLValidatesCertificateChain\n\t// 14. kCFStreamSSLLevel\n\t\n\tid value;\n\t\n\t// 1. kCFStreamSSLPeerName\n\t\n\tvalue = [tlsSettings objectForKey:(__bridge NSString *)kCFStreamSSLPeerName];\n\tif ([value isKindOfClass:[NSString class]])\n\t{\n\t\tNSString *peerName = (NSString *)value;\n\t\t\n\t\tconst char *peer = [peerName UTF8String];\n\t\tsize_t peerLen = strlen(peer);\n\t\t\n\t\tstatus = SSLSetPeerDomainName(sslContext, peer, peerLen);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetPeerDomainName\"]];\n\t\t\treturn;\n\t\t}\n\t}\n\telse if (value)\n\t{\n\t\tNSAssert(NO, @\"Invalid value for kCFStreamSSLPeerName. Value must be of type NSString.\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Invalid value for kCFStreamSSLPeerName.\"]];\n\t\treturn;\n\t}\n\t\n\t// 2. kCFStreamSSLCertificates\n\t\n\tvalue = [tlsSettings objectForKey:(__bridge NSString *)kCFStreamSSLCertificates];\n\tif ([value isKindOfClass:[NSArray class]])\n\t{\n\t\tCFArrayRef certs = (__bridge CFArrayRef)value;\n\t\t\n\t\tstatus = SSLSetCertificate(sslContext, certs);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetCertificate\"]];\n\t\t\treturn;\n\t\t}\n\t}\n\telse if (value)\n\t{\n\t\tNSAssert(NO, @\"Invalid value for kCFStreamSSLCertificates. Value must be of type NSArray.\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Invalid value for kCFStreamSSLCertificates.\"]];\n\t\treturn;\n\t}\n\t\n\t// 3. GCDAsyncSocketSSLPeerID\n\t\n\tvalue = [tlsSettings objectForKey:GCDAsyncSocketSSLPeerID];\n\tif ([value isKindOfClass:[NSData class]])\n\t{\n\t\tNSData *peerIdData = (NSData *)value;\n\t\t\n\t\tstatus = SSLSetPeerID(sslContext, [peerIdData bytes], [peerIdData length]);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetPeerID\"]];\n\t\t\treturn;\n\t\t}\n\t}\n\telse if (value)\n\t{\n\t\tNSAssert(NO, @\"Invalid value for GCDAsyncSocketSSLPeerID. Value must be of type NSData.\"\n\t\t             @\" (You can convert strings to data using a method like\"\n\t\t             @\" [string dataUsingEncoding:NSUTF8StringEncoding])\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Invalid value for GCDAsyncSocketSSLPeerID.\"]];\n\t\treturn;\n\t}\n\t\n\t// 4. GCDAsyncSocketSSLProtocolVersionMin\n\t\n\tvalue = [tlsSettings objectForKey:GCDAsyncSocketSSLProtocolVersionMin];\n\tif ([value isKindOfClass:[NSNumber class]])\n\t{\n\t\tSSLProtocol minProtocol = (SSLProtocol)[(NSNumber *)value intValue];\n\t\tif (minProtocol != kSSLProtocolUnknown)\n\t\t{\n\t\t\tstatus = SSLSetProtocolVersionMin(sslContext, minProtocol);\n\t\t\tif (status != noErr)\n\t\t\t{\n\t\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetProtocolVersionMin\"]];\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\telse if (value)\n\t{\n\t\tNSAssert(NO, @\"Invalid value for GCDAsyncSocketSSLProtocolVersionMin. Value must be of type NSNumber.\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Invalid value for GCDAsyncSocketSSLProtocolVersionMin.\"]];\n\t\treturn;\n\t}\n\t\n\t// 5. GCDAsyncSocketSSLProtocolVersionMax\n\t\n\tvalue = [tlsSettings objectForKey:GCDAsyncSocketSSLProtocolVersionMax];\n\tif ([value isKindOfClass:[NSNumber class]])\n\t{\n\t\tSSLProtocol maxProtocol = (SSLProtocol)[(NSNumber *)value intValue];\n\t\tif (maxProtocol != kSSLProtocolUnknown)\n\t\t{\n\t\t\tstatus = SSLSetProtocolVersionMax(sslContext, maxProtocol);\n\t\t\tif (status != noErr)\n\t\t\t{\n\t\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetProtocolVersionMax\"]];\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\telse if (value)\n\t{\n\t\tNSAssert(NO, @\"Invalid value for GCDAsyncSocketSSLProtocolVersionMax. Value must be of type NSNumber.\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Invalid value for GCDAsyncSocketSSLProtocolVersionMax.\"]];\n\t\treturn;\n\t}\n\t\n\t// 6. GCDAsyncSocketSSLSessionOptionFalseStart\n\t\n\tvalue = [tlsSettings objectForKey:GCDAsyncSocketSSLSessionOptionFalseStart];\n\tif ([value isKindOfClass:[NSNumber class]])\n\t{\n\t\tstatus = SSLSetSessionOption(sslContext, kSSLSessionOptionFalseStart, [value boolValue]);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetSessionOption (kSSLSessionOptionFalseStart)\"]];\n\t\t\treturn;\n\t\t}\n\t}\n\telse if (value)\n\t{\n\t\tNSAssert(NO, @\"Invalid value for GCDAsyncSocketSSLSessionOptionFalseStart. Value must be of type NSNumber.\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Invalid value for GCDAsyncSocketSSLSessionOptionFalseStart.\"]];\n\t\treturn;\n\t}\n\t\n\t// 7. GCDAsyncSocketSSLSessionOptionSendOneByteRecord\n\t\n\tvalue = [tlsSettings objectForKey:GCDAsyncSocketSSLSessionOptionSendOneByteRecord];\n\tif ([value isKindOfClass:[NSNumber class]])\n\t{\n\t\tstatus = SSLSetSessionOption(sslContext, kSSLSessionOptionSendOneByteRecord, [value boolValue]);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:\n\t\t\t  [self otherError:@\"Error in SSLSetSessionOption (kSSLSessionOptionSendOneByteRecord)\"]];\n\t\t\treturn;\n\t\t}\n\t}\n\telse if (value)\n\t{\n\t\tNSAssert(NO, @\"Invalid value for GCDAsyncSocketSSLSessionOptionSendOneByteRecord.\"\n\t\t             @\" Value must be of type NSNumber.\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Invalid value for GCDAsyncSocketSSLSessionOptionSendOneByteRecord.\"]];\n\t\treturn;\n\t}\n\t\n\t// 8. GCDAsyncSocketSSLCipherSuites\n\t\n\tvalue = [tlsSettings objectForKey:GCDAsyncSocketSSLCipherSuites];\n\tif ([value isKindOfClass:[NSArray class]])\n\t{\n\t\tNSArray *cipherSuites = (NSArray *)value;\n\t\tNSUInteger numberCiphers = [cipherSuites count];\n\t\tSSLCipherSuite ciphers[numberCiphers];\n\t\t\n\t\tNSUInteger cipherIndex;\n\t\tfor (cipherIndex = 0; cipherIndex < numberCiphers; cipherIndex++)\n\t\t{\n\t\t\tNSNumber *cipherObject = [cipherSuites objectAtIndex:cipherIndex];\n\t\t\tciphers[cipherIndex] = [cipherObject shortValue];\n\t\t}\n\t\t\n\t\tstatus = SSLSetEnabledCiphers(sslContext, ciphers, numberCiphers);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetEnabledCiphers\"]];\n\t\t\treturn;\n\t\t}\n\t}\n\telse if (value)\n\t{\n\t\tNSAssert(NO, @\"Invalid value for GCDAsyncSocketSSLCipherSuites. Value must be of type NSArray.\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Invalid value for GCDAsyncSocketSSLCipherSuites.\"]];\n\t\treturn;\n\t}\n\t\n\t// 9. GCDAsyncSocketSSLDiffieHellmanParameters\n\t\n\t#if !TARGET_OS_IPHONE\n\tvalue = [tlsSettings objectForKey:GCDAsyncSocketSSLDiffieHellmanParameters];\n\tif ([value isKindOfClass:[NSData class]])\n\t{\n\t\tNSData *diffieHellmanData = (NSData *)value;\n\t\t\n\t\tstatus = SSLSetDiffieHellmanParams(sslContext, [diffieHellmanData bytes], [diffieHellmanData length]);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self otherError:@\"Error in SSLSetDiffieHellmanParams\"]];\n\t\t\treturn;\n\t\t}\n\t}\n\telse if (value)\n\t{\n\t\tNSAssert(NO, @\"Invalid value for GCDAsyncSocketSSLDiffieHellmanParameters. Value must be of type NSData.\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Invalid value for GCDAsyncSocketSSLDiffieHellmanParameters.\"]];\n\t\treturn;\n\t}\n\t#endif\n\t\n\t// DEPRECATED checks\n\t\n\t// 10. kCFStreamSSLAllowsAnyRoot\n\t\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n\tvalue = [tlsSettings objectForKey:(__bridge NSString *)kCFStreamSSLAllowsAnyRoot];\n\t#pragma clang diagnostic pop\n\tif (value)\n\t{\n\t\tNSAssert(NO, @\"Security option unavailable - kCFStreamSSLAllowsAnyRoot\"\n\t\t             @\" - You must use manual trust evaluation\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Security option unavailable - kCFStreamSSLAllowsAnyRoot\"]];\n\t\treturn;\n\t}\n\t\n\t// 11. kCFStreamSSLAllowsExpiredRoots\n\t\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n\tvalue = [tlsSettings objectForKey:(__bridge NSString *)kCFStreamSSLAllowsExpiredRoots];\n\t#pragma clang diagnostic pop\n\tif (value)\n\t{\n\t\tNSAssert(NO, @\"Security option unavailable - kCFStreamSSLAllowsExpiredRoots\"\n\t\t             @\" - You must use manual trust evaluation\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Security option unavailable - kCFStreamSSLAllowsExpiredRoots\"]];\n\t\treturn;\n\t}\n\t\n\t// 12. kCFStreamSSLValidatesCertificateChain\n\t\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n\tvalue = [tlsSettings objectForKey:(__bridge NSString *)kCFStreamSSLValidatesCertificateChain];\n\t#pragma clang diagnostic pop\n\tif (value)\n\t{\n\t\tNSAssert(NO, @\"Security option unavailable - kCFStreamSSLValidatesCertificateChain\"\n\t\t             @\" - You must use manual trust evaluation\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Security option unavailable - kCFStreamSSLValidatesCertificateChain\"]];\n\t\treturn;\n\t}\n\t\n\t// 13. kCFStreamSSLAllowsExpiredCertificates\n\t\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n\tvalue = [tlsSettings objectForKey:(__bridge NSString *)kCFStreamSSLAllowsExpiredCertificates];\n\t#pragma clang diagnostic pop\n\tif (value)\n\t{\n\t\tNSAssert(NO, @\"Security option unavailable - kCFStreamSSLAllowsExpiredCertificates\"\n\t\t             @\" - You must use manual trust evaluation\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Security option unavailable - kCFStreamSSLAllowsExpiredCertificates\"]];\n\t\treturn;\n\t}\n\t\n\t// 14. kCFStreamSSLLevel\n\t\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n\tvalue = [tlsSettings objectForKey:(__bridge NSString *)kCFStreamSSLLevel];\n\t#pragma clang diagnostic pop\n\tif (value)\n\t{\n\t\tNSAssert(NO, @\"Security option unavailable - kCFStreamSSLLevel\"\n\t\t             @\" - You must use GCDAsyncSocketSSLProtocolVersionMin & GCDAsyncSocketSSLProtocolVersionMax\");\n\t\t\n\t\t[self closeWithError:[self otherError:@\"Security option unavailable - kCFStreamSSLLevel\"]];\n\t\treturn;\n\t}\n\t\n\t// Setup the sslPreBuffer\n\t// \n\t// Any data in the preBuffer needs to be moved into the sslPreBuffer,\n\t// as this data is now part of the secure read stream.\n\t\n\tsslPreBuffer = [[GCDAsyncSocketPreBuffer alloc] initWithCapacity:(1024 * 4)];\n\t\n\tsize_t preBufferLength  = [preBuffer availableBytes];\n\t\n\tif (preBufferLength > 0)\n\t{\n\t\t[sslPreBuffer ensureCapacityForWrite:preBufferLength];\n\t\t\n\t\tmemcpy([sslPreBuffer writeBuffer], [preBuffer readBuffer], preBufferLength);\n\t\t[preBuffer didRead:preBufferLength];\n\t\t[sslPreBuffer didWrite:preBufferLength];\n\t}\n\t\n\tsslErrCode = lastSSLHandshakeError = noErr;\n\t\n\t// Start the SSL Handshake process\n\t\n\t[self ssl_continueSSLHandshake];\n}\n\n- (void)ssl_continueSSLHandshake\n{\n\tLogTrace();\n\t\n\t// If the return value is noErr, the session is ready for normal secure communication.\n\t// If the return value is errSSLWouldBlock, the SSLHandshake function must be called again.\n\t// If the return value is errSSLServerAuthCompleted, we ask delegate if we should trust the\n\t// server and then call SSLHandshake again to resume the handshake or close the connection\n\t// errSSLPeerBadCert SSL error.\n\t// Otherwise, the return value indicates an error code.\n\t\n\tOSStatus status = SSLHandshake(sslContext);\n\tlastSSLHandshakeError = status;\n\t\n\tif (status == noErr)\n\t{\n\t\tLogVerbose(@\"SSLHandshake complete\");\n\t\t\n\t\tflags &= ~kStartingReadTLS;\n\t\tflags &= ~kStartingWriteTLS;\n\t\t\n\t\tflags |=  kSocketSecure;\n\t\t\n\t\t__strong id theDelegate = delegate;\n\n\t\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socketDidSecure:)])\n\t\t{\n\t\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[theDelegate socketDidSecure:self];\n\t\t\t}});\n\t\t}\n\t\t\n\t\t[self endCurrentRead];\n\t\t[self endCurrentWrite];\n\t\t\n\t\t[self maybeDequeueRead];\n\t\t[self maybeDequeueWrite];\n\t}\n\telse if (status == errSSLPeerAuthCompleted)\n\t{\n\t\tLogVerbose(@\"SSLHandshake peerAuthCompleted - awaiting delegate approval\");\n\t\t\n\t\t__block SecTrustRef trust = NULL;\n\t\tstatus = SSLCopyPeerTrust(sslContext, &trust);\n\t\tif (status != noErr)\n\t\t{\n\t\t\t[self closeWithError:[self sslError:status]];\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tint aStateIndex = stateIndex;\n\t\tdispatch_queue_t theSocketQueue = socketQueue;\n\t\t\n\t\t__weak GCDAsyncSocket *weakSelf = self;\n\t\t\n\t\tvoid (^comletionHandler)(BOOL) = ^(BOOL shouldTrust){ @autoreleasepool {\n\t\t#pragma clang diagnostic push\n\t\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\t\n\t\t\tdispatch_async(theSocketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\tif (trust) {\n\t\t\t\t\tCFRelease(trust);\n\t\t\t\t\ttrust = NULL;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t__strong GCDAsyncSocket *strongSelf = weakSelf;\n\t\t\t\tif (strongSelf)\n\t\t\t\t{\n\t\t\t\t\t[strongSelf ssl_shouldTrustPeer:shouldTrust stateIndex:aStateIndex];\n\t\t\t\t}\n\t\t\t}});\n\t\t\t\n\t\t#pragma clang diagnostic pop\n\t\t}};\n\t\t\n\t\t__strong id theDelegate = delegate;\n\t\t\n\t\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socket:didReceiveTrust:completionHandler:)])\n\t\t{\n\t\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t\t[theDelegate socket:self didReceiveTrust:trust completionHandler:comletionHandler];\n\t\t\t}});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (trust) {\n\t\t\t\tCFRelease(trust);\n\t\t\t\ttrust = NULL;\n\t\t\t}\n\t\t\t\n\t\t\tNSString *msg = @\"GCDAsyncSocketManuallyEvaluateTrust specified in tlsSettings,\"\n\t\t\t                @\" but delegate doesn't implement socket:shouldTrustPeer:\";\n\t\t\t\n\t\t\t[self closeWithError:[self otherError:msg]];\n\t\t\treturn;\n\t\t}\n\t}\n\telse if (status == errSSLWouldBlock)\n\t{\n\t\tLogVerbose(@\"SSLHandshake continues...\");\n\t\t\n\t\t// Handshake continues...\n\t\t// \n\t\t// This method will be called again from doReadData or doWriteData.\n\t}\n\telse\n\t{\n\t\t[self closeWithError:[self sslError:status]];\n\t}\n}\n\n- (void)ssl_shouldTrustPeer:(BOOL)shouldTrust stateIndex:(int)aStateIndex\n{\n\tLogTrace();\n\t\n\tif (aStateIndex != stateIndex)\n\t{\n\t\tLogInfo(@\"Ignoring ssl_shouldTrustPeer - invalid state (maybe disconnected)\");\n\t\t\n\t\t// One of the following is true\n\t\t// - the socket was disconnected\n\t\t// - the startTLS operation timed out\n\t\t// - the completionHandler was already invoked once\n\t\t\n\t\treturn;\n\t}\n\t\n\t// Increment stateIndex to ensure completionHandler can only be called once.\n\tstateIndex++;\n\t\n\tif (shouldTrust)\n\t{\n        NSAssert(lastSSLHandshakeError == errSSLPeerAuthCompleted, @\"ssl_shouldTrustPeer called when last error is %d and not errSSLPeerAuthCompleted\", (int)lastSSLHandshakeError);\n\t\t[self ssl_continueSSLHandshake];\n\t}\n\telse\n\t{\n\t\t[self closeWithError:[self sslError:errSSLPeerBadCert]];\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Security via CFStream\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if TARGET_OS_IPHONE\n\n- (void)cf_finishSSLHandshake\n{\n\tLogTrace();\n\t\n\tif ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS))\n\t{\n\t\tflags &= ~kStartingReadTLS;\n\t\tflags &= ~kStartingWriteTLS;\n\t\t\n\t\tflags |= kSocketSecure;\n\t\t\n\t\t__strong id theDelegate = delegate;\n\n\t\tif (delegateQueue && [theDelegate respondsToSelector:@selector(socketDidSecure:)])\n\t\t{\n\t\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[theDelegate socketDidSecure:self];\n\t\t\t}});\n\t\t}\n\t\t\n\t\t[self endCurrentRead];\n\t\t[self endCurrentWrite];\n\t\t\n\t\t[self maybeDequeueRead];\n\t\t[self maybeDequeueWrite];\n\t}\n}\n\n- (void)cf_abortSSLHandshake:(NSError *)error\n{\n\tLogTrace();\n\t\n\tif ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS))\n\t{\n\t\tflags &= ~kStartingReadTLS;\n\t\tflags &= ~kStartingWriteTLS;\n\t\t\n\t\t[self closeWithError:error];\n\t}\n}\n\n- (void)cf_startTLS\n{\n\tLogTrace();\n\t\n\tLogVerbose(@\"Starting TLS (via CFStream)...\");\n\t\n\tif ([preBuffer availableBytes] > 0)\n\t{\n\t\tNSString *msg = @\"Invalid TLS transition. Handshake has already been read from socket.\";\n\t\t\n\t\t[self closeWithError:[self otherError:msg]];\n\t\treturn;\n\t}\n\t\n\t[self suspendReadSource];\n\t[self suspendWriteSource];\n\t\n\tsocketFDBytesAvailable = 0;\n\tflags &= ~kSocketCanAcceptBytes;\n\tflags &= ~kSecureSocketHasBytesAvailable;\n\t\n\tflags |=  kUsingCFStreamForTLS;\n\t\n\tif (![self createReadAndWriteStream])\n\t{\n\t\t[self closeWithError:[self otherError:@\"Error in CFStreamCreatePairWithSocket\"]];\n\t\treturn;\n\t}\n\t\n\tif (![self registerForStreamCallbacksIncludingReadWrite:YES])\n\t{\n\t\t[self closeWithError:[self otherError:@\"Error in CFStreamSetClient\"]];\n\t\treturn;\n\t}\n\t\n\tif (![self addStreamsToRunLoop])\n\t{\n\t\t[self closeWithError:[self otherError:@\"Error in CFStreamScheduleWithRunLoop\"]];\n\t\treturn;\n\t}\n\t\n\tNSAssert([currentRead isKindOfClass:[GCDAsyncSpecialPacket class]], @\"Invalid read packet for startTLS\");\n\tNSAssert([currentWrite isKindOfClass:[GCDAsyncSpecialPacket class]], @\"Invalid write packet for startTLS\");\n\t\n\tGCDAsyncSpecialPacket *tlsPacket = (GCDAsyncSpecialPacket *)currentRead;\n\tCFDictionaryRef tlsSettings = (__bridge CFDictionaryRef)tlsPacket->tlsSettings;\n\t\n\t// Getting an error concerning kCFStreamPropertySSLSettings ?\n\t// You need to add the CFNetwork framework to your iOS application.\n\t\n\tBOOL r1 = CFReadStreamSetProperty(readStream, kCFStreamPropertySSLSettings, tlsSettings);\n\tBOOL r2 = CFWriteStreamSetProperty(writeStream, kCFStreamPropertySSLSettings, tlsSettings);\n\t\n\t// For some reason, starting around the time of iOS 4.3,\n\t// the first call to set the kCFStreamPropertySSLSettings will return true,\n\t// but the second will return false.\n\t// \n\t// Order doesn't seem to matter.\n\t// So you could call CFReadStreamSetProperty and then CFWriteStreamSetProperty, or you could reverse the order.\n\t// Either way, the first call will return true, and the second returns false.\n\t// \n\t// Interestingly, this doesn't seem to affect anything.\n\t// Which is not altogether unusual, as the documentation seems to suggest that (for many settings)\n\t// setting it on one side of the stream automatically sets it for the other side of the stream.\n\t// \n\t// Although there isn't anything in the documentation to suggest that the second attempt would fail.\n\t// \n\t// Furthermore, this only seems to affect streams that are negotiating a security upgrade.\n\t// In other words, the socket gets connected, there is some back-and-forth communication over the unsecure\n\t// connection, and then a startTLS is issued.\n\t// So this mostly affects newer protocols (XMPP, IMAP) as opposed to older protocols (HTTPS).\n\t\n\tif (!r1 && !r2) // Yes, the && is correct - workaround for apple bug.\n\t{\n\t\t[self closeWithError:[self otherError:@\"Error in CFStreamSetProperty\"]];\n\t\treturn;\n\t}\n\t\n\tif (![self openStreams])\n\t{\n\t\t[self closeWithError:[self otherError:@\"Error in CFStreamOpen\"]];\n\t\treturn;\n\t}\n\t\n\tLogVerbose(@\"Waiting for SSL Handshake to complete...\");\n}\n\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark CFStream\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if TARGET_OS_IPHONE\n\n+ (void)ignore:(id)_\n{}\n\n+ (void)startCFStreamThreadIfNeeded\n{\n\tLogTrace();\n\t\n\tstatic dispatch_once_t predicate;\n\tdispatch_once(&predicate, ^{\n\t\t\n\t\tcfstreamThreadRetainCount = 0;\n\t\tcfstreamThreadSetupQueue = dispatch_queue_create(\"GCDAsyncSocket-CFStreamThreadSetup\", DISPATCH_QUEUE_SERIAL);\n\t});\n\t\n\tdispatch_sync(cfstreamThreadSetupQueue, ^{ @autoreleasepool {\n\t\t\n\t\tif (++cfstreamThreadRetainCount == 1)\n\t\t{\n\t\t\tcfstreamThread = [[NSThread alloc] initWithTarget:self\n\t\t\t                                         selector:@selector(cfstreamThread)\n\t\t\t                                           object:nil];\n\t\t\t[cfstreamThread start];\n\t\t}\n\t}});\n}\n\n+ (void)stopCFStreamThreadIfNeeded\n{\n\tLogTrace();\n\t\n\t// The creation of the cfstreamThread is relatively expensive.\n\t// So we'd like to keep it available for recycling.\n\t// However, there's a tradeoff here, because it shouldn't remain alive forever.\n\t// So what we're going to do is use a little delay before taking it down.\n\t// This way it can be reused properly in situations where multiple sockets are continually in flux.\n\t\n\tint delayInSeconds = 30;\n\tdispatch_time_t when = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));\n\tdispatch_after(when, cfstreamThreadSetupQueue, ^{ @autoreleasepool {\n\t#pragma clang diagnostic push\n\t#pragma clang diagnostic warning \"-Wimplicit-retain-self\"\n\t\t\n\t\tif (cfstreamThreadRetainCount == 0)\n\t\t{\n\t\t\tLogWarn(@\"Logic error concerning cfstreamThread start / stop\");\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tif (--cfstreamThreadRetainCount == 0)\n\t\t{\n\t\t\t[cfstreamThread cancel]; // set isCancelled flag\n\t\t\t\n\t\t\t// wake up the thread\n            [[self class] performSelector:@selector(ignore:)\n                                 onThread:cfstreamThread\n                               withObject:[NSNull null]\n                            waitUntilDone:NO];\n            \n\t\t\tcfstreamThread = nil;\n\t\t}\n\t\t\n\t#pragma clang diagnostic pop\n\t}});\n}\n\n+ (void)cfstreamThread { @autoreleasepool\n{\n\t[[NSThread currentThread] setName:GCDAsyncSocketThreadName];\n\t\n\tLogInfo(@\"CFStreamThread: Started\");\n\t\n\t// We can't run the run loop unless it has an associated input source or a timer.\n\t// So we'll just create a timer that will never fire - unless the server runs for decades.\n\t[NSTimer scheduledTimerWithTimeInterval:[[NSDate distantFuture] timeIntervalSinceNow]\n\t                                 target:self\n\t                               selector:@selector(ignore:)\n\t                               userInfo:nil\n\t                                repeats:YES];\n\t\n\tNSThread *currentThread = [NSThread currentThread];\n\tNSRunLoop *currentRunLoop = [NSRunLoop currentRunLoop];\n\t\n\tBOOL isCancelled = [currentThread isCancelled];\n\t\n\twhile (!isCancelled && [currentRunLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]])\n\t{\n\t\tisCancelled = [currentThread isCancelled];\n\t}\n\t\n\tLogInfo(@\"CFStreamThread: Stopped\");\n}}\n\n+ (void)scheduleCFStreams:(GCDAsyncSocket *)asyncSocket\n{\n\tLogTrace();\n\tNSAssert([NSThread currentThread] == cfstreamThread, @\"Invoked on wrong thread\");\n\t\n\tCFRunLoopRef runLoop = CFRunLoopGetCurrent();\n\t\n\tif (asyncSocket->readStream)\n\t\tCFReadStreamScheduleWithRunLoop(asyncSocket->readStream, runLoop, kCFRunLoopDefaultMode);\n\t\n\tif (asyncSocket->writeStream)\n\t\tCFWriteStreamScheduleWithRunLoop(asyncSocket->writeStream, runLoop, kCFRunLoopDefaultMode);\n}\n\n+ (void)unscheduleCFStreams:(GCDAsyncSocket *)asyncSocket\n{\n\tLogTrace();\n\tNSAssert([NSThread currentThread] == cfstreamThread, @\"Invoked on wrong thread\");\n\t\n\tCFRunLoopRef runLoop = CFRunLoopGetCurrent();\n\t\n\tif (asyncSocket->readStream)\n\t\tCFReadStreamUnscheduleFromRunLoop(asyncSocket->readStream, runLoop, kCFRunLoopDefaultMode);\n\t\n\tif (asyncSocket->writeStream)\n\t\tCFWriteStreamUnscheduleFromRunLoop(asyncSocket->writeStream, runLoop, kCFRunLoopDefaultMode);\n}\n\nstatic void CFReadStreamCallback (CFReadStreamRef stream, CFStreamEventType type, void *pInfo)\n{\n\tGCDAsyncSocket *asyncSocket = (__bridge GCDAsyncSocket *)pInfo;\n\t\n\tswitch(type)\n\t{\n\t\tcase kCFStreamEventHasBytesAvailable:\n\t\t{\n\t\t\tdispatch_async(asyncSocket->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\tLogCVerbose(@\"CFReadStreamCallback - HasBytesAvailable\");\n\t\t\t\t\n\t\t\t\tif (asyncSocket->readStream != stream)\n\t\t\t\t\treturn_from_block;\n\t\t\t\t\n\t\t\t\tif ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS))\n\t\t\t\t{\n\t\t\t\t\t// If we set kCFStreamPropertySSLSettings before we opened the streams, this might be a lie.\n\t\t\t\t\t// (A callback related to the tcp stream, but not to the SSL layer).\n\t\t\t\t\t\n\t\t\t\t\tif (CFReadStreamHasBytesAvailable(asyncSocket->readStream))\n\t\t\t\t\t{\n\t\t\t\t\t\tasyncSocket->flags |= kSecureSocketHasBytesAvailable;\n\t\t\t\t\t\t[asyncSocket cf_finishSSLHandshake];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tasyncSocket->flags |= kSecureSocketHasBytesAvailable;\n\t\t\t\t\t[asyncSocket doReadData];\n\t\t\t\t}\n\t\t\t}});\n\t\t\t\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t{\n\t\t\tNSError *error = (__bridge_transfer  NSError *)CFReadStreamCopyError(stream);\n\t\t\t\n\t\t\tif (error == nil && type == kCFStreamEventEndEncountered)\n\t\t\t{\n\t\t\t\terror = [asyncSocket connectionClosedError];\n\t\t\t}\n\t\t\t\n\t\t\tdispatch_async(asyncSocket->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\tLogCVerbose(@\"CFReadStreamCallback - Other\");\n\t\t\t\t\n\t\t\t\tif (asyncSocket->readStream != stream)\n\t\t\t\t\treturn_from_block;\n\t\t\t\t\n\t\t\t\tif ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS))\n\t\t\t\t{\n\t\t\t\t\t[asyncSocket cf_abortSSLHandshake:error];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t[asyncSocket closeWithError:error];\n\t\t\t\t}\n\t\t\t}});\n\t\t\t\n\t\t\tbreak;\n\t\t}\n\t}\n\t\n}\n\nstatic void CFWriteStreamCallback (CFWriteStreamRef stream, CFStreamEventType type, void *pInfo)\n{\n\tGCDAsyncSocket *asyncSocket = (__bridge GCDAsyncSocket *)pInfo;\n\t\n\tswitch(type)\n\t{\n\t\tcase kCFStreamEventCanAcceptBytes:\n\t\t{\n\t\t\tdispatch_async(asyncSocket->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\tLogCVerbose(@\"CFWriteStreamCallback - CanAcceptBytes\");\n\t\t\t\t\n\t\t\t\tif (asyncSocket->writeStream != stream)\n\t\t\t\t\treturn_from_block;\n\t\t\t\t\n\t\t\t\tif ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS))\n\t\t\t\t{\n\t\t\t\t\t// If we set kCFStreamPropertySSLSettings before we opened the streams, this might be a lie.\n\t\t\t\t\t// (A callback related to the tcp stream, but not to the SSL layer).\n\t\t\t\t\t\n\t\t\t\t\tif (CFWriteStreamCanAcceptBytes(asyncSocket->writeStream))\n\t\t\t\t\t{\n\t\t\t\t\t\tasyncSocket->flags |= kSocketCanAcceptBytes;\n\t\t\t\t\t\t[asyncSocket cf_finishSSLHandshake];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tasyncSocket->flags |= kSocketCanAcceptBytes;\n\t\t\t\t\t[asyncSocket doWriteData];\n\t\t\t\t}\n\t\t\t}});\n\t\t\t\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t{\n\t\t\tNSError *error = (__bridge_transfer NSError *)CFWriteStreamCopyError(stream);\n\t\t\t\n\t\t\tif (error == nil && type == kCFStreamEventEndEncountered)\n\t\t\t{\n\t\t\t\terror = [asyncSocket connectionClosedError];\n\t\t\t}\n\t\t\t\n\t\t\tdispatch_async(asyncSocket->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\tLogCVerbose(@\"CFWriteStreamCallback - Other\");\n\t\t\t\t\n\t\t\t\tif (asyncSocket->writeStream != stream)\n\t\t\t\t\treturn_from_block;\n\t\t\t\t\n\t\t\t\tif ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS))\n\t\t\t\t{\n\t\t\t\t\t[asyncSocket cf_abortSSLHandshake:error];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t[asyncSocket closeWithError:error];\n\t\t\t\t}\n\t\t\t}});\n\t\t\t\n\t\t\tbreak;\n\t\t}\n\t}\n\t\n}\n\n- (BOOL)createReadAndWriteStream\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t\n\tif (readStream || writeStream)\n\t{\n\t\t// Streams already created\n\t\treturn YES;\n\t}\n\t\n\tint socketFD = (socket4FD != SOCKET_NULL) ? socket4FD : (socket6FD != SOCKET_NULL) ? socket6FD : socketUN;\n\t\n\tif (socketFD == SOCKET_NULL)\n\t{\n\t\t// Cannot create streams without a file descriptor\n\t\treturn NO;\n\t}\n\t\n\tif (![self isConnected])\n\t{\n\t\t// Cannot create streams until file descriptor is connected\n\t\treturn NO;\n\t}\n\t\n\tLogVerbose(@\"Creating read and write stream...\");\n\t\n\tCFStreamCreatePairWithSocket(NULL, (CFSocketNativeHandle)socketFD, &readStream, &writeStream);\n\t\n\t// The kCFStreamPropertyShouldCloseNativeSocket property should be false by default (for our case).\n\t// But let's not take any chances.\n\t\n\tif (readStream)\n\t\tCFReadStreamSetProperty(readStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);\n\tif (writeStream)\n\t\tCFWriteStreamSetProperty(writeStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);\n\t\n\tif ((readStream == NULL) || (writeStream == NULL))\n\t{\n\t\tLogWarn(@\"Unable to create read and write stream...\");\n\t\t\n\t\tif (readStream)\n\t\t{\n\t\t\tCFReadStreamClose(readStream);\n\t\t\tCFRelease(readStream);\n\t\t\treadStream = NULL;\n\t\t}\n\t\tif (writeStream)\n\t\t{\n\t\t\tCFWriteStreamClose(writeStream);\n\t\t\tCFRelease(writeStream);\n\t\t\twriteStream = NULL;\n\t\t}\n\t\t\n\t\treturn NO;\n\t}\n\t\n\treturn YES;\n}\n\n- (BOOL)registerForStreamCallbacksIncludingReadWrite:(BOOL)includeReadWrite\n{\n\tLogVerbose(@\"%@ %@\", THIS_METHOD, (includeReadWrite ? @\"YES\" : @\"NO\"));\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert((readStream != NULL && writeStream != NULL), @\"Read/Write stream is null\");\n\t\n\tstreamContext.version = 0;\n\tstreamContext.info = (__bridge void *)(self);\n\tstreamContext.retain = nil;\n\tstreamContext.release = nil;\n\tstreamContext.copyDescription = nil;\n\t\n\tCFOptionFlags readStreamEvents = kCFStreamEventErrorOccurred | kCFStreamEventEndEncountered;\n\tif (includeReadWrite)\n\t\treadStreamEvents |= kCFStreamEventHasBytesAvailable;\n\t\n\tif (!CFReadStreamSetClient(readStream, readStreamEvents, &CFReadStreamCallback, &streamContext))\n\t{\n\t\treturn NO;\n\t}\n\t\n\tCFOptionFlags writeStreamEvents = kCFStreamEventErrorOccurred | kCFStreamEventEndEncountered;\n\tif (includeReadWrite)\n\t\twriteStreamEvents |= kCFStreamEventCanAcceptBytes;\n\t\n\tif (!CFWriteStreamSetClient(writeStream, writeStreamEvents, &CFWriteStreamCallback, &streamContext))\n\t{\n\t\treturn NO;\n\t}\n\t\n\treturn YES;\n}\n\n- (BOOL)addStreamsToRunLoop\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert((readStream != NULL && writeStream != NULL), @\"Read/Write stream is null\");\n\t\n\tif (!(flags & kAddedStreamsToRunLoop))\n\t{\n\t\tLogVerbose(@\"Adding streams to runloop...\");\n\t\t\n\t\t[[self class] startCFStreamThreadIfNeeded];\n        dispatch_sync(cfstreamThreadSetupQueue, ^{\n            [[self class] performSelector:@selector(scheduleCFStreams:)\n                                 onThread:cfstreamThread\n                               withObject:self\n                            waitUntilDone:YES];\n        });\n\t\tflags |= kAddedStreamsToRunLoop;\n\t}\n\t\n\treturn YES;\n}\n\n- (void)removeStreamsFromRunLoop\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert((readStream != NULL && writeStream != NULL), @\"Read/Write stream is null\");\n\t\n\tif (flags & kAddedStreamsToRunLoop)\n\t{\n\t\tLogVerbose(@\"Removing streams from runloop...\");\n        \n        dispatch_sync(cfstreamThreadSetupQueue, ^{\n            [[self class] performSelector:@selector(unscheduleCFStreams:)\n                                 onThread:cfstreamThread\n                               withObject:self\n                            waitUntilDone:YES];\n        });\n\t\t[[self class] stopCFStreamThreadIfNeeded];\n\t\t\n\t\tflags &= ~kAddedStreamsToRunLoop;\n\t}\n}\n\n- (BOOL)openStreams\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert((readStream != NULL && writeStream != NULL), @\"Read/Write stream is null\");\n\t\n\tCFStreamStatus readStatus = CFReadStreamGetStatus(readStream);\n\tCFStreamStatus writeStatus = CFWriteStreamGetStatus(writeStream);\n\t\n\tif ((readStatus == kCFStreamStatusNotOpen) || (writeStatus == kCFStreamStatusNotOpen))\n\t{\n\t\tLogVerbose(@\"Opening read and write stream...\");\n\t\t\n\t\tBOOL r1 = CFReadStreamOpen(readStream);\n\t\tBOOL r2 = CFWriteStreamOpen(writeStream);\n\t\t\n\t\tif (!r1 || !r2)\n\t\t{\n\t\t\tLogError(@\"Error in CFStreamOpen\");\n\t\t\treturn NO;\n\t\t}\n\t}\n\t\n\treturn YES;\n}\n\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Advanced\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * See header file for big discussion of this method.\n**/\n- (BOOL)autoDisconnectOnClosedReadStream\n{\n\t// Note: YES means kAllowHalfDuplexConnection is OFF\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn ((config & kAllowHalfDuplexConnection) == 0);\n\t}\n\telse\n\t{\n\t\t__block BOOL result;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = ((self->config & kAllowHalfDuplexConnection) == 0);\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n/**\n * See header file for big discussion of this method.\n**/\n- (void)setAutoDisconnectOnClosedReadStream:(BOOL)flag\n{\n\t// Note: YES means kAllowHalfDuplexConnection is OFF\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\tif (flag)\n            self->config &= ~kAllowHalfDuplexConnection;\n\t\telse\n            self->config |= kAllowHalfDuplexConnection;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n\n/**\n * See header file for big discussion of this method.\n**/\n- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketNewTargetQueue\n{\n\tvoid *nonNullUnusedPointer = (__bridge void *)self;\n\tdispatch_queue_set_specific(socketNewTargetQueue, IsOnSocketQueueOrTargetQueueKey, nonNullUnusedPointer, NULL);\n}\n\n/**\n * See header file for big discussion of this method.\n**/\n- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketOldTargetQueue\n{\n\tdispatch_queue_set_specific(socketOldTargetQueue, IsOnSocketQueueOrTargetQueueKey, NULL, NULL);\n}\n\n/**\n * See header file for big discussion of this method.\n**/\n- (void)performBlock:(dispatch_block_t)block\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (int)socketFD\n{\n\tif (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n\t\treturn SOCKET_NULL;\n\t}\n\t\n\tif (socket4FD != SOCKET_NULL)\n\t\treturn socket4FD;\n\telse\n\t\treturn socket6FD;\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (int)socket4FD\n{\n\tif (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n\t\treturn SOCKET_NULL;\n\t}\n\t\n\treturn socket4FD;\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (int)socket6FD\n{\n\tif (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n\t\treturn SOCKET_NULL;\n\t}\n\t\n\treturn socket6FD;\n}\n\n#if TARGET_OS_IPHONE\n\n/**\n * Questions? Have you read the header file?\n**/\n- (CFReadStreamRef)readStream\n{\n\tif (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n\t\treturn NULL;\n\t}\n\t\n\tif (readStream == NULL)\n\t\t[self createReadAndWriteStream];\n\t\n\treturn readStream;\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (CFWriteStreamRef)writeStream\n{\n\tif (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n\t\treturn NULL;\n\t}\n\t\n\tif (writeStream == NULL)\n\t\t[self createReadAndWriteStream];\n\t\n\treturn writeStream;\n}\n\n- (BOOL)enableBackgroundingOnSocketWithCaveat:(BOOL)caveat\n{\n\tif (![self createReadAndWriteStream])\n\t{\n\t\t// Error occurred creating streams (perhaps socket isn't open)\n\t\treturn NO;\n\t}\n\t\n\tBOOL r1, r2;\n\t\n\tLogVerbose(@\"Enabling backgrouding on socket\");\n\t\n\tr1 = CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n\tr2 = CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n\t\n\tif (!r1 || !r2)\n\t{\n\t\treturn NO;\n\t}\n\t\n\tif (!caveat)\n\t{\n\t\tif (![self openStreams])\n\t\t{\n\t\t\treturn NO;\n\t\t}\n\t}\n\t\n\treturn YES;\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (BOOL)enableBackgroundingOnSocket\n{\n\tLogTrace();\n\t\n\tif (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n\t\treturn NO;\n\t}\n\t\n\treturn [self enableBackgroundingOnSocketWithCaveat:NO];\n}\n\n- (BOOL)enableBackgroundingOnSocketWithCaveat // Deprecated in iOS 4.???\n{\n\t// This method was created as a workaround for a bug in iOS.\n\t// Apple has since fixed this bug.\n\t// I'm not entirely sure which version of iOS they fixed it in...\n\t\n\tLogTrace();\n\t\n\tif (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n\t\treturn NO;\n\t}\n\t\n\treturn [self enableBackgroundingOnSocketWithCaveat:YES];\n}\n\n#endif\n\n- (SSLContextRef)sslContext\n{\n\tif (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n\t\treturn NULL;\n\t}\n\t\n\treturn sslContext;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Class Utilities\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (NSMutableArray *)lookupHost:(NSString *)host port:(uint16_t)port error:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\tNSMutableArray *addresses = nil;\n\tNSError *error = nil;\n\t\n\tif ([host isEqualToString:@\"localhost\"] || [host isEqualToString:@\"loopback\"])\n\t{\n\t\t// Use LOOPBACK address\n\t\tstruct sockaddr_in nativeAddr4;\n\t\tnativeAddr4.sin_len         = sizeof(struct sockaddr_in);\n\t\tnativeAddr4.sin_family      = AF_INET;\n\t\tnativeAddr4.sin_port        = htons(port);\n\t\tnativeAddr4.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n\t\tmemset(&(nativeAddr4.sin_zero), 0, sizeof(nativeAddr4.sin_zero));\n\t\t\n\t\tstruct sockaddr_in6 nativeAddr6;\n\t\tnativeAddr6.sin6_len        = sizeof(struct sockaddr_in6);\n\t\tnativeAddr6.sin6_family     = AF_INET6;\n\t\tnativeAddr6.sin6_port       = htons(port);\n\t\tnativeAddr6.sin6_flowinfo   = 0;\n\t\tnativeAddr6.sin6_addr       = in6addr_loopback;\n\t\tnativeAddr6.sin6_scope_id   = 0;\n\t\t\n\t\t// Wrap the native address structures\n\t\t\n\t\tNSData *address4 = [NSData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)];\n\t\tNSData *address6 = [NSData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)];\n\t\t\n\t\taddresses = [NSMutableArray arrayWithCapacity:2];\n\t\t[addresses addObject:address4];\n\t\t[addresses addObject:address6];\n\t}\n\telse\n\t{\n\t\tNSString *portStr = [NSString stringWithFormat:@\"%hu\", port];\n\t\t\n\t\tstruct addrinfo hints, *res, *res0;\n\t\t\n\t\tmemset(&hints, 0, sizeof(hints));\n\t\thints.ai_family   = PF_UNSPEC;\n\t\thints.ai_socktype = SOCK_STREAM;\n\t\thints.ai_protocol = IPPROTO_TCP;\n\t\t\n\t\tint gai_error = getaddrinfo([host UTF8String], [portStr UTF8String], &hints, &res0);\n\t\t\n\t\tif (gai_error)\n\t\t{\n\t\t\terror = [self gaiError:gai_error];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tNSUInteger capacity = 0;\n\t\t\tfor (res = res0; res; res = res->ai_next)\n\t\t\t{\n\t\t\t\tif (res->ai_family == AF_INET || res->ai_family == AF_INET6) {\n\t\t\t\t\tcapacity++;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\taddresses = [NSMutableArray arrayWithCapacity:capacity];\n\t\t\t\n\t\t\tfor (res = res0; res; res = res->ai_next)\n\t\t\t{\n\t\t\t\tif (res->ai_family == AF_INET)\n\t\t\t\t{\n\t\t\t\t\t// Found IPv4 address.\n\t\t\t\t\t// Wrap the native address structure, and add to results.\n\t\t\t\t\t\n\t\t\t\t\tNSData *address4 = [NSData dataWithBytes:res->ai_addr length:res->ai_addrlen];\n\t\t\t\t\t[addresses addObject:address4];\n\t\t\t\t}\n\t\t\t\telse if (res->ai_family == AF_INET6)\n\t\t\t\t{\n\t\t\t\t\t// Fixes connection issues with IPv6\n\t\t\t\t\t// https://github.com/robbiehanson/CocoaAsyncSocket/issues/429#issuecomment-222477158\n\t\t\t\t\t\n\t\t\t\t\t// Found IPv6 address.\n\t\t\t\t\t// Wrap the native address structure, and add to results.\n\t\t\t\t\t\n\t\t\t\t\tstruct sockaddr_in6 *sockaddr = (struct sockaddr_in6 *)res->ai_addr;\n\t\t\t\t\tin_port_t *portPtr = &sockaddr->sin6_port;\n\t\t\t\t\tif ((portPtr != NULL) && (*portPtr == 0)) {\n\t\t\t\t\t        *portPtr = htons(port);\n\t\t\t\t\t}\n\n\t\t\t\t\tNSData *address6 = [NSData dataWithBytes:res->ai_addr length:res->ai_addrlen];\n\t\t\t\t\t[addresses addObject:address6];\n\t\t\t\t}\n\t\t\t}\n\t\t\tfreeaddrinfo(res0);\n\t\t\t\n\t\t\tif ([addresses count] == 0)\n\t\t\t{\n\t\t\t\terror = [self gaiError:EAI_FAIL];\n\t\t\t}\n\t\t}\n\t}\n\t\n\tif (errPtr) *errPtr = error;\n\treturn addresses;\n}\n\n+ (NSString *)hostFromSockaddr4:(const struct sockaddr_in *)pSockaddr4\n{\n\tchar addrBuf[INET_ADDRSTRLEN];\n\t\n\tif (inet_ntop(AF_INET, &pSockaddr4->sin_addr, addrBuf, (socklen_t)sizeof(addrBuf)) == NULL)\n\t{\n\t\taddrBuf[0] = '\\0';\n\t}\n\t\n\treturn [NSString stringWithCString:addrBuf encoding:NSASCIIStringEncoding];\n}\n\n+ (NSString *)hostFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6\n{\n\tchar addrBuf[INET6_ADDRSTRLEN];\n\t\n\tif (inet_ntop(AF_INET6, &pSockaddr6->sin6_addr, addrBuf, (socklen_t)sizeof(addrBuf)) == NULL)\n\t{\n\t\taddrBuf[0] = '\\0';\n\t}\n\t\n\treturn [NSString stringWithCString:addrBuf encoding:NSASCIIStringEncoding];\n}\n\n+ (uint16_t)portFromSockaddr4:(const struct sockaddr_in *)pSockaddr4\n{\n\treturn ntohs(pSockaddr4->sin_port);\n}\n\n+ (uint16_t)portFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6\n{\n\treturn ntohs(pSockaddr6->sin6_port);\n}\n\n+ (NSURL *)urlFromSockaddrUN:(const struct sockaddr_un *)pSockaddr\n{\n\tNSString *path = [NSString stringWithUTF8String:pSockaddr->sun_path];\n\treturn [NSURL fileURLWithPath:path];\n}\n\n+ (NSString *)hostFromAddress:(NSData *)address\n{\n\tNSString *host;\n\t\n\tif ([self getHost:&host port:NULL fromAddress:address])\n\t\treturn host;\n\telse\n\t\treturn nil;\n}\n\n+ (uint16_t)portFromAddress:(NSData *)address\n{\n\tuint16_t port;\n\t\n\tif ([self getHost:NULL port:&port fromAddress:address])\n\t\treturn port;\n\telse\n\t\treturn 0;\n}\n\n+ (BOOL)isIPv4Address:(NSData *)address\n{\n\tif ([address length] >= sizeof(struct sockaddr))\n\t{\n\t\tconst struct sockaddr *sockaddrX = [address bytes];\n\t\t\n\t\tif (sockaddrX->sa_family == AF_INET) {\n\t\t\treturn YES;\n\t\t}\n\t}\n\t\n\treturn NO;\n}\n\n+ (BOOL)isIPv6Address:(NSData *)address\n{\n\tif ([address length] >= sizeof(struct sockaddr))\n\t{\n\t\tconst struct sockaddr *sockaddrX = [address bytes];\n\t\t\n\t\tif (sockaddrX->sa_family == AF_INET6) {\n\t\t\treturn YES;\n\t\t}\n\t}\n\t\n\treturn NO;\n}\n\n+ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSData *)address\n{\n\treturn [self getHost:hostPtr port:portPtr family:NULL fromAddress:address];\n}\n\n+ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr family:(sa_family_t *)afPtr fromAddress:(NSData *)address\n{\n\tif ([address length] >= sizeof(struct sockaddr))\n\t{\n\t\tconst struct sockaddr *sockaddrX = [address bytes];\n\t\t\n\t\tif (sockaddrX->sa_family == AF_INET)\n\t\t{\n\t\t\tif ([address length] >= sizeof(struct sockaddr_in))\n\t\t\t{\n\t\t\t\tstruct sockaddr_in sockaddr4;\n\t\t\t\tmemcpy(&sockaddr4, sockaddrX, sizeof(sockaddr4));\n\t\t\t\t\n\t\t\t\tif (hostPtr) *hostPtr = [self hostFromSockaddr4:&sockaddr4];\n\t\t\t\tif (portPtr) *portPtr = [self portFromSockaddr4:&sockaddr4];\n\t\t\t\tif (afPtr)   *afPtr   = AF_INET;\n\t\t\t\t\n\t\t\t\treturn YES;\n\t\t\t}\n\t\t}\n\t\telse if (sockaddrX->sa_family == AF_INET6)\n\t\t{\n\t\t\tif ([address length] >= sizeof(struct sockaddr_in6))\n\t\t\t{\n\t\t\t\tstruct sockaddr_in6 sockaddr6;\n\t\t\t\tmemcpy(&sockaddr6, sockaddrX, sizeof(sockaddr6));\n\t\t\t\t\n\t\t\t\tif (hostPtr) *hostPtr = [self hostFromSockaddr6:&sockaddr6];\n\t\t\t\tif (portPtr) *portPtr = [self portFromSockaddr6:&sockaddr6];\n\t\t\t\tif (afPtr)   *afPtr   = AF_INET6;\n\t\t\t\t\n\t\t\t\treturn YES;\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn NO;\n}\n\n+ (NSData *)CRLFData\n{\n\treturn [NSData dataWithBytes:\"\\x0D\\x0A\" length:2];\n}\n\n+ (NSData *)CRData\n{\n\treturn [NSData dataWithBytes:\"\\x0D\" length:1];\n}\n\n+ (NSData *)LFData\n{\n\treturn [NSData dataWithBytes:\"\\x0A\" length:1];\n}\n\n+ (NSData *)ZeroData\n{\n\treturn [NSData dataWithBytes:\"\" length:1];\n}\n\n@end\t\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/GCD/GCDAsyncUdpSocket.h",
    "content": "//  \n//  GCDAsyncUdpSocket\n//  \n//  This class is in the public domain.\n//  Originally created by Robbie Hanson of Deusty LLC.\n//  Updated and maintained by Deusty LLC and the Apple development community.\n//  \n//  https://github.com/robbiehanson/CocoaAsyncSocket\n//\n\n#import <Foundation/Foundation.h>\n#import <dispatch/dispatch.h>\n#import <TargetConditionals.h>\n#import <Availability.h>\n\nNS_ASSUME_NONNULL_BEGIN\nextern NSString *const GCDAsyncUdpSocketException;\nextern NSString *const GCDAsyncUdpSocketErrorDomain;\n\nextern NSString *const GCDAsyncUdpSocketQueueName;\nextern NSString *const GCDAsyncUdpSocketThreadName;\n\ntypedef NS_ENUM(NSInteger, GCDAsyncUdpSocketError) {\n\tGCDAsyncUdpSocketNoError = 0,          // Never used\n\tGCDAsyncUdpSocketBadConfigError,       // Invalid configuration\n\tGCDAsyncUdpSocketBadParamError,        // Invalid parameter was passed\n\tGCDAsyncUdpSocketSendTimeoutError,     // A send operation timed out\n\tGCDAsyncUdpSocketClosedError,          // The socket was closed\n\tGCDAsyncUdpSocketOtherError,           // Description provided in userInfo\n};\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@class GCDAsyncUdpSocket;\n\n@protocol GCDAsyncUdpSocketDelegate <NSObject>\n@optional\n\n/**\n * By design, UDP is a connectionless protocol, and connecting is not needed.\n * However, you may optionally choose to connect to a particular host for reasons\n * outlined in the documentation for the various connect methods listed above.\n * \n * This method is called if one of the connect methods are invoked, and the connection is successful.\n**/\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didConnectToAddress:(NSData *)address;\n\n/**\n * By design, UDP is a connectionless protocol, and connecting is not needed.\n * However, you may optionally choose to connect to a particular host for reasons\n * outlined in the documentation for the various connect methods listed above.\n * \n * This method is called if one of the connect methods are invoked, and the connection fails.\n * This may happen, for example, if a domain name is given for the host and the domain name is unable to be resolved.\n**/\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didNotConnect:(NSError * _Nullable)error;\n\n/**\n * Called when the datagram with the given tag has been sent.\n**/\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didSendDataWithTag:(long)tag;\n\n/**\n * Called if an error occurs while trying to send a datagram.\n * This could be due to a timeout, or something more serious such as the data being too large to fit in a sigle packet.\n**/\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError * _Nullable)error;\n\n/**\n * Called when the socket has received the requested datagram.\n**/\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data\n                                             fromAddress:(NSData *)address\n                                       withFilterContext:(nullable id)filterContext;\n\n/**\n * Called when the socket is closed.\n**/\n- (void)udpSocketDidClose:(GCDAsyncUdpSocket *)sock withError:(NSError  * _Nullable)error;\n\n@end\n\n/**\n * You may optionally set a receive filter for the socket.\n * A filter can provide several useful features:\n *    \n * 1. Many times udp packets need to be parsed.\n *    Since the filter can run in its own independent queue, you can parallelize this parsing quite easily.\n *    The end result is a parallel socket io, datagram parsing, and packet processing.\n * \n * 2. Many times udp packets are discarded because they are duplicate/unneeded/unsolicited.\n *    The filter can prevent such packets from arriving at the delegate.\n *    And because the filter can run in its own independent queue, this doesn't slow down the delegate.\n * \n *    - Since the udp protocol does not guarantee delivery, udp packets may be lost.\n *      Many protocols built atop udp thus provide various resend/re-request algorithms.\n *      This sometimes results in duplicate packets arriving.\n *      A filter may allow you to architect the duplicate detection code to run in parallel to normal processing.\n *    \n *    - Since the udp socket may be connectionless, its possible for unsolicited packets to arrive.\n *      Such packets need to be ignored.\n * \n * 3. Sometimes traffic shapers are needed to simulate real world environments.\n *    A filter allows you to write custom code to simulate such environments.\n *    The ability to code this yourself is especially helpful when your simulated environment\n *    is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router),\n *    or the system tools to handle this aren't available (e.g. on a mobile device).\n * \n * @param data    - The packet that was received.\n * @param address - The address the data was received from.\n *                  See utilities section for methods to extract info from address.\n * @param context - Out parameter you may optionally set, which will then be passed to the delegate method.\n *                  For example, filter block can parse the data and then,\n *                  pass the parsed data to the delegate.\n * \n * @returns - YES if the received packet should be passed onto the delegate.\n *            NO if the received packet should be discarded, and not reported to the delegete.\n * \n * Example:\n * \n * GCDAsyncUdpSocketReceiveFilterBlock filter = ^BOOL (NSData *data, NSData *address, id *context) {\n * \n *     MyProtocolMessage *msg = [MyProtocol parseMessage:data];\n *     \n *     *context = response;\n *     return (response != nil);\n * };\n * [udpSocket setReceiveFilter:filter withQueue:myParsingQueue];\n * \n**/\ntypedef BOOL (^GCDAsyncUdpSocketReceiveFilterBlock)(NSData *data, NSData *address, id __nullable * __nonnull context);\n\n/**\n * You may optionally set a send filter for the socket.\n * A filter can provide several interesting possibilities:\n * \n * 1. Optional caching of resolved addresses for domain names.\n *    The cache could later be consulted, resulting in fewer system calls to getaddrinfo.\n * \n * 2. Reusable modules of code for bandwidth monitoring.\n * \n * 3. Sometimes traffic shapers are needed to simulate real world environments.\n *    A filter allows you to write custom code to simulate such environments.\n *    The ability to code this yourself is especially helpful when your simulated environment\n *    is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router),\n *    or the system tools to handle this aren't available (e.g. on a mobile device).\n * \n * @param data    - The packet that was received.\n * @param address - The address the data was received from.\n *                  See utilities section for methods to extract info from address.\n * @param tag     - The tag that was passed in the send method.\n * \n * @returns - YES if the packet should actually be sent over the socket.\n *            NO if the packet should be silently dropped (not sent over the socket).\n * \n * Regardless of the return value, the delegate will be informed that the packet was successfully sent.\n *\n**/\ntypedef BOOL (^GCDAsyncUdpSocketSendFilterBlock)(NSData *data, NSData *address, long tag);\n\n\n@interface GCDAsyncUdpSocket : NSObject\n\n/**\n * GCDAsyncUdpSocket uses the standard delegate paradigm,\n * but executes all delegate callbacks on a given delegate dispatch queue.\n * This allows for maximum concurrency, while at the same time providing easy thread safety.\n * \n * You MUST set a delegate AND delegate dispatch queue before attempting to\n * use the socket, or you will get an error.\n * \n * The socket queue is optional.\n * If you pass NULL, GCDAsyncSocket will automatically create its own socket queue.\n * If you choose to provide a socket queue, the socket queue must not be a concurrent queue,\n * then please see the discussion for the method markSocketQueueTargetQueue.\n *\n * The delegate queue and socket queue can optionally be the same.\n**/\n- (instancetype)init;\n- (instancetype)initWithSocketQueue:(nullable dispatch_queue_t)sq;\n- (instancetype)initWithDelegate:(nullable id <GCDAsyncUdpSocketDelegate>)aDelegate delegateQueue:(nullable dispatch_queue_t)dq;\n- (instancetype)initWithDelegate:(nullable id <GCDAsyncUdpSocketDelegate>)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq;\n\n#pragma mark Configuration\n\n- (nullable id <GCDAsyncUdpSocketDelegate>)delegate;\n- (void)setDelegate:(nullable id <GCDAsyncUdpSocketDelegate>)delegate;\n- (void)synchronouslySetDelegate:(nullable id <GCDAsyncUdpSocketDelegate>)delegate;\n\n- (nullable dispatch_queue_t)delegateQueue;\n- (void)setDelegateQueue:(nullable dispatch_queue_t)delegateQueue;\n- (void)synchronouslySetDelegateQueue:(nullable dispatch_queue_t)delegateQueue;\n\n- (void)getDelegate:(id <GCDAsyncUdpSocketDelegate> __nullable * __nullable)delegatePtr delegateQueue:(dispatch_queue_t __nullable * __nullable)delegateQueuePtr;\n- (void)setDelegate:(nullable id <GCDAsyncUdpSocketDelegate>)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue;\n- (void)synchronouslySetDelegate:(nullable id <GCDAsyncUdpSocketDelegate>)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue;\n\n/**\n * By default, both IPv4 and IPv6 are enabled.\n * \n * This means GCDAsyncUdpSocket automatically supports both protocols,\n * and can send to IPv4 or IPv6 addresses,\n * as well as receive over IPv4 and IPv6.\n * \n * For operations that require DNS resolution, GCDAsyncUdpSocket supports both IPv4 and IPv6.\n * If a DNS lookup returns only IPv4 results, GCDAsyncUdpSocket will automatically use IPv4.\n * If a DNS lookup returns only IPv6 results, GCDAsyncUdpSocket will automatically use IPv6.\n * If a DNS lookup returns both IPv4 and IPv6 results, then the protocol used depends on the configured preference.\n * If IPv4 is preferred, then IPv4 is used.\n * If IPv6 is preferred, then IPv6 is used.\n * If neutral, then the first IP version in the resolved array will be used.\n * \n * Starting with Mac OS X 10.7 Lion and iOS 5, the default IP preference is neutral.\n * On prior systems the default IP preference is IPv4.\n **/\n- (BOOL)isIPv4Enabled;\n- (void)setIPv4Enabled:(BOOL)flag;\n\n- (BOOL)isIPv6Enabled;\n- (void)setIPv6Enabled:(BOOL)flag;\n\n- (BOOL)isIPv4Preferred;\n- (BOOL)isIPv6Preferred;\n- (BOOL)isIPVersionNeutral;\n\n- (void)setPreferIPv4;\n- (void)setPreferIPv6;\n- (void)setIPVersionNeutral;\n\n/**\n * Gets/Sets the maximum size of the buffer that will be allocated for receive operations.\n * The default maximum size is 65535 bytes.\n * \n * The theoretical maximum size of any IPv4 UDP packet is UINT16_MAX = 65535.\n * The theoretical maximum size of any IPv6 UDP packet is UINT32_MAX = 4294967295.\n * \n * Since the OS/GCD notifies us of the size of each received UDP packet,\n * the actual allocated buffer size for each packet is exact.\n * And in practice the size of UDP packets is generally much smaller than the max.\n * Indeed most protocols will send and receive packets of only a few bytes,\n * or will set a limit on the size of packets to prevent fragmentation in the IP layer.\n * \n * If you set the buffer size too small, the sockets API in the OS will silently discard\n * any extra data, and you will not be notified of the error.\n**/\n- (uint16_t)maxReceiveIPv4BufferSize;\n- (void)setMaxReceiveIPv4BufferSize:(uint16_t)max;\n\n- (uint32_t)maxReceiveIPv6BufferSize;\n- (void)setMaxReceiveIPv6BufferSize:(uint32_t)max;\n\n/**\n * Gets/Sets the maximum size of the buffer that will be allocated for send operations.\n * The default maximum size is 65535 bytes.\n * \n * Given that a typical link MTU is 1500 bytes, a large UDP datagram will have to be \n * fragmented, and that’s both expensive and risky (if one fragment goes missing, the\n * entire datagram is lost).  You are much better off sending a large number of smaller\n * UDP datagrams, preferably using a path MTU algorithm to avoid fragmentation.\n *\n * You must set it before the sockt is created otherwise it won't work.\n *\n **/\n- (uint16_t)maxSendBufferSize;\n- (void)setMaxSendBufferSize:(uint16_t)max;\n\n/**\n * User data allows you to associate arbitrary information with the socket.\n * This data is not used internally in any way.\n**/\n- (nullable id)userData;\n- (void)setUserData:(nullable id)arbitraryUserData;\n\n#pragma mark Diagnostics\n\n/**\n * Returns the local address info for the socket.\n * \n * The localAddress method returns a sockaddr structure wrapped in a NSData object.\n * The localHost method returns the human readable IP address as a string.\n * \n * Note: Address info may not be available until after the socket has been binded, connected\n * or until after data has been sent.\n**/\n- (nullable NSData *)localAddress;\n- (nullable NSString *)localHost;\n- (uint16_t)localPort;\n\n- (nullable NSData *)localAddress_IPv4;\n- (nullable NSString *)localHost_IPv4;\n- (uint16_t)localPort_IPv4;\n\n- (nullable NSData *)localAddress_IPv6;\n- (nullable NSString *)localHost_IPv6;\n- (uint16_t)localPort_IPv6;\n\n/**\n * Returns the remote address info for the socket.\n * \n * The connectedAddress method returns a sockaddr structure wrapped in a NSData object.\n * The connectedHost method returns the human readable IP address as a string.\n * \n * Note: Since UDP is connectionless by design, connected address info\n * will not be available unless the socket is explicitly connected to a remote host/port.\n * If the socket is not connected, these methods will return nil / 0.\n**/\n- (nullable NSData *)connectedAddress;\n- (nullable NSString *)connectedHost;\n- (uint16_t)connectedPort;\n\n/**\n * Returns whether or not this socket has been connected to a single host.\n * By design, UDP is a connectionless protocol, and connecting is not needed.\n * If connected, the socket will only be able to send/receive data to/from the connected host.\n**/\n- (BOOL)isConnected;\n\n/**\n * Returns whether or not this socket has been closed.\n * The only way a socket can be closed is if you explicitly call one of the close methods.\n**/\n- (BOOL)isClosed;\n\n/**\n * Returns whether or not this socket is IPv4.\n * \n * By default this will be true, unless:\n * - IPv4 is disabled (via setIPv4Enabled:)\n * - The socket is explicitly bound to an IPv6 address\n * - The socket is connected to an IPv6 address\n**/\n- (BOOL)isIPv4;\n\n/**\n * Returns whether or not this socket is IPv6.\n * \n * By default this will be true, unless:\n * - IPv6 is disabled (via setIPv6Enabled:)\n * - The socket is explicitly bound to an IPv4 address\n * _ The socket is connected to an IPv4 address\n * \n * This method will also return false on platforms that do not support IPv6.\n * Note: The iPhone does not currently support IPv6.\n**/\n- (BOOL)isIPv6;\n\n#pragma mark Binding\n\n/**\n * Binds the UDP socket to the given port.\n * Binding should be done for server sockets that receive data prior to sending it.\n * Client sockets can skip binding,\n * as the OS will automatically assign the socket an available port when it starts sending data.\n * \n * You may optionally pass a port number of zero to immediately bind the socket,\n * yet still allow the OS to automatically assign an available port.\n * \n * You cannot bind a socket after its been connected.\n * You can only bind a socket once.\n * You can still connect a socket (if desired) after binding.\n * \n * On success, returns YES.\n * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass NULL for errPtr.\n**/\n- (BOOL)bindToPort:(uint16_t)port error:(NSError **)errPtr;\n\n/**\n * Binds the UDP socket to the given port and optional interface.\n * Binding should be done for server sockets that receive data prior to sending it.\n * Client sockets can skip binding,\n * as the OS will automatically assign the socket an available port when it starts sending data.\n * \n * You may optionally pass a port number of zero to immediately bind the socket,\n * yet still allow the OS to automatically assign an available port.\n * \n * The interface may be a name (e.g. \"en1\" or \"lo0\") or the corresponding IP address (e.g. \"192.168.4.35\").\n * You may also use the special strings \"localhost\" or \"loopback\" to specify that\n * the socket only accept packets from the local machine.\n * \n * You cannot bind a socket after its been connected.\n * You can only bind a socket once.\n * You can still connect a socket (if desired) after binding.\n * \n * On success, returns YES.\n * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass NULL for errPtr.\n**/\n- (BOOL)bindToPort:(uint16_t)port interface:(nullable NSString *)interface error:(NSError **)errPtr;\n\n/**\n * Binds the UDP socket to the given address, specified as a sockaddr structure wrapped in a NSData object.\n * \n * If you have an existing struct sockaddr you can convert it to a NSData object like so:\n * struct sockaddr sa  -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];\n * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len];\n * \n * Binding should be done for server sockets that receive data prior to sending it.\n * Client sockets can skip binding,\n * as the OS will automatically assign the socket an available port when it starts sending data.\n * \n * You cannot bind a socket after its been connected.\n * You can only bind a socket once.\n * You can still connect a socket (if desired) after binding.\n * \n * On success, returns YES.\n * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass NULL for errPtr.\n**/\n- (BOOL)bindToAddress:(NSData *)localAddr error:(NSError **)errPtr;\n\n#pragma mark Connecting\n\n/**\n * Connects the UDP socket to the given host and port.\n * By design, UDP is a connectionless protocol, and connecting is not needed.\n * \n * Choosing to connect to a specific host/port has the following effect:\n * - You will only be able to send data to the connected host/port.\n * - You will only be able to receive data from the connected host/port.\n * - You will receive ICMP messages that come from the connected host/port, such as \"connection refused\".\n * \n * The actual process of connecting a UDP socket does not result in any communication on the socket.\n * It simply changes the internal state of the socket.\n * \n * You cannot bind a socket after it has been connected.\n * You can only connect a socket once.\n * \n * The host may be a domain name (e.g. \"deusty.com\") or an IP address string (e.g. \"192.168.0.2\").\n * \n * This method is asynchronous as it requires a DNS lookup to resolve the given host name.\n * If an obvious error is detected, this method immediately returns NO and sets errPtr.\n * If you don't care about the error, you can pass nil for errPtr.\n * Otherwise, this method returns YES and begins the asynchronous connection process.\n * The result of the asynchronous connection process will be reported via the delegate methods.\n **/\n- (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr;\n\n/**\n * Connects the UDP socket to the given address, specified as a sockaddr structure wrapped in a NSData object.\n * \n * If you have an existing struct sockaddr you can convert it to a NSData object like so:\n * struct sockaddr sa  -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];\n * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len];\n * \n * By design, UDP is a connectionless protocol, and connecting is not needed.\n * \n * Choosing to connect to a specific address has the following effect:\n * - You will only be able to send data to the connected address.\n * - You will only be able to receive data from the connected address.\n * - You will receive ICMP messages that come from the connected address, such as \"connection refused\".\n * \n * Connecting a UDP socket does not result in any communication on the socket.\n * It simply changes the internal state of the socket.\n * \n * You cannot bind a socket after its been connected.\n * You can only connect a socket once.\n * \n * On success, returns YES.\n * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr.\n * \n * Note: Unlike the connectToHost:onPort:error: method, this method does not require a DNS lookup.\n * Thus when this method returns, the connection has either failed or fully completed.\n * In other words, this method is synchronous, unlike the asynchronous connectToHost::: method.\n * However, for compatibility and simplification of delegate code, if this method returns YES\n * then the corresponding delegate method (udpSocket:didConnectToHost:port:) is still invoked.\n**/\n- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr;\n\n#pragma mark Multicast\n\n/**\n * Join multicast group.\n * Group should be an IP address (eg @\"225.228.0.1\").\n * \n * On success, returns YES.\n * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr.\n**/\n- (BOOL)joinMulticastGroup:(NSString *)group error:(NSError **)errPtr;\n\n/**\n * Join multicast group.\n * Group should be an IP address (eg @\"225.228.0.1\").\n * The interface may be a name (e.g. \"en1\" or \"lo0\") or the corresponding IP address (e.g. \"192.168.4.35\").\n * \n * On success, returns YES.\n * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr.\n**/\n- (BOOL)joinMulticastGroup:(NSString *)group onInterface:(nullable NSString *)interface error:(NSError **)errPtr;\n\n- (BOOL)leaveMulticastGroup:(NSString *)group error:(NSError **)errPtr;\n- (BOOL)leaveMulticastGroup:(NSString *)group onInterface:(nullable NSString *)interface error:(NSError **)errPtr;\n\n#pragma mark Reuse Port\n\n/**\n * By default, only one socket can be bound to a given IP address + port at a time.\n * To enable multiple processes to simultaneously bind to the same address+port, \n * you need to enable this functionality in the socket.  All processes that wish to\n * use the address+port simultaneously must all enable reuse port on the socket\n * bound to that port.\n **/\n- (BOOL)enableReusePort:(BOOL)flag error:(NSError **)errPtr;\n\n#pragma mark Broadcast\n\n/**\n * By default, the underlying socket in the OS will not allow you to send broadcast messages.\n * In order to send broadcast messages, you need to enable this functionality in the socket.\n * \n * A broadcast is a UDP message to addresses like \"192.168.255.255\" or \"255.255.255.255\" that is\n * delivered to every host on the network.\n * The reason this is generally disabled by default (by the OS) is to prevent\n * accidental broadcast messages from flooding the network.\n**/\n- (BOOL)enableBroadcast:(BOOL)flag error:(NSError **)errPtr;\n\n#pragma mark Sending\n\n/**\n * Asynchronously sends the given data, with the given timeout and tag.\n * \n * This method may only be used with a connected socket.\n * Recall that connecting is optional for a UDP socket.\n * For connected sockets, data can only be sent to the connected address.\n * For non-connected sockets, the remote destination is specified for each packet.\n * For more information about optionally connecting udp sockets, see the documentation for the connect methods above.\n * \n * @param data\n *     The data to send.\n *     If data is nil or zero-length, this method does nothing.\n *     If passing NSMutableData, please read the thread-safety notice below.\n * \n * @param timeout\n *    The timeout for the send opeartion.\n *    If the timeout value is negative, the send operation will not use a timeout.\n * \n * @param tag\n *    The tag is for your convenience.\n *    It is not sent or received over the socket in any manner what-so-ever.\n *    It is reported back as a parameter in the udpSocket:didSendDataWithTag:\n *    or udpSocket:didNotSendDataWithTag:dueToError: methods.\n *    You can use it as an array index, state id, type constant, etc.\n * \n * \n * Thread-Safety Note:\n * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while\n * the socket is sending it. In other words, it's not safe to alter the data until after the delegate method\n * udpSocket:didSendDataWithTag: or udpSocket:didNotSendDataWithTag:dueToError: is invoked signifying\n * that this particular send operation has completed.\n * This is due to the fact that GCDAsyncUdpSocket does NOT copy the data.\n * It simply retains it for performance reasons.\n * Often times, if NSMutableData is passed, it is because a request/response was built up in memory.\n * Copying this data adds an unwanted/unneeded overhead.\n * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket\n * completes sending the bytes (which is NOT immediately after this method returns, but rather at a later time\n * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method.\n**/\n- (void)sendData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * Asynchronously sends the given data, with the given timeout and tag, to the given host and port.\n * \n * This method cannot be used with a connected socket.\n * Recall that connecting is optional for a UDP socket.\n * For connected sockets, data can only be sent to the connected address.\n * For non-connected sockets, the remote destination is specified for each packet.\n * For more information about optionally connecting udp sockets, see the documentation for the connect methods above.\n * \n * @param data\n *     The data to send.\n *     If data is nil or zero-length, this method does nothing.\n *     If passing NSMutableData, please read the thread-safety notice below.\n * \n * @param host\n *     The destination to send the udp packet to.\n *     May be specified as a domain name (e.g. \"deusty.com\") or an IP address string (e.g. \"192.168.0.2\").\n *     You may also use the convenience strings of \"loopback\" or \"localhost\".\n * \n * @param port\n *    The port of the host to send to.\n * \n * @param timeout\n *    The timeout for the send opeartion.\n *    If the timeout value is negative, the send operation will not use a timeout.\n * \n * @param tag\n *    The tag is for your convenience.\n *    It is not sent or received over the socket in any manner what-so-ever.\n *    It is reported back as a parameter in the udpSocket:didSendDataWithTag:\n *    or udpSocket:didNotSendDataWithTag:dueToError: methods.\n *    You can use it as an array index, state id, type constant, etc.\n * \n * \n * Thread-Safety Note:\n * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while\n * the socket is sending it. In other words, it's not safe to alter the data until after the delegate method\n * udpSocket:didSendDataWithTag: or udpSocket:didNotSendDataWithTag:dueToError: is invoked signifying\n * that this particular send operation has completed.\n * This is due to the fact that GCDAsyncUdpSocket does NOT copy the data.\n * It simply retains it for performance reasons.\n * Often times, if NSMutableData is passed, it is because a request/response was built up in memory.\n * Copying this data adds an unwanted/unneeded overhead.\n * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket\n * completes sending the bytes (which is NOT immediately after this method returns, but rather at a later time\n * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method.\n**/\n- (void)sendData:(NSData *)data\n          toHost:(NSString *)host\n            port:(uint16_t)port\n     withTimeout:(NSTimeInterval)timeout\n             tag:(long)tag;\n\n/**\n * Asynchronously sends the given data, with the given timeout and tag, to the given address.\n * \n * This method cannot be used with a connected socket.\n * Recall that connecting is optional for a UDP socket.\n * For connected sockets, data can only be sent to the connected address.\n * For non-connected sockets, the remote destination is specified for each packet.\n * For more information about optionally connecting udp sockets, see the documentation for the connect methods above.\n * \n * @param data\n *     The data to send.\n *     If data is nil or zero-length, this method does nothing.\n *     If passing NSMutableData, please read the thread-safety notice below.\n * \n * @param remoteAddr\n *     The address to send the data to (specified as a sockaddr structure wrapped in a NSData object).\n * \n * @param timeout\n *    The timeout for the send opeartion.\n *    If the timeout value is negative, the send operation will not use a timeout.\n * \n * @param tag\n *    The tag is for your convenience.\n *    It is not sent or received over the socket in any manner what-so-ever.\n *    It is reported back as a parameter in the udpSocket:didSendDataWithTag:\n *    or udpSocket:didNotSendDataWithTag:dueToError: methods.\n *    You can use it as an array index, state id, type constant, etc.\n * \n * \n * Thread-Safety Note:\n * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while\n * the socket is sending it. In other words, it's not safe to alter the data until after the delegate method\n * udpSocket:didSendDataWithTag: or udpSocket:didNotSendDataWithTag:dueToError: is invoked signifying\n * that this particular send operation has completed.\n * This is due to the fact that GCDAsyncUdpSocket does NOT copy the data.\n * It simply retains it for performance reasons.\n * Often times, if NSMutableData is passed, it is because a request/response was built up in memory.\n * Copying this data adds an unwanted/unneeded overhead.\n * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket\n * completes sending the bytes (which is NOT immediately after this method returns, but rather at a later time\n * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method.\n**/\n- (void)sendData:(NSData *)data toAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * You may optionally set a send filter for the socket.\n * A filter can provide several interesting possibilities:\n * \n * 1. Optional caching of resolved addresses for domain names.\n *    The cache could later be consulted, resulting in fewer system calls to getaddrinfo.\n * \n * 2. Reusable modules of code for bandwidth monitoring.\n * \n * 3. Sometimes traffic shapers are needed to simulate real world environments.\n *    A filter allows you to write custom code to simulate such environments.\n *    The ability to code this yourself is especially helpful when your simulated environment\n *    is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router),\n *    or the system tools to handle this aren't available (e.g. on a mobile device).\n * \n * For more information about GCDAsyncUdpSocketSendFilterBlock, see the documentation for its typedef.\n * To remove a previously set filter, invoke this method and pass a nil filterBlock and NULL filterQueue.\n * \n * Note: This method invokes setSendFilter:withQueue:isAsynchronous: (documented below),\n *       passing YES for the isAsynchronous parameter.\n**/\n- (void)setSendFilter:(nullable GCDAsyncUdpSocketSendFilterBlock)filterBlock withQueue:(nullable dispatch_queue_t)filterQueue;\n\n/**\n * The receive filter can be run via dispatch_async or dispatch_sync.\n * Most typical situations call for asynchronous operation.\n * \n * However, there are a few situations in which synchronous operation is preferred.\n * Such is the case when the filter is extremely minimal and fast.\n * This is because dispatch_sync is faster than dispatch_async.\n * \n * If you choose synchronous operation, be aware of possible deadlock conditions.\n * Since the socket queue is executing your block via dispatch_sync,\n * then you cannot perform any tasks which may invoke dispatch_sync on the socket queue.\n * For example, you can't query properties on the socket.\n**/\n- (void)setSendFilter:(nullable GCDAsyncUdpSocketSendFilterBlock)filterBlock\n            withQueue:(nullable dispatch_queue_t)filterQueue\n       isAsynchronous:(BOOL)isAsynchronous;\n\n#pragma mark Receiving\n\n/**\n * There are two modes of operation for receiving packets: one-at-a-time & continuous.\n * \n * In one-at-a-time mode, you call receiveOnce everytime your delegate is ready to process an incoming udp packet.\n * Receiving packets one-at-a-time may be better suited for implementing certain state machine code,\n * where your state machine may not always be ready to process incoming packets.\n * \n * In continuous mode, the delegate is invoked immediately everytime incoming udp packets are received.\n * Receiving packets continuously is better suited to real-time streaming applications.\n * \n * You may switch back and forth between one-at-a-time mode and continuous mode.\n * If the socket is currently in continuous mode, calling this method will switch it to one-at-a-time mode.\n * \n * When a packet is received (and not filtered by the optional receive filter),\n * the delegate method (udpSocket:didReceiveData:fromAddress:withFilterContext:) is invoked.\n * \n * If the socket is able to begin receiving packets, this method returns YES.\n * Otherwise it returns NO, and sets the errPtr with appropriate error information.\n * \n * An example error:\n * You created a udp socket to act as a server, and immediately called receive.\n * You forgot to first bind the socket to a port number, and received a error with a message like:\n * \"Must bind socket before you can receive data.\"\n**/\n- (BOOL)receiveOnce:(NSError **)errPtr;\n\n/**\n * There are two modes of operation for receiving packets: one-at-a-time & continuous.\n * \n * In one-at-a-time mode, you call receiveOnce everytime your delegate is ready to process an incoming udp packet.\n * Receiving packets one-at-a-time may be better suited for implementing certain state machine code,\n * where your state machine may not always be ready to process incoming packets.\n * \n * In continuous mode, the delegate is invoked immediately everytime incoming udp packets are received.\n * Receiving packets continuously is better suited to real-time streaming applications.\n * \n * You may switch back and forth between one-at-a-time mode and continuous mode.\n * If the socket is currently in one-at-a-time mode, calling this method will switch it to continuous mode.\n * \n * For every received packet (not filtered by the optional receive filter),\n * the delegate method (udpSocket:didReceiveData:fromAddress:withFilterContext:) is invoked.\n * \n * If the socket is able to begin receiving packets, this method returns YES.\n * Otherwise it returns NO, and sets the errPtr with appropriate error information.\n * \n * An example error:\n * You created a udp socket to act as a server, and immediately called receive.\n * You forgot to first bind the socket to a port number, and received a error with a message like:\n * \"Must bind socket before you can receive data.\"\n**/\n- (BOOL)beginReceiving:(NSError **)errPtr;\n\n/**\n * If the socket is currently receiving (beginReceiving has been called), this method pauses the receiving.\n * That is, it won't read any more packets from the underlying OS socket until beginReceiving is called again.\n * \n * Important Note:\n * GCDAsyncUdpSocket may be running in parallel with your code.\n * That is, your delegate is likely running on a separate thread/dispatch_queue.\n * When you invoke this method, GCDAsyncUdpSocket may have already dispatched delegate methods to be invoked.\n * Thus, if those delegate methods have already been dispatch_async'd,\n * your didReceive delegate method may still be invoked after this method has been called.\n * You should be aware of this, and program defensively.\n**/\n- (void)pauseReceiving;\n\n/**\n * You may optionally set a receive filter for the socket.\n * This receive filter may be set to run in its own queue (independent of delegate queue).\n * \n * A filter can provide several useful features.\n * \n * 1. Many times udp packets need to be parsed.\n *    Since the filter can run in its own independent queue, you can parallelize this parsing quite easily.\n *    The end result is a parallel socket io, datagram parsing, and packet processing.\n * \n * 2. Many times udp packets are discarded because they are duplicate/unneeded/unsolicited.\n *    The filter can prevent such packets from arriving at the delegate.\n *    And because the filter can run in its own independent queue, this doesn't slow down the delegate.\n * \n *    - Since the udp protocol does not guarantee delivery, udp packets may be lost.\n *      Many protocols built atop udp thus provide various resend/re-request algorithms.\n *      This sometimes results in duplicate packets arriving.\n *      A filter may allow you to architect the duplicate detection code to run in parallel to normal processing.\n *    \n *    - Since the udp socket may be connectionless, its possible for unsolicited packets to arrive.\n *      Such packets need to be ignored.\n * \n * 3. Sometimes traffic shapers are needed to simulate real world environments.\n *    A filter allows you to write custom code to simulate such environments.\n *    The ability to code this yourself is especially helpful when your simulated environment\n *    is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router),\n *    or the system tools to handle this aren't available (e.g. on a mobile device).\n * \n * Example:\n * \n * GCDAsyncUdpSocketReceiveFilterBlock filter = ^BOOL (NSData *data, NSData *address, id *context) {\n * \n *     MyProtocolMessage *msg = [MyProtocol parseMessage:data];\n *     \n *     *context = response;\n *     return (response != nil);\n * };\n * [udpSocket setReceiveFilter:filter withQueue:myParsingQueue];\n * \n * For more information about GCDAsyncUdpSocketReceiveFilterBlock, see the documentation for its typedef.\n * To remove a previously set filter, invoke this method and pass a nil filterBlock and NULL filterQueue.\n * \n * Note: This method invokes setReceiveFilter:withQueue:isAsynchronous: (documented below),\n *       passing YES for the isAsynchronous parameter.\n**/\n- (void)setReceiveFilter:(nullable GCDAsyncUdpSocketReceiveFilterBlock)filterBlock withQueue:(nullable dispatch_queue_t)filterQueue;\n\n/**\n * The receive filter can be run via dispatch_async or dispatch_sync.\n * Most typical situations call for asynchronous operation.\n * \n * However, there are a few situations in which synchronous operation is preferred.\n * Such is the case when the filter is extremely minimal and fast.\n * This is because dispatch_sync is faster than dispatch_async.\n * \n * If you choose synchronous operation, be aware of possible deadlock conditions.\n * Since the socket queue is executing your block via dispatch_sync,\n * then you cannot perform any tasks which may invoke dispatch_sync on the socket queue.\n * For example, you can't query properties on the socket.\n**/\n- (void)setReceiveFilter:(nullable GCDAsyncUdpSocketReceiveFilterBlock)filterBlock\n               withQueue:(nullable dispatch_queue_t)filterQueue\n          isAsynchronous:(BOOL)isAsynchronous;\n\n#pragma mark Closing\n\n/**\n * Immediately closes the underlying socket.\n * Any pending send operations are discarded.\n * \n * The GCDAsyncUdpSocket instance may optionally be used again.\n *   (it will setup/configure/use another unnderlying BSD socket).\n**/\n- (void)close;\n\n/**\n * Closes the underlying socket after all pending send operations have been sent.\n * \n * The GCDAsyncUdpSocket instance may optionally be used again.\n *   (it will setup/configure/use another unnderlying BSD socket).\n**/\n- (void)closeAfterSending;\n\n#pragma mark Advanced\n/**\n * GCDAsyncSocket maintains thread safety by using an internal serial dispatch_queue.\n * In most cases, the instance creates this queue itself.\n * However, to allow for maximum flexibility, the internal queue may be passed in the init method.\n * This allows for some advanced options such as controlling socket priority via target queues.\n * However, when one begins to use target queues like this, they open the door to some specific deadlock issues.\n *\n * For example, imagine there are 2 queues:\n * dispatch_queue_t socketQueue;\n * dispatch_queue_t socketTargetQueue;\n *\n * If you do this (pseudo-code):\n * socketQueue.targetQueue = socketTargetQueue;\n *\n * Then all socketQueue operations will actually get run on the given socketTargetQueue.\n * This is fine and works great in most situations.\n * But if you run code directly from within the socketTargetQueue that accesses the socket,\n * you could potentially get deadlock. Imagine the following code:\n *\n * - (BOOL)socketHasSomething\n * {\n *     __block BOOL result = NO;\n *     dispatch_block_t block = ^{\n *         result = [self someInternalMethodToBeRunOnlyOnSocketQueue];\n *     }\n *     if (is_executing_on_queue(socketQueue))\n *         block();\n *     else\n *         dispatch_sync(socketQueue, block);\n *\n *     return result;\n * }\n *\n * What happens if you call this method from the socketTargetQueue? The result is deadlock.\n * This is because the GCD API offers no mechanism to discover a queue's targetQueue.\n * Thus we have no idea if our socketQueue is configured with a targetQueue.\n * If we had this information, we could easily avoid deadlock.\n * But, since these API's are missing or unfeasible, you'll have to explicitly set it.\n *\n * IF you pass a socketQueue via the init method,\n * AND you've configured the passed socketQueue with a targetQueue,\n * THEN you should pass the end queue in the target hierarchy.\n *\n * For example, consider the following queue hierarchy:\n * socketQueue -> ipQueue -> moduleQueue\n *\n * This example demonstrates priority shaping within some server.\n * All incoming client connections from the same IP address are executed on the same target queue.\n * And all connections for a particular module are executed on the same target queue.\n * Thus, the priority of all networking for the entire module can be changed on the fly.\n * Additionally, networking traffic from a single IP cannot monopolize the module.\n *\n * Here's how you would accomplish something like that:\n * - (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(GCDAsyncSocket *)sock\n * {\n *     dispatch_queue_t socketQueue = dispatch_queue_create(\"\", NULL);\n *     dispatch_queue_t ipQueue = [self ipQueueForAddress:address];\n *\n *     dispatch_set_target_queue(socketQueue, ipQueue);\n *     dispatch_set_target_queue(iqQueue, moduleQueue);\n *\n *     return socketQueue;\n * }\n * - (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket\n * {\n *     [clientConnections addObject:newSocket];\n *     [newSocket markSocketQueueTargetQueue:moduleQueue];\n * }\n *\n * Note: This workaround is ONLY needed if you intend to execute code directly on the ipQueue or moduleQueue.\n * This is often NOT the case, as such queues are used solely for execution shaping.\n **/\n- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreConfiguredTargetQueue;\n- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreviouslyConfiguredTargetQueue;\n\n/**\n * It's not thread-safe to access certain variables from outside the socket's internal queue.\n * \n * For example, the socket file descriptor.\n * File descriptors are simply integers which reference an index in the per-process file table.\n * However, when one requests a new file descriptor (by opening a file or socket),\n * the file descriptor returned is guaranteed to be the lowest numbered unused descriptor.\n * So if we're not careful, the following could be possible:\n * \n * - Thread A invokes a method which returns the socket's file descriptor.\n * - The socket is closed via the socket's internal queue on thread B.\n * - Thread C opens a file, and subsequently receives the file descriptor that was previously the socket's FD.\n * - Thread A is now accessing/altering the file instead of the socket.\n * \n * In addition to this, other variables are not actually objects,\n * and thus cannot be retained/released or even autoreleased.\n * An example is the sslContext, of type SSLContextRef, which is actually a malloc'd struct.\n * \n * Although there are internal variables that make it difficult to maintain thread-safety,\n * it is important to provide access to these variables\n * to ensure this class can be used in a wide array of environments.\n * This method helps to accomplish this by invoking the current block on the socket's internal queue.\n * The methods below can be invoked from within the block to access\n * those generally thread-unsafe internal variables in a thread-safe manner.\n * The given block will be invoked synchronously on the socket's internal queue.\n * \n * If you save references to any protected variables and use them outside the block, you do so at your own peril.\n**/\n- (void)performBlock:(dispatch_block_t)block;\n\n/**\n * These methods are only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Provides access to the socket's file descriptor(s).\n * If the socket isn't connected, or explicity bound to a particular interface,\n * it might actually have multiple internal socket file descriptors - one for IPv4 and one for IPv6.\n**/\n- (int)socketFD;\n- (int)socket4FD;\n- (int)socket6FD;\n\n#if TARGET_OS_IPHONE\n\n/**\n * These methods are only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Returns (creating if necessary) a CFReadStream/CFWriteStream for the internal socket.\n * \n * Generally GCDAsyncUdpSocket doesn't use CFStream. (It uses the faster GCD API's.)\n * However, if you need one for any reason,\n * these methods are a convenient way to get access to a safe instance of one.\n**/\n- (nullable CFReadStreamRef)readStream;\n- (nullable CFWriteStreamRef)writeStream;\n\n/**\n * This method is only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Configures the socket to allow it to operate when the iOS application has been backgrounded.\n * In other words, this method creates a read & write stream, and invokes:\n * \n * CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n * \n * Returns YES if successful, NO otherwise.\n * \n * Example usage:\n * \n * [asyncUdpSocket performBlock:^{\n *     [asyncUdpSocket enableBackgroundingOnSocket];\n * }];\n * \n * \n * NOTE : Apple doesn't currently support backgrounding UDP sockets. (Only TCP for now).\n**/\n//- (BOOL)enableBackgroundingOnSockets;\n\n#endif\n\n#pragma mark Utilities\n\n/**\n * Extracting host/port/family information from raw address data.\n**/\n\n+ (nullable NSString *)hostFromAddress:(NSData *)address;\n+ (uint16_t)portFromAddress:(NSData *)address;\n+ (int)familyFromAddress:(NSData *)address;\n\n+ (BOOL)isIPv4Address:(NSData *)address;\n+ (BOOL)isIPv6Address:(NSData *)address;\n\n+ (BOOL)getHost:(NSString * __nullable * __nullable)hostPtr port:(uint16_t * __nullable)portPtr fromAddress:(NSData *)address;\n+ (BOOL)getHost:(NSString * __nullable * __nullable)hostPtr port:(uint16_t * __nullable)portPtr family:(int * __nullable)afPtr fromAddress:(NSData *)address;\n\n@end\n\nNS_ASSUME_NONNULL_END\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/GCD/GCDAsyncUdpSocket.m",
    "content": "//  \n//  GCDAsyncUdpSocket\n//  \n//  This class is in the public domain.\n//  Originally created by Robbie Hanson of Deusty LLC.\n//  Updated and maintained by Deusty LLC and the Apple development community.\n//  \n//  https://github.com/robbiehanson/CocoaAsyncSocket\n//\n\n#import \"GCDAsyncUdpSocket.h\"\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n// For more information see: https://github.com/robbiehanson/CocoaAsyncSocket/wiki/ARC\n#endif\n\n#if TARGET_OS_IPHONE\n  #import <CFNetwork/CFNetwork.h>\n  #import <UIKit/UIKit.h>\n#endif\n\n#import <arpa/inet.h>\n#import <fcntl.h>\n#import <ifaddrs.h>\n#import <netdb.h>\n#import <net/if.h>\n#import <sys/socket.h>\n#import <sys/types.h>\n\n\n#if 0\n\n// Logging Enabled - See log level below\n\n// Logging uses the CocoaLumberjack framework (which is also GCD based).\n// http://code.google.com/p/cocoalumberjack/\n// \n// It allows us to do a lot of logging without significantly slowing down the code.\n#import \"DDLog.h\"\n\n#define LogAsync   NO\n#define LogContext 65535\n\n#define LogObjc(flg, frmt, ...) LOG_OBJC_MAYBE(LogAsync, logLevel, flg, LogContext, frmt, ##__VA_ARGS__)\n#define LogC(flg, frmt, ...)    LOG_C_MAYBE(LogAsync, logLevel, flg, LogContext, frmt, ##__VA_ARGS__)\n\n#define LogError(frmt, ...)     LogObjc(LOG_FLAG_ERROR,   (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogWarn(frmt, ...)      LogObjc(LOG_FLAG_WARN,    (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogInfo(frmt, ...)      LogObjc(LOG_FLAG_INFO,    (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogVerbose(frmt, ...)   LogObjc(LOG_FLAG_VERBOSE, (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n\n#define LogCError(frmt, ...)    LogC(LOG_FLAG_ERROR,   (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogCWarn(frmt, ...)     LogC(LOG_FLAG_WARN,    (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogCInfo(frmt, ...)     LogC(LOG_FLAG_INFO,    (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogCVerbose(frmt, ...)  LogC(LOG_FLAG_VERBOSE, (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n\n#define LogTrace()              LogObjc(LOG_FLAG_VERBOSE, @\"%@: %@\", THIS_FILE, THIS_METHOD)\n#define LogCTrace()             LogC(LOG_FLAG_VERBOSE, @\"%@: %s\", THIS_FILE, __FUNCTION__)\n\n// Log levels : off, error, warn, info, verbose\nstatic const int logLevel = LOG_LEVEL_VERBOSE;\n\n#else\n\n// Logging Disabled\n\n#define LogError(frmt, ...)     {}\n#define LogWarn(frmt, ...)      {}\n#define LogInfo(frmt, ...)      {}\n#define LogVerbose(frmt, ...)   {}\n\n#define LogCError(frmt, ...)    {}\n#define LogCWarn(frmt, ...)     {}\n#define LogCInfo(frmt, ...)     {}\n#define LogCVerbose(frmt, ...)  {}\n\n#define LogTrace()              {}\n#define LogCTrace(frmt, ...)    {}\n\n#endif\n\n/**\n * Seeing a return statements within an inner block\n * can sometimes be mistaken for a return point of the enclosing method.\n * This makes inline blocks a bit easier to read.\n**/\n#define return_from_block  return\n\n/**\n * A socket file descriptor is really just an integer.\n * It represents the index of the socket within the kernel.\n * This makes invalid file descriptor comparisons easier to read.\n**/\n#define SOCKET_NULL -1\n\n/**\n * Just to type less code.\n**/\n#define AutoreleasedBlock(block) ^{ @autoreleasepool { block(); }} \n\n\n@class GCDAsyncUdpSendPacket;\n\nNSString *const GCDAsyncUdpSocketException = @\"GCDAsyncUdpSocketException\";\nNSString *const GCDAsyncUdpSocketErrorDomain = @\"GCDAsyncUdpSocketErrorDomain\";\n\nNSString *const GCDAsyncUdpSocketQueueName = @\"GCDAsyncUdpSocket\";\nNSString *const GCDAsyncUdpSocketThreadName = @\"GCDAsyncUdpSocket-CFStream\";\n\nenum GCDAsyncUdpSocketFlags\n{\n\tkDidCreateSockets        = 1 <<  0,  // If set, the sockets have been created.\n\tkDidBind                 = 1 <<  1,  // If set, bind has been called.\n\tkConnecting              = 1 <<  2,  // If set, a connection attempt is in progress.\n\tkDidConnect              = 1 <<  3,  // If set, socket is connected.\n\tkReceiveOnce             = 1 <<  4,  // If set, one-at-a-time receive is enabled\n\tkReceiveContinuous       = 1 <<  5,  // If set, continuous receive is enabled\n\tkIPv4Deactivated         = 1 <<  6,  // If set, socket4 was closed due to bind or connect on IPv6.\n\tkIPv6Deactivated         = 1 <<  7,  // If set, socket6 was closed due to bind or connect on IPv4.\n\tkSend4SourceSuspended    = 1 <<  8,  // If set, send4Source is suspended.\n\tkSend6SourceSuspended    = 1 <<  9,  // If set, send6Source is suspended.\n\tkReceive4SourceSuspended = 1 << 10,  // If set, receive4Source is suspended.\n\tkReceive6SourceSuspended = 1 << 11,  // If set, receive6Source is suspended.\n\tkSock4CanAcceptBytes     = 1 << 12,  // If set, we know socket4 can accept bytes. If unset, it's unknown.\n\tkSock6CanAcceptBytes     = 1 << 13,  // If set, we know socket6 can accept bytes. If unset, it's unknown.\n\tkForbidSendReceive       = 1 << 14,  // If set, no new send or receive operations are allowed to be queued.\n\tkCloseAfterSends         = 1 << 15,  // If set, close as soon as no more sends are queued.\n\tkFlipFlop                = 1 << 16,  // Used to alternate between IPv4 and IPv6 sockets.\n#if TARGET_OS_IPHONE\n\tkAddedStreamListener     = 1 << 17,  // If set, CFStreams have been added to listener thread\n#endif\n};\n\nenum GCDAsyncUdpSocketConfig\n{\n\tkIPv4Disabled  = 1 << 0,  // If set, IPv4 is disabled\n\tkIPv6Disabled  = 1 << 1,  // If set, IPv6 is disabled\n\tkPreferIPv4    = 1 << 2,  // If set, IPv4 is preferred over IPv6\n\tkPreferIPv6    = 1 << 3,  // If set, IPv6 is preferred over IPv4\n};\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface GCDAsyncUdpSocket ()\n{\n#if __has_feature(objc_arc_weak)\n\t__weak id delegate;\n#else\n\t__unsafe_unretained id delegate;\n#endif\n\tdispatch_queue_t delegateQueue;\n\t\n\tGCDAsyncUdpSocketReceiveFilterBlock receiveFilterBlock;\n\tdispatch_queue_t receiveFilterQueue;\n\tBOOL receiveFilterAsync;\n\t\n\tGCDAsyncUdpSocketSendFilterBlock sendFilterBlock;\n\tdispatch_queue_t sendFilterQueue;\n\tBOOL sendFilterAsync;\n\t\n\tuint32_t flags;\n\tuint16_t config;\n\t\n\tuint16_t max4ReceiveSize;\n\tuint32_t max6ReceiveSize;\n    \n    uint16_t maxSendSize;\n\t\n\tint socket4FD;\n\tint socket6FD;\n\t\n\tdispatch_queue_t socketQueue;\n\t\n\tdispatch_source_t send4Source;\n\tdispatch_source_t send6Source;\n\tdispatch_source_t receive4Source;\n\tdispatch_source_t receive6Source;\n\tdispatch_source_t sendTimer;\n\t\n\tGCDAsyncUdpSendPacket *currentSend;\n\tNSMutableArray *sendQueue;\n\t\n\tunsigned long socket4FDBytesAvailable;\n\tunsigned long socket6FDBytesAvailable;\n\t\n\tuint32_t pendingFilterOperations;\n\t\n\tNSData   *cachedLocalAddress4;\n\tNSString *cachedLocalHost4;\n\tuint16_t  cachedLocalPort4;\n\t\n\tNSData   *cachedLocalAddress6;\n\tNSString *cachedLocalHost6;\n\tuint16_t  cachedLocalPort6;\n\t\n\tNSData   *cachedConnectedAddress;\n\tNSString *cachedConnectedHost;\n\tuint16_t  cachedConnectedPort;\n\tint       cachedConnectedFamily;\n\n\tvoid *IsOnSocketQueueOrTargetQueueKey;    \n\t\n#if TARGET_OS_IPHONE\n\tCFStreamClientContext streamContext;\n\tCFReadStreamRef readStream4;\n\tCFReadStreamRef readStream6;\n\tCFWriteStreamRef writeStream4;\n\tCFWriteStreamRef writeStream6;\n#endif\n\t\n\tid userData;\n}\n\n- (void)resumeSend4Source;\n- (void)resumeSend6Source;\n- (void)resumeReceive4Source;\n- (void)resumeReceive6Source;\n- (void)closeSockets;\n\n- (void)maybeConnect;\n- (BOOL)connectWithAddress4:(NSData *)address4 error:(NSError **)errPtr;\n- (BOOL)connectWithAddress6:(NSData *)address6 error:(NSError **)errPtr;\n\n- (void)maybeDequeueSend;\n- (void)doPreSend;\n- (void)doSend;\n- (void)endCurrentSend;\n- (void)setupSendTimerWithTimeout:(NSTimeInterval)timeout;\n\n- (void)doReceive;\n- (void)doReceiveEOF;\n\n- (void)closeWithError:(NSError *)error;\n\n- (BOOL)performMulticastRequest:(int)requestType forGroup:(NSString *)group onInterface:(NSString *)interface error:(NSError **)errPtr;\n\n#if TARGET_OS_IPHONE\n- (BOOL)createReadAndWriteStreams:(NSError **)errPtr;\n- (BOOL)registerForStreamCallbacks:(NSError **)errPtr;\n- (BOOL)addStreamsToRunLoop:(NSError **)errPtr;\n- (BOOL)openStreams:(NSError **)errPtr;\n- (void)removeStreamsFromRunLoop;\n- (void)closeReadAndWriteStreams;\n#endif\n\n+ (NSString *)hostFromSockaddr4:(const struct sockaddr_in *)pSockaddr4;\n+ (NSString *)hostFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6;\n+ (uint16_t)portFromSockaddr4:(const struct sockaddr_in *)pSockaddr4;\n+ (uint16_t)portFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6;\n\n#if TARGET_OS_IPHONE\n// Forward declaration\n+ (void)listenerThread;\n#endif\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The GCDAsyncUdpSendPacket encompasses the instructions for a single send/write.\n**/\n@interface GCDAsyncUdpSendPacket : NSObject {\n@public\n\tNSData *buffer;\n\tNSTimeInterval timeout;\n\tlong tag;\n\t\n\tBOOL resolveInProgress;\n\tBOOL filterInProgress;\n\t\n\tNSArray *resolvedAddresses;\n\tNSError *resolveError;\n\t\n\tNSData *address;\n\tint addressFamily;\n}\n\n- (id)initWithData:(NSData *)d timeout:(NSTimeInterval)t tag:(long)i;\n\n@end\n\n@implementation GCDAsyncUdpSendPacket\n\n- (id)initWithData:(NSData *)d timeout:(NSTimeInterval)t tag:(long)i\n{\n\tif ((self = [super init]))\n\t{\n\t\tbuffer = d;\n\t\ttimeout = t;\n\t\ttag = i;\n\t\t\n\t\tresolveInProgress = NO;\n\t}\n\treturn self;\n}\n\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface GCDAsyncUdpSpecialPacket : NSObject {\n@public\n//\tuint8_t type;\n\t\n\tBOOL resolveInProgress;\n\t\n\tNSArray *addresses;\n\tNSError *error;\n}\n\n- (id)init;\n\n@end\n\n@implementation GCDAsyncUdpSpecialPacket\n\n- (id)init\n{\n\tself = [super init];\n\treturn self;\n}\n\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation GCDAsyncUdpSocket\n\n- (id)init\n{\n\tLogTrace();\n\t\n\treturn [self initWithDelegate:nil delegateQueue:NULL socketQueue:NULL];\n}\n\n- (id)initWithSocketQueue:(dispatch_queue_t)sq\n{\n\tLogTrace();\n\t\n\treturn [self initWithDelegate:nil delegateQueue:NULL socketQueue:sq];\n}\n\n- (id)initWithDelegate:(id <GCDAsyncUdpSocketDelegate>)aDelegate delegateQueue:(dispatch_queue_t)dq\n{\n\tLogTrace();\n\t\n\treturn [self initWithDelegate:aDelegate delegateQueue:dq socketQueue:NULL];\n}\n\n- (id)initWithDelegate:(id <GCDAsyncUdpSocketDelegate>)aDelegate delegateQueue:(dispatch_queue_t)dq socketQueue:(dispatch_queue_t)sq\n{\n\tLogTrace();\n\t\n\tif ((self = [super init]))\n\t{\n\t\tdelegate = aDelegate;\n\t\t\n\t\tif (dq)\n\t\t{\n\t\t\tdelegateQueue = dq;\n\t\t\t#if !OS_OBJECT_USE_OBJC\n\t\t\tdispatch_retain(delegateQueue);\n\t\t\t#endif\n\t\t}\n\t\t\n\t\tmax4ReceiveSize = 65535;\n\t\tmax6ReceiveSize = 65535;\n\t\t\n        maxSendSize = 65535;\n        \n\t\tsocket4FD = SOCKET_NULL;\n\t\tsocket6FD = SOCKET_NULL;\n\t\t\n\t\tif (sq)\n\t\t{\n\t\t\tNSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0),\n\t\t\t         @\"The given socketQueue parameter must not be a concurrent queue.\");\n\t\t\tNSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0),\n\t\t\t         @\"The given socketQueue parameter must not be a concurrent queue.\");\n\t\t\tNSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),\n\t\t\t         @\"The given socketQueue parameter must not be a concurrent queue.\");\n\t\t\t\n\t\t\tsocketQueue = sq;\n\t\t\t#if !OS_OBJECT_USE_OBJC\n\t\t\tdispatch_retain(socketQueue);\n\t\t\t#endif\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsocketQueue = dispatch_queue_create([GCDAsyncUdpSocketQueueName UTF8String], NULL);\n\t\t}\n\n\t\t// The dispatch_queue_set_specific() and dispatch_get_specific() functions take a \"void *key\" parameter.\n\t\t// From the documentation:\n\t\t//\n\t\t// > Keys are only compared as pointers and are never dereferenced.\n\t\t// > Thus, you can use a pointer to a static variable for a specific subsystem or\n\t\t// > any other value that allows you to identify the value uniquely.\n\t\t//\n\t\t// We're just going to use the memory address of an ivar.\n\t\t// Specifically an ivar that is explicitly named for our purpose to make the code more readable.\n\t\t//\n\t\t// However, it feels tedious (and less readable) to include the \"&\" all the time:\n\t\t// dispatch_get_specific(&IsOnSocketQueueOrTargetQueueKey)\n\t\t//\n\t\t// So we're going to make it so it doesn't matter if we use the '&' or not,\n\t\t// by assigning the value of the ivar to the address of the ivar.\n\t\t// Thus: IsOnSocketQueueOrTargetQueueKey == &IsOnSocketQueueOrTargetQueueKey;\n\n\t\tIsOnSocketQueueOrTargetQueueKey = &IsOnSocketQueueOrTargetQueueKey;\n\n\t\tvoid *nonNullUnusedPointer = (__bridge void *)self;\n\t\tdispatch_queue_set_specific(socketQueue, IsOnSocketQueueOrTargetQueueKey, nonNullUnusedPointer, NULL);\n\t\t\n\t\tcurrentSend = nil;\n\t\tsendQueue = [[NSMutableArray alloc] initWithCapacity:5];\n\t\t\n\t\t#if TARGET_OS_IPHONE\n\t\t[[NSNotificationCenter defaultCenter] addObserver:self\n\t\t                                         selector:@selector(applicationWillEnterForeground:)\n\t\t                                             name:UIApplicationWillEnterForegroundNotification\n\t\t                                           object:nil];\n\t\t#endif\n\t}\n\treturn self;\n}\n\n- (void)dealloc\n{\n\tLogInfo(@\"%@ - %@ (start)\", THIS_METHOD, self);\n\t\n#if TARGET_OS_IPHONE\n\t[[NSNotificationCenter defaultCenter] removeObserver:self];\n#endif\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\t[self closeWithError:nil];\n\t}\n\telse\n\t{\n\t\tdispatch_sync(socketQueue, ^{\n\t\t\t[self closeWithError:nil];\n\t\t});\n\t}\n\t\n\tdelegate = nil;\n\t#if !OS_OBJECT_USE_OBJC\n\tif (delegateQueue) dispatch_release(delegateQueue);\n\t#endif\n\tdelegateQueue = NULL;\n\t\n\t#if !OS_OBJECT_USE_OBJC\n\tif (socketQueue) dispatch_release(socketQueue);\n\t#endif\n\tsocketQueue = NULL;\n\t\n\tLogInfo(@\"%@ - %@ (finish)\", THIS_METHOD, self);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (id)delegate\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn delegate;\n\t}\n\telse\n\t{\n\t\t__block id result = nil;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = self->delegate;\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (void)setDelegate:(id <GCDAsyncUdpSocketDelegate>)newDelegate synchronously:(BOOL)synchronously\n{\n\tdispatch_block_t block = ^{\n        self->delegate = newDelegate;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) {\n\t\tblock();\n\t}\n\telse {\n\t\tif (synchronously)\n\t\t\tdispatch_sync(socketQueue, block);\n\t\telse\n\t\t\tdispatch_async(socketQueue, block);\n\t}\n}\n\n- (void)setDelegate:(id <GCDAsyncUdpSocketDelegate>)newDelegate\n{\n\t[self setDelegate:newDelegate synchronously:NO];\n}\n\n- (void)synchronouslySetDelegate:(id <GCDAsyncUdpSocketDelegate>)newDelegate\n{\n\t[self setDelegate:newDelegate synchronously:YES];\n}\n\n- (dispatch_queue_t)delegateQueue\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\treturn delegateQueue;\n\t}\n\telse\n\t{\n\t\t__block dispatch_queue_t result = NULL;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            result = self->delegateQueue;\n\t\t});\n\t\t\n\t\treturn result;\n\t}\n}\n\n- (void)setDelegateQueue:(dispatch_queue_t)newDelegateQueue synchronously:(BOOL)synchronously\n{\n\tdispatch_block_t block = ^{\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n        if (self->delegateQueue) dispatch_release(self->delegateQueue);\n\t\tif (newDelegateQueue) dispatch_retain(newDelegateQueue);\n\t\t#endif\n\t\t\n        self->delegateQueue = newDelegateQueue;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) {\n\t\tblock();\n\t}\n\telse {\n\t\tif (synchronously)\n\t\t\tdispatch_sync(socketQueue, block);\n\t\telse\n\t\t\tdispatch_async(socketQueue, block);\n\t}\n}\n\n- (void)setDelegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n\t[self setDelegateQueue:newDelegateQueue synchronously:NO];\n}\n\n- (void)synchronouslySetDelegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n\t[self setDelegateQueue:newDelegateQueue synchronously:YES];\n}\n\n- (void)getDelegate:(id <GCDAsyncUdpSocketDelegate> *)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tif (delegatePtr) *delegatePtr = delegate;\n\t\tif (delegateQueuePtr) *delegateQueuePtr = delegateQueue;\n\t}\n\telse\n\t{\n\t\t__block id dPtr = NULL;\n\t\t__block dispatch_queue_t dqPtr = NULL;\n\t\t\n\t\tdispatch_sync(socketQueue, ^{\n            dPtr = self->delegate;\n            dqPtr = self->delegateQueue;\n\t\t});\n\t\t\n\t\tif (delegatePtr) *delegatePtr = dPtr;\n\t\tif (delegateQueuePtr) *delegateQueuePtr = dqPtr;\n\t}\n}\n\n- (void)setDelegate:(id <GCDAsyncUdpSocketDelegate>)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue synchronously:(BOOL)synchronously\n{\n\tdispatch_block_t block = ^{\n\t\t\n        self->delegate = newDelegate;\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n        if (self->delegateQueue) dispatch_release(self->delegateQueue);\n\t\tif (newDelegateQueue) dispatch_retain(newDelegateQueue);\n\t\t#endif\n\t\t\n        self->delegateQueue = newDelegateQueue;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) {\n\t\tblock();\n\t}\n\telse {\n\t\tif (synchronously)\n\t\t\tdispatch_sync(socketQueue, block);\n\t\telse\n\t\t\tdispatch_async(socketQueue, block);\n\t}\n}\n\n- (void)setDelegate:(id <GCDAsyncUdpSocketDelegate>)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n\t[self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:NO];\n}\n\n- (void)synchronouslySetDelegate:(id <GCDAsyncUdpSocketDelegate>)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n\t[self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:YES];\n}\n\n- (BOOL)isIPv4Enabled\n{\n\t// Note: YES means kIPv4Disabled is OFF\n\t\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        result = ((self->config & kIPv4Disabled) == 0);\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (void)setIPv4Enabled:(BOOL)flag\n{\n\t// Note: YES means kIPv4Disabled is OFF\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\tLogVerbose(@\"%@ %@\", THIS_METHOD, (flag ? @\"YES\" : @\"NO\"));\n\t\t\n\t\tif (flag)\n            self->config &= ~kIPv4Disabled;\n\t\telse\n            self->config |= kIPv4Disabled;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (BOOL)isIPv6Enabled\n{\n\t// Note: YES means kIPv6Disabled is OFF\n\t\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        result = ((self->config & kIPv6Disabled) == 0);\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (void)setIPv6Enabled:(BOOL)flag\n{\n\t// Note: YES means kIPv6Disabled is OFF\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\tLogVerbose(@\"%@ %@\", THIS_METHOD, (flag ? @\"YES\" : @\"NO\"));\n\t\t\n\t\tif (flag)\n            self->config &= ~kIPv6Disabled;\n\t\telse\n            self->config |= kIPv6Disabled;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (BOOL)isIPv4Preferred\n{\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n        result = (self->config & kPreferIPv4) ? YES : NO;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (BOOL)isIPv6Preferred\n{\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n        result = (self->config & kPreferIPv6) ? YES : NO;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (BOOL)isIPVersionNeutral\n{\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n        result = (self->config & (kPreferIPv4 | kPreferIPv6)) == 0;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (void)setPreferIPv4\n{\n\tdispatch_block_t block = ^{\n\t\t\n\t\tLogTrace();\n\t\t\n        self->config |=  kPreferIPv4;\n        self->config &= ~kPreferIPv6;\n\t\t\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (void)setPreferIPv6\n{\n\tdispatch_block_t block = ^{\n\t\t\n\t\tLogTrace();\n\t\t\n        self->config &= ~kPreferIPv4;\n        self->config |=  kPreferIPv6;\n\t\t\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (void)setIPVersionNeutral\n{\n\tdispatch_block_t block = ^{\n\t\t\n\t\tLogTrace();\n\t\t\n        self->config &= ~kPreferIPv4;\n        self->config &= ~kPreferIPv6;\n\t\t\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (uint16_t)maxReceiveIPv4BufferSize\n{\n\t__block uint16_t result = 0;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        result = self->max4ReceiveSize;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (void)setMaxReceiveIPv4BufferSize:(uint16_t)max\n{\n\tdispatch_block_t block = ^{\n\t\t\n\t\tLogVerbose(@\"%@ %u\", THIS_METHOD, (unsigned)max);\n\t\t\n        self->max4ReceiveSize = max;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (uint32_t)maxReceiveIPv6BufferSize\n{\n\t__block uint32_t result = 0;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        result = self->max6ReceiveSize;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (void)setMaxReceiveIPv6BufferSize:(uint32_t)max\n{\n\tdispatch_block_t block = ^{\n\t\t\n\t\tLogVerbose(@\"%@ %u\", THIS_METHOD, (unsigned)max);\n\t\t\n        self->max6ReceiveSize = max;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (void)setMaxSendBufferSize:(uint16_t)max\n{\n    dispatch_block_t block = ^{\n        \n        LogVerbose(@\"%@ %u\", THIS_METHOD, (unsigned)max);\n        \n        self->maxSendSize = max;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_async(socketQueue, block);\n}\n\n- (uint16_t)maxSendBufferSize\n{\n    __block uint16_t result = 0;\n    \n    dispatch_block_t block = ^{\n        \n        result = self->maxSendSize;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    return result;\n}\n\n- (id)userData\n{\n\t__block id result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        result = self->userData;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (void)setUserData:(id)arbitraryUserData\n{\n\tdispatch_block_t block = ^{\n\t\t\n        if (self->userData != arbitraryUserData)\n\t\t{\n            self->userData = arbitraryUserData;\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Delegate Helpers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)notifyDidConnectToAddress:(NSData *)anAddress\n{\n\tLogTrace();\n\t\n\t__strong id theDelegate = delegate;\n\tif (delegateQueue && [theDelegate respondsToSelector:@selector(udpSocket:didConnectToAddress:)])\n\t{\n\t\tNSData *address = [anAddress copy]; // In case param is NSMutableData\n\t\t\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate udpSocket:self didConnectToAddress:address];\n\t\t}});\n\t}\n}\n\n- (void)notifyDidNotConnect:(NSError *)error\n{\n\tLogTrace();\n\t\n\t__strong id theDelegate = delegate;\n\tif (delegateQueue && [theDelegate respondsToSelector:@selector(udpSocket:didNotConnect:)])\n\t{\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate udpSocket:self didNotConnect:error];\n\t\t}});\n\t}\n}\n\n- (void)notifyDidSendDataWithTag:(long)tag\n{\n\tLogTrace();\n\t\n\t__strong id theDelegate = delegate;\n\tif (delegateQueue && [theDelegate respondsToSelector:@selector(udpSocket:didSendDataWithTag:)])\n\t{\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate udpSocket:self didSendDataWithTag:tag];\n\t\t}});\n\t}\n}\n\n- (void)notifyDidNotSendDataWithTag:(long)tag dueToError:(NSError *)error\n{\n\tLogTrace();\n\t\n\t__strong id theDelegate = delegate;\n\tif (delegateQueue && [theDelegate respondsToSelector:@selector(udpSocket:didNotSendDataWithTag:dueToError:)])\n\t{\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate udpSocket:self didNotSendDataWithTag:tag dueToError:error];\n\t\t}});\n\t}\n}\n\n- (void)notifyDidReceiveData:(NSData *)data fromAddress:(NSData *)address withFilterContext:(id)context\n{\n\tLogTrace();\n\t\n\tSEL selector = @selector(udpSocket:didReceiveData:fromAddress:withFilterContext:);\n\t\n\t__strong id theDelegate = delegate;\n\tif (delegateQueue && [theDelegate respondsToSelector:selector])\n\t{\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate udpSocket:self didReceiveData:data fromAddress:address withFilterContext:context];\n\t\t}});\n\t}\n}\n\n- (void)notifyDidCloseWithError:(NSError *)error\n{\n\tLogTrace();\n\t\n\t__strong id theDelegate = delegate;\n\tif (delegateQueue && [theDelegate respondsToSelector:@selector(udpSocketDidClose:withError:)])\n\t{\n\t\tdispatch_async(delegateQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\t[theDelegate udpSocketDidClose:self withError:error];\n\t\t}});\n\t}\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Errors\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSError *)badConfigError:(NSString *)errMsg\n{\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncUdpSocketErrorDomain\n\t                           code:GCDAsyncUdpSocketBadConfigError\n\t                       userInfo:userInfo];\n}\n\n- (NSError *)badParamError:(NSString *)errMsg\n{\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncUdpSocketErrorDomain\n\t                           code:GCDAsyncUdpSocketBadParamError\n\t                       userInfo:userInfo];\n}\n\n- (NSError *)gaiError:(int)gai_error\n{\n\tNSString *errMsg = [NSString stringWithCString:gai_strerror(gai_error) encoding:NSASCIIStringEncoding];\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:@\"kCFStreamErrorDomainNetDB\" code:gai_error userInfo:userInfo];\n}\n\n- (NSError *)errnoErrorWithReason:(NSString *)reason\n{\n\tNSString *errMsg = [NSString stringWithUTF8String:strerror(errno)];\n\tNSDictionary *userInfo;\n\t\n\tif (reason)\n\t\tuserInfo = [NSDictionary dictionaryWithObjectsAndKeys:errMsg, NSLocalizedDescriptionKey,\n\t\t                                                      reason, NSLocalizedFailureReasonErrorKey, nil];\n\telse\n\t\tuserInfo = [NSDictionary dictionaryWithObjectsAndKeys:errMsg, NSLocalizedDescriptionKey, nil];\n\t\n\treturn [NSError errorWithDomain:NSPOSIXErrorDomain code:errno userInfo:userInfo];\n}\n\n- (NSError *)errnoError\n{\n\treturn [self errnoErrorWithReason:nil];\n}\n\n/**\n * Returns a standard send timeout error.\n**/\n- (NSError *)sendTimeoutError\n{\n\tNSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncUdpSocketSendTimeoutError\",\n\t                                                     @\"GCDAsyncUdpSocket\", [NSBundle mainBundle],\n\t                                                     @\"Send operation timed out\", nil);\n\t\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncUdpSocketErrorDomain\n\t                           code:GCDAsyncUdpSocketSendTimeoutError\n\t                       userInfo:userInfo];\n}\n\n- (NSError *)socketClosedError\n{\n\tNSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncUdpSocketClosedError\",\n\t                                                     @\"GCDAsyncUdpSocket\", [NSBundle mainBundle],\n\t                                                     @\"Socket closed\", nil);\n\t\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncUdpSocketErrorDomain code:GCDAsyncUdpSocketClosedError userInfo:userInfo];\n}\n\n- (NSError *)otherError:(NSString *)errMsg\n{\n\tNSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n\t\n\treturn [NSError errorWithDomain:GCDAsyncUdpSocketErrorDomain\n\t                           code:GCDAsyncUdpSocketOtherError\n\t                       userInfo:userInfo];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Utilities\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)preOp:(NSError **)errPtr\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tif (delegate == nil) // Must have delegate set\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to use socket without a delegate. Set a delegate first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tif (delegateQueue == NULL) // Must have delegate queue set\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Attempting to use socket without a delegate queue. Set a delegate queue first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\treturn YES;\n}\n\n/**\n * This method executes on a global concurrent queue.\n * When complete, it executes the given completion block on the socketQueue.\n**/\n- (void)asyncResolveHost:(NSString *)aHost\n                    port:(uint16_t)port\n     withCompletionBlock:(void (^)(NSArray *addresses, NSError *error))completionBlock\n{\n\tLogTrace();\n\t\n\t// Check parameter(s)\n\t\n\tif (aHost == nil)\n\t{\n\t\tNSString *msg = @\"The host param is nil. Should be domain name or IP address string.\";\n\t\tNSError *error = [self badParamError:msg];\n\t\t\n\t\t// We should still use dispatch_async since this method is expected to be asynchronous\n\t\t\n\t\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\tcompletionBlock(nil, error);\n\t\t}});\n\t\t\n\t\treturn;\n\t}\n\t\n\t// It's possible that the given aHost parameter is actually a NSMutableString.\n\t// So we want to copy it now, within this block that will be executed synchronously.\n\t// This way the asynchronous lookup block below doesn't have to worry about it changing.\n\t\n\tNSString *host = [aHost copy];\n\t\n\t\n\tdispatch_queue_t globalConcurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n\tdispatch_async(globalConcurrentQueue, ^{ @autoreleasepool {\n\t\t\n\t\tNSMutableArray *addresses = [NSMutableArray arrayWithCapacity:2];\n\t\tNSError *error = nil;\n\t\t\n\t\tif ([host isEqualToString:@\"localhost\"] || [host isEqualToString:@\"loopback\"])\n\t\t{\n\t\t\t// Use LOOPBACK address\n\t\t\tstruct sockaddr_in sockaddr4;\n\t\t\tmemset(&sockaddr4, 0, sizeof(sockaddr4));\n\t\t\t\n\t\t\tsockaddr4.sin_len         = sizeof(struct sockaddr_in);\n\t\t\tsockaddr4.sin_family      = AF_INET;\n\t\t\tsockaddr4.sin_port        = htons(port);\n\t\t\tsockaddr4.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n\t\t\t\n\t\t\tstruct sockaddr_in6 sockaddr6;\n\t\t\tmemset(&sockaddr6, 0, sizeof(sockaddr6));\n\t\t\t\n\t\t\tsockaddr6.sin6_len       = sizeof(struct sockaddr_in6);\n\t\t\tsockaddr6.sin6_family    = AF_INET6;\n\t\t\tsockaddr6.sin6_port      = htons(port);\n\t\t\tsockaddr6.sin6_addr      = in6addr_loopback;\n\t\t\t\n\t\t\t// Wrap the native address structures and add to list\n\t\t\t[addresses addObject:[NSData dataWithBytes:&sockaddr4 length:sizeof(sockaddr4)]];\n\t\t\t[addresses addObject:[NSData dataWithBytes:&sockaddr6 length:sizeof(sockaddr6)]];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tNSString *portStr = [NSString stringWithFormat:@\"%hu\", port];\n\t\t\t\n\t\t\tstruct addrinfo hints, *res, *res0;\n\t\t\t\n\t\t\tmemset(&hints, 0, sizeof(hints));\n\t\t\thints.ai_family   = PF_UNSPEC;\n\t\t\thints.ai_socktype = SOCK_DGRAM;\n\t\t\thints.ai_protocol = IPPROTO_UDP;\n\t\t\t\n\t\t\tint gai_error = getaddrinfo([host UTF8String], [portStr UTF8String], &hints, &res0);\n\t\t\t\n\t\t\tif (gai_error)\n\t\t\t{\n\t\t\t\terror = [self gaiError:gai_error];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfor(res = res0; res; res = res->ai_next)\n\t\t\t\t{\n\t\t\t\t\tif (res->ai_family == AF_INET)\n\t\t\t\t\t{\n\t\t\t\t\t\t// Found IPv4 address\n\t\t\t\t\t\t// Wrap the native address structure and add to list\n\t\t\t\t\t\t\n\t\t\t\t\t\t[addresses addObject:[NSData dataWithBytes:res->ai_addr length:res->ai_addrlen]];\n\t\t\t\t\t}\n\t\t\t\t\telse if (res->ai_family == AF_INET6)\n\t\t\t\t\t{\n\n                        // Fixes connection issues with IPv6, it is the same solution for udp socket.\n                        // https://github.com/robbiehanson/CocoaAsyncSocket/issues/429#issuecomment-222477158\n                        struct sockaddr_in6 *sockaddr = (struct sockaddr_in6 *)res->ai_addr;\n                        in_port_t *portPtr = &sockaddr->sin6_port;\n                        if ((portPtr != NULL) && (*portPtr == 0)) {\n                            *portPtr = htons(port);\n                        }\n\n                        // Found IPv6 address\n                        // Wrap the native address structure and add to list\n\t\t\t\t\t\t[addresses addObject:[NSData dataWithBytes:res->ai_addr length:res->ai_addrlen]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfreeaddrinfo(res0);\n\t\t\t\t\n\t\t\t\tif ([addresses count] == 0)\n\t\t\t\t{\n\t\t\t\t\terror = [self gaiError:EAI_FAIL];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n        dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\n\t\t\tcompletionBlock(addresses, error);\n\t\t}});\n\t\t\n\t}});\n}\n\n/**\n * This method picks an address from the given list of addresses.\n * The address picked depends upon which protocols are disabled, deactived, & preferred.\n * \n * Returns the address family (AF_INET or AF_INET6) of the picked address,\n * or AF_UNSPEC and the corresponding error is there's a problem.\n**/\n- (int)getAddress:(NSData **)addressPtr error:(NSError **)errorPtr fromAddresses:(NSArray *)addresses\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert([addresses count] > 0, @\"Expected at least one address\");\n\t\n\tint resultAF = AF_UNSPEC;\n\tNSData *resultAddress = nil;\n\tNSError *resultError = nil;\n\t\n\t// Check for problems\n\t\n\tBOOL resolvedIPv4Address = NO;\n\tBOOL resolvedIPv6Address = NO;\n\t\n\tfor (NSData *address in addresses)\n\t{\n\t\tswitch ([[self class] familyFromAddress:address])\n\t\t{\n\t\t\tcase AF_INET  : resolvedIPv4Address = YES; break;\n\t\t\tcase AF_INET6 : resolvedIPv6Address = YES; break;\n\t\t\t\n\t\t\tdefault       : NSAssert(NO, @\"Addresses array contains invalid address\");\n\t\t}\n\t}\n\t\n\tBOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO;\n\tBOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO;\n\t\n\tif (isIPv4Disabled && !resolvedIPv6Address)\n\t{\n\t\tNSString *msg = @\"IPv4 has been disabled and DNS lookup found no IPv6 address(es).\";\n\t\tresultError = [self otherError:msg];\n\t\t\n\t\tif (addressPtr) *addressPtr = resultAddress;\n\t\tif (errorPtr) *errorPtr = resultError;\n\t\t\n\t\treturn resultAF;\n\t}\n\t\n\tif (isIPv6Disabled && !resolvedIPv4Address)\n\t{\n\t\tNSString *msg = @\"IPv6 has been disabled and DNS lookup found no IPv4 address(es).\";\n\t\tresultError = [self otherError:msg];\n\t\t\n\t\tif (addressPtr) *addressPtr = resultAddress;\n\t\tif (errorPtr) *errorPtr = resultError;\n\t\t\n\t\treturn resultAF;\n\t}\n\t\n\tBOOL isIPv4Deactivated = (flags & kIPv4Deactivated) ? YES : NO;\n\tBOOL isIPv6Deactivated = (flags & kIPv6Deactivated) ? YES : NO;\n\t\n\tif (isIPv4Deactivated && !resolvedIPv6Address)\n\t{\n\t\tNSString *msg = @\"IPv4 has been deactivated due to bind/connect, and DNS lookup found no IPv6 address(es).\";\n\t\tresultError = [self otherError:msg];\n\t\t\n\t\tif (addressPtr) *addressPtr = resultAddress;\n\t\tif (errorPtr) *errorPtr = resultError;\n\t\t\n\t\treturn resultAF;\n\t}\n\t\n\tif (isIPv6Deactivated && !resolvedIPv4Address)\n\t{\n\t\tNSString *msg = @\"IPv6 has been deactivated due to bind/connect, and DNS lookup found no IPv4 address(es).\";\n\t\tresultError = [self otherError:msg];\n\t\t\n\t\tif (addressPtr) *addressPtr = resultAddress;\n\t\tif (errorPtr) *errorPtr = resultError;\n\t\t\n\t\treturn resultAF;\n\t}\n\t\n\t// Extract first IPv4 and IPv6 address in list\n\t\n\tBOOL ipv4WasFirstInList = YES;\n\tNSData *address4 = nil;\n\tNSData *address6 = nil;\n\t\n\tfor (NSData *address in addresses)\n\t{\n\t\tint af = [[self class] familyFromAddress:address];\n\t\t\n\t\tif (af == AF_INET)\n\t\t{\n\t\t\tif (address4 == nil)\n\t\t\t{\n\t\t\t\taddress4 = address;\n\t\t\t\t\n\t\t\t\tif (address6)\n\t\t\t\t\tbreak;\n\t\t\t\telse\n\t\t\t\t\tipv4WasFirstInList = YES;\n\t\t\t}\n\t\t}\n\t\telse // af == AF_INET6\n\t\t{\n\t\t\tif (address6 == nil)\n\t\t\t{\n\t\t\t\taddress6 = address;\n\t\t\t\t\n\t\t\t\tif (address4)\n\t\t\t\t\tbreak;\n\t\t\t\telse\n\t\t\t\t\tipv4WasFirstInList = NO;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Determine socket type\n\t\n\tBOOL preferIPv4 = (config & kPreferIPv4) ? YES : NO;\n\tBOOL preferIPv6 = (config & kPreferIPv6) ? YES : NO;\n\t\n\tBOOL useIPv4 = ((preferIPv4 && address4) || (address6 == nil));\n\tBOOL useIPv6 = ((preferIPv6 && address6) || (address4 == nil));\n\t\n\tNSAssert(!(preferIPv4 && preferIPv6), @\"Invalid config state\");\n\tNSAssert(!(useIPv4 && useIPv6), @\"Invalid logic\");\n\t\n\tif (useIPv4 || (!useIPv6 && ipv4WasFirstInList))\n\t{\n\t\tresultAF = AF_INET;\n\t\tresultAddress = address4;\n\t}\n\telse\n\t{\n\t\tresultAF = AF_INET6;\n\t\tresultAddress = address6;\n\t}\n\t\n\tif (addressPtr) *addressPtr = resultAddress;\n\tif (errorPtr) *errorPtr = resultError;\n\t\t\n\treturn resultAF;\n}\n\n/**\n * Finds the address(es) of an interface description.\n * An inteface description may be an interface name (en0, en1, lo0) or corresponding IP (192.168.4.34).\n**/\n- (void)convertIntefaceDescription:(NSString *)interfaceDescription\n                              port:(uint16_t)port\n                      intoAddress4:(NSData **)interfaceAddr4Ptr\n                          address6:(NSData **)interfaceAddr6Ptr\n{\n\tNSData *addr4 = nil;\n\tNSData *addr6 = nil;\n\t\n\tif (interfaceDescription == nil)\n\t{\n\t\t// ANY address\n\t\t\n\t\tstruct sockaddr_in sockaddr4;\n\t\tmemset(&sockaddr4, 0, sizeof(sockaddr4));\n\t\t\n\t\tsockaddr4.sin_len         = sizeof(sockaddr4);\n\t\tsockaddr4.sin_family      = AF_INET;\n\t\tsockaddr4.sin_port        = htons(port);\n\t\tsockaddr4.sin_addr.s_addr = htonl(INADDR_ANY);\n\t\t\n\t\tstruct sockaddr_in6 sockaddr6;\n\t\tmemset(&sockaddr6, 0, sizeof(sockaddr6));\n\t\t\n\t\tsockaddr6.sin6_len       = sizeof(sockaddr6);\n\t\tsockaddr6.sin6_family    = AF_INET6;\n\t\tsockaddr6.sin6_port      = htons(port);\n\t\tsockaddr6.sin6_addr      = in6addr_any;\n\t\t\n\t\taddr4 = [NSData dataWithBytes:&sockaddr4 length:sizeof(sockaddr4)];\n\t\taddr6 = [NSData dataWithBytes:&sockaddr6 length:sizeof(sockaddr6)];\n\t}\n\telse if ([interfaceDescription isEqualToString:@\"localhost\"] ||\n\t         [interfaceDescription isEqualToString:@\"loopback\"])\n\t{\n\t\t// LOOPBACK address\n\t\t\n\t\tstruct sockaddr_in sockaddr4;\n\t\tmemset(&sockaddr4, 0, sizeof(sockaddr4));\n\t\t\n\t\tsockaddr4.sin_len         = sizeof(struct sockaddr_in);\n\t\tsockaddr4.sin_family      = AF_INET;\n\t\tsockaddr4.sin_port        = htons(port);\n\t\tsockaddr4.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n\t\t\n\t\tstruct sockaddr_in6 sockaddr6;\n\t\tmemset(&sockaddr6, 0, sizeof(sockaddr6));\n\t\t\n\t\tsockaddr6.sin6_len       = sizeof(struct sockaddr_in6);\n\t\tsockaddr6.sin6_family    = AF_INET6;\n\t\tsockaddr6.sin6_port      = htons(port);\n\t\tsockaddr6.sin6_addr      = in6addr_loopback;\n\t\t\n\t\taddr4 = [NSData dataWithBytes:&sockaddr4 length:sizeof(sockaddr4)];\n\t\taddr6 = [NSData dataWithBytes:&sockaddr6 length:sizeof(sockaddr6)];\n\t}\n\telse\n\t{\n\t\tconst char *iface = [interfaceDescription UTF8String];\n\t\t\n\t\tstruct ifaddrs *addrs;\n\t\tconst struct ifaddrs *cursor;\n\t\t\n\t\tif ((getifaddrs(&addrs) == 0))\n\t\t{\n\t\t\tcursor = addrs;\n\t\t\twhile (cursor != NULL)\n\t\t\t{\n\t\t\t\tif ((addr4 == nil) && (cursor->ifa_addr->sa_family == AF_INET))\n\t\t\t\t{\n\t\t\t\t\t// IPv4\n\t\t\t\t\t\n\t\t\t\t\tstruct sockaddr_in *addr = (struct sockaddr_in *)cursor->ifa_addr;\n\t\t\t\t\t\n\t\t\t\t\tif (strcmp(cursor->ifa_name, iface) == 0)\n\t\t\t\t\t{\n\t\t\t\t\t\t// Name match\n\t\t\t\t\t\t\n\t\t\t\t\t\tstruct sockaddr_in nativeAddr4 = *addr;\n\t\t\t\t\t\tnativeAddr4.sin_port = htons(port);\n\t\t\t\t\t\t\n\t\t\t\t\t\taddr4 = [NSData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)];\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tchar ip[INET_ADDRSTRLEN];\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst char *conversion;\n\t\t\t\t\t\tconversion = inet_ntop(AF_INET, &addr->sin_addr, ip, sizeof(ip));\n\t\t\t\t\t\t\n\t\t\t\t\t\tif ((conversion != NULL) && (strcmp(ip, iface) == 0))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// IP match\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tstruct sockaddr_in nativeAddr4 = *addr;\n\t\t\t\t\t\t\tnativeAddr4.sin_port = htons(port);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\taddr4 = [NSData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if ((addr6 == nil) && (cursor->ifa_addr->sa_family == AF_INET6))\n\t\t\t\t{\n\t\t\t\t\t// IPv6\n\t\t\t\t\t\n\t\t\t\t\tstruct sockaddr_in6 *addr = (struct sockaddr_in6 *)cursor->ifa_addr;\n\t\t\t\t\t\n\t\t\t\t\tif (strcmp(cursor->ifa_name, iface) == 0)\n\t\t\t\t\t{\n\t\t\t\t\t\t// Name match\n\t\t\t\t\t\t\n\t\t\t\t\t\tstruct sockaddr_in6 nativeAddr6 = *addr;\n\t\t\t\t\t\tnativeAddr6.sin6_port = htons(port);\n\t\t\t\t\t\t\n\t\t\t\t\t\taddr6 = [NSData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)];\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tchar ip[INET6_ADDRSTRLEN];\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst char *conversion;\n\t\t\t\t\t\tconversion = inet_ntop(AF_INET6, &addr->sin6_addr, ip, sizeof(ip));\n\t\t\t\t\t\t\n\t\t\t\t\t\tif ((conversion != NULL) && (strcmp(ip, iface) == 0))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// IP match\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tstruct sockaddr_in6 nativeAddr6 = *addr;\n\t\t\t\t\t\t\tnativeAddr6.sin6_port = htons(port);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\taddr6 = [NSData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tcursor = cursor->ifa_next;\n\t\t\t}\n\t\t\t\n\t\t\tfreeifaddrs(addrs);\n\t\t}\n\t}\n\t\n\tif (interfaceAddr4Ptr) *interfaceAddr4Ptr = addr4;\n\tif (interfaceAddr6Ptr) *interfaceAddr6Ptr = addr6;\n}\n\n/**\n * Converts a numeric hostname into its corresponding address.\n * The hostname is expected to be an IPv4 or IPv6 address represented as a human-readable string. (e.g. 192.168.4.34)\n**/\n- (void)convertNumericHost:(NSString *)numericHost\n                      port:(uint16_t)port\n              intoAddress4:(NSData **)addr4Ptr\n                  address6:(NSData **)addr6Ptr\n{\n\tNSData *addr4 = nil;\n\tNSData *addr6 = nil;\n\t\n\tif (numericHost)\n\t{\n\t\tNSString *portStr = [NSString stringWithFormat:@\"%hu\", port];\n\t\t\n\t\tstruct addrinfo hints, *res, *res0;\n\t\t\n\t\tmemset(&hints, 0, sizeof(hints));\n\t\thints.ai_family   = PF_UNSPEC;\n\t\thints.ai_socktype = SOCK_DGRAM;\n\t\thints.ai_protocol = IPPROTO_UDP;\n\t\thints.ai_flags    = AI_NUMERICHOST; // No name resolution should be attempted\n\t\t\n\t\tif (getaddrinfo([numericHost UTF8String], [portStr UTF8String], &hints, &res0) == 0)\n\t\t{\n\t\t\tfor (res = res0; res; res = res->ai_next)\n\t\t\t{\n\t\t\t\tif ((addr4 == nil) && (res->ai_family == AF_INET))\n\t\t\t\t{\n\t\t\t\t\t// Found IPv4 address\n\t\t\t\t\t// Wrap the native address structure\n\t\t\t\t\taddr4 = [NSData dataWithBytes:res->ai_addr length:res->ai_addrlen];\n\t\t\t\t}\n\t\t\t\telse if ((addr6 == nil) && (res->ai_family == AF_INET6))\n\t\t\t\t{\n\t\t\t\t\t// Found IPv6 address\n\t\t\t\t\t// Wrap the native address structure\n\t\t\t\t\taddr6 = [NSData dataWithBytes:res->ai_addr length:res->ai_addrlen];\n\t\t\t\t}\n\t\t\t}\n\t\t\tfreeaddrinfo(res0);\n\t\t}\n\t}\n\t\n\tif (addr4Ptr) *addr4Ptr = addr4;\n\tif (addr6Ptr) *addr6Ptr = addr6;\n}\n\n- (BOOL)isConnectedToAddress4:(NSData *)someAddr4\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert(flags & kDidConnect, @\"Not connected\");\n\tNSAssert(cachedConnectedAddress, @\"Expected cached connected address\");\n\t\n\tif (cachedConnectedFamily != AF_INET)\n\t{\n\t\treturn NO;\n\t}\n\t\n\tconst struct sockaddr_in *sSockaddr4 = (struct sockaddr_in *)[someAddr4 bytes];\n\tconst struct sockaddr_in *cSockaddr4 = (struct sockaddr_in *)[cachedConnectedAddress bytes];\n\t\n\tif (memcmp(&sSockaddr4->sin_addr, &cSockaddr4->sin_addr, sizeof(struct in_addr)) != 0)\n\t{\n\t\treturn NO;\n\t}\n\tif (memcmp(&sSockaddr4->sin_port, &cSockaddr4->sin_port, sizeof(in_port_t)) != 0)\n\t{\n\t\treturn NO;\n\t}\n\t\n\treturn YES;\n}\n\n- (BOOL)isConnectedToAddress6:(NSData *)someAddr6\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert(flags & kDidConnect, @\"Not connected\");\n\tNSAssert(cachedConnectedAddress, @\"Expected cached connected address\");\n\t\n\tif (cachedConnectedFamily != AF_INET6)\n\t{\n\t\treturn NO;\n\t}\n\t\n\tconst struct sockaddr_in6 *sSockaddr6 = (struct sockaddr_in6 *)[someAddr6 bytes];\n\tconst struct sockaddr_in6 *cSockaddr6 = (struct sockaddr_in6 *)[cachedConnectedAddress bytes];\n\t\n\tif (memcmp(&sSockaddr6->sin6_addr, &cSockaddr6->sin6_addr, sizeof(struct in6_addr)) != 0)\n\t{\n\t\treturn NO;\n\t}\n\tif (memcmp(&sSockaddr6->sin6_port, &cSockaddr6->sin6_port, sizeof(in_port_t)) != 0)\n\t{\n\t\treturn NO;\n\t}\n\t\n\treturn YES;\n}\n\n- (unsigned int)indexOfInterfaceAddr4:(NSData *)interfaceAddr4\n{\n\tif (interfaceAddr4 == nil)\n\t\treturn 0;\n\tif ([interfaceAddr4 length] != sizeof(struct sockaddr_in))\n\t\treturn 0;\n\t\n\tint result = 0;\n\tstruct sockaddr_in *ifaceAddr = (struct sockaddr_in *)[interfaceAddr4 bytes];\n\t\n\tstruct ifaddrs *addrs;\n\tconst struct ifaddrs *cursor;\n\t\n\tif ((getifaddrs(&addrs) == 0))\n\t{\n\t\tcursor = addrs;\n\t\twhile (cursor != NULL)\n\t\t{\n\t\t\tif (cursor->ifa_addr->sa_family == AF_INET)\n\t\t\t{\n\t\t\t\t// IPv4\n\t\t\t\t\n\t\t\t\tstruct sockaddr_in *addr = (struct sockaddr_in *)cursor->ifa_addr;\n\t\t\t\t\n\t\t\t\tif (memcmp(&addr->sin_addr, &ifaceAddr->sin_addr, sizeof(struct in_addr)) == 0)\n\t\t\t\t{\n\t\t\t\t\tresult = if_nametoindex(cursor->ifa_name);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tcursor = cursor->ifa_next;\n\t\t}\n\t\t\n\t\tfreeifaddrs(addrs);\n\t}\n\t\n\treturn result;\n}\n\n- (unsigned int)indexOfInterfaceAddr6:(NSData *)interfaceAddr6\n{\n\tif (interfaceAddr6 == nil)\n\t\treturn 0;\n\tif ([interfaceAddr6 length] != sizeof(struct sockaddr_in6))\n\t\treturn 0;\n\t\n\tint result = 0;\n\tstruct sockaddr_in6 *ifaceAddr = (struct sockaddr_in6 *)[interfaceAddr6 bytes];\n\t\n\tstruct ifaddrs *addrs;\n\tconst struct ifaddrs *cursor;\n\t\n\tif ((getifaddrs(&addrs) == 0))\n\t{\n\t\tcursor = addrs;\n\t\twhile (cursor != NULL)\n\t\t{\n\t\t\tif (cursor->ifa_addr->sa_family == AF_INET6)\n\t\t\t{\n\t\t\t\t// IPv6\n\t\t\t\t\n\t\t\t\tstruct sockaddr_in6 *addr = (struct sockaddr_in6 *)cursor->ifa_addr;\n\t\t\t\t\n\t\t\t\tif (memcmp(&addr->sin6_addr, &ifaceAddr->sin6_addr, sizeof(struct in6_addr)) == 0)\n\t\t\t\t{\n\t\t\t\t\tresult = if_nametoindex(cursor->ifa_name);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tcursor = cursor->ifa_next;\n\t\t}\n\t\t\n\t\tfreeifaddrs(addrs);\n\t}\n\t\n\treturn result;\n}\n\n- (void)setupSendAndReceiveSourcesForSocket4\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tsend4Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_WRITE, socket4FD, 0, socketQueue);\n\treceive4Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, socket4FD, 0, socketQueue);\n\t\n\t// Setup event handlers\n\t\n\tdispatch_source_set_event_handler(send4Source, ^{ @autoreleasepool {\n\t\t\n\t\tLogVerbose(@\"send4EventBlock\");\n\t\tLogVerbose(@\"dispatch_source_get_data(send4Source) = %lu\", dispatch_source_get_data(send4Source));\n\t\t\n        self->flags |= kSock4CanAcceptBytes;\n\t\t\n\t\t// If we're ready to send data, do so immediately.\n\t\t// Otherwise pause the send source or it will continue to fire over and over again.\n\t\t\n        if (self->currentSend == nil)\n\t\t{\n\t\t\tLogVerbose(@\"Nothing to send\");\n\t\t\t[self suspendSend4Source];\n\t\t}\n        else if (self->currentSend->resolveInProgress)\n\t\t{\n\t\t\tLogVerbose(@\"currentSend - waiting for address resolve\");\n\t\t\t[self suspendSend4Source];\n\t\t}\n        else if (self->currentSend->filterInProgress)\n\t\t{\n\t\t\tLogVerbose(@\"currentSend - waiting on sendFilter\");\n\t\t\t[self suspendSend4Source];\n\t\t}\n\t\telse\n\t\t{\n\t\t\t[self doSend];\n\t\t}\n\t\t\n\t}});\n\t\n\tdispatch_source_set_event_handler(receive4Source, ^{ @autoreleasepool {\n\t\t\n\t\tLogVerbose(@\"receive4EventBlock\");\n\t\t\n        self->socket4FDBytesAvailable = dispatch_source_get_data(self->receive4Source);\n\t\tLogVerbose(@\"socket4FDBytesAvailable: %lu\", socket4FDBytesAvailable);\n\t\t\n        if (self->socket4FDBytesAvailable > 0)\n\t\t\t[self doReceive];\n\t\telse\n\t\t\t[self doReceiveEOF];\n\t\t\n\t}});\n\t\n\t// Setup cancel handlers\n\t\n\t__block int socketFDRefCount = 2;\n\t\n\tint theSocketFD = socket4FD;\n\t\n\t#if !OS_OBJECT_USE_OBJC\n\tdispatch_source_t theSendSource = send4Source;\n\tdispatch_source_t theReceiveSource = receive4Source;\n\t#endif\n\t\n\tdispatch_source_set_cancel_handler(send4Source, ^{\n\t\t\n\t\tLogVerbose(@\"send4CancelBlock\");\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tLogVerbose(@\"dispatch_release(send4Source)\");\n\t\tdispatch_release(theSendSource);\n\t\t#endif\n\t\t\n\t\tif (--socketFDRefCount == 0)\n\t\t{\n\t\t\tLogVerbose(@\"close(socket4FD)\");\n\t\t\tclose(theSocketFD);\n\t\t}\n\t});\n\t\n\tdispatch_source_set_cancel_handler(receive4Source, ^{\n\t\t\n\t\tLogVerbose(@\"receive4CancelBlock\");\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tLogVerbose(@\"dispatch_release(receive4Source)\");\n\t\tdispatch_release(theReceiveSource);\n\t\t#endif\n\t\t\n\t\tif (--socketFDRefCount == 0)\n\t\t{\n\t\t\tLogVerbose(@\"close(socket4FD)\");\n\t\t\tclose(theSocketFD);\n\t\t}\n\t});\n\t\n\t// We will not be able to receive until the socket is bound to a port,\n\t// either explicitly via bind, or implicitly by connect or by sending data.\n\t// \n\t// But we should be able to send immediately.\n\t\n\tsocket4FDBytesAvailable = 0;\n\tflags |= kSock4CanAcceptBytes;\n\t\n\tflags |= kSend4SourceSuspended;\n\tflags |= kReceive4SourceSuspended;\n}\n\n- (void)setupSendAndReceiveSourcesForSocket6\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tsend6Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_WRITE, socket6FD, 0, socketQueue);\n\treceive6Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, socket6FD, 0, socketQueue);\n\t\n\t// Setup event handlers\n\t\n\tdispatch_source_set_event_handler(send6Source, ^{ @autoreleasepool {\n\t\t\n\t\tLogVerbose(@\"send6EventBlock\");\n\t\tLogVerbose(@\"dispatch_source_get_data(send6Source) = %lu\", dispatch_source_get_data(send6Source));\n\t\t\n        self->flags |= kSock6CanAcceptBytes;\n\t\t\n\t\t// If we're ready to send data, do so immediately.\n\t\t// Otherwise pause the send source or it will continue to fire over and over again.\n\t\t\n        if (self->currentSend == nil)\n\t\t{\n\t\t\tLogVerbose(@\"Nothing to send\");\n\t\t\t[self suspendSend6Source];\n\t\t}\n        else if (self->currentSend->resolveInProgress)\n\t\t{\n\t\t\tLogVerbose(@\"currentSend - waiting for address resolve\");\n\t\t\t[self suspendSend6Source];\n\t\t}\n        else if (self->currentSend->filterInProgress)\n\t\t{\n\t\t\tLogVerbose(@\"currentSend - waiting on sendFilter\");\n\t\t\t[self suspendSend6Source];\n\t\t}\n\t\telse\n\t\t{\n\t\t\t[self doSend];\n\t\t}\n\t\t\n\t}});\n\t\n\tdispatch_source_set_event_handler(receive6Source, ^{ @autoreleasepool {\n\t\t\n\t\tLogVerbose(@\"receive6EventBlock\");\n\t\t\n        self->socket6FDBytesAvailable = dispatch_source_get_data(self->receive6Source);\n\t\tLogVerbose(@\"socket6FDBytesAvailable: %lu\", socket6FDBytesAvailable);\n\t\t\n        if (self->socket6FDBytesAvailable > 0)\n\t\t\t[self doReceive];\n\t\telse\n\t\t\t[self doReceiveEOF];\n\t\t\n\t}});\n\t\n\t// Setup cancel handlers\n\t\n\t__block int socketFDRefCount = 2;\n\t\n\tint theSocketFD = socket6FD;\n\t\n\t#if !OS_OBJECT_USE_OBJC\n\tdispatch_source_t theSendSource = send6Source;\n\tdispatch_source_t theReceiveSource = receive6Source;\n\t#endif\n\t\n\tdispatch_source_set_cancel_handler(send6Source, ^{\n\t\t\n\t\tLogVerbose(@\"send6CancelBlock\");\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tLogVerbose(@\"dispatch_release(send6Source)\");\n\t\tdispatch_release(theSendSource);\n\t\t#endif\n\t\t\n\t\tif (--socketFDRefCount == 0)\n\t\t{\n\t\t\tLogVerbose(@\"close(socket6FD)\");\n\t\t\tclose(theSocketFD);\n\t\t}\n\t});\n\t\n\tdispatch_source_set_cancel_handler(receive6Source, ^{\n\t\t\n\t\tLogVerbose(@\"receive6CancelBlock\");\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tLogVerbose(@\"dispatch_release(receive6Source)\");\n\t\tdispatch_release(theReceiveSource);\n\t\t#endif\n\t\t\n\t\tif (--socketFDRefCount == 0)\n\t\t{\n\t\t\tLogVerbose(@\"close(socket6FD)\");\n\t\t\tclose(theSocketFD);\n\t\t}\n\t});\n\t\n\t// We will not be able to receive until the socket is bound to a port,\n\t// either explicitly via bind, or implicitly by connect or by sending data.\n\t// \n\t// But we should be able to send immediately.\n\t\n\tsocket6FDBytesAvailable = 0;\n\tflags |= kSock6CanAcceptBytes;\n\t\n\tflags |= kSend6SourceSuspended;\n\tflags |= kReceive6SourceSuspended;\n}\n\n- (BOOL)createSocket4:(BOOL)useIPv4 socket6:(BOOL)useIPv6 error:(NSError * __autoreleasing *)errPtr\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert(((flags & kDidCreateSockets) == 0), @\"Sockets have already been created\");\n\t\n\t// CreateSocket Block\n\t// This block will be invoked below.\n\t\n\tint(^createSocket)(int) = ^int (int domain) {\n\t\t\n\t\tint socketFD = socket(domain, SOCK_DGRAM, 0);\n\t\t\n\t\tif (socketFD == SOCKET_NULL)\n\t\t{\n\t\t\tif (errPtr)\n\t\t\t\t*errPtr = [self errnoErrorWithReason:@\"Error in socket() function\"];\n\t\t\t\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\tint status;\n\t\t\n\t\t// Set socket options\n\t\t\n\t\tstatus = fcntl(socketFD, F_SETFL, O_NONBLOCK);\n\t\tif (status == -1)\n\t\t{\n\t\t\tif (errPtr)\n\t\t\t\t*errPtr = [self errnoErrorWithReason:@\"Error enabling non-blocking IO on socket (fcntl)\"];\n\t\t\t\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\tint reuseaddr = 1;\n\t\tstatus = setsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr));\n\t\tif (status == -1)\n\t\t{\n\t\t\tif (errPtr)\n\t\t\t\t*errPtr = [self errnoErrorWithReason:@\"Error enabling address reuse (setsockopt)\"];\n\t\t\t\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n\t\t\n\t\tint nosigpipe = 1;\n\t\tstatus = setsockopt(socketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe));\n\t\tif (status == -1)\n\t\t{\n\t\t\tif (errPtr)\n\t\t\t\t*errPtr = [self errnoErrorWithReason:@\"Error disabling sigpipe (setsockopt)\"];\n\t\t\t\n\t\t\tclose(socketFD);\n\t\t\treturn SOCKET_NULL;\n\t\t}\n        \n        /**\n         * The theoretical maximum size of any IPv4 UDP packet is UINT16_MAX = 65535.\n         * The theoretical maximum size of any IPv6 UDP packet is UINT32_MAX = 4294967295.\n         *\n         * The default maximum size of the UDP buffer in iOS is 9216 bytes.\n         *\n         * This is the reason of #222(GCD does not necessarily return the size of an entire UDP packet) and\n         *  #535(GCDAsyncUDPSocket can not send data when data is greater than 9K)\n         *\n         *\n         * Enlarge the maximum size of UDP packet.\n         * I can not ensure the protocol type now so that the max size is set to 65535 :)\n         **/\n      \n        status = setsockopt(socketFD, SOL_SOCKET, SO_SNDBUF, (const char*)&self->maxSendSize, sizeof(int));\n        if (status == -1)\n        {\n            if (errPtr)\n                *errPtr = [self errnoErrorWithReason:@\"Error setting send buffer size (setsockopt)\"];\n            close(socketFD);\n            return SOCKET_NULL;\n        }\n        \n        status = setsockopt(socketFD, SOL_SOCKET, SO_RCVBUF, (const char*)&self->maxSendSize, sizeof(int));\n        if (status == -1)\n        {\n            if (errPtr)\n                *errPtr = [self errnoErrorWithReason:@\"Error setting receive buffer size (setsockopt)\"];\n            close(socketFD);\n            return SOCKET_NULL;\n        }\n\n\t\t\n\t\treturn socketFD;\n\t};\n\t\n\t// Create sockets depending upon given configuration.\n\t\n\tif (useIPv4)\n\t{\n\t\tLogVerbose(@\"Creating IPv4 socket\");\n\t\t\n\t\tsocket4FD = createSocket(AF_INET);\n\t\tif (socket4FD == SOCKET_NULL)\n\t\t{\n\t\t\t// errPtr set in local createSocket() block\n\t\t\treturn NO;\n\t\t}\n\t}\n\t\n\tif (useIPv6)\n\t{\n\t\tLogVerbose(@\"Creating IPv6 socket\");\n\t\t\n\t\tsocket6FD = createSocket(AF_INET6);\n\t\tif (socket6FD == SOCKET_NULL)\n\t\t{\n\t\t\t// errPtr set in local createSocket() block\n\t\t\t\n\t\t\tif (socket4FD != SOCKET_NULL)\n\t\t\t{\n\t\t\t\tclose(socket4FD);\n\t\t\t\tsocket4FD = SOCKET_NULL;\n\t\t\t}\n\t\t\t\n\t\t\treturn NO;\n\t\t}\n\t}\n\t\n\t// Setup send and receive sources\n\t\n\tif (useIPv4)\n\t\t[self setupSendAndReceiveSourcesForSocket4];\n\tif (useIPv6)\n\t\t[self setupSendAndReceiveSourcesForSocket6];\n\t\n\tflags |= kDidCreateSockets;\n\treturn YES;\n}\n\n- (BOOL)createSockets:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\tBOOL useIPv4 = [self isIPv4Enabled];\n\tBOOL useIPv6 = [self isIPv6Enabled];\n\t\n\treturn [self createSocket4:useIPv4 socket6:useIPv6 error:errPtr];\n}\n\n- (void)suspendSend4Source\n{\n\tif (send4Source && !(flags & kSend4SourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_suspend(send4Source)\");\n\t\t\n\t\tdispatch_suspend(send4Source);\n\t\tflags |= kSend4SourceSuspended;\n\t}\n}\n\n- (void)suspendSend6Source\n{\n\tif (send6Source && !(flags & kSend6SourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_suspend(send6Source)\");\n\t\t\n\t\tdispatch_suspend(send6Source);\n\t\tflags |= kSend6SourceSuspended;\n\t}\n}\n\n- (void)resumeSend4Source\n{\n\tif (send4Source && (flags & kSend4SourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_resume(send4Source)\");\n\t\t\n\t\tdispatch_resume(send4Source);\n\t\tflags &= ~kSend4SourceSuspended;\n\t}\n}\n\n- (void)resumeSend6Source\n{\n\tif (send6Source && (flags & kSend6SourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_resume(send6Source)\");\n\t\t\n\t\tdispatch_resume(send6Source);\n\t\tflags &= ~kSend6SourceSuspended;\n\t}\n}\n\n- (void)suspendReceive4Source\n{\n\tif (receive4Source && !(flags & kReceive4SourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_suspend(receive4Source)\");\n\t\t\n\t\tdispatch_suspend(receive4Source);\n\t\tflags |= kReceive4SourceSuspended;\n\t}\n}\n\n- (void)suspendReceive6Source\n{\n\tif (receive6Source && !(flags & kReceive6SourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_suspend(receive6Source)\");\n\t\t\n\t\tdispatch_suspend(receive6Source);\n\t\tflags |= kReceive6SourceSuspended;\n\t}\n}\n\n- (void)resumeReceive4Source\n{\n\tif (receive4Source && (flags & kReceive4SourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_resume(receive4Source)\");\n\t\t\n\t\tdispatch_resume(receive4Source);\n\t\tflags &= ~kReceive4SourceSuspended;\n\t}\n}\n\n- (void)resumeReceive6Source\n{\n\tif (receive6Source && (flags & kReceive6SourceSuspended))\n\t{\n\t\tLogVerbose(@\"dispatch_resume(receive6Source)\");\n\t\t\n\t\tdispatch_resume(receive6Source);\n\t\tflags &= ~kReceive6SourceSuspended;\n\t}\n}\n\n- (void)closeSocket4\n{\n\tif (socket4FD != SOCKET_NULL)\n\t{\n\t\tLogVerbose(@\"dispatch_source_cancel(send4Source)\");\n\t\tdispatch_source_cancel(send4Source);\n\t\t\n\t\tLogVerbose(@\"dispatch_source_cancel(receive4Source)\");\n\t\tdispatch_source_cancel(receive4Source);\n\t\t\n\t\t// For some crazy reason (in my opinion), cancelling a dispatch source doesn't\n\t\t// invoke the cancel handler if the dispatch source is paused.\n\t\t// So we have to unpause the source if needed.\n\t\t// This allows the cancel handler to be run, which in turn releases the source and closes the socket.\n\t\t\n\t\t[self resumeSend4Source];\n\t\t[self resumeReceive4Source];\n\t\t\n\t\t// The sockets will be closed by the cancel handlers of the corresponding source\n\t\t\n\t\tsend4Source = NULL;\n\t\treceive4Source = NULL;\n\t\t\n\t\tsocket4FD = SOCKET_NULL;\n\t\t\n\t\t// Clear socket states\n\t\t\n\t\tsocket4FDBytesAvailable = 0;\n\t\tflags &= ~kSock4CanAcceptBytes;\n\t\t\n\t\t// Clear cached info\n\t\t\n\t\tcachedLocalAddress4 = nil;\n\t\tcachedLocalHost4 = nil;\n\t\tcachedLocalPort4 = 0;\n\t}\n}\n\n- (void)closeSocket6\n{\n\tif (socket6FD != SOCKET_NULL)\n\t{\n\t\tLogVerbose(@\"dispatch_source_cancel(send6Source)\");\n\t\tdispatch_source_cancel(send6Source);\n\t\t\n\t\tLogVerbose(@\"dispatch_source_cancel(receive6Source)\");\n\t\tdispatch_source_cancel(receive6Source);\n\t\t\n\t\t// For some crazy reason (in my opinion), cancelling a dispatch source doesn't\n\t\t// invoke the cancel handler if the dispatch source is paused.\n\t\t// So we have to unpause the source if needed.\n\t\t// This allows the cancel handler to be run, which in turn releases the source and closes the socket.\n\t\t\n\t\t[self resumeSend6Source];\n\t\t[self resumeReceive6Source];\n\t\t\n\t\tsend6Source = NULL;\n\t\treceive6Source = NULL;\n\t\t\n\t\t// The sockets will be closed by the cancel handlers of the corresponding source\n\t\t\n\t\tsocket6FD = SOCKET_NULL;\n\t\t\n\t\t// Clear socket states\n\t\t\n\t\tsocket6FDBytesAvailable = 0;\n\t\tflags &= ~kSock6CanAcceptBytes;\n\t\t\n\t\t// Clear cached info\n\t\t\n\t\tcachedLocalAddress6 = nil;\n\t\tcachedLocalHost6 = nil;\n\t\tcachedLocalPort6 = 0;\n\t}\n}\n\n- (void)closeSockets\n{\n\t[self closeSocket4];\n\t[self closeSocket6];\n\t\n\tflags &= ~kDidCreateSockets;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Diagnostics\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)getLocalAddress:(NSData **)dataPtr\n                   host:(NSString **)hostPtr\n                   port:(uint16_t *)portPtr\n              forSocket:(int)socketFD\n             withFamily:(int)socketFamily\n{\n\t\n\tNSData   *data = nil;\n\tNSString *host = nil;\n\tuint16_t  port = 0;\n\t\n\tif (socketFamily == AF_INET)\n\t{\n\t\tstruct sockaddr_in sockaddr4;\n\t\tsocklen_t sockaddr4len = sizeof(sockaddr4);\n\t\t\n\t\tif (getsockname(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) == 0)\n\t\t{\n\t\t\tdata = [NSData dataWithBytes:&sockaddr4 length:sockaddr4len];\n\t\t\thost = [[self class] hostFromSockaddr4:&sockaddr4];\n\t\t\tport = [[self class] portFromSockaddr4:&sockaddr4];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLogWarn(@\"Error in getsockname: %@\", [self errnoError]);\n\t\t}\n\t}\n\telse if (socketFamily == AF_INET6)\n\t{\n\t\tstruct sockaddr_in6 sockaddr6;\n\t\tsocklen_t sockaddr6len = sizeof(sockaddr6);\n\t\t\n\t\tif (getsockname(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) == 0)\n\t\t{\n\t\t\tdata = [NSData dataWithBytes:&sockaddr6 length:sockaddr6len];\n\t\t\thost = [[self class] hostFromSockaddr6:&sockaddr6];\n\t\t\tport = [[self class] portFromSockaddr6:&sockaddr6];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLogWarn(@\"Error in getsockname: %@\", [self errnoError]);\n\t\t}\n\t}\n\t\n\tif (dataPtr) *dataPtr = data;\n\tif (hostPtr) *hostPtr = host;\n\tif (portPtr) *portPtr = port;\n\t\n\treturn (data != nil);\n}\n\n- (void)maybeUpdateCachedLocalAddress4Info\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tif ( cachedLocalAddress4 || ((flags & kDidBind) == 0) || (socket4FD == SOCKET_NULL) )\n\t{\n\t\treturn;\n\t}\n\t\n\tNSData *address = nil;\n\tNSString *host = nil;\n\tuint16_t port = 0;\n\t\n\tif ([self getLocalAddress:&address host:&host port:&port forSocket:socket4FD withFamily:AF_INET])\n\t{\n\t\t\n\t\tcachedLocalAddress4 = address;\n\t\tcachedLocalHost4 = host;\n\t\tcachedLocalPort4 = port;\n\t}\n}\n\n- (void)maybeUpdateCachedLocalAddress6Info\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tif ( cachedLocalAddress6 || ((flags & kDidBind) == 0) || (socket6FD == SOCKET_NULL) )\n\t{\n\t\treturn;\n\t}\n\t\n\tNSData *address = nil;\n\tNSString *host = nil;\n\tuint16_t port = 0;\n\t\n\tif ([self getLocalAddress:&address host:&host port:&port forSocket:socket6FD withFamily:AF_INET6])\n\t{\n\t\t\n\t\tcachedLocalAddress6 = address;\n\t\tcachedLocalHost6 = host;\n\t\tcachedLocalPort6 = port;\n\t}\n}\n\n- (NSData *)localAddress\n{\n\t__block NSData *result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        if (self->socket4FD != SOCKET_NULL)\n\t\t{\n\t\t\t[self maybeUpdateCachedLocalAddress4Info];\n            result = self->cachedLocalAddress4;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t[self maybeUpdateCachedLocalAddress6Info];\n            result = self->cachedLocalAddress6;\n\t\t}\n\t\t\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (NSString *)localHost\n{\n\t__block NSString *result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        if (self->socket4FD != SOCKET_NULL)\n\t\t{\n\t\t\t[self maybeUpdateCachedLocalAddress4Info];\n            result = self->cachedLocalHost4;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t[self maybeUpdateCachedLocalAddress6Info];\n            result = self->cachedLocalHost6;\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (uint16_t)localPort\n{\n\t__block uint16_t result = 0;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        if (self->socket4FD != SOCKET_NULL)\n\t\t{\n\t\t\t[self maybeUpdateCachedLocalAddress4Info];\n            result = self->cachedLocalPort4;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t[self maybeUpdateCachedLocalAddress6Info];\n            result = self->cachedLocalPort6;\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (NSData *)localAddress_IPv4\n{\n\t__block NSData *result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t[self maybeUpdateCachedLocalAddress4Info];\n        result = self->cachedLocalAddress4;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (NSString *)localHost_IPv4\n{\n\t__block NSString *result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t[self maybeUpdateCachedLocalAddress4Info];\n        result = self->cachedLocalHost4;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (uint16_t)localPort_IPv4\n{\n\t__block uint16_t result = 0;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t[self maybeUpdateCachedLocalAddress4Info];\n        result = self->cachedLocalPort4;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (NSData *)localAddress_IPv6\n{\n\t__block NSData *result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t[self maybeUpdateCachedLocalAddress6Info];\n        result = self->cachedLocalAddress6;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (NSString *)localHost_IPv6\n{\n\t__block NSString *result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t[self maybeUpdateCachedLocalAddress6Info];\n        result = self->cachedLocalHost6;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (uint16_t)localPort_IPv6\n{\n\t__block uint16_t result = 0;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t[self maybeUpdateCachedLocalAddress6Info];\n        result = self->cachedLocalPort6;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (void)maybeUpdateCachedConnectedAddressInfo\n{\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tif (cachedConnectedAddress || (flags & kDidConnect) == 0)\n\t{\n\t\treturn;\n\t}\n\t\n\tNSData *data = nil;\n\tNSString *host = nil;\n\tuint16_t port = 0;\n\tint family = AF_UNSPEC;\n\t\n\tif (socket4FD != SOCKET_NULL)\n\t{\n\t\tstruct sockaddr_in sockaddr4;\n\t\tsocklen_t sockaddr4len = sizeof(sockaddr4);\n\t\t\n\t\tif (getpeername(socket4FD, (struct sockaddr *)&sockaddr4, &sockaddr4len) == 0)\n\t\t{\n\t\t\tdata = [NSData dataWithBytes:&sockaddr4 length:sockaddr4len];\n\t\t\thost = [[self class] hostFromSockaddr4:&sockaddr4];\n\t\t\tport = [[self class] portFromSockaddr4:&sockaddr4];\n\t\t\tfamily = AF_INET;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLogWarn(@\"Error in getpeername: %@\", [self errnoError]);\n\t\t}\n\t}\n\telse if (socket6FD != SOCKET_NULL)\n\t{\n\t\tstruct sockaddr_in6 sockaddr6;\n\t\tsocklen_t sockaddr6len = sizeof(sockaddr6);\n\t\t\n\t\tif (getpeername(socket6FD, (struct sockaddr *)&sockaddr6, &sockaddr6len) == 0)\n\t\t{\n\t\t\tdata = [NSData dataWithBytes:&sockaddr6 length:sockaddr6len];\n\t\t\thost = [[self class] hostFromSockaddr6:&sockaddr6];\n\t\t\tport = [[self class] portFromSockaddr6:&sockaddr6];\n\t\t\tfamily = AF_INET6;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLogWarn(@\"Error in getpeername: %@\", [self errnoError]);\n\t\t}\n\t}\n\t\n\t\n\tcachedConnectedAddress = data;\n\tcachedConnectedHost    = host;\n\tcachedConnectedPort    = port;\n\tcachedConnectedFamily  = family;\n}\n\n- (NSData *)connectedAddress\n{\n\t__block NSData *result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t[self maybeUpdateCachedConnectedAddressInfo];\n        result = self->cachedConnectedAddress;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (NSString *)connectedHost\n{\n\t__block NSString *result = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t[self maybeUpdateCachedConnectedAddressInfo];\n        result = self->cachedConnectedHost;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (uint16_t)connectedPort\n{\n\t__block uint16_t result = 0;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t[self maybeUpdateCachedConnectedAddressInfo];\n        result = self->cachedConnectedPort;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, AutoreleasedBlock(block));\n\t\n\treturn result;\n}\n\n- (BOOL)isConnected\n{\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n        result = (self->flags & kDidConnect) ? YES : NO;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (BOOL)isClosed\n{\n\t__block BOOL result = YES;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        result = (self->flags & kDidCreateSockets) ? NO : YES;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (BOOL)isIPv4\n{\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        if (self->flags & kDidCreateSockets)\n\t\t{\n            result = (self->socket4FD != SOCKET_NULL);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult = [self isIPv4Enabled];\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n- (BOOL)isIPv6\n{\n\t__block BOOL result = NO;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        if (self->flags & kDidCreateSockets)\n\t\t{\n            result = (self->socket6FD != SOCKET_NULL);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult = [self isIPv6Enabled];\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\treturn result;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Binding\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method runs through the various checks required prior to a bind attempt.\n * It is shared between the various bind methods.\n**/\n- (BOOL)preBind:(NSError **)errPtr\n{\n\tif (![self preOp:errPtr])\n\t{\n\t\treturn NO;\n\t}\n\t\n\tif (flags & kDidBind)\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Cannot bind a socket more than once.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tif ((flags & kConnecting) || (flags & kDidConnect))\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Cannot bind after connecting. If needed, bind first, then connect.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tBOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO;\n\tBOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO;\n\t\n\tif (isIPv4Disabled && isIPv6Disabled) // Must have IPv4 or IPv6 enabled\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Both IPv4 and IPv6 have been disabled. Must enable at least one protocol first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\treturn YES;\n}\n\n- (BOOL)bindToPort:(uint16_t)port error:(NSError **)errPtr\n{\n\treturn [self bindToPort:port interface:nil error:errPtr];\n}\n\n- (BOOL)bindToPort:(uint16_t)port interface:(NSString *)interface error:(NSError **)errPtr\n{\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t// Run through sanity checks\n\t\t\n\t\tif (![self preBind:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Check the given interface\n\t\t\n\t\tNSData *interface4 = nil;\n\t\tNSData *interface6 = nil;\n\t\t\n\t\t[self convertIntefaceDescription:interface port:port intoAddress4:&interface4 address6:&interface6];\n\t\t\n\t\tif ((interface4 == nil) && (interface6 == nil))\n\t\t{\n\t\t\tNSString *msg = @\"Unknown interface. Specify valid interface by name (e.g. \\\"en1\\\") or IP address.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n        BOOL isIPv4Disabled = (self->config & kIPv4Disabled) ? YES : NO;\n        BOOL isIPv6Disabled = (self->config & kIPv6Disabled) ? YES : NO;\n\t\t\n\t\tif (isIPv4Disabled && (interface6 == nil))\n\t\t{\n\t\t\tNSString *msg = @\"IPv4 has been disabled and specified interface doesn't support IPv6.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tif (isIPv6Disabled && (interface4 == nil))\n\t\t{\n\t\t\tNSString *msg = @\"IPv6 has been disabled and specified interface doesn't support IPv4.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Determine protocol(s)\n\t\t\n\t\tBOOL useIPv4 = !isIPv4Disabled && (interface4 != nil);\n\t\tBOOL useIPv6 = !isIPv6Disabled && (interface6 != nil);\n\t\t\n\t\t// Create the socket(s) if needed\n\t\t\n        if ((self->flags & kDidCreateSockets) == 0)\n\t\t{\n\t\t\tif (![self createSocket4:useIPv4 socket6:useIPv6 error:&err])\n\t\t\t{\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Bind the socket(s)\n\t\t\n\t\tLogVerbose(@\"Binding socket to port(%hu) interface(%@)\", port, interface);\n\t\t\n\t\tif (useIPv4)\n\t\t{\n            int status = bind(self->socket4FD, (struct sockaddr *)[interface4 bytes], (socklen_t)[interface4 length]);\n\t\t\tif (status == -1)\n\t\t\t{\n\t\t\t\t[self closeSockets];\n\t\t\t\t\n\t\t\t\tNSString *reason = @\"Error in bind() function\";\n\t\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (useIPv6)\n\t\t{\n            int status = bind(self->socket6FD, (struct sockaddr *)[interface6 bytes], (socklen_t)[interface6 length]);\n\t\t\tif (status == -1)\n\t\t\t{\n\t\t\t\t[self closeSockets];\n\t\t\t\t\n\t\t\t\tNSString *reason = @\"Error in bind() function\";\n\t\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Update flags\n\t\t\n        self->flags |= kDidBind;\n\t\t\n        if (!useIPv4) self->flags |= kIPv4Deactivated;\n        if (!useIPv6) self->flags |= kIPv6Deactivated;\n\t\t\n\t\tresult = YES;\n\t\t\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (err)\n\t\tLogError(@\"Error binding to port/interface: %@\", err);\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn result;\n}\n\n- (BOOL)bindToAddress:(NSData *)localAddr error:(NSError **)errPtr\n{\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t// Run through sanity checks\n\t\t\n\t\tif (![self preBind:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Check the given address\n\t\t\n\t\tint addressFamily = [[self class] familyFromAddress:localAddr];\n\t\t\n\t\tif (addressFamily == AF_UNSPEC)\n\t\t{\n\t\t\tNSString *msg = @\"A valid IPv4 or IPv6 address was not given\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tNSData *localAddr4 = (addressFamily == AF_INET)  ? localAddr : nil;\n\t\tNSData *localAddr6 = (addressFamily == AF_INET6) ? localAddr : nil;\n\t\t\n        BOOL isIPv4Disabled = (self->config & kIPv4Disabled) ? YES : NO;\n        BOOL isIPv6Disabled = (self->config & kIPv6Disabled) ? YES : NO;\n\t\t\n\t\tif (isIPv4Disabled && localAddr4)\n\t\t{\n\t\t\tNSString *msg = @\"IPv4 has been disabled and an IPv4 address was passed.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\tif (isIPv6Disabled && localAddr6)\n\t\t{\n\t\t\tNSString *msg = @\"IPv6 has been disabled and an IPv6 address was passed.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Determine protocol(s)\n\t\t\n\t\tBOOL useIPv4 = !isIPv4Disabled && (localAddr4 != nil);\n\t\tBOOL useIPv6 = !isIPv6Disabled && (localAddr6 != nil);\n\t\t\n\t\t// Create the socket(s) if needed\n\t\t\n        if ((self->flags & kDidCreateSockets) == 0)\n\t\t{\n\t\t\tif (![self createSocket4:useIPv4 socket6:useIPv6 error:&err])\n\t\t\t{\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Bind the socket(s)\n\t\t\n\t\tif (useIPv4)\n\t\t{\n\t\t\tLogVerbose(@\"Binding socket to address(%@:%hu)\",\n\t\t\t\t\t   [[self class] hostFromAddress:localAddr4],\n\t\t\t\t\t   [[self class] portFromAddress:localAddr4]);\n\t\t\t\n            int status = bind(self->socket4FD, (struct sockaddr *)[localAddr4 bytes], (socklen_t)[localAddr4 length]);\n\t\t\tif (status == -1)\n\t\t\t{\n\t\t\t\t[self closeSockets];\n\t\t\t\t\n\t\t\t\tNSString *reason = @\"Error in bind() function\";\n\t\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLogVerbose(@\"Binding socket to address(%@:%hu)\",\n\t\t\t\t\t   [[self class] hostFromAddress:localAddr6],\n\t\t\t\t\t   [[self class] portFromAddress:localAddr6]);\n\t\t\t\n            int status = bind(self->socket6FD, (struct sockaddr *)[localAddr6 bytes], (socklen_t)[localAddr6 length]);\n\t\t\tif (status == -1)\n\t\t\t{\n\t\t\t\t[self closeSockets];\n\t\t\t\t\n\t\t\t\tNSString *reason = @\"Error in bind() function\";\n\t\t\t\terr = [self errnoErrorWithReason:reason];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Update flags\n\t\t\n        self->flags |= kDidBind;\n\t\t\n        if (!useIPv4) self->flags |= kIPv4Deactivated;\n        if (!useIPv6) self->flags |= kIPv6Deactivated;\n\t\t\n\t\tresult = YES;\n\t\t\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (err)\n\t\tLogError(@\"Error binding to address: %@\", err);\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn result;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Connecting\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method runs through the various checks required prior to a connect attempt.\n * It is shared between the various connect methods.\n**/\n- (BOOL)preConnect:(NSError **)errPtr\n{\n\tif (![self preOp:errPtr])\n\t{\n\t\treturn NO;\n\t}\n\t\n\tif ((flags & kConnecting) || (flags & kDidConnect))\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Cannot connect a socket more than once.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tBOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO;\n\tBOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO;\n\t\n\tif (isIPv4Disabled && isIPv6Disabled) // Must have IPv4 or IPv6 enabled\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Both IPv4 and IPv6 have been disabled. Must enable at least one protocol first.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\treturn YES;\n}\n\n- (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr\n{\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t// Run through sanity checks.\n\t\t\n\t\tif (![self preConnect:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Check parameter(s)\n\t\t\n\t\tif (host == nil)\n\t\t{\n\t\t\tNSString *msg = @\"The host param is nil. Should be domain name or IP address string.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Create the socket(s) if needed\n\t\t\n        if ((self->flags & kDidCreateSockets) == 0)\n\t\t{\n\t\t\tif (![self createSockets:&err])\n\t\t\t{\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Create special connect packet\n\t\t\n\t\tGCDAsyncUdpSpecialPacket *packet = [[GCDAsyncUdpSpecialPacket alloc] init];\n\t\tpacket->resolveInProgress = YES;\n\t\t\n\t\t// Start asynchronous DNS resolve for host:port on background queue\n\t\t\n\t\tLogVerbose(@\"Dispatching DNS resolve for connect...\");\n\t\t\n\t\t[self asyncResolveHost:host port:port withCompletionBlock:^(NSArray *addresses, NSError *error) {\n\t\t\t\n\t\t\t// The asyncResolveHost:port:: method asynchronously dispatches a task onto the global concurrent queue,\n\t\t\t// and immediately returns. Once the async resolve task completes,\n\t\t\t// this block is executed on our socketQueue.\n\t\t\t\n\t\t\tpacket->resolveInProgress = NO;\n\t\t\t\n\t\t\tpacket->addresses = addresses;\n\t\t\tpacket->error = error;\n\t\t\t\n\t\t\t[self maybeConnect];\n\t\t}];\n\t\t\n\t\t// Updates flags, add connect packet to send queue, and pump send queue\n\t\t\n        self->flags |= kConnecting;\n\t\t\n        [self->sendQueue addObject:packet];\n\t\t[self maybeDequeueSend];\n\t\t\n\t\tresult = YES;\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (err)\n\t\tLogError(@\"Error connecting to host/port: %@\", err);\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn result;\n}\n\n- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr\n{\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t// Run through sanity checks.\n\t\t\n\t\tif (![self preConnect:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Check parameter(s)\n\t\t\n\t\tif (remoteAddr == nil)\n\t\t{\n\t\t\tNSString *msg = @\"The address param is nil. Should be a valid address.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Create the socket(s) if needed\n\t\t\n        if ((self->flags & kDidCreateSockets) == 0)\n\t\t{\n\t\t\tif (![self createSockets:&err])\n\t\t\t{\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// The remoteAddr parameter could be of type NSMutableData.\n\t\t// So we copy it to be safe.\n\t\t\n\t\tNSData *address = [remoteAddr copy];\n\t\tNSArray *addresses = [NSArray arrayWithObject:address];\n\t\t\n\t\tGCDAsyncUdpSpecialPacket *packet = [[GCDAsyncUdpSpecialPacket alloc] init];\n\t\tpacket->addresses = addresses;\n\t\t\n\t\t// Updates flags, add connect packet to send queue, and pump send queue\n\t\t\n        self->flags |= kConnecting;\n\t\t\n        [self->sendQueue addObject:packet];\n\t\t[self maybeDequeueSend];\n\t\t\n\t\tresult = YES;\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (err)\n\t\tLogError(@\"Error connecting to address: %@\", err);\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn result;\n}\n\n- (void)maybeConnect\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t\n\tBOOL sendQueueReady = [currentSend isKindOfClass:[GCDAsyncUdpSpecialPacket class]];\n\t\n\tif (sendQueueReady)\n\t{\n\t\tGCDAsyncUdpSpecialPacket *connectPacket = (GCDAsyncUdpSpecialPacket *)currentSend;\n\t\t\n\t\tif (connectPacket->resolveInProgress)\n\t\t{\n\t\t\tLogVerbose(@\"Waiting for DNS resolve...\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (connectPacket->error)\n\t\t\t{\n\t\t\t\t[self notifyDidNotConnect:connectPacket->error];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tNSData *address = nil;\n\t\t\t\tNSError *error = nil;\n\t\t\t\t\n\t\t\t\tint addressFamily = [self getAddress:&address error:&error fromAddresses:connectPacket->addresses];\n\t\t\t\t\n\t\t\t\t// Perform connect\n\t\t\t\t\n\t\t\t\tBOOL result = NO;\n\t\t\t\t\n\t\t\t\tswitch (addressFamily)\n\t\t\t\t{\n\t\t\t\t\tcase AF_INET  : result = [self connectWithAddress4:address error:&error]; break;\n\t\t\t\t\tcase AF_INET6 : result = [self connectWithAddress6:address error:&error]; break;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (result)\n\t\t\t\t{\n\t\t\t\t\tflags |= kDidBind;\n\t\t\t\t\tflags |= kDidConnect;\n\t\t\t\t\t\n\t\t\t\t\tcachedConnectedAddress = address;\n\t\t\t\t\tcachedConnectedHost = [[self class] hostFromAddress:address];\n\t\t\t\t\tcachedConnectedPort = [[self class] portFromAddress:address];\n\t\t\t\t\tcachedConnectedFamily = addressFamily;\n\t\t\t\t\t\n\t\t\t\t\t[self notifyDidConnectToAddress:address];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t[self notifyDidNotConnect:error];\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tflags &= ~kConnecting;\n\t\t\t\n\t\t\t[self endCurrentSend];\n\t\t\t[self maybeDequeueSend];\n\t\t}\n\t}\n}\n\n- (BOOL)connectWithAddress4:(NSData *)address4 error:(NSError **)errPtr\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tint status = connect(socket4FD, (struct sockaddr *)[address4 bytes], (socklen_t)[address4 length]);\n\tif (status != 0)\n\t{\n\t\tif (errPtr)\n\t\t\t*errPtr = [self errnoErrorWithReason:@\"Error in connect() function\"];\n\t\t\n\t\treturn NO;\n\t}\n\t\n\t[self closeSocket6];\n\tflags |= kIPv6Deactivated;\n\t\n\treturn YES;\n}\n\n- (BOOL)connectWithAddress6:(NSData *)address6 error:(NSError **)errPtr\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tint status = connect(socket6FD, (struct sockaddr *)[address6 bytes], (socklen_t)[address6 length]);\n\tif (status != 0)\n\t{\n\t\tif (errPtr)\n\t\t\t*errPtr = [self errnoErrorWithReason:@\"Error in connect() function\"];\n\t\t\n\t\treturn NO;\n\t}\n\t\n\t[self closeSocket4];\n\tflags |= kIPv4Deactivated;\n\t\n\treturn YES;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Multicast\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)preJoin:(NSError **)errPtr\n{\n\tif (![self preOp:errPtr])\n\t{\n\t\treturn NO;\n\t}\n\t\n\tif (!(flags & kDidBind))\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Must bind a socket before joining a multicast group.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\tif ((flags & kConnecting) || (flags & kDidConnect))\n\t{\n\t\tif (errPtr)\n\t\t{\n\t\t\tNSString *msg = @\"Cannot join a multicast group if connected.\";\n\t\t\t*errPtr = [self badConfigError:msg];\n\t\t}\n\t\treturn NO;\n\t}\n\t\n\treturn YES;\n}\n\n- (BOOL)joinMulticastGroup:(NSString *)group error:(NSError **)errPtr\n{\n\treturn [self joinMulticastGroup:group onInterface:nil error:errPtr];\n}\n\n- (BOOL)joinMulticastGroup:(NSString *)group onInterface:(NSString *)interface error:(NSError **)errPtr\n{\n    // IP_ADD_MEMBERSHIP == IPV6_JOIN_GROUP\n    return [self performMulticastRequest:IP_ADD_MEMBERSHIP forGroup:group onInterface:interface error:errPtr];\n}\n\n- (BOOL)leaveMulticastGroup:(NSString *)group error:(NSError **)errPtr\n{\n\treturn [self leaveMulticastGroup:group onInterface:nil error:errPtr];\n}\n\n- (BOOL)leaveMulticastGroup:(NSString *)group onInterface:(NSString *)interface error:(NSError **)errPtr\n{\n    // IP_DROP_MEMBERSHIP == IPV6_LEAVE_GROUP\n    return [self performMulticastRequest:IP_DROP_MEMBERSHIP forGroup:group onInterface:interface error:errPtr];\n}\n\n- (BOOL)performMulticastRequest:(int)requestType\n                       forGroup:(NSString *)group\n                    onInterface:(NSString *)interface\n                          error:(NSError **)errPtr\n{\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t// Run through sanity checks\n\t\t\n\t\tif (![self preJoin:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Convert group to address\n\t\t\n\t\tNSData *groupAddr4 = nil;\n\t\tNSData *groupAddr6 = nil;\n\t\t\n\t\t[self convertNumericHost:group port:0 intoAddress4:&groupAddr4 address6:&groupAddr6];\n\t\t\n\t\tif ((groupAddr4 == nil) && (groupAddr6 == nil))\n\t\t{\n\t\t\tNSString *msg = @\"Unknown group. Specify valid group IP address.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Convert interface to address\n\t\t\n\t\tNSData *interfaceAddr4 = nil;\n\t\tNSData *interfaceAddr6 = nil;\n\t\t\n\t\t[self convertIntefaceDescription:interface port:0 intoAddress4:&interfaceAddr4 address6:&interfaceAddr6];\n\t\t\n\t\tif ((interfaceAddr4 == nil) && (interfaceAddr6 == nil))\n\t\t{\n\t\t\tNSString *msg = @\"Unknown interface. Specify valid interface by name (e.g. \\\"en1\\\") or IP address.\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t\t// Perform join\n\t\t\n        if ((self->socket4FD != SOCKET_NULL) && groupAddr4 && interfaceAddr4)\n\t\t{\n\t\t\tconst struct sockaddr_in *nativeGroup = (struct sockaddr_in *)[groupAddr4 bytes];\n\t\t\tconst struct sockaddr_in *nativeIface = (struct sockaddr_in *)[interfaceAddr4 bytes];\n\t\t\t\n\t\t\tstruct ip_mreq imreq;\n\t\t\timreq.imr_multiaddr = nativeGroup->sin_addr;\n\t\t\timreq.imr_interface = nativeIface->sin_addr;\n\t\t\t\n            int status = setsockopt(self->socket4FD, IPPROTO_IP, requestType, (const void *)&imreq, sizeof(imreq));\n\t\t\tif (status != 0)\n\t\t\t{\n\t\t\t\terr = [self errnoErrorWithReason:@\"Error in setsockopt() function\"];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t\t\n\t\t\t// Using IPv4 only\n\t\t\t[self closeSocket6];\n\t\t\t\n\t\t\tresult = YES;\n\t\t}\n        else if ((self->socket6FD != SOCKET_NULL) && groupAddr6 && interfaceAddr6)\n\t\t{\n\t\t\tconst struct sockaddr_in6 *nativeGroup = (struct sockaddr_in6 *)[groupAddr6 bytes];\n\t\t\t\n\t\t\tstruct ipv6_mreq imreq;\n\t\t\timreq.ipv6mr_multiaddr = nativeGroup->sin6_addr;\n\t\t\timreq.ipv6mr_interface = [self indexOfInterfaceAddr6:interfaceAddr6];\n\t\t\t\n            int status = setsockopt(self->socket6FD, IPPROTO_IPV6, requestType, (const void *)&imreq, sizeof(imreq));\n\t\t\tif (status != 0)\n\t\t\t{\n\t\t\t\terr = [self errnoErrorWithReason:@\"Error in setsockopt() function\"];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t\t\n\t\t\t// Using IPv6 only\n\t\t\t[self closeSocket4];\n\t\t\t\n\t\t\tresult = YES;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tNSString *msg = @\"Socket, group, and interface do not have matching IP versions\";\n\t\t\terr = [self badParamError:msg];\n\t\t\t\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn result;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Reuse port\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)enableReusePort:(BOOL)flag error:(NSError **)errPtr\n{\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\tif (![self preOp:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n        if ((self->flags & kDidCreateSockets) == 0)\n\t\t{\n\t\t\tif (![self createSockets:&err])\n\t\t\t{\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n\t\tint value = flag ? 1 : 0;\n        if (self->socket4FD != SOCKET_NULL)\n\t\t{\n            int error = setsockopt(self->socket4FD, SOL_SOCKET, SO_REUSEPORT, (const void *)&value, sizeof(value));\n\t\t\t\n\t\t\tif (error)\n\t\t\t{\n\t\t\t\terr = [self errnoErrorWithReason:@\"Error in setsockopt() function\"];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t\tresult = YES;\n\t\t}\n\t\t\n        if (self->socket6FD != SOCKET_NULL)\n\t\t{\n            int error = setsockopt(self->socket6FD, SOL_SOCKET, SO_REUSEPORT, (const void *)&value, sizeof(value));\n\t\t\t\n\t\t\tif (error)\n\t\t\t{\n\t\t\t\terr = [self errnoErrorWithReason:@\"Error in setsockopt() function\"];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t\tresult = YES;\n\t\t}\n\t\t\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn result;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Broadcast\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)enableBroadcast:(BOOL)flag error:(NSError **)errPtr\n{\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\tif (![self preOp:&err])\n\t\t{\n\t\t\treturn_from_block;\n\t\t}\n\t\t\n        if ((self->flags & kDidCreateSockets) == 0)\n\t\t{\n\t\t\tif (![self createSockets:&err])\n\t\t\t{\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t}\n\t\t\n        if (self->socket4FD != SOCKET_NULL)\n\t\t{\n\t\t\tint value = flag ? 1 : 0;\n            int error = setsockopt(self->socket4FD, SOL_SOCKET, SO_BROADCAST, (const void *)&value, sizeof(value));\n\t\t\t\n\t\t\tif (error)\n\t\t\t{\n\t\t\t\terr = [self errnoErrorWithReason:@\"Error in setsockopt() function\"];\n\t\t\t\t\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t\tresult = YES;\n\t\t}\n\t\t\n\t\t// IPv6 does not implement broadcast, the ability to send a packet to all hosts on the attached link.\n\t\t// The same effect can be achieved by sending a packet to the link-local all hosts multicast group.\n\t\t\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn result;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Sending\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)sendData:(NSData *)data withTag:(long)tag\n{\n\t[self sendData:data withTimeout:-1.0 tag:tag];\n}\n\n- (void)sendData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n\tLogTrace();\n\t\n\tif ([data length] == 0)\n\t{\n\t\tLogWarn(@\"Ignoring attempt to send nil/empty data.\");\n\t\treturn;\n\t}\n    \n    \n\t\n\tGCDAsyncUdpSendPacket *packet = [[GCDAsyncUdpSendPacket alloc] initWithData:data timeout:timeout tag:tag];\n\t\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n        [self->sendQueue addObject:packet];\n\t\t[self maybeDequeueSend];\n\t}});\n\t\n}\n\n- (void)sendData:(NSData *)data\n          toHost:(NSString *)host\n            port:(uint16_t)port\n     withTimeout:(NSTimeInterval)timeout\n             tag:(long)tag\n{\n\tLogTrace();\n\t\n\tif ([data length] == 0)\n\t{\n\t\tLogWarn(@\"Ignoring attempt to send nil/empty data.\");\n\t\treturn;\n\t}\n\t\n\tGCDAsyncUdpSendPacket *packet = [[GCDAsyncUdpSendPacket alloc] initWithData:data timeout:timeout tag:tag];\n\tpacket->resolveInProgress = YES;\n\t\n\t[self asyncResolveHost:host port:port withCompletionBlock:^(NSArray *addresses, NSError *error) {\n\t\t\n\t\t// The asyncResolveHost:port:: method asynchronously dispatches a task onto the global concurrent queue,\n\t\t// and immediately returns. Once the async resolve task completes,\n\t\t// this block is executed on our socketQueue.\n\t\t\n\t\tpacket->resolveInProgress = NO;\n\t\t\n\t\tpacket->resolvedAddresses = addresses;\n\t\tpacket->resolveError = error;\n\t\t\n        if (packet == self->currentSend)\n\t\t{\n\t\t\tLogVerbose(@\"currentSend - address resolved\");\n\t\t\t[self doPreSend];\n\t\t}\n\t}];\n\t\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n        [self->sendQueue addObject:packet];\n\t\t[self maybeDequeueSend];\n\t\t\n\t}});\n\t\n}\n\n- (void)sendData:(NSData *)data toAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n\tLogTrace();\n\t\n\tif ([data length] == 0)\n\t{\n\t\tLogWarn(@\"Ignoring attempt to send nil/empty data.\");\n\t\treturn;\n\t}\n\t\n\tGCDAsyncUdpSendPacket *packet = [[GCDAsyncUdpSendPacket alloc] initWithData:data timeout:timeout tag:tag];\n\tpacket->addressFamily = [GCDAsyncUdpSocket familyFromAddress:remoteAddr];\n\tpacket->address = remoteAddr;\n\t\n\tdispatch_async(socketQueue, ^{ @autoreleasepool {\n\t\t\n        [self->sendQueue addObject:packet];\n\t\t[self maybeDequeueSend];\n\t}});\n}\n\n- (void)setSendFilter:(GCDAsyncUdpSocketSendFilterBlock)filterBlock withQueue:(dispatch_queue_t)filterQueue\n{\n\t[self setSendFilter:filterBlock withQueue:filterQueue isAsynchronous:YES];\n}\n\n- (void)setSendFilter:(GCDAsyncUdpSocketSendFilterBlock)filterBlock\n            withQueue:(dispatch_queue_t)filterQueue\n       isAsynchronous:(BOOL)isAsynchronous\n{\n\tGCDAsyncUdpSocketSendFilterBlock newFilterBlock = NULL;\n\tdispatch_queue_t newFilterQueue = NULL;\n\t\n\tif (filterBlock)\n\t{\n\t\tNSAssert(filterQueue, @\"Must provide a dispatch_queue in which to run the filter block.\");\n\t\t\n\t\tnewFilterBlock = [filterBlock copy];\n\t\tnewFilterQueue = filterQueue;\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tdispatch_retain(newFilterQueue);\n\t\t#endif\n\t}\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n        if (self->sendFilterQueue) dispatch_release(self->sendFilterQueue);\n\t\t#endif\n\t\t\n        self->sendFilterBlock = newFilterBlock;\n        self->sendFilterQueue = newFilterQueue;\n        self->sendFilterAsync = isAsynchronous;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (void)maybeDequeueSend\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\t// If we don't have a send operation already in progress\n\tif (currentSend == nil)\n\t{\n\t\t// Create the sockets if needed\n\t\tif ((flags & kDidCreateSockets) == 0)\n\t\t{\n\t\t\tNSError *err = nil;\n\t\t\tif (![self createSockets:&err])\n\t\t\t{\n\t\t\t\t[self closeWithError:err];\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t\n\t\twhile ([sendQueue count] > 0)\n\t\t{\n\t\t\t// Dequeue the next object in the queue\n\t\t\tcurrentSend = [sendQueue objectAtIndex:0];\n\t\t\t[sendQueue removeObjectAtIndex:0];\n\t\t\t\n\t\t\tif ([currentSend isKindOfClass:[GCDAsyncUdpSpecialPacket class]])\n\t\t\t{\n\t\t\t\t[self maybeConnect];\n\t\t\t\t\n\t\t\t\treturn; // The maybeConnect method, if it connects, will invoke this method again\n\t\t\t}\n\t\t\telse if (currentSend->resolveError)\n\t\t\t{\n\t\t\t\t// Notify delegate\n\t\t\t\t[self notifyDidNotSendDataWithTag:currentSend->tag dueToError:currentSend->resolveError];\n\t\t\t\t\n\t\t\t\t// Clear currentSend\n\t\t\t\tcurrentSend = nil;\n\t\t\t\t\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Start preprocessing checks on the send packet\n\t\t\t\t[self doPreSend];\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif ((currentSend == nil) && (flags & kCloseAfterSends))\n\t\t{\n\t\t\t[self closeWithError:nil];\n\t\t}\n\t}\n}\n\n/**\n * This method is called after a sendPacket has been dequeued.\n * It performs various preprocessing checks on the packet,\n * and queries the sendFilter (if set) to determine if the packet can be sent.\n * \n * If the packet passes all checks, it will be passed on to the doSend method.\n**/\n- (void)doPreSend\n{\n\tLogTrace();\n\t\n\t// \n\t// 1. Check for problems with send packet\n\t// \n\t\n\tBOOL waitingForResolve = NO;\n\tNSError *error = nil;\n\t\n\tif (flags & kDidConnect)\n\t{\n\t\t// Connected socket\n\t\t\n\t\tif (currentSend->resolveInProgress || currentSend->resolvedAddresses || currentSend->resolveError)\n\t\t{\n\t\t\tNSString *msg = @\"Cannot specify destination of packet for connected socket\";\n\t\t\terror = [self badConfigError:msg];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tcurrentSend->address = cachedConnectedAddress;\n\t\t\tcurrentSend->addressFamily = cachedConnectedFamily;\n\t\t}\n\t}\n\telse\n\t{\n\t\t// Non-Connected socket\n\t\t\n\t\tif (currentSend->resolveInProgress)\n\t\t{\n\t\t\t// We're waiting for the packet's destination to be resolved.\n\t\t\twaitingForResolve = YES;\n\t\t}\n\t\telse if (currentSend->resolveError)\n\t\t{\n\t\t\terror = currentSend->resolveError;\n\t\t}\n\t\telse if (currentSend->address == nil)\n\t\t{\n\t\t\tif (currentSend->resolvedAddresses == nil)\n\t\t\t{\n\t\t\t\tNSString *msg = @\"You must specify destination of packet for a non-connected socket\";\n\t\t\t\terror = [self badConfigError:msg];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Pick the proper address to use (out of possibly several resolved addresses)\n\t\t\t\t\n\t\t\t\tNSData *address = nil;\n\t\t\t\tint addressFamily = AF_UNSPEC;\n\t\t\t\t\n\t\t\t\taddressFamily = [self getAddress:&address error:&error fromAddresses:currentSend->resolvedAddresses];\n\t\t\t\t\n\t\t\t\tcurrentSend->address = address;\n\t\t\t\tcurrentSend->addressFamily = addressFamily;\n\t\t\t}\n\t\t}\n\t}\n\t\n\tif (waitingForResolve)\n\t{\n\t\t// We're waiting for the packet's destination to be resolved.\n\t\t\n\t\tLogVerbose(@\"currentSend - waiting for address resolve\");\n\t\t\n\t\tif (flags & kSock4CanAcceptBytes) {\n\t\t\t[self suspendSend4Source];\n\t\t}\n\t\tif (flags & kSock6CanAcceptBytes) {\n\t\t\t[self suspendSend6Source];\n\t\t}\n\t\t\n\t\treturn;\n\t}\n\t\n\tif (error)\n\t{\n\t\t// Unable to send packet due to some error.\n\t\t// Notify delegate and move on.\n\t\t\n\t\t[self notifyDidNotSendDataWithTag:currentSend->tag dueToError:error];\n\t\t[self endCurrentSend];\n\t\t[self maybeDequeueSend];\n\t\t\n\t\treturn;\n\t}\n\t\n\t// \n\t// 2. Query sendFilter (if applicable)\n\t// \n\t\n\tif (sendFilterBlock && sendFilterQueue)\n\t{\n\t\t// Query sendFilter\n\t\t\n\t\tif (sendFilterAsync)\n\t\t{\n\t\t\t// Scenario 1 of 3 - Need to asynchronously query sendFilter\n\t\t\t\n\t\t\tcurrentSend->filterInProgress = YES;\n\t\t\tGCDAsyncUdpSendPacket *sendPacket = currentSend;\n\t\t\t\n\t\t\tdispatch_async(sendFilterQueue, ^{ @autoreleasepool {\n\t\t\t\t\n                BOOL allowed = self->sendFilterBlock(sendPacket->buffer, sendPacket->address, sendPacket->tag);\n\t\t\t\t\n                dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\n\t\t\t\t\tsendPacket->filterInProgress = NO;\n                    if (sendPacket == self->currentSend)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (allowed)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[self doSend];\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLogVerbose(@\"currentSend - silently dropped by sendFilter\");\n\t\t\t\t\t\t\t\n                            [self notifyDidSendDataWithTag:self->currentSend->tag];\n\t\t\t\t\t\t\t[self endCurrentSend];\n\t\t\t\t\t\t\t[self maybeDequeueSend];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}});\n\t\t\t}});\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Scenario 2 of 3 - Need to synchronously query sendFilter\n\t\t\t\n\t\t\t__block BOOL allowed = YES;\n\t\t\t\n\t\t\tdispatch_sync(sendFilterQueue, ^{ @autoreleasepool {\n\t\t\t\t\n                allowed = self->sendFilterBlock(self->currentSend->buffer, self->currentSend->address, self->currentSend->tag);\n\t\t\t}});\n\t\t\t\n\t\t\tif (allowed)\n\t\t\t{\n\t\t\t\t[self doSend];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tLogVerbose(@\"currentSend - silently dropped by sendFilter\");\n\t\t\t\t\n\t\t\t\t[self notifyDidSendDataWithTag:currentSend->tag];\n\t\t\t\t[self endCurrentSend];\n\t\t\t\t[self maybeDequeueSend];\n\t\t\t}\n\t\t}\n\t}\n\telse // if (!sendFilterBlock || !sendFilterQueue)\n\t{\n\t\t// Scenario 3 of 3 - No sendFilter. Just go straight into sending.\n\t\t\n\t\t[self doSend];\n\t}\n}\n\n/**\n * This method performs the actual sending of data in the currentSend packet.\n * It should only be called if the \n**/\n- (void)doSend\n{\n\tLogTrace();\n\t\n\tNSAssert(currentSend != nil, @\"Invalid logic\");\n\t\n\t// Perform the actual send\n\t\n\tssize_t result = 0;\n\t\n\tif (flags & kDidConnect)\n\t{\n\t\t// Connected socket\n\t\t\n\t\tconst void *buffer = [currentSend->buffer bytes];\n\t\tsize_t length = (size_t)[currentSend->buffer length];\n\t\t\n\t\tif (currentSend->addressFamily == AF_INET)\n\t\t{\n\t\t\tresult = send(socket4FD, buffer, length, 0);\n\t\t\tLogVerbose(@\"send(socket4FD) = %d\", result);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult = send(socket6FD, buffer, length, 0);\n\t\t\tLogVerbose(@\"send(socket6FD) = %d\", result);\n\t\t}\n\t}\n\telse\n\t{\n\t\t// Non-Connected socket\n\t\t\n\t\tconst void *buffer = [currentSend->buffer bytes];\n\t\tsize_t length = (size_t)[currentSend->buffer length];\n\t\t\n\t\tconst void *dst  = [currentSend->address bytes];\n\t\tsocklen_t dstSize = (socklen_t)[currentSend->address length];\n\t\t\n\t\tif (currentSend->addressFamily == AF_INET)\n\t\t{\n\t\t\tresult = sendto(socket4FD, buffer, length, 0, dst, dstSize);\n\t\t\tLogVerbose(@\"sendto(socket4FD) = %d\", result);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult = sendto(socket6FD, buffer, length, 0, dst, dstSize);\n\t\t\tLogVerbose(@\"sendto(socket6FD) = %d\", result);\n\t\t}\n\t}\n\t\n\t// If the socket wasn't bound before, it is now\n\t\n\tif ((flags & kDidBind) == 0)\n\t{\n\t\tflags |= kDidBind;\n\t}\n\t\n\t// Check the results.\n\t// \n\t// From the send() & sendto() manpage:\n\t// \n\t// Upon successful completion, the number of bytes which were sent is returned.\n\t// Otherwise, -1 is returned and the global variable errno is set to indicate the error.\n\t\n\tBOOL waitingForSocket = NO;\n\tNSError *socketError = nil;\n\t\n\tif (result == 0)\n\t{\n\t\twaitingForSocket = YES;\n\t}\n\telse if (result < 0)\n\t{\n\t\tif (errno == EAGAIN)\n\t\t\twaitingForSocket = YES;\n\t\telse\n\t\t\tsocketError = [self errnoErrorWithReason:@\"Error in send() function.\"];\n\t}\n\t\n\tif (waitingForSocket)\n\t{\n\t\t// Not enough room in the underlying OS socket send buffer.\n\t\t// Wait for a notification of available space.\n\t\t\n\t\tLogVerbose(@\"currentSend - waiting for socket\");\n\t\t\n\t\tif (!(flags & kSock4CanAcceptBytes)) {\n\t\t\t[self resumeSend4Source];\n\t\t}\n\t\tif (!(flags & kSock6CanAcceptBytes)) {\n\t\t\t[self resumeSend6Source];\n\t\t}\n\t\t\n\t\tif ((sendTimer == NULL) && (currentSend->timeout >= 0.0))\n\t\t{\n\t\t\t// Unable to send packet right away.\n\t\t\t// Start timer to timeout the send operation.\n\t\t\t\n\t\t\t[self setupSendTimerWithTimeout:currentSend->timeout];\n\t\t}\n\t}\n\telse if (socketError)\n\t{\n\t\t[self closeWithError:socketError];\n\t}\n\telse // done\n\t{\n\t\t[self notifyDidSendDataWithTag:currentSend->tag];\n\t\t[self endCurrentSend];\n\t\t[self maybeDequeueSend];\n\t}\n}\n\n/**\n * Releases all resources associated with the currentSend.\n**/\n- (void)endCurrentSend\n{\n\tif (sendTimer)\n\t{\n\t\tdispatch_source_cancel(sendTimer);\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tdispatch_release(sendTimer);\n\t\t#endif\n\t\tsendTimer = NULL;\n\t}\n\t\n\tcurrentSend = nil;\n}\n\n/**\n * Performs the operations to timeout the current send operation, and move on.\n**/\n- (void)doSendTimeout\n{\n\tLogTrace();\n\t\n\t[self notifyDidNotSendDataWithTag:currentSend->tag dueToError:[self sendTimeoutError]];\n\t[self endCurrentSend];\n\t[self maybeDequeueSend];\n}\n\n/**\n * Sets up a timer that fires to timeout the current send operation.\n * This method should only be called once per send packet.\n**/\n- (void)setupSendTimerWithTimeout:(NSTimeInterval)timeout\n{\n\tNSAssert(sendTimer == NULL, @\"Invalid logic\");\n\tNSAssert(timeout >= 0.0, @\"Invalid logic\");\n\t\n\tLogTrace();\n\t\n\tsendTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue);\n\t\n\tdispatch_source_set_event_handler(sendTimer, ^{ @autoreleasepool {\n\t\t\n\t\t[self doSendTimeout];\n\t}});\n\t\n\tdispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(timeout * NSEC_PER_SEC));\n\t\n\tdispatch_source_set_timer(sendTimer, tt, DISPATCH_TIME_FOREVER, 0);\n\tdispatch_resume(sendTimer);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Receiving\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)receiveOnce:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        if ((self->flags & kReceiveOnce) == 0)\n\t\t{\n            if ((self->flags & kDidCreateSockets) == 0)\n\t\t\t{\n\t\t\t\tNSString *msg = @\"Must bind socket before you can receive data. \"\n\t\t\t\t@\"You can do this explicitly via bind, or implicitly via connect or by sending data.\";\n\t\t\t\t\n\t\t\t\terr = [self badConfigError:msg];\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t\t\n            self->flags |=  kReceiveOnce;       // Enable\n            self->flags &= ~kReceiveContinuous; // Disable\n\t\t\t\n            dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[self doReceive];\n\t\t\t}});\n\t\t}\n\t\t\n\t\tresult = YES;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (err)\n\t\tLogError(@\"Error in beginReceiving: %@\", err);\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn result;\n}\n\n- (BOOL)beginReceiving:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\t__block BOOL result = NO;\n\t__block NSError *err = nil;\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        if ((self->flags & kReceiveContinuous) == 0)\n\t\t{\n            if ((self->flags & kDidCreateSockets) == 0)\n\t\t\t{\n\t\t\t\tNSString *msg = @\"Must bind socket before you can receive data. \"\n\t\t\t\t\t\t\t\t@\"You can do this explicitly via bind, or implicitly via connect or by sending data.\";\n\t\t\t\t\n\t\t\t\terr = [self badConfigError:msg];\n\t\t\t\treturn_from_block;\n\t\t\t}\n\t\t\t\n            self->flags |= kReceiveContinuous; // Enable\n            self->flags &= ~kReceiveOnce;      // Disable\n\t\t\t\n            dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\n\t\t\t\t[self doReceive];\n\t\t\t}});\n\t\t}\n\t\t\n\t\tresult = YES;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n\t\n\tif (err)\n\t\tLogError(@\"Error in beginReceiving: %@\", err);\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn result;\n}\n\n- (void)pauseReceiving\n{\n\tLogTrace();\n\t\n\tdispatch_block_t block = ^{\n\t\t\n        self->flags &= ~kReceiveOnce;       // Disable\n        self->flags &= ~kReceiveContinuous; // Disable\n\t\t\n        if (self->socket4FDBytesAvailable > 0) {\n\t\t\t[self suspendReceive4Source];\n\t\t}\n        if (self->socket6FDBytesAvailable > 0) {\n\t\t\t[self suspendReceive6Source];\n\t\t}\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (void)setReceiveFilter:(GCDAsyncUdpSocketReceiveFilterBlock)filterBlock withQueue:(dispatch_queue_t)filterQueue\n{\n\t[self setReceiveFilter:filterBlock withQueue:filterQueue isAsynchronous:YES];\n}\n\n- (void)setReceiveFilter:(GCDAsyncUdpSocketReceiveFilterBlock)filterBlock\n               withQueue:(dispatch_queue_t)filterQueue\n          isAsynchronous:(BOOL)isAsynchronous\n{\n\tGCDAsyncUdpSocketReceiveFilterBlock newFilterBlock = NULL;\n\tdispatch_queue_t newFilterQueue = NULL;\n\t\n\tif (filterBlock)\n\t{\n\t\tNSAssert(filterQueue, @\"Must provide a dispatch_queue in which to run the filter block.\");\n\t\t\n\t\tnewFilterBlock = [filterBlock copy];\n\t\tnewFilterQueue = filterQueue;\n\t\t#if !OS_OBJECT_USE_OBJC\n\t\tdispatch_retain(newFilterQueue);\n\t\t#endif\n\t}\n\t\n\tdispatch_block_t block = ^{\n\t\t\n\t\t#if !OS_OBJECT_USE_OBJC\n        if (self->receiveFilterQueue) dispatch_release(self->receiveFilterQueue);\n\t\t#endif\n\t\t\n        self->receiveFilterBlock = newFilterBlock;\n        self->receiveFilterQueue = newFilterQueue;\n        self->receiveFilterAsync = isAsynchronous;\n\t};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n- (void)doReceive\n{\n\tLogTrace();\n\t\n\tif ((flags & (kReceiveOnce | kReceiveContinuous)) == 0)\n\t{\n\t\tLogVerbose(@\"Receiving is paused...\");\n\t\t\n\t\tif (socket4FDBytesAvailable > 0) {\n\t\t\t[self suspendReceive4Source];\n\t\t}\n\t\tif (socket6FDBytesAvailable > 0) {\n\t\t\t[self suspendReceive6Source];\n\t\t}\n\t\t\n\t\treturn;\n\t}\n\t\n\tif ((flags & kReceiveOnce) && (pendingFilterOperations > 0))\n\t{\n\t\tLogVerbose(@\"Receiving is temporarily paused (pending filter operations)...\");\n\t\t\n\t\tif (socket4FDBytesAvailable > 0) {\n\t\t\t[self suspendReceive4Source];\n\t\t}\n\t\tif (socket6FDBytesAvailable > 0) {\n\t\t\t[self suspendReceive6Source];\n\t\t}\n\t\t\n\t\treturn;\n\t}\n\t\n\tif ((socket4FDBytesAvailable == 0) && (socket6FDBytesAvailable == 0))\n\t{\n\t\tLogVerbose(@\"No data available to receive...\");\n\t\t\n\t\tif (socket4FDBytesAvailable == 0) {\n\t\t\t[self resumeReceive4Source];\n\t\t}\n\t\tif (socket6FDBytesAvailable == 0) {\n\t\t\t[self resumeReceive6Source];\n\t\t}\n\t\t\n\t\treturn;\n\t}\n\t\n\t// Figure out if we should receive on socket4 or socket6\n\t\n\tBOOL doReceive4;\n\t\n\tif (flags & kDidConnect)\n\t{\n\t\t// Connected socket\n\t\t\n\t\tdoReceive4 = (socket4FD != SOCKET_NULL);\n\t}\n\telse\n\t{\n\t\t// Non-Connected socket\n\t\t\n\t\tif (socket4FDBytesAvailable > 0)\n\t\t{\n\t\t\tif (socket6FDBytesAvailable > 0)\n\t\t\t{\n\t\t\t\t// Bytes available on socket4 & socket6\n\t\t\t\t\n\t\t\t\tdoReceive4 = (flags & kFlipFlop) ? YES : NO;\n\t\t\t\t\n\t\t\t\tflags ^= kFlipFlop; // flags = flags xor kFlipFlop; (toggle flip flop bit)\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Bytes available on socket4, but not socket6\n\t\t\t\tdoReceive4 = YES;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\t// Bytes available on socket6, but not socket4\n\t\t\tdoReceive4 = NO;\n\t\t}\n\t}\n\t\n\t// Perform socket IO\n\t\n\tssize_t result = 0;\n\t\n\tNSData *data = nil;\n\tNSData *addr4 = nil;\n\tNSData *addr6 = nil;\n\t\n\tif (doReceive4)\n\t{\n\t\tNSAssert(socket4FDBytesAvailable > 0, @\"Invalid logic\");\n\t\tLogVerbose(@\"Receiving on IPv4\");\n\t\t\n\t\tstruct sockaddr_in sockaddr4;\n\t\tsocklen_t sockaddr4len = sizeof(sockaddr4);\n\t\t\n\t\t// #222: GCD does not necessarily return the size of an entire UDP packet \n\t\t// from dispatch_source_get_data(), so we must use the maximum packet size.\n\t\tsize_t bufSize = max4ReceiveSize;\n\t\tvoid *buf = malloc(bufSize);\n\t\t\n\t\tresult = recvfrom(socket4FD, buf, bufSize, 0, (struct sockaddr *)&sockaddr4, &sockaddr4len);\n\t\tLogVerbose(@\"recvfrom(socket4FD) = %i\", (int)result);\n\t\t\n\t\tif (result > 0)\n\t\t{\n\t\t\tif ((size_t)result >= socket4FDBytesAvailable)\n\t\t\t\tsocket4FDBytesAvailable = 0;\n\t\t\telse\n\t\t\t\tsocket4FDBytesAvailable -= result;\n\t\t\t\n\t\t\tif ((size_t)result != bufSize) {\n\t\t\t\tbuf = realloc(buf, result);\n\t\t\t}\n\t\t\t\n\t\t\tdata = [NSData dataWithBytesNoCopy:buf length:result freeWhenDone:YES];\n\t\t\taddr4 = [NSData dataWithBytes:&sockaddr4 length:sockaddr4len];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLogVerbose(@\"recvfrom(socket4FD) = %@\", [self errnoError]);\n\t\t\tsocket4FDBytesAvailable = 0;\n\t\t\tfree(buf);\n\t\t}\n\t}\n\telse\n\t{\n\t\tNSAssert(socket6FDBytesAvailable > 0, @\"Invalid logic\");\n\t\tLogVerbose(@\"Receiving on IPv6\");\n\t\t\n\t\tstruct sockaddr_in6 sockaddr6;\n\t\tsocklen_t sockaddr6len = sizeof(sockaddr6);\n\t\t\n\t\t// #222: GCD does not necessarily return the size of an entire UDP packet \n\t\t// from dispatch_source_get_data(), so we must use the maximum packet size.\n\t\tsize_t bufSize = max6ReceiveSize;\n\t\tvoid *buf = malloc(bufSize);\n\t\t\n\t\tresult = recvfrom(socket6FD, buf, bufSize, 0, (struct sockaddr *)&sockaddr6, &sockaddr6len);\n\t\tLogVerbose(@\"recvfrom(socket6FD) -> %i\", (int)result);\n\t\t\n\t\tif (result > 0)\n\t\t{\n\t\t\tif ((size_t)result >= socket6FDBytesAvailable)\n\t\t\t\tsocket6FDBytesAvailable = 0;\n\t\t\telse\n\t\t\t\tsocket6FDBytesAvailable -= result;\n\t\t\t\n\t\t\tif ((size_t)result != bufSize) {\n\t\t\t\tbuf = realloc(buf, result);\n\t\t\t}\n\t\t\n\t\t\tdata = [NSData dataWithBytesNoCopy:buf length:result freeWhenDone:YES];\n\t\t\taddr6 = [NSData dataWithBytes:&sockaddr6 length:sockaddr6len];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLogVerbose(@\"recvfrom(socket6FD) = %@\", [self errnoError]);\n\t\t\tsocket6FDBytesAvailable = 0;\n\t\t\tfree(buf);\n\t\t}\n\t}\n\t\n\t\n\tBOOL waitingForSocket = NO;\n\tBOOL notifiedDelegate = NO;\n\tBOOL ignored = NO;\n\t\n\tNSError *socketError = nil;\n\t\n\tif (result == 0)\n\t{\n\t\twaitingForSocket = YES;\n\t}\n\telse if (result < 0)\n\t{\n\t\tif (errno == EAGAIN)\n\t\t\twaitingForSocket = YES;\n\t\telse\n\t\t\tsocketError = [self errnoErrorWithReason:@\"Error in recvfrom() function\"];\n\t}\n\telse\n\t{\n\t\tif (flags & kDidConnect)\n\t\t{\n\t\t\tif (addr4 && ![self isConnectedToAddress4:addr4])\n\t\t\t\tignored = YES;\n\t\t\tif (addr6 && ![self isConnectedToAddress6:addr6])\n\t\t\t\tignored = YES;\n\t\t}\n\t\t\n\t\tNSData *addr = (addr4 != nil) ? addr4 : addr6;\n\t\t\n\t\tif (!ignored)\n\t\t{\n\t\t\tif (receiveFilterBlock && receiveFilterQueue)\n\t\t\t{\n\t\t\t\t// Run data through filter, and if approved, notify delegate\n\t\t\t\t\n\t\t\t\t__block id filterContext = nil;\n\t\t\t\t__block BOOL allowed = NO;\n\t\t\t\t\n\t\t\t\tif (receiveFilterAsync)\n\t\t\t\t{\n\t\t\t\t\tpendingFilterOperations++;\n\t\t\t\t\tdispatch_async(receiveFilterQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\t\n                        allowed = self->receiveFilterBlock(data, addr, &filterContext);\n\t\t\t\t\t\t\n\t\t\t\t\t\t// Transition back to socketQueue to get the current delegate / delegateQueue\n                        dispatch_async(self->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\t\t\n                            self->pendingFilterOperations--;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (allowed)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[self notifyDidReceiveData:data fromAddress:addr withFilterContext:filterContext];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tLogVerbose(@\"received packet silently dropped by receiveFilter\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n                            if (self->flags & kReceiveOnce)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (allowed)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// The delegate has been notified,\n\t\t\t\t\t\t\t\t\t// so our receive once operation has completed.\n                                    self->flags &= ~kReceiveOnce;\n\t\t\t\t\t\t\t\t}\n                                else if (self->pendingFilterOperations == 0)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// All pending filter operations have completed,\n\t\t\t\t\t\t\t\t\t// and none were allowed through.\n\t\t\t\t\t\t\t\t\t// Our receive once operation hasn't completed yet.\n\t\t\t\t\t\t\t\t\t[self doReceive];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}});\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t\telse // if (!receiveFilterAsync)\n\t\t\t\t{\n\t\t\t\t\tdispatch_sync(receiveFilterQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\t\n                        allowed = self->receiveFilterBlock(data, addr, &filterContext);\n\t\t\t\t\t}});\n\t\t\t\t\t\n\t\t\t\t\tif (allowed)\n\t\t\t\t\t{\n\t\t\t\t\t\t[self notifyDidReceiveData:data fromAddress:addr withFilterContext:filterContext];\n\t\t\t\t\t\tnotifiedDelegate = YES;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tLogVerbose(@\"received packet silently dropped by receiveFilter\");\n\t\t\t\t\t\tignored = YES;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse // if (!receiveFilterBlock || !receiveFilterQueue)\n\t\t\t{\n\t\t\t\t[self notifyDidReceiveData:data fromAddress:addr withFilterContext:nil];\n\t\t\t\tnotifiedDelegate = YES;\n\t\t\t}\n\t\t}\n\t}\n\t\n\tif (waitingForSocket)\n\t{\n\t\t// Wait for a notification of available data.\n\t\t\n\t\tif (socket4FDBytesAvailable == 0) {\n\t\t\t[self resumeReceive4Source];\n\t\t}\n\t\tif (socket6FDBytesAvailable == 0) {\n\t\t\t[self resumeReceive6Source];\n\t\t}\n\t}\n\telse if (socketError)\n\t{\n\t\t[self closeWithError:socketError];\n\t}\n\telse\n\t{\n\t\tif (flags & kReceiveContinuous)\n\t\t{\n\t\t\t// Continuous receive mode\n\t\t\t[self doReceive];\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// One-at-a-time receive mode\n\t\t\tif (notifiedDelegate)\n\t\t\t{\n\t\t\t\t// The delegate has been notified (no set filter).\n\t\t\t\t// So our receive once operation has completed.\n\t\t\t\tflags &= ~kReceiveOnce;\n\t\t\t}\n\t\t\telse if (ignored)\n\t\t\t{\n\t\t\t\t[self doReceive];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Waiting on asynchronous receive filter...\n\t\t\t}\n\t\t}\n\t}\n}\n\n- (void)doReceiveEOF\n{\n\tLogTrace();\n\t\n\t[self closeWithError:[self socketClosedError]];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Closing\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)closeWithError:(NSError *)error\n{\n\tLogVerbose(@\"closeWithError: %@\", error);\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tif (currentSend) [self endCurrentSend];\n\t\n\t[sendQueue removeAllObjects];\n\t\n\t// If a socket has been created, we should notify the delegate.\n\tBOOL shouldCallDelegate = (flags & kDidCreateSockets) ? YES : NO;\n\t\n\t// Close all sockets, send/receive sources, cfstreams, etc\n#if TARGET_OS_IPHONE\n\t[self removeStreamsFromRunLoop];\n\t[self closeReadAndWriteStreams];\n#endif\n\t[self closeSockets];\n\t\n\t// Clear all flags (config remains as is)\n\tflags = 0;\n\t\n\tif (shouldCallDelegate)\n\t{\n\t\t[self notifyDidCloseWithError:error];\n\t}\n}\n\n- (void)close\n{\n\tLogTrace();\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t[self closeWithError:nil];\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n}\n\n- (void)closeAfterSending\n{\n\tLogTrace();\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n        self->flags |= kCloseAfterSends;\n\t\t\n        if (self->currentSend == nil && [self->sendQueue count] == 0)\n\t\t{\n\t\t\t[self closeWithError:nil];\n\t\t}\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark CFStream\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if TARGET_OS_IPHONE\n\nstatic NSThread *listenerThread;\n\n+ (void)ignore:(id)_\n{}\n\n+ (void)startListenerThreadIfNeeded\n{\n\tstatic dispatch_once_t predicate;\n\tdispatch_once(&predicate, ^{\n\t\t\n\t\tlistenerThread = [[NSThread alloc] initWithTarget:self\n\t\t                                         selector:@selector(listenerThread)\n\t\t                                           object:nil];\n\t\t[listenerThread start];\n\t});\n}\n\n+ (void)listenerThread\n{\n\t@autoreleasepool {\n\t\n\t\t[[NSThread currentThread] setName:GCDAsyncUdpSocketThreadName];\n\t\t\n\t\tLogInfo(@\"ListenerThread: Started\");\n\t\t\n\t\t// We can't run the run loop unless it has an associated input source or a timer.\n\t\t// So we'll just create a timer that will never fire - unless the server runs for a decades.\n\t\t[NSTimer scheduledTimerWithTimeInterval:[[NSDate distantFuture] timeIntervalSinceNow]\n\t\t                                 target:self\n\t\t                               selector:@selector(ignore:)\n\t\t                               userInfo:nil\n\t\t                                repeats:YES];\n\t\t\n\t\t[[NSRunLoop currentRunLoop] run];\n\t\t\n\t\tLogInfo(@\"ListenerThread: Stopped\");\n\t}\n}\n\n+ (void)addStreamListener:(GCDAsyncUdpSocket *)asyncUdpSocket\n{\n\tLogTrace();\n\tNSAssert([NSThread currentThread] == listenerThread, @\"Invoked on wrong thread\");\n\t\n\tCFRunLoopRef runLoop = CFRunLoopGetCurrent();\n\t\n\tif (asyncUdpSocket->readStream4)\n\t\tCFReadStreamScheduleWithRunLoop(asyncUdpSocket->readStream4, runLoop, kCFRunLoopDefaultMode);\n\t\n\tif (asyncUdpSocket->readStream6)\n\t\tCFReadStreamScheduleWithRunLoop(asyncUdpSocket->readStream6, runLoop, kCFRunLoopDefaultMode);\n\t\n\tif (asyncUdpSocket->writeStream4)\n\t\tCFWriteStreamScheduleWithRunLoop(asyncUdpSocket->writeStream4, runLoop, kCFRunLoopDefaultMode);\n\t\n\tif (asyncUdpSocket->writeStream6)\n\t\tCFWriteStreamScheduleWithRunLoop(asyncUdpSocket->writeStream6, runLoop, kCFRunLoopDefaultMode);\n}\n\n+ (void)removeStreamListener:(GCDAsyncUdpSocket *)asyncUdpSocket\n{\n\tLogTrace();\n\tNSAssert([NSThread currentThread] == listenerThread, @\"Invoked on wrong thread\");\n\t\n\tCFRunLoopRef runLoop = CFRunLoopGetCurrent();\n\t\n\tif (asyncUdpSocket->readStream4)\n\t\tCFReadStreamUnscheduleFromRunLoop(asyncUdpSocket->readStream4, runLoop, kCFRunLoopDefaultMode);\n\t\n\tif (asyncUdpSocket->readStream6)\n\t\tCFReadStreamUnscheduleFromRunLoop(asyncUdpSocket->readStream6, runLoop, kCFRunLoopDefaultMode);\n\t\n\tif (asyncUdpSocket->writeStream4)\n\t\tCFWriteStreamUnscheduleFromRunLoop(asyncUdpSocket->writeStream4, runLoop, kCFRunLoopDefaultMode);\n\t\n\tif (asyncUdpSocket->writeStream6)\n\t\tCFWriteStreamUnscheduleFromRunLoop(asyncUdpSocket->writeStream6, runLoop, kCFRunLoopDefaultMode);\n}\n\nstatic void CFReadStreamCallback(CFReadStreamRef stream, CFStreamEventType type, void *pInfo)\n{\n\t@autoreleasepool {\n\t\tGCDAsyncUdpSocket *asyncUdpSocket = (__bridge GCDAsyncUdpSocket *)pInfo;\n\t\n\t\tswitch(type)\n\t\t{\n\t\t\tcase kCFStreamEventOpenCompleted:\n\t\t\t{\n\t\t\t\tLogCVerbose(@\"CFReadStreamCallback - Open\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase kCFStreamEventHasBytesAvailable:\n\t\t\t{\n\t\t\t\tLogCVerbose(@\"CFReadStreamCallback - HasBytesAvailable\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase kCFStreamEventErrorOccurred:\n\t\t\tcase kCFStreamEventEndEncountered:\n\t\t\t{\n\t\t\t\tNSError *error = (__bridge_transfer NSError *)CFReadStreamCopyError(stream);\n\t\t\t\tif (error == nil && type == kCFStreamEventEndEncountered)\n\t\t\t\t{\n\t\t\t\t\terror = [asyncUdpSocket socketClosedError];\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdispatch_async(asyncUdpSocket->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\n\t\t\t\t\tLogCVerbose(@\"CFReadStreamCallback - %@\",\n\t\t\t\t\t             (type == kCFStreamEventErrorOccurred) ? @\"Error\" : @\"EndEncountered\");\n\t\t\t\t\t\n\t\t\t\t\tif (stream != asyncUdpSocket->readStream4 &&\n\t\t\t\t\t    stream != asyncUdpSocket->readStream6  )\n\t\t\t\t\t{\n\t\t\t\t\t\tLogCVerbose(@\"CFReadStreamCallback - Ignored\");\n\t\t\t\t\t\treturn_from_block;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t[asyncUdpSocket closeWithError:error];\n\t\t\t\t\t\n\t\t\t\t}});\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t{\n\t\t\t\tLogCError(@\"CFReadStreamCallback - UnknownType: %i\", (int)type);\n\t\t\t}\n\t\t}\n\t}\n}\n\nstatic void CFWriteStreamCallback(CFWriteStreamRef stream, CFStreamEventType type, void *pInfo)\n{\n\t@autoreleasepool {\n\t\tGCDAsyncUdpSocket *asyncUdpSocket = (__bridge GCDAsyncUdpSocket *)pInfo;\n\t\t\n\t\tswitch(type)\n\t\t{\n\t\t\tcase kCFStreamEventOpenCompleted:\n\t\t\t{\n\t\t\t\tLogCVerbose(@\"CFWriteStreamCallback - Open\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase kCFStreamEventCanAcceptBytes:\n\t\t\t{\n\t\t\t\tLogCVerbose(@\"CFWriteStreamCallback - CanAcceptBytes\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase kCFStreamEventErrorOccurred:\n\t\t\tcase kCFStreamEventEndEncountered:\n\t\t\t{\n\t\t\t\tNSError *error = (__bridge_transfer NSError *)CFWriteStreamCopyError(stream);\n\t\t\t\tif (error == nil && type == kCFStreamEventEndEncountered)\n\t\t\t\t{\n\t\t\t\t\terror = [asyncUdpSocket socketClosedError];\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tdispatch_async(asyncUdpSocket->socketQueue, ^{ @autoreleasepool {\n\t\t\t\t\t\n\t\t\t\t\tLogCVerbose(@\"CFWriteStreamCallback - %@\",\n\t\t\t\t\t             (type == kCFStreamEventErrorOccurred) ? @\"Error\" : @\"EndEncountered\");\n\t\t\t\t\t\n\t\t\t\t\tif (stream != asyncUdpSocket->writeStream4 &&\n\t\t\t\t\t    stream != asyncUdpSocket->writeStream6  )\n\t\t\t\t\t{\n\t\t\t\t\t\tLogCVerbose(@\"CFWriteStreamCallback - Ignored\");\n\t\t\t\t\t\treturn_from_block;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t[asyncUdpSocket closeWithError:error];\n\t\t\t\t\t\n\t\t\t\t}});\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t{\n\t\t\t\tLogCError(@\"CFWriteStreamCallback - UnknownType: %i\", (int)type);\n\t\t\t}\n\t\t}\n\t}\n}\n\n- (BOOL)createReadAndWriteStreams:(NSError **)errPtr\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tNSError *err = nil;\n\t\n\tif (readStream4 || writeStream4 || readStream6 || writeStream6)\n\t{\n\t\t// Streams already created\n\t\treturn YES;\n\t}\n\t\n\tif (socket4FD == SOCKET_NULL && socket6FD == SOCKET_NULL)\n\t{\n\t\terr = [self otherError:@\"Cannot create streams without a file descriptor\"];\n\t\tgoto Failed;\n\t}\n\t\n\t// Create streams\n\t\n\tLogVerbose(@\"Creating read and write stream(s)...\");\n\t\n\tif (socket4FD != SOCKET_NULL)\n\t{\n\t\tCFStreamCreatePairWithSocket(NULL, (CFSocketNativeHandle)socket4FD, &readStream4, &writeStream4);\n\t\tif (!readStream4 || !writeStream4)\n\t\t{\n\t\t\terr = [self otherError:@\"Error in CFStreamCreatePairWithSocket() [IPv4]\"];\n\t\t\tgoto Failed;\n\t\t}\n\t}\n\t\n\tif (socket6FD != SOCKET_NULL)\n\t{\n\t\tCFStreamCreatePairWithSocket(NULL, (CFSocketNativeHandle)socket6FD, &readStream6, &writeStream6);\n\t\tif (!readStream6 || !writeStream6)\n\t\t{\n\t\t\terr = [self otherError:@\"Error in CFStreamCreatePairWithSocket() [IPv6]\"];\n\t\t\tgoto Failed;\n\t\t}\n\t}\n\t\n\t// Ensure the CFStream's don't close our underlying socket\n\t\n\tCFReadStreamSetProperty(readStream4, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);\n\tCFWriteStreamSetProperty(writeStream4, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);\n\t\n\tCFReadStreamSetProperty(readStream6, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);\n\tCFWriteStreamSetProperty(writeStream6, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);\n\t\n\treturn YES;\n\t\nFailed:\n\tif (readStream4)\n\t{\n\t\tCFReadStreamClose(readStream4);\n\t\tCFRelease(readStream4);\n\t\treadStream4 = NULL;\n\t}\n\tif (writeStream4)\n\t{\n\t\tCFWriteStreamClose(writeStream4);\n\t\tCFRelease(writeStream4);\n\t\twriteStream4 = NULL;\n\t}\n\tif (readStream6)\n\t{\n\t\tCFReadStreamClose(readStream6);\n\t\tCFRelease(readStream6);\n\t\treadStream6 = NULL;\n\t}\n\tif (writeStream6)\n\t{\n\t\tCFWriteStreamClose(writeStream6);\n\t\tCFRelease(writeStream6);\n\t\twriteStream6 = NULL;\n\t}\n\t\n\tif (errPtr)\n\t\t*errPtr = err;\n\t\n\treturn NO;\n}\n\n- (BOOL)registerForStreamCallbacks:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert(readStream4 || writeStream4 || readStream6 || writeStream6, @\"Read/Write streams are null\");\n\t\n\tNSError *err = nil;\n\t\n\tstreamContext.version = 0;\n\tstreamContext.info = (__bridge void *)self;\n\tstreamContext.retain = nil;\n\tstreamContext.release = nil;\n\tstreamContext.copyDescription = nil;\n\t\n\tCFOptionFlags readStreamEvents = kCFStreamEventErrorOccurred | kCFStreamEventEndEncountered;\n\tCFOptionFlags writeStreamEvents = kCFStreamEventErrorOccurred | kCFStreamEventEndEncountered;\n\t\n//\treadStreamEvents  |= (kCFStreamEventOpenCompleted | kCFStreamEventHasBytesAvailable);\n//\twriteStreamEvents |= (kCFStreamEventOpenCompleted | kCFStreamEventCanAcceptBytes);\n\t\n\tif (socket4FD != SOCKET_NULL)\n\t{\n\t\tif (readStream4 == NULL || writeStream4 == NULL)\n\t\t{\n\t\t\terr = [self otherError:@\"Read/Write stream4 is null\"];\n\t\t\tgoto Failed;\n\t\t}\n\t\t\n\t\tBOOL r1 = CFReadStreamSetClient(readStream4, readStreamEvents, &CFReadStreamCallback, &streamContext);\n\t\tBOOL r2 = CFWriteStreamSetClient(writeStream4, writeStreamEvents, &CFWriteStreamCallback, &streamContext);\n\t\t\n\t\tif (!r1 || !r2)\n\t\t{\n\t\t\terr = [self otherError:@\"Error in CFStreamSetClient(), [IPv4]\"];\n\t\t\tgoto Failed;\n\t\t}\n\t}\n\t\n\tif (socket6FD != SOCKET_NULL)\n\t{\n\t\tif (readStream6 == NULL || writeStream6 == NULL)\n\t\t{\n\t\t\terr = [self otherError:@\"Read/Write stream6 is null\"];\n\t\t\tgoto Failed;\n\t\t}\n\t\t\n\t\tBOOL r1 = CFReadStreamSetClient(readStream6, readStreamEvents, &CFReadStreamCallback, &streamContext);\n\t\tBOOL r2 = CFWriteStreamSetClient(writeStream6, writeStreamEvents, &CFWriteStreamCallback, &streamContext);\n\t\t\n\t\tif (!r1 || !r2)\n\t\t{\n\t\t\terr = [self otherError:@\"Error in CFStreamSetClient() [IPv6]\"];\n\t\t\tgoto Failed;\n\t\t}\n\t}\n\t\n\treturn YES;\n\t\nFailed:\n\tif (readStream4) {\n\t\tCFReadStreamSetClient(readStream4, kCFStreamEventNone, NULL, NULL);\n\t}\n\tif (writeStream4) {\n\t\tCFWriteStreamSetClient(writeStream4, kCFStreamEventNone, NULL, NULL);\n\t}\n\tif (readStream6) {\n\t\tCFReadStreamSetClient(readStream6, kCFStreamEventNone, NULL, NULL);\n\t}\n\tif (writeStream6) {\n\t\tCFWriteStreamSetClient(writeStream6, kCFStreamEventNone, NULL, NULL);\n\t}\n\t\n\tif (errPtr) *errPtr = err;\n\treturn NO;\n}\n\n- (BOOL)addStreamsToRunLoop:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert(readStream4 || writeStream4 || readStream6 || writeStream6, @\"Read/Write streams are null\");\n\t\n\tif (!(flags & kAddedStreamListener))\n\t{\n\t\t[[self class] startListenerThreadIfNeeded];\n\t\t[[self class] performSelector:@selector(addStreamListener:)\n\t\t                     onThread:listenerThread\n\t\t                   withObject:self\n\t\t                waitUntilDone:YES];\n\t\t\n\t\tflags |= kAddedStreamListener;\n\t}\n\t\n\treturn YES;\n}\n\n- (BOOL)openStreams:(NSError **)errPtr\n{\n\tLogTrace();\n\t\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\tNSAssert(readStream4 || writeStream4 || readStream6 || writeStream6, @\"Read/Write streams are null\");\n\t\n\tNSError *err = nil;\n\t\n\tif (socket4FD != SOCKET_NULL)\n\t{\n\t\tBOOL r1 = CFReadStreamOpen(readStream4);\n\t\tBOOL r2 = CFWriteStreamOpen(writeStream4);\n\t\t\n\t\tif (!r1 || !r2)\n\t\t{\n\t\t\terr = [self otherError:@\"Error in CFStreamOpen() [IPv4]\"];\n\t\t\tgoto Failed;\n\t\t}\n\t}\n\t\n\tif (socket6FD != SOCKET_NULL)\n\t{\n\t\tBOOL r1 = CFReadStreamOpen(readStream6);\n\t\tBOOL r2 = CFWriteStreamOpen(writeStream6);\n\t\t\n\t\tif (!r1 || !r2)\n\t\t{\n\t\t\terr = [self otherError:@\"Error in CFStreamOpen() [IPv6]\"];\n\t\t\tgoto Failed;\n\t\t}\n\t}\n\t\n\treturn YES;\n\t\nFailed:\n\tif (errPtr) *errPtr = err;\n\treturn NO;\n}\n\n- (void)removeStreamsFromRunLoop\n{\n\tLogTrace();\n\tNSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n\t\n\tif (flags & kAddedStreamListener)\n\t{\n\t\t[[self class] performSelector:@selector(removeStreamListener:)\n\t\t                     onThread:listenerThread\n\t\t                   withObject:self\n\t\t                waitUntilDone:YES];\n\t\t\n\t\tflags &= ~kAddedStreamListener;\n\t}\n}\n\n- (void)closeReadAndWriteStreams\n{\n\tLogTrace();\n\t\n\tif (readStream4)\n\t{\n\t\tCFReadStreamSetClient(readStream4, kCFStreamEventNone, NULL, NULL);\n\t\tCFReadStreamClose(readStream4);\n\t\tCFRelease(readStream4);\n\t\treadStream4 = NULL;\n\t}\n\tif (writeStream4)\n\t{\n\t\tCFWriteStreamSetClient(writeStream4, kCFStreamEventNone, NULL, NULL);\n\t\tCFWriteStreamClose(writeStream4);\n\t\tCFRelease(writeStream4);\n\t\twriteStream4 = NULL;\n\t}\n\tif (readStream6)\n\t{\n\t\tCFReadStreamSetClient(readStream6, kCFStreamEventNone, NULL, NULL);\n\t\tCFReadStreamClose(readStream6);\n\t\tCFRelease(readStream6);\n\t\treadStream6 = NULL;\n\t}\n\tif (writeStream6)\n\t{\n\t\tCFWriteStreamSetClient(writeStream6, kCFStreamEventNone, NULL, NULL);\n\t\tCFWriteStreamClose(writeStream6);\n\t\tCFRelease(writeStream6);\n\t\twriteStream6 = NULL;\n\t}\n}\n\n#endif\n\n- (void)applicationWillEnterForeground:(NSNotification *)notification\n{\n\tLogTrace();\n\t\n\t// If the application was backgrounded, then iOS may have shut down our sockets.\n\t// So we take a quick look to see if any of them received an EOF.\n\t\n\tdispatch_block_t block = ^{ @autoreleasepool {\n\t\t\n\t\t[self resumeReceive4Source];\n\t\t[self resumeReceive6Source];\n\t}};\n\t\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_async(socketQueue, block);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Advanced\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * See header file for big discussion of this method.\n **/\n- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketNewTargetQueue\n{\n\tvoid *nonNullUnusedPointer = (__bridge void *)self;\n\tdispatch_queue_set_specific(socketNewTargetQueue, IsOnSocketQueueOrTargetQueueKey, nonNullUnusedPointer, NULL);\n}\n\n/**\n * See header file for big discussion of this method.\n **/\n- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketOldTargetQueue\n{\n\tdispatch_queue_set_specific(socketOldTargetQueue, IsOnSocketQueueOrTargetQueueKey, NULL, NULL);\n}\n\n- (void)performBlock:(dispatch_block_t)block\n{\n\tif (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t\tblock();\n\telse\n\t\tdispatch_sync(socketQueue, block);\n}\n\n- (int)socketFD\n{\n\tif (! dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@: %@ - Method only available from within the context of a performBlock: invocation\",\n\t\t\t\tTHIS_FILE, THIS_METHOD);\n\t\treturn SOCKET_NULL;\n\t}\n\t\n\tif (socket4FD != SOCKET_NULL)\n\t\treturn socket4FD;\n\telse\n\t\treturn socket6FD;\n}\n\n- (int)socket4FD\n{\n\tif (! dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@: %@ - Method only available from within the context of a performBlock: invocation\",\n\t\t\t\tTHIS_FILE, THIS_METHOD);\n\t\treturn SOCKET_NULL;\n\t}\n\t\n\treturn socket4FD;\n}\n\n- (int)socket6FD\n{\n\tif (! dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@: %@ - Method only available from within the context of a performBlock: invocation\",\n\t\t\t\tTHIS_FILE, THIS_METHOD);\n\t\treturn SOCKET_NULL;\n\t}\n\t\n\treturn socket6FD;\n}\n\n#if TARGET_OS_IPHONE\n\n- (CFReadStreamRef)readStream\n{\n\tif (! dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@: %@ - Method only available from within the context of a performBlock: invocation\",\n\t\t\t\tTHIS_FILE, THIS_METHOD);\n\t\treturn NULL;\n\t}\n\t\n\tNSError *err = nil;\n\tif (![self createReadAndWriteStreams:&err])\n\t{\n\t\tLogError(@\"Error creating CFStream(s): %@\", err);\n\t\treturn NULL;\n\t}\n\t\n\t// Todo...\n\t\n\tif (readStream4)\n\t\treturn readStream4;\n\telse\n\t\treturn readStream6;\n}\n\n- (CFWriteStreamRef)writeStream\n{\n\tif (! dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@: %@ - Method only available from within the context of a performBlock: invocation\",\n\t\t\t\tTHIS_FILE, THIS_METHOD);\n\t\treturn NULL;\n\t}\n\t\n\tNSError *err = nil;\n\tif (![self createReadAndWriteStreams:&err])\n\t{\n\t\tLogError(@\"Error creating CFStream(s): %@\", err);\n\t\treturn NULL;\n\t}\n\t\n\tif (writeStream4)\n\t\treturn writeStream4;\n\telse\n\t\treturn writeStream6;\n}\n\n- (BOOL)enableBackgroundingOnSockets\n{\n\tif (! dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n\t{\n\t\tLogWarn(@\"%@: %@ - Method only available from within the context of a performBlock: invocation\",\n\t\t\t\tTHIS_FILE, THIS_METHOD);\n\t\treturn NO;\n\t}\n\t\n\t// Why is this commented out?\n\t// See comments below.\n\t\n//\tNSError *err = nil;\n//\tif (![self createReadAndWriteStreams:&err])\n//\t{\n//\t\tLogError(@\"Error creating CFStream(s): %@\", err);\n//\t\treturn NO;\n//\t}\n//\t\n//\tLogVerbose(@\"Enabling backgrouding on socket\");\n//\t\n//\tBOOL r1, r2;\n//\t\n//\tif (readStream4 && writeStream4)\n//\t{\n//\t\tr1 = CFReadStreamSetProperty(readStream4, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n//\t\tr2 = CFWriteStreamSetProperty(writeStream4, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n//\t\t\n//\t\tif (!r1 || !r2)\n//\t\t{\n//\t\t\tLogError(@\"Error setting voip type (IPv4)\");\n//\t\t\treturn NO;\n//\t\t}\n//\t}\n//\t\n//\tif (readStream6 && writeStream6)\n//\t{\n//\t\tr1 = CFReadStreamSetProperty(readStream6, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n//\t\tr2 = CFWriteStreamSetProperty(writeStream6, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n//\t\t\n//\t\tif (!r1 || !r2)\n//\t\t{\n//\t\t\tLogError(@\"Error setting voip type (IPv6)\");\n//\t\t\treturn NO;\n//\t\t}\n//\t}\n//\t\n//\treturn YES;\n\t\n\t// The above code will actually appear to work.\n\t// The methods will return YES, and everything will appear fine.\n\t// \n\t// One tiny problem: the sockets will still get closed when the app gets backgrounded.\n\t// \n\t// Apple does not officially support backgrounding UDP sockets.\n\t\n\treturn NO;\n}\n\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Class Methods\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (NSString *)hostFromSockaddr4:(const struct sockaddr_in *)pSockaddr4\n{\n\tchar addrBuf[INET_ADDRSTRLEN];\n\t\n\tif (inet_ntop(AF_INET, &pSockaddr4->sin_addr, addrBuf, (socklen_t)sizeof(addrBuf)) == NULL)\n\t{\n\t\taddrBuf[0] = '\\0';\n\t}\n\t\n\treturn [NSString stringWithCString:addrBuf encoding:NSASCIIStringEncoding];\n}\n\n+ (NSString *)hostFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6\n{\n\tchar addrBuf[INET6_ADDRSTRLEN];\n\t\n\tif (inet_ntop(AF_INET6, &pSockaddr6->sin6_addr, addrBuf, (socklen_t)sizeof(addrBuf)) == NULL)\n\t{\n\t\taddrBuf[0] = '\\0';\n\t}\n\t\n\treturn [NSString stringWithCString:addrBuf encoding:NSASCIIStringEncoding];\n}\n\n+ (uint16_t)portFromSockaddr4:(const struct sockaddr_in *)pSockaddr4\n{\n\treturn ntohs(pSockaddr4->sin_port);\n}\n\n+ (uint16_t)portFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6\n{\n\treturn ntohs(pSockaddr6->sin6_port);\n}\n\n+ (NSString *)hostFromAddress:(NSData *)address\n{\n\tNSString *host = nil;\n\t[self getHost:&host port:NULL family:NULL fromAddress:address];\n\t\n\treturn host;\n}\n\n+ (uint16_t)portFromAddress:(NSData *)address\n{\n\tuint16_t port = 0;\n\t[self getHost:NULL port:&port family:NULL fromAddress:address];\n\t\n\treturn port;\n}\n\n+ (int)familyFromAddress:(NSData *)address\n{\n\tint af = AF_UNSPEC;\n\t[self getHost:NULL port:NULL family:&af fromAddress:address];\n\t\n\treturn af;\n}\n\n+ (BOOL)isIPv4Address:(NSData *)address\n{\n\tint af = AF_UNSPEC;\n\t[self getHost:NULL port:NULL family:&af fromAddress:address];\n\t\n\treturn (af == AF_INET);\n}\n\n+ (BOOL)isIPv6Address:(NSData *)address\n{\n\tint af = AF_UNSPEC;\n\t[self getHost:NULL port:NULL family:&af fromAddress:address];\n\t\n\treturn (af == AF_INET6);\n}\n\n+ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSData *)address\n{\n\treturn [self getHost:hostPtr port:portPtr family:NULL fromAddress:address];\n}\n\n+ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr family:(int *)afPtr fromAddress:(NSData *)address\n{\n\tif ([address length] >= sizeof(struct sockaddr))\n\t{\n\t\tconst struct sockaddr *addrX = (const struct sockaddr *)[address bytes];\n\t\t\n\t\tif (addrX->sa_family == AF_INET)\n\t\t{\n\t\t\tif ([address length] >= sizeof(struct sockaddr_in))\n\t\t\t{\n\t\t\t\tconst struct sockaddr_in *addr4 = (const struct sockaddr_in *)addrX;\n\t\t\t\t\n\t\t\t\tif (hostPtr) *hostPtr = [self hostFromSockaddr4:addr4];\n\t\t\t\tif (portPtr) *portPtr = [self portFromSockaddr4:addr4];\n\t\t\t\tif (afPtr)   *afPtr   = AF_INET;\n\t\t\t\t\n\t\t\t\treturn YES;\n\t\t\t}\n\t\t}\n\t\telse if (addrX->sa_family == AF_INET6)\n\t\t{\n\t\t\tif ([address length] >= sizeof(struct sockaddr_in6))\n\t\t\t{\n\t\t\t\tconst struct sockaddr_in6 *addr6 = (const struct sockaddr_in6 *)addrX;\n\t\t\t\t\n\t\t\t\tif (hostPtr) *hostPtr = [self hostFromSockaddr6:addr6];\n\t\t\t\tif (portPtr) *portPtr = [self portFromSockaddr6:addr6];\n\t\t\t\tif (afPtr)   *afPtr   = AF_INET6;\n\t\t\t\t\n\t\t\t\treturn YES;\n\t\t\t}\n\t\t}\n\t}\n\t\n\tif (hostPtr) *hostPtr = nil;\n\tif (portPtr) *portPtr = 0;\n\tif (afPtr)   *afPtr   = AF_UNSPEC;\n\t\n\treturn NO;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDASLLogger.h",
    "content": "#import <Foundation/Foundation.h>\n#import <asl.h>\n\n#import \"DDLog.h\"\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n * \n * \n * This class provides a logger for the Apple System Log facility.\n * \n * As described in the \"Getting Started\" page,\n * the traditional NSLog() function directs it's output to two places:\n * \n * - Apple System Log\n * - StdErr (if stderr is a TTY) so log statements show up in Xcode console\n * \n * To duplicate NSLog() functionality you can simply add this logger and a tty logger.\n * However, if you instead choose to use file logging (for faster performance),\n * you may choose to use a file logger and a tty logger.\n**/\n\n@interface DDASLLogger : DDAbstractLogger <DDLogger>\n{\n    aslclient client;\n}\n\n+ (instancetype)sharedInstance;\n\n// Inherited from DDAbstractLogger\n\n// - (id <DDLogFormatter>)logFormatter;\n// - (void)setLogFormatter:(id <DDLogFormatter>)formatter;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDASLLogger.m",
    "content": "#import \"DDASLLogger.h\"\n\n#import <libkern/OSAtomic.h>\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n**/\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n\n@implementation DDASLLogger\n\nstatic DDASLLogger *sharedInstance;\n\n/**\n * The runtime sends initialize to each class in a program exactly one time just before the class,\n * or any class that inherits from it, is sent its first message from within the program. (Thus the\n * method may never be invoked if the class is not used.) The runtime sends the initialize message to\n * classes in a thread-safe manner. Superclasses receive this message before their subclasses.\n *\n * This method may also be called directly (assumably by accident), hence the safety mechanism.\n**/\n+ (void)initialize\n{\n    static BOOL initialized = NO;\n    if (!initialized)\n    {\n        initialized = YES;\n        \n        sharedInstance = [[[self class] alloc] init];\n    }\n}\n\n+ (instancetype)sharedInstance\n{\n    return sharedInstance;\n}\n\n- (id)init\n{\n    if (sharedInstance != nil)\n    {\n        return nil;\n    }\n    \n    if ((self = [super init]))\n    {\n        // A default asl client is provided for the main thread,\n        // but background threads need to create their own client.\n        \n        client = asl_open(NULL, \"com.apple.console\", 0);\n    }\n    return self;\n}\n\n- (void)logMessage:(DDLogMessage *)logMessage\n{\n    NSString *logMsg = logMessage->logMsg;\n    \n    if (formatter)\n    {\n        logMsg = [formatter formatLogMessage:logMessage];\n    }\n    \n    if (logMsg)\n    {\n        const char *msg = [logMsg UTF8String];\n        \n        int aslLogLevel;\n        switch (logMessage->logFlag)\n        {\n            // Note: By default ASL will filter anything above level 5 (Notice).\n            // So our mappings shouldn't go above that level.\n            \n            case LOG_FLAG_ERROR : aslLogLevel = ASL_LEVEL_ALERT;   break;\n            case LOG_FLAG_WARN  : aslLogLevel = ASL_LEVEL_CRIT;    break;\n            case LOG_FLAG_INFO  : aslLogLevel = ASL_LEVEL_ERR;     break;\n            case LOG_FLAG_DEBUG : aslLogLevel = ASL_LEVEL_WARNING; break;\n            default             : aslLogLevel = ASL_LEVEL_NOTICE;  break;\n        }\n        \n        asl_log(client, NULL, aslLogLevel, \"%s\", msg);\n    }\n}\n\n- (NSString *)loggerName\n{\n    return @\"cocoa.lumberjack.aslLogger\";\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h",
    "content": "#import <Foundation/Foundation.h>\n\n#import \"DDLog.h\"\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n * \n * \n * This class provides an abstract implementation of a database logger.\n * \n * That is, it provides the base implementation for a database logger to build atop of.\n * All that is needed for a concrete database logger is to extend this class\n * and override the methods in the implementation file that are prefixed with \"db_\".\n**/\n\n@interface DDAbstractDatabaseLogger : DDAbstractLogger {\n@protected\n    NSUInteger saveThreshold;\n    NSTimeInterval saveInterval;\n    NSTimeInterval maxAge;\n    NSTimeInterval deleteInterval;\n    BOOL deleteOnEverySave;\n    \n    BOOL saveTimerSuspended;\n    NSUInteger unsavedCount;\n    dispatch_time_t unsavedTime;\n    dispatch_source_t saveTimer;\n    dispatch_time_t lastDeleteTime;\n    dispatch_source_t deleteTimer;\n}\n\n/**\n * Specifies how often to save the data to disk.\n * Since saving is an expensive operation (disk io) it is not done after every log statement.\n * These properties allow you to configure how/when the logger saves to disk.\n * \n * A save is done when either (whichever happens first):\n * \n * - The number of unsaved log entries reaches saveThreshold\n * - The amount of time since the oldest unsaved log entry was created reaches saveInterval\n * \n * You can optionally disable the saveThreshold by setting it to zero.\n * If you disable the saveThreshold you are entirely dependent on the saveInterval.\n * \n * You can optionally disable the saveInterval by setting it to zero (or a negative value).\n * If you disable the saveInterval you are entirely dependent on the saveThreshold.\n * \n * It's not wise to disable both saveThreshold and saveInterval.\n * \n * The default saveThreshold is 500.\n * The default saveInterval is 60 seconds.\n**/\n@property (assign, readwrite) NSUInteger saveThreshold;\n@property (assign, readwrite) NSTimeInterval saveInterval;\n\n/**\n * It is likely you don't want the log entries to persist forever.\n * Doing so would allow the database to grow infinitely large over time.\n * \n * The maxAge property provides a way to specify how old a log statement can get\n * before it should get deleted from the database.\n * \n * The deleteInterval specifies how often to sweep for old log entries.\n * Since deleting is an expensive operation (disk io) is is done on a fixed interval.\n * \n * An alternative to the deleteInterval is the deleteOnEverySave option.\n * This specifies that old log entries should be deleted during every save operation.\n * \n * You can optionally disable the maxAge by setting it to zero (or a negative value).\n * If you disable the maxAge then old log statements are not deleted.\n * \n * You can optionally disable the deleteInterval by setting it to zero (or a negative value).\n * \n * If you disable both deleteInterval and deleteOnEverySave then old log statements are not deleted.\n * \n * It's not wise to enable both deleteInterval and deleteOnEverySave.\n * \n * The default maxAge is 7 days.\n * The default deleteInterval is 5 minutes.\n * The default deleteOnEverySave is NO.\n**/\n@property (assign, readwrite) NSTimeInterval maxAge;\n@property (assign, readwrite) NSTimeInterval deleteInterval;\n@property (assign, readwrite) BOOL deleteOnEverySave;\n\n/**\n * Forces a save of any pending log entries (flushes log entries to disk).\n**/\n- (void)savePendingLogEntries;\n\n/**\n * Removes any log entries that are older than maxAge.\n**/\n- (void)deleteOldLogEntries;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m",
    "content": "#import \"DDAbstractDatabaseLogger.h\"\n#import <math.h>\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n**/\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n@interface DDAbstractDatabaseLogger ()\n- (void)destroySaveTimer;\n- (void)destroyDeleteTimer;\n@end\n\n#pragma mark -\n\n@implementation DDAbstractDatabaseLogger\n\n- (id)init\n{\n    if ((self = [super init]))\n    {\n        saveThreshold = 500;\n        saveInterval = 60;           // 60 seconds\n        maxAge = (60 * 60 * 24 * 7); //  7 days\n        deleteInterval = (60 * 5);   //  5 minutes\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    [self destroySaveTimer];\n    [self destroyDeleteTimer];\n    \n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Override Me\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)db_log:(DDLogMessage *)logMessage\n{\n    // Override me and add your implementation.\n    // \n    // Return YES if an item was added to the buffer.\n    // Return NO if the logMessage was ignored.\n    \n    return NO;\n}\n\n- (void)db_save\n{\n    // Override me and add your implementation.\n}\n\n- (void)db_delete\n{\n    // Override me and add your implementation.\n}\n\n- (void)db_saveAndDelete\n{\n    // Override me and add your implementation.\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Private API\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)performSaveAndSuspendSaveTimer\n{\n    if (unsavedCount > 0)\n    {\n        if (deleteOnEverySave)\n            [self db_saveAndDelete];\n        else\n            [self db_save];\n    }\n    \n    unsavedCount = 0;\n    unsavedTime = 0;\n    \n    if (saveTimer && !saveTimerSuspended)\n    {\n        dispatch_suspend(saveTimer);\n        saveTimerSuspended = YES;\n    }\n}\n\n- (void)performDelete\n{\n    if (maxAge > 0.0)\n    {\n        [self db_delete];\n        \n        lastDeleteTime = dispatch_time(DISPATCH_TIME_NOW, 0);\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Timers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)destroySaveTimer\n{\n    if (saveTimer)\n    {\n        dispatch_source_cancel(saveTimer);\n        if (saveTimerSuspended)\n        {\n            // Must resume a timer before releasing it (or it will crash)\n            dispatch_resume(saveTimer);\n            saveTimerSuspended = NO;\n        }\n        #if !OS_OBJECT_USE_OBJC\n        dispatch_release(saveTimer);\n        #endif\n        saveTimer = NULL;\n    }\n}\n\n- (void)updateAndResumeSaveTimer\n{\n    if ((saveTimer != NULL) && (saveInterval > 0.0) && (unsavedTime > 0.0))\n    {\n        uint64_t interval = (uint64_t)(saveInterval * NSEC_PER_SEC);\n        dispatch_time_t startTime = dispatch_time(unsavedTime, interval);\n        \n        dispatch_source_set_timer(saveTimer, startTime, interval, 1.0);\n        \n        if (saveTimerSuspended)\n        {\n            dispatch_resume(saveTimer);\n            saveTimerSuspended = NO;\n        }\n    }\n}\n\n- (void)createSuspendedSaveTimer\n{\n    if ((saveTimer == NULL) && (saveInterval > 0.0))\n    {\n        saveTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, loggerQueue);\n        \n        dispatch_source_set_event_handler(saveTimer, ^{ @autoreleasepool {\n            \n            [self performSaveAndSuspendSaveTimer];\n            \n        }});\n        \n        saveTimerSuspended = YES;\n    }\n}\n\n- (void)destroyDeleteTimer\n{\n    if (deleteTimer)\n    {\n        dispatch_source_cancel(deleteTimer);\n        #if !OS_OBJECT_USE_OBJC\n        dispatch_release(deleteTimer);\n        #endif\n        deleteTimer = NULL;\n    }\n}\n\n- (void)updateDeleteTimer\n{\n    if ((deleteTimer != NULL) && (deleteInterval > 0.0) && (maxAge > 0.0))\n    {\n        uint64_t interval = (uint64_t)(deleteInterval * NSEC_PER_SEC);\n        dispatch_time_t startTime;\n        \n        if (lastDeleteTime > 0)\n            startTime = dispatch_time(lastDeleteTime, interval);\n        else\n            startTime = dispatch_time(DISPATCH_TIME_NOW, interval);\n        \n        dispatch_source_set_timer(deleteTimer, startTime, interval, 1.0);\n    }\n}\n\n- (void)createAndStartDeleteTimer\n{\n    if ((deleteTimer == NULL) && (deleteInterval > 0.0) && (maxAge > 0.0))\n    {\n        deleteTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, loggerQueue);\n\n        if (deleteTimer != NULL) {\n            dispatch_source_set_event_handler(deleteTimer, ^{ @autoreleasepool {\n\n                [self performDelete];\n\n            }});\n\n            [self updateDeleteTimer];\n            \n            if (deleteTimer != NULL) dispatch_resume(deleteTimer);\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSUInteger)saveThreshold\n{\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    __block NSUInteger result;\n    \n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(loggerQueue, ^{\n            result = saveThreshold;\n        });\n    });\n    \n    return result;\n}\n\n- (void)setSaveThreshold:(NSUInteger)threshold\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        if (saveThreshold != threshold)\n        {\n            saveThreshold = threshold;\n            \n            // Since the saveThreshold has changed,\n            // we check to see if the current unsavedCount has surpassed the new threshold.\n            // \n            // If it has, we immediately save the log.\n            \n            if ((unsavedCount >= saveThreshold) && (saveThreshold > 0))\n            {\n                [self performSaveAndSuspendSaveTimer];\n            }\n        }\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (NSTimeInterval)saveInterval\n{\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    __block NSTimeInterval result;\n    \n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(loggerQueue, ^{\n            result = saveInterval;\n        });\n    });\n    \n    return result;\n}\n\n- (void)setSaveInterval:(NSTimeInterval)interval\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n    \n        // C99 recommended floating point comparison macro\n        // Read: isLessThanOrGreaterThan(floatA, floatB)\n        \n        if (/* saveInterval != interval */ islessgreater(saveInterval, interval))\n        {\n            saveInterval = interval;\n            \n            // There are several cases we need to handle here.\n            // \n            // 1. If the saveInterval was previously enabled and it just got disabled,\n            //    then we need to stop the saveTimer. (And we might as well release it.)\n            // \n            // 2. If the saveInterval was previously disabled and it just got enabled,\n            //    then we need to setup the saveTimer. (Plus we might need to do an immediate save.)\n            // \n            // 3. If the saveInterval increased, then we need to reset the timer so that it fires at the later date.\n            // \n            // 4. If the saveInterval decreased, then we need to reset the timer so that it fires at an earlier date.\n            //    (Plus we might need to do an immediate save.)\n            \n            if (saveInterval > 0.0)\n            {\n                if (saveTimer == NULL)\n                {\n                    // Handles #2\n                    //\n                    // Since the saveTimer uses the unsavedTime to calculate it's first fireDate,\n                    // if a save is needed the timer will fire immediately.\n                    \n                    [self createSuspendedSaveTimer];\n                    [self updateAndResumeSaveTimer];\n                }\n                else\n                {\n                    // Handles #3\n                    // Handles #4\n                    //\n                    // Since the saveTimer uses the unsavedTime to calculate it's first fireDate,\n                    // if a save is needed the timer will fire immediately.\n                    \n                    [self updateAndResumeSaveTimer];\n                }\n            }\n            else if (saveTimer)\n            {\n                // Handles #1\n                \n                [self destroySaveTimer];\n            }\n        }\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (NSTimeInterval)maxAge\n{\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    __block NSTimeInterval result;\n    \n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(loggerQueue, ^{\n            result = maxAge;\n        });\n    });\n    \n    return result;\n}\n\n- (void)setMaxAge:(NSTimeInterval)interval\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        // C99 recommended floating point comparison macro\n        // Read: isLessThanOrGreaterThan(floatA, floatB)\n        \n        if (/* maxAge != interval */ islessgreater(maxAge, interval))\n        {\n            NSTimeInterval oldMaxAge = maxAge;\n            NSTimeInterval newMaxAge = interval;\n            \n            maxAge = interval;\n            \n            // There are several cases we need to handle here.\n            // \n            // 1. If the maxAge was previously enabled and it just got disabled,\n            //    then we need to stop the deleteTimer. (And we might as well release it.)\n            // \n            // 2. If the maxAge was previously disabled and it just got enabled,\n            //    then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.)\n            // \n            // 3. If the maxAge was increased,\n            //    then we don't need to do anything.\n            // \n            // 4. If the maxAge was decreased,\n            //    then we should do an immediate delete.\n            \n            BOOL shouldDeleteNow = NO;\n            \n            if (oldMaxAge > 0.0)\n            {\n                if (newMaxAge <= 0.0)\n                {\n                    // Handles #1\n                    \n                    [self destroyDeleteTimer];\n                }\n                else if (oldMaxAge > newMaxAge)\n                {\n                    // Handles #4\n                    shouldDeleteNow = YES;\n                }\n            }\n            else if (newMaxAge > 0.0)\n            {\n                // Handles #2\n                shouldDeleteNow = YES;\n            }\n            \n            if (shouldDeleteNow)\n            {\n                [self performDelete];\n                \n                if (deleteTimer)\n                    [self updateDeleteTimer];\n                else\n                    [self createAndStartDeleteTimer];\n            }\n        }\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (NSTimeInterval)deleteInterval\n{\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    __block NSTimeInterval result;\n    \n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(loggerQueue, ^{\n            result = deleteInterval;\n        });\n    });\n    \n    return result;\n}\n\n- (void)setDeleteInterval:(NSTimeInterval)interval\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        // C99 recommended floating point comparison macro\n        // Read: isLessThanOrGreaterThan(floatA, floatB)\n        \n        if (/* deleteInterval != interval */ islessgreater(deleteInterval, interval))\n        {\n            deleteInterval = interval;\n            \n            // There are several cases we need to handle here.\n            // \n            // 1. If the deleteInterval was previously enabled and it just got disabled,\n            //    then we need to stop the deleteTimer. (And we might as well release it.)\n            // \n            // 2. If the deleteInterval was previously disabled and it just got enabled,\n            //    then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.)\n            // \n            // 3. If the deleteInterval increased, then we need to reset the timer so that it fires at the later date.\n            // \n            // 4. If the deleteInterval decreased, then we need to reset the timer so that it fires at an earlier date.\n            //    (Plus we might need to do an immediate delete.)\n            \n            if (deleteInterval > 0.0)\n            {\n                if (deleteTimer == NULL)\n                {\n                    // Handles #2\n                    //\n                    // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate,\n                    // if a delete is needed the timer will fire immediately.\n                    \n                    [self createAndStartDeleteTimer];\n                }\n                else\n                {\n                    // Handles #3\n                    // Handles #4\n                    //\n                    // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate,\n                    // if a save is needed the timer will fire immediately.\n                    \n                    [self updateDeleteTimer];\n                }\n            }\n            else if (deleteTimer)\n            {\n                // Handles #1\n                \n                [self destroyDeleteTimer];\n            }\n        }\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (BOOL)deleteOnEverySave\n{\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    __block BOOL result;\n    \n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(loggerQueue, ^{\n            result = deleteOnEverySave;\n        });\n    });\n    \n    return result;\n}\n\n- (void)setDeleteOnEverySave:(BOOL)flag\n{\n    dispatch_block_t block = ^{\n        \n        deleteOnEverySave = flag;\n    };\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Public API\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)savePendingLogEntries\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        [self performSaveAndSuspendSaveTimer];\n    }};\n    \n    if ([self isOnInternalLoggerQueue])\n        block();\n    else\n        dispatch_async(loggerQueue, block);\n}\n\n- (void)deleteOldLogEntries\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        [self performDelete];\n    }};\n    \n    if ([self isOnInternalLoggerQueue])\n        block();\n    else\n        dispatch_async(loggerQueue, block);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark DDLogger\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)didAddLogger\n{\n    // If you override me be sure to invoke [super didAddLogger];\n    \n    [self createSuspendedSaveTimer];\n    \n    [self createAndStartDeleteTimer];\n}\n\n- (void)willRemoveLogger\n{\n    // If you override me be sure to invoke [super willRemoveLogger];\n    \n    [self performSaveAndSuspendSaveTimer];\n    \n    [self destroySaveTimer];\n    [self destroyDeleteTimer];\n}\n\n- (void)logMessage:(DDLogMessage *)logMessage\n{\n    if ([self db_log:logMessage])\n    {\n        BOOL firstUnsavedEntry = (++unsavedCount == 1);\n        \n        if ((unsavedCount >= saveThreshold) && (saveThreshold > 0))\n        {\n            [self performSaveAndSuspendSaveTimer];\n        }\n        else if (firstUnsavedEntry)\n        {\n            unsavedTime = dispatch_time(DISPATCH_TIME_NOW, 0);\n            [self updateAndResumeSaveTimer];\n        }\n    }\n}\n\n- (void)flush\n{\n    // This method is invoked by DDLog's flushLog method.\n    // \n    // It is called automatically when the application quits,\n    // or if the developer invokes DDLog's flushLog method prior to crashing or something.\n    \n    [self performSaveAndSuspendSaveTimer];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDFileLogger.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"DDLog.h\"\n\n@class DDLogFileInfo;\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n * \n * \n * This class provides a logger to write log statements to a file.\n**/\n\n\n// Default configuration and safety/sanity values.\n// \n// maximumFileSize         -> DEFAULT_LOG_MAX_FILE_SIZE\n// rollingFrequency        -> DEFAULT_LOG_ROLLING_FREQUENCY\n// maximumNumberOfLogFiles -> DEFAULT_LOG_MAX_NUM_LOG_FILES\n// \n// You should carefully consider the proper configuration values for your application.\n\n#define DEFAULT_LOG_MAX_FILE_SIZE     (1024 * 1024)   //  1 MB\n#define DEFAULT_LOG_ROLLING_FREQUENCY (60 * 60 * 24)  // 24 Hours\n#define DEFAULT_LOG_MAX_NUM_LOG_FILES (5)             //  5 Files\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// The LogFileManager protocol is designed to allow you to control all aspects of your log files.\n// \n// The primary purpose of this is to allow you to do something with the log files after they have been rolled.\n// Perhaps you want to compress them to save disk space.\n// Perhaps you want to upload them to an FTP server.\n// Perhaps you want to run some analytics on the file.\n// \n// A default LogFileManager is, of course, provided.\n// The default LogFileManager simply deletes old log files according to the maximumNumberOfLogFiles property.\n// \n// This protocol provides various methods to fetch the list of log files.\n// \n// There are two variants: sorted and unsorted.\n// If sorting is not necessary, the unsorted variant is obviously faster.\n// The sorted variant will return an array sorted by when the log files were created,\n// with the most recently created log file at index 0, and the oldest log file at the end of the array.\n// \n// You can fetch only the log file paths (full path including name), log file names (name only),\n// or an array of DDLogFileInfo objects.\n// The DDLogFileInfo class is documented below, and provides a handy wrapper that\n// gives you easy access to various file attributes such as the creation date or the file size.\n\n@protocol DDLogFileManager <NSObject>\n@required\n\n// Public properties\n\n/**\n * The maximum number of archived log files to keep on disk.\n * For example, if this property is set to 3,\n * then the LogFileManager will only keep 3 archived log files (plus the current active log file) on disk.\n * Once the active log file is rolled/archived, then the oldest of the existing 3 rolled/archived log files is deleted.\n * \n * You may optionally disable deleting old/rolled/archived log files by setting this property to zero.\n**/\n@property (readwrite, assign) NSUInteger maximumNumberOfLogFiles;\n\n// Public methods\n\n- (NSString *)logsDirectory;\n\n- (NSArray *)unsortedLogFilePaths;\n- (NSArray *)unsortedLogFileNames;\n- (NSArray *)unsortedLogFileInfos;\n\n- (NSArray *)sortedLogFilePaths;\n- (NSArray *)sortedLogFileNames;\n- (NSArray *)sortedLogFileInfos;\n\n// Private methods (only to be used by DDFileLogger)\n\n- (NSString *)createNewLogFile;\n\n@optional\n\n// Notifications from DDFileLogger\n\n- (void)didArchiveLogFile:(NSString *)logFilePath;\n- (void)didRollAndArchiveLogFile:(NSString *)logFilePath;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Default log file manager.\n * \n * All log files are placed inside the logsDirectory.\n * If a specific logsDirectory isn't specified, the default directory is used.\n * On Mac, this is in ~/Library/Logs/<Application Name>.\n * On iPhone, this is in ~/Library/Caches/Logs.\n * \n * Log files are named \"<app name> <date> <time>.log\"\n * Example: MobileSafari 2013-12-03 17-14.log\n * \n * Archived log files are automatically deleted according to the maximumNumberOfLogFiles property.\n**/\n@interface DDLogFileManagerDefault : NSObject <DDLogFileManager>\n{\n    NSUInteger maximumNumberOfLogFiles;\n    NSString *_logsDirectory;\n}\n\n- (id)init;\n- (instancetype)initWithLogsDirectory:(NSString *)logsDirectory;\n\n/* Inherited from DDLogFileManager protocol:\n\n@property (readwrite, assign) NSUInteger maximumNumberOfLogFiles;\n\n- (NSString *)logsDirectory;\n\n- (NSArray *)unsortedLogFilePaths;\n- (NSArray *)unsortedLogFileNames;\n- (NSArray *)unsortedLogFileInfos;\n\n- (NSArray *)sortedLogFilePaths;\n- (NSArray *)sortedLogFileNames;\n- (NSArray *)sortedLogFileInfos;\n\n*/\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Most users will want file log messages to be prepended with the date and time.\n * Rather than forcing the majority of users to write their own formatter,\n * we will supply a logical default formatter.\n * Users can easily replace this formatter with their own by invoking the setLogFormatter method.\n * It can also be removed by calling setLogFormatter, and passing a nil parameter.\n * \n * In addition to the convenience of having a logical default formatter,\n * it will also provide a template that makes it easy for developers to copy and change.\n**/\n@interface DDLogFileFormatterDefault : NSObject <DDLogFormatter>\n{\n    NSDateFormatter *dateFormatter;\n}\n\n- (id)init;\n- (instancetype)initWithDateFormatter:(NSDateFormatter *)dateFormatter;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDFileLogger : DDAbstractLogger <DDLogger>\n{\n    __strong id <DDLogFileManager> logFileManager;\n    \n    DDLogFileInfo *currentLogFileInfo;\n    NSFileHandle *currentLogFileHandle;\n    \n    dispatch_source_t currentLogFileVnode;\n    dispatch_source_t rollingTimer;\n    \n    unsigned long long maximumFileSize;\n    NSTimeInterval rollingFrequency;\n}\n\n- (id)init;\n- (instancetype)initWithLogFileManager:(id <DDLogFileManager>)logFileManager;\n\n/**\n * Log File Rolling:\n * \n * maximumFileSize:\n *   The approximate maximum size to allow log files to grow.\n *   If a log file is larger than this value after a log statement is appended,\n *   then the log file is rolled.\n * \n * rollingFrequency\n *   How often to roll the log file.\n *   The frequency is given as an NSTimeInterval, which is a double that specifies the interval in seconds.\n *   Once the log file gets to be this old, it is rolled.\n * \n * Both the maximumFileSize and the rollingFrequency are used to manage rolling.\n * Whichever occurs first will cause the log file to be rolled.\n * \n * For example:\n * The rollingFrequency is 24 hours,\n * but the log file surpasses the maximumFileSize after only 20 hours.\n * The log file will be rolled at that 20 hour mark.\n * A new log file will be created, and the 24 hour timer will be restarted.\n * \n * You may optionally disable rolling due to filesize by setting maximumFileSize to zero.\n * If you do so, rolling is based solely on rollingFrequency.\n * \n * You may optionally disable rolling due to time by setting rollingFrequency to zero (or any non-positive number).\n * If you do so, rolling is based solely on maximumFileSize.\n * \n * If you disable both maximumFileSize and rollingFrequency, then the log file won't ever be rolled.\n * This is strongly discouraged.\n**/\n@property (readwrite, assign) unsigned long long maximumFileSize;\n@property (readwrite, assign) NSTimeInterval rollingFrequency;\n\n/**\n * The DDLogFileManager instance can be used to retrieve the list of log files,\n * and configure the maximum number of archived log files to keep.\n * \n * @see DDLogFileManager.maximumNumberOfLogFiles\n**/\n@property (strong, nonatomic, readonly) id <DDLogFileManager> logFileManager;\n\n\n// You can optionally force the current log file to be rolled with this method.\n// CompletionBlock will be called on main queue.\n\n- (void)rollLogFileWithCompletionBlock:(void (^)())completionBlock;\n\n// Method is deprecated. Use rollLogFileWithCompletionBlock: method instead.\n\n- (void)rollLogFile __attribute((deprecated));\n\n// Inherited from DDAbstractLogger\n\n// - (id <DDLogFormatter>)logFormatter;\n// - (void)setLogFormatter:(id <DDLogFormatter>)formatter;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * DDLogFileInfo is a simple class that provides access to various file attributes.\n * It provides good performance as it only fetches the information if requested,\n * and it caches the information to prevent duplicate fetches.\n * \n * It was designed to provide quick snapshots of the current state of log files,\n * and to help sort log files in an array.\n * \n * This class does not monitor the files, or update it's cached attribute values if the file changes on disk.\n * This is not what the class was designed for.\n * \n * If you absolutely must get updated values,\n * you can invoke the reset method which will clear the cache.\n**/\n@interface DDLogFileInfo : NSObject\n{\n    __strong NSString *filePath;\n    __strong NSString *fileName;\n    \n    __strong NSDictionary *fileAttributes;\n    \n    __strong NSDate *creationDate;\n    __strong NSDate *modificationDate;\n    \n    unsigned long long fileSize;\n}\n\n@property (strong, nonatomic, readonly) NSString *filePath;\n@property (strong, nonatomic, readonly) NSString *fileName;\n\n@property (strong, nonatomic, readonly) NSDictionary *fileAttributes;\n\n@property (strong, nonatomic, readonly) NSDate *creationDate;\n@property (strong, nonatomic, readonly) NSDate *modificationDate;\n\n@property (nonatomic, readonly) unsigned long long fileSize;\n\n@property (nonatomic, readonly) NSTimeInterval age;\n\n@property (nonatomic, readwrite) BOOL isArchived;\n\n+ (instancetype)logFileWithPath:(NSString *)filePath;\n\n- (instancetype)initWithFilePath:(NSString *)filePath;\n\n- (void)reset;\n- (void)renameFile:(NSString *)newFileName;\n\n#if TARGET_IPHONE_SIMULATOR\n\n// So here's the situation.\n// Extended attributes are perfect for what we're trying to do here (marking files as archived).\n// This is exactly what extended attributes were designed for.\n// \n// But Apple screws us over on the simulator.\n// Everytime you build-and-go, they copy the application into a new folder on the hard drive,\n// and as part of the process they strip extended attributes from our log files.\n// Normally, a copy of a file preserves extended attributes.\n// So obviously Apple has gone to great lengths to piss us off.\n// \n// Thus we use a slightly different tactic for marking log files as archived in the simulator.\n// That way it \"just works\" and there's no confusion when testing.\n// \n// The difference in method names is indicative of the difference in functionality.\n// On the simulator we add an attribute by appending a filename extension.\n// \n// For example:\n// log-ABC123.txt -> log-ABC123.archived.txt\n\n- (BOOL)hasExtensionAttributeWithName:(NSString *)attrName;\n\n- (void)addExtensionAttributeWithName:(NSString *)attrName;\n- (void)removeExtensionAttributeWithName:(NSString *)attrName;\n\n#else\n\n// Normal use of extended attributes used everywhere else,\n// such as on Macs and on iPhone devices.\n\n- (BOOL)hasExtendedAttributeWithName:(NSString *)attrName;\n\n- (void)addExtendedAttributeWithName:(NSString *)attrName;\n- (void)removeExtendedAttributeWithName:(NSString *)attrName;\n\n#endif\n\n- (NSComparisonResult)reverseCompareByCreationDate:(DDLogFileInfo *)another;\n- (NSComparisonResult)reverseCompareByModificationDate:(DDLogFileInfo *)another;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDFileLogger.m",
    "content": "#import \"DDFileLogger.h\"\n\n#import <unistd.h>\n#import <sys/attr.h>\n#import <sys/xattr.h>\n#import <libkern/OSAtomic.h>\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n**/\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// We probably shouldn't be using DDLog() statements within the DDLog implementation.\n// But we still want to leave our log statements for any future debugging,\n// and to allow other developers to trace the implementation (which is a great learning tool).\n// \n// So we use primitive logging macros around NSLog.\n// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog.\n\n#define LOG_LEVEL 2\n\n#define NSLogError(frmt, ...)    do{ if(LOG_LEVEL >= 1) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogWarn(frmt, ...)     do{ if(LOG_LEVEL >= 2) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogInfo(frmt, ...)     do{ if(LOG_LEVEL >= 3) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogDebug(frmt, ...)    do{ if(LOG_LEVEL >= 4) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogVerbose(frmt, ...)  do{ if(LOG_LEVEL >= 5) NSLog((frmt), ##__VA_ARGS__); } while(0)\n\n@interface DDLogFileManagerDefault (PrivateAPI)\n\n- (void)deleteOldLogFiles;\n- (NSString *)defaultLogsDirectory;\n\n@end\n\n@interface DDFileLogger (PrivateAPI)\n\n- (void)rollLogFileNow;\n- (void)maybeRollLogFileDueToAge;\n- (void)maybeRollLogFileDueToSize;\n\n@end\n\n#if TARGET_OS_IPHONE\nBOOL doesAppRunInBackground(void);\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDLogFileManagerDefault\n\n@synthesize maximumNumberOfLogFiles;\n\n- (id)init\n{\n    return [self initWithLogsDirectory:nil];\n}\n\n- (instancetype)initWithLogsDirectory:(NSString *)aLogsDirectory\n{\n    if ((self = [super init]))\n    {\n        maximumNumberOfLogFiles = DEFAULT_LOG_MAX_NUM_LOG_FILES;\n        \n        if (aLogsDirectory)\n            _logsDirectory = [aLogsDirectory copy];\n        else\n            _logsDirectory = [[self defaultLogsDirectory] copy];\n        \n        NSKeyValueObservingOptions kvoOptions = NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew;\n        \n        [self addObserver:self forKeyPath:NSStringFromSelector(@selector(maximumNumberOfLogFiles)) options:kvoOptions context:nil];\n        \n        NSLogVerbose(@\"DDFileLogManagerDefault: logsDirectory:\\n%@\", [self logsDirectory]);\n        NSLogVerbose(@\"DDFileLogManagerDefault: sortedLogFileNames:\\n%@\", [self sortedLogFileNames]);\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    // try-catch because the observer might be removed or never added. In this case, removeObserver throws and exception\n    @try {\n        [self removeObserver:self forKeyPath:NSStringFromSelector(@selector(maximumNumberOfLogFiles))];\n    }\n    @catch (NSException *exception) {\n        \n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)observeValueForKeyPath:(NSString *)keyPath\n                      ofObject:(id)object\n                        change:(NSDictionary *)change\n                       context:(void *)context\n{\n    NSNumber *old = [change objectForKey:NSKeyValueChangeOldKey];\n    NSNumber *new = [change objectForKey:NSKeyValueChangeNewKey];\n    \n    if ([old isEqual:new])\n    {\n        // No change in value - don't bother with any processing.\n        return;\n    }\n    \n    if ([keyPath isEqualToString:NSStringFromSelector(@selector(maximumNumberOfLogFiles))])\n    {\n        NSLogInfo(@\"DDFileLogManagerDefault: Responding to configuration change: maximumNumberOfLogFiles\");\n        \n        dispatch_async([DDLog loggingQueue], ^{ @autoreleasepool {\n            \n            [self deleteOldLogFiles];\n        }});\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark File Deleting\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Deletes archived log files that exceed the maximumNumberOfLogFiles configuration value.\n**/\n- (void)deleteOldLogFiles\n{\n    NSLogVerbose(@\"DDLogFileManagerDefault: deleteOldLogFiles\");\n    \n    NSUInteger maxNumLogFiles = self.maximumNumberOfLogFiles;\n    if (maxNumLogFiles == 0)\n    {\n        // Unlimited - don't delete any log files\n        return;\n    }\n    \n    NSArray *sortedLogFileInfos = [self sortedLogFileInfos];\n    \n    // Do we consider the first file?\n    // We are only supposed to be deleting archived files.\n    // In most cases, the first file is likely the log file that is currently being written to.\n    // So in most cases, we do not want to consider this file for deletion.\n    \n    NSUInteger count = [sortedLogFileInfos count];\n    BOOL excludeFirstFile = NO;\n    \n    if (count > 0)\n    {\n        DDLogFileInfo *logFileInfo = [sortedLogFileInfos objectAtIndex:0];\n        \n        if (!logFileInfo.isArchived)\n        {\n            excludeFirstFile = YES;\n        }\n    }\n    \n    NSArray *sortedArchivedLogFileInfos;\n    if (excludeFirstFile)\n    {\n        count--;\n        sortedArchivedLogFileInfos = [sortedLogFileInfos subarrayWithRange:NSMakeRange(1, count)];\n    }\n    else\n    {\n        sortedArchivedLogFileInfos = sortedLogFileInfos;\n    }\n    \n    NSUInteger i;\n    for (i = maxNumLogFiles; i < count; i++)\n    {\n        DDLogFileInfo *logFileInfo = [sortedArchivedLogFileInfos objectAtIndex:i];\n        \n        NSLogInfo(@\"DDLogFileManagerDefault: Deleting file: %@\", logFileInfo.fileName);\n        \n        [[NSFileManager defaultManager] removeItemAtPath:logFileInfo.filePath error:nil];\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Log Files\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the path to the default logs directory.\n * If the logs directory doesn't exist, this method automatically creates it.\n**/\n- (NSString *)defaultLogsDirectory\n{\n#if TARGET_OS_IPHONE\n    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);\n    NSString *baseDir = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;\n    NSString *logsDirectory = [baseDir stringByAppendingPathComponent:@\"Logs\"];\n    \n#else\n    NSString *appName = [[NSProcessInfo processInfo] processName];\n    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);\n    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : NSTemporaryDirectory();\n    NSString *logsDirectory = [[basePath stringByAppendingPathComponent:@\"Logs\"] stringByAppendingPathComponent:appName];\n\n#endif\n\n    return logsDirectory;\n}\n\n- (NSString *)logsDirectory\n{\n    // We could do this check once, during initalization, and not bother again.\n    // But this way the code continues to work if the directory gets deleted while the code is running.\n    \n    if (![[NSFileManager defaultManager] fileExistsAtPath:_logsDirectory])\n    {\n        NSError *err = nil;\n        if (![[NSFileManager defaultManager] createDirectoryAtPath:_logsDirectory\n                                       withIntermediateDirectories:YES attributes:nil error:&err])\n        {\n            NSLogError(@\"DDFileLogManagerDefault: Error creating logsDirectory: %@\", err);\n        }\n    }\n    \n    return _logsDirectory;\n}\n\n/**\n * A log file has a name like \"<app name> <date> <time>.log\".\n * Example: MobileSafari 2013-12-03 17-14.log\n**/\n- (BOOL)isLogFile:(NSString *)fileName\n{\n    NSString *appName = [self applicationName];\n\n    BOOL hasProperPrefix = [fileName hasPrefix:appName];\n    BOOL hasProperSuffix = [fileName hasSuffix:@\".log\"];\n    BOOL hasProperDate = NO;\n\n    if (hasProperPrefix && hasProperSuffix)\n    {\n        NSUInteger lengthOfMiddle = fileName.length - appName.length - @\".log\".length;\n\n        // Date string should have at least 16 characters - \" 2013-12-03 17-14\"\n        if (lengthOfMiddle >= 17)\n        {\n            NSRange range = NSMakeRange(appName.length, lengthOfMiddle);\n\n            NSString *middle = [fileName substringWithRange:range];\n            NSArray *components = [middle componentsSeparatedByString:@\" \"];\n\n            // When creating logfile if there is existing file with the same name, we append attemp number at the end.\n            // Thats why here we can have three or four components. For details see generateLogFileNameWithAttempt: method.\n            //\n            // Components:\n            //     \"\", \"2013-12-03\", \"17-14\"\n            // or\n            //     \"\", \"2013-12-03\", \"17-14\", \"1\"\n            if (components.count == 3 || components.count == 4)\n            {\n                NSString *dateString = [NSString stringWithFormat:@\"%@ %@\", components[1], components[2]];\n                NSDateFormatter *dateFormatter = [self logFileDateFormatter];\n\n                NSDate *date = [dateFormatter dateFromString:dateString];\n\n                if (date)\n                {\n                    hasProperDate = YES;\n                }\n            }\n        }\n    }\n\n    return (hasProperPrefix && hasProperDate && hasProperSuffix);\n}\n\n- (NSDateFormatter *)logFileDateFormatter\n{\n    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];\n    [dateFormatter setDateFormat:@\"yyyy'-'MM'-'dd' 'HH'-'mm'\"];\n    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];\n\n    return dateFormatter;\n}\n\n/**\n * Returns an array of NSString objects,\n * each of which is the filePath to an existing log file on disk.\n**/\n- (NSArray *)unsortedLogFilePaths\n{\n    NSString *logsDirectory = [self logsDirectory];\n    NSArray *fileNames = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:logsDirectory error:nil];\n    \n    NSMutableArray *unsortedLogFilePaths = [NSMutableArray arrayWithCapacity:[fileNames count]];\n    \n    for (NSString *fileName in fileNames)\n    {\n        // Filter out any files that aren't log files. (Just for extra safety)\n        \n        if ([self isLogFile:fileName])\n        {\n            NSString *filePath = [logsDirectory stringByAppendingPathComponent:fileName];\n            \n            [unsortedLogFilePaths addObject:filePath];\n        }\n    }\n    \n    return unsortedLogFilePaths;\n}\n\n/**\n * Returns an array of NSString objects,\n * each of which is the fileName of an existing log file on disk.\n**/\n- (NSArray *)unsortedLogFileNames\n{\n    NSArray *unsortedLogFilePaths = [self unsortedLogFilePaths];\n    \n    NSMutableArray *unsortedLogFileNames = [NSMutableArray arrayWithCapacity:[unsortedLogFilePaths count]];\n    \n    for (NSString *filePath in unsortedLogFilePaths)\n    {\n        [unsortedLogFileNames addObject:[filePath lastPathComponent]];\n    }\n    \n    return unsortedLogFileNames;\n}\n\n/**\n * Returns an array of DDLogFileInfo objects,\n * each representing an existing log file on disk,\n * and containing important information about the log file such as it's modification date and size.\n**/\n- (NSArray *)unsortedLogFileInfos\n{\n    NSArray *unsortedLogFilePaths = [self unsortedLogFilePaths];\n    \n    NSMutableArray *unsortedLogFileInfos = [NSMutableArray arrayWithCapacity:[unsortedLogFilePaths count]];\n    \n    for (NSString *filePath in unsortedLogFilePaths)\n    {\n        DDLogFileInfo *logFileInfo = [[DDLogFileInfo alloc] initWithFilePath:filePath];\n        \n        [unsortedLogFileInfos addObject:logFileInfo];\n    }\n    \n    return unsortedLogFileInfos;\n}\n\n/**\n * Just like the unsortedLogFilePaths method, but sorts the array.\n * The items in the array are sorted by creation date.\n * The first item in the array will be the most recently created log file.\n**/\n- (NSArray *)sortedLogFilePaths\n{\n    NSArray *sortedLogFileInfos = [self sortedLogFileInfos];\n    \n    NSMutableArray *sortedLogFilePaths = [NSMutableArray arrayWithCapacity:[sortedLogFileInfos count]];\n    \n    for (DDLogFileInfo *logFileInfo in sortedLogFileInfos)\n    {\n        [sortedLogFilePaths addObject:[logFileInfo filePath]];\n    }\n    \n    return sortedLogFilePaths;\n}\n\n/**\n * Just like the unsortedLogFileNames method, but sorts the array.\n * The items in the array are sorted by creation date.\n * The first item in the array will be the most recently created log file.\n**/\n- (NSArray *)sortedLogFileNames\n{\n    NSArray *sortedLogFileInfos = [self sortedLogFileInfos];\n    \n    NSMutableArray *sortedLogFileNames = [NSMutableArray arrayWithCapacity:[sortedLogFileInfos count]];\n    \n    for (DDLogFileInfo *logFileInfo in sortedLogFileInfos)\n    {\n        [sortedLogFileNames addObject:[logFileInfo fileName]];\n    }\n    \n    return sortedLogFileNames;\n}\n\n/**\n * Just like the unsortedLogFileInfos method, but sorts the array.\n * The items in the array are sorted by creation date.\n * The first item in the array will be the most recently created log file.\n**/\n- (NSArray *)sortedLogFileInfos\n{\n    return [[self unsortedLogFileInfos] sortedArrayUsingSelector:@selector(reverseCompareByCreationDate:)];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Creation\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Generates log file name with format \"<app name> <date> <time>.log\"\n * Example: MobileSafari 2013-12-03 17-14.log\n**/\n- (NSString *)generateLogFileNameWithAttempt:(NSUInteger)attempt\n{\n    NSString *appName = [self applicationName];\n\n    NSDateFormatter *dateFormatter = [self logFileDateFormatter];\n    NSString *formattedDate = [dateFormatter stringFromDate:[NSDate date]];\n\n    if (attempt > 1)\n    {\n        return [NSString stringWithFormat:@\"%@ %@ %lu.log\", appName, formattedDate, (unsigned long)attempt];\n    }\n    else\n    {\n        return [NSString stringWithFormat:@\"%@ %@.log\", appName, formattedDate];\n    }\n}\n\n/**\n * Generates a new unique log file path, and creates the corresponding log file.\n**/\n- (NSString *)createNewLogFile\n{\n    // Generate a random log file name, and create the file (if there isn't a collision)\n    \n    NSString *logsDirectory = [self logsDirectory];\n    NSUInteger attempt = 1;\n    do\n    {\n        NSString *fileName = [self generateLogFileNameWithAttempt:attempt];\n        \n        NSString *filePath = [logsDirectory stringByAppendingPathComponent:fileName];\n        \n        if (![[NSFileManager defaultManager] fileExistsAtPath:filePath])\n        {\n            NSLogVerbose(@\"DDLogFileManagerDefault: Creating new log file: %@\", fileName);\n\n            NSDictionary *attributes = nil;\n\n        #if TARGET_OS_IPHONE\n             // When creating log file on iOS we're setting NSFileProtectionKey attribute to NSFileProtectionCompleteUnlessOpen.\n             // \n             // But in case if app is able to launch from background we need to have an ability to open log file any time we\n             // want (even if device is locked). Thats why that attribute have to be changed to\n             // NSFileProtectionCompleteUntilFirstUserAuthentication.\n\n            NSString *key = doesAppRunInBackground() ?\n                NSFileProtectionCompleteUntilFirstUserAuthentication : NSFileProtectionCompleteUnlessOpen;\n\n            attributes = @{ NSFileProtectionKey : key };\n        #endif\n            \n            [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:attributes];\n            \n            // Since we just created a new log file, we may need to delete some old log files\n            [self deleteOldLogFiles];\n            \n            return filePath;\n        } else {\n            attempt++;\n        }\n        \n    } while(YES);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Utility\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSString *)applicationName\n{\n    static NSString *_appName;\n    static dispatch_once_t onceToken;\n\n    dispatch_once(&onceToken, ^{\n    #if TARGET_OS_IPHONE\n        _appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@\"CFBundleDisplayName\"];\n\n        if (! _appName)\n        {\n            _appName = [[NSProcessInfo processInfo] processName];\n        }\n    #else\n        _appName = [[NSProcessInfo processInfo] processName];\n    #endif\n\n        if (! _appName)\n        {\n            _appName = @\"\";\n        }\n    });\n\n    return _appName;\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDLogFileFormatterDefault\n\n- (id)init\n{\n    return [self initWithDateFormatter:nil];\n}\n\n- (instancetype)initWithDateFormatter:(NSDateFormatter *)aDateFormatter\n{\n    if ((self = [super init]))\n    {\n        if (aDateFormatter)\n        {\n            dateFormatter = aDateFormatter;\n        }\n        else\n        {\n            dateFormatter = [[NSDateFormatter alloc] init];\n            [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4]; // 10.4+ style\n            [dateFormatter setDateFormat:@\"yyyy/MM/dd HH:mm:ss:SSS\"];\n        }\n    }\n    return self;\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage\n{\n    NSString *dateAndTime = [dateFormatter stringFromDate:(logMessage->timestamp)];\n    \n    return [NSString stringWithFormat:@\"%@  %@\", dateAndTime, logMessage->logMsg];\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDFileLogger\n\n- (id)init\n{\n    DDLogFileManagerDefault *defaultLogFileManager = [[DDLogFileManagerDefault alloc] init];\n    \n    return [self initWithLogFileManager:defaultLogFileManager];\n}\n\n- (instancetype)initWithLogFileManager:(id <DDLogFileManager>)aLogFileManager\n{\n    if ((self = [super init]))\n    {\n        maximumFileSize = DEFAULT_LOG_MAX_FILE_SIZE;\n        rollingFrequency = DEFAULT_LOG_ROLLING_FREQUENCY;\n        \n        logFileManager = aLogFileManager;\n        \n        formatter = [[DDLogFileFormatterDefault alloc] init];\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    [currentLogFileHandle synchronizeFile];\n    [currentLogFileHandle closeFile];\n\n    if (currentLogFileVnode) {\n        dispatch_source_cancel(currentLogFileVnode);\n        currentLogFileVnode = NULL;\n    }\n\n    if (rollingTimer)\n    {\n        dispatch_source_cancel(rollingTimer);\n        rollingTimer = NULL;\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Properties\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@synthesize logFileManager;\n\n- (unsigned long long)maximumFileSize\n{\n    __block unsigned long long result;\n    \n    dispatch_block_t block = ^{\n        result = maximumFileSize;\n    };\n    \n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation MUST access the maximumFileSize variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(loggerQueue, block);\n    });\n    \n    return result;\n}\n\n- (void)setMaximumFileSize:(unsigned long long)newMaximumFileSize\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        maximumFileSize = newMaximumFileSize;\n        [self maybeRollLogFileDueToSize];\n        \n    }};\n    \n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation MUST access the maximumFileSize variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    dispatch_async(globalLoggingQueue, ^{\n        dispatch_async(loggerQueue, block);\n    });\n}\n\n- (NSTimeInterval)rollingFrequency\n{\n    __block NSTimeInterval result;\n    \n    dispatch_block_t block = ^{\n        result = rollingFrequency;\n    };\n    \n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation should access the rollingFrequency variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(loggerQueue, block);\n    });\n    \n    return result;\n}\n\n- (void)setRollingFrequency:(NSTimeInterval)newRollingFrequency\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        rollingFrequency = newRollingFrequency;\n        [self maybeRollLogFileDueToAge];\n    }};\n    \n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation should access the rollingFrequency variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    dispatch_async(globalLoggingQueue, ^{\n        dispatch_async(loggerQueue, block);\n    });\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark File Rolling\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)scheduleTimerToRollLogFileDueToAge\n{\n    if (rollingTimer)\n    {\n        dispatch_source_cancel(rollingTimer);\n        rollingTimer = NULL;\n    }\n    \n    if (currentLogFileInfo == nil || rollingFrequency <= 0.0)\n    {\n        return;\n    }\n    \n    NSDate *logFileCreationDate = [currentLogFileInfo creationDate];\n    \n    NSTimeInterval ti = [logFileCreationDate timeIntervalSinceReferenceDate];\n    ti += rollingFrequency;\n    \n    NSDate *logFileRollingDate = [NSDate dateWithTimeIntervalSinceReferenceDate:ti];\n    \n    NSLogVerbose(@\"DDFileLogger: scheduleTimerToRollLogFileDueToAge\");\n    \n    NSLogVerbose(@\"DDFileLogger: logFileCreationDate: %@\", logFileCreationDate);\n    NSLogVerbose(@\"DDFileLogger: logFileRollingDate : %@\", logFileRollingDate);\n    \n    rollingTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, loggerQueue);\n    \n    dispatch_source_set_event_handler(rollingTimer, ^{ @autoreleasepool {\n        \n        [self maybeRollLogFileDueToAge];\n        \n    }});\n    \n    #if !OS_OBJECT_USE_OBJC\n    dispatch_source_t theRollingTimer = rollingTimer;\n    dispatch_source_set_cancel_handler(rollingTimer, ^{\n        dispatch_release(theRollingTimer);\n    });\n    #endif\n    \n    uint64_t delay = (uint64_t)([logFileRollingDate timeIntervalSinceNow] * NSEC_PER_SEC);\n    dispatch_time_t fireTime = dispatch_time(DISPATCH_TIME_NOW, delay);\n    \n    dispatch_source_set_timer(rollingTimer, fireTime, DISPATCH_TIME_FOREVER, 1.0);\n    dispatch_resume(rollingTimer);\n}\n\n\n- (void)rollLogFile\n{\n    [self rollLogFileWithCompletionBlock:nil];\n}\n\n- (void)rollLogFileWithCompletionBlock:(void (^)())completionBlock\n{\n    // This method is public.\n    // We need to execute the rolling on our logging thread/queue.\n    \n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        [self rollLogFileNow];\n\n        if (completionBlock)\n        {\n            dispatch_async(dispatch_get_main_queue(), ^{\n                completionBlock();\n            });\n        }\n    }};\n    \n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (void)rollLogFileNow\n{\n    NSLogVerbose(@\"DDFileLogger: rollLogFileNow\");\n    \n    \n    if (currentLogFileHandle == nil) return;\n    \n    [currentLogFileHandle synchronizeFile];\n    [currentLogFileHandle closeFile];\n    currentLogFileHandle = nil;\n    \n    currentLogFileInfo.isArchived = YES;\n    \n    if ([logFileManager respondsToSelector:@selector(didRollAndArchiveLogFile:)])\n    {\n        [logFileManager didRollAndArchiveLogFile:(currentLogFileInfo.filePath)];\n    }\n    \n    currentLogFileInfo = nil;\n    \n    if (currentLogFileVnode) {\n        dispatch_source_cancel(currentLogFileVnode);\n        currentLogFileVnode = NULL;\n    }\n\n    if (rollingTimer)\n    {\n        dispatch_source_cancel(rollingTimer);\n        rollingTimer = NULL;\n    }\n}\n\n- (void)maybeRollLogFileDueToAge\n{\n    if (rollingFrequency > 0.0 && currentLogFileInfo.age >= rollingFrequency)\n    {\n        NSLogVerbose(@\"DDFileLogger: Rolling log file due to age...\");\n        \n        [self rollLogFileNow];\n    }\n    else\n    {\n        [self scheduleTimerToRollLogFileDueToAge];\n    }\n}\n\n- (void)maybeRollLogFileDueToSize\n{\n    // This method is called from logMessage.\n    // Keep it FAST.\n    \n    // Note: Use direct access to maximumFileSize variable.\n    // We specifically wrote our own getter/setter method to allow us to do this (for performance reasons).\n    \n    if (maximumFileSize > 0)\n    {\n        unsigned long long fileSize = [currentLogFileHandle offsetInFile];\n        \n        if (fileSize >= maximumFileSize)\n        {\n            NSLogVerbose(@\"DDFileLogger: Rolling log file due to size (%qu)...\", fileSize);\n            \n            [self rollLogFileNow];\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark File Logging\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the log file that should be used.\n * If there is an existing log file that is suitable,\n * within the constraints of maximumFileSize and rollingFrequency, then it is returned.\n * \n * Otherwise a new file is created and returned.\n**/\n- (DDLogFileInfo *)currentLogFileInfo\n{\n    if (currentLogFileInfo == nil)\n    {\n        NSArray *sortedLogFileInfos = [logFileManager sortedLogFileInfos];\n        \n        if ([sortedLogFileInfos count] > 0)\n        {\n            DDLogFileInfo *mostRecentLogFileInfo = [sortedLogFileInfos objectAtIndex:0];\n            \n            BOOL useExistingLogFile = YES;\n            BOOL shouldArchiveMostRecent = NO;\n            \n            if (mostRecentLogFileInfo.isArchived)\n            {\n                useExistingLogFile = NO;\n                shouldArchiveMostRecent = NO;\n            }\n            else if (maximumFileSize > 0 && mostRecentLogFileInfo.fileSize >= maximumFileSize)\n            {\n                useExistingLogFile = NO;\n                shouldArchiveMostRecent = YES;\n            }\n            else if (rollingFrequency > 0.0 && mostRecentLogFileInfo.age >= rollingFrequency)\n            {\n                useExistingLogFile = NO;\n                shouldArchiveMostRecent = YES;\n            }\n\n\n        #if TARGET_OS_IPHONE\n            // When creating log file on iOS we're setting NSFileProtectionKey attribute to NSFileProtectionCompleteUnlessOpen.\n            // \n            // But in case if app is able to launch from background we need to have an ability to open log file any time we\n            // want (even if device is locked). Thats why that attribute have to be changed to\n            // NSFileProtectionCompleteUntilFirstUserAuthentication.\n            //\n            // If previous log was created when app wasn't running in background, but now it is - we archive it and create\n            // a new one.\n\n            if (useExistingLogFile && doesAppRunInBackground()) {\n                NSString *key = mostRecentLogFileInfo.fileAttributes[NSFileProtectionKey];\n\n                if (! [key isEqualToString:NSFileProtectionCompleteUntilFirstUserAuthentication]) {\n                    useExistingLogFile = NO;\n                    shouldArchiveMostRecent = YES;\n                }\n            }\n        #endif\n            \n            if (useExistingLogFile)\n            {\n                NSLogVerbose(@\"DDFileLogger: Resuming logging with file %@\", mostRecentLogFileInfo.fileName);\n                \n                currentLogFileInfo = mostRecentLogFileInfo;\n            }\n            else\n            {\n                if (shouldArchiveMostRecent)\n                {\n                    mostRecentLogFileInfo.isArchived = YES;\n                    \n                    if ([logFileManager respondsToSelector:@selector(didArchiveLogFile:)])\n                    {\n                        [logFileManager didArchiveLogFile:(mostRecentLogFileInfo.filePath)];\n                    }\n                }\n            }\n        }\n        \n        if (currentLogFileInfo == nil)\n        {\n            NSString *currentLogFilePath = [logFileManager createNewLogFile];\n            \n            currentLogFileInfo = [[DDLogFileInfo alloc] initWithFilePath:currentLogFilePath];\n        }\n    }\n    \n    return currentLogFileInfo;\n}\n\n- (NSFileHandle *)currentLogFileHandle\n{\n    if (currentLogFileHandle == nil)\n    {\n        NSString *logFilePath = [[self currentLogFileInfo] filePath];\n        \n        currentLogFileHandle = [NSFileHandle fileHandleForWritingAtPath:logFilePath];\n        [currentLogFileHandle seekToEndOfFile];\n        \n        if (currentLogFileHandle)\n        {\n            [self scheduleTimerToRollLogFileDueToAge];\n\n            // Here we are monitoring the log file. In case if it would be deleted ormoved\n            // somewhere we want to roll it and use a new one.\n            currentLogFileVnode = dispatch_source_create(\n                DISPATCH_SOURCE_TYPE_VNODE,\n                [currentLogFileHandle fileDescriptor],\n                DISPATCH_VNODE_DELETE | DISPATCH_VNODE_RENAME,\n                loggerQueue\n            );\n\n            dispatch_source_set_event_handler(currentLogFileVnode, ^{ @autoreleasepool {\n                NSLogInfo(@\"DDFileLogger: Current logfile was moved. Rolling it and creating a new one\");\n                [self rollLogFileNow];\n            }});\n\n            #if !OS_OBJECT_USE_OBJC\n            dispatch_source_t vnode = currentLogFileVnode;\n            dispatch_source_set_cancel_handler(currentLogFileVnode, ^{\n                dispatch_release(vnode);\n            });\n            #endif\n\n            dispatch_resume(currentLogFileVnode);\n        }\n    }\n    \n    return currentLogFileHandle;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark DDLogger Protocol\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nstatic int exception_count = 0;\n- (void)logMessage:(DDLogMessage *)logMessage\n{\n    NSString *logMsg = logMessage->logMsg;\n    \n    if (formatter)\n    {\n        logMsg = [formatter formatLogMessage:logMessage];\n    }\n    \n    if (logMsg)\n    {\n        if (![logMsg hasSuffix:@\"\\n\"])\n        {\n            logMsg = [logMsg stringByAppendingString:@\"\\n\"];\n        }\n        \n        NSData *logData = [logMsg dataUsingEncoding:NSUTF8StringEncoding];\n\n        @try {\n            [[self currentLogFileHandle] writeData:logData];\n\n            [self maybeRollLogFileDueToSize];\n        }\n        @catch (NSException *exception) {\n            exception_count++;\n            if (exception_count <= 10) {\n                NSLogError(@\"DDFileLogger.logMessage: %@\", exception);\n                if (exception_count == 10)\n                    NSLogError(@\"DDFileLogger.logMessage: Too many exceptions -- will not log any more of them.\");\n            }\n        }\n    }\n}\n\n- (void)willRemoveLogger\n{\n    // If you override me be sure to invoke [super willRemoveLogger];\n    \n    [self rollLogFileNow];\n}\n\n- (NSString *)loggerName\n{\n    return @\"cocoa.lumberjack.fileLogger\";\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if TARGET_IPHONE_SIMULATOR\n  #define XATTR_ARCHIVED_NAME  @\"archived\"\n#else\n  #define XATTR_ARCHIVED_NAME  @\"lumberjack.log.archived\"\n#endif\n\n@implementation DDLogFileInfo\n\n@synthesize filePath;\n\n@dynamic fileName;\n@dynamic fileAttributes;\n@dynamic creationDate;\n@dynamic modificationDate;\n@dynamic fileSize;\n@dynamic age;\n\n@dynamic isArchived;\n\n\n#pragma mark Lifecycle\n\n+ (instancetype)logFileWithPath:(NSString *)aFilePath\n{\n    return [[self alloc] initWithFilePath:aFilePath];\n}\n\n- (instancetype)initWithFilePath:(NSString *)aFilePath\n{\n    if ((self = [super init]))\n    {\n        filePath = [aFilePath copy];\n    }\n    return self;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Standard Info\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSDictionary *)fileAttributes\n{\n    if (fileAttributes == nil)\n    {\n        fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil];\n    }\n    return fileAttributes;\n}\n\n- (NSString *)fileName\n{\n    if (fileName == nil)\n    {\n        fileName = [filePath lastPathComponent];\n    }\n    return fileName;\n}\n\n- (NSDate *)modificationDate\n{\n    if (modificationDate == nil)\n    {\n        modificationDate = [[self fileAttributes] objectForKey:NSFileModificationDate];\n    }\n    \n    return modificationDate;\n}\n\n- (NSDate *)creationDate\n{\n    if (creationDate == nil)\n    {\n        creationDate = [[self fileAttributes] objectForKey:NSFileCreationDate];\n    }\n    return creationDate;\n}\n\n- (unsigned long long)fileSize\n{\n    if (fileSize == 0)\n    {\n        fileSize = [[[self fileAttributes] objectForKey:NSFileSize] unsignedLongLongValue];\n    }\n    \n    return fileSize;\n}\n\n- (NSTimeInterval)age\n{\n    return [[self creationDate] timeIntervalSinceNow] * -1.0;\n}\n\n- (NSString *)description\n{\n    return [@{@\"filePath\": self.filePath ?: @\"\",\n              @\"fileName\": self.fileName ?: @\"\",\n              @\"fileAttributes\": self.fileAttributes ?: @\"\",\n              @\"creationDate\": self.creationDate ?: @\"\",\n              @\"modificationDate\": self.modificationDate ?: @\"\",\n              @\"fileSize\": @(self.fileSize),\n              @\"age\": @(self.age),\n              @\"isArchived\": @(self.isArchived)} description];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Archiving\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)isArchived\n{\n    \n#if TARGET_IPHONE_SIMULATOR\n    \n    // Extended attributes don't work properly on the simulator.\n    // So we have to use a less attractive alternative.\n    // See full explanation in the header file.\n    \n    return [self hasExtensionAttributeWithName:XATTR_ARCHIVED_NAME];\n    \n#else\n    \n    return [self hasExtendedAttributeWithName:XATTR_ARCHIVED_NAME];\n    \n#endif\n}\n\n- (void)setIsArchived:(BOOL)flag\n{\n    \n#if TARGET_IPHONE_SIMULATOR\n    \n    // Extended attributes don't work properly on the simulator.\n    // So we have to use a less attractive alternative.\n    // See full explanation in the header file.\n    \n    if (flag)\n        [self addExtensionAttributeWithName:XATTR_ARCHIVED_NAME];\n    else\n        [self removeExtensionAttributeWithName:XATTR_ARCHIVED_NAME];\n    \n#else\n    \n    if (flag)\n        [self addExtendedAttributeWithName:XATTR_ARCHIVED_NAME];\n    else\n        [self removeExtendedAttributeWithName:XATTR_ARCHIVED_NAME];\n    \n#endif\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Changes\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)reset\n{\n    fileName = nil;\n    fileAttributes = nil;\n    creationDate = nil;\n    modificationDate = nil;\n}\n\n- (void)renameFile:(NSString *)newFileName\n{\n    // This method is only used on the iPhone simulator, where normal extended attributes are broken.\n    // See full explanation in the header file.\n    \n    if (![newFileName isEqualToString:[self fileName]])\n    {\n        NSString *fileDir = [filePath stringByDeletingLastPathComponent];\n        \n        NSString *newFilePath = [fileDir stringByAppendingPathComponent:newFileName];\n        \n        NSLogVerbose(@\"DDLogFileInfo: Renaming file: '%@' -> '%@'\", self.fileName, newFileName);\n        \n        NSError *error = nil;\n        if (![[NSFileManager defaultManager] moveItemAtPath:filePath toPath:newFilePath error:&error])\n        {\n            NSLogError(@\"DDLogFileInfo: Error renaming file (%@): %@\", self.fileName, error);\n        }\n        \n        filePath = newFilePath;\n        [self reset];\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Attribute Management\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if TARGET_IPHONE_SIMULATOR\n\n// Extended attributes don't work properly on the simulator.\n// So we have to use a less attractive alternative.\n// See full explanation in the header file.\n\n- (BOOL)hasExtensionAttributeWithName:(NSString *)attrName\n{\n    // This method is only used on the iPhone simulator, where normal extended attributes are broken.\n    // See full explanation in the header file.\n    \n    // Split the file name into components.\n    // \n    // log-ABC123.archived.uploaded.txt\n    // \n    // 0. log-ABC123\n    // 1. archived\n    // 2. uploaded\n    // 3. txt\n    // \n    // So we want to search for the attrName in the components (ignoring the first and last array indexes).\n    \n    NSArray *components = [[self fileName] componentsSeparatedByString:@\".\"];\n    \n    // Watch out for file names without an extension\n    \n    NSUInteger count = [components count];\n    NSUInteger max = (count >= 2) ? count-1 : count;\n    \n    NSUInteger i;\n    for (i = 1; i < max; i++)\n    {\n        NSString *attr = [components objectAtIndex:i];\n        \n        if ([attrName isEqualToString:attr])\n        {\n            return YES;\n        }\n    }\n    \n    return NO;\n}\n\n- (void)addExtensionAttributeWithName:(NSString *)attrName\n{\n    // This method is only used on the iPhone simulator, where normal extended attributes are broken.\n    // See full explanation in the header file.\n    \n    if ([attrName length] == 0) return;\n    \n    // Example:\n    // attrName = \"archived\"\n    // \n    // \"log-ABC123.txt\" -> \"log-ABC123.archived.txt\"\n    \n    NSArray *components = [[self fileName] componentsSeparatedByString:@\".\"];\n    \n    NSUInteger count = [components count];\n    \n    NSUInteger estimatedNewLength = [[self fileName] length] + [attrName length] + 1;\n    NSMutableString *newFileName = [NSMutableString stringWithCapacity:estimatedNewLength];\n    \n    if (count > 0)\n    {\n        [newFileName appendString:[components objectAtIndex:0]];\n    }\n    \n    NSString *lastExt = @\"\";\n    \n    NSUInteger i;\n    for (i = 1; i < count; i++)\n    {\n        NSString *attr = [components objectAtIndex:i];\n        if ([attr length] == 0)\n        {\n            continue;\n        }\n        \n        if ([attrName isEqualToString:attr])\n        {\n            // Extension attribute already exists in file name\n            return;\n        }\n        \n        if ([lastExt length] > 0)\n        {\n            [newFileName appendFormat:@\".%@\", lastExt];\n        }\n        \n        lastExt = attr;\n    }\n    \n    [newFileName appendFormat:@\".%@\", attrName];\n    \n    if ([lastExt length] > 0)\n    {\n        [newFileName appendFormat:@\".%@\", lastExt];\n    }\n    \n    [self renameFile:newFileName];\n}\n\n- (void)removeExtensionAttributeWithName:(NSString *)attrName\n{\n    // This method is only used on the iPhone simulator, where normal extended attributes are broken.\n    // See full explanation in the header file.\n    \n    if ([attrName length] == 0) return;\n    \n    // Example:\n    // attrName = \"archived\"\n    // \n    // \"log-ABC123.archived.txt\" -> \"log-ABC123.txt\"\n    \n    NSArray *components = [[self fileName] componentsSeparatedByString:@\".\"];\n    \n    NSUInteger count = [components count];\n    \n    NSUInteger estimatedNewLength = [[self fileName] length];\n    NSMutableString *newFileName = [NSMutableString stringWithCapacity:estimatedNewLength];\n    \n    if (count > 0)\n    {\n        [newFileName appendString:[components objectAtIndex:0]];\n    }\n    \n    BOOL found = NO;\n    \n    NSUInteger i;\n    for (i = 1; i < count; i++)\n    {\n        NSString *attr = [components objectAtIndex:i];\n        \n        if ([attrName isEqualToString:attr])\n        {\n            found = YES;\n        }\n        else\n        {\n            [newFileName appendFormat:@\".%@\", attr];\n        }\n    }\n    \n    if (found)\n    {\n        [self renameFile:newFileName];\n    }\n}\n\n#else\n\n- (BOOL)hasExtendedAttributeWithName:(NSString *)attrName\n{\n    const char *path = [filePath UTF8String];\n    const char *name = [attrName UTF8String];\n    \n    ssize_t result = getxattr(path, name, NULL, 0, 0, 0);\n    \n    return (result >= 0);\n}\n\n- (void)addExtendedAttributeWithName:(NSString *)attrName\n{\n    const char *path = [filePath UTF8String];\n    const char *name = [attrName UTF8String];\n    \n    int result = setxattr(path, name, NULL, 0, 0, 0);\n    \n    if (result < 0)\n    {\n        NSLogError(@\"DDLogFileInfo: setxattr(%@, %@): error = %i\", attrName, self.fileName, result);\n    }\n}\n\n- (void)removeExtendedAttributeWithName:(NSString *)attrName\n{\n    const char *path = [filePath UTF8String];\n    const char *name = [attrName UTF8String];\n    \n    int result = removexattr(path, name, 0);\n    \n    if (result < 0 && errno != ENOATTR)\n    {\n        NSLogError(@\"DDLogFileInfo: removexattr(%@, %@): error = %i\", attrName, self.fileName, result);\n    }\n}\n\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Comparisons\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)isEqual:(id)object\n{\n    if ([object isKindOfClass:[self class]])\n    {\n        DDLogFileInfo *another = (DDLogFileInfo *)object;\n        \n        return [filePath isEqualToString:[another filePath]];\n    }\n    \n    return NO;\n}\n\n- (NSComparisonResult)reverseCompareByCreationDate:(DDLogFileInfo *)another\n{\n    NSDate *us = [self creationDate];\n    NSDate *them = [another creationDate];\n    \n    NSComparisonResult result = [us compare:them];\n    \n    if (result == NSOrderedAscending)\n        return NSOrderedDescending;\n    \n    if (result == NSOrderedDescending)\n        return NSOrderedAscending;\n    \n    return NSOrderedSame;\n}\n\n- (NSComparisonResult)reverseCompareByModificationDate:(DDLogFileInfo *)another\n{\n    NSDate *us = [self modificationDate];\n    NSDate *them = [another modificationDate];\n    \n    NSComparisonResult result = [us compare:them];\n    \n    if (result == NSOrderedAscending)\n        return NSOrderedDescending;\n    \n    if (result == NSOrderedDescending)\n        return NSOrderedAscending;\n    \n    return NSOrderedSame;\n}\n\n@end\n\n#if TARGET_OS_IPHONE\n/**\n * When creating log file on iOS we're setting NSFileProtectionKey attribute to NSFileProtectionCompleteUnlessOpen.\n *\n * But in case if app is able to launch from background we need to have an ability to open log file any time we\n * want (even if device is locked). Thats why that attribute have to be changed to\n * NSFileProtectionCompleteUntilFirstUserAuthentication.\n */\nBOOL doesAppRunInBackground()\n{\n    BOOL answer = NO;\n\n    NSArray *backgroundModes = [[NSBundle mainBundle] objectForInfoDictionaryKey:@\"UIBackgroundModes\"];\n\n    for (NSString *mode in backgroundModes) {\n        if (mode.length > 0) {\n            answer = YES;\n            break;\n        }\n    }\n\n    return answer;\n}\n#endif\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDLog+LOGV.h",
    "content": "//\n//  DDLog+LOGV.h\n//  Lumberjack\n//\n//  Created by Mike Pontillo on 11/20/12.\n//\n//\n\n#ifndef Lumberjack_DDLog_LOGV_h\n#define Lumberjack_DDLog_LOGV_h\n\n#import \"DDLog.h\"\n\n\n#define LOGV_MACRO(isAsynchronous, lvl, flg, ctx, atag, fnct, frmt, avalist) \\\n  [DDLog log:isAsynchronous                                                  \\\n       level:lvl                                                             \\\n        flag:flg                                                             \\\n     context:ctx                                                             \\\n        file:__FILE__                                                        \\\n    function:fnct                                                            \\\n        line:__LINE__                                                        \\\n         tag:atag                                                            \\\n      format:frmt                                                            \\\n        args:avalist]\n\n#define LOGV_OBJC_MACRO(async, lvl, flg, ctx, frmt, avalist) \\\n             LOGV_MACRO(async, lvl, flg, ctx, nil, sel_getName(_cmd), frmt, avalist)\n\n#define LOGV_C_MACRO(async, lvl, flg, ctx, frmt, avalist) \\\n          LOGV_MACRO(async, lvl, flg, ctx, nil, __FUNCTION__, frmt, avalist)\n\n\n\n#define  SYNC_LOGV_OBJC_MACRO(lvl, flg, ctx, frmt, avalist) \\\n              LOGV_OBJC_MACRO( NO, lvl, flg, ctx, frmt, avalist)\n\n#define ASYNC_LOGV_OBJC_MACRO(lvl, flg, ctx, frmt, avalist) \\\n              LOGV_OBJC_MACRO(YES, lvl, flg, ctx, frmt, avalist)\n\n#define  SYNC_LOGV_C_MACRO(lvl, flg, ctx, frmt, avalist) \\\n              LOGV_C_MACRO( NO, lvl, flg, ctx, frmt, avalist)\n\n#define ASYNC_LOGV_C_MACRO(lvl, flg, ctx, frmt, avalist) \\\n              LOGV_C_MACRO(YES, lvl, flg, ctx, frmt, avalist)\n\n\n\n#define LOGV_MAYBE(async, lvl, flg, ctx, fnct, frmt, avalist) \\\n  do { if(lvl & flg) LOGV_MACRO(async, lvl, flg, ctx, nil, fnct, frmt, avalist); } while(0)\n\n#define LOGV_OBJC_MAYBE(async, lvl, flg, ctx, frmt, avalist) \\\n             LOGV_MAYBE(async, lvl, flg, ctx, sel_getName(_cmd), frmt, avalist)\n\n#define LOGV_C_MAYBE(async, lvl, flg, ctx, frmt, avalist) \\\n          LOGV_MAYBE(async, lvl, flg, ctx, __FUNCTION__, frmt, avalist)\n\n#define  SYNC_LOGV_OBJC_MAYBE(lvl, flg, ctx, frmt, avalist) \\\n              LOGV_OBJC_MAYBE( NO, lvl, flg, ctx, frmt, avalist)\n\n#define ASYNC_LOGV_OBJC_MAYBE(lvl, flg, ctx, frmt, avalist) \\\n              LOGV_OBJC_MAYBE(YES, lvl, flg, ctx, frmt, avalist)\n\n#define  SYNC_LOGV_C_MAYBE(lvl, flg, ctx, frmt, avalist) \\\n              LOGV_C_MAYBE( NO, lvl, flg, ctx, frmt, avalist)\n\n#define ASYNC_LOGV_C_MAYBE(lvl, flg, ctx, frmt, avalist) \\\n              LOGV_C_MAYBE(YES, lvl, flg, ctx, frmt, avalist)\n\n\n\n#define LOGV_OBJC_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, avalist) \\\n                 LOGV_MACRO(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, avalist)\n\n#define LOGV_C_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, avalist) \\\n              LOGV_MACRO(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, avalist)\n\n#define LOGV_TAG_MAYBE(async, lvl, flg, ctx, tag, fnct, frmt, avalist) \\\n  do { if(lvl & flg) LOGV_MACRO(async, lvl, flg, ctx, tag, fnct, frmt, avalist); } while(0)\n\n#define LOGV_OBJC_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, avalist) \\\n             LOGV_TAG_MAYBE(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, avalist)\n\n#define LOGV_C_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, avalist) \\\n          LOGV_TAG_MAYBE(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, avalist)\n\n\n\n#define DDLogvError(frmt, avalist)   LOGV_OBJC_MAYBE(LOG_ASYNC_ERROR,   ddLogLevel, LOG_FLAG_ERROR,   0, frmt, avalist)\n#define DDLogvWarn(frmt, avalist)    LOGV_OBJC_MAYBE(LOG_ASYNC_WARN,    ddLogLevel, LOG_FLAG_WARN,    0, frmt, avalist)\n#define DDLogvInfo(frmt, avalist)    LOGV_OBJC_MAYBE(LOG_ASYNC_INFO,    ddLogLevel, LOG_FLAG_INFO,    0, frmt, avalist)\n#define DDLogvVerbose(frmt, avalist) LOGV_OBJC_MAYBE(LOG_ASYNC_VERBOSE, ddLogLevel, LOG_FLAG_VERBOSE, 0, frmt, avalist)\n\n#define DDLogvCError(frmt, avalist)   LOGV_C_MAYBE(LOG_ASYNC_ERROR,   ddLogLevel, LOG_FLAG_ERROR,   0, frmt, avalist)\n#define DDLogvCWarn(frmt, avalist)    LOGV_C_MAYBE(LOG_ASYNC_WARN,    ddLogLevel, LOG_FLAG_WARN,    0, frmt, avalist)\n#define DDLogvCInfo(frmt, avalist)    LOGV_C_MAYBE(LOG_ASYNC_INFO,    ddLogLevel, LOG_FLAG_INFO,    0, frmt, avalist)\n#define DDLogvCVerbose(frmt, avalist) LOGV_C_MAYBE(LOG_ASYNC_VERBOSE, ddLogLevel, LOG_FLAG_VERBOSE, 0, frmt, avalist)\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDLog.h",
    "content": "#import <Foundation/Foundation.h>\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n * \n * Otherwise, here is a quick refresher.\n * There are three steps to using the macros:\n * \n * Step 1:\n * Import the header in your implementation file:\n * \n * #import \"DDLog.h\"\n * \n * Step 2:\n * Define your logging level in your implementation file:\n * \n * // Log levels: off, error, warn, info, verbose\n * static const int ddLogLevel = LOG_LEVEL_VERBOSE;\n * \n * Step 2 [3rd party frameworks]:\n *\n * Define your LOG_LEVEL_DEF to a different variable/function than ddLogLevel:\n *\n * // #undef LOG_LEVEL_DEF // Undefine first only if needed\n * #define LOG_LEVEL_DEF myLibLogLevel\n *\n * Define your logging level in your implementation file:\n *\n * // Log levels: off, error, warn, info, verbose\n * static const int myLibLogLevel = LOG_LEVEL_VERBOSE;\n *\n * Step 3:\n * Replace your NSLog statements with DDLog statements according to the severity of the message.\n * \n * NSLog(@\"Fatal error, no dohickey found!\"); -> DDLogError(@\"Fatal error, no dohickey found!\");\n * \n * DDLog works exactly the same as NSLog.\n * This means you can pass it multiple variables just like NSLog.\n**/\n\n#ifndef LOG_LEVEL_DEF\n    #define LOG_LEVEL_DEF ddLogLevel\n#endif\n\n@class DDLogMessage;\n\n@protocol DDLogger;\n@protocol DDLogFormatter;\n\n/**\n * This is the single macro that all other macros below compile into.\n * This big multiline macro makes all the other macros easier to read.\n**/\n\n#define LOG_MACRO(isAsynchronous, lvl, flg, ctx, atag, fnct, frmt, ...) \\\n  [DDLog log:isAsynchronous                                             \\\n       level:lvl                                                        \\\n        flag:flg                                                        \\\n     context:ctx                                                        \\\n        file:__FILE__                                                   \\\n    function:fnct                                                       \\\n        line:__LINE__                                                   \\\n         tag:atag                                                       \\\n      format:(frmt), ##__VA_ARGS__]\n\n/**\n * Define the Objective-C and C versions of the macro.\n * These automatically inject the proper function name for either an objective-c method or c function.\n * \n * We also define shorthand versions for asynchronous and synchronous logging.\n**/\n\n#define LOG_OBJC_MACRO(async, lvl, flg, ctx, frmt, ...) \\\n             LOG_MACRO(async, lvl, flg, ctx, nil, sel_getName(_cmd), frmt, ##__VA_ARGS__)\n\n#define LOG_C_MACRO(async, lvl, flg, ctx, frmt, ...) \\\n          LOG_MACRO(async, lvl, flg, ctx, nil, __FUNCTION__, frmt, ##__VA_ARGS__)\n\n#define  SYNC_LOG_OBJC_MACRO(lvl, flg, ctx, frmt, ...) \\\n              LOG_OBJC_MACRO( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__)\n\n#define ASYNC_LOG_OBJC_MACRO(lvl, flg, ctx, frmt, ...) \\\n              LOG_OBJC_MACRO(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__)\n\n#define  SYNC_LOG_C_MACRO(lvl, flg, ctx, frmt, ...) \\\n              LOG_C_MACRO( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__)\n\n#define ASYNC_LOG_C_MACRO(lvl, flg, ctx, frmt, ...) \\\n              LOG_C_MACRO(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__)\n\n/**\n * Define version of the macro that only execute if the logLevel is above the threshold.\n * The compiled versions essentially look like this:\n * \n * if (logFlagForThisLogMsg & ddLogLevel) { execute log message }\n * \n * When LOG_LEVEL_DEF is defined as ddLogLevel.\n *\n * As shown further below, Lumberjack actually uses a bitmask as opposed to primitive log levels.\n * This allows for a great amount of flexibility and some pretty advanced fine grained logging techniques.\n * \n * Note that when compiler optimizations are enabled (as they are for your release builds),\n * the log messages above your logging threshold will automatically be compiled out.\n * \n * (If the compiler sees ddLogLevel declared as a constant, the compiler simply checks to see if the 'if' statement\n *  would execute, and if not it strips it from the binary.)\n * \n * We also define shorthand versions for asynchronous and synchronous logging.\n**/\n\n#define LOG_MAYBE(async, lvl, flg, ctx, fnct, frmt, ...) \\\n  do { if(lvl & flg) LOG_MACRO(async, lvl, flg, ctx, nil, fnct, frmt, ##__VA_ARGS__); } while(0)\n\n#define LOG_OBJC_MAYBE(async, lvl, flg, ctx, frmt, ...) \\\n             LOG_MAYBE(async, lvl, flg, ctx, sel_getName(_cmd), frmt, ##__VA_ARGS__)\n\n#define LOG_C_MAYBE(async, lvl, flg, ctx, frmt, ...) \\\n          LOG_MAYBE(async, lvl, flg, ctx, __FUNCTION__, frmt, ##__VA_ARGS__)\n\n#define  SYNC_LOG_OBJC_MAYBE(lvl, flg, ctx, frmt, ...) \\\n              LOG_OBJC_MAYBE( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__)\n\n#define ASYNC_LOG_OBJC_MAYBE(lvl, flg, ctx, frmt, ...) \\\n              LOG_OBJC_MAYBE(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__)\n\n#define  SYNC_LOG_C_MAYBE(lvl, flg, ctx, frmt, ...) \\\n              LOG_C_MAYBE( NO, lvl, flg, ctx, frmt, ##__VA_ARGS__)\n\n#define ASYNC_LOG_C_MAYBE(lvl, flg, ctx, frmt, ...) \\\n              LOG_C_MAYBE(YES, lvl, flg, ctx, frmt, ##__VA_ARGS__)\n\n/**\n * Define versions of the macros that also accept tags.\n * \n * The DDLogMessage object includes a 'tag' ivar that may be used for a variety of purposes.\n * It may be used to pass custom information to loggers or formatters.\n * Or it may be used by 3rd party extensions to the framework.\n * \n * Thes macros just make it a little easier to extend logging functionality.\n**/\n\n#define LOG_OBJC_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, ...) \\\n                 LOG_MACRO(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, ##__VA_ARGS__)\n\n#define LOG_C_TAG_MACRO(async, lvl, flg, ctx, tag, frmt, ...) \\\n              LOG_MACRO(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, ##__VA_ARGS__)\n\n#define LOG_TAG_MAYBE(async, lvl, flg, ctx, tag, fnct, frmt, ...) \\\n  do { if(lvl & flg) LOG_MACRO(async, lvl, flg, ctx, tag, fnct, frmt, ##__VA_ARGS__); } while(0)\n\n#define LOG_OBJC_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, ...) \\\n             LOG_TAG_MAYBE(async, lvl, flg, ctx, tag, sel_getName(_cmd), frmt, ##__VA_ARGS__)\n\n#define LOG_C_TAG_MAYBE(async, lvl, flg, ctx, tag, frmt, ...) \\\n          LOG_TAG_MAYBE(async, lvl, flg, ctx, tag, __FUNCTION__, frmt, ##__VA_ARGS__)\n\n/**\n * Define the standard options.\n * \n * We default to only 4 levels because it makes it easier for beginners\n * to make the transition to a logging framework.\n * \n * More advanced users may choose to completely customize the levels (and level names) to suite their needs.\n * For more information on this see the \"Custom Log Levels\" page:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomLogLevels\n * \n * Advanced users may also notice that we're using a bitmask.\n * This is to allow for custom fine grained logging:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/FineGrainedLogging\n * \n * -- Flags --\n * \n * Typically you will use the LOG_LEVELS (see below), but the flags may be used directly in certain situations.\n * For example, say you have a lot of warning log messages, and you wanted to disable them.\n * However, you still needed to see your error and info log messages.\n * You could accomplish that with the following:\n * \n * static const int ddLogLevel = LOG_FLAG_ERROR | LOG_FLAG_INFO;\n * \n * When LOG_LEVEL_DEF is defined as ddLogLevel.\n *\n * Flags may also be consulted when writing custom log formatters,\n * as the DDLogMessage class captures the individual flag that caused the log message to fire.\n * \n * -- Levels --\n * \n * Log levels are simply the proper bitmask of the flags.\n * \n * -- Booleans --\n * \n * The booleans may be used when your logging code involves more than one line.\n * For example:\n * \n * if (LOG_VERBOSE) {\n *     for (id sprocket in sprockets)\n *         DDLogVerbose(@\"sprocket: %@\", [sprocket description])\n * }\n * \n * -- Async --\n * \n * Defines the default asynchronous options.\n * The default philosophy for asynchronous logging is very simple:\n * \n * Log messages with errors should be executed synchronously.\n *     After all, an error just occurred. The application could be unstable.\n * \n * All other log messages, such as debug output, are executed asynchronously.\n *     After all, if it wasn't an error, then it was just informational output,\n *     or something the application was easily able to recover from.\n * \n * -- Changes --\n * \n * You are strongly discouraged from modifying this file.\n * If you do, you make it more difficult on yourself to merge future bug fixes and improvements from the project.\n * Instead, create your own MyLogging.h or ApplicationNameLogging.h or CompanyLogging.h\n * \n * For an example of customizing your logging experience, see the \"Custom Log Levels\" page:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomLogLevels\n**/\n\n#define LOG_FLAG_ERROR    (1 << 0)  // 0...00001\n#define LOG_FLAG_WARN     (1 << 1)  // 0...00010\n#define LOG_FLAG_INFO     (1 << 2)  // 0...00100\n#define LOG_FLAG_DEBUG    (1 << 3)  // 0...01000\n#define LOG_FLAG_VERBOSE  (1 << 4)  // 0...10000\n\n#define LOG_LEVEL_OFF     0\n#define LOG_LEVEL_ERROR   (LOG_FLAG_ERROR)                                                                          // 0...00001\n#define LOG_LEVEL_WARN    (LOG_FLAG_ERROR | LOG_FLAG_WARN)                                                          // 0...00011\n#define LOG_LEVEL_INFO    (LOG_FLAG_ERROR | LOG_FLAG_WARN | LOG_FLAG_INFO)                                          // 0...00111\n#define LOG_LEVEL_DEBUG   (LOG_FLAG_ERROR | LOG_FLAG_WARN | LOG_FLAG_INFO | LOG_FLAG_DEBUG)                         // 0...01111\n#define LOG_LEVEL_VERBOSE (LOG_FLAG_ERROR | LOG_FLAG_WARN | LOG_FLAG_INFO | LOG_FLAG_DEBUG | LOG_FLAG_VERBOSE)      // 0...11111\n\n#define LOG_ERROR    (LOG_LEVEL_DEF & LOG_FLAG_ERROR)\n#define LOG_WARN     (LOG_LEVEL_DEF & LOG_FLAG_WARN)\n#define LOG_INFO     (LOG_LEVEL_DEF & LOG_FLAG_INFO)\n#define LOG_DEBUG    (LOG_LEVEL_DEF & LOG_FLAG_DEBUG)\n#define LOG_VERBOSE  (LOG_LEVEL_DEF & LOG_FLAG_VERBOSE)\n\n#define LOG_ASYNC_ENABLED YES\n\n#define LOG_ASYNC_ERROR    ( NO && LOG_ASYNC_ENABLED)\n#define LOG_ASYNC_WARN     (YES && LOG_ASYNC_ENABLED)\n#define LOG_ASYNC_INFO     (YES && LOG_ASYNC_ENABLED)\n#define LOG_ASYNC_DEBUG    (YES && LOG_ASYNC_ENABLED)\n#define LOG_ASYNC_VERBOSE  (YES && LOG_ASYNC_ENABLED)\n\n#define DDLogError(frmt, ...)   LOG_OBJC_MAYBE(LOG_ASYNC_ERROR,   LOG_LEVEL_DEF, LOG_FLAG_ERROR,   0, frmt, ##__VA_ARGS__)\n#define DDLogWarn(frmt, ...)    LOG_OBJC_MAYBE(LOG_ASYNC_WARN,    LOG_LEVEL_DEF, LOG_FLAG_WARN,    0, frmt, ##__VA_ARGS__)\n#define DDLogInfo(frmt, ...)    LOG_OBJC_MAYBE(LOG_ASYNC_INFO,    LOG_LEVEL_DEF, LOG_FLAG_INFO,    0, frmt, ##__VA_ARGS__)\n#define DDLogDebug(frmt, ...)   LOG_OBJC_MAYBE(LOG_ASYNC_DEBUG,   LOG_LEVEL_DEF, LOG_FLAG_DEBUG,   0, frmt, ##__VA_ARGS__)\n#define DDLogVerbose(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_VERBOSE, LOG_LEVEL_DEF, LOG_FLAG_VERBOSE, 0, frmt, ##__VA_ARGS__)\n\n#define DDLogCError(frmt, ...)   LOG_C_MAYBE(LOG_ASYNC_ERROR,   LOG_LEVEL_DEF, LOG_FLAG_ERROR,   0, frmt, ##__VA_ARGS__)\n#define DDLogCWarn(frmt, ...)    LOG_C_MAYBE(LOG_ASYNC_WARN,    LOG_LEVEL_DEF, LOG_FLAG_WARN,    0, frmt, ##__VA_ARGS__)\n#define DDLogCInfo(frmt, ...)    LOG_C_MAYBE(LOG_ASYNC_INFO,    LOG_LEVEL_DEF, LOG_FLAG_INFO,    0, frmt, ##__VA_ARGS__)\n#define DDLogCDebug(frmt, ...)   LOG_C_MAYBE(LOG_ASYNC_DEBUG,   LOG_LEVEL_DEF, LOG_FLAG_DEBUG,   0, frmt, ##__VA_ARGS__)\n#define DDLogCVerbose(frmt, ...) LOG_C_MAYBE(LOG_ASYNC_VERBOSE, LOG_LEVEL_DEF, LOG_FLAG_VERBOSE, 0, frmt, ##__VA_ARGS__)\n\n/**\n * The THIS_FILE macro gives you an NSString of the file name.\n * For simplicity and clarity, the file name does not include the full path or file extension.\n * \n * For example: DDLogWarn(@\"%@: Unable to find thingy\", THIS_FILE) -> @\"MyViewController: Unable to find thingy\"\n**/\n\nNSString *DDExtractFileNameWithoutExtension(const char *filePath, BOOL copy);\n\n#define THIS_FILE (DDExtractFileNameWithoutExtension(__FILE__, NO))\n\n/**\n * The THIS_METHOD macro gives you the name of the current objective-c method.\n * \n * For example: DDLogWarn(@\"%@ - Requires non-nil strings\", THIS_METHOD) -> @\"setMake:model: requires non-nil strings\"\n * \n * Note: This does NOT work in straight C functions (non objective-c).\n * Instead you should use the predefined __FUNCTION__ macro.\n**/\n\n#define THIS_METHOD NSStringFromSelector(_cmd)\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDLog : NSObject\n\n/**\n * Provides access to the underlying logging queue.\n * This may be helpful to Logger classes for things like thread synchronization.\n**/\n\n+ (dispatch_queue_t)loggingQueue;\n\n/**\n * Logging Primitive.\n * \n * This method is used by the macros above.\n * It is suggested you stick with the macros as they're easier to use.\n**/\n\n+ (void)log:(BOOL)synchronous\n      level:(int)level\n       flag:(int)flag\n    context:(int)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(int)line\n        tag:(id)tag\n     format:(NSString *)format, ... __attribute__ ((format (__NSString__, 9, 10)));\n\n/**\n * Logging Primitive.\n * \n * This method can be used if you have a prepared va_list.\n**/\n\n+ (void)log:(BOOL)asynchronous\n      level:(int)level\n       flag:(int)flag\n    context:(int)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(int)line\n        tag:(id)tag\n     format:(NSString *)format\n       args:(va_list)argList;\n\n\n/**\n * Since logging can be asynchronous, there may be times when you want to flush the logs.\n * The framework invokes this automatically when the application quits.\n**/\n\n+ (void)flushLog;\n\n/** \n * Loggers\n * \n * If you want your log statements to go somewhere,\n * you should create and add a logger.\n**/\n\n+ (void)addLogger:(id <DDLogger>)logger;    // adds the logger using maximum log level (LOG_LEVEL_VERBOSE)\n\n/**\n * Please use as logLevels the LOG_LEVEL_* macros\n *\n**/\n+ (void)addLogger:(id <DDLogger>)logger withLogLevel:(int)logLevel;\n\n+ (void)removeLogger:(id <DDLogger>)logger;\n+ (void)removeAllLoggers;\n\n/**\n * Registered Dynamic Logging\n * \n * These methods allow you to obtain a list of classes that are using registered dynamic logging,\n * and also provides methods to get and set their log level during run time.\n**/\n\n+ (NSArray *)registeredClasses;\n+ (NSArray *)registeredClassNames;\n\n+ (int)logLevelForClass:(Class)aClass;\n+ (int)logLevelForClassWithName:(NSString *)aClassName;\n\n+ (void)setLogLevel:(int)logLevel forClass:(Class)aClass;\n+ (void)setLogLevel:(int)logLevel forClassWithName:(NSString *)aClassName;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@protocol DDLogger <NSObject>\n@required\n\n- (void)logMessage:(DDLogMessage *)logMessage;\n\n/**\n * Formatters may optionally be added to any logger.\n * \n * If no formatter is set, the logger simply logs the message as it is given in logMessage,\n * or it may use its own built in formatting style.\n**/\n- (id <DDLogFormatter>)logFormatter;\n- (void)setLogFormatter:(id <DDLogFormatter>)formatter;\n\n@optional\n\n/**\n * Since logging is asynchronous, adding and removing loggers is also asynchronous.\n * In other words, the loggers are added and removed at appropriate times with regards to log messages.\n * \n * - Loggers will not receive log messages that were executed prior to when they were added.\n * - Loggers will not receive log messages that were executed after they were removed.\n * \n * These methods are executed in the logging thread/queue.\n * This is the same thread/queue that will execute every logMessage: invocation.\n * Loggers may use these methods for thread synchronization or other setup/teardown tasks.\n**/\n- (void)didAddLogger;\n- (void)willRemoveLogger;\n\n/**\n * Some loggers may buffer IO for optimization purposes.\n * For example, a database logger may only save occasionaly as the disk IO is slow.\n * In such loggers, this method should be implemented to flush any pending IO.\n * \n * This allows invocations of DDLog's flushLog method to be propogated to loggers that need it.\n * \n * Note that DDLog's flushLog method is invoked automatically when the application quits,\n * and it may be also invoked manually by the developer prior to application crashes, or other such reasons.\n**/\n- (void)flush;\n\n/**\n * Each logger is executed concurrently with respect to the other loggers.\n * Thus, a dedicated dispatch queue is used for each logger.\n * Logger implementations may optionally choose to provide their own dispatch queue.\n**/\n- (dispatch_queue_t)loggerQueue;\n\n/**\n * If the logger implementation does not choose to provide its own queue,\n * one will automatically be created for it.\n * The created queue will receive its name from this method.\n * This may be helpful for debugging or profiling reasons.\n**/\n- (NSString *)loggerName;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@protocol DDLogFormatter <NSObject>\n@required\n\n/**\n * Formatters may optionally be added to any logger.\n * This allows for increased flexibility in the logging environment.\n * For example, log messages for log files may be formatted differently than log messages for the console.\n * \n * For more information about formatters, see the \"Custom Formatters\" page:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters\n * \n * The formatter may also optionally filter the log message by returning nil,\n * in which case the logger will not log the message.\n**/\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage;\n\n@optional\n\n/**\n * A single formatter instance can be added to multiple loggers.\n * These methods provides hooks to notify the formatter of when it's added/removed.\n *\n * This is primarily for thread-safety.\n * If a formatter is explicitly not thread-safe, it may wish to throw an exception if added to multiple loggers.\n * Or if a formatter has potentially thread-unsafe code (e.g. NSDateFormatter),\n * it could possibly use these hooks to switch to thread-safe versions of the code.\n**/\n- (void)didAddToLogger:(id <DDLogger>)logger;\n- (void)willRemoveFromLogger:(id <DDLogger>)logger;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@protocol DDRegisteredDynamicLogging\n\n/**\n * Implement these methods to allow a file's log level to be managed from a central location.\n * \n * This is useful if you'd like to be able to change log levels for various parts\n * of your code from within the running application.\n * \n * Imagine pulling up the settings for your application,\n * and being able to configure the logging level on a per file basis.\n * \n * The implementation can be very straight-forward:\n * \n * + (int)ddLogLevel\n * {\n *     return ddLogLevel;\n * }\n *  \n * + (void)ddSetLogLevel:(int)logLevel\n * {\n *     ddLogLevel = logLevel;\n * }\n**/\n\n+ (int)ddLogLevel;\n+ (void)ddSetLogLevel:(int)logLevel;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The DDLogMessage class encapsulates information about the log message.\n * If you write custom loggers or formatters, you will be dealing with objects of this class.\n**/\n\nenum {\n    DDLogMessageCopyFile     = 1 << 0,\n    DDLogMessageCopyFunction = 1 << 1\n};\ntypedef int DDLogMessageOptions;\n\n@interface DDLogMessage : NSObject <NSCopying>\n{\n\n// The public variables below can be accessed directly (for speed).\n// For example: logMessage->logLevel\n    \n@public\n    int logLevel;\n    int logFlag;\n    int logContext;\n    NSString *logMsg;\n    NSDate *timestamp;\n    char *file;\n    char *function;\n    int lineNumber;\n    mach_port_t machThreadID;\n    char *queueLabel;\n    NSString *threadName;\n    \n    // For 3rd party extensions to the framework, where flags and contexts aren't enough.\n    id tag;\n    \n    // For 3rd party extensions that manually create DDLogMessage instances.\n    DDLogMessageOptions options;\n}\n\n/**\n * Standard init method for a log message object.\n * Used by the logging primitives. (And the macros use the logging primitives.)\n * \n * If you find need to manually create logMessage objects, there is one thing you should be aware of:\n * \n * If no flags are passed, the method expects the file and function parameters to be string literals.\n * That is, it expects the given strings to exist for the duration of the object's lifetime,\n * and it expects the given strings to be immutable.\n * In other words, it does not copy these strings, it simply points to them.\n * This is due to the fact that __FILE__ and __FUNCTION__ are usually used to specify these parameters,\n * so it makes sense to optimize and skip the unnecessary allocations.\n * However, if you need them to be copied you may use the options parameter to specify this.\n * Options is a bitmask which supports DDLogMessageCopyFile and DDLogMessageCopyFunction.\n**/\n- (instancetype)initWithLogMsg:(NSString *)logMsg\n                         level:(int)logLevel\n                          flag:(int)logFlag\n                       context:(int)logContext\n                          file:(const char *)file\n                      function:(const char *)function\n                          line:(int)line\n                           tag:(id)tag\n                       options:(DDLogMessageOptions)optionsMask;\n\n/**\n * Returns the threadID as it appears in NSLog.\n * That is, it is a hexadecimal value which is calculated from the machThreadID.\n**/\n- (NSString *)threadID;\n\n/**\n * Convenience property to get just the file name, as the file variable is generally the full file path.\n * This method does not include the file extension, which is generally unwanted for logging purposes.\n**/\n- (NSString *)fileName;\n\n/**\n * Returns the function variable in NSString form.\n**/\n- (NSString *)methodName;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The DDLogger protocol specifies that an optional formatter can be added to a logger.\n * Most (but not all) loggers will want to support formatters.\n * \n * However, writting getters and setters in a thread safe manner,\n * while still maintaining maximum speed for the logging process, is a difficult task.\n * \n * To do it right, the implementation of the getter/setter has strict requiremenets:\n * - Must NOT require the logMessage method to acquire a lock.\n * - Must NOT require the logMessage method to access an atomic property (also a lock of sorts).\n * \n * To simplify things, an abstract logger is provided that implements the getter and setter.\n * \n * Logger implementations may simply extend this class,\n * and they can ACCESS THE FORMATTER VARIABLE DIRECTLY from within their logMessage method!\n**/\n\n@interface DDAbstractLogger : NSObject <DDLogger>\n{\n    id <DDLogFormatter> formatter;\n    \n    dispatch_queue_t loggerQueue;\n}\n\n- (id <DDLogFormatter>)logFormatter;\n- (void)setLogFormatter:(id <DDLogFormatter>)formatter;\n\n// For thread-safety assertions\n- (BOOL)isOnGlobalLoggingQueue;\n- (BOOL)isOnInternalLoggerQueue;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDLog.m",
    "content": "#import \"DDLog.h\"\n\n#import <pthread.h>\n#import <objc/runtime.h>\n#import <mach/mach_host.h>\n#import <mach/host_info.h>\n#import <libkern/OSAtomic.h>\n#import <Availability.h>\n#if TARGET_OS_IPHONE\n    #import <UIKit/UIDevice.h>\n#endif\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n * \n**/\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// We probably shouldn't be using DDLog() statements within the DDLog implementation.\n// But we still want to leave our log statements for any future debugging,\n// and to allow other developers to trace the implementation (which is a great learning tool).\n// \n// So we use a primitive logging macro around NSLog.\n// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog.\n\n#define DD_DEBUG NO\n\n#define NSLogDebug(frmt, ...) do{ if(DD_DEBUG) NSLog((frmt), ##__VA_ARGS__); } while(0)\n\n// Specifies the maximum queue size of the logging thread.\n// \n// Since most logging is asynchronous, its possible for rogue threads to flood the logging queue.\n// That is, to issue an abundance of log statements faster than the logging thread can keepup.\n// Typically such a scenario occurs when log statements are added haphazardly within large loops,\n// but may also be possible if relatively slow loggers are being used.\n// \n// This property caps the queue size at a given number of outstanding log statements.\n// If a thread attempts to issue a log statement when the queue is already maxed out,\n// the issuing thread will block until the queue size drops below the max again.\n\n#define LOG_MAX_QUEUE_SIZE 1000 // Should not exceed INT32_MAX\n\n// The \"global logging queue\" refers to [DDLog loggingQueue].\n// It is the queue that all log statements go through.\n//\n// The logging queue sets a flag via dispatch_queue_set_specific using this key.\n// We can check for this key via dispatch_get_specific() to see if we're on the \"global logging queue\".\n\nstatic void *const GlobalLoggingQueueIdentityKey = (void *)&GlobalLoggingQueueIdentityKey;\n\n\n@interface DDLoggerNode : NSObject {\n@public \n    id <DDLogger> logger;   \n    dispatch_queue_t loggerQueue;\n    int logLevel;\n}\n\n@property (nonatomic, assign, readonly) int logLevel;\n\n+ (DDLoggerNode *)nodeWithLogger:(id <DDLogger>)logger loggerQueue:(dispatch_queue_t)loggerQueue logLevel:(int)logLevel;\n\n@end\n\n\n@interface DDLog (PrivateAPI)\n\n+ (void)lt_addLogger:(id <DDLogger>)logger logLevel:(int)logLevel;\n+ (void)lt_removeLogger:(id <DDLogger>)logger;\n+ (void)lt_removeAllLoggers;\n+ (void)lt_log:(DDLogMessage *)logMessage;\n+ (void)lt_flush;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDLog\n\n// An array used to manage all the individual loggers.\n// The array is only modified on the loggingQueue/loggingThread.\nstatic NSMutableArray *loggers;\n\n// All logging statements are added to the same queue to ensure FIFO operation.\nstatic dispatch_queue_t loggingQueue;\n\n// Individual loggers are executed concurrently per log statement.\n// Each logger has it's own associated queue, and a dispatch group is used for synchrnoization.\nstatic dispatch_group_t loggingGroup;\n\n// In order to prevent to queue from growing infinitely large,\n// a maximum size is enforced (LOG_MAX_QUEUE_SIZE).\nstatic dispatch_semaphore_t queueSemaphore;\n\n// Minor optimization for uniprocessor machines\nstatic unsigned int numProcessors;\n\n/**\n * The runtime sends initialize to each class in a program exactly one time just before the class,\n * or any class that inherits from it, is sent its first message from within the program. (Thus the\n * method may never be invoked if the class is not used.) The runtime sends the initialize message to\n * classes in a thread-safe manner. Superclasses receive this message before their subclasses.\n *\n * This method may also be called directly (assumably by accident), hence the safety mechanism.\n**/\n+ (void)initialize\n{\n    static BOOL initialized = NO;\n    if (!initialized)\n    {\n        initialized = YES;\n        \n        loggers = [[NSMutableArray alloc] initWithCapacity:4];\n        \n        NSLogDebug(@\"DDLog: Using grand central dispatch\");\n        \n        loggingQueue = dispatch_queue_create(\"cocoa.lumberjack\", NULL);\n        loggingGroup = dispatch_group_create();\n        \n        void *nonNullValue = GlobalLoggingQueueIdentityKey; // Whatever, just not null\n        dispatch_queue_set_specific(loggingQueue, GlobalLoggingQueueIdentityKey, nonNullValue, NULL);\n        \n        queueSemaphore = dispatch_semaphore_create(LOG_MAX_QUEUE_SIZE);\n        \n        // Figure out how many processors are available.\n        // This may be used later for an optimization on uniprocessor machines.\n        \n        host_basic_info_data_t hostInfo;\n        mach_msg_type_number_t infoCount;\n        \n        infoCount = HOST_BASIC_INFO_COUNT;\n        host_info(mach_host_self(), HOST_BASIC_INFO, (host_info_t)&hostInfo, &infoCount);\n        \n        unsigned int result = (unsigned int)(hostInfo.max_cpus);\n        unsigned int one    = (unsigned int)(1);\n        \n        numProcessors = MAX(result, one);\n        \n        NSLogDebug(@\"DDLog: numProcessors = %u\", numProcessors);\n            \n        \n    #if TARGET_OS_IPHONE\n        NSString *notificationName = @\"UIApplicationWillTerminateNotification\";\n    #else\n        NSString *notificationName = nil;\n\n        if (NSApp)\n        {\n            notificationName = @\"NSApplicationWillTerminateNotification\";\n        }\n        else\n        {\n            // If there is no NSApp -> we are running Command Line Tool app.\n            // In this case terminate notification wouldn't be fired, so we use workaround.\n            atexit_b(^{\n                [self applicationWillTerminate:nil];\n            });\n        }\n    #endif\n        \n        if (notificationName) {\n            [[NSNotificationCenter defaultCenter] addObserver:self\n                                                     selector:@selector(applicationWillTerminate:)\n                                                         name:notificationName\n                                                       object:nil];\n        }\n    }\n}\n\n/**\n * Provides access to the logging queue.\n**/\n+ (dispatch_queue_t)loggingQueue\n{\n    return loggingQueue;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Notifications\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (void)applicationWillTerminate:(NSNotification *)notification\n{\n    [self flushLog];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Logger Management\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (void)addLogger:(id <DDLogger>)logger\n{\n    [self addLogger:logger withLogLevel:LOG_LEVEL_VERBOSE];\n}\n\n+ (void)addLogger:(id <DDLogger>)logger withLogLevel:(int)logLevel\n{\n    if (logger == nil) return;\n    \n    dispatch_async(loggingQueue, ^{ @autoreleasepool {\n        \n        [self lt_addLogger:logger logLevel:logLevel];\n    }});\n}\n\n+ (void)removeLogger:(id <DDLogger>)logger\n{\n    if (logger == nil) return;\n    \n    dispatch_async(loggingQueue, ^{ @autoreleasepool {\n        \n        [self lt_removeLogger:logger];\n    }});\n}\n\n+ (void)removeAllLoggers\n{\n    dispatch_async(loggingQueue, ^{ @autoreleasepool {\n        \n        [self lt_removeAllLoggers];\n    }});\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Master Logging\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (void)queueLogMessage:(DDLogMessage *)logMessage asynchronously:(BOOL)asyncFlag\n{\n    // We have a tricky situation here...\n    // \n    // In the common case, when the queueSize is below the maximumQueueSize,\n    // we want to simply enqueue the logMessage. And we want to do this as fast as possible,\n    // which means we don't want to block and we don't want to use any locks.\n    // \n    // However, if the queueSize gets too big, we want to block.\n    // But we have very strict requirements as to when we block, and how long we block.\n    // \n    // The following example should help illustrate our requirements:\n    // \n    // Imagine that the maximum queue size is configured to be 5,\n    // and that there are already 5 log messages queued.\n    // Let us call these 5 queued log messages A, B, C, D, and E. (A is next to be executed)\n    // \n    // Now if our thread issues a log statement (let us call the log message F),\n    // it should block before the message is added to the queue.\n    // Furthermore, it should be unblocked immediately after A has been unqueued.\n    // \n    // The requirements are strict in this manner so that we block only as long as necessary,\n    // and so that blocked threads are unblocked in the order in which they were blocked.\n    // \n    // Returning to our previous example, let us assume that log messages A through E are still queued.\n    // Our aforementioned thread is blocked attempting to queue log message F.\n    // Now assume we have another separate thread that attempts to issue log message G.\n    // It should block until log messages A and B have been unqueued.\n    \n    \n    // We are using a counting semaphore provided by GCD.\n    // The semaphore is initialized with our LOG_MAX_QUEUE_SIZE value.\n    // Everytime we want to queue a log message we decrement this value.\n    // If the resulting value is less than zero,\n    // the semaphore function waits in FIFO order for a signal to occur before returning.\n    // \n    // A dispatch semaphore is an efficient implementation of a traditional counting semaphore.\n    // Dispatch semaphores call down to the kernel only when the calling thread needs to be blocked.\n    // If the calling semaphore does not need to block, no kernel call is made.\n    \n    dispatch_semaphore_wait(queueSemaphore, DISPATCH_TIME_FOREVER);\n    \n    // We've now sure we won't overflow the queue.\n    // It is time to queue our log message.\n    \n    dispatch_block_t logBlock = ^{ @autoreleasepool {\n        \n        [self lt_log:logMessage];\n    }};\n    \n    if (asyncFlag)\n        dispatch_async(loggingQueue, logBlock);\n    else\n        dispatch_sync(loggingQueue, logBlock);\n}\n\n+ (void)log:(BOOL)asynchronous\n      level:(int)level\n       flag:(int)flag\n    context:(int)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(int)line\n        tag:(id)tag\n     format:(NSString *)format, ...\n{\n    va_list args;\n    if (format)\n    {\n        va_start(args, format);\n        \n        NSString *logMsg = [[NSString alloc] initWithFormat:format arguments:args];\n        DDLogMessage *logMessage = [[DDLogMessage alloc] initWithLogMsg:logMsg\n                                                                  level:level\n                                                                   flag:flag\n                                                                context:context\n                                                                   file:file\n                                                               function:function\n                                                                   line:line\n                                                                    tag:tag\n                                                                options:0];\n        \n        [self queueLogMessage:logMessage asynchronously:asynchronous];\n        \n        va_end(args);\n    }\n}\n\n+ (void)log:(BOOL)asynchronous\n      level:(int)level\n       flag:(int)flag\n    context:(int)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(int)line\n        tag:(id)tag\n     format:(NSString *)format\n       args:(va_list)args\n{\n    if (format)\n    {\n        NSString *logMsg = [[NSString alloc] initWithFormat:format arguments:args];\n        DDLogMessage *logMessage = [[DDLogMessage alloc] initWithLogMsg:logMsg\n                                                                  level:level\n                                                                   flag:flag\n                                                                context:context\n                                                                   file:file\n                                                               function:function\n                                                                   line:line\n                                                                    tag:tag\n                                                                options:0];\n        \n        [self queueLogMessage:logMessage asynchronously:asynchronous];\n    }\n}\n\n+ (void)flushLog\n{\n    dispatch_sync(loggingQueue, ^{ @autoreleasepool {\n        \n        [self lt_flush];\n    }});\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Registered Dynamic Logging\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (BOOL)isRegisteredClass:(Class)class\n{\n    SEL getterSel = @selector(ddLogLevel);\n    SEL setterSel = @selector(ddSetLogLevel:);\n    \n#if TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR\n    \n    // Issue #6 (GoogleCode) - Crashes on iOS 4.2.1 and iPhone 4\n    // \n    // Crash caused by class_getClassMethod(2).\n    // \n    //     \"It's a bug with UIAccessibilitySafeCategory__NSObject so it didn't pop up until\n    //      users had VoiceOver enabled [...]. I was able to work around it by searching the\n    //      result of class_copyMethodList() instead of calling class_getClassMethod()\"\n    \n    BOOL result = NO;\n    \n    unsigned int methodCount, i;\n    Method *methodList = class_copyMethodList(object_getClass(class), &methodCount);\n    \n    if (methodList != NULL)\n    {\n        BOOL getterFound = NO;\n        BOOL setterFound = NO;\n        \n        for (i = 0; i < methodCount; ++i)\n        {\n            SEL currentSel = method_getName(methodList[i]);\n            \n            if (currentSel == getterSel)\n            {\n                getterFound = YES;\n            }\n            else if (currentSel == setterSel)\n            {\n                setterFound = YES;\n            }\n            \n            if (getterFound && setterFound)\n            {\n                result = YES;\n                break;\n            }\n        }\n        \n        free(methodList);\n    }\n    \n    return result;\n    \n#else\n    \n    // Issue #24 (GitHub) - Crashing in in ARC+Simulator\n    // \n    // The method +[DDLog isRegisteredClass] will crash a project when using it with ARC + Simulator.\n    // For running in the Simulator, it needs to execute the non-iOS code.\n    \n    Method getter = class_getClassMethod(class, getterSel);\n    Method setter = class_getClassMethod(class, setterSel);\n    \n    if ((getter != NULL) && (setter != NULL))\n    {\n        return YES;\n    }\n    \n    return NO;\n    \n#endif\n}\n\n+ (NSArray *)registeredClasses\n{\n    int numClasses, i;\n    \n    // We're going to get the list of all registered classes.\n    // The Objective-C runtime library automatically registers all the classes defined in your source code.\n    // \n    // To do this we use the following method (documented in the Objective-C Runtime Reference):\n    // \n    // int objc_getClassList(Class *buffer, int bufferLen)\n    // \n    // We can pass (NULL, 0) to obtain the total number of\n    // registered class definitions without actually retrieving any class definitions.\n    // This allows us to allocate the minimum amount of memory needed for the application.\n    \n    numClasses = objc_getClassList(NULL, 0);\n    \n    // The numClasses method now tells us how many classes we have.\n    // So we can allocate our buffer, and get pointers to all the class definitions.\n    \n    Class *classes = (Class *)malloc(sizeof(Class) * numClasses);\n    if (classes == NULL) return nil;\n    \n    numClasses = objc_getClassList(classes, numClasses);\n    \n    // We can now loop through the classes, and test each one to see if it is a DDLogging class.\n    \n    NSMutableArray *result = [NSMutableArray arrayWithCapacity:numClasses];\n    \n    for (i = 0; i < numClasses; i++)\n    {\n        Class class = classes[i];\n        \n        if ([self isRegisteredClass:class])\n        {\n            [result addObject:class];\n        }\n    }\n    \n    free(classes);\n    \n    return result;\n}\n\n+ (NSArray *)registeredClassNames\n{\n    NSArray *registeredClasses = [self registeredClasses];\n    NSMutableArray *result = [NSMutableArray arrayWithCapacity:[registeredClasses count]];\n    \n    for (Class class in registeredClasses)\n    {\n        [result addObject:NSStringFromClass(class)];\n    }\n    \n    return result;\n}\n\n+ (int)logLevelForClass:(Class)aClass\n{\n    if ([self isRegisteredClass:aClass])\n    {\n        return [aClass ddLogLevel];\n    }\n    \n    return -1;\n}\n\n+ (int)logLevelForClassWithName:(NSString *)aClassName\n{\n    Class aClass = NSClassFromString(aClassName);\n    \n    return [self logLevelForClass:aClass];\n}\n\n+ (void)setLogLevel:(int)logLevel forClass:(Class)aClass\n{\n    if ([self isRegisteredClass:aClass])\n    {\n        [aClass ddSetLogLevel:logLevel];\n    }\n}\n\n+ (void)setLogLevel:(int)logLevel forClassWithName:(NSString *)aClassName\n{\n    Class aClass = NSClassFromString(aClassName);\n    \n    [self setLogLevel:logLevel forClass:aClass];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Logging Thread\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method should only be run on the logging thread/queue.\n**/\n+ (void)lt_addLogger:(id <DDLogger>)logger logLevel:(int)logLevel\n{\n    // Add to loggers array.\n    // Need to create loggerQueue if loggerNode doesn't provide one.\n    \n    dispatch_queue_t loggerQueue = NULL;\n    \n    if ([logger respondsToSelector:@selector(loggerQueue)])\n    {\n        // Logger may be providing its own queue\n        \n        loggerQueue = [logger loggerQueue];\n    }\n    \n    if (loggerQueue == nil)\n    {\n        // Automatically create queue for the logger.\n        // Use the logger name as the queue name if possible.\n        \n        const char *loggerQueueName = NULL;\n        if ([logger respondsToSelector:@selector(loggerName)])\n        {\n            loggerQueueName = [[logger loggerName] UTF8String];\n        }\n        \n        loggerQueue = dispatch_queue_create(loggerQueueName, NULL);\n    }\n    \n    DDLoggerNode *loggerNode = [DDLoggerNode nodeWithLogger:logger loggerQueue:loggerQueue logLevel:logLevel];\n    [loggers addObject:loggerNode];\n    \n    if ([logger respondsToSelector:@selector(didAddLogger)])\n    {\n        dispatch_async(loggerNode->loggerQueue, ^{ @autoreleasepool {\n            \n            [logger didAddLogger];\n        }});\n    }\n}\n\n/**\n * This method should only be run on the logging thread/queue.\n**/\n+ (void)lt_removeLogger:(id <DDLogger>)logger\n{\n    // Find associated loggerNode in list of added loggers\n    \n    DDLoggerNode *loggerNode = nil;\n    \n    for (DDLoggerNode *node in loggers)\n    {\n        if (node->logger == logger)\n        {\n            loggerNode = node;\n            break;\n        }\n    }\n    \n    if (loggerNode == nil)\n    {\n        NSLogDebug(@\"DDLog: Request to remove logger which wasn't added\");\n        return;\n    }\n    \n    // Notify logger\n    \n    if ([logger respondsToSelector:@selector(willRemoveLogger)])\n    {\n        dispatch_async(loggerNode->loggerQueue, ^{ @autoreleasepool {\n            \n            [logger willRemoveLogger];\n        }});\n    }\n    \n    // Remove from loggers array\n    \n    [loggers removeObject:loggerNode];\n}\n\n/**\n * This method should only be run on the logging thread/queue.\n**/\n+ (void)lt_removeAllLoggers\n{\n    // Notify all loggers\n    \n    for (DDLoggerNode *loggerNode in loggers)\n    {\n        if ([loggerNode->logger respondsToSelector:@selector(willRemoveLogger)])\n        {\n            dispatch_async(loggerNode->loggerQueue, ^{ @autoreleasepool {\n                \n                [loggerNode->logger willRemoveLogger];\n            }});\n        }\n    }\n    \n    // Remove all loggers from array\n    \n    [loggers removeAllObjects];\n}\n\n/**\n * This method should only be run on the logging thread/queue.\n**/\n+ (void)lt_log:(DDLogMessage *)logMessage\n{\n    // Execute the given log message on each of our loggers.\n    \n    if (numProcessors > 1)\n    {\n        // Execute each logger concurrently, each within its own queue.\n        // All blocks are added to same group.\n        // After each block has been queued, wait on group.\n        // \n        // The waiting ensures that a slow logger doesn't end up with a large queue of pending log messages.\n        // This would defeat the purpose of the efforts we made earlier to restrict the max queue size.\n        \n        for (DDLoggerNode *loggerNode in loggers)\n        {\n            // skip the loggers that shouldn't write this message based on the logLevel\n\n            if (logMessage->logFlag > loggerNode.logLevel)\n                continue;\n\n            dispatch_group_async(loggingGroup, loggerNode->loggerQueue, ^{ @autoreleasepool {\n                \n                [loggerNode->logger logMessage:logMessage];\n            \n            }});\n        }\n        \n        dispatch_group_wait(loggingGroup, DISPATCH_TIME_FOREVER);\n    }\n    else\n    {\n        // Execute each logger serialy, each within its own queue.\n        \n        for (DDLoggerNode *loggerNode in loggers)\n        {\n            // skip the loggers that shouldn't write this message based on the logLevel\n            \n            if (logMessage->logFlag > loggerNode.logLevel)\n                continue;\n\n            dispatch_sync(loggerNode->loggerQueue, ^{ @autoreleasepool {\n                \n                [loggerNode->logger logMessage:logMessage];\n                \n            }});\n        }\n    }\n    \n    // If our queue got too big, there may be blocked threads waiting to add log messages to the queue.\n    // Since we've now dequeued an item from the log, we may need to unblock the next thread.\n    \n    // We are using a counting semaphore provided by GCD.\n    // The semaphore is initialized with our LOG_MAX_QUEUE_SIZE value.\n    // When a log message is queued this value is decremented.\n    // When a log message is dequeued this value is incremented.\n    // If the value ever drops below zero,\n    // the queueing thread blocks and waits in FIFO order for us to signal it.\n    // \n    // A dispatch semaphore is an efficient implementation of a traditional counting semaphore.\n    // Dispatch semaphores call down to the kernel only when the calling thread needs to be blocked.\n    // If the calling semaphore does not need to block, no kernel call is made.\n    \n    dispatch_semaphore_signal(queueSemaphore);\n}\n\n/**\n * This method should only be run on the background logging thread.\n**/\n+ (void)lt_flush\n{\n    // All log statements issued before the flush method was invoked have now been executed.\n    // \n    // Now we need to propogate the flush request to any loggers that implement the flush method.\n    // This is designed for loggers that buffer IO.\n        \n    for (DDLoggerNode *loggerNode in loggers)\n    {\n        if ([loggerNode->logger respondsToSelector:@selector(flush)])\n        {\n            dispatch_group_async(loggingGroup, loggerNode->loggerQueue, ^{ @autoreleasepool {\n                \n                [loggerNode->logger flush];\n                \n            }});\n        }\n    }\n    \n    dispatch_group_wait(loggingGroup, DISPATCH_TIME_FOREVER);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Utilities\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nNSString *DDExtractFileNameWithoutExtension(const char *filePath, BOOL copy)\n{\n    if (filePath == NULL) return nil;\n    \n    char *lastSlash = NULL;\n    char *lastDot = NULL;\n    \n    char *p = (char *)filePath;\n    \n    while (*p != '\\0')\n    {\n        if (*p == '/')\n            lastSlash = p;\n        else if (*p == '.')\n            lastDot = p;\n        \n        p++;\n    }\n    \n    char *subStr;\n    NSUInteger subLen;\n    \n    if (lastSlash)\n    {\n        if (lastDot)\n        {\n            // lastSlash -> lastDot\n            subStr = lastSlash + 1;\n            subLen = lastDot - subStr;\n        }\n        else\n        {\n            // lastSlash -> endOfString\n            subStr = lastSlash + 1;\n            subLen = p - subStr;\n        }\n    }\n    else\n    {\n        if (lastDot)\n        {\n            // startOfString -> lastDot\n            subStr = (char *)filePath;\n            subLen = lastDot - subStr;\n        }\n        else\n        {\n            // startOfString -> endOfString\n            subStr = (char *)filePath;\n            subLen = p - subStr;\n        }\n    }\n    \n    if (copy)\n    {\n        return [[NSString alloc] initWithBytes:subStr\n                                        length:subLen\n                                      encoding:NSUTF8StringEncoding];\n    }\n    else\n    {\n        // We can take advantage of the fact that __FILE__ is a string literal.\n        // Specifically, we don't need to waste time copying the string.\n        // We can just tell NSString to point to a range within the string literal.\n        \n        return [[NSString alloc] initWithBytesNoCopy:subStr\n                                              length:subLen\n                                            encoding:NSUTF8StringEncoding\n                                        freeWhenDone:NO];\n    }\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDLoggerNode\n\n@synthesize logLevel;\n\n- (instancetype)initWithLogger:(id <DDLogger>)aLogger loggerQueue:(dispatch_queue_t)aLoggerQueue logLevel:(int)aLogLevel\n{\n    if ((self = [super init]))\n    {\n        logger = aLogger;\n        \n        if (aLoggerQueue) {\n            loggerQueue = aLoggerQueue;\n            #if !OS_OBJECT_USE_OBJC\n            dispatch_retain(loggerQueue);\n            #endif\n        }\n        logLevel = aLogLevel;\n    }\n    return self;\n}\n\n+ (DDLoggerNode *)nodeWithLogger:(id <DDLogger>)logger loggerQueue:(dispatch_queue_t)loggerQueue logLevel:(int)logLevel\n{\n    return [[DDLoggerNode alloc] initWithLogger:logger loggerQueue:loggerQueue logLevel:logLevel];\n}\n\n- (void)dealloc\n{\n    #if !OS_OBJECT_USE_OBJC\n    if (loggerQueue) dispatch_release(loggerQueue);\n    #endif\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDLogMessage\n\nstatic char *dd_str_copy(const char *str)\n{\n    if (str == NULL) return NULL;\n    \n    size_t length = strlen(str);\n    char * result = malloc(length + 1);\n    if (result == NULL) return NULL;\n    strncpy(result, str, length);\n    result[length] = 0;\n    \n    return result;\n}\n\n- (instancetype)initWithLogMsg:(NSString *)msg\n                         level:(int)level\n                          flag:(int)flag\n                       context:(int)context\n                          file:(const char *)aFile\n                      function:(const char *)aFunction\n                          line:(int)line\n                           tag:(id)aTag\n                       options:(DDLogMessageOptions)optionsMask\n{\n    if ((self = [super init]))\n    {\n        logMsg     = msg;\n        logLevel   = level;\n        logFlag    = flag;\n        logContext = context;\n        lineNumber = line;\n        tag        = aTag;\n        options    = optionsMask;\n        \n        if (options & DDLogMessageCopyFile)\n            file = dd_str_copy(aFile);\n        else\n            file = (char *)aFile;\n        \n        if (options & DDLogMessageCopyFunction)\n            function = dd_str_copy(aFunction);\n        else\n            function = (char *)aFunction;\n        \n        timestamp = [[NSDate alloc] init];\n        \n        machThreadID = pthread_mach_thread_np(pthread_self());\n\n        // Try to get the current queue's label\n        \n        // a) Compiling against newer SDK's (iOS 7+/OS X 10.9+) where DISPATCH_CURRENT_QUEUE_LABEL is defined\n        //    on a (iOS 7.0+/OS X 10.9+) runtime version\n        BOOL gotLabel = NO;\n        #ifdef DISPATCH_CURRENT_QUEUE_LABEL\n        if (\n            #if TARGET_OS_IPHONE\n                #ifndef NSFoundationVersionNumber_iOS_6_1\n                #define NSFoundationVersionNumber_iOS_6_1 993.00\n                #endif\n                floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1 // iOS 7+ (> iOS 6.1)\n            #else\n                [[NSApplication sharedApplication] respondsToSelector:@selector(occlusionState)] // OS X 10.9+\n            #endif\n            ) {\n            queueLabel = dd_str_copy(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL));\n            gotLabel = YES;\n        }\n        #endif\n        \n        // b) Systems where dispatch_get_current_queue is not yet deprecated and won't crash (< iOS 6.0/OS X 10.9)\n        //    dispatch_get_current_queue(void); __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6,__MAC_10_9,__IPHONE_4_0,__IPHONE_6_0)\n        if (!gotLabel &&\n        #if TARGET_OS_IPHONE\n            #ifndef NSFoundationVersionNumber_iOS_6_0\n            #define NSFoundationVersionNumber_iOS_6_0 993.00\n            #endif\n            floor(NSFoundationVersionNumber) < NSFoundationVersionNumber_iOS_6_0 // < iOS 6.0\n        #else\n            ![[NSApplication sharedApplication] respondsToSelector:@selector(occlusionState)] // < OS X 10.9\n        #endif\n            ) {\n            #pragma clang diagnostic push\n            #pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n            dispatch_queue_t currentQueue = dispatch_get_current_queue();\n            #pragma clang diagnostic pop\n            \n            queueLabel = dd_str_copy(dispatch_queue_get_label(currentQueue));\n            gotLabel = YES;\n        }\n        \n        // c) Give up\n        if (!gotLabel) {\n            queueLabel = dd_str_copy(\"\"); // iOS 6.x only\n        }\n        \n        threadName = [[NSThread currentThread] name];\n    }\n    return self;\n}\n\n- (NSString *)threadID\n{\n    return [[NSString alloc] initWithFormat:@\"%x\", machThreadID];\n}\n\n- (NSString *)fileName\n{\n    return DDExtractFileNameWithoutExtension(file, NO);\n}\n\n- (NSString *)methodName\n{\n    if (function == NULL)\n        return nil;\n    else\n        return [[NSString alloc] initWithUTF8String:function];\n}\n\n- (void)dealloc\n{\n    if (file && (options & DDLogMessageCopyFile))\n        free(file);\n    \n    if (function && (options & DDLogMessageCopyFunction))\n        free(function);\n    \n    if (queueLabel)\n        free(queueLabel);\n}\n\n\n- (id)copyWithZone:(NSZone *)zone {\n    DDLogMessage *newMessage = [[DDLogMessage alloc] init];\n    \n    newMessage->logLevel = self->logLevel;\n    newMessage->logFlag = self->logFlag;\n    newMessage->logContext = self->logContext;\n    newMessage->logMsg = self->logMsg;\n    newMessage->timestamp = self->timestamp;\n    \n    if (self->options & DDLogMessageCopyFile) {\n        newMessage->file = dd_str_copy(self->file);\n        newMessage->function = dd_str_copy(self->function);\n    } else {\n        newMessage->file = self->file;\n        newMessage->function = self->function;\n    }\n    \n    newMessage->lineNumber = self->lineNumber;\n    \n    newMessage->machThreadID = self->machThreadID;\n    newMessage->queueLabel = dd_str_copy(self->queueLabel);\n    newMessage->threadName = self->threadName;\n    newMessage->tag = self->tag;\n    newMessage->options = self->options;\n    \n    return newMessage;\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDAbstractLogger\n\n- (id)init\n{\n    if ((self = [super init]))\n    {\n        const char *loggerQueueName = NULL;\n        if ([self respondsToSelector:@selector(loggerName)])\n        {\n            loggerQueueName = [[self loggerName] UTF8String];\n        }\n        \n        loggerQueue = dispatch_queue_create(loggerQueueName, NULL);\n        \n        // We're going to use dispatch_queue_set_specific() to \"mark\" our loggerQueue.\n        // Later we can use dispatch_get_specific() to determine if we're executing on our loggerQueue.\n        // The documentation states:\n        //\n        // > Keys are only compared as pointers and are never dereferenced.\n        // > Thus, you can use a pointer to a static variable for a specific subsystem or\n        // > any other value that allows you to identify the value uniquely.\n        // > Specifying a pointer to a string constant is not recommended.\n        //\n        // So we're going to use the very convenient key of \"self\",\n        // which also works when multiple logger classes extend this class, as each will have a different \"self\" key.\n        //\n        // This is used primarily for thread-safety assertions (via the isOnInternalLoggerQueue method below).\n        \n        void *key = (__bridge void *)self;\n        void *nonNullValue = (__bridge void *)self;\n        \n        dispatch_queue_set_specific(loggerQueue, key, nonNullValue, NULL);\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    #if !OS_OBJECT_USE_OBJC\n    if (loggerQueue) dispatch_release(loggerQueue);\n    #endif\n}\n\n- (void)logMessage:(DDLogMessage *)logMessage\n{\n    // Override me\n}\n\n- (id <DDLogFormatter>)logFormatter\n{\n    // This method must be thread safe and intuitive.\n    // Therefore if somebody executes the following code:\n    // \n    // [logger setLogFormatter:myFormatter];\n    // formatter = [logger logFormatter];\n    // \n    // They would expect formatter to equal myFormatter.\n    // This functionality must be ensured by the getter and setter method.\n    //\n    // The thread safety must not come at a cost to the performance of the logMessage method.\n    // This method is likely called sporadically, while the logMessage method is called repeatedly.\n    // This means, the implementation of this method:\n    // - Must NOT require the logMessage method to acquire a lock.\n    // - Must NOT require the logMessage method to access an atomic property (also a lock of sorts).\n    //\n    // Thread safety is ensured by executing access to the formatter variable on the loggerQueue.\n    // This is the same queue that the logMessage method operates on.\n    //\n    // Note: The last time I benchmarked the performance of direct access vs atomic property access,\n    // direct access was over twice as fast on the desktop and over 6 times as fast on the iPhone.\n    // \n    // Furthermore, consider the following code:\n    //\n    // DDLogVerbose(@\"log msg 1\");\n    // DDLogVerbose(@\"log msg 2\");\n    // [logger setFormatter:myFormatter];\n    // DDLogVerbose(@\"log msg 3\");\n    //\n    // Our intuitive requirement means that the new formatter will only apply to the 3rd log message.\n    // This must remain true even when using asynchronous logging.\n    // We must keep in mind the various queue's that are in play here:\n    // \n    // loggerQueue : Our own private internal queue that the logMessage method runs on.\n    //               Operations are added to this queue from the global loggingQueue.\n    // \n    // globalLoggingQueue : The queue that all log messages go through before they arrive in our loggerQueue.\n    // \n    // All log statements go through the serial gloabalLoggingQueue before they arrive at our loggerQueue.\n    // Thus this method also goes through the serial globalLoggingQueue to ensure intuitive operation.\n    \n    // IMPORTANT NOTE:\n    // \n    // Methods within the DDLogger implementation MUST access the formatter ivar directly.\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    __block id <DDLogFormatter> result;\n    \n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(loggerQueue, ^{\n            result = formatter;\n        });\n    });\n    \n    return result;\n}\n\n- (void)setLogFormatter:(id <DDLogFormatter>)logFormatter\n{\n    // The design of this method is documented extensively in the logFormatter message (above in code).\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        if (formatter != logFormatter)\n        {\n            if ([formatter respondsToSelector:@selector(willRemoveFromLogger:)]) {\n                [formatter willRemoveFromLogger:self];\n            }\n            \n            formatter = logFormatter;\n            \n            if ([formatter respondsToSelector:@selector(didAddToLogger:)]) {\n                [formatter didAddToLogger:self];\n            }\n        }\n    }};\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    dispatch_async(globalLoggingQueue, ^{\n        dispatch_async(loggerQueue, block);\n    });\n}\n\n- (dispatch_queue_t)loggerQueue\n{\n    return loggerQueue;\n}\n\n- (NSString *)loggerName\n{\n    return NSStringFromClass([self class]);\n}\n\n- (BOOL)isOnGlobalLoggingQueue\n{\n    return (dispatch_get_specific(GlobalLoggingQueueIdentityKey) != NULL);\n}\n\n- (BOOL)isOnInternalLoggerQueue\n{\n    void *key = (__bridge void *)self;\n    return (dispatch_get_specific(key) != NULL);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDTTYLogger.h",
    "content": "#import <Foundation/Foundation.h>\n#if TARGET_OS_IPHONE\n#import <UIKit/UIColor.h>\n#else\n#import <AppKit/NSColor.h>\n#endif\n\n#import \"DDLog.h\"\n\n#define LOG_CONTEXT_ALL INT_MAX\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n * \n * \n * This class provides a logger for Terminal output or Xcode console output,\n * depending on where you are running your code.\n * \n * As described in the \"Getting Started\" page,\n * the traditional NSLog() function directs it's output to two places:\n * \n * - Apple System Log (so it shows up in Console.app)\n * - StdErr (if stderr is a TTY, so log statements show up in Xcode console)\n * \n * To duplicate NSLog() functionality you can simply add this logger and an asl logger.\n * However, if you instead choose to use file logging (for faster performance),\n * you may choose to use only a file logger and a tty logger.\n**/\n\n@interface DDTTYLogger : DDAbstractLogger <DDLogger>\n{\n    NSCalendar *calendar;\n    NSUInteger calendarUnitFlags;\n    \n    NSString *appName;\n    char *app;\n    size_t appLen;\n    \n    NSString *processID;\n    char *pid;\n    size_t pidLen;\n    \n    BOOL colorsEnabled;\n    NSMutableArray *colorProfilesArray;\n    NSMutableDictionary *colorProfilesDict;\n}\n\n+ (instancetype)sharedInstance;\n\n/* Inherited from the DDLogger protocol:\n * \n * Formatters may optionally be added to any logger.\n * \n * If no formatter is set, the logger simply logs the message as it is given in logMessage,\n * or it may use its own built in formatting style.\n * \n * More information about formatters can be found here:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters\n * \n * The actual implementation of these methods is inherited from DDAbstractLogger.\n\n- (id <DDLogFormatter>)logFormatter;\n- (void)setLogFormatter:(id <DDLogFormatter>)formatter;\n \n*/\n\n/**\n * Want to use different colors for different log levels?\n * Enable this property.\n * \n * If you run the application via the Terminal (not Xcode),\n * the logger will map colors to xterm-256color or xterm-color (if available).\n * \n * Xcode does NOT natively support colors in the Xcode debugging console.\n * You'll need to install the XcodeColors plugin to see colors in the Xcode console.\n * https://github.com/robbiehanson/XcodeColors\n * \n * The default value if NO.\n**/\n@property (readwrite, assign) BOOL colorsEnabled;\n\n/**\n * The default color set (foregroundColor, backgroundColor) is:\n * \n * - LOG_FLAG_ERROR = (red, nil)\n * - LOG_FLAG_WARN  = (orange, nil)\n * \n * You can customize the colors however you see fit.\n * Please note that you are passing a flag, NOT a level.\n * \n * GOOD : [ttyLogger setForegroundColor:pink backgroundColor:nil forFlag:LOG_FLAG_INFO];  // <- Good :)\n *  BAD : [ttyLogger setForegroundColor:pink backgroundColor:nil forFlag:LOG_LEVEL_INFO]; // <- BAD! :(\n * \n * LOG_FLAG_INFO  = 0...00100\n * LOG_LEVEL_INFO = 0...00111 <- Would match LOG_FLAG_INFO and LOG_FLAG_WARN and LOG_FLAG_ERROR\n * \n * If you run the application within Xcode, then the XcodeColors plugin is required.\n * \n * If you run the application from a shell, then DDTTYLogger will automatically map the given color to\n * the closest available color. (xterm-256color or xterm-color which have 256 and 16 supported colors respectively.)\n * \n * This method invokes setForegroundColor:backgroundColor:forFlag:context: and applies it to `LOG_CONTEXT_ALL`.\n**/\n#if TARGET_OS_IPHONE\n- (void)setForegroundColor:(UIColor *)txtColor backgroundColor:(UIColor *)bgColor forFlag:(int)mask;\n#else\n- (void)setForegroundColor:(NSColor *)txtColor backgroundColor:(NSColor *)bgColor forFlag:(int)mask;\n#endif\n\n/**\n * Just like setForegroundColor:backgroundColor:flag, but allows you to specify a particular logging context.\n * \n * A logging context is often used to identify log messages coming from a 3rd party framework,\n * although logging context's can be used for many different functions.\n * \n * Use LOG_CONTEXT_ALL to set the deafult color for all contexts that have no specific color set defined.\n * \n * Logging context's are explained in further detail here:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomContext\n**/\n#if TARGET_OS_IPHONE\n- (void)setForegroundColor:(UIColor *)txtColor backgroundColor:(UIColor *)bgColor forFlag:(int)mask context:(int)ctxt;\n#else\n- (void)setForegroundColor:(NSColor *)txtColor backgroundColor:(NSColor *)bgColor forFlag:(int)mask context:(int)ctxt;\n#endif\n\n/**\n * Similar to the methods above, but allows you to map DDLogMessage->tag to a particular color profile.\n * For example, you could do something like this:\n * \n * static NSString *const PurpleTag = @\"PurpleTag\";\n * \n * #define DDLogPurple(frmt, ...) LOG_OBJC_TAG_MACRO(NO, 0, 0, 0, PurpleTag, frmt, ##__VA_ARGS__)\n * \n * And then in your applicationDidFinishLaunching, or wherever you configure Lumberjack:\n * \n * #if TARGET_OS_IPHONE\n *   UIColor *purple = [UIColor colorWithRed:(64/255.0) green:(0/255.0) blue:(128/255.0) alpha:1.0];\n * #else\n *   NSColor *purple = [NSColor colorWithCalibratedRed:(64/255.0) green:(0/255.0) blue:(128/255.0) alpha:1.0];\n * \n * [[DDTTYLogger sharedInstance] setForegroundColor:purple backgroundColor:nil forTag:PurpleTag];\n * [DDLog addLogger:[DDTTYLogger sharedInstance]];\n * \n * This would essentially give you a straight NSLog replacement that prints in purple:\n * \n * DDLogPurple(@\"I'm a purple log message!\");\n**/\n#if TARGET_OS_IPHONE\n- (void)setForegroundColor:(UIColor *)txtColor backgroundColor:(UIColor *)bgColor forTag:(id <NSCopying>)tag;\n#else\n- (void)setForegroundColor:(NSColor *)txtColor backgroundColor:(NSColor *)bgColor forTag:(id <NSCopying>)tag;\n#endif\n\n/**\n * Clearing color profiles.\n**/\n- (void)clearColorsForFlag:(int)mask;\n- (void)clearColorsForFlag:(int)mask context:(int)context;\n- (void)clearColorsForTag:(id <NSCopying>)tag;\n- (void)clearColorsForAllFlags;\n- (void)clearColorsForAllTags;\n- (void)clearAllColors;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/DDTTYLogger.m",
    "content": "#import \"DDTTYLogger.h\"\n\n#import <unistd.h>\n#import <sys/uio.h>\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n**/\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// We probably shouldn't be using DDLog() statements within the DDLog implementation.\n// But we still want to leave our log statements for any future debugging,\n// and to allow other developers to trace the implementation (which is a great learning tool).\n// \n// So we use primitive logging macros around NSLog.\n// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog.\n\n#define LOG_LEVEL 2\n\n#define NSLogError(frmt, ...)    do{ if(LOG_LEVEL >= 1) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogWarn(frmt, ...)     do{ if(LOG_LEVEL >= 2) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogInfo(frmt, ...)     do{ if(LOG_LEVEL >= 3) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogDebug(frmt, ...)    do{ if(LOG_LEVEL >= 4) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogVerbose(frmt, ...)  do{ if(LOG_LEVEL >= 5) NSLog((frmt), ##__VA_ARGS__); } while(0)\n\n// Xcode does NOT natively support colors in the Xcode debugging console.\n// You'll need to install the XcodeColors plugin to see colors in the Xcode console.\n// https://github.com/robbiehanson/XcodeColors\n// \n// The following is documentation from the XcodeColors project:\n// \n// \n// How to apply color formatting to your log statements:\n// \n// To set the foreground color:\n// Insert the ESCAPE_SEQ into your string, followed by \"fg124,12,255;\" where r=124, g=12, b=255.\n// \n// To set the background color:\n// Insert the ESCAPE_SEQ into your string, followed by \"bg12,24,36;\" where r=12, g=24, b=36.\n// \n// To reset the foreground color (to default value):\n// Insert the ESCAPE_SEQ into your string, followed by \"fg;\"\n// \n// To reset the background color (to default value):\n// Insert the ESCAPE_SEQ into your string, followed by \"bg;\"\n// \n// To reset the foreground and background color (to default values) in one operation:\n// Insert the ESCAPE_SEQ into your string, followed by \";\"\n\n#define XCODE_COLORS_ESCAPE_SEQ \"\\033[\"\n\n#define XCODE_COLORS_RESET_FG  XCODE_COLORS_ESCAPE_SEQ \"fg;\" // Clear any foreground color\n#define XCODE_COLORS_RESET_BG  XCODE_COLORS_ESCAPE_SEQ \"bg;\" // Clear any background color\n#define XCODE_COLORS_RESET     XCODE_COLORS_ESCAPE_SEQ \";\"   // Clear any foreground or background color\n\n// Some simple defines to make life easier on ourself\n\n#if TARGET_OS_IPHONE\n  #define MakeColor(r, g, b) [UIColor colorWithRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:1.0f]\n#else\n  #define MakeColor(r, g, b) [NSColor colorWithCalibratedRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:1.0f]\n#endif\n\n#if TARGET_OS_IPHONE\n  #define OSColor UIColor\n#else\n  #define OSColor NSColor\n#endif\n\n// If running in a shell, not all RGB colors will be supported.\n// In this case we automatically map to the closest available color.\n// In order to provide this mapping, we have a hard-coded set of the standard RGB values available in the shell.\n// However, not every shell is the same, and Apple likes to think different even when it comes to shell colors.\n// \n// Map to standard Terminal.app colors (1), or\n// map to standard xterm colors (0).\n\n#define MAP_TO_TERMINAL_APP_COLORS 1\n\n\n@interface DDTTYLoggerColorProfile : NSObject {\n@public\n    int mask;\n    int context;\n    \n    uint8_t fg_r;\n    uint8_t fg_g;\n    uint8_t fg_b;\n    \n    uint8_t bg_r;\n    uint8_t bg_g;\n    uint8_t bg_b;\n    \n    NSUInteger fgCodeIndex;\n    NSString *fgCodeRaw;\n    \n    NSUInteger bgCodeIndex;\n    NSString *bgCodeRaw;\n    \n    char fgCode[24];\n    size_t fgCodeLen;\n    \n    char bgCode[24];\n    size_t bgCodeLen;\n    \n    char resetCode[8];\n    size_t resetCodeLen;\n}\n\n- (instancetype)initWithForegroundColor:(OSColor *)fgColor backgroundColor:(OSColor *)bgColor flag:(int)mask context:(int)ctxt;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDTTYLogger\n\nstatic BOOL isaColorTTY;\nstatic BOOL isaColor256TTY;\nstatic BOOL isaXcodeColorTTY;\n\nstatic NSArray *codes_fg = nil;\nstatic NSArray *codes_bg = nil;\nstatic NSArray *colors   = nil;\n\nstatic DDTTYLogger *sharedInstance;\n\n/**\n * Initializes the colors array, as well as the codes_fg and codes_bg arrays, for 16 color mode.\n * \n * This method is used when the application is running from within a shell that only supports 16 color mode.\n * This method is not invoked if the application is running within Xcode, or via normal UI app launch.\n**/\n+ (void)initialize_colors_16\n{\n    if (codes_fg || codes_bg || colors) return;\n    \n    NSMutableArray *m_codes_fg = [NSMutableArray arrayWithCapacity:16];\n    NSMutableArray *m_codes_bg = [NSMutableArray arrayWithCapacity:16];\n    NSMutableArray *m_colors   = [NSMutableArray arrayWithCapacity:16];\n    \n    // In a standard shell only 16 colors are supported.\n    // \n    // More information about ansi escape codes can be found online.\n    // http://en.wikipedia.org/wiki/ANSI_escape_code\n    \n    [m_codes_fg addObject:@\"30m\"];   // normal - black\n    [m_codes_fg addObject:@\"31m\"];   // normal - red\n    [m_codes_fg addObject:@\"32m\"];   // normal - green\n    [m_codes_fg addObject:@\"33m\"];   // normal - yellow\n    [m_codes_fg addObject:@\"34m\"];   // normal - blue\n    [m_codes_fg addObject:@\"35m\"];   // normal - magenta\n    [m_codes_fg addObject:@\"36m\"];   // normal - cyan\n    [m_codes_fg addObject:@\"37m\"];   // normal - gray\n    [m_codes_fg addObject:@\"1;30m\"]; // bright - darkgray\n    [m_codes_fg addObject:@\"1;31m\"]; // bright - red\n    [m_codes_fg addObject:@\"1;32m\"]; // bright - green\n    [m_codes_fg addObject:@\"1;33m\"]; // bright - yellow\n    [m_codes_fg addObject:@\"1;34m\"]; // bright - blue\n    [m_codes_fg addObject:@\"1;35m\"]; // bright - magenta\n    [m_codes_fg addObject:@\"1;36m\"]; // bright - cyan\n    [m_codes_fg addObject:@\"1;37m\"]; // bright - white\n    \n    [m_codes_bg addObject:@\"40m\"];   // normal - black\n    [m_codes_bg addObject:@\"41m\"];   // normal - red\n    [m_codes_bg addObject:@\"42m\"];   // normal - green\n    [m_codes_bg addObject:@\"43m\"];   // normal - yellow\n    [m_codes_bg addObject:@\"44m\"];   // normal - blue\n    [m_codes_bg addObject:@\"45m\"];   // normal - magenta\n    [m_codes_bg addObject:@\"46m\"];   // normal - cyan\n    [m_codes_bg addObject:@\"47m\"];   // normal - gray\n    [m_codes_bg addObject:@\"1;40m\"]; // bright - darkgray\n    [m_codes_bg addObject:@\"1;41m\"]; // bright - red\n    [m_codes_bg addObject:@\"1;42m\"]; // bright - green\n    [m_codes_bg addObject:@\"1;43m\"]; // bright - yellow\n    [m_codes_bg addObject:@\"1;44m\"]; // bright - blue\n    [m_codes_bg addObject:@\"1;45m\"]; // bright - magenta\n    [m_codes_bg addObject:@\"1;46m\"]; // bright - cyan\n    [m_codes_bg addObject:@\"1;47m\"]; // bright - white\n    \n#if MAP_TO_TERMINAL_APP_COLORS\n    \n    // Standard Terminal.app colors:\n    // \n    // These are the default colors used by Apple's Terminal.app.\n    \n    [m_colors addObject:MakeColor(  0,   0,   0)]; // normal - black\n    [m_colors addObject:MakeColor(194,  54,  33)]; // normal - red\n    [m_colors addObject:MakeColor( 37, 188,  36)]; // normal - green\n    [m_colors addObject:MakeColor(173, 173,  39)]; // normal - yellow\n    [m_colors addObject:MakeColor( 73,  46, 225)]; // normal - blue\n    [m_colors addObject:MakeColor(211,  56, 211)]; // normal - magenta\n    [m_colors addObject:MakeColor( 51, 187, 200)]; // normal - cyan\n    [m_colors addObject:MakeColor(203, 204, 205)]; // normal - gray\n    [m_colors addObject:MakeColor(129, 131, 131)]; // bright - darkgray\n    [m_colors addObject:MakeColor(252,  57,  31)]; // bright - red\n    [m_colors addObject:MakeColor( 49, 231,  34)]; // bright - green\n    [m_colors addObject:MakeColor(234, 236,  35)]; // bright - yellow\n    [m_colors addObject:MakeColor( 88,  51, 255)]; // bright - blue\n    [m_colors addObject:MakeColor(249,  53, 248)]; // bright - magenta\n    [m_colors addObject:MakeColor( 20, 240, 240)]; // bright - cyan\n    [m_colors addObject:MakeColor(233, 235, 235)]; // bright - white\n    \n#else\n    \n    // Standard xterm colors:\n    // \n    // These are the default colors used by most xterm shells.\n    \n    [m_colors addObject:MakeColor(  0,   0,   0)]; // normal - black\n    [m_colors addObject:MakeColor(205,   0,   0)]; // normal - red\n    [m_colors addObject:MakeColor(  0, 205,   0)]; // normal - green\n    [m_colors addObject:MakeColor(205, 205,   0)]; // normal - yellow\n    [m_colors addObject:MakeColor(  0,   0, 238)]; // normal - blue\n    [m_colors addObject:MakeColor(205,   0, 205)]; // normal - magenta\n    [m_colors addObject:MakeColor(  0, 205, 205)]; // normal - cyan\n    [m_colors addObject:MakeColor(229, 229, 229)]; // normal - gray\n    [m_colors addObject:MakeColor(127, 127, 127)]; // bright - darkgray\n    [m_colors addObject:MakeColor(255,   0,   0)]; // bright - red\n    [m_colors addObject:MakeColor(  0, 255,   0)]; // bright - green\n    [m_colors addObject:MakeColor(255, 255,   0)]; // bright - yellow\n    [m_colors addObject:MakeColor( 92,  92, 255)]; // bright - blue\n    [m_colors addObject:MakeColor(255,   0, 255)]; // bright - magenta\n    [m_colors addObject:MakeColor(  0, 255, 255)]; // bright - cyan\n    [m_colors addObject:MakeColor(255, 255, 255)]; // bright - white\n    \n#endif\n    \n    codes_fg = [m_codes_fg copy];\n    codes_bg = [m_codes_bg copy];\n    colors   = [m_colors   copy];\n    \n    NSAssert([codes_fg count] == [codes_bg count], @\"Invalid colors/codes array(s)\");\n    NSAssert([codes_fg count] == [colors count],   @\"Invalid colors/codes array(s)\");\n}\n\n/**\n * Initializes the colors array, as well as the codes_fg and codes_bg arrays, for 256 color mode.\n * \n * This method is used when the application is running from within a shell that supports 256 color mode.\n * This method is not invoked if the application is running within Xcode, or via normal UI app launch.\n**/\n+ (void)initialize_colors_256\n{\n    if (codes_fg || codes_bg || colors) return;\n    \n    NSMutableArray *m_codes_fg = [NSMutableArray arrayWithCapacity:(256-16)];\n    NSMutableArray *m_codes_bg = [NSMutableArray arrayWithCapacity:(256-16)];\n    NSMutableArray *m_colors   = [NSMutableArray arrayWithCapacity:(256-16)];\n    \n    #if MAP_TO_TERMINAL_APP_COLORS\n    \n    // Standard Terminal.app colors:\n    // \n    // These are the colors the Terminal.app uses in xterm-256color mode.\n    // In this mode, the terminal supports 256 different colors, specified by 256 color codes.\n    // \n    // The first 16 color codes map to the original 16 color codes supported by the earlier xterm-color mode.\n    // These are actually configurable, and thus we ignore them for the purposes of mapping,\n    // as we can't rely on them being constant. They are largely duplicated anyway.\n    // \n    // The next 216 color codes are designed to run the spectrum, with several shades of every color.\n    // While the color codes are standardized, the actual RGB values for each color code is not.\n    // Apple's Terminal.app uses different RGB values from that of a standard xterm.\n    // Apple's choices in colors are designed to be a little nicer on the eyes.\n    // \n    // The last 24 color codes represent a grayscale.\n    // \n    // Unfortunately, unlike the standard xterm color chart,\n    // Apple's RGB values cannot be calculated using a simple formula (at least not that I know of).\n    // Also, I don't know of any ways to programmatically query the shell for the RGB values.\n    // So this big giant color chart had to be made by hand.\n    // \n    // More information about ansi escape codes can be found online.\n    // http://en.wikipedia.org/wiki/ANSI_escape_code\n    \n    // Colors\n    \n    [m_colors addObject:MakeColor( 47,  49,  49)];\n    [m_colors addObject:MakeColor( 60,  42, 144)];\n    [m_colors addObject:MakeColor( 66,  44, 183)];\n    [m_colors addObject:MakeColor( 73,  46, 222)];\n    [m_colors addObject:MakeColor( 81,  50, 253)];\n    [m_colors addObject:MakeColor( 88,  51, 255)];\n    \n    [m_colors addObject:MakeColor( 42, 128,  37)];\n    [m_colors addObject:MakeColor( 42, 127, 128)];\n    [m_colors addObject:MakeColor( 44, 126, 169)];\n    [m_colors addObject:MakeColor( 56, 125, 209)];\n    [m_colors addObject:MakeColor( 59, 124, 245)];\n    [m_colors addObject:MakeColor( 66, 123, 255)];\n    \n    [m_colors addObject:MakeColor( 51, 163,  41)];\n    [m_colors addObject:MakeColor( 39, 162, 121)];\n    [m_colors addObject:MakeColor( 42, 161, 162)];\n    [m_colors addObject:MakeColor( 53, 160, 202)];\n    [m_colors addObject:MakeColor( 45, 159, 240)];\n    [m_colors addObject:MakeColor( 58, 158, 255)];\n    \n    [m_colors addObject:MakeColor( 31, 196,  37)];\n    [m_colors addObject:MakeColor( 48, 196, 115)];\n    [m_colors addObject:MakeColor( 39, 195, 155)];\n    [m_colors addObject:MakeColor( 49, 195, 195)];\n    [m_colors addObject:MakeColor( 32, 194, 235)];\n    [m_colors addObject:MakeColor( 53, 193, 255)];\n    \n    [m_colors addObject:MakeColor( 50, 229,  35)];\n    [m_colors addObject:MakeColor( 40, 229, 109)];\n    [m_colors addObject:MakeColor( 27, 229, 149)];\n    [m_colors addObject:MakeColor( 49, 228, 189)];\n    [m_colors addObject:MakeColor( 33, 228, 228)];\n    [m_colors addObject:MakeColor( 53, 227, 255)];\n    \n    [m_colors addObject:MakeColor( 27, 254,  30)];\n    [m_colors addObject:MakeColor( 30, 254, 103)];\n    [m_colors addObject:MakeColor( 45, 254, 143)];\n    [m_colors addObject:MakeColor( 38, 253, 182)];\n    [m_colors addObject:MakeColor( 38, 253, 222)];\n    [m_colors addObject:MakeColor( 42, 253, 252)];\n    \n    [m_colors addObject:MakeColor(140,  48,  40)];\n    [m_colors addObject:MakeColor(136,  51, 136)];\n    [m_colors addObject:MakeColor(135,  52, 177)];\n    [m_colors addObject:MakeColor(134,  52, 217)];\n    [m_colors addObject:MakeColor(135,  56, 248)];\n    [m_colors addObject:MakeColor(134,  53, 255)];\n    \n    [m_colors addObject:MakeColor(125, 125,  38)];\n    [m_colors addObject:MakeColor(124, 125, 125)];\n    [m_colors addObject:MakeColor(122, 124, 166)];\n    [m_colors addObject:MakeColor(123, 124, 207)];\n    [m_colors addObject:MakeColor(123, 122, 247)];\n    [m_colors addObject:MakeColor(124, 121, 255)];\n    \n    [m_colors addObject:MakeColor(119, 160,  35)];\n    [m_colors addObject:MakeColor(117, 160, 120)];\n    [m_colors addObject:MakeColor(117, 160, 160)];\n    [m_colors addObject:MakeColor(115, 159, 201)];\n    [m_colors addObject:MakeColor(116, 158, 240)];\n    [m_colors addObject:MakeColor(117, 157, 255)];\n    \n    [m_colors addObject:MakeColor(113, 195,  39)];\n    [m_colors addObject:MakeColor(110, 194, 114)];\n    [m_colors addObject:MakeColor(111, 194, 154)];\n    [m_colors addObject:MakeColor(108, 194, 194)];\n    [m_colors addObject:MakeColor(109, 193, 234)];\n    [m_colors addObject:MakeColor(108, 192, 255)];\n    \n    [m_colors addObject:MakeColor(105, 228,  30)];\n    [m_colors addObject:MakeColor(103, 228, 109)];\n    [m_colors addObject:MakeColor(105, 228, 148)];\n    [m_colors addObject:MakeColor(100, 227, 188)];\n    [m_colors addObject:MakeColor( 99, 227, 227)];\n    [m_colors addObject:MakeColor( 99, 226, 253)];\n    \n    [m_colors addObject:MakeColor( 92, 253,  34)];\n    [m_colors addObject:MakeColor( 96, 253, 103)];\n    [m_colors addObject:MakeColor( 97, 253, 142)];\n    [m_colors addObject:MakeColor( 88, 253, 182)];\n    [m_colors addObject:MakeColor( 93, 253, 221)];\n    [m_colors addObject:MakeColor( 88, 254, 251)];\n    \n    [m_colors addObject:MakeColor(177,  53,  34)];\n    [m_colors addObject:MakeColor(174,  54, 131)];\n    [m_colors addObject:MakeColor(172,  55, 172)];\n    [m_colors addObject:MakeColor(171,  57, 213)];\n    [m_colors addObject:MakeColor(170,  55, 249)];\n    [m_colors addObject:MakeColor(170,  57, 255)];\n    \n    [m_colors addObject:MakeColor(165, 123,  37)];\n    [m_colors addObject:MakeColor(163, 123, 123)];\n    [m_colors addObject:MakeColor(162, 123, 164)];\n    [m_colors addObject:MakeColor(161, 122, 205)];\n    [m_colors addObject:MakeColor(161, 121, 241)];\n    [m_colors addObject:MakeColor(161, 121, 255)];\n    \n    [m_colors addObject:MakeColor(158, 159,  33)];\n    [m_colors addObject:MakeColor(157, 158, 118)];\n    [m_colors addObject:MakeColor(157, 158, 159)];\n    [m_colors addObject:MakeColor(155, 157, 199)];\n    [m_colors addObject:MakeColor(155, 157, 239)];\n    [m_colors addObject:MakeColor(154, 156, 255)];\n    \n    [m_colors addObject:MakeColor(152, 193,  40)];\n    [m_colors addObject:MakeColor(151, 193, 113)];\n    [m_colors addObject:MakeColor(150, 193, 153)];\n    [m_colors addObject:MakeColor(150, 192, 193)];\n    [m_colors addObject:MakeColor(148, 192, 232)];\n    [m_colors addObject:MakeColor(149, 191, 253)];\n    \n    [m_colors addObject:MakeColor(146, 227,  28)];\n    [m_colors addObject:MakeColor(144, 227, 108)];\n    [m_colors addObject:MakeColor(144, 227, 147)];\n    [m_colors addObject:MakeColor(144, 227, 187)];\n    [m_colors addObject:MakeColor(142, 226, 227)];\n    [m_colors addObject:MakeColor(142, 225, 252)];\n    \n    [m_colors addObject:MakeColor(138, 253,  36)];\n    [m_colors addObject:MakeColor(137, 253, 102)];\n    [m_colors addObject:MakeColor(136, 253, 141)];\n    [m_colors addObject:MakeColor(138, 254, 181)];\n    [m_colors addObject:MakeColor(135, 255, 220)];\n    [m_colors addObject:MakeColor(133, 255, 250)];\n    \n    [m_colors addObject:MakeColor(214,  57,  30)];\n    [m_colors addObject:MakeColor(211,  59, 126)];\n    [m_colors addObject:MakeColor(209,  57, 168)];\n    [m_colors addObject:MakeColor(208,  55, 208)];\n    [m_colors addObject:MakeColor(207,  58, 247)];\n    [m_colors addObject:MakeColor(206,  61, 255)];\n    \n    [m_colors addObject:MakeColor(204, 121,  32)];\n    [m_colors addObject:MakeColor(202, 121, 121)];\n    [m_colors addObject:MakeColor(201, 121, 161)];\n    [m_colors addObject:MakeColor(200, 120, 202)];\n    [m_colors addObject:MakeColor(200, 120, 241)];\n    [m_colors addObject:MakeColor(198, 119, 255)];\n    \n    [m_colors addObject:MakeColor(198, 157,  37)];\n    [m_colors addObject:MakeColor(196, 157, 116)];\n    [m_colors addObject:MakeColor(195, 156, 157)];\n    [m_colors addObject:MakeColor(195, 156, 197)];\n    [m_colors addObject:MakeColor(194, 155, 236)];\n    [m_colors addObject:MakeColor(193, 155, 255)];\n    \n    [m_colors addObject:MakeColor(191, 192,  36)];\n    [m_colors addObject:MakeColor(190, 191, 112)];\n    [m_colors addObject:MakeColor(189, 191, 152)];\n    [m_colors addObject:MakeColor(189, 191, 191)];\n    [m_colors addObject:MakeColor(188, 190, 230)];\n    [m_colors addObject:MakeColor(187, 190, 253)];\n    \n    [m_colors addObject:MakeColor(185, 226,  28)];\n    [m_colors addObject:MakeColor(184, 226, 106)];\n    [m_colors addObject:MakeColor(183, 225, 146)];\n    [m_colors addObject:MakeColor(183, 225, 186)];\n    [m_colors addObject:MakeColor(182, 225, 225)];\n    [m_colors addObject:MakeColor(181, 224, 252)];\n    \n    [m_colors addObject:MakeColor(178, 255,  35)];\n    [m_colors addObject:MakeColor(178, 255, 101)];\n    [m_colors addObject:MakeColor(177, 254, 141)];\n    [m_colors addObject:MakeColor(176, 254, 180)];\n    [m_colors addObject:MakeColor(176, 254, 220)];\n    [m_colors addObject:MakeColor(175, 253, 249)];\n    \n    [m_colors addObject:MakeColor(247,  56,  30)];\n    [m_colors addObject:MakeColor(245,  57, 122)];\n    [m_colors addObject:MakeColor(243,  59, 163)];\n    [m_colors addObject:MakeColor(244,  60, 204)];\n    [m_colors addObject:MakeColor(242,  59, 241)];\n    [m_colors addObject:MakeColor(240,  55, 255)];\n    \n    [m_colors addObject:MakeColor(241, 119,  36)];\n    [m_colors addObject:MakeColor(240, 120, 118)];\n    [m_colors addObject:MakeColor(238, 119, 158)];\n    [m_colors addObject:MakeColor(237, 119, 199)];\n    [m_colors addObject:MakeColor(237, 118, 238)];\n    [m_colors addObject:MakeColor(236, 118, 255)];\n    \n    [m_colors addObject:MakeColor(235, 154,  36)];\n    [m_colors addObject:MakeColor(235, 154, 114)];\n    [m_colors addObject:MakeColor(234, 154, 154)];\n    [m_colors addObject:MakeColor(232, 154, 194)];\n    [m_colors addObject:MakeColor(232, 153, 234)];\n    [m_colors addObject:MakeColor(232, 153, 255)];\n    \n    [m_colors addObject:MakeColor(230, 190,  30)];\n    [m_colors addObject:MakeColor(229, 189, 110)];\n    [m_colors addObject:MakeColor(228, 189, 150)];\n    [m_colors addObject:MakeColor(227, 189, 190)];\n    [m_colors addObject:MakeColor(227, 189, 229)];\n    [m_colors addObject:MakeColor(226, 188, 255)];\n    \n    [m_colors addObject:MakeColor(224, 224,  35)];\n    [m_colors addObject:MakeColor(223, 224, 105)];\n    [m_colors addObject:MakeColor(222, 224, 144)];\n    [m_colors addObject:MakeColor(222, 223, 184)];\n    [m_colors addObject:MakeColor(222, 223, 224)];\n    [m_colors addObject:MakeColor(220, 223, 253)];\n    \n    [m_colors addObject:MakeColor(217, 253,  28)];\n    [m_colors addObject:MakeColor(217, 253,  99)];\n    [m_colors addObject:MakeColor(216, 252, 139)];\n    [m_colors addObject:MakeColor(216, 252, 179)];\n    [m_colors addObject:MakeColor(215, 252, 218)];\n    [m_colors addObject:MakeColor(215, 251, 250)];\n    \n    [m_colors addObject:MakeColor(255,  61,  30)];\n    [m_colors addObject:MakeColor(255,  60, 118)];\n    [m_colors addObject:MakeColor(255,  58, 159)];\n    [m_colors addObject:MakeColor(255,  56, 199)];\n    [m_colors addObject:MakeColor(255,  55, 238)];\n    [m_colors addObject:MakeColor(255,  59, 255)];\n    \n    [m_colors addObject:MakeColor(255, 117,  29)];\n    [m_colors addObject:MakeColor(255, 117, 115)];\n    [m_colors addObject:MakeColor(255, 117, 155)];\n    [m_colors addObject:MakeColor(255, 117, 195)];\n    [m_colors addObject:MakeColor(255, 116, 235)];\n    [m_colors addObject:MakeColor(254, 116, 255)];\n    \n    [m_colors addObject:MakeColor(255, 152,  27)];\n    [m_colors addObject:MakeColor(255, 152, 111)];\n    [m_colors addObject:MakeColor(254, 152, 152)];\n    [m_colors addObject:MakeColor(255, 152, 192)];\n    [m_colors addObject:MakeColor(254, 151, 231)];\n    [m_colors addObject:MakeColor(253, 151, 253)];\n    \n    [m_colors addObject:MakeColor(255, 187,  33)];\n    [m_colors addObject:MakeColor(253, 187, 107)];\n    [m_colors addObject:MakeColor(252, 187, 148)];\n    [m_colors addObject:MakeColor(253, 187, 187)];\n    [m_colors addObject:MakeColor(254, 187, 227)];\n    [m_colors addObject:MakeColor(252, 186, 252)];\n    \n    [m_colors addObject:MakeColor(252, 222,  34)];\n    [m_colors addObject:MakeColor(251, 222, 103)];\n    [m_colors addObject:MakeColor(251, 222, 143)];\n    [m_colors addObject:MakeColor(250, 222, 182)];\n    [m_colors addObject:MakeColor(251, 221, 222)];\n    [m_colors addObject:MakeColor(252, 221, 252)];\n    \n    [m_colors addObject:MakeColor(251, 252,  15)];\n    [m_colors addObject:MakeColor(251, 252,  97)];\n    [m_colors addObject:MakeColor(249, 252, 137)];\n    [m_colors addObject:MakeColor(247, 252, 177)];\n    [m_colors addObject:MakeColor(247, 253, 217)];\n    [m_colors addObject:MakeColor(254, 255, 255)];\n    \n    // Grayscale\n    \n    [m_colors addObject:MakeColor( 52,  53,  53)];\n    [m_colors addObject:MakeColor( 57,  58,  59)];\n    [m_colors addObject:MakeColor( 66,  67,  67)];\n    [m_colors addObject:MakeColor( 75,  76,  76)];\n    [m_colors addObject:MakeColor( 83,  85,  85)];\n    [m_colors addObject:MakeColor( 92,  93,  94)];\n    \n    [m_colors addObject:MakeColor(101, 102, 102)];\n    [m_colors addObject:MakeColor(109, 111, 111)];\n    [m_colors addObject:MakeColor(118, 119, 119)];\n    [m_colors addObject:MakeColor(126, 127, 128)];\n    [m_colors addObject:MakeColor(134, 136, 136)];\n    [m_colors addObject:MakeColor(143, 144, 145)];\n    \n    [m_colors addObject:MakeColor(151, 152, 153)];\n    [m_colors addObject:MakeColor(159, 161, 161)];\n    [m_colors addObject:MakeColor(167, 169, 169)];\n    [m_colors addObject:MakeColor(176, 177, 177)];\n    [m_colors addObject:MakeColor(184, 185, 186)];\n    [m_colors addObject:MakeColor(192, 193, 194)];\n    \n    [m_colors addObject:MakeColor(200, 201, 202)];\n    [m_colors addObject:MakeColor(208, 209, 210)];\n    [m_colors addObject:MakeColor(216, 218, 218)];\n    [m_colors addObject:MakeColor(224, 226, 226)];\n    [m_colors addObject:MakeColor(232, 234, 234)];\n    [m_colors addObject:MakeColor(240, 242, 242)];\n    \n    // Color codes\n    \n    int index = 16;\n    \n    while (index < 256)\n    {\n        [m_codes_fg addObject:[NSString stringWithFormat:@\"38;5;%dm\", index]];\n        [m_codes_bg addObject:[NSString stringWithFormat:@\"48;5;%dm\", index]];\n        \n        index++;\n    }\n    \n    #else\n    \n    // Standard xterm colors:\n    // \n    // These are the colors xterm shells use in xterm-256color mode.\n    // In this mode, the shell supports 256 different colors, specified by 256 color codes.\n    // \n    // The first 16 color codes map to the original 16 color codes supported by the earlier xterm-color mode.\n    // These are generally configurable, and thus we ignore them for the purposes of mapping,\n    // as we can't rely on them being constant. They are largely duplicated anyway.\n    // \n    // The next 216 color codes are designed to run the spectrum, with several shades of every color.\n    // The last 24 color codes represent a grayscale.\n    // \n    // While the color codes are standardized, the actual RGB values for each color code is not.\n    // However most standard xterms follow a well known color chart,\n    // which can easily be calculated using the simple formula below.\n    // \n    // More information about ansi escape codes can be found online.\n    // http://en.wikipedia.org/wiki/ANSI_escape_code\n    \n    int index = 16;\n    \n    int r; // red\n    int g; // green\n    int b; // blue\n    \n    int ri; // r increment\n    int gi; // g increment\n    int bi; // b increment\n    \n    // Calculate xterm colors (using standard algorithm)\n    \n    int r = 0;\n    int g = 0;\n    int b = 0;\n    \n    for (ri = 0; ri < 6; ri++)\n    {\n        r = (ri == 0) ? 0 : 95 + (40 * (ri - 1));\n        \n        for (gi = 0; gi < 6; gi++)\n        {\n            g = (gi == 0) ? 0 : 95 + (40 * (gi - 1));\n            \n            for (bi = 0; bi < 6; bi++)\n            {\n                b = (bi == 0) ? 0 : 95 + (40 * (bi - 1));\n                \n                [m_codes_fg addObject:[NSString stringWithFormat:@\"38;5;%dm\", index]];\n                [m_codes_bg addObject:[NSString stringWithFormat:@\"48;5;%dm\", index]];\n                [m_colors addObject:MakeColor(r, g, b)];\n                \n                index++;\n            }\n        }\n    }\n    \n    // Calculate xterm grayscale (using standard algorithm)\n    \n    r = 8;\n    g = 8;\n    b = 8;\n    \n    while (index < 256)\n    {\n        [m_codes_fg addObject:[NSString stringWithFormat:@\"38;5;%dm\", index]];\n        [m_codes_bg addObject:[NSString stringWithFormat:@\"48;5;%dm\", index]];\n        [m_colors addObject:MakeColor(r, g, b)];\n        \n        r += 10;\n        g += 10;\n        b += 10;\n        \n        index++;\n    }\n    \n    #endif\n    \n    codes_fg = [m_codes_fg copy];\n    codes_bg = [m_codes_bg copy];\n    colors   = [m_colors   copy];\n             \n    NSAssert([codes_fg count] == [codes_bg count], @\"Invalid colors/codes array(s)\");\n    NSAssert([codes_fg count] == [colors count],   @\"Invalid colors/codes array(s)\");\n}\n\n+ (void)getRed:(CGFloat *)rPtr green:(CGFloat *)gPtr blue:(CGFloat *)bPtr fromColor:(OSColor *)color\n{\n    #if TARGET_OS_IPHONE\n    \n    // iOS\n    \n    BOOL done = NO;\n    \n    if ([color respondsToSelector:@selector(getRed:green:blue:alpha:)])\n    {\n        done = [color getRed:rPtr green:gPtr blue:bPtr alpha:NULL];\n    }\n    \n    if (!done)\n    {\n        // The method getRed:green:blue:alpha: was only available starting iOS 5.\n        // So in iOS 4 and earlier, we have to jump through hoops.\n        \n        CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB();\n        \n        unsigned char pixel[4];\n        CGContextRef context = CGBitmapContextCreate(&pixel, 1, 1, 8, 4, rgbColorSpace, kCGBitmapAlphaInfoMask & kCGImageAlphaNoneSkipLast);\n        \n        CGContextSetFillColorWithColor(context, [color CGColor]);\n        CGContextFillRect(context, CGRectMake(0, 0, 1, 1));\n        \n        if (rPtr) { *rPtr = pixel[0] / 255.0f; }\n        if (gPtr) { *gPtr = pixel[1] / 255.0f; }\n        if (bPtr) { *bPtr = pixel[2] / 255.0f; }\n        \n        CGContextRelease(context);\n        CGColorSpaceRelease(rgbColorSpace);\n    }\n    \n    #else\n    \n    // Mac OS X\n    \n    NSColor *safeColor = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];\n    \n    [safeColor getRed:rPtr green:gPtr blue:bPtr alpha:NULL];\n    \n    #endif\n}\n\n/**\n * Maps the given color to the closest available color supported by the shell.\n * The shell may support 256 colors, or only 16.\n * \n * This method loops through the known supported color set, and calculates the closest color.\n * The array index of that color, within the colors array, is then returned.\n * This array index may also be used as the index within the codes_fg and codes_bg arrays.\n**/\n+ (NSUInteger)codeIndexForColor:(OSColor *)inColor\n{\n    CGFloat inR, inG, inB;\n    [self getRed:&inR green:&inG blue:&inB fromColor:inColor];\n    \n    NSUInteger bestIndex = 0;\n    CGFloat lowestDistance = 100.0f;\n    \n    NSUInteger i = 0;\n    for (OSColor *color in colors)\n    {\n        // Calculate Euclidean distance (lower value means closer to given color)\n        \n        CGFloat r, g, b;\n        [self getRed:&r green:&g blue:&b fromColor:color];\n        \n    #if CGFLOAT_IS_DOUBLE\n        CGFloat distance = sqrt(pow(r-inR, 2.0) + pow(g-inG, 2.0) + pow(b-inB, 2.0));\n    #else\n        CGFloat distance = sqrtf(powf(r-inR, 2.0f) + powf(g-inG, 2.0f) + powf(b-inB, 2.0f));\n    #endif\n        \n        NSLogVerbose(@\"DDTTYLogger: %3lu : %.3f,%.3f,%.3f & %.3f,%.3f,%.3f = %.6f\",\n                     (unsigned long)i, inR, inG, inB, r, g, b, distance);\n        \n        if (distance < lowestDistance)\n        {\n            bestIndex = i;\n            lowestDistance = distance;\n            \n            NSLogVerbose(@\"DDTTYLogger: New best index = %lu\", (unsigned long)bestIndex);\n        }\n        \n        i++;\n    }\n    \n    return bestIndex;\n}\n\n/**\n * The runtime sends initialize to each class in a program exactly one time just before the class,\n * or any class that inherits from it, is sent its first message from within the program. (Thus the\n * method may never be invoked if the class is not used.) The runtime sends the initialize message to\n * classes in a thread-safe manner. Superclasses receive this message before their subclasses.\n *\n * This method may also be called directly (assumably by accident), hence the safety mechanism.\n**/\n+ (void)initialize\n{\n    static BOOL initialized = NO;\n    if (!initialized)\n    {\n        initialized = YES;\n        \n        char *term = getenv(\"TERM\");\n        if (term)\n        {\n            if (strcasestr(term, \"color\") != NULL)\n            {\n                isaColorTTY = YES;\n                isaColor256TTY = (strcasestr(term, \"256\") != NULL);\n                \n                if (isaColor256TTY)\n                    [self initialize_colors_256];\n                else\n                    [self initialize_colors_16];\n            }\n        }\n        else\n        {\n            // Xcode does NOT natively support colors in the Xcode debugging console.\n            // You'll need to install the XcodeColors plugin to see colors in the Xcode console.\n            // \n            // PS - Please read the header file before diving into the source code.\n            \n            char *xcode_colors = getenv(\"XcodeColors\");\n            if (xcode_colors && (strcmp(xcode_colors, \"YES\") == 0))\n            {\n                isaXcodeColorTTY = YES;\n            }\n        }\n        \n        NSLogInfo(@\"DDTTYLogger: isaColorTTY = %@\", (isaColorTTY ? @\"YES\" : @\"NO\"));\n        NSLogInfo(@\"DDTTYLogger: isaColor256TTY: %@\", (isaColor256TTY ? @\"YES\" : @\"NO\"));\n        NSLogInfo(@\"DDTTYLogger: isaXcodeColorTTY: %@\", (isaXcodeColorTTY ? @\"YES\" : @\"NO\"));\n        \n        sharedInstance = [[[self class] alloc] init];\n    }\n}\n\n+ (instancetype)sharedInstance\n{\n    return sharedInstance;\n}\n\n- (id)init\n{\n    if (sharedInstance != nil)\n    {\n        return nil;\n    }\n    \n    if ((self = [super init]))\n    {\n        calendar = [NSCalendar autoupdatingCurrentCalendar];\n        \n        calendarUnitFlags = 0;\n        calendarUnitFlags |= NSYearCalendarUnit;\n        calendarUnitFlags |= NSMonthCalendarUnit;\n        calendarUnitFlags |= NSDayCalendarUnit;\n        calendarUnitFlags |= NSHourCalendarUnit;\n        calendarUnitFlags |= NSMinuteCalendarUnit;\n        calendarUnitFlags |= NSSecondCalendarUnit;\n        \n        // Initialze 'app' variable (char *)\n        \n        appName = [[NSProcessInfo processInfo] processName];\n        \n        appLen = [appName lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n        app = (char *)malloc(appLen + 1);\n        if (app == NULL) return nil;\n        \n        [appName getCString:app maxLength:(appLen+1) encoding:NSUTF8StringEncoding];\n        \n        // Initialize 'pid' variable (char *)\n        \n        processID = [NSString stringWithFormat:@\"%i\", (int)getpid()];\n        \n        pidLen = [processID lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n        pid = (char *)malloc(pidLen + 1);\n        if (pid == NULL) return nil;\n        \n        BOOL processedID = [processID getCString:pid maxLength:(pidLen+1) encoding:NSUTF8StringEncoding];\n        if (NO == processedID) return nil;\n        \n        // Initialize color stuff\n        \n        colorsEnabled = NO;\n        colorProfilesArray = [[NSMutableArray alloc] initWithCapacity:8];\n        colorProfilesDict = [[NSMutableDictionary alloc] initWithCapacity:8];\n    }\n    return self;\n}\n\n- (void)loadDefaultColorProfiles\n{\n    [self setForegroundColor:MakeColor(214,  57,  30) backgroundColor:nil forFlag:LOG_FLAG_ERROR];\n    [self setForegroundColor:MakeColor(204, 121,  32) backgroundColor:nil forFlag:LOG_FLAG_WARN];\n}\n\n- (BOOL)colorsEnabled\n{\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    __block BOOL result;\n    \n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(loggerQueue, ^{\n            result = colorsEnabled;\n        });\n    });\n    \n    return result;\n}\n\n- (void)setColorsEnabled:(BOOL)newColorsEnabled\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        colorsEnabled = newColorsEnabled;\n        \n        if ([colorProfilesArray count] == 0) {\n            [self loadDefaultColorProfiles];\n        }\n    }};\n    \n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n    \n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n    \n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n    \n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n    \n    dispatch_async(globalLoggingQueue, ^{\n        dispatch_async(loggerQueue, block);\n    });\n}\n\n- (void)setForegroundColor:(OSColor *)txtColor backgroundColor:(OSColor *)bgColor forFlag:(int)mask\n{\n    [self setForegroundColor:txtColor backgroundColor:bgColor forFlag:mask context:LOG_CONTEXT_ALL];\n}\n\n- (void)setForegroundColor:(OSColor *)txtColor backgroundColor:(OSColor *)bgColor forFlag:(int)mask context:(int)ctxt\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        DDTTYLoggerColorProfile *newColorProfile =\n            [[DDTTYLoggerColorProfile alloc] initWithForegroundColor:txtColor\n                                                     backgroundColor:bgColor\n                                                                flag:mask\n                                                             context:ctxt];\n        \n        NSLogInfo(@\"DDTTYLogger: newColorProfile: %@\", newColorProfile);\n        \n        NSUInteger i = 0;\n        for (DDTTYLoggerColorProfile *colorProfile in colorProfilesArray)\n        {\n            if ((colorProfile->mask == mask) && (colorProfile->context == ctxt))\n            {\n                break;\n            }\n            \n            i++;\n        }\n        \n        if (i < [colorProfilesArray count])\n            [colorProfilesArray replaceObjectAtIndex:i withObject:newColorProfile];\n        else\n            [colorProfilesArray addObject:newColorProfile];\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (void)setForegroundColor:(OSColor *)txtColor backgroundColor:(OSColor *)bgColor forTag:(id <NSCopying>)tag\n{\n    NSAssert([(id <NSObject>)tag conformsToProtocol:@protocol(NSCopying)], @\"Invalid tag\");\n    \n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        DDTTYLoggerColorProfile *newColorProfile =\n            [[DDTTYLoggerColorProfile alloc] initWithForegroundColor:txtColor\n                                                     backgroundColor:bgColor\n                                                                flag:0\n                                                             context:0];\n        \n        NSLogInfo(@\"DDTTYLogger: newColorProfile: %@\", newColorProfile);\n        \n        [colorProfilesDict setObject:newColorProfile forKey:tag];\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearColorsForFlag:(int)mask\n{\n    [self clearColorsForFlag:mask context:0];\n}\n\n- (void)clearColorsForFlag:(int)mask context:(int)context\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        NSUInteger i = 0;\n        for (DDTTYLoggerColorProfile *colorProfile in colorProfilesArray)\n        {\n            if ((colorProfile->mask == mask) && (colorProfile->context == context))\n            {\n                break;\n            }\n            \n            i++;\n        }\n        \n        if (i < [colorProfilesArray count])\n        {\n            [colorProfilesArray removeObjectAtIndex:i];\n        }\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearColorsForTag:(id <NSCopying>)tag\n{\n    NSAssert([(id <NSObject>)tag conformsToProtocol:@protocol(NSCopying)], @\"Invalid tag\");\n    \n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        [colorProfilesDict removeObjectForKey:tag];\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearColorsForAllFlags\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        [colorProfilesArray removeAllObjects];\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearColorsForAllTags\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        [colorProfilesDict removeAllObjects];\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearAllColors\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        [colorProfilesArray removeAllObjects];\n        [colorProfilesDict removeAllObjects];\n    }};\n    \n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n    \n    if ([self isOnInternalLoggerQueue])\n    {\n        block();\n    }\n    else\n    {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n        \n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(loggerQueue, block);\n        });\n    }\n}\n\n- (void)logMessage:(DDLogMessage *)logMessage\n{\n    NSString *logMsg = logMessage->logMsg;\n    BOOL isFormatted = NO;\n    \n    if (formatter)\n    {\n        logMsg = [formatter formatLogMessage:logMessage];\n        isFormatted = logMsg != logMessage->logMsg;\n    }\n    \n    if (logMsg)\n    {\n        // Search for a color profile associated with the log message\n        \n        DDTTYLoggerColorProfile *colorProfile = nil;\n        \n        if (colorsEnabled)\n        {\n            if (logMessage->tag)\n            {\n                colorProfile = [colorProfilesDict objectForKey:logMessage->tag];\n            }\n            if (colorProfile == nil)\n            {\n                for (DDTTYLoggerColorProfile *cp in colorProfilesArray)\n                {\n                    if (logMessage->logFlag & cp->mask)\n                    {\n                        // Color profile set for this context?\n                        if (logMessage->logContext == cp->context)\n                        {\n                            colorProfile = cp;\n                            \n                            // Stop searching\n                            break;\n                        }\n                        \n                        // Check if LOG_CONTEXT_ALL was specified as a default color for this flag\n                        if (cp->context == LOG_CONTEXT_ALL)\n                        {\n                            colorProfile = cp;\n                            \n                            // We don't break to keep searching for more specific color profiles for the context\n                        }\n                    }\n                }\n            }\n        }\n        \n        // Convert log message to C string.\n        // \n        // We use the stack instead of the heap for speed if possible.\n        // But we're extra cautious to avoid a stack overflow.\n        \n        NSUInteger msgLen = [logMsg lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n        const BOOL useStack = msgLen < (1024 * 4);\n        \n        char msgStack[useStack ? (msgLen + 1) : 1]; // Analyzer doesn't like zero-size array, hence the 1\n        char *msg = useStack ? msgStack : (char *)malloc(msgLen + 1);\n        if (msg == NULL) return;\n        \n        BOOL logMsgEnc = [logMsg getCString:msg maxLength:(msgLen + 1) encoding:NSUTF8StringEncoding];\n        if (!logMsgEnc)\n        {\n            if (!useStack && msg != NULL) free(msg);\n            return;\n        }\n        \n        // Write the log message to STDERR\n        \n        if (isFormatted)\n        {\n            // The log message has already been formatted.\n            \n            struct iovec v[5];\n            \n            if (colorProfile)\n            {\n                v[0].iov_base = colorProfile->fgCode;\n                v[0].iov_len = colorProfile->fgCodeLen;\n\n                v[1].iov_base = colorProfile->bgCode;\n                v[1].iov_len = colorProfile->bgCodeLen;\n\n                v[4].iov_base = colorProfile->resetCode;\n                v[4].iov_len = colorProfile->resetCodeLen;\n            }\n            else\n            {\n                v[0].iov_base = \"\";\n                v[0].iov_len = 0;\n                \n                v[1].iov_base = \"\";\n                v[1].iov_len = 0;\n                \n                v[4].iov_base = \"\";\n                v[4].iov_len = 0;\n            }\n            \n            v[2].iov_base = (char *)msg;\n            v[2].iov_len = msgLen;\n            \n            v[3].iov_base = \"\\n\";\n            v[3].iov_len = (msg[msgLen] == '\\n') ? 0 : 1;\n            \n            writev(STDERR_FILENO, v, 5);\n        }\n        else\n        {\n            // The log message is unformatted, so apply standard NSLog style formatting.\n            \n            int len;\n            \n            // Calculate timestamp.\n            // The technique below is faster than using NSDateFormatter.\n            \n            NSDateComponents *components = [calendar components:calendarUnitFlags fromDate:logMessage->timestamp];\n            \n            NSTimeInterval epoch = [logMessage->timestamp timeIntervalSinceReferenceDate];\n            int milliseconds = (int)((epoch - floor(epoch)) * 1000);\n            \n            char ts[24];\n            len = snprintf(ts, 24, \"%04ld-%02ld-%02ld %02ld:%02ld:%02ld:%03d\", // yyyy-MM-dd HH:mm:ss:SSS\n                           (long)components.year,\n                           (long)components.month,\n                           (long)components.day,\n                           (long)components.hour,\n                           (long)components.minute,\n                           (long)components.second, milliseconds);\n            \n            size_t tsLen = MIN(24-1, len);\n            \n            // Calculate thread ID\n            // \n            // How many characters do we need for the thread id?\n            // logMessage->machThreadID is of type mach_port_t, which is an unsigned int.\n            // \n            // 1 hex char = 4 bits\n            // 8 hex chars for 32 bit, plus ending '\\0' = 9\n            \n            char tid[9];\n            len = snprintf(tid, 9, \"%x\", logMessage->machThreadID);\n            \n            size_t tidLen = MIN(9-1, len);\n            \n            // Here is our format: \"%s %s[%i:%s] %s\", timestamp, appName, processID, threadID, logMsg\n            \n            struct iovec v[13];\n            \n            if (colorProfile)\n            {\n                v[0].iov_base = colorProfile->fgCode;\n                v[0].iov_len = colorProfile->fgCodeLen;\n\n                v[1].iov_base = colorProfile->bgCode;\n                v[1].iov_len = colorProfile->bgCodeLen;\n\n                v[12].iov_base = colorProfile->resetCode;\n                v[12].iov_len = colorProfile->resetCodeLen;\n            }\n            else\n            {\n                v[0].iov_base = \"\";\n                v[0].iov_len = 0;\n\n                v[1].iov_base = \"\";\n                v[1].iov_len = 0;\n\n                v[12].iov_base = \"\";\n                v[12].iov_len = 0;\n            }\n            \n            v[2].iov_base = ts;\n            v[2].iov_len = tsLen;\n            \n            v[3].iov_base = \" \";\n            v[3].iov_len = 1;\n            \n            v[4].iov_base = app;\n            v[4].iov_len = appLen;\n            \n            v[5].iov_base = \"[\";\n            v[5].iov_len = 1;\n            \n            v[6].iov_base = pid;\n            v[6].iov_len = pidLen;\n            \n            v[7].iov_base = \":\";\n            v[7].iov_len = 1;\n            \n            v[8].iov_base = tid;\n            v[8].iov_len = MIN((size_t)8, tidLen); // snprintf doesn't return what you might think\n            \n            v[9].iov_base = \"] \";\n            v[9].iov_len = 2;\n            \n            v[10].iov_base = (char *)msg;\n            v[10].iov_len = msgLen;\n            \n            v[11].iov_base = \"\\n\";\n            v[11].iov_len = (msg[msgLen] == '\\n') ? 0 : 1;\n            \n            writev(STDERR_FILENO, v, 13);\n        }\n        \n        if (!useStack) {\n            free(msg);\n        }\n    }\n}\n\n- (NSString *)loggerName\n{\n    return @\"cocoa.lumberjack.ttyLogger\";\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDTTYLoggerColorProfile\n\n- (instancetype)initWithForegroundColor:(OSColor *)fgColor backgroundColor:(OSColor *)bgColor flag:(int)aMask context:(int)ctxt\n{\n    if ((self = [super init]))\n    {\n        mask = aMask;\n        context = ctxt;\n        \n        CGFloat r, g, b;\n        \n        if (fgColor)\n        {\n            [DDTTYLogger getRed:&r green:&g blue:&b fromColor:fgColor];\n            \n            fg_r = (uint8_t)(r * 255.0f);\n            fg_g = (uint8_t)(g * 255.0f);\n            fg_b = (uint8_t)(b * 255.0f);\n        }\n        if (bgColor)\n        {\n            [DDTTYLogger getRed:&r green:&g blue:&b fromColor:bgColor];\n            \n            bg_r = (uint8_t)(r * 255.0f);\n            bg_g = (uint8_t)(g * 255.0f);\n            bg_b = (uint8_t)(b * 255.0f);\n        }\n        \n        if (fgColor && isaColorTTY)\n        {\n            // Map foreground color to closest available shell color\n            \n            fgCodeIndex = [DDTTYLogger codeIndexForColor:fgColor];\n            fgCodeRaw   = [codes_fg objectAtIndex:fgCodeIndex];\n            \n            NSString *escapeSeq = @\"\\033[\";\n            \n            NSUInteger len1 = [escapeSeq lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n            NSUInteger len2 = [fgCodeRaw lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n            \n            BOOL escapeSeqEnc = [escapeSeq getCString:(fgCode)      maxLength:(len1+1) encoding:NSUTF8StringEncoding];\n            BOOL fgCodeRawEsc = [fgCodeRaw getCString:(fgCode+len1) maxLength:(len2+1) encoding:NSUTF8StringEncoding];\n            if (!escapeSeqEnc || !fgCodeRawEsc) return nil;\n            \n            fgCodeLen = len1+len2;\n        }\n        else if (fgColor && isaXcodeColorTTY)\n        {\n            // Convert foreground color to color code sequence\n            \n            const char *escapeSeq = XCODE_COLORS_ESCAPE_SEQ;\n            \n            int result = snprintf(fgCode, 24, \"%sfg%u,%u,%u;\", escapeSeq, fg_r, fg_g, fg_b);\n            fgCodeLen = MIN(result, (24-1));\n        }\n        else\n        {\n            // No foreground color or no color support\n            \n            fgCode[0] = '\\0';\n            fgCodeLen = 0;\n        }\n        \n        if (bgColor && isaColorTTY)\n        {\n            // Map background color to closest available shell color\n            \n            bgCodeIndex = [DDTTYLogger codeIndexForColor:bgColor];\n            bgCodeRaw   = [codes_bg objectAtIndex:bgCodeIndex];\n            \n            NSString *escapeSeq = @\"\\033[\";\n            \n            NSUInteger len1 = [escapeSeq lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n            NSUInteger len2 = [bgCodeRaw lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n            \n            BOOL escapeSeqEnc = [escapeSeq getCString:(bgCode)      maxLength:(len1+1) encoding:NSUTF8StringEncoding];\n            BOOL bgCodeRawEsc = [bgCodeRaw getCString:(bgCode+len1) maxLength:(len2+1) encoding:NSUTF8StringEncoding];\n            if (!escapeSeqEnc || !bgCodeRawEsc) return nil;\n            \n            bgCodeLen = len1+len2;\n        }\n        else if (bgColor && isaXcodeColorTTY)\n        {\n            // Convert background color to color code sequence\n            \n            const char *escapeSeq = XCODE_COLORS_ESCAPE_SEQ;\n            \n            int result = snprintf(bgCode, 24, \"%sbg%u,%u,%u;\", escapeSeq, bg_r, bg_g, bg_b);\n            bgCodeLen = MIN(result, (24-1));\n        }\n        else\n        {\n            // No background color or no color support\n            \n            bgCode[0] = '\\0';\n            bgCodeLen = 0;\n        }\n        \n        if (isaColorTTY)\n        {\n            resetCodeLen = snprintf(resetCode, 8, \"\\033[0m\");\n        }\n        else if (isaXcodeColorTTY)\n        {\n            resetCodeLen = snprintf(resetCode, 8, XCODE_COLORS_RESET);\n        }\n        else\n        {\n            resetCode[0] = '\\0';\n            resetCodeLen = 0;\n        }\n    }\n    return self;\n}\n\n- (NSString *)description\n{\n    return [NSString stringWithFormat:\n            @\"<DDTTYLoggerColorProfile: %p mask:%i ctxt:%i fg:%u,%u,%u bg:%u,%u,%u fgCode:%@ bgCode:%@>\",\n            self, mask, context, fg_r, fg_g, fg_b, bg_r, bg_g, bg_b, fgCodeRaw, bgCodeRaw];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/Extensions/DDContextFilterLogFormatter.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"DDLog.h\"\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" page.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n * \n * \n * This class provides a log formatter that filters log statements from a logging context not on the whitelist.\n * \n * A log formatter can be added to any logger to format and/or filter its output.\n * You can learn more about log formatters here:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters\n * \n * You can learn more about logging context's here:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomContext\n *\n * But here's a quick overview / refresher:\n * \n * Every log statement has a logging context.\n * These come from the underlying logging macros defined in DDLog.h.\n * The default logging context is zero.\n * You can define multiple logging context's for use in your application.\n * For example, logically separate parts of your app each have a different logging context.\n * Also 3rd party frameworks that make use of Lumberjack generally use their own dedicated logging context.\n**/\n@interface DDContextWhitelistFilterLogFormatter : NSObject <DDLogFormatter>\n\n- (id)init;\n\n- (void)addToWhitelist:(int)loggingContext;\n- (void)removeFromWhitelist:(int)loggingContext;\n\n- (NSArray *)whitelist;\n\n- (BOOL)isOnWhitelist:(int)loggingContext;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This class provides a log formatter that filters log statements from a logging context on the blacklist.\n**/\n@interface DDContextBlacklistFilterLogFormatter : NSObject <DDLogFormatter>\n\n- (id)init;\n\n- (void)addToBlacklist:(int)loggingContext;\n- (void)removeFromBlacklist:(int)loggingContext;\n\n- (NSArray *)blacklist;\n\n- (BOOL)isOnBlacklist:(int)loggingContext;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/Extensions/DDContextFilterLogFormatter.m",
    "content": "#import \"DDContextFilterLogFormatter.h\"\n#import <libkern/OSAtomic.h>\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n**/\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n@interface DDLoggingContextSet : NSObject\n\n- (void)addToSet:(int)loggingContext;\n- (void)removeFromSet:(int)loggingContext;\n\n- (NSArray *)currentSet;\n\n- (BOOL)isInSet:(int)loggingContext;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDContextWhitelistFilterLogFormatter\n{\n    DDLoggingContextSet *contextSet;\n}\n\n- (id)init\n{\n    if ((self = [super init]))\n    {\n        contextSet = [[DDLoggingContextSet alloc] init];\n    }\n    return self;\n}\n\n\n- (void)addToWhitelist:(int)loggingContext\n{\n    [contextSet addToSet:loggingContext];\n}\n\n- (void)removeFromWhitelist:(int)loggingContext\n{\n    [contextSet removeFromSet:loggingContext];\n}\n\n- (NSArray *)whitelist\n{\n    return [contextSet currentSet];\n}\n\n- (BOOL)isOnWhitelist:(int)loggingContext\n{\n    return [contextSet isInSet:loggingContext];\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage\n{\n    if ([self isOnWhitelist:logMessage->logContext])\n        return logMessage->logMsg;\n    else\n        return nil;\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDContextBlacklistFilterLogFormatter\n{\n    DDLoggingContextSet *contextSet;\n}\n\n- (id)init\n{\n    if ((self = [super init]))\n    {\n        contextSet = [[DDLoggingContextSet alloc] init];\n    }\n    return self;\n}\n\n\n- (void)addToBlacklist:(int)loggingContext\n{\n    [contextSet addToSet:loggingContext];\n}\n\n- (void)removeFromBlacklist:(int)loggingContext\n{\n    [contextSet removeFromSet:loggingContext];\n}\n\n- (NSArray *)blacklist\n{\n    return [contextSet currentSet];\n}\n\n- (BOOL)isOnBlacklist:(int)loggingContext\n{\n    return [contextSet isInSet:loggingContext];\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage\n{\n    if ([self isOnBlacklist:logMessage->logContext])\n        return nil;\n    else\n        return logMessage->logMsg;\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDLoggingContextSet\n{\n    OSSpinLock lock;\n    NSMutableSet *set;\n}\n\n- (id)init\n{\n    if ((self = [super init]))\n    {\n        set = [[NSMutableSet alloc] init];\n    }\n    return self;\n}\n\n\n- (void)addToSet:(int)loggingContext\n{\n    OSSpinLockLock(&lock);\n    {\n        [set addObject:@(loggingContext)];\n    }\n    OSSpinLockUnlock(&lock);\n}\n\n- (void)removeFromSet:(int)loggingContext\n{\n    OSSpinLockLock(&lock);\n    {\n        [set removeObject:@(loggingContext)];\n    }\n    OSSpinLockUnlock(&lock);\n}\n\n- (NSArray *)currentSet\n{\n    NSArray *result = nil;\n    \n    OSSpinLockLock(&lock);\n    {\n        result = [set allObjects];\n    }\n    OSSpinLockUnlock(&lock);\n    \n    return result;\n}\n\n- (BOOL)isInSet:(int)loggingContext\n{\n    BOOL result = NO;\n    \n    OSSpinLockLock(&lock);\n    {\n        result = [set containsObject:@(loggingContext)];\n    }\n    OSSpinLockUnlock(&lock);\n    \n    return result;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/Extensions/DDDispatchQueueLogFormatter.h",
    "content": "#import <Foundation/Foundation.h>\n#import <libkern/OSAtomic.h>\n#import \"DDLog.h\"\n\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" page.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n * \n * \n * This class provides a log formatter that prints the dispatch_queue label instead of the mach_thread_id.\n * \n * A log formatter can be added to any logger to format and/or filter its output.\n * You can learn more about log formatters here:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters\n * \n * A typical NSLog (or DDTTYLogger) prints detailed info as [<process_id>:<thread_id>].\n * For example:\n * \n * 2011-10-17 20:21:45.435 AppName[19928:5207] Your log message here\n * \n * Where:\n * - 19928 = process id\n * -  5207 = thread id (mach_thread_id printed in hex)\n * \n * When using grand central dispatch (GCD), this information is less useful.\n * This is because a single serial dispatch queue may be run on any thread from an internally managed thread pool.\n * For example:\n * \n * 2011-10-17 20:32:31.111 AppName[19954:4d07] Message from my_serial_dispatch_queue\n * 2011-10-17 20:32:31.112 AppName[19954:5207] Message from my_serial_dispatch_queue\n * 2011-10-17 20:32:31.113 AppName[19954:2c55] Message from my_serial_dispatch_queue\n * \n * This formatter allows you to replace the standard [box:info] with the dispatch_queue name.\n * For example:\n * \n * 2011-10-17 20:32:31.111 AppName[img-scaling] Message from my_serial_dispatch_queue\n * 2011-10-17 20:32:31.112 AppName[img-scaling] Message from my_serial_dispatch_queue\n * 2011-10-17 20:32:31.113 AppName[img-scaling] Message from my_serial_dispatch_queue\n * \n * If the dispatch_queue doesn't have a set name, then it falls back to the thread name.\n * If the current thread doesn't have a set name, then it falls back to the mach_thread_id in hex (like normal).\n * \n * Note: If manually creating your own background threads (via NSThread/alloc/init or NSThread/detachNeThread),\n * you can use [[NSThread currentThread] setName:(NSString *)].\n**/\n@interface DDDispatchQueueLogFormatter : NSObject <DDLogFormatter> {\n@protected\n    \n    NSString *dateFormatString;\n}\n\n/**\n * Standard init method.\n * Configure using properties as desired.\n**/\n- (id)init;\n\n/**\n * The minQueueLength restricts the minimum size of the [detail box].\n * If the minQueueLength is set to 0, there is no restriction.\n * \n * For example, say a dispatch_queue has a label of \"diskIO\":\n * \n * If the minQueueLength is 0: [diskIO]\n * If the minQueueLength is 4: [diskIO]\n * If the minQueueLength is 5: [diskIO]\n * If the minQueueLength is 6: [diskIO]\n * If the minQueueLength is 7: [diskIO ]\n * If the minQueueLength is 8: [diskIO  ]\n * \n * The default minQueueLength is 0 (no minimum, so [detail box] won't be padded).\n * \n * If you want every [detail box] to have the exact same width,\n * set both minQueueLength and maxQueueLength to the same value.\n**/\n@property (assign) NSUInteger minQueueLength;\n\n/**\n * The maxQueueLength restricts the number of characters that will be inside the [detail box].\n * If the maxQueueLength is 0, there is no restriction.\n * \n * For example, say a dispatch_queue has a label of \"diskIO\":\n *\n * If the maxQueueLength is 0: [diskIO]\n * If the maxQueueLength is 4: [disk]\n * If the maxQueueLength is 5: [diskI]\n * If the maxQueueLength is 6: [diskIO]\n * If the maxQueueLength is 7: [diskIO]\n * If the maxQueueLength is 8: [diskIO]\n * \n * The default maxQueueLength is 0 (no maximum, so [detail box] won't be truncated).\n * \n * If you want every [detail box] to have the exact same width,\n * set both minQueueLength and maxQueueLength to the same value.\n**/\n@property (assign) NSUInteger maxQueueLength;\n\n/**\n * Sometimes queue labels have long names like \"com.apple.main-queue\",\n * but you'd prefer something shorter like simply \"main\".\n * \n * This method allows you to set such preferred replacements.\n * The above example is set by default.\n * \n * To remove/undo a previous replacement, invoke this method with nil for the 'shortLabel' parameter.\n**/\n- (NSString *)replacementStringForQueueLabel:(NSString *)longLabel;\n- (void)setReplacementString:(NSString *)shortLabel forQueueLabel:(NSString *)longLabel;\n\n@end\n\n/**\n * Method declarations that make it easier to extend/modify DDDispatchQueueLogFormatter\n**/\n@interface DDDispatchQueueLogFormatter (OverridableMethods)\n\n- (NSString *)stringFromDate:(NSDate *)date;\n- (NSString *)queueThreadLabelForLogMessage:(DDLogMessage *)logMessage;\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage;\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/Extensions/DDDispatchQueueLogFormatter.m",
    "content": "#import \"DDDispatchQueueLogFormatter.h\"\n#import <libkern/OSAtomic.h>\n\n/**\n * Welcome to Cocoa Lumberjack!\n * \n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * If you're new to the project you may wish to read the \"Getting Started\" wiki.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n**/\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n\n@implementation DDDispatchQueueLogFormatter\n{\n    int32_t atomicLoggerCount;\n    NSDateFormatter *threadUnsafeDateFormatter; // Use [self stringFromDate]\n    \n    OSSpinLock lock;\n    \n    NSUInteger _minQueueLength;           // _prefix == Only access via atomic property\n    NSUInteger _maxQueueLength;           // _prefix == Only access via atomic property\n    NSMutableDictionary *_replacements;   // _prefix == Only access from within spinlock\n}\n\n- (id)init\n{\n    if ((self = [super init]))\n    {\n        dateFormatString = @\"yyyy-MM-dd HH:mm:ss:SSS\";\n        \n        atomicLoggerCount = 0;\n        threadUnsafeDateFormatter = nil;\n        \n        _minQueueLength = 0;\n        _maxQueueLength = 0;\n        _replacements = [[NSMutableDictionary alloc] init];\n        \n        // Set default replacements:\n        \n        _replacements[@\"com.apple.main-thread\"] = @\"main\";\n    }\n    return self;\n}\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@synthesize minQueueLength = _minQueueLength;\n@synthesize maxQueueLength = _maxQueueLength;\n\n- (NSString *)replacementStringForQueueLabel:(NSString *)longLabel\n{\n    NSString *result = nil;\n    \n    OSSpinLockLock(&lock);\n    {\n        result = _replacements[longLabel];\n    }\n    OSSpinLockUnlock(&lock);\n    \n    return result;\n}\n\n- (void)setReplacementString:(NSString *)shortLabel forQueueLabel:(NSString *)longLabel\n{\n    OSSpinLockLock(&lock);\n    {\n        if (shortLabel)\n            _replacements[longLabel] = shortLabel;\n        else\n            [_replacements removeObjectForKey:longLabel];\n    }\n    OSSpinLockUnlock(&lock);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark DDLogFormatter\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSString *)stringFromDate:(NSDate *)date\n{\n    int32_t loggerCount = OSAtomicAdd32(0, &atomicLoggerCount);\n    \n    if (loggerCount <= 1)\n    {\n        // Single-threaded mode.\n        \n        if (threadUnsafeDateFormatter == nil)\n        {\n            threadUnsafeDateFormatter = [[NSDateFormatter alloc] init];\n            [threadUnsafeDateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];\n            [threadUnsafeDateFormatter setDateFormat:dateFormatString];\n        }\n        \n        [threadUnsafeDateFormatter setCalendar:[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]];\n        return [threadUnsafeDateFormatter stringFromDate:date];\n    }\n    else\n    {\n        // Multi-threaded mode.\n        // NSDateFormatter is NOT thread-safe.\n        \n        NSString *key = @\"DispatchQueueLogFormatter_NSDateFormatter\";\n        \n        NSMutableDictionary *threadDictionary = [[NSThread currentThread] threadDictionary];\n        NSDateFormatter *dateFormatter = threadDictionary[key];\n        \n        if (dateFormatter == nil)\n        {\n            dateFormatter = [[NSDateFormatter alloc] init];\n            [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];\n            [dateFormatter setDateFormat:dateFormatString];\n            \n            threadDictionary[key] = dateFormatter;\n        }\n        \n        [dateFormatter setCalendar:[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]];\n        return [dateFormatter stringFromDate:date];\n    }\n}\n\n- (NSString *)queueThreadLabelForLogMessage:(DDLogMessage *)logMessage\n{\n    // As per the DDLogFormatter contract, this method is always invoked on the same thread/dispatch_queue\n    \n    NSUInteger minQueueLength = self.minQueueLength;\n    NSUInteger maxQueueLength = self.maxQueueLength;\n    \n    // Get the name of the queue, thread, or machID (whichever we are to use).\n    \n    NSString *queueThreadLabel = nil;\n    \n    BOOL useQueueLabel = YES;\n    BOOL useThreadName = NO;\n    \n    if (logMessage->queueLabel)\n    {\n        // If you manually create a thread, it's dispatch_queue will have one of the thread names below.\n        // Since all such threads have the same name, we'd prefer to use the threadName or the machThreadID.\n        \n        char *names[] = { \"com.apple.root.low-priority\",\n                          \"com.apple.root.default-priority\",\n                          \"com.apple.root.high-priority\",\n                          \"com.apple.root.low-overcommit-priority\",\n                          \"com.apple.root.default-overcommit-priority\",\n                          \"com.apple.root.high-overcommit-priority\"     };\n        \n        int length = sizeof(names) / sizeof(char *);\n        \n        int i;\n        for (i = 0; i < length; i++)\n        {\n            if (strcmp(logMessage->queueLabel, names[i]) == 0)\n            {\n                useQueueLabel = NO;\n                useThreadName = [logMessage->threadName length] > 0;\n                break;\n            }\n        }\n    }\n    else\n    {\n        useQueueLabel = NO;\n        useThreadName = [logMessage->threadName length] > 0;\n    }\n    \n    if (useQueueLabel || useThreadName)\n    {\n        NSString *fullLabel;\n        NSString *abrvLabel;\n        \n        if (useQueueLabel)\n            fullLabel = @(logMessage->queueLabel);\n        else\n            fullLabel = logMessage->threadName;\n        \n        OSSpinLockLock(&lock);\n        {\n            abrvLabel = _replacements[fullLabel];\n        }\n        OSSpinLockUnlock(&lock);\n        \n        if (abrvLabel)\n            queueThreadLabel = abrvLabel;\n        else\n            queueThreadLabel = fullLabel;\n    }\n    else\n    {\n        queueThreadLabel = [NSString stringWithFormat:@\"%x\", logMessage->machThreadID];\n    }\n    \n    // Now use the thread label in the output\n    \n    NSUInteger labelLength = [queueThreadLabel length];\n    \n    // labelLength > maxQueueLength : truncate\n    // labelLength < minQueueLength : padding\n    //                              : exact\n    \n    if ((maxQueueLength > 0) && (labelLength > maxQueueLength))\n    {\n        // Truncate\n        \n        return [queueThreadLabel substringToIndex:maxQueueLength];\n    }\n    else if (labelLength < minQueueLength)\n    {\n        // Padding\n        \n        NSUInteger numSpaces = minQueueLength - labelLength;\n        \n        char spaces[numSpaces + 1];\n        memset(spaces, ' ', numSpaces);\n        spaces[numSpaces] = '\\0';\n        \n        return [NSString stringWithFormat:@\"%@%s\", queueThreadLabel, spaces];\n    }\n    else\n    {\n        // Exact\n        \n        return queueThreadLabel;\n    }\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage\n{\n    NSString *timestamp = [self stringFromDate:(logMessage->timestamp)];\n    NSString *queueThreadLabel = [self queueThreadLabelForLogMessage:logMessage];\n    \n    return [NSString stringWithFormat:@\"%@ [%@] %@\", timestamp, queueThreadLabel, logMessage->logMsg];\n}\n\n- (void)didAddToLogger:(id <DDLogger>)logger\n{\n    OSAtomicIncrement32(&atomicLoggerCount);\n}\n\n- (void)willRemoveFromLogger:(id <DDLogger>)logger\n{\n    OSAtomicDecrement32(&atomicLoggerCount);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/Extensions/DDMultiFormatter.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"DDLog.h\"\n\n/**\n * Welcome to Cocoa Lumberjack!\n *\n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n *\n * If you're new to the project you may wish to read the \"Getting Started\" page.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n *\n *\n * This formatter can be used to chain different formatters together.\n * The log message will processed in the order of the formatters added.\n **/\n\n@interface DDMultiFormatter : NSObject <DDLogFormatter>\n\n/**\n *  Array of chained formatters\n */\n@property (readonly) NSArray *formatters;\n\n- (void)addFormatter:(id<DDLogFormatter>)formatter;\n- (void)removeFormatter:(id<DDLogFormatter>)formatter;\n- (void)removeAllFormatters;\n- (BOOL)isFormattingWithFormatter:(id<DDLogFormatter>)formatter;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/Extensions/DDMultiFormatter.m",
    "content": "#import \"DDMultiFormatter.h\"\n\n/**\n * Welcome to Cocoa Lumberjack!\n *\n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n *\n * If you're new to the project you may wish to read the \"Getting Started\" page.\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/GettingStarted\n **/\n\n#if TARGET_OS_IPHONE\n// Compiling for iOS\n#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 // iOS 6.0 or later\n#define NEEDS_DISPATCH_RETAIN_RELEASE 0\n#else                                         // iOS 5.X or earlier\n#define NEEDS_DISPATCH_RETAIN_RELEASE 1\n#endif\n#else\n// Compiling for Mac OS X\n#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080     // Mac OS X 10.8 or later\n#define NEEDS_DISPATCH_RETAIN_RELEASE 0\n#else                                         // Mac OS X 10.7 or earlier\n#define NEEDS_DISPATCH_RETAIN_RELEASE 1\n#endif\n#endif\n\n\n@interface DDMultiFormatter ()\n\n- (DDLogMessage *)logMessageForLine:(NSString *)line originalMessage:(DDLogMessage *)message;\n\n@end\n\n\n@implementation DDMultiFormatter {\n    dispatch_queue_t _queue;\n    NSMutableArray *_formatters;\n}\n\n- (id)init {\n    self = [super init];\n    if (self) {\n#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070\n        _queue = dispatch_queue_create(\"cocoa.lumberjack.multiformatter\", DISPATCH_QUEUE_CONCURRENT);\n#else\n        _queue = dispatch_queue_create(\"cocoa.lumberjack.multiformatter\", NULL);\n#endif\n        _formatters = [NSMutableArray new];\n    }\n    \n    return self;\n}\n\n#if NEEDS_DISPATCH_RETAIN_RELEASE\n- (void)dealloc {\n    dispatch_release(_queue);\n}\n#endif\n\n#pragma mark Processing\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {\n    __block NSString *line = logMessage->logMsg;\n    \n    dispatch_sync(_queue, ^{\n        for (id<DDLogFormatter> formatter in _formatters) {\n            DDLogMessage *message = [self logMessageForLine:line originalMessage:logMessage];\n            line = [formatter formatLogMessage:message];\n            \n            if (!line) {\n                break;\n            }\n        }\n    });\n    \n    return line;\n}\n\n- (DDLogMessage *)logMessageForLine:(NSString *)line originalMessage:(DDLogMessage *)message {\n    DDLogMessage *newMessage = [message copy];\n    newMessage->logMsg = line;\n    return newMessage;\n}\n\n#pragma mark Formatters\n\n- (NSArray *)formatters {\n    __block NSArray *formatters;\n    \n    dispatch_sync(_queue, ^{\n        formatters = [_formatters copy];\n    });\n    \n    return formatters;\n}\n\n- (void)addFormatter:(id<DDLogFormatter>)formatter {\n    dispatch_barrier_async(_queue, ^{\n        [_formatters addObject:formatter];\n    });\n}\n\n- (void)removeFormatter:(id<DDLogFormatter>)formatter {\n    dispatch_barrier_async(_queue, ^{\n        [_formatters removeObject:formatter];\n    });\n}\n\n- (void)removeAllFormatters {\n    dispatch_barrier_async(_queue, ^{\n        [_formatters removeAllObjects];\n    });\n}\n\n- (BOOL)isFormattingWithFormatter:(id<DDLogFormatter>)formatter {\n    __block BOOL hasFormatter;\n    \n    dispatch_sync(_queue, ^{\n        hasFormatter = [_formatters containsObject:formatter];\n    });\n    \n    return hasFormatter;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Source/Vendor/CocoaLumberjack/Extensions/README.txt",
    "content": "This folder contains some sample formatters that may be helpful.\n\nFeel free to change them, extend them, or use them as the basis for your own custom formatter(s).\n\nMore information about creating your own custom formatters can be found on the wiki:\nhttps://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Framework/CocoaAsyncSocketTests.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 48;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t2DBCA5C81B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DBCA5C71B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m */; };\n\t\tD900F31E1C753B2A00F0AEF0 /* SwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D900F31D1C753B2A00F0AEF0 /* SwiftTests.swift */; };\n\t\tD938B4E51B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */; };\n\t\tD9486AE61E62BA0F002FE3B3 /* CocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9486AE11E62B9F8002FE3B3 /* CocoaAsyncSocket.framework */; };\n\t\tD9486AEB1E62BA66002FE3B3 /* SwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D900F31D1C753B2A00F0AEF0 /* SwiftTests.swift */; };\n\t\tD9486AED1E62BA66002FE3B3 /* GCDAsyncSocketConnectionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */; };\n\t\tD9486AF81E62BADC002FE3B3 /* CocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9486ADF1E62B9F8002FE3B3 /* CocoaAsyncSocket.framework */; };\n\t\tD9486AFD1E62BB3D002FE3B3 /* SwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D900F31D1C753B2A00F0AEF0 /* SwiftTests.swift */; };\n\t\tD9486AFF1E62BB3D002FE3B3 /* GCDAsyncSocketConnectionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */; };\n\t\tD9486B0A1E62BB62002FE3B3 /* CocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9486AE31E62B9F8002FE3B3 /* CocoaAsyncSocket.framework */; };\n\t\tD9E64D4B206EE7E100B4630F /* SecureSocketServer.p12 in Resources */ = {isa = PBXBuildFile; fileRef = D9E64D47206EE7E000B4630F /* SecureSocketServer.p12 */; };\n\t\tD9E64D4C206EE7E100B4630F /* SecureSocketServer.p12 in Resources */ = {isa = PBXBuildFile; fileRef = D9E64D47206EE7E000B4630F /* SecureSocketServer.p12 */; };\n\t\tD9E64D4D206EE7E100B4630F /* SecureSocketServer.p12 in Resources */ = {isa = PBXBuildFile; fileRef = D9E64D47206EE7E000B4630F /* SecureSocketServer.p12 */; };\n\t\tD9E64D4E206EE7E100B4630F /* GCDAsyncSocketReadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E64D48206EE7E100B4630F /* GCDAsyncSocketReadTests.swift */; };\n\t\tD9E64D4F206EE7E100B4630F /* GCDAsyncSocketReadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E64D48206EE7E100B4630F /* GCDAsyncSocketReadTests.swift */; };\n\t\tD9E64D50206EE7E100B4630F /* GCDAsyncSocketReadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E64D48206EE7E100B4630F /* GCDAsyncSocketReadTests.swift */; };\n\t\tD9E64D51206EE7E100B4630F /* TestServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E64D49206EE7E100B4630F /* TestServer.swift */; };\n\t\tD9E64D52206EE7E100B4630F /* TestServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E64D49206EE7E100B4630F /* TestServer.swift */; };\n\t\tD9E64D53206EE7E100B4630F /* TestServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E64D49206EE7E100B4630F /* TestServer.swift */; };\n\t\tD9E64D54206EE7E100B4630F /* TestSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E64D4A206EE7E100B4630F /* TestSocket.swift */; };\n\t\tD9E64D55206EE7E100B4630F /* TestSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E64D4A206EE7E100B4630F /* TestSocket.swift */; };\n\t\tD9E64D56206EE7E100B4630F /* TestSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9E64D4A206EE7E100B4630F /* TestSocket.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\tD9486ADE1E62B9F8002FE3B3 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D9486AD81E62B9F8002FE3B3 /* CocoaAsyncSocket.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 6CD990101B77868C0011A685;\n\t\t\tremoteInfo = \"iOS CocoaAsyncSocket\";\n\t\t};\n\t\tD9486AE01E62B9F8002FE3B3 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D9486AD81E62B9F8002FE3B3 /* CocoaAsyncSocket.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 9FC41F131B9D965000578BEB;\n\t\t\tremoteInfo = \"Mac CocoaAsyncSocket\";\n\t\t};\n\t\tD9486AE21E62B9F8002FE3B3 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D9486AD81E62B9F8002FE3B3 /* CocoaAsyncSocket.xcodeproj */;\n\t\t\tproxyType = 2;\n\t\t\tremoteGlobalIDString = 7D8B70C41BCFA15700D8E273;\n\t\t\tremoteInfo = \"tvOS CocoaAsyncSocket\";\n\t\t};\n\t\tD9486AE41E62BA08002FE3B3 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D9486AD81E62B9F8002FE3B3 /* CocoaAsyncSocket.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 9FC41F121B9D965000578BEB;\n\t\t\tremoteInfo = \"Mac CocoaAsyncSocket\";\n\t\t};\n\t\tD9486AF61E62BAD4002FE3B3 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D9486AD81E62B9F8002FE3B3 /* CocoaAsyncSocket.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 6CD9900F1B77868C0011A685;\n\t\t\tremoteInfo = \"iOS CocoaAsyncSocket\";\n\t\t};\n\t\tD9486B081E62BB5E002FE3B3 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D9486AD81E62B9F8002FE3B3 /* CocoaAsyncSocket.xcodeproj */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 7D8B70C31BCFA15700D8E273;\n\t\t\tremoteInfo = \"tvOS CocoaAsyncSocket\";\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t2DBCA5C71B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocketUNTests.m; path = ../Mac/GCDAsyncSocketUNTests.m; sourceTree = SOURCE_ROOT; };\n\t\tD900F31D1C753B2A00F0AEF0 /* SwiftTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftTests.swift; path = ../Shared/SwiftTests.swift; sourceTree = \"<group>\"; };\n\t\tD938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocketConnectionTests.m; path = ../Shared/GCDAsyncSocketConnectionTests.m; sourceTree = \"<group>\"; };\n\t\tD9486AD81E62B9F8002FE3B3 /* CocoaAsyncSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = \"wrapper.pb-project\"; name = CocoaAsyncSocket.xcodeproj; path = ../../CocoaAsyncSocket.xcodeproj; sourceTree = \"<group>\"; };\n\t\tD9486AF41E62BA66002FE3B3 /* CocoaAsyncSocketTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CocoaAsyncSocketTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD9486B061E62BB3D002FE3B3 /* CocoaAsyncSocketTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CocoaAsyncSocketTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD9BC0D8D1A0458EF0059D906 /* CocoaAsyncSocketTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CocoaAsyncSocketTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD9BC0D901A0458EF0059D906 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = ../Shared/Info.plist; sourceTree = \"<group>\"; };\n\t\tD9E64D47206EE7E000B4630F /* SecureSocketServer.p12 */ = {isa = PBXFileReference; lastKnownFileType = file; name = SecureSocketServer.p12; path = ../Shared/SecureSocketServer.p12; sourceTree = \"<group>\"; };\n\t\tD9E64D48206EE7E100B4630F /* GCDAsyncSocketReadTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GCDAsyncSocketReadTests.swift; path = ../Shared/GCDAsyncSocketReadTests.swift; sourceTree = \"<group>\"; };\n\t\tD9E64D49206EE7E100B4630F /* TestServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TestServer.swift; path = ../Shared/TestServer.swift; sourceTree = \"<group>\"; };\n\t\tD9E64D4A206EE7E100B4630F /* TestSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TestSocket.swift; path = ../Shared/TestSocket.swift; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tD9486AEE1E62BA66002FE3B3 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD9486AF81E62BADC002FE3B3 /* CocoaAsyncSocket.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD9486B001E62BB3D002FE3B3 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD9486B0A1E62BB62002FE3B3 /* CocoaAsyncSocket.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD9BC0D8A1A0458EF0059D906 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD9486AE61E62BA0F002FE3B3 /* CocoaAsyncSocket.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t6BD64EE47346406202F80C93 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD938B4E61B752ED800FE8AB3 /* Shared */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9E64D48206EE7E100B4630F /* GCDAsyncSocketReadTests.swift */,\n\t\t\t\tD9E64D47206EE7E000B4630F /* SecureSocketServer.p12 */,\n\t\t\t\tD9E64D49206EE7E100B4630F /* TestServer.swift */,\n\t\t\t\tD9E64D4A206EE7E100B4630F /* TestSocket.swift */,\n\t\t\t\tD938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */,\n\t\t\t\tD900F31D1C753B2A00F0AEF0 /* SwiftTests.swift */,\n\t\t\t);\n\t\t\tname = Shared;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9486AD91E62B9F8002FE3B3 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9486ADF1E62B9F8002FE3B3 /* CocoaAsyncSocket.framework */,\n\t\t\t\tD9486AE11E62B9F8002FE3B3 /* CocoaAsyncSocket.framework */,\n\t\t\t\tD9486AE31E62B9F8002FE3B3 /* CocoaAsyncSocket.framework */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9873DA11A057F34004C014F /* Tests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD938B4E61B752ED800FE8AB3 /* Shared */,\n\t\t\t\tD9BC0D8E1A0458EF0059D906 /* Mac */,\n\t\t\t);\n\t\t\tname = Tests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D741A0457800059D906 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9486AD81E62B9F8002FE3B3 /* CocoaAsyncSocket.xcodeproj */,\n\t\t\t\tD9873DA11A057F34004C014F /* Tests */,\n\t\t\t\tD9BC0D801A0457F40059D906 /* Products */,\n\t\t\t\t6BD64EE47346406202F80C93 /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D801A0457F40059D906 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9BC0D8D1A0458EF0059D906 /* CocoaAsyncSocketTests.xctest */,\n\t\t\t\tD9486AF41E62BA66002FE3B3 /* CocoaAsyncSocketTests.xctest */,\n\t\t\t\tD9486B061E62BB3D002FE3B3 /* CocoaAsyncSocketTests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D8E1A0458EF0059D906 /* Mac */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2DBCA5C71B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m */,\n\t\t\t\tD9BC0D8F1A0458EF0059D906 /* Supporting Files */,\n\t\t\t);\n\t\t\tname = Mac;\n\t\t\tpath = ../Mac;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D8F1A0458EF0059D906 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9BC0D901A0458EF0059D906 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tD9486AE71E62BA66002FE3B3 /* CocoaAsyncSocketTests (iOS) */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D9486AF11E62BA66002FE3B3 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTests (iOS)\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD9486AEA1E62BA66002FE3B3 /* Sources */,\n\t\t\t\tD9486AEE1E62BA66002FE3B3 /* Frameworks */,\n\t\t\t\tD9486AF01E62BA66002FE3B3 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tD9486AF71E62BAD4002FE3B3 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"CocoaAsyncSocketTests (iOS)\";\n\t\t\tproductName = CocoaAsyncSocketTestsMac;\n\t\t\tproductReference = D9486AF41E62BA66002FE3B3 /* CocoaAsyncSocketTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\tD9486AF91E62BB3D002FE3B3 /* CocoaAsyncSocketTests (tvOS) */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D9486B031E62BB3D002FE3B3 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTests (tvOS)\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD9486AFC1E62BB3D002FE3B3 /* Sources */,\n\t\t\t\tD9486B001E62BB3D002FE3B3 /* Frameworks */,\n\t\t\t\tD9486B021E62BB3D002FE3B3 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tD9486B091E62BB5E002FE3B3 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"CocoaAsyncSocketTests (tvOS)\";\n\t\t\tproductName = CocoaAsyncSocketTestsMac;\n\t\t\tproductReference = D9486B061E62BB3D002FE3B3 /* CocoaAsyncSocketTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\tD9BC0D8C1A0458EF0059D906 /* CocoaAsyncSocketTests (macOS) */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D9BC0D951A0458EF0059D906 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTests (macOS)\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD9BC0D891A0458EF0059D906 /* Sources */,\n\t\t\t\tD9BC0D8A1A0458EF0059D906 /* Frameworks */,\n\t\t\t\tD9BC0D8B1A0458EF0059D906 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tD9486AE51E62BA08002FE3B3 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"CocoaAsyncSocketTests (macOS)\";\n\t\t\tproductName = CocoaAsyncSocketTestsMac;\n\t\t\tproductReference = D9BC0D8D1A0458EF0059D906 /* CocoaAsyncSocketTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tD9BC0D751A0457800059D906 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0720;\n\t\t\t\tLastUpgradeCheck = 0930;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tD9486AE71E62BA66002FE3B3 = {\n\t\t\t\t\t\tLastSwiftMigration = 0910;\n\t\t\t\t\t};\n\t\t\t\t\tD9BC0D8C1A0458EF0059D906 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = D9BC0D781A0457800059D906 /* Build configuration list for PBXProject \"CocoaAsyncSocketTests\" */;\n\t\t\tcompatibilityVersion = \"Xcode 8.0\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = D9BC0D741A0457800059D906;\n\t\t\tproductRefGroup = D9BC0D801A0457F40059D906 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectReferences = (\n\t\t\t\t{\n\t\t\t\t\tProductGroup = D9486AD91E62B9F8002FE3B3 /* Products */;\n\t\t\t\t\tProjectRef = D9486AD81E62B9F8002FE3B3 /* CocoaAsyncSocket.xcodeproj */;\n\t\t\t\t},\n\t\t\t);\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tD9BC0D8C1A0458EF0059D906 /* CocoaAsyncSocketTests (macOS) */,\n\t\t\t\tD9486AE71E62BA66002FE3B3 /* CocoaAsyncSocketTests (iOS) */,\n\t\t\t\tD9486AF91E62BB3D002FE3B3 /* CocoaAsyncSocketTests (tvOS) */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXReferenceProxy section */\n\t\tD9486ADF1E62B9F8002FE3B3 /* CocoaAsyncSocket.framework */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.framework;\n\t\t\tpath = CocoaAsyncSocket.framework;\n\t\t\tremoteRef = D9486ADE1E62B9F8002FE3B3 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\tD9486AE11E62B9F8002FE3B3 /* CocoaAsyncSocket.framework */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.framework;\n\t\t\tpath = CocoaAsyncSocket.framework;\n\t\t\tremoteRef = D9486AE01E62B9F8002FE3B3 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n\t\tD9486AE31E62B9F8002FE3B3 /* CocoaAsyncSocket.framework */ = {\n\t\t\tisa = PBXReferenceProxy;\n\t\t\tfileType = wrapper.framework;\n\t\t\tpath = CocoaAsyncSocket.framework;\n\t\t\tremoteRef = D9486AE21E62B9F8002FE3B3 /* PBXContainerItemProxy */;\n\t\t\tsourceTree = BUILT_PRODUCTS_DIR;\n\t\t};\n/* End PBXReferenceProxy section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tD9486AF01E62BA66002FE3B3 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD9E64D4C206EE7E100B4630F /* SecureSocketServer.p12 in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD9486B021E62BB3D002FE3B3 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD9E64D4D206EE7E100B4630F /* SecureSocketServer.p12 in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD9BC0D8B1A0458EF0059D906 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD9E64D4B206EE7E100B4630F /* SecureSocketServer.p12 in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tD9486AEA1E62BA66002FE3B3 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD9486AEB1E62BA66002FE3B3 /* SwiftTests.swift in Sources */,\n\t\t\t\tD9486AED1E62BA66002FE3B3 /* GCDAsyncSocketConnectionTests.m in Sources */,\n\t\t\t\tD9E64D52206EE7E100B4630F /* TestServer.swift in Sources */,\n\t\t\t\tD9E64D4F206EE7E100B4630F /* GCDAsyncSocketReadTests.swift in Sources */,\n\t\t\t\tD9E64D55206EE7E100B4630F /* TestSocket.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD9486AFC1E62BB3D002FE3B3 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD9486AFD1E62BB3D002FE3B3 /* SwiftTests.swift in Sources */,\n\t\t\t\tD9486AFF1E62BB3D002FE3B3 /* GCDAsyncSocketConnectionTests.m in Sources */,\n\t\t\t\tD9E64D53206EE7E100B4630F /* TestServer.swift in Sources */,\n\t\t\t\tD9E64D50206EE7E100B4630F /* GCDAsyncSocketReadTests.swift in Sources */,\n\t\t\t\tD9E64D56206EE7E100B4630F /* TestSocket.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD9BC0D891A0458EF0059D906 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD9E64D54206EE7E100B4630F /* TestSocket.swift in Sources */,\n\t\t\t\tD9E64D4E206EE7E100B4630F /* GCDAsyncSocketReadTests.swift in Sources */,\n\t\t\t\tD9E64D51206EE7E100B4630F /* TestServer.swift in Sources */,\n\t\t\t\tD900F31E1C753B2A00F0AEF0 /* SwiftTests.swift in Sources */,\n\t\t\t\t2DBCA5C81B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m in Sources */,\n\t\t\t\tD938B4E51B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\tD9486AE51E62BA08002FE3B3 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = \"Mac CocoaAsyncSocket\";\n\t\t\ttargetProxy = D9486AE41E62BA08002FE3B3 /* PBXContainerItemProxy */;\n\t\t};\n\t\tD9486AF71E62BAD4002FE3B3 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = \"iOS CocoaAsyncSocket\";\n\t\t\ttargetProxy = D9486AF61E62BAD4002FE3B3 /* PBXContainerItemProxy */;\n\t\t};\n\t\tD9486B091E62BB5E002FE3B3 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\tname = \"tvOS CocoaAsyncSocket\";\n\t\t\ttargetProxy = D9486B081E62BB5E002FE3B3 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\tD9486AF21E62BA66002FE3B3 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = ../Shared/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD9486AF31E62BA66002FE3B3 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = ../Shared/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD9486B041E62BB3D002FE3B3 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = ../Shared/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD9486B051E62BB3D002FE3B3 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = ../Shared/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD9BC0D791A0457800059D906 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD9BC0D7A1A0457800059D906 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD9BC0D931A0458EF0059D906 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = ../Shared/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD9BC0D941A0458EF0059D906 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = ../Shared/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tD9486AF11E62BA66002FE3B3 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTests (iOS)\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD9486AF21E62BA66002FE3B3 /* Debug */,\n\t\t\t\tD9486AF31E62BA66002FE3B3 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD9486B031E62BB3D002FE3B3 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTests (tvOS)\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD9486B041E62BB3D002FE3B3 /* Debug */,\n\t\t\t\tD9486B051E62BB3D002FE3B3 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD9BC0D781A0457800059D906 /* Build configuration list for PBXProject \"CocoaAsyncSocketTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD9BC0D791A0457800059D906 /* Debug */,\n\t\t\t\tD9BC0D7A1A0457800059D906 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD9BC0D951A0458EF0059D906 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTests (macOS)\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD9BC0D931A0458EF0059D906 /* Debug */,\n\t\t\t\tD9BC0D941A0458EF0059D906 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = D9BC0D751A0457800059D906 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Framework/CocoaAsyncSocketTests.xcodeproj/xcshareddata/xcschemes/CocoaAsyncSocketTests (iOS).xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9486AE71E62BA66002FE3B3\"\n               BuildableName = \"CocoaAsyncSocketTests.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTests (iOS)\"\n               ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9486AE71E62BA66002FE3B3\"\n               BuildableName = \"CocoaAsyncSocketTests.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTests (iOS)\"\n               ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9486AE71E62BA66002FE3B3\"\n            BuildableName = \"CocoaAsyncSocketTests.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTests (iOS)\"\n            ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9486AE71E62BA66002FE3B3\"\n            BuildableName = \"CocoaAsyncSocketTests.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTests (iOS)\"\n            ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Framework/CocoaAsyncSocketTests.xcodeproj/xcshareddata/xcschemes/CocoaAsyncSocketTests (macOS).xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9BC0D8C1A0458EF0059D906\"\n               BuildableName = \"CocoaAsyncSocketTests.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTests (macOS)\"\n               ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9BC0D8C1A0458EF0059D906\"\n               BuildableName = \"CocoaAsyncSocketTests.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTests (macOS)\"\n               ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9BC0D8C1A0458EF0059D906\"\n            BuildableName = \"CocoaAsyncSocketTests.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTests (macOS)\"\n            ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9BC0D8C1A0458EF0059D906\"\n            BuildableName = \"CocoaAsyncSocketTests.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTests (macOS)\"\n            ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Framework/CocoaAsyncSocketTests.xcodeproj/xcshareddata/xcschemes/CocoaAsyncSocketTests (tvOS).xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9486AF91E62BB3D002FE3B3\"\n               BuildableName = \"CocoaAsyncSocketTests.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTests (tvOS)\"\n               ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9486AF91E62BB3D002FE3B3\"\n               BuildableName = \"CocoaAsyncSocketTests.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTests (tvOS)\"\n               ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9486AF91E62BB3D002FE3B3\"\n            BuildableName = \"CocoaAsyncSocketTests.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTests (tvOS)\"\n            ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9486AF91E62BB3D002FE3B3\"\n            BuildableName = \"CocoaAsyncSocketTests.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTests (tvOS)\"\n            ReferencedContainer = \"container:CocoaAsyncSocketTests.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Gemfile",
    "content": "source \"https://rubygems.org\"\n\ngem \"cocoapods\", \"~>1.4.0\"\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Mac/CocoaAsyncSocket.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t2DBCA5C81B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DBCA5C71B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m */; };\n\t\t439EF337A9890757E22FAEC3 /* Pods_CocoaAsyncSocketTestsMac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1859AD1F79C285DFDC07C37C /* Pods_CocoaAsyncSocketTestsMac.framework */; };\n\t\tD938B4E51B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */; };\n\t\tD978FC20206EDBC800DDC47E /* SwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D978FC1D206EDBC800DDC47E /* SwiftTests.swift */; };\n\t\tD978FC21206EDBC800DDC47E /* TestServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D978FC1E206EDBC800DDC47E /* TestServer.swift */; };\n\t\tD978FC22206EDBC800DDC47E /* TestSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = D978FC1F206EDBC800DDC47E /* TestSocket.swift */; };\n\t\tD978FC24206EDBDD00DDC47E /* SecureSocketServer.p12 in Resources */ = {isa = PBXBuildFile; fileRef = D978FC23206EDBDD00DDC47E /* SecureSocketServer.p12 */; };\n\t\tD978FC27206EDC5200DDC47E /* GCDAsyncSocketReadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D978FC26206EDC5200DDC47E /* GCDAsyncSocketReadTests.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t08EFE8D9A08D54EDB815BD18 /* Pods-CocoaAsyncSocketTestsMac.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CocoaAsyncSocketTestsMac.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-CocoaAsyncSocketTestsMac/Pods-CocoaAsyncSocketTestsMac.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t1859AD1F79C285DFDC07C37C /* Pods_CocoaAsyncSocketTestsMac.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CocoaAsyncSocketTestsMac.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t2DBCA5C71B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDAsyncSocketUNTests.m; sourceTree = SOURCE_ROOT; };\n\t\t4CB28BA2043D8CD03AFA18E8 /* Pods-CocoaAsyncSocketTestsMac.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CocoaAsyncSocketTestsMac.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-CocoaAsyncSocketTestsMac/Pods-CocoaAsyncSocketTestsMac.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tD938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocketConnectionTests.m; path = ../Shared/GCDAsyncSocketConnectionTests.m; sourceTree = \"<group>\"; };\n\t\tD978FC1D206EDBC800DDC47E /* SwiftTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftTests.swift; path = ../Shared/SwiftTests.swift; sourceTree = \"<group>\"; };\n\t\tD978FC1E206EDBC800DDC47E /* TestServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TestServer.swift; path = ../Shared/TestServer.swift; sourceTree = \"<group>\"; };\n\t\tD978FC1F206EDBC800DDC47E /* TestSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TestSocket.swift; path = ../Shared/TestSocket.swift; sourceTree = \"<group>\"; };\n\t\tD978FC23206EDBDD00DDC47E /* SecureSocketServer.p12 */ = {isa = PBXFileReference; lastKnownFileType = file; name = SecureSocketServer.p12; path = ../Shared/SecureSocketServer.p12; sourceTree = \"<group>\"; };\n\t\tD978FC26206EDC5200DDC47E /* GCDAsyncSocketReadTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GCDAsyncSocketReadTests.swift; path = ../Shared/GCDAsyncSocketReadTests.swift; sourceTree = \"<group>\"; };\n\t\tD9BC0D8D1A0458EF0059D906 /* CocoaAsyncSocketTestsMac.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CocoaAsyncSocketTestsMac.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD9BC0D901A0458EF0059D906 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tD9BC0D8A1A0458EF0059D906 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t439EF337A9890757E22FAEC3 /* Pods_CocoaAsyncSocketTestsMac.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t2DF9645286609056FA561D1D /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t08EFE8D9A08D54EDB815BD18 /* Pods-CocoaAsyncSocketTestsMac.debug.xcconfig */,\n\t\t\t\t4CB28BA2043D8CD03AFA18E8 /* Pods-CocoaAsyncSocketTestsMac.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t6BD64EE47346406202F80C93 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1859AD1F79C285DFDC07C37C /* Pods_CocoaAsyncSocketTestsMac.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD938B4E61B752ED800FE8AB3 /* Shared */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD978FC26206EDC5200DDC47E /* GCDAsyncSocketReadTests.swift */,\n\t\t\t\tD978FC1D206EDBC800DDC47E /* SwiftTests.swift */,\n\t\t\t\tD978FC23206EDBDD00DDC47E /* SecureSocketServer.p12 */,\n\t\t\t\tD978FC1E206EDBC800DDC47E /* TestServer.swift */,\n\t\t\t\tD978FC1F206EDBC800DDC47E /* TestSocket.swift */,\n\t\t\t\tD938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */,\n\t\t\t);\n\t\t\tname = Shared;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9873DA11A057F34004C014F /* Tests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD938B4E61B752ED800FE8AB3 /* Shared */,\n\t\t\t\tD9BC0D8E1A0458EF0059D906 /* Mac */,\n\t\t\t);\n\t\t\tname = Tests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D741A0457800059D906 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9873DA11A057F34004C014F /* Tests */,\n\t\t\t\tD9BC0D801A0457F40059D906 /* Products */,\n\t\t\t\t2DF9645286609056FA561D1D /* Pods */,\n\t\t\t\t6BD64EE47346406202F80C93 /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D801A0457F40059D906 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9BC0D8D1A0458EF0059D906 /* CocoaAsyncSocketTestsMac.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D8E1A0458EF0059D906 /* Mac */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2DBCA5C71B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m */,\n\t\t\t\tD9BC0D8F1A0458EF0059D906 /* Supporting Files */,\n\t\t\t);\n\t\t\tname = Mac;\n\t\t\tpath = CocoaAsyncSocketTestsMac;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D8F1A0458EF0059D906 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9BC0D901A0458EF0059D906 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tD9BC0D8C1A0458EF0059D906 /* CocoaAsyncSocketTestsMac */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D9BC0D951A0458EF0059D906 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTestsMac\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t4AB46844DACF12294B502E98 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tD9BC0D891A0458EF0059D906 /* Sources */,\n\t\t\t\tD9BC0D8A1A0458EF0059D906 /* Frameworks */,\n\t\t\t\tD9BC0D8B1A0458EF0059D906 /* Resources */,\n\t\t\t\tAA94AAA5A64A884AD2E4A6DD /* [CP] Embed Pods Frameworks */,\n\t\t\t\tADC6CEFA3FD08AEA679AEBA7 /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = CocoaAsyncSocketTestsMac;\n\t\t\tproductName = CocoaAsyncSocketTestsMac;\n\t\t\tproductReference = D9BC0D8D1A0458EF0059D906 /* CocoaAsyncSocketTestsMac.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tD9BC0D751A0457800059D906 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0720;\n\t\t\t\tLastUpgradeCheck = 0930;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tD9BC0D8C1A0458EF0059D906 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = D9BC0D781A0457800059D906 /* Build configuration list for PBXProject \"CocoaAsyncSocket\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = D9BC0D741A0457800059D906;\n\t\t\tproductRefGroup = D9BC0D801A0457F40059D906 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tD9BC0D8C1A0458EF0059D906 /* CocoaAsyncSocketTestsMac */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tD9BC0D8B1A0458EF0059D906 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD978FC24206EDBDD00DDC47E /* SecureSocketServer.p12 in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t4AB46844DACF12294B502E98 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-CocoaAsyncSocketTestsMac-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tAA94AAA5A64A884AD2E4A6DD /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-CocoaAsyncSocketTestsMac/Pods-CocoaAsyncSocketTestsMac-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaAsyncSocket.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CocoaAsyncSocketTestsMac/Pods-CocoaAsyncSocketTestsMac-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tADC6CEFA3FD08AEA679AEBA7 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CocoaAsyncSocketTestsMac/Pods-CocoaAsyncSocketTestsMac-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tD9BC0D891A0458EF0059D906 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD978FC22206EDBC800DDC47E /* TestSocket.swift in Sources */,\n\t\t\t\tD978FC21206EDBC800DDC47E /* TestServer.swift in Sources */,\n\t\t\t\tD978FC27206EDC5200DDC47E /* GCDAsyncSocketReadTests.swift in Sources */,\n\t\t\t\t2DBCA5C81B8CF4F3004F3128 /* GCDAsyncSocketUNTests.m in Sources */,\n\t\t\t\tD938B4E51B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m in Sources */,\n\t\t\t\tD978FC20206EDBC800DDC47E /* SwiftTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\tD9BC0D791A0457800059D906 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD9BC0D7A1A0457800059D906 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD9BC0D931A0458EF0059D906 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 08EFE8D9A08D54EDB815BD18 /* Pods-CocoaAsyncSocketTestsMac.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD9BC0D941A0458EF0059D906 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 4CB28BA2043D8CD03AFA18E8 /* Pods-CocoaAsyncSocketTestsMac.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tD9BC0D781A0457800059D906 /* Build configuration list for PBXProject \"CocoaAsyncSocket\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD9BC0D791A0457800059D906 /* Debug */,\n\t\t\t\tD9BC0D7A1A0457800059D906 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD9BC0D951A0458EF0059D906 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTestsMac\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD9BC0D931A0458EF0059D906 /* Debug */,\n\t\t\t\tD9BC0D941A0458EF0059D906 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = D9BC0D751A0457800059D906 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Mac/CocoaAsyncSocket.xcodeproj/xcshareddata/xcschemes/CocoaAsyncSocketTestsMac.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9BC0D8C1A0458EF0059D906\"\n               BuildableName = \"CocoaAsyncSocketTestsMac.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTestsMac\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9BC0D8C1A0458EF0059D906\"\n               BuildableName = \"CocoaAsyncSocketTestsMac.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTestsMac\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9BC0D8C1A0458EF0059D906\"\n            BuildableName = \"CocoaAsyncSocketTestsMac.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTestsMac\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9BC0D8C1A0458EF0059D906\"\n            BuildableName = \"CocoaAsyncSocketTestsMac.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTestsMac\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9BC0D8C1A0458EF0059D906\"\n            BuildableName = \"CocoaAsyncSocketTestsMac.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTestsMac\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Mac/CocoaAsyncSocket.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:CocoaAsyncSocket.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Pods/Pods.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Mac/CocoaAsyncSocket.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Mac/GCDAsyncSocketUNTests.m",
    "content": "//\n//  GCDAsyncSocketConnectionTests.m\n//  GCDAsyncSocketConnectionTests\n//\n//  Created by Christopher Ballinger on 10/31/14.\n//\n//\n\n#import <Foundation/Foundation.h>\n#import <XCTest/XCTest.h>\n@import CocoaAsyncSocket;\n\n@interface GCDAsyncSocketUNTests : XCTestCase <GCDAsyncSocketDelegate>\n@property (nonatomic, strong) NSURL *url;\n@property (nonatomic, strong) GCDAsyncSocket *clientSocket;\n@property (nonatomic, strong) GCDAsyncSocket *serverSocket;\n@property (nonatomic, strong) GCDAsyncSocket *acceptedServerSocket;\n@property (nonatomic, strong) NSData *readData;\n\n@property (nonatomic, strong) XCTestExpectation *expectation;\n@end\n\n@implementation GCDAsyncSocketUNTests\n\n- (void)setUp {\n    [super setUp];\n    // Put setup code here. This method is called before the invocation of each test method in the class.\n\tself.url = [NSURL fileURLWithPath:@\"/tmp/GCDAsyncSocketUNTests\"];\n    self.clientSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n    self.serverSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n}\n\n- (void)tearDown {\n    // Put teardown code here. This method is called after the invocation of each test method in the class.\n    [super tearDown];\n    [self.clientSocket disconnect];\n    [self.serverSocket disconnect];\n    [self.acceptedServerSocket disconnect];\n    self.clientSocket = nil;\n    self.serverSocket = nil;\n    self.acceptedServerSocket = nil;\n\t[[NSFileManager defaultManager] removeItemAtURL:self.url error:nil];\n}\n\n- (void)testFullConnection {\n    NSError *error = nil;\n    BOOL success = NO;\n    success = [self.serverSocket acceptOnUrl:self.url error:&error];\n    XCTAssertTrue(success, @\"Server failed setting up socket at path %@ %@\", self.url.path, error);\n\tsuccess = [self.clientSocket connectToUrl:self.url withTimeout:-1 error:&error];\n    XCTAssertTrue(success, @\"Client failed connecting to server socket at path %@ %@\", self.url.path, error);\n    \n    self.expectation = [self expectationWithDescription:@\"Test Full Connection\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing test connection\");\n        }\n    }];\n}\n\n/****  BROKEN TESTS *******\n \n \n- (void)testTransferFromClient {\n\n\tNSData *testData = [@\"ThisTestRocks!!!\" dataUsingEncoding:NSUTF8StringEncoding];\n\n\t// set up and conncet to socket\n\t[self.serverSocket acceptOnUrl:self.url error:nil];\n\t[self.clientSocket connectToUrl:self.url withTimeout:-1 error:nil];\n\n\t// wait for connection\n\tself.expectation = [self expectationWithDescription:@\"Socket Connected\"];\n\t[self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n\n\t\t// start reading\n\t\t[self.acceptedServerSocket readDataWithTimeout:-1 tag:0];\n\n\t\t// send data\n\t\tself.expectation = [self expectationWithDescription:@\"Data Sent\"];\n\t\t[self.clientSocket writeData:testData withTimeout:-1 tag:0];\n\t\t[self waitForExpectationsWithTimeout:1 handler:^(NSError *error) {\n\t\t\tif (error) {\n\t\t\t\treturn NSLog(@\"Error reading data\");\n\t\t\t}\n\t\t\tXCTAssertTrue([testData isEqual:self.readData], @\"Read data did not match test data\");\n\t\t}];\n\t}];\n}\n\n- (void)testTransferFromServer {\n\t\n\tNSData *testData = [@\"ThisTestRocks!!!\" dataUsingEncoding:NSUTF8StringEncoding];\n\t\n\t// set up and conncet to socket\n\t[self.serverSocket acceptOnUrl:self.url error:nil];\n\t[self.clientSocket connectToUrl:self.url withTimeout:-1 error:nil];\n\t\n\t// wait for connection\n\tself.expectation = [self expectationWithDescription:@\"Socket Connected\"];\n\t[self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n\t\t\n\t\t// start reading\n\t\t[self.clientSocket readDataWithTimeout:-1 tag:0];\n\t\t\n\t\t// send data\n\t\tself.expectation = [self expectationWithDescription:@\"Data Sent\"];\n\t\t[self.acceptedServerSocket writeData:testData withTimeout:-1 tag:0];\n\t\t[self waitForExpectationsWithTimeout:1 handler:^(NSError *error) {\n\t\t\tif (error) {\n\t\t\t\treturn NSLog(@\"Error reading data\");\n\t\t\t}\n\t\t\tXCTAssertTrue([testData isEqual:self.readData], @\"Read data did not match test data\");\n\t\t}];\n\t}];\n}\n \n **************/\n\n#pragma mark GCDAsyncSocketDelegate methods\n\n/**\n * Called when a socket accepts a connection.\n * Another socket is automatically spawned to handle it.\n *\n * You must retain the newSocket if you wish to handle the connection.\n * Otherwise the newSocket instance will be released and the spawned connection will be closed.\n *\n * By default the new socket will have the same delegate and delegateQueue.\n * You may, of course, change this at any time.\n **/\n- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket {\n    NSLog(@\"didAcceptNewSocket %@ %@\", sock, newSocket);\n    self.acceptedServerSocket = newSocket;\n}\n\n/**\n * Called when a socket connects and is ready for reading and writing.\n * The host parameter will be an IP address, not a DNS name.\n **/\n- (void)socket:(GCDAsyncSocket *)sock didConnectToUrl:(NSURL *)url {\n    NSLog(@\"didConnectToUrl %@\", url);\n    [self.expectation fulfill];\n}\n\n/**\n * Called when a socket has completed reading the requested data into memory.\n * Not called if there is an error.\n **/\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag {\n\tNSLog(@\"didReadData: %@ tag: %ld\", data, tag);\n\tself.readData = data;\n\t[self.expectation fulfill];\n}\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Mac/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Mac/Podfile",
    "content": "source 'https://github.com/CocoaPods/Specs.git'\n\nuse_frameworks!\n\ntarget :CocoaAsyncSocketTestsMac do\n    platform :osx, '10.8'\n    pod 'CocoaAsyncSocket', :path => '../../CocoaAsyncSocket.podspec'\nend"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Shared/GCDAsyncSocketConnectionTests.m",
    "content": "//\n//  GCDAsyncSocketConnectionTests.m\n//  GCDAsyncSocketConnectionTests\n//\n//  Created by Christopher Ballinger on 10/31/14.\n//\n//\n\n#import <Foundation/Foundation.h>\n#import <XCTest/XCTest.h>\n#include <netinet/in.h>\n#include <arpa/inet.h>\n@import CocoaAsyncSocket;\n\n@interface GCDAsyncSocketConnectionTests : XCTestCase <GCDAsyncSocketDelegate>\n@property (nonatomic) uint16_t portNumber;\n@property (nonatomic, strong) GCDAsyncSocket *clientSocket;\n@property (nonatomic, strong) GCDAsyncSocket *serverSocket;\n@property (nonatomic, strong) GCDAsyncSocket *acceptedServerSocket;\n\n@property (nonatomic, strong) XCTestExpectation *expectation;\n@end\n\n@implementation GCDAsyncSocketConnectionTests\n\n- (void)setUp {\n    [super setUp];\n    // Put setup code here. This method is called before the invocation of each test method in the class.\n    self.portNumber = [self randomValidPort];\n    self.clientSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n    self.serverSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n}\n\n- (void)tearDown {\n    // Put teardown code here. This method is called after the invocation of each test method in the class.\n    [super tearDown];\n    [self.clientSocket disconnect];\n    [self.serverSocket disconnect];\n    [self.acceptedServerSocket disconnect];\n    self.clientSocket = nil;\n    self.serverSocket = nil;\n    self.acceptedServerSocket = nil;\n}\n\n- (uint16_t) randomValidPort {\n    uint16_t minPort = 1024;\n    uint16_t maxPort = UINT16_MAX;\n    return minPort + arc4random_uniform(maxPort - minPort + 1);\n}\n\n- (void)testFullConnection {\n    NSError *error = nil;\n    BOOL success = NO;\n    success = [self.serverSocket acceptOnPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Server failed setting up socket on port %d %@\", self.portNumber, error);\n    success = [self.clientSocket connectToHost:@\"127.0.0.1\" onPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Client failed connecting to up server socket on port %d %@\", self.portNumber, error);\n    \n    self.expectation = [self expectationWithDescription:@\"Test Full Connection\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing test connection\");\n        }\n    }];\n}\n\n- (void)testConnectionWithAnIPv4OnlyServer {\n    self.serverSocket.IPv6Enabled = NO;\n    \n    NSError *error = nil;\n    BOOL success = NO;\n    success = [self.serverSocket acceptOnPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Server failed setting up socket on port %d %@\", self.portNumber, error);\n    success = [self.clientSocket connectToHost:@\"127.0.0.1\" onPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Client failed connecting to up server socket on port %d %@\", self.portNumber, error);\n    \n    self.expectation = [self expectationWithDescription:@\"Test Full Connection\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing test connection\");\n        }\n        else {\n            XCTAssertTrue(self.acceptedServerSocket.isIPv4, @\"Established connection is not IPv4\");\n        }\n    }];\n}\n\n- (void)testConnectionWithAnIPv6OnlyServer {\n    self.serverSocket.IPv4Enabled = NO;\n    \n    NSError *error = nil;\n    BOOL success = NO;\n    success = [self.serverSocket acceptOnPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Server failed setting up socket on port %d %@\", self.portNumber, error);\n    success = [self.clientSocket connectToHost:@\"::1\" onPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Client failed connecting to up server socket on port %d %@\", self.portNumber, error);\n    \n    self.expectation = [self expectationWithDescription:@\"Test Full Connection\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing test connection\");\n        }\n        else {\n            XCTAssertTrue(self.acceptedServerSocket.isIPv6, @\"Established connection is not IPv6\");\n        }\n    }];\n}\n\n- (void)testConnectionWithLocalhostWithClientPreferringIPv4 {\n    [self.clientSocket setIPv4PreferredOverIPv6:YES];\n    \n    NSError *error = nil;\n    BOOL success = NO;\n    success = [self.serverSocket acceptOnPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Server failed setting up socket on port %d %@\", self.portNumber, error);\n    success = [self.clientSocket connectToHost:@\"localhost\" onPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Client failed connecting to up server socket on port %d %@\", self.portNumber, error);\n    \n    self.expectation = [self expectationWithDescription:@\"Test Full Connection\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing test connection\");\n        }\n    }];\n}\n\n- (void)testConnectionWithLocalhostWithClientPreferringIPv6 {\n  [self.clientSocket setIPv4PreferredOverIPv6:NO];\n\n    NSError *error = nil;\n    BOOL success = NO;\n    success = [self.serverSocket acceptOnPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Server failed setting up socket on port %d %@\", self.portNumber, error);\n    success = [self.clientSocket connectToHost:@\"localhost\" onPort:self.portNumber error:&error];\n    XCTAssertTrue(success, @\"Client failed connecting to up server socket on port %d %@\", self.portNumber, error);\n    \n    self.expectation = [self expectationWithDescription:@\"Test Full Connection\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing test connection\");\n        }\n    }];\n}\n\n- (void)testConnectionWithLocalhostWithConnectedSocketFD4 {\n  [self.serverSocket setIPv6Enabled:NO];\n  \n  NSError *error = nil;\n  BOOL success = NO;\n  success = [self.serverSocket acceptOnPort:self.portNumber error:&error];\n  XCTAssertTrue(success, @\"Server failed setting up socket on port %d %@\", self.portNumber, error);\n\n  int socketFD4;\n  struct sockaddr_in addr;\n  addr.sin_family = AF_INET;\n  addr.sin_port = htons(self.portNumber);\n  addr.sin_addr.s_addr = inet_addr(\"127.0.0.1\");\n  \n  socketFD4 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);\n  XCTAssertTrue(socketFD4 >=0, @\"Failed to create IPv4 socket\");\n  \n  int errorCode = connect(socketFD4, (struct sockaddr *)&addr, sizeof(addr));\n  XCTAssertTrue(errorCode == 0, @\"Failed to connect to server\");\n\n  GCDAsyncSocket *socket = [GCDAsyncSocket socketFromConnectedSocketFD:socketFD4 delegate:nil delegateQueue:NULL error:&error];\n  XCTAssertTrue(socket && !error, @\"Failed to create socket from socket FD\");\n  \n  XCTAssertTrue([socket isConnected], @\"GCDAsyncSocket is should connected\");\n  XCTAssertTrue([socket.connectedHost isEqualToString:@\"127.0.0.1\"], @\"Something is wrong with GCDAsyncSocket. Connected host is wrong\");\n  XCTAssertTrue(socket.connectedPort == self.portNumber, @\"Something is wrong with the GCDAsyncSocket. Connected port is wrong\");\n}\n\n- (void)testConnectionWithLocalhostWithConnectedSocketFD6 {\n  [self.serverSocket setIPv4Enabled:NO];\n  \n  NSError *error = nil;\n  BOOL success = NO;\n  success = [self.serverSocket acceptOnPort:self.portNumber error:&error];\n  XCTAssertTrue(success, @\"Server failed setting up socket on port %d %@\", self.portNumber, error);\n  \n  int socketFD6;\n  struct sockaddr_in6 addr;\n  addr.sin6_family = AF_INET6;\n  addr.sin6_port = htons(self.portNumber);\n  inet_pton(AF_INET6, \"::1\", &addr.sin6_addr);\n  \n  socketFD6 = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP);\n  XCTAssertTrue(socketFD6 >=0, @\"Failed to create IPv6 socket\");\n  \n  int errorCode = connect(socketFD6, (struct sockaddr *)&addr, sizeof(addr));\n  XCTAssertTrue(errorCode == 0, @\"Failed to connect to server\");\n  \n  GCDAsyncSocket *socket = [GCDAsyncSocket socketFromConnectedSocketFD:socketFD6 delegate:nil delegateQueue:NULL error:&error];\n  XCTAssertTrue(socket && !error, @\"Failed to create socket from socket FD\");\n\n  XCTAssertTrue([socket isConnected], @\"GCDAsyncSocket is should connected\");\n  XCTAssertTrue([socket.connectedHost isEqualToString:@\"::1\"], @\"Something is wrong with GCDAsyncSocket. Connected host is wrong\");\n  XCTAssertTrue(socket.connectedPort == self.portNumber, @\"Something is wrong with the GCDAsyncSocket. Connected port is wrong\");\n}\n\n#pragma mark GCDAsyncSocketDelegate methods\n\n/**\n * Called when a socket accepts a connection.\n * Another socket is automatically spawned to handle it.\n *\n * You must retain the newSocket if you wish to handle the connection.\n * Otherwise the newSocket instance will be released and the spawned connection will be closed.\n *\n * By default the new socket will have the same delegate and delegateQueue.\n * You may, of course, change this at any time.\n **/\n- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket {\n    NSLog(@\"didAcceptNewSocket %@ %@\", sock, newSocket);\n    self.acceptedServerSocket = newSocket;\n}\n\n/**\n * Called when a socket connects and is ready for reading and writing.\n * The host parameter will be an IP address, not a DNS name.\n **/\n- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port {\n    NSLog(@\"didConnectToHost %@ %@ %d\", sock, host, port);\n    [self.expectation fulfill];\n}\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Shared/GCDAsyncSocketReadTests.swift",
    "content": "import XCTest\n\nclass GCDAsyncSocketReadTests: XCTestCase {\n\n\tfunc test_whenBytesAvailableIsLessThanReadLength_readDoesNotTimeout() {\n\t\tTestSocket.waiterDelegate = self\n\n\t\tlet server = TestServer()\n\t\tlet (client, accepted) = server.createSecurePair()\n\n\t\tdefer {\n\t\t\tclient.close()\n\t\t\taccepted.close()\n\t\t\tserver.close()\n\t\t}\n\n\t\t// Write once to fire the readSource on the client, also causing the\n\t\t// readSource to be suspended.\n\t\taccepted.write(bytes: 1024 * 50)\n\n\t\t// Write a second time to ensure there is more on the socket than in the\n\t\t// \"estimatedBytesAvailable + 16kb\" upperbound in our SSLRead.\n\t\taccepted.write(bytes: 1024 * 50)\n\n\t\t// Ensure our socket is not disconnected when we attempt to read everything in\n\t\tclient.onDisconnect = {\n\t\t\tXCTFail(\"Socket was disconnected\")\n\t\t}\n\n\t\t// Ensure our read does not timeout.\n\t\tclient.read(bytes: 1024 * 100)\n\n\t\tXCTAssertEqual(client.bytesRead, 1024 * 100)\n\t}\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Shared/GCDAsyncUdpSocketConnectionTests.m",
    "content": "//\n//  GCDAsyncUdpSocketConnectionTests.m\n//  CocoaAsyncSocket\n//\n//  Created by 李博文 on 2017/3/25.\n//\n//\n\n#import <Foundation/Foundation.h>\n#import <XCTest/XCTest.h>\n@import CocoaAsyncSocket;\n\n@interface GCDAsyncUdpSocketConnectionTests : XCTestCase<GCDAsyncUdpSocketDelegate>\n@property (nonatomic) uint16_t portNumber;\n@property (nonatomic, strong) GCDAsyncUdpSocket *clientSocket;\n@property (nonatomic, strong) GCDAsyncUdpSocket *serverSocket;\n\n@property (nonatomic, strong) NSMutableData *testData;\n@property (nonatomic, assign) NSInteger sendDataLength;\n\n@property (nonatomic, strong) XCTestExpectation *expectation;\n\n@end\n\n@implementation GCDAsyncUdpSocketConnectionTests\n\n- (void)setUp {\n    [super setUp];\n    // Put setup code here. This method is called before the invocation of each test method in the class.\n    self.portNumber = [self randomValidPort];\n    self.clientSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n    \n    self.serverSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];\n    \n    self.testData = [NSMutableData data];\n    \n    NSData* data = [@\"test-data-\" dataUsingEncoding:NSUTF8StringEncoding];\n    \n    for (int i = 0; i < 7000; i ++)\n    {\n        [self.testData appendData:data];\n    }\n}\n\n- (void)tearDown {\n    // Put teardown code here. This method is called after the invocation of each test method in the class.\n    [super tearDown];\n    \n    self.clientSocket = nil;\n    self.serverSocket = nil;\n    \n    self.testData = nil;\n}\n\n- (uint16_t) randomValidPort {\n    uint16_t minPort = 1024;\n    uint16_t maxPort = UINT16_MAX;\n    return minPort + arc4random_uniform(maxPort - minPort + 1);\n}\n\n- (uint16_t) randomLengthOfLargePacket {\n    uint16_t minLength = 9217;\n    uint16_t maxLength = UINT16_MAX;\n    return minLength + arc4random_uniform(maxLength - minLength + 1);\n}\n\n- (uint32_t) randomLengthOfInvaildPacket {\n    uint32_t minLength = 65536;\n    uint32_t maxLength = (uint32_t)self.testData.length;\n    return minLength + arc4random_uniform(maxLength - minLength + 1);\n}\n\n- (void)testSendBoardcastWithMicroPacket\n{\n    NSError * error = nil;\n    BOOL success = NO;\n    success = [self.serverSocket bindToPort:self.portNumber error:&error] && [self.serverSocket beginReceiving:&error];\n    XCTAssertTrue(success, @\"UDP Server failed setting up socket on port %d %@\", self.portNumber, error);\n    \n    NSData * sendData = [self.testData subdataWithRange:NSMakeRange(0, arc4random_uniform(9217))];\n    NSLog(@\"Send data Length is %ld\",sendData.length);\n    self.sendDataLength = sendData.length;\n    \n    [self.clientSocket sendData:sendData toHost:@\"127.0.0.1\" port:self.portNumber withTimeout:30 tag:0];\n    \n    self.expectation = [self expectationWithDescription:@\"Test Sending/Receving Micro Packet\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing test sending/receving micro packet\");\n        }\n    }];\n}\n\n- (void)testSendBoardcastWithLargePacket\n{\n    NSError * error = nil;\n    BOOL success = NO;\n    success = [self.serverSocket bindToPort:self.portNumber error:&error] && [self.serverSocket beginReceiving:&error];\n    XCTAssertTrue(success, @\"UDP Server failed setting up socket on port %d %@\", self.portNumber, error);\n    \n    NSData * sendData = [self.testData subdataWithRange:NSMakeRange(0, [self randomLengthOfLargePacket])];\n    NSLog(@\"Send data Length is %ld\",sendData.length);\n    self.sendDataLength = sendData.length;\n    [self.clientSocket sendData:sendData toHost:@\"127.0.0.1\" port:self.portNumber withTimeout:30 tag:0];\n    \n    self.expectation = [self expectationWithDescription:@\"Test Sending/Receving Large Packet\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing test sending/receving large Packet\");\n        }\n    }];\n}\n\n- (void)testSendBoardcastWithInvaildPacket\n{\n    NSError * error = nil;\n    BOOL success = NO;\n    success = [self.serverSocket bindToPort:self.portNumber error:&error] && [self.serverSocket beginReceiving:&error];\n    XCTAssertTrue(success, @\"UDP Server failed setting up socket on port %d %@\", self.portNumber, error);\n    \n    NSData * sendData = [self.testData subdataWithRange:NSMakeRange(0, [self randomLengthOfInvaildPacket])];\n    NSLog(@\"Send data Length is %ld\",sendData.length);\n    self.sendDataLength = sendData.length;\n    [self.clientSocket sendData:sendData toHost:@\"127.0.0.1\" port:self.portNumber withTimeout:30 tag:0];\n    \n    self.expectation = [self expectationWithDescription:@\"Test Sending/Receving Invaild Packet\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing test sending/receving invaild packet\");\n        }\n    }];\n}\n\n- (void)testAlterMaxSendBufferSizeWithVaildValue\n{\n    NSError * error = nil;\n    BOOL success = NO;\n    \n    uint16_t dataLength = arc4random_uniform(UINT16_MAX);\n    NSLog(@\"random data length is %hu\",dataLength);\n    \n    success = [self.serverSocket bindToPort:self.portNumber error:&error] && [self.serverSocket beginReceiving:&error];\n    XCTAssertTrue(success, @\"UDP Server failed setting up socket on port %d %@\", self.portNumber, error);\n    \n    NSData * sendData = [self.testData subdataWithRange:NSMakeRange(0, dataLength)];\n    NSLog(@\"Send data Length is %ld\",sendData.length);\n    \n    self.clientSocket.maxSendBufferSize = dataLength;\n    [self.clientSocket sendData:sendData toHost:@\"127.0.0.1\" port:self.portNumber withTimeout:30 tag:0];\n    self.sendDataLength = dataLength;\n    XCTAssertTrue(self.clientSocket.maxSendBufferSize == dataLength, @\"Alter socket maxSendBufferSize fail on port %d %@\", self.portNumber, error);\n    \n    self.expectation = [self expectationWithDescription:@\"Test Altering maxSendBufferSize With Vaild Value\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing altering maxSendBufferSize with vaild value \");\n        }\n    }];\n}\n\n- (void)testAlterMaxSendBufferSizeWithInvaildValue\n{\n    NSError * error = nil;\n    BOOL success = NO;\n    \n    uint16_t dataLength = arc4random_uniform(UINT16_MAX);\n    NSLog(@\"random data length is %hu\",dataLength);\n    \n    success = [self.serverSocket bindToPort:self.portNumber error:&error] && [self.serverSocket beginReceiving:&error];\n    XCTAssertTrue(success, @\"UDP Server failed setting up socket on port %d %@\", self.portNumber, error);\n    \n    NSData * sendData = [self.testData subdataWithRange:NSMakeRange(0, dataLength + 1)];\n    NSLog(@\"Send data Length is %ld\",sendData.length);\n    \n    self.clientSocket.maxSendBufferSize = dataLength;\n    [self.clientSocket sendData:sendData toHost:@\"127.0.0.1\" port:self.portNumber withTimeout:30 tag:0];\n    self.sendDataLength = dataLength;\n    XCTAssertTrue(self.clientSocket.maxSendBufferSize == dataLength, @\"Alter socket maxSendBufferSize fail on port %d %@\", self.portNumber, error);\n    \n    self.expectation = [self expectationWithDescription:@\"Test Altering maxSendBufferSize With Invaild Value\"];\n    [self waitForExpectationsWithTimeout:30 handler:^(NSError *error) {\n        if (error) {\n            NSLog(@\"Error establishing altering maxSendBufferSize with invaild value \");\n        }\n    }];\n}\n\n#pragma mark GCDAsyncUdpSocketDelegate methods\n/**\n * Called when the datagram with the given tag has been sent.\n **/\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didSendDataWithTag:(long)tag\n{\n    NSLog(@\"Send data\");\n}\n\n\n- (void)udpSocketDidClose:(GCDAsyncUdpSocket *)sock withError:(NSError  * _Nullable)error\n{\n    NSLog(@\"Close socket, error is %@\",error);\n    [self.expectation fulfill];\n}\n\n- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data\n      fromAddress:(NSData *)address\nwithFilterContext:(nullable id)filterContext\n{\n    XCTAssertTrue(data.length == self.sendDataLength, @\"UDP packet is truncated on port %d\", self.portNumber);\n    NSLog(@\"Receive data\");\n    [self.expectation fulfill];\n}\n\n\\\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Shared/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Shared/SwiftTests.swift",
    "content": "//\n//  SwiftTests.swift\n//  CocoaAsyncSocket\n//\n//  Created by Chris Ballinger on 2/17/16.\n//\n//\n\nimport XCTest\nimport CocoaAsyncSocket\n\nclass SwiftTests: XCTestCase, GCDAsyncSocketDelegate {\n    \n    var portNumber: UInt16 = 0\n    var clientSocket: GCDAsyncSocket?\n    var serverSocket: GCDAsyncSocket?\n    var acceptedServerSocket: GCDAsyncSocket?\n    var expectation: XCTestExpectation?\n\n    override func setUp() {\n        super.setUp()\n        // Put setup code here. This method is called before the invocation of each test method in the class.\n        portNumber = randomValidPort()\n        clientSocket = GCDAsyncSocket(delegate: self, delegateQueue: DispatchQueue.main)\n        serverSocket = GCDAsyncSocket(delegate: self, delegateQueue: DispatchQueue.main)\n    }\n    \n    override func tearDown() {\n        // Put teardown code here. This method is called after the invocation of each test method in the class.\n        super.tearDown()\n        clientSocket?.disconnect()\n        serverSocket?.disconnect()\n        acceptedServerSocket?.disconnect()\n        clientSocket = nil\n        serverSocket = nil\n        acceptedServerSocket = nil\n    }\n    \n    fileprivate func randomValidPort() -> UInt16 {\n        let minPort = UInt32(1024)\n        let maxPort = UInt32(UINT16_MAX)\n        let value = maxPort - minPort + 1\n        return UInt16(minPort + arc4random_uniform(value))\n    }\n\n    func testFullConnection() {\n        // This is an example of a functional test case.\n        // Use XCTAssert and related functions to verify your tests produce the correct results.\n        do {\n            try serverSocket?.accept(onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        do {\n            try clientSocket?.connect(toHost: \"127.0.0.1\", onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        expectation = self.expectation(description: \"Test Full connnection\")\n        waitForExpectations(timeout: 30, handler: nil)\n    }\n    \n    func testConnectionWithAnIPv4OnlyServer() {\n        serverSocket?.isIPv6Enabled = false\n        do {\n            try serverSocket?.accept(onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        do {\n            try clientSocket?.connect(toHost: \"127.0.0.1\", onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        expectation = self.expectation(description: \"Test Full connnection\")\n        waitForExpectations(timeout: 30, handler: { (error) in\n            if let error = error {\n                XCTFail(\"\\(error)\")\n            }\n            else {\n                if let isIPv4 = self.acceptedServerSocket?.isIPv4 {\n                    XCTAssertTrue(isIPv4)\n                }\n            }\n        })\n    }\n\n    func testConnectionWithAnIPv6OnlyServer() {\n        serverSocket?.isIPv4Enabled = false\n        do {\n            try serverSocket?.accept(onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        do {\n            try clientSocket?.connect(toHost: \"::1\", onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        expectation = self.expectation(description: \"Test Full connnection\")\n        waitForExpectations(timeout: 30, handler: { (error) in\n            if let error = error {\n                XCTFail(\"\\(error)\")\n            }\n            else {\n                if let isIPv6 = self.acceptedServerSocket?.isIPv6 {\n                    XCTAssertTrue(isIPv6)\n                }\n            }\n        })\n    }\n    \n    func testConnectionWithLocalhostWithClientPreferringIPv4() {\n        clientSocket?.isIPv4PreferredOverIPv6 = true\n        \n        do {\n            try serverSocket?.accept(onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        do {\n            try clientSocket?.connect(toHost: \"localhost\", onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        expectation = self.expectation(description: \"Test Full connnection\")\n        waitForExpectations(timeout: 30, handler: nil)\n    }\n    \n    func testConnectionWithLocalhostWithClientPreferringIPv6() {\n        clientSocket?.isIPv4PreferredOverIPv6 = false\n        \n        do {\n            try serverSocket?.accept(onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        do {\n            try clientSocket?.connect(toHost: \"localhost\", onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        expectation = self.expectation(description: \"Test Full connnection\")\n        waitForExpectations(timeout: 30, handler: nil)\n    }\n  \n    func testConnectionWithLocalhostWithConnectedSocketFD4() {\n        serverSocket?.isIPv6Enabled = false;\n        \n        do {\n            try serverSocket?.accept(onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        \n        var addr = sockaddr_in()\n        addr.sin_family = sa_family_t(AF_INET)\n        addr.sin_port = _OSSwapInt16(in_port_t(portNumber))\n        addr.sin_addr.s_addr = inet_addr(\"127.0.0.1\");\n        \n        let socketFD4 = Darwin.socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)\n        XCTAssertTrue(socketFD4 >= 0, \"Failed to create IPv4 socket\");\n        \n        withUnsafeMutablePointer(to: &addr) {\n            $0.withMemoryRebound(to: sockaddr.self, capacity: 1) {\n                let errorCode = Darwin.connect(socketFD4, $0, socklen_t(MemoryLayout.size(ofValue: addr)));\n                XCTAssertTrue(errorCode == 0, \"Failed to connect to server\");\n            }\n        }\n        \n        do {\n            let socket = try GCDAsyncSocket.init(fromConnectedSocketFD: socketFD4, delegate: nil, delegateQueue: nil)\n            XCTAssertTrue(socket.isConnected, \"GCDAsyncSocket is should connected\");\n            XCTAssertTrue(socket.connectedHost == \"127.0.0.1\", \"Something is wrong with GCDAsyncSocket. Connected host is wrong\");\n            XCTAssertTrue(socket.connectedPort == self.portNumber, \"Something is wrong with the GCDAsyncSocket. Connected port is wrong\");\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n    }\n    \n    func testConnectionWithLocalhostWithConnectedSocketFD6() {\n        serverSocket?.isIPv4Enabled = false;\n        \n        do {\n            try serverSocket?.accept(onPort: portNumber)\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n        \n        var addr = sockaddr_in6()\n        addr.sin6_family = sa_family_t(AF_INET6)\n        addr.sin6_port = _OSSwapInt16(in_port_t(portNumber))\n        inet_pton(AF_INET6, \"::1\", &addr.sin6_addr);\n        \n        let socketFD6 = Darwin.socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP)\n        XCTAssertTrue(socketFD6 >= 0, \"Failed to create IPv4 socket\");\n        \n        withUnsafeMutablePointer(to: &addr) {\n            $0.withMemoryRebound(to: sockaddr.self, capacity: 1) {\n                let errorCode = Darwin.connect(socketFD6, $0, socklen_t(MemoryLayout.size(ofValue: addr)));\n                XCTAssertTrue(errorCode == 0, \"Failed to connect to server\");\n            }\n        }\n        \n        do {\n            let socket = try GCDAsyncSocket.init(fromConnectedSocketFD: socketFD6, delegate: nil, delegateQueue: nil)\n            XCTAssertTrue(socket.isConnected, \"GCDAsyncSocket is should connected\");\n            XCTAssertTrue(socket.connectedHost == \"::1\", \"Something is wrong with GCDAsyncSocket. Connected host is wrong\");\n            XCTAssertTrue(socket.connectedPort == self.portNumber, \"Something is wrong with the GCDAsyncSocket. Connected port is wrong\");\n        } catch {\n            XCTFail(\"\\(error)\")\n        }\n    }\n  \n    //MARK:- GCDAsyncSocketDelegate\n    func socket(_ sock: GCDAsyncSocket, didAcceptNewSocket newSocket: GCDAsyncSocket) {\n        NSLog(\"didAcceptNewSocket %@ %@\", sock, newSocket)\n        acceptedServerSocket = newSocket\n    }\n    \n    func socket(_ sock: GCDAsyncSocket, didConnectToHost host: String, port: UInt16) {\n        NSLog(\"didConnectToHost %@ %@ %d\", sock, host, port);\n        expectation?.fulfill()\n    }\n    \n    \n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Shared/TestServer.swift",
    "content": "import CocoaAsyncSocket\nimport XCTest\n\n/**\n *  A simple test wrapper around GCDAsyncSocket which acts as a server\n */\nclass TestServer: NSObject {\n\n\t/**\n\t *\tCreates a SecIdentity from the bundled SecureSocketServer.p12\n\t *\n\t *  For creating a secure connection, we need to start TLS with a valid identity. The one in\n\t *  in SecureSocketServer.p12 is a self signed SSL sever cert that was creating following Apple's\n\t *  \"Creating Certificates for TLS Testing\". No root CA is used, however.\n\t *\n\t *    https://developer.apple.com/library/content/technotes/tn2326/_index.html\n\t *\n\t *  Most of this code in the this method from Apple's examples on reading in the contents of a\n\t *  p12.\n\t *\n\t *    https://developer.apple.com/documentation/security/certificate_key_and_trust_services/identities/importing_an_identity\n\t */\n\tstatic var identity: SecIdentity = {\n\t\tlet bundle = Bundle(for: TestServer.self)\n\n\t\tguard let url = bundle.url(forResource: \"SecureSocketServer\", withExtension: \"p12\") else {\n\t\t\tfatalError(\"Missing the server cert resource from the bundle\")\n\t\t}\n\n\t\tdo {\n\t\t\tlet p12 = try Data(contentsOf: url) as CFData\n\t\t\tlet options = [kSecImportExportPassphrase as String: \"test\"] as CFDictionary\n\n\t\t\tvar rawItems: CFArray?\n\n\t\t\tguard SecPKCS12Import(p12, options, &rawItems) == errSecSuccess else {\n\t\t\t\tfatalError(\"Error in p12 import\")\n\t\t\t}\n\n\t\t\tlet items = rawItems as! Array<Dictionary<String,Any>>\n\t\t\tlet identity = items[0][kSecImportItemIdentity as String] as! SecIdentity\n\n\t\t\treturn identity\n\t\t}\n\t\tcatch {\n\t\t\tfatalError(\"Could not create server certificate\")\n\t\t}\n\t}()\n\n\tprivate static func randomValidPort() -> UInt16 {\n\t\tlet minPort = UInt32(1024)\n\t\tlet maxPort = UInt32(UINT16_MAX)\n\t\tlet value = maxPort - minPort + 1\n\n\t\treturn UInt16(minPort + arc4random_uniform(value))\n\t}\n\n\t// MARK: Convenience Callbacks\n\n\ttypealias Callback = TestSocket.Callback\n\n\tvar onAccept: Callback\n\tvar onDisconnect: Callback\n\n\tlet port: UInt16 = TestServer.randomValidPort()\n\tlet queue = DispatchQueue(label: \"com.asyncSocket.TestServerDelegate\")\n\tlet socket: GCDAsyncSocket\n\n\tvar lastAcceptedSocket: TestSocket? = nil\n\n\toverride init() {\n\t\tself.socket = GCDAsyncSocket()\n\t\tsuper.init()\n\n\t\tself.socket.delegate = self\n\t\tself.socket.delegateQueue = self.queue\n\t}\n\n\tfunc accept() {\n\t\tdo {\n\t\t\ttry self.socket.accept(onPort: self.port)\n\t\t}\n\t\tcatch {\n\t\t\tfatalError(\"Failed to accept on port \\(self.port): \\(error)\")\n\t\t}\n\t}\n\n\tfunc close() {\n\t\tlet waiter = XCTWaiter(delegate: TestSocket.waiterDelegate)\n\t\tlet didDisconnect = XCTestExpectation(description: \"Server disconnected\")\n\n\t\tself.queue.async {\n\t\t\tguard self.socket.isConnected else {\n\t\t\t\tdidDisconnect.fulfill()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tself.onDisconnect = {\n\t\t\t\tdidDisconnect.fulfill()\n\t\t\t}\n\n\t\t\tself.socket.disconnect()\n\t\t}\n\n\t\twaiter.wait(for: [didDisconnect], timeout: 0.2)\n\t}\n}\n\n// MARK: GCDAsyncSocketDelegate\n\nextension TestServer: GCDAsyncSocketDelegate {\n\n\tfunc socket(_ sock: GCDAsyncSocket, didAcceptNewSocket newSocket: GCDAsyncSocket) {\n\t\tself.lastAcceptedSocket = TestSocket(socket: newSocket)\n\n\t\tself.onAccept?()\n\t\tself.onAccept = nil\n\t}\n\n\tfunc socketDidDisconnect(_ sock: GCDAsyncSocket, withError err: Error?) {\n\t\tself.onDisconnect?()\n\t\tself.onDisconnect = nil\n\t}\n}\n\n// MARK: Factory\n\nextension TestServer {\n\n\tfunc createPair() -> (client: TestSocket, accepted: TestSocket) {\n\t\tlet waiter = XCTWaiter(delegate: TestSocket.waiterDelegate)\n\t\tlet didConnect = XCTestExpectation(description: \"Pair connected\")\n\t\tdidConnect.expectedFulfillmentCount = 2\n\n\t\tlet client = TestSocket()\n\n\t\tself.onAccept = {\n\t\t\tdidConnect.fulfill()\n\t\t}\n\n\t\tclient.onConnect = {\n\t\t\tdidConnect.fulfill()\n\t\t}\n\n\t\tself.accept()\n\t\tclient.connect(on: self.port)\n\n\t\tlet _ = waiter.wait(for: [didConnect], timeout: 2.0)\n\n\t\tguard let accepted = self.lastAcceptedSocket else {\n\t\t\tfatalError(\"No socket connected on \\(self.port)\")\n\t\t}\n\n\t\treturn (client, accepted)\n\t}\n\n\tfunc createSecurePair() -> (client: TestSocket, accepted: TestSocket) {\n\t\tlet (client, accepted) = self.createPair()\n\n\t\tlet waiter = XCTWaiter(delegate: TestSocket.waiterDelegate)\n\t\tlet didSecure = XCTestExpectation(description: \"Socket did secure\")\n\t\tdidSecure.expectedFulfillmentCount = 2\n\n\t\taccepted.startTLS(as: .server) {\n\t\t\tdidSecure.fulfill()\n\t\t}\n\n\t\tclient.startTLS(as: .client) {\n\t\t\tdidSecure.fulfill()\n\t\t}\n\n\t\twaiter.wait(for: [didSecure], timeout: 0.2)\n\n\t\treturn (client, accepted)\n\t}\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/Shared/TestSocket.swift",
    "content": "import CocoaAsyncSocket\nimport XCTest\n\n/**\n *\tCreates a wrapper for a GCDAsyncSocket connection providing a synchronous API useful for testing.\n */\nclass TestSocket: NSObject {\n\n\t/**\n\t *  Identifies what end of the socket the instance represents.\n\t */\n\tenum Role {\n\t\tcase server, client\n\t}\n\n\t/**\n\t *  Handles any expectation failures\n\t */\n\tstatic var waiterDelegate: XCTWaiterDelegate? = nil\n\n\tlazy var queue: DispatchQueue = { [unowned self] in\n\t\treturn DispatchQueue(label: \"com.asyncSocket.\\(self)\")\n\t}()\n\n\tlet socket: GCDAsyncSocket\n\n\t// MARK: Convience callbacks\n\n\ttypealias Callback = Optional<() -> Void>\n\n\tvar onConnect: Callback\n\tvar onSecure: Callback\n\tvar onRead: Callback\n\tvar onWrite: Callback\n\tvar onDisconnect: Callback\n\n\t// MARK: Counters\n\n\tvar bytesRead = 0\n\tvar bytesWritten = 0\n\n\toverride convenience init() {\n\t\tself.init(socket: GCDAsyncSocket())\n\t}\n\n\tinit(socket: GCDAsyncSocket) {\n\t\tself.socket = socket\n\t\tsuper.init()\n\n\t\tself.socket.delegate = self\n\t\tself.socket.delegateQueue = self.queue\n\t}\n\n\tfunc close() {\n\t\tlet waiter = XCTWaiter(delegate: TestSocket.waiterDelegate)\n\t\tlet didDisconnect = XCTestExpectation(description: \"Disconnected\")\n\n\t\tself.queue.async {\n\t\t\tguard self.socket.isConnected else {\n\t\t\t\tdidDisconnect.fulfill()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tself.onDisconnect = {\n\t\t\t\tdidDisconnect.fulfill()\n\t\t\t}\n\n\t\t\tself.socket.disconnect()\n\t\t}\n\n\t\twaiter.wait(for: [didDisconnect], timeout: 0.1)\n\t}\n}\n\n// MARK: Synchronous API\n\nextension TestSocket {\n\n\t/**\n\t *  Connects to the localhost `port`\n\t */\n\tfunc connect(on port: UInt16) {\n\t\tdo {\n\t\t\ttry self.socket.connect(toHost: \"localhost\", onPort: port)\n\t\t}\n\t\tcatch {\n\t\t\tXCTFail(\"Failed to connect on \\(port): \\(error)\")\n\t\t}\n\t}\n\n\t/**\n\t *\tReads the specified number of bytes\n\t *\n\t *\tThis method will wait until the `socket:didRead:withTag` is called or trigger a test\n\t *  assertion if it takes too long.\n\t */\n\tfunc read(bytes length: UInt) {\n\t\tlet waiter = XCTWaiter(delegate: TestSocket.waiterDelegate)\n\t\tlet didRead = XCTestExpectation(description: \"Read data\")\n\n\t\tself.onRead = {\n\t\t\tdidRead.fulfill()\n\t\t}\n\n\t\tself.socket.readData(toLength: length, withTimeout: 0.1, tag: 1)\n\t\twaiter.wait(for: [didRead], timeout: 0.2)\n\t}\n\n\t/**\n\t *\tWrites the specified number of bytes\n\t *\n\t *\tThis method will wait until the `socket:didWriteDataWithTag` is called or trigger a test\n\t *  assertion if it takes too long.\n\t */\n\tfunc write(bytes length: Int) {\n\t\tlet waiter = XCTWaiter(delegate: TestSocket.waiterDelegate)\n\t\tlet didWrite = XCTestExpectation(description: \"Wrote data\")\n\n\t\tself.onWrite = {\n\t\t\tdidWrite.fulfill()\n\t\t}\n\n\t\tlet fakeData = Data(repeating: 0, count: length)\n\t\tself.socket.write(fakeData, withTimeout: 0.1, tag: 1)\n\n\t\twaiter.wait(for: [didWrite], timeout: 0.2)\n\n\t\tself.bytesWritten += Int(length)\n\t}\n\n\t/**\n\t *  Starts the TLS for the provided `role`\n\t *\n\t *  The `callback` will be executed when `socketDidSecure:` is triggered.\n\t */\n\tfunc startTLS(as role: Role, callback: Callback? = nil) {\n\t\tif let onSecure = callback {\n\t\t\tself.onSecure = onSecure\n\t\t}\n\n\t\tlet settings: [String: NSObject]\n\n\t\tswitch role {\n\t\tcase .server:\n\t\t\tsettings = [\n\t\t\t\tkCFStreamSSLPeerName as String: NSString(string: \"SecureSocketServer\"),\n\t\t\t\tkCFStreamSSLIsServer as String: NSNumber(value: true),\n\t\t\t\tkCFStreamSSLCertificates as String: NSArray(array: [TestServer.identity])\n\t\t\t]\n\t\tcase .client:\n\t\t\tsettings = [\n\t\t\t\tGCDAsyncSocketManuallyEvaluateTrust: NSNumber(value: true)\n\t\t\t]\n\t\t}\n\n\t\tself.socket.startTLS(settings)\n\t}\n}\n\n// MARK: GCDAsyncSocketDelegate\n\nextension TestSocket: GCDAsyncSocketDelegate {\n\n\tfunc socket(_ sock: GCDAsyncSocket, didConnectToHost host: String, port: UInt16) {\n\t\tself.onConnect?()\n\t}\n\n\tfunc socketDidSecure(_ sock: GCDAsyncSocket) {\n\t\tself.onSecure?()\n\t}\n\n\tfunc socket(_ sock: GCDAsyncSocket, didWriteDataWithTag tag: Int) {\n\t\tself.onWrite?()\n\t}\n\n\tfunc socket(_ sock: GCDAsyncSocket, didRead data: Data, withTag tag: Int) {\n\t\tself.bytesRead += data.count\n\t\tself.onRead?()\n\t}\n\n\tfunc socketDidDisconnect(_ sock: GCDAsyncSocket, withError err: Error?) {\n\t\tself.onDisconnect?()\n\t}\n\n\tfunc socket(_ sock: GCDAsyncSocket, didReceive trust: SecTrust, completionHandler: @escaping (Bool) -> Void) {\n\t\tcompletionHandler(true) // Trust all the things!!\n\t}\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/iOS/CocoaAsyncSocket.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t3DBF1443075C0A4D4C354F47 /* Pods_CocoaAsyncSocketTestsiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3450C99B20EAAD2EE977DCA4 /* Pods_CocoaAsyncSocketTestsiOS.framework */; };\n\t\tAB7D0A8E204086EA00132F7B /* GCDAsyncSocketReadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB7D0A8D204086EA00132F7B /* GCDAsyncSocketReadTests.swift */; };\n\t\tAB7D0A90204098EC00132F7B /* SecureSocketServer.p12 in Resources */ = {isa = PBXBuildFile; fileRef = AB7D0A8F204098EC00132F7B /* SecureSocketServer.p12 */; };\n\t\tAB7D0A9220409EBE00132F7B /* TestSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB7D0A9120409EBE00132F7B /* TestSocket.swift */; };\n\t\tAB7D0A942040E85700132F7B /* TestServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB7D0A932040E85700132F7B /* TestServer.swift */; };\n\t\tD900F31C1C7533EF00F0AEF0 /* SwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D900F31B1C7533EF00F0AEF0 /* SwiftTests.swift */; };\n\t\tD938B4E41B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t24CF40A2B4FD55194610FDE8 /* Pods-CocoaAsyncSocketTestsiOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CocoaAsyncSocketTestsiOS.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-CocoaAsyncSocketTestsiOS/Pods-CocoaAsyncSocketTestsiOS.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t309937FC1303F47F4D3D208A /* Pods-CocoaAsyncSocketTestsiOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CocoaAsyncSocketTestsiOS.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-CocoaAsyncSocketTestsiOS/Pods-CocoaAsyncSocketTestsiOS.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t3450C99B20EAAD2EE977DCA4 /* Pods_CocoaAsyncSocketTestsiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CocoaAsyncSocketTestsiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tAB7D0A8D204086EA00132F7B /* GCDAsyncSocketReadTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = GCDAsyncSocketReadTests.swift; path = ../Shared/GCDAsyncSocketReadTests.swift; sourceTree = \"<group>\"; };\n\t\tAB7D0A8F204098EC00132F7B /* SecureSocketServer.p12 */ = {isa = PBXFileReference; lastKnownFileType = file; name = SecureSocketServer.p12; path = ../Shared/SecureSocketServer.p12; sourceTree = \"<group>\"; };\n\t\tAB7D0A9120409EBE00132F7B /* TestSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestSocket.swift; path = ../Shared/TestSocket.swift; sourceTree = \"<group>\"; };\n\t\tAB7D0A932040E85700132F7B /* TestServer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestServer.swift; path = ../Shared/TestServer.swift; sourceTree = \"<group>\"; };\n\t\tD900F31B1C7533EF00F0AEF0 /* SwiftTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftTests.swift; path = ../Shared/SwiftTests.swift; sourceTree = \"<group>\"; };\n\t\tD938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GCDAsyncSocketConnectionTests.m; path = ../Shared/GCDAsyncSocketConnectionTests.m; sourceTree = \"<group>\"; };\n\t\tD9BC0D7F1A0457F40059D906 /* CocoaAsyncSocketTestsiOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CocoaAsyncSocketTestsiOS.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD9BC0D831A0457F40059D906 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tD9BC0D7C1A0457F40059D906 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t3DBF1443075C0A4D4C354F47 /* Pods_CocoaAsyncSocketTestsiOS.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t06F80654CA482AB4011DCDAD /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t309937FC1303F47F4D3D208A /* Pods-CocoaAsyncSocketTestsiOS.debug.xcconfig */,\n\t\t\t\t24CF40A2B4FD55194610FDE8 /* Pods-CocoaAsyncSocketTestsiOS.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1C4CB943C2CB8290324901CF /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3450C99B20EAAD2EE977DCA4 /* Pods_CocoaAsyncSocketTestsiOS.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD938B4E61B752ED800FE8AB3 /* Shared */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD938B4E31B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m */,\n\t\t\t\tD900F31B1C7533EF00F0AEF0 /* SwiftTests.swift */,\n\t\t\t\tAB7D0A8D204086EA00132F7B /* GCDAsyncSocketReadTests.swift */,\n\t\t\t\tAB7D0A9120409EBE00132F7B /* TestSocket.swift */,\n\t\t\t\tAB7D0A932040E85700132F7B /* TestServer.swift */,\n\t\t\t\tAB7D0A8F204098EC00132F7B /* SecureSocketServer.p12 */,\n\t\t\t);\n\t\t\tname = Shared;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9873DA11A057F34004C014F /* Tests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD938B4E61B752ED800FE8AB3 /* Shared */,\n\t\t\t\tD9BC0D811A0457F40059D906 /* iOS */,\n\t\t\t);\n\t\t\tname = Tests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D741A0457800059D906 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9873DA11A057F34004C014F /* Tests */,\n\t\t\t\tD9BC0D801A0457F40059D906 /* Products */,\n\t\t\t\t06F80654CA482AB4011DCDAD /* Pods */,\n\t\t\t\t1C4CB943C2CB8290324901CF /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D801A0457F40059D906 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9BC0D7F1A0457F40059D906 /* CocoaAsyncSocketTestsiOS.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D811A0457F40059D906 /* iOS */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9BC0D821A0457F40059D906 /* Supporting Files */,\n\t\t\t);\n\t\t\tname = iOS;\n\t\t\tpath = CocoaAsyncSocketTestsiOS;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD9BC0D821A0457F40059D906 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD9BC0D831A0457F40059D906 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tD9BC0D7E1A0457F40059D906 /* CocoaAsyncSocketTestsiOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D9BC0D881A0457F40059D906 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTestsiOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t53B2E9CF33073C8AFA43C933 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tD9BC0D7B1A0457F40059D906 /* Sources */,\n\t\t\t\tD9BC0D7C1A0457F40059D906 /* Frameworks */,\n\t\t\t\tD9BC0D7D1A0457F40059D906 /* Resources */,\n\t\t\t\t7594E80B245258DFDE2891DC /* [CP] Embed Pods Frameworks */,\n\t\t\t\tAD41FC86F18F9F3457965171 /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = CocoaAsyncSocketTestsiOS;\n\t\t\tproductName = CocoaAsyncSocketTestsiOS;\n\t\t\tproductReference = D9BC0D7F1A0457F40059D906 /* CocoaAsyncSocketTestsiOS.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tD9BC0D751A0457800059D906 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0720;\n\t\t\t\tLastUpgradeCheck = 0930;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tD9BC0D7E1A0457F40059D906 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = D9BC0D781A0457800059D906 /* Build configuration list for PBXProject \"CocoaAsyncSocket\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = D9BC0D741A0457800059D906;\n\t\t\tproductRefGroup = D9BC0D801A0457F40059D906 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tD9BC0D7E1A0457F40059D906 /* CocoaAsyncSocketTestsiOS */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tD9BC0D7D1A0457F40059D906 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tAB7D0A90204098EC00132F7B /* SecureSocketServer.p12 in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t53B2E9CF33073C8AFA43C933 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-CocoaAsyncSocketTestsiOS-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t7594E80B245258DFDE2891DC /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-CocoaAsyncSocketTestsiOS/Pods-CocoaAsyncSocketTestsiOS-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaAsyncSocket.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CocoaAsyncSocketTestsiOS/Pods-CocoaAsyncSocketTestsiOS-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tAD41FC86F18F9F3457965171 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CocoaAsyncSocketTestsiOS/Pods-CocoaAsyncSocketTestsiOS-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tD9BC0D7B1A0457F40059D906 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tAB7D0A9220409EBE00132F7B /* TestSocket.swift in Sources */,\n\t\t\t\tAB7D0A942040E85700132F7B /* TestServer.swift in Sources */,\n\t\t\t\tAB7D0A8E204086EA00132F7B /* GCDAsyncSocketReadTests.swift in Sources */,\n\t\t\t\tD938B4E41B752ED500FE8AB3 /* GCDAsyncSocketConnectionTests.m in Sources */,\n\t\t\t\tD900F31C1C7533EF00F0AEF0 /* SwiftTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\tD9BC0D791A0457800059D906 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD9BC0D7A1A0457800059D906 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD9BC0D861A0457F40059D906 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 309937FC1303F47F4D3D208A /* Pods-CocoaAsyncSocketTestsiOS.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD9BC0D871A0457F40059D906 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 24CF40A2B4FD55194610FDE8 /* Pods-CocoaAsyncSocketTestsiOS.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.chrisballinger.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tD9BC0D781A0457800059D906 /* Build configuration list for PBXProject \"CocoaAsyncSocket\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD9BC0D791A0457800059D906 /* Debug */,\n\t\t\t\tD9BC0D7A1A0457800059D906 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD9BC0D881A0457F40059D906 /* Build configuration list for PBXNativeTarget \"CocoaAsyncSocketTestsiOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD9BC0D861A0457F40059D906 /* Debug */,\n\t\t\t\tD9BC0D871A0457F40059D906 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = D9BC0D751A0457800059D906 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/iOS/CocoaAsyncSocket.xcodeproj/xcshareddata/xcschemes/CocoaAsyncSocketTestsiOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9BC0D7E1A0457F40059D906\"\n               BuildableName = \"CocoaAsyncSocketTestsiOS.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTestsiOS\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D9BC0D7E1A0457F40059D906\"\n               BuildableName = \"CocoaAsyncSocketTestsiOS.xctest\"\n               BlueprintName = \"CocoaAsyncSocketTestsiOS\"\n               ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9BC0D7E1A0457F40059D906\"\n            BuildableName = \"CocoaAsyncSocketTestsiOS.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTestsiOS\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9BC0D7E1A0457F40059D906\"\n            BuildableName = \"CocoaAsyncSocketTestsiOS.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTestsiOS\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D9BC0D7E1A0457F40059D906\"\n            BuildableName = \"CocoaAsyncSocketTestsiOS.xctest\"\n            BlueprintName = \"CocoaAsyncSocketTestsiOS\"\n            ReferencedContainer = \"container:CocoaAsyncSocket.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/iOS/CocoaAsyncSocket.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:CocoaAsyncSocket.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Pods/Pods.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/iOS/CocoaAsyncSocket.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/iOS/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/iOS/Podfile",
    "content": "source 'https://github.com/CocoaPods/Specs.git'\n\nuse_frameworks!\n\ntarget :CocoaAsyncSocketTestsiOS do\n    platform :ios, '8.0'\n    pod 'CocoaAsyncSocket', :path => '../../CocoaAsyncSocket.podspec'\nend"
  },
  {
    "path": "Carthage/Checkouts/CocoaAsyncSocket/Tests/test-all.sh",
    "content": "#!/bin/sh\n\nset -e\nset -o pipefail\n\nSCRIPT_DIR=\"$(dirname $0)\"\nCODE_SIGNING=\"CODE_SIGN_IDENTITY=\"\" CODE_SIGNING_REQUIRED=NO\"\n\nif [[ -z \"${IOS_VERSION}\" ]] ; then\n\tIOS_VERSION=\"11.3\"\nfi\n\nIOS_DESTINATION=\"platform=iOS Simulator,name=iPhone 8,OS=${IOS_VERSION}\"\nMACOS_DESTINATION=\"platform=OS X,arch=x86_64\"\n\n# Use xcpretty on CI of if manually enabled\nif [ \"${CI}\" == \"true\" ] && [[ -z \"${USE_XCPRETTY}\" ]] ; then\n\tUSE_XCPRETTY=\"true\"\nfi\n\nif [ \"${USE_XCPRETTY}\" == \"true\" ] ; then\n\techo \"Using xcpretty...\"\n\tXCPRETTY=\" | xcpretty -c\"\nelse\n\tXCPRETTY=\"\"\nfi\n\n# Run all of the tests\n\nPOD_TEST_IOS=\"xcodebuild -workspace ./${SCRIPT_DIR}/iOS/CocoaAsyncSocket.xcworkspace -scheme CocoaAsyncSocketTestsiOS -sdk iphonesimulator -destination \\\"${IOS_DESTINATION}\\\" test ${CODE_SIGNING} ${XCPRETTY}\"\nPOD_TEST_MAC=\"xcodebuild -workspace ./${SCRIPT_DIR}/Mac/CocoaAsyncSocket.xcworkspace -scheme CocoaAsyncSocketTestsMac -sdk macosx -destination \\\"${MACOS_DESTINATION}\\\" test ${CODE_SIGNING} ${XCPRETTY}\"\nFRAMEWORK_IOS=\"xcodebuild -project ./${SCRIPT_DIR}/Framework/CocoaAsyncSocketTests.xcodeproj -scheme \\\"CocoaAsyncSocketTests (iOS)\\\" -sdk iphonesimulator -destination \\\"${IOS_DESTINATION}\\\" test ${CODE_SIGNING} ${XCPRETTY}\"\nFRAMEWORK_MAC=\"xcodebuild -project ./${SCRIPT_DIR}/Framework/CocoaAsyncSocketTests.xcodeproj -scheme \\\"CocoaAsyncSocketTests (macOS)\\\" -sdk macosx -destination \\\"${MACOS_DESTINATION}\\\" test ${CODE_SIGNING} ${XCPRETTY}\"\n\ndeclare -a TESTS=(\"${POD_TEST_IOS}\" \"${POD_TEST_MAC}\" \"${FRAMEWORK_IOS}\" \"${FRAMEWORK_MAC}\")\n\nfor TEST in \"${TESTS[@]}\"\ndo\n   echo \"Running test: ${TEST}\"\n   eval ${TEST}\t\ndone\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/.gitattributes",
    "content": "*.mdj binary\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/.github/CONTRIBUTING.md",
    "content": "# Contributing to CocoaLumberjack\n\nWe want to make contributing to this project as easy and transparent as possible. Here are a few guidelines for making all our lives easier.\n\n## Asking questions\n\nWe don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on [Stack Overflow](https://stackoverflow.com/) instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.\n\n## Reporting Issues\n\nA great way to contribute to the project is to send a detailed issue when you encounter an problem.\nIt is very important to check for the same problem or suggestion in the project's issue list first. If you find a match, just add a small comment there. \nDoing this helps prioritize the most common problems and requests.\n\nWhen reporting issues, please include the following:\n\n- The platform name and version (e.g. iOS 8.1)\n- The library version\n- The integration method (e.g. CocoaPods/Carthage/manually)\n- The version of Xcode you're using\n- The full output of any stack trace or compiler error\n- A small demo project that replicates the issue (especially if the way to reproduce the issue is not straight-forward)\n- Any other details that would be useful in understanding the problem\n\nThis information will help us review and fix your issue faster.\n\n\nPlease do not be offended if we close your issue and reference this document. \nIf you believe the issue is truely a fault in the project’s codebase, re-open it.\n\n## Pull Requests\n\nWe gladly accept any PR's assuming they are well written, documented ( if necessary ) and preferably have test code. \nIf you're unsure if we'll accept a new feature please open an issue requesting it and we can have a discussion before you code and submit a PR.\n\nChecklist:\n- Fork the repo and create your branch from the latest master (to minimize the conflicts)\n- If you've added code that should be tested, add tests.\n- If you've changed APIs, update the documentation.\n- Ensure the test suite passes.\n- Make sure your code lints (pod lib lint)\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/.github/ISSUE_TEMPLATE.md",
    "content": "### New Issue Checklist\n\n* [ ] I have read and understood the [CONTRIBUTING guide](https://github.com/CocoaLumberjack/CocoaLumberjack/blob/master/.github/CONTRIBUTING.md)\n* [ ] I have read the [Documentation](https://github.com/CocoaLumberjack/CocoaLumberjack#documentation) or [CocoaDocs](cocoadocs.org/docsets/CocoaLumberjack)\n* [ ] I have searched for a similar issue in the [project](https://github.com/CocoaLumberjack/CocoaLumberjack/issues) and found none\n\n### Issue Info\n\n Info                    | Value                               |\n-------------------------|-------------------------------------|\n Platform Name           | e.g. ios / osx / tvos / watchos\n Platform Version        | e.g. 8.0\n CocoaLumberjack Version | e.g. 2.3.0\n Integration Method      | e.g. carthage / cocoapods / manually\n Xcode Version           | e.g. Xcode 7.3\n Repro rate              | e.g. all the time (100%) / sometimes x% / only once\n Demo project link       | e.g. link to a demo project that highlights the issue\n\n### Issue Description and Steps\n\nPlease fill in the detailed description of the issue (full output of any stack trace, compiler error, ...) and the steps to reproduce the issue.\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/.github/PULL_REQUEST_TEMPLATE.md",
    "content": "### New Pull Request Checklist\n\n* [ ] I have read and understood the [CONTRIBUTING guide](https://github.com/CocoaLumberjack/CocoaLumberjack/blob/master/.github/CONTRIBUTING.md)\n* [ ] I have read the [Documentation](http://cocoadocs.org/docsets/CocoaLumberjack/)\n* [ ] I have searched for a similar pull request in the [project](https://github.com/CocoaLumberjack/CocoaLumberjack/pulls) and found none\n\n* [ ] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)\n* [ ] I have added the required tests to prove the fix/feature I am adding\n* [ ] I have updated the documentation (if necessary)\n* [ ] I have run the tests and they pass\n* [ ] I have run the lint and it passes (`pod lib lint`)\n\nThis merge request fixes / refers to the following issues: ...\n\n### Pull Request Description\n\n...\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/.gitignore",
    "content": "# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nproject.xcworkspace\n!default.xcworkspace\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\n\n# Carthage\nCarthage/Build\n\n# CocoaPods\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control\n#\nPods/\nPodfile.lock\nLumberjackUser*.h\n.DS_Store\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/.swift-version",
    "content": "4.0\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/.travis.yml",
    "content": "\r\nlanguage: objective-c\r\nosx_image: xcode9.3\r\n\r\nenv:\r\n  global:\r\n    - LC_CTYPE=en_US.UTF-8\r\n    - LANG=en_US.UTF-8\r\n\r\n\r\nbefore_install:\r\n    - env\r\n    - locale\r\n    - gem install cocoapods --pre --no-rdoc --no-ri --no-document --quiet\r\n    - gem install xcpretty --no-rdoc --no-ri --no-document --quiet\r\n    - pod --version\r\n    - pod setup --silent > /dev/null\r\n    - pod repo update --silent\r\n    - xcpretty --version\r\n    - xcodebuild -version\r\n    - xcodebuild -showsdks\r\n\r\nscript:\r\n    - set -o pipefail\r\n\r\n    - echo Check if the library described by the podspec can be built\r\n    - pod lib lint --swift-version=4.0\r\n\r\n    - echo Build as static library\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'CocoaLumberjack-iOS-Static' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Release | xcpretty -c\r\n\r\n    - echo Build test app using the static library\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'iOSLibStaticTest' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Release | xcpretty -c\r\n\r\n\r\n    - echo \"Build as dynamic framework (ObjectiveC), each platform (iOS, macOS, tvOS, watchOS)\"\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'CocoaLumberjack-iOS' -configuration Release -sdk iphonesimulator | xcpretty -c\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'CocoaLumberjack-macOS' -configuration Release -sdk macosx | xcpretty -c\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'CocoaLumberjack-tvOS' -destination 'platform=tvOS Simulator,name=Apple TV 4K' -configuration Release -sdk appletvsimulator | xcpretty -c\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'CocoaLumberjack-watchOS' -configuration Release -sdk watchsimulator | xcpretty -c\r\n\r\n\r\n    - echo \"Build as dynamic framework (Swift), each platform (iOS, macOS, tvOS, watchOS)\"\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'CocoaLumberjackSwift-iOS' -configuration Release -sdk iphonesimulator | xcpretty -c\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'CocoaLumberjackSwift-macOS' -configuration Release -sdk macosx | xcpretty -c\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'CocoaLumberjackSwift-tvOS' -destination 'platform=tvOS Simulator,name=Apple TV 4K' -configuration Release -sdk appletvsimulator | xcpretty -c\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'CocoaLumberjackSwift-watchOS' -configuration Release -sdk watchsimulator | xcpretty -c\r\n\r\n\r\n    - echo \"Build test apps using the dynamic framework, each platform (iOS, macOS, tvOS, watchOS)\"\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'SwiftTest' -configuration Release -sdk macosx | xcpretty -c\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'FmwkTest' -configuration Release -sdk macosx | xcpretty -c\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'tvOSSwiftTest' -destination 'platform=tvOS Simulator,name=Apple TV 4K' -configuration Release -sdk appletvsimulator | xcpretty -c\r\n    - xcodebuild clean build -workspace Framework/Lumberjack.xcworkspace -scheme 'watchOSSwiftTest' -configuration Release -sdk watchsimulator | xcpretty -c\r\n    \r\n\r\n    - echo Run the tests\r\n    - pod install --project-directory=Tests\r\n    - xcodebuild test -workspace Framework/Lumberjack.xcworkspace -scheme 'iOS Tests' -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 7,OS=latest' GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c\r\n    - xcodebuild test -workspace Framework/Lumberjack.xcworkspace -scheme 'OS X Tests' -sdk macosx GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES | xcpretty -c\r\n\r\n\r\n    - echo Building the Demos\r\n    - cd Demos\r\n    - pod install --project-directory=ContextFilter\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'ContextFilter' | xcpretty -c\r\n\r\n    - pod install --project-directory=CoreDataLogger\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'CoreDataLogger' | xcpretty -c\r\n\r\n    - pod install --project-directory=CustomFormatters\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'CustomFormatters' | xcpretty -c\r\n\r\n    - pod install --project-directory=CustomLogLevels\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'CustomLogLevels' | xcpretty -c\r\n\r\n    - pod install --project-directory=DispatchQueueLogger\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'DispatchQueueLogger' | xcpretty -c\r\n\r\n    - pod install --project-directory=FineGrainedLogging\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'FineGrainedLogging' | xcpretty -c\r\n\r\n    - pod install --project-directory=GlobalLogLevel\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'GlobalLogLevel' | xcpretty -c\r\n\r\n    - pod install --project-directory=LogFileCompressor\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'LogFileCompressor' | xcpretty -c\r\n\r\n    - pod install --project-directory=NonArcTest\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'NonArcTest' | xcpretty -c\r\n\r\n    - pod install --project-directory=OverflowTestMac\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'OverflowTestMac' | xcpretty -c\r\n\r\n    - pod install --project-directory=PerUserLogLevels\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'PerUserLogLevels' | xcpretty -c\r\n\r\n    - pod install --project-directory=RegisteredDynamicLogging/Mobile\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'RegisteredLoggingTest (Mobile)' -configuration Release -sdk iphonesimulator | xcpretty -c\r\n\r\n    - pod install --project-directory=RegisteredDynamicLogging/Desktop\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'RegisteredLoggingTest (Desktop)' | xcpretty -c\r\n\r\n    - pod install --project-directory=RollingTestMac\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'RollingTestMac' | xcpretty -c\r\n\r\n    - pod install --project-directory=TestXcodeColors/Desktop\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'TestXcodeColors (Desktop)' | xcpretty -c\r\n\r\n    - pod install --project-directory=TestXcodeColors/Mobile\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'TextXcodeColors (Mobile)' -configuration Release -sdk iphonesimulator | xcpretty -c\r\n\r\n    - pod install --project-directory=WebServerIPhone\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'WebServerIPhone' -configuration Release -sdk iphonesimulator | xcpretty -c\r\n\r\n    - pod install --project-directory=Benchmark/Desktop\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'BenchmarkMac' | xcpretty -c\r\n\r\n    - pod install --project-directory=Benchmark/Mobile\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'BenchmarkIPhone' -configuration Release -sdk iphonesimulator | xcpretty -c\r\n\r\n    - pod install --project-directory=SQLiteLogger\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'SQLiteLogger' | xcpretty -c\r\n\r\n    - pod install --project-directory=UniversalApp\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'UniversalApp' -configuration Release -sdk iphonesimulator | xcpretty -c\r\n\r\n    - pod install --project-directory=CLI\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'CLI' | xcpretty -c\r\n\r\n    - pod install --project-directory=CaptureASL\r\n    - xcodebuild clean build -workspace Demos.xcworkspace -scheme 'CaptureASL' -configuration Release -sdk iphonesimulator | xcpretty -c\r\n\r\nafter_success:\r\n    - bash <(curl -s https://codecov.io/bash)"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/BaseNSLogging.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@interface BaseNSLogging : NSObject\n\n+ (void)speedTest0;\n+ (void)speedTest1;\n+ (void)speedTest2;\n+ (void)speedTest3;\n+ (void)speedTest4;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/BaseNSLogging.m",
    "content": "#import \"BaseNSLogging.h\"\n#import \"PerformanceTesting.h\"\n\n#define DDLogVerbose NSLog\n#define DDLogInfo    NSLog\n#define DDLogWarn    NSLog\n#define DDLogError   NSLog\n\n#define FILENAME @\"BaseNSLogging \" // Trailing space to match exactly the others in length\n\n\n@implementation BaseNSLogging\n\n+ (void)speedTest0\n{\n\t// Log statements that will not be executed due to log level\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_0_COUNT; i++)\n\t{\n\t\tDDLogVerbose(@\"%@: SpeedTest0 - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest1\n{\n\t// Log statements that will be executed asynchronously\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_1_COUNT; i++)\n\t{\n\t\tDDLogWarn(@\"%@: SpeedTest1 - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest2\n{\n\t// Log statements that will be executed synchronously\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_2_COUNT; i++)\n\t{\n\t\tDDLogError(@\"%@: SpeedTest2 - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest3\n{\n\t// Even Spread:\n\t// \n\t// 25% - Not executed due to log level\n\t// 50% - Executed asynchronously\n\t// 25% - Executed synchronously\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogError(@\"%@: SpeedTest3A - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogWarn(@\"%@: SpeedTest3B - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogInfo(@\"%@: SpeedTest3C - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogVerbose(@\"%@: SpeedTest3D - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest4\n{\n\t// Custom Spread\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_ERROR_COUNT; i++)\n\t{\n\t\tDDLogError(@\"%@: SpeedTest4A - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_WARN_COUNT; i++)\n\t{\n\t\tDDLogWarn(@\"%@: SpeedTest4B - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_INFO_COUNT; i++)\n\t{\n\t\tDDLogInfo(@\"%@: SpeedTest4C - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_VERBOSE_COUNT; i++)\n\t{\n\t\tDDLogVerbose(@\"%@: SpeedTest4D - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/DynamicLogging.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@interface DynamicLogging : NSObject\n\n+ (void)speedTest0;\n+ (void)speedTest1;\n+ (void)speedTest2;\n+ (void)speedTest3;\n+ (void)speedTest4;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/DynamicLogging.m",
    "content": "#import \"DynamicLogging.h\"\n#import \"PerformanceTesting.h\"\n#import \"DDLogMacros.h\"\n\n#define FILENAME @\"DynamicLogging\"\n\n// Debug levels: off, error, warn, info, verbose\nstatic DDLogLevel ddLogLevel = DDLogLevelWarning; // NOT CONST\n\n\n@implementation DynamicLogging\n\n+ (DDLogLevel)ddLogLevel\n{\n\treturn ddLogLevel;\n}\n\n+ (void)ddSetLogLevel:(DDLogLevel)logLevel\n{\n\tddLogLevel = logLevel;\n}\n\n+ (void)speedTest0\n{\n\t// Log statements that will not be executed due to log level\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_0_COUNT; i++)\n\t{\n\t\tDDLogVerbose(@\"%@: SpeedTest0 - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest1\n{\n\t// Log statements that will be executed asynchronously\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_1_COUNT; i++)\n\t{\n\t\tDDLogWarn(@\"%@: SpeedTest1 - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest2\n{\n\t// Log statements that will be executed synchronously\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_2_COUNT; i++)\n\t{\n\t\tDDLogError(@\"%@: SpeedTest2 - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest3\n{\n\t// Even Spread:\n\t// \n\t// 25% - Not executed due to log level\n\t// 50% - Executed asynchronously\n\t// 25% - Executed synchronously\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogError(@\"%@: SpeedTest3A - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogWarn(@\"%@: SpeedTest3B - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogInfo(@\"%@: SpeedTest3C - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogVerbose(@\"%@: SpeedTest3D - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest4\n{\n\t// Custom Spread\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_ERROR_COUNT; i++)\n\t{\n\t\tDDLogError(@\"%@: SpeedTest4A - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_WARN_COUNT; i++)\n\t{\n\t\tDDLogWarn(@\"%@: SpeedTest4B - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_INFO_COUNT; i++)\n\t{\n\t\tDDLogInfo(@\"%@: SpeedTest4C - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_VERBOSE_COUNT; i++)\n\t{\n\t\tDDLogVerbose(@\"%@: SpeedTest4D - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/PerformanceTesting.h",
    "content": "#import <Foundation/Foundation.h>\n\n#define SPEED_TEST_0_COUNT 1000 // Total log statements\n#define SPEED_TEST_1_COUNT 1000 // Total log statements\n#define SPEED_TEST_2_COUNT 1000 // Total log statements\n#define SPEED_TEST_3_COUNT  250 // Per log level (multiply by 4 to get total)\n\n#define SPEED_TEST_4_VERBOSE_COUNT 900\n#define SPEED_TEST_4_INFO_COUNT    000\n#define SPEED_TEST_4_WARN_COUNT    000\n#define SPEED_TEST_4_ERROR_COUNT   100\n\n// Further documentation on these tests may be found in the implementation file.\n\n@interface PerformanceTesting : NSObject\n\n+ (void)startPerformanceTests;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/PerformanceTesting.m",
    "content": "#import \"PerformanceTesting.h\"\n#import \"DDLog.h\"\n#import \"DDASLLogger.h\"\n#import \"DDTTYLogger.h\"\n#import \"DDFileLogger.h\"\n\n\n#import \"BaseNSLogging.h\"\n#import \"StaticLogging.h\"\n#import \"DynamicLogging.h\"\n\n// Define the number of times each test is performed.\n// Due to various factors, the execution time of each test run may vary quite a bit.\n// Each test should be executed several times in order to arrive at a stable average.\n#define NUMBER_OF_RUNS 20\n\n/**\n * The idea behind the benchmark tests is simple:\n * How does the logging framework compare to basic NSLog statements?\n * \n * However, due to the complexity of the logging framework and its various configuration options,\n * it is more complicated than a single test.  Thus the testing is broken up as follows:\n * \n * - 3 Suites, each representing a different configuration of the logging framework\n * - 5 Tests, run within each suite.\n * \n * The suites are described below in the configureLoggingForSuiteX methods.\n * The tests are described in the various logging files, such as StaticLogging or DynamicLogging.\n * Notice that these file are almost exactly the same.\n * \n * BaseNSLogging defines the log methods to use NSLog (the base we are comparing against).\n * StaticLogging uses a 'const' log level, meaning the compiler will prune log statements (in release mode).\n * DynamicLogging use a non-const log level, meaning each log statement will incur an integer comparison penalty.\n**/\n\n@implementation PerformanceTesting\n\nstatic NSTimeInterval base[5][3]; // [test][min,avg,max]\n\nstatic NSTimeInterval fmwk[3][2][5][3]; // [suite][file][test][min,avg,max]\n\nstatic DDFileLogger *fileLogger = nil;\n\n+ (void)initialize\n{\n\tbzero(&base, sizeof(base));\n\tbzero(&fmwk, sizeof(fmwk));\n}\n\n+ (DDFileLogger *)fileLogger\n{\n\tif (fileLogger == nil)\n\t{\n\t\tfileLogger = [[DDFileLogger alloc] init];\n\t\t\n\t\tfileLogger.maximumFileSize = (1024 * 1024 * 1); //  1 MB\n\t\tfileLogger.rollingFrequency = (60 * 60 * 24);   // 24 Hours\n\t\t\n\t\tfileLogger.logFileManager.maximumNumberOfLogFiles = 4;\n\t}\n\t\n\treturn fileLogger;\n}\n\n/**\n * Suite 1 - Logging to Console only.\n**/\n+ (void)configureLoggingForSuite1\n{\n\t[DDLog removeAllLoggers];\n\t\n\t[DDLog addLogger:[DDASLLogger sharedInstance]];\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n}\n\n/**\n * Suite 2 - Logging to File only.\n * \n * We attempt to configure the logging so it will be forced to roll the log files during the test.\n * Rolling the log files requires creating and opening a new file.\n * This could be a performance hit, so we want our benchmark to take this into account.\n**/\n+ (void)configureLoggingForSuite2\n{\n\t[DDLog removeAllLoggers];\n\t\n\t[DDLog addLogger:[self fileLogger]];\n}\n\n/**\n * Suite 3 - Logging to Console & File.\n**/\n+ (void)configureLoggingForSuite3\n{\n\t[DDLog removeAllLoggers];\n\t\n\t[DDLog addLogger:[DDASLLogger sharedInstance]];\n\t[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\t[DDLog addLogger:[self fileLogger]];\n}\n\n+ (void)executeTestsWithBase:(BOOL)exeBase framework:(BOOL)exeFramework frameworkSuite:(int)suiteNum\n{\n\tif (!exeBase && !exeFramework) return;\n\t\n\tint sn = suiteNum - 1; // Zero-indexed for array\n\t\n\tint i, j, k;\n\t\n\tint start = exeBase ? 0 : 1;\n\tint finish = exeFramework ? 3 : 1;\n\t\n\tfor (i = start; i < finish; i++)\n\t{\n\t\tClass class;\n\t\tswitch (i)\n\t\t{\n\t\t\tcase 0  : class = [BaseNSLogging  class]; break;\n\t\t\tcase 1  : class = [StaticLogging  class]; break;\n\t\t\tdefault : class = [DynamicLogging class]; break;\n\t\t}\n\t\t\n\t\tfor (j = 0; j < 5; j++)\n\t\t{\n\t\t\tNSTimeInterval min = DBL_MAX;\n\t\t\tNSTimeInterval max = DBL_MIN;\n\t\t\t\n\t\t\tNSTimeInterval total = 0.0;\n\t\t\t\n\t\t\tfor (k = 0; k < NUMBER_OF_RUNS; k++)\n\t\t\t{\n\t\t\t\t@autoreleasepool {\n\t\t\t\t\n\t\t\t\t\tNSDate *start = [NSDate date];\n\t\t\t\t\t\n\t\t\t\t\tswitch (j)\n\t\t\t\t\t{\n\t\t\t\t\t\tcase 0  : [class performSelector:@selector(speedTest0)]; break;\n\t\t\t\t\t\tcase 1  : [class performSelector:@selector(speedTest1)]; break;\n\t\t\t\t\t\tcase 2  : [class performSelector:@selector(speedTest2)]; break;\n\t\t\t\t\t\tcase 3  : [class performSelector:@selector(speedTest3)]; break;\n\t\t\t\t\t\tdefault : [class performSelector:@selector(speedTest4)]; break;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tNSTimeInterval result = [start timeIntervalSinceNow] * -1.0;\n\t\t\t\t\t\n\t\t\t\t\tmin = MIN(min, result);\n\t\t\t\t\tmax = MAX(max, result);\n\t\t\t\t\t\n\t\t\t\t\ttotal += result;\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\t[DDLog flushLog];\n\t\t\t}\n\t\t\t\n\t\t\tif (i == 0)\n\t\t\t{\n\t\t\t\t// Base\n\t\t\t\tbase[j][0] = min;\n\t\t\t\tbase[j][1] = total / (double)NUMBER_OF_RUNS;\n\t\t\t\tbase[j][2] = max;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Framework\n\t\t\t\tfmwk[sn][i-1][j][0] = min;\n\t\t\t\tfmwk[sn][i-1][j][1] = total / (double)NUMBER_OF_RUNS;\n\t\t\t\tfmwk[sn][i-1][j][2] = max;\n\t\t\t}\n\t\t}\n\t}\n}\n\n+ (NSString *)printableResultsForSuite:(int)suiteNum\n{\n\tint sn = suiteNum - 1; // Zero-indexed for array\n\t\n\tNSMutableString *str = [NSMutableString stringWithCapacity:2000];\n\t\n\t[str appendFormat:@\"Results are given as [min][avg][max] calculated over the course of %i runs.\", NUMBER_OF_RUNS];\n\t[str appendString:@\"\\n\\n\"];\n\t\n\t[str appendString:@\"Test 0:\\n\"];\n\t[str appendFormat:@\"Execute %i log statements.\\n\", SPEED_TEST_0_COUNT];\n\t[str appendString:@\"The log statement is above the log level threshold, and will not execute.\\n\"];\n\t[str appendString:@\"The StaticLogging class will compile it out (in release mode).\\n\"];\n\t[str appendString:@\"The DynamicLogging class will require a single integer comparison.\\n\"];\n\t[str appendString:@\"\\n\"];\n\t[str appendFormat:@\"BaseNSLogging :[%.4f][%.4f][%.4f]\\n\", base[0][0], base[0][1], base[0][2]];\n\t[str appendFormat:@\"StaticLogging :[%.4f][%.4f][%.4f]\\n\", fmwk[sn][0][0][0], fmwk[sn][0][0][1], fmwk[sn][0][0][2]];\n\t[str appendFormat:@\"DynamicLogging:[%.4f][%.4f][%.4f]\\n\", fmwk[sn][1][0][0], fmwk[sn][1][0][1], fmwk[sn][1][0][2]];\n\t[str appendString:@\"\\n\\n\\n\"];\n\t\n\t[str appendString:@\"Test 1:\\n\"];\n\t[str appendFormat:@\"Execute %i log statements.\\n\", SPEED_TEST_1_COUNT];\n\t[str appendString:@\"The log statement is at or below the log level threshold, and will execute.\\n\"];\n\t[str appendString:@\"The logging framework will execute the statements Asynchronously.\\n\"];\n\t[str appendString:@\"\\n\"];\n\t[str appendFormat:@\"BaseNSLogging :[%.4f][%.4f][%.4f]\\n\", base[1][0], base[1][1], base[1][2]];\n\t[str appendFormat:@\"StaticLogging :[%.4f][%.4f][%.4f]\\n\", fmwk[sn][0][1][0], fmwk[sn][0][1][1], fmwk[sn][0][1][2]];\n\t[str appendFormat:@\"DynamicLogging:[%.4f][%.4f][%.4f]\\n\", fmwk[sn][1][1][0], fmwk[sn][1][1][1], fmwk[sn][1][1][2]];\n\t[str appendString:@\"\\n\\n\\n\"];\n\t\n\t[str appendString:@\"Test 2:\\n\"];\n\t[str appendFormat:@\"Execute %i log statements.\\n\", SPEED_TEST_2_COUNT];\n\t[str appendString:@\"The log statement is at or below the log level threshold, and will execute.\\n\"];\n\t[str appendString:@\"The logging framework will execute the statements Synchronously.\\n\"];\n\t[str appendString:@\"\\n\"];\n\t[str appendFormat:@\"BaseNSLogging :[%.4f][%.4f][%.4f]\\n\", base[2][0], base[2][1], base[2][2]];\n\t[str appendFormat:@\"StaticLogging :[%.4f][%.4f][%.4f]\\n\", fmwk[sn][0][2][0], fmwk[sn][0][2][1], fmwk[sn][0][2][2]];\n\t[str appendFormat:@\"DynamicLogging:[%.4f][%.4f][%.4f]\\n\", fmwk[sn][1][2][0], fmwk[sn][1][2][1], fmwk[sn][1][2][2]];\n\t[str appendString:@\"\\n\\n\\n\"];\n\t\n\t[str appendString:@\"Test 3:\"];\n\t[str appendFormat:@\"Execute %i log statements per level.\\n\", SPEED_TEST_3_COUNT];\n\t[str appendString:@\"This is designed to mimic what might happen in a regular application.\\n\"];\n\t[str appendString:@\"25% will be above log level threshold and will be filtered out.\\n\"];\n\t[str appendString:@\"50% will execute Asynchronously.\\n\"];\n\t[str appendString:@\"25% will execute Synchronously.\\n\"];\n\t[str appendString:@\"\\n\"];\n\t[str appendFormat:@\"BaseNSLogging :[%.4f][%.4f][%.4f]\\n\", base[3][0], base[3][1], base[3][2]];\n\t[str appendFormat:@\"StaticLogging :[%.4f][%.4f][%.4f]\\n\", fmwk[sn][0][3][0], fmwk[sn][0][3][1], fmwk[sn][0][3][2]];\n\t[str appendFormat:@\"DynamicLogging:[%.4f][%.4f][%.4f]\\n\", fmwk[sn][1][3][0], fmwk[sn][1][3][1], fmwk[sn][1][3][2]];\n\t[str appendString:@\"\\n\\n\\n\"];\n\t\n\tfloat total = 0.0F;\n\ttotal += SPEED_TEST_4_VERBOSE_COUNT;\n\ttotal += SPEED_TEST_4_INFO_COUNT;\n\ttotal += SPEED_TEST_4_WARN_COUNT;\n\ttotal += SPEED_TEST_4_ERROR_COUNT;\n\t\n\tfloat verbose = (float)SPEED_TEST_4_VERBOSE_COUNT / total * 100.0F;\n\tfloat info    = (float)SPEED_TEST_4_INFO_COUNT    / total * 100.0F;\n\tfloat warn    = (float)SPEED_TEST_4_WARN_COUNT    / total * 100.0F;\n\tfloat error   = (float)SPEED_TEST_4_ERROR_COUNT   / total * 100.0F;\n\t\n\t[str appendString:@\"Test 4:\\n\"];\n\t[str appendString:@\"Similar to test 3, designed to mimic a real application\\n\"];\n\t[str appendFormat:@\"Execute %i log statements in total.\\n\", (int)total];\n\t[str appendFormat:@\"%04.1f%% will be above log level threshold and will be filtered out.\\n\", verbose];\n\t[str appendFormat:@\"%04.1f%% will execute Asynchronously.\\n\", (info + warn)];\n\t[str appendFormat:@\"%04.1f%% will execute Synchronously.\\n\", error];\n\t[str appendString:@\"\\n\"];\n\t[str appendFormat:@\"BaseNSLogging :[%.4f][%.4f][%.4f]\\n\", base[4][0], base[4][1], base[4][2]];\n\t[str appendFormat:@\"StaticLogging :[%.4f][%.4f][%.4f]\\n\", fmwk[sn][0][4][0], fmwk[sn][0][4][1], fmwk[sn][0][4][2]];\n\t[str appendFormat:@\"DynamicLogging:[%.4f][%.4f][%.4f]\\n\", fmwk[sn][1][4][0], fmwk[sn][1][4][1], fmwk[sn][1][4][2]];\n\t[str appendString:@\"\\n\\n\\n\"];\n\t\n\treturn str;\n}\n\n+ (NSString *)csvResults\n{\n\tNSMutableString *str = [NSMutableString stringWithCapacity:1000];\n\t\n\t// What are we trying to do here?\n\t// \n\t// What we ultimately want is to compare the performance of the framework against the baseline.\n\t// This means we want to see the performance of the baseline for test 1,\n\t// and then right next to it we want to see the performance of the framework with each various configuration.\n\t// \n\t// So we want it to kinda look like this for Test 1:\n\t// \n\t// Base, [min], [avg], [max]\n\t// Suite 1 - Static, [min], [avg], [max]\n\t// Suite 1 - Dynamic, [min], [avg], [max]\n\t// Suite 2 - Static, [min], [avg], [max]\n\t// Suite 2 - Dynamic, [min], [avg], [max]\n\t// Suite 3 - Static, [min], [avg], [max]\n\t// Suite 3 - Dynamic, [min], [avg], [max]\n\t// \n\t// This will import into Excel just fine.\n\t// However, I couldn't get Excel to make a decent looking graph with the data.\n\t// Perhaps I'm just not familiar enough with Excel.\n\t// But I was able to download OmniGraphSketcher,\n\t// and figure out how to create an awesome looking graph in less than 15 minutes.\n\t// And thus OmniGraphSketcher wins for me.\n\t// The only catch is that it wants to import the data with numbers instead of names.\n\t// So I need to convert the output to look like this:\n\t// \n\t// 0, [min], [avg], [max]\n\t// 1, [min], [avg], [max]\n\t// 2, [min], [avg], [max]\n\t// 3, [min], [avg], [max]\n\t// 4, [min], [avg], [max]\n\t// 5, [min], [avg], [max]\n\t// 6, [min], [avg], [max]\n\t// \n\t// I can then import the data into OmniGraphSketcher, and rename the X-axis points.\n\t\n\t// static NSTimeInterval base[5][3]; // [test][min,avg,max]\n\t// \n\t// static NSTimeInterval fmwk[3][2][5][3]; // [suite][file][test][min,avg,max]\n\t\n\tint row = 0;\n\tint suite, file, test;\n\t\n\tfor (test = 0; test < 5; test++)\n\t{\n\t\t[str appendFormat:@\"%i, %.4f, %.4f, %.4f\\n\", row++, base[test][0], base[test][1], base[test][2]];\n\t\t\n\t\tfor (suite = 0; suite < 3; suite++)\n\t\t{\n\t\t\tfor (file = 0; file < 2; file++)\n\t\t\t{\n\t\t\t\t[str appendFormat:@\"%i, %.4f, %.4f, %.4f\\n\", row++,\n\t\t\t\t       fmwk[suite][file][test][0], fmwk[suite][file][test][1], fmwk[suite][file][test][2]];\n\t\t\t}\n\t\t}\n\t\t\n\t\trow += 3;\n\t}\n\t\n\treturn str;\n}\n\n+ (void)startPerformanceTests\n{\n\tBOOL runBase   = YES;\n\tBOOL runSuite1 = YES;\n\tBOOL runSuite2 = YES;\n\tBOOL runSuite3 = YES;\n\t\n\tif (!runBase && !runSuite1 && !runSuite2 && !runSuite3)\n\t{\n\t\t// Nothing to do, all suites disabled\n\t\treturn;\n\t}\n\t\n\tNSLog(@\"Preparing to start performance tests...\");\n\tNSLog(@\"The results will be printed nicely when all logging has completed.\\n\\n\");\n\t\n\t[NSThread sleepForTimeInterval:3.0];\n\t\n\tif (runBase)\n\t{\n\t\t[self executeTestsWithBase:YES framework:NO frameworkSuite:0];\n\t}\n\t\n\tNSString *printableResults1 = nil;\n\tNSString *printableResults2 = nil;\n\tNSString *printableResults3 = nil;\n\t\n\tif (runSuite1)\n\t{\n\t\t[self configureLoggingForSuite1];\n\t\t[self executeTestsWithBase:NO framework:YES frameworkSuite:1];\n\t\t\n\t\tprintableResults1 = [self printableResultsForSuite:1];\n\t\t\n\t\tNSLog(@\"\\n\\n\\n\\n\");\n\t}\n\tif (runSuite2)\n\t{\n\t\t[self configureLoggingForSuite2];\n\t\t[self executeTestsWithBase:NO framework:YES frameworkSuite:2];\n\t\t\n\t\tprintableResults2 = [self printableResultsForSuite:2];\n\t\t\n\t\tNSLog(@\"\\n\\n\\n\\n\");\n\t}\n\tif (runSuite3)\n\t{\n\t\t[self configureLoggingForSuite3];\n\t\t[self executeTestsWithBase:NO framework:YES frameworkSuite:3];\n\t\t\n\t\tprintableResults3 = [self printableResultsForSuite:3];\n\t\t\n\t\tNSLog(@\"\\n\\n\\n\\n\");\n\t}\n\t\n\tif (runSuite1)\n\t{\n\t\tNSLog(@\"======================================================================\");\n\t\tNSLog(@\"Benchmark Suite 1:\");\n\t\tNSLog(@\"Logging framework configured to log to console only.\");\n\t\tNSLog(@\"\\n\\n%@\", printableResults1);\n\t\tNSLog(@\"======================================================================\");\n\t}\n\tif (runSuite2)\n\t{\n\t\tNSLog(@\"======================================================================\");\n\t\tNSLog(@\"Benchmark Suite 2:\");\n\t\tNSLog(@\"Logging framework configured to log to file only.\");\n\t\tNSLog(@\"\\n\\n%@\", printableResults2);\n\t\tNSLog(@\"======================================================================\");\n\t}\n\tif (runSuite3)\n\t{\n\t\tNSLog(@\"======================================================================\");\n\t\tNSLog(@\"Benchmark Suite 3:\");\n\t\tNSLog(@\"Logging framework configured to log to console & file.\");\n\t\tNSLog(@\"\\n\\n%@\", printableResults3);\n\t\tNSLog(@\"======================================================================\");\n\t}\n\t\n#if TARGET_OS_IPHONE\n\tNSString *csvResultsPath = [@\"~/Documents/LumberjackBenchmark.csv\" stringByExpandingTildeInPath];\n#else\n\tNSString *csvResultsPath = [@\"~/Desktop/LumberjackBenchmark.csv\" stringByExpandingTildeInPath];\n#endif\n\t\n\tif (![[NSFileManager defaultManager] fileExistsAtPath:csvResultsPath])\n\t{\n\t\t[[NSFileManager defaultManager] createFileAtPath:csvResultsPath contents:nil attributes:nil];\n\t}\n\t\n\tNSFileHandle *csvResultsFile = [NSFileHandle fileHandleForWritingAtPath:csvResultsPath];\n\t\n\tNSString *csvRsults = [self csvResults];\n\t[csvResultsFile writeData:[csvRsults dataUsingEncoding:NSUTF8StringEncoding]];\n\t\n\tNSLog(@\"CSV results file written to:\\n%@\", csvResultsPath);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/Results/Benchmark PowerMac.csv",
    "content": "0, 0.2724, 0.2816, 0.3198\n1, 0.0000, 0.0000, 0.0000\n2, 0.0000, 0.0000, 0.0000\n3, 0.0000, 0.0000, 0.0000\n4, 0.0000, 0.0000, 0.0000\n5, 0.0000, 0.0000, 0.0000\n6, 0.0000, 0.0000, 0.0000\n10, 0.2710, 0.2757, 0.2826\n11, 0.0032, 0.0035, 0.0043\n12, 0.0032, 0.0036, 0.0066\n13, 0.0032, 0.0032, 0.0033\n14, 0.0032, 0.0032, 0.0033\n15, 0.0032, 0.0035, 0.0054\n16, 0.0032, 0.0037, 0.0065\n20, 0.2715, 0.2804, 0.3601\n21, 0.0996, 0.1037, 0.1090\n22, 0.0984, 0.1042, 0.1265\n23, 0.0296, 0.0311, 0.0370\n24, 0.0294, 0.0301, 0.0314\n25, 0.1118, 0.1523, 0.8192\n26, 0.1089, 0.1138, 0.1204\n30, 0.2720, 0.2760, 0.2842\n31, 0.0251, 0.0269, 0.0287\n32, 0.0260, 0.0273, 0.0298\n33, 0.0080, 0.0084, 0.0089\n34, 0.0079, 0.0084, 0.0091\n35, 0.0278, 0.0298, 0.0322\n36, 0.0277, 0.0299, 0.0319\n40, 0.2707, 0.2797, 0.3354\n41, 0.0095, 0.0103, 0.0112\n42, 0.0096, 0.0104, 0.0113\n43, 0.0028, 0.0030, 0.0034\n44, 0.0028, 0.0029, 0.0031\n45, 0.0098, 0.0112, 0.0120\n46, 0.0104, 0.0114, 0.0122\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/Results/Benchmark iMac.csv",
    "content": "0, 0.6169, 0.6700, 0.7403\n1, 0.0000, 0.0000, 0.0000\n2, 0.0000, 0.0000, 0.0000\n3, 0.0000, 0.0000, 0.0000\n4, 0.0000, 0.0000, 0.0000\n5, 0.0000, 0.0000, 0.0000\n6, 0.0000, 0.0000, 0.0000\n10, 0.6106, 0.6640, 0.7329\n11, 0.0184, 0.0268, 0.0466\n12, 0.0185, 0.0243, 0.0477\n13, 0.0183, 0.0213, 0.0234\n14, 0.0213, 0.0223, 0.0246\n15, 0.0182, 0.0231, 0.0426\n16, 0.0182, 0.0207, 0.0286\n20, 0.6167, 0.6651, 0.7365\n21, 0.2614, 0.3090, 0.3966\n22, 0.2672, 0.3121, 0.3805\n23, 0.0541, 0.0675, 0.0834\n24, 0.0541, 0.0576, 0.0824\n25, 0.2795, 0.3334, 0.4408\n26, 0.2847, 0.3438, 0.4951\n30, 0.6077, 0.6560, 0.7029\n31, 0.0676, 0.0997, 0.2275\n32, 0.0723, 0.0945, 0.1568\n33, 0.0188, 0.0191, 0.0203\n34, 0.0187, 0.0192, 0.0233\n35, 0.0723, 0.0886, 0.1579\n36, 0.0774, 0.0934, 0.1095\n40, 0.6101, 0.6597, 0.7372\n41, 0.0189, 0.0308, 0.0484\n42, 0.0237, 0.0322, 0.0468\n43, 0.0053, 0.0054, 0.0056\n44, 0.0053, 0.0055, 0.0057\n45, 0.0233, 0.0347, 0.0780\n46, 0.0223, 0.0316, 0.0559\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/Results/Benchmark iPad.csv",
    "content": "0, 2.4968, 2.5606, 2.7525\n1, 0.0001, 0.0001, 0.0001\n2, 0.0000, 0.0000, 0.0000\n3, 0.0000, 0.0000, 0.0000\n4, 0.0000, 0.0014, 0.0285\n5, 0.0000, 0.0000, 0.0001\n6, 0.0000, 0.0000, 0.0000\n10, 2.5016, 2.5982, 2.7952\n11, 0.2299, 0.5288, 1.2570\n12, 0.2845, 0.5943, 0.8713\n13, 0.3455, 0.3955, 0.5355\n14, 0.2955, 0.3814, 0.4431\n15, 0.2304, 0.5469, 0.9735\n16, 0.2761, 0.4723, 0.7460\n20, 2.5067, 2.5589, 2.6211\n21, 1.5797, 1.8261, 2.1204\n22, 1.8572, 1.9808, 2.1686\n23, 0.4198, 0.4877, 0.5202\n24, 0.4220, 0.4873, 0.5729\n25, 2.0504, 2.2492, 2.4038\n26, 2.1307, 2.3070, 2.4938\n30, 2.5003, 2.5565, 2.6215\n31, 0.5118, 0.6478, 0.8476\n32, 0.5157, 0.6690, 0.8628\n33, 0.1525, 0.2119, 0.2614\n34, 0.1407, 0.2039, 0.2715\n35, 0.5535, 0.6758, 0.8734\n36, 0.5397, 0.6877, 0.8979\n40, 2.4872, 2.5404, 2.5948\n41, 0.1454, 0.2044, 0.3307\n42, 0.1604, 0.2122, 0.2885\n43, 0.0287, 0.0484, 0.0962\n44, 0.0286, 0.0480, 0.1025\n45, 0.1542, 0.2173, 0.3335\n46, 0.1521, 0.2266, 0.3015\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/Results/Benchmark iPhone 3GS.csv",
    "content": "0, 4.2598, 4.3660, 4.6588\n1, 0.0000, 0.0000, 0.0000\n2, 0.0000, 0.0000, 0.0000\n3, 0.0000, 0.0000, 0.0000\n4, 0.0000, 0.0000, 0.0000\n5, 0.0000, 0.0000, 0.0000\n6, 0.0000, 0.0000, 0.0000\n10, 4.1986, 4.3513, 4.5088\n11, 0.5951, 1.5768, 2.3934\n12, 1.0329, 1.5809, 2.1354\n13, 0.2904, 0.3407, 0.4357\n14, 0.2413, 0.3309, 0.3610\n15, 0.6748, 1.2716, 1.6643\n16, 0.7571, 1.3473, 2.3276\n20, 4.2224, 4.3516, 4.5251\n21, 3.1635, 3.2748, 3.5510\n22, 3.2119, 3.2817, 3.4837\n23, 0.4739, 0.4894, 0.6311\n24, 0.4719, 0.4800, 0.5312\n25, 3.4027, 3.5172, 3.7449\n26, 3.3843, 3.4736, 3.7347\n30, 4.1721, 4.3516, 4.5596\n31, 0.9029, 1.2367, 1.5529\n32, 0.9005, 1.2779, 1.5703\n33, 0.1541, 0.1928, 0.2365\n34, 0.1533, 0.1986, 0.2383\n35, 0.8691, 1.1347, 1.5500\n36, 0.8477, 1.1970, 1.6069\n40, 4.1914, 4.3369, 4.6224\n41, 0.3008, 0.3281, 0.4669\n42, 0.2909, 0.3252, 0.4046\n43, 0.0470, 0.0478, 0.0488\n44, 0.0471, 0.0481, 0.0527\n45, 0.3151, 0.3484, 0.4229\n46, 0.3111, 0.3480, 0.4136\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/Results/Benchmark iPodTouch3 GCD.csv",
    "content": "0, 4.7533, 4.8965, 5.1468\n1, 0.0000, 0.0000, 0.0000\n2, 0.0000, 0.0000, 0.0000\n3, 0.0000, 0.0000, 0.0000\n4, 0.0000, 0.0000, 0.0000\n5, 0.0000, 0.0000, 0.0000\n6, 0.0000, 0.0000, 0.0000\n10, 4.7739, 4.8658, 5.0876\n11, 0.1744, 0.7295, 1.3352\n12, 0.2169, 0.7354, 1.4760\n13, 0.1846, 0.2992, 0.4073\n14, 0.1816, 0.2980, 0.3568\n15, 0.1840, 0.8697, 1.5107\n16, 0.0834, 0.7477, 1.1599\n20, 4.7807, 4.9025, 5.1423\n21, 3.1918, 3.3175, 3.5093\n22, 3.1522, 3.2813, 3.5148\n23, 0.3052, 0.3182, 0.3852\n24, 0.3061, 0.3171, 0.3410\n25, 3.5837, 3.7104, 3.9758\n26, 3.5487, 3.6969, 3.9776\n30, 4.7613, 4.8927, 5.1026\n31, 0.8053, 1.0718, 1.3799\n32, 0.8069, 1.0888, 1.3447\n33, 0.1194, 0.1577, 0.1813\n34, 0.1249, 0.1523, 0.1777\n35, 0.9295, 1.2310, 1.4301\n36, 0.9240, 1.2278, 1.5636\n40, 4.8084, 4.8773, 5.0500\n41, 0.2822, 0.3202, 0.3642\n42, 0.3091, 0.3291, 0.3686\n43, 0.0302, 0.0313, 0.0341\n44, 0.0295, 0.0308, 0.0328\n45, 0.3281, 0.3669, 0.4102\n46, 0.3359, 0.3710, 0.3960\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/StaticLogging.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@interface StaticLogging : NSObject\n\n+ (void)speedTest0;\n+ (void)speedTest1;\n+ (void)speedTest2;\n+ (void)speedTest3;\n+ (void)speedTest4;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Benchmarking/StaticLogging.m",
    "content": "#import \"StaticLogging.h\"\n#import \"PerformanceTesting.h\"\n#import \"DDLogMacros.h\"\n\n#define FILENAME @\"StaticLogging \" // Trailing space to match exactly the others in length\n\n// Debug levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelWarning; // CONST\n\n\n@implementation StaticLogging\n\n+ (void)speedTest0\n{\n\t// Log statements that will not be executed due to log level\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_0_COUNT; i++)\n\t{\n\t\tDDLogVerbose(@\"%@: SpeedTest0 - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest1\n{\n\t// Log statements that will be executed asynchronously\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_1_COUNT; i++)\n\t{\n\t\tDDLogWarn(@\"%@: SpeedTest1 - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest2\n{\n\t// Log statements that will be executed synchronously\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_2_COUNT; i++)\n\t{\n\t\tDDLogError(@\"%@: SpeedTest2 - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest3\n{\n\t// Even Spread:\n\t// \n\t// 25% - Not executed due to log level\n\t// 50% - Executed asynchronously\n\t// 25% - Executed synchronously\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogError(@\"%@: SpeedTest3A - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogWarn(@\"%@: SpeedTest3B - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogInfo(@\"%@: SpeedTest3C - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_3_COUNT; i++)\n\t{\n\t\tDDLogVerbose(@\"%@: SpeedTest3D - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n+ (void)speedTest4\n{\n\t// Custom Spread\n\t\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_ERROR_COUNT; i++)\n\t{\n\t\tDDLogError(@\"%@: SpeedTest4A - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_WARN_COUNT; i++)\n\t{\n\t\tDDLogWarn(@\"%@: SpeedTest4B - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_INFO_COUNT; i++)\n\t{\n\t\tDDLogInfo(@\"%@: SpeedTest4C - %lu\", FILENAME, (unsigned long)i);\n\t}\n\tfor (NSUInteger i = 0; i < SPEED_TEST_4_VERBOSE_COUNT; i++)\n\t{\n\t\tDDLogVerbose(@\"%@: SpeedTest4D - %lu\", FILENAME, (unsigned long)i);\n\t}\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/CHANGELOG.md",
    "content": "## [3.4.2 - Xcode 9.3 on Apr 17th, 2018](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/3.4.2)\n- Update README.md #912\n- Fixed typo in pull request template #913\n- Fix `-Wimplicit-retain-self` warnings #915\n- Update memory management in dynamic logging #916\n- Xcode 9.3 support #921 #923 #926 #927\n- Add extern \"C\" for Objective-C++ #922\n- Add `flush` method to the `DDFileLogger` #928\n\n## [3.4.1 - Xcode 9.1 on Jan 26th, 2018](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/3.4.1)\n- Fix `DDLogFileManagerDefault` `-isLogFile` #909\n- Fix locking the main thread #911\n\n## [3.4.0 - Xcode 9.1 on Jan 3rd, 2018](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/3.4.0)\n- Fix Travis CI #895\n- Fix typos #896\n- Fix schemes and link errors #897 #899 #903 #907\n\n## [3.3.0 - Xcode 9 on Oct 3rd, 2017](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/3.3.0)\n- Xcode 9 support and Swift 4 support #890 #893\n- Replace `OSSpinLock` with `pthread_mutex` #889\n\n## [3.2.1 - Xcode 9 beta on Aug 21st, 2017](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/3.2.1)\n- Xcode 9 beta support #874 #873 #884 #883 #882\n- Fixed some issues around deleting log files #868 #879\n- update 'Use Log Level per Logger' doc #888\n- Remove empty asset catalogs so that they don't show up in Open Quickly #877\n- Fixed typo in pull request template #880\n\n## [3.2.0 - Swift 3.0.0, Xcode 8.3 on May 3rd, 2017](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/3.2.0)\n- Xcode 8.3 support #860 #853 \n- added a very basic `os_log` (unified logging) logger #850 #856 \n- Use `NSFileProtectionType` instead of `NSString` #866\n- Optimized timestamp calculation in `DDTTYLogger` #851 \n- Updated docs #864\n- Fix Travis #863 \n- Fixed nullability of `DDLogMessage.function` #849 `DDExtractFileNameWithoutExtension` #845 \n- Ignore `Carthage/Build` directory #862 \n- Updated schemes #859 #857\n\n## [3.1.0 - Swift 3.0.1, Xcode 8.1 on Feb 22nd, 2017](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/3.1.0)\n- Swift 3.0.1 and Xcode 8.1 support via #816\n- Fix Carthage build and updated the podspec structure #819 #818 #784 #790 #782 #778 #815\n- Fix CLIColor.h not included in umbrella header #781 #796 #813 #783\n- Fix crash in `[DDLog log:level:flag:context:file:function:line:tag:format:]` #831 #830\n- Code improvements: \n  - using class properties #779\n  - nullability #803 #809 #776\n  - fix static analyzer issues #822 #828\n  - optimized `USE_DISPATCH_CURRENT_QUEUE_LABEL` and `USE_DISPATCH_GET_CURRENT_QUEUE` macros #829\n  - fixed dispatch_source_set_timer() usage #834\n  - fixed misuse of non null parameter in `DDFileLogger fileAttributes` #835\n  - store calendar in logger queue specifics for multi-thread safety #837\n  - reenable default `init` method for `DDLogMessage` class #838\n- Added option to not copy messages #832\n- Added new hooks when adding loggers and formatters #836\n- Ability to create new log files every day #736\n- Skip messages in ASL logger which are filtered out by the formatter #786 #742\n- Fixed #823 by adding a `hash` implementation for `DDFileLogger` - same as `isEqual`, it only considers the `filePath` 7ceed08\n- Fix Travis CI build #807\n- Updated docs #798 #808 #811 #810 #820\n\n## [3.0.0 - Swift 3.0, Xcode 8 on Sep 21st, 2016](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/3.0.0)\n- Swift 3.0 and Xcode 8 support via #769, fixes #771 and #772. Many thanks to @ffried @max-potapov @chrisdoc @BarakRL @devxoul and the others who contributed\n\n## [2.4.0 - Swift 2.3 on Sep 19th, 2016](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.4.0)\n- Swift 2.3 explicit so that the project compiles on Xcode 8 - #747 #773 fix #762 #763 #766\n- CocoaPods 1.0.0 fully adopted - 0f5a793 637dfc1 70439fe #729\n- Fix CLIColor.h not found for non-AppKit binaries w/o clang modules #745\n- Retrieve the `DDLogLevel` of each logger associated to `DDLog` #753 \n- updated doc: #727 a9f54c9 #741, diagrams in 8bd128d\n- Added CONTRIBUTING, ISSUE and PULL_REQUEST TEMPLATE and added a small Communication section to the Readme\n- Fixed an issue with one demo #760\n\n## [2.3.0 - Swift 2.2, Xcode7.3 on May 2nd, 2016](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.3.0)\n- Updated to Swift 2.2 - #704 \n- replaced deprecated `__FUNCTION__`, `__FILE__`, `__LINE__` with newly added to Swift 2.2: `#function`, `#file`, `#line`\n- Xcode 7.3 update - #692 #662 \n- simplify usage and integration of the static library target - #657 \n- DDLog usable via instances - #679 \n- Swift cleanup - #649 \n- Enable Application extension API only for tvOS - #701 \n- Added `appletvos` and `appletvsimulator` to `SUPPORTED_PLATFORMS` and set  `TVOS_DEPLOYMENT_TARGET` - #707 \n- fixed `OSSpinLock` init issue - #653 \n- Added check to prevent duplicate loggers - #682 \n- fixed typo in import - #693 \n- updated the docs - #646 #650 #656 #655 #661 #664 #667 #684 #724 \n\n## [2.2.0 - TVOS, Xcode7.1 on Oct 28th, 2015](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.2.0)\n- added `tvOS` support (thanks [@sinoru](https://github.com/sinoru)) - [#634](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/634) [#640](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/640) [#630](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/630) [#628](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/628) [#618](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/618) [#611](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/611)\n- Remove `(escaping)` from the Swift `@autoclosure` parameters - [#642](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/642)\n\n## [2.1.0 - Swift 2.0, WatchOS, Xcode7 on Oct 23rd, 2015](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.1.0)\n- Fixed the version for the Carthage builds - see [#633](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/633)\n- Improved documentation\n\n## [2.1.0 RC - Swift 2.0, WatchOS, Xcode7 on Oct 22nd, 2015](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.1.0-rc)\n- Refactored the `NSDateFormatter` related code to fix a bunch of issues: [#621](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/621)\n- Fix Issue [#488](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/488): Support `DDLog` without `AppKit Dependency` (`#define DD_CLI`): [#627](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/627)\n- Re-add `NS_DESIGNATED_INITIALIZER` [#619](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/619)\n\n## [2.1.0 Beta - Swift 2.0, WatchOS, Xcode7 on Oct 12th, 2015](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.1.0-beta)\n- Updated the library to use Swift 2.0 and Xcode 7 [#617](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/617) [#545](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/545) [#534](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/534)\n- WatchOS support (2.0) [#583](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/583) [#581](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/581) [#579](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/579) \n\n## [2.0.3 Patch for 2.0.0 on Oct 13th, 2015](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.3)\n\n- Compatibility with Xcode 6 that was broken by the 2.0.2 patch - [f042fd3](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/f042fd3)\n\n## [2.0.2 Patch for 2.0.0 on Oct 12th, 2015](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.2)\n\n- Swift 1.2 fixes [#546](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/546) [#578](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/578) plus and update to Swift 2.0 [5627dff](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/5627dff) imported from our swift_2.0 branch\n- Make build work on `tvOS` [#597](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/597) \n- Make `CocoaLumberjackSwift-iOS` target depends on `CocoaLumberjack-iOS` [#575](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/575) \n- `APPLICATION_EXTENSION_API_ONLY` to `YES` for Extensions [#576](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/576) \n- Remove unnecessary `NS_DESIGNATED_INITIALIZER`s [#593](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/593) fixes [#592](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/592)  \n- Add ignore warning mark for `DDMakeColor` [#553](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/553) \n- Kill unused function warnings from `DDTTYLogger.h` [#613](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/613) \n- Flag unused parameters as being unused to silence strict warnings [#566](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/566) \n- Extend ignore unused warning pragma to cover all platforms [#559](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/559) \n- Removed images.xcassets from Mobile project [#580](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/580) \n- Silence the Xcode 7 upgrade check - [#595](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/595) \n- Fix import for when CL framework files are manually imported into project [#560](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/560) \n- Don't override defines in case they're already set at project level [#551](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/551) \n- log full filepath when failing to set attribute [#550](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/550) \n- Fix issue in standalone build with `DDLegacyMacros.h` [#552](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/552) \n- Update `CustomFormatters.md` with proper thread-safe blurb [#555](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/555) \n- typo in parameter's variable name fixed [#568](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/568) \n- Typo: minor fix [#571](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/571) \n- Surely we should be adding 1, not 0 for `OSAtomicAdd32` ? [#587](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/587) \n- `rollLogFileWithCompletionBlock` calls back on background queue instead of main queue [#589](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/589) \n- Removing extraneous `\\` on line 55 [#600](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/600) \n- Updated `GettingStarted.md` to include `ddLogLevel` [#602](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/602) \n- Remove redundant check for `processorCount` availability [#604](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/604) \n\n## [2.0.1 Patch for 2.0.0 on Jun 25th, 2015](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.1)\n\n- **Carthage support** [#521](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/521) [#526](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/526) \n- fixed crash on `DDASLLogCapture` when `TIME` or `TIME_NSEC` is `NULL` [#484](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/484) \n- **Swift** fixes and improvements: [#483](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/483) [#509](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/509) [#518](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/518) [#522](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/522) [5eafceb](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/5eafceb)\n- Unit tests: [#500](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/500) [#498](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/498) [#499](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/499) \n- Fix [#478](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/478) by reverting [#473](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/473) \n- Add `armv7s` to static library [#538](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/538)\n- Fix `NSLog` `threadid` mismatch with iOS 8+/OSX 10.10+ [#514](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/514) \n- Fixed the `LogV` macros so that avalist is no longer undefined [#511](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/511) \n- Using type safe `DDColor` alias instead of #define directive [#506](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/506) \n- Several fixes/tweaks to `DDASLLogCapture` [#512](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/512) \n- Prevent duplicate log entries when both `DDASLLogCapture` and `DDASLLogger` are used [#515](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/515) \n- Fix memory leaks in `DDTTYLogger`, add self annotations to blocks [#536](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/536) \n- Update older syntax to modern subscripting for array access [#482](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/482) \n- Remove execute permission on non-executable files [#517](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/517) \n- Change code samples to use `DDLogFlagWarning` [#520](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/520) \n- Fix seemingly obvious typo in the `toLogLevel` function [#508](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/508) \n\n## [CocoaLumberjack 2.0.0 on Mar 13th, 2015](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.0)\n\nThe library was strongly refactored, with a few goals in mind:\n- Swift support - that we will release in a separate milestone, since CocoaPods 0.36.0 just got out\n- Unit tests support\n- reorganised things (on disk)\n- better coding style\n\nSee [Migration from 1.x to 2.x](https://github.com/CocoaLumberjack/CocoaLumberjack#migrating-to-2x)\n\n## [2.0.0-rc2 on Feb 20th, 2015](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.0-rc2)\n\n- Bucket of Swift improvements - [#434](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/434) [#437](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/437) [#449](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/449) [#440](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/440) \n- Fixed [#433](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/433) (build issue due to dispatch_queue properties) - [#455](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/455) \n- Enable codesign for iOS device framework builds - [#444](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/444)\n- Declare `automaticallyAppendNewlineForCustomFormatters` properties as `nonatomic` - [#443](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/443) \n- Warning fixes & type standardization - [#419](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/419) \n- Legacy checks updated - [#424](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/424) \n- Documentation updates\n\n## [2.0.0-rc on Dec 11th, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.0-rc)\n\n- Fix `dispatch_queue_t` properties.\n- Fix `registeredClasses` crashes at launch.\n\n## [2.0.0-beta4 on Nov 7th, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.0-beta4)\n\n- Major refactoring and clean up.\n- Remove superfluous `log` from property names and use underscore for direct variable access.\n- Preliminar Swift support through `CocoaLumberjack.swift`.\n- Automatic 1.9.x legacy support when `DDLog.h` is imported instead of the new `CocoaLumberjack.h`.\n\n## [2.0.0-beta3 on Oct 21st, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.0-beta3)\n\n- Modernize flag variables to be `NS_OPTIONS`/`NS_ENUM`.\n- Change the log flags and levels to `NSUInteger`.\n- Fix warning when compiled with assertions blocked.\n- Crash fixes.\n\n## [2.0.0-beta2 on Sep 30th, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.0-beta2)\n\n- Cleanup code.\n- Match `NSLog` read UID functionality in `DDASLLogger`.\n- Update framework and static libraries.\n\n## [2.0.0 Beta on Aug 12th, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/2.0.0-beta)\n\nSee [Migrate from 1.x to 2.x](https://github.com/CocoaLumberjack/CocoaLumberjack#migrating-to-2x)\n\n## [1.9.2 Updated patch release for 1.9.0 on Aug 11th, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.9.2)\n\n- Fixed `NSCalendar components:fromDate:` crash - [#140](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/140) [#307](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/307) [#216](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/216) \n- New `DDAssert` macros - [#306](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/306) \n- Limit log growth by disk space only, not the number of files - [#195](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/195) [#303](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/303) \n- Change the mechanism for adding new line character (i.e. '\\n\\) to log messages in some logger - [#308](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/308) [#310](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/310) \n- Fixed deprecations - [#320](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/320) [#312](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/312) [#317](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/317) \n- `aslmsg` not freed and causing memory leak - [#314](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/314) \n- Fixed `CompresingLogFileManager` compression bug - [#315](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/315) \n- Remove unnecessary `NULL` check before `free()` - [#316](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/316) \n\n## [1.9.1 Patch release for 1.9.0 on Jun 30th, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.9.1)\n\n- Fixed issues in rolling frequency - [#243](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/243) [#295](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/295) [@georgekola](https://github.com/georgekola)\n- Fixed critical issue, `addLogger` method should use a full bit mask instead of `LOG_LEVEL_VERBOSE`, otherwise extended logs or extra flags are ignored [fe6824c](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/fe6824c) [@robbiehanson](https://github.com/robbiehanson) \n- Performance optimisation: use compiler macros to skip iOS version checks - [4656d3b](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/4656d3b) [#298](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/298) [#291](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/291) [@robbiehanson](https://github.com/robbiehanson) [@liviur](https://github.com/liviur)\n- Changed the `Build Active Architecture Only` to `NO` [#294](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/294) [#293](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/293) \n- Optimisation by reusing `NSDateFormatter` instances [#296](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/296) [#301](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/301) \n\n## [1.9.0 New ASL capture module, several File logger fixes on May 23rd, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.9.0)\n\n- New ASL capture module [#242](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/242) [#263](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/263) \n- Override default `NSFileProtection` handling [#285](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/285) \n- Replaced warnings when ARC was not enabled with errors [#284](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/284) \n- Fix for issue [#278](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/278) where really large log files can keep growing [#280](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/280) \n- Fixed Xcode warnings [#279](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/279) \n- Update `calendarUnitFlags` with new iOS SDK values [#277](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/277) \n- Fix possible crash in `[NSCalendar components:fromDate:]` [#277](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/277) \n- Fix [#262](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/262) inverted ifs when renaming log [#264](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/264) \n- Proper way of doing singletons (via `dispatch_once`) [#259](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/259) \n- Explicitly declare `DDFileLogger` and `DDDispatchQueueLogFormatter ` properties as atomic to avoid Xcode warnings [#258](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/258)\n- Set `NSFileProtectionKey` on the temporary file created during compression [#256](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/256) \n- Fix a rare crash in `CompressingLogFileManager` caused by an unchecked result from read [#255](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/255) \n- Add explicit casts for integer conversion [#253](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/253) \n- Replace use of `NSThread.detachNewThreadSelector` [#251](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/251) \n- Add a constructor override for `initWithLogsDirectory:` [#252](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/252) \n- Check and log the streamError whenever we fail to write during compression and log any failures when removing the original file or cleaning up the temporary file after compression failed [#250](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/250) \n- Following Apple's guidelines for iOS Static Libraries [#249](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/249) \n- Some extra warnings for the mobile framework xcode project [a2e5666](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/a2e5666)\n- Update `FineGrainedLoggingAppDelegate.m` [#244](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/244) \n- New `[DDLog log:message:]` primitive [7f8af2e](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/7f8af2e)\n- Fixed issue [#181](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/181) when logging messages in iOS7 devices aren't properly retrieved by `asl_search` [#240](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/240) \n- Allow prevention of log file reuse [#238](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/238) \n- `DDTTYLogger`: Favour XcodeColors environment variable [#237](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/237) \n- `DDLog`: calling `atexit_b` in CLI applications, that use Foundation framework [#234](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/234) \n\n## [1.8.1 AllLoggers and bugfixes on Feb 14th, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.8.1)\n\n- read access to all loggers - [#217](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/217) [#219](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/219) \n- fixed bug with archived logs not being handled correctly on iOS simulator - [#218](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/218) \n- log the `strerror(errno)` value when `setxattr()` fails - [#211](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/211) \n- Add a check for an archived log before overwriting - [#214](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/214) \n- improved safety by using assertions instead of comments (`DDLog` in the core) - [#221](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/221) \n- added Lumberjack logo :)\n\n## [1.8.0 Better CL support, custom logfile name format, bugfixes on Jan 21st, 2014](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.8.0)\n\n- `DDFileLogger` custom logfile (name) format - [#208](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/208) \n- Security static analysis fix - [#202](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/202) \n- `DDFileLogger`: using `CFBundleIdentifier` as a log filename prefix on OSX and iOS - [#206](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/206) \n- Allow disabling of specific levels per-logger - [#204](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/204) \n- Improve support for OS X command line tools - [#194](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/194) \n- `DDFileLogger`: fixed crash that occurred in case if application name == nil - [#198](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/198) \n- `DDFileLogger`: fixed comment - [#199](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/199) \n- Fix Travis - [#205](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/205) \n\n## [1.7.0 New log file naming convention and CocoaLumberjack organisation on Dec 10th, 2013](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.7.0)\n\n- new log file naming convention - [#191](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/191)\n- completed transition to **CocoaLumberjack** organisation - [#188](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/188)\n\n## [1.6.5.1 Patch release for Xcode 4.4+ compatibility on Dec 4th, 2013](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.6.5.1)\n\n- fixed compatibility with Xcode 4.4+ [#187](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/187)\n\n## [1.6.5 File Logger refactoring, Multi Formatter, preffixed extension classes on Dec 3rd, 2013](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.6.5)\n\n`DDFileLogger` refactoring and fixes (thanks [@dvor](https://github.com/dvor) and [@an0](https://github.com/an0)):\n- Fixed [#63](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/63) Loggers don't flush in Command Line Tool [#184](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/184) \n- Fixed [#52](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/52) Force log rotation [#183](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/183)\n- Fixed [#55](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/55) After deleting log file or log dir they aren't created again without relaunching the app [#183](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/183)\n- Fixed [#129](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/129) [iOS] `DDFileLogger` causes crash when logging from background app [#183](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/183)\n- Fixed [#153](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/153) Log file on iPhone only contains a single line [#177](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/177)\n- Fixed [#155](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/155) How do I combine all my log levels into one file? [#177](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/177)\n- Fixed [#175](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/175) `DFileLogger` `creationDate` bug on 64-bit iOS system [#177](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/177)\n- Allow customizing the naming convention for log files to use timestamps [#174](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/174)\n\nOther:\n- Implemented multiple formatter (`DDMultiFormatter` - alows chaining of formatters) [#178](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/178)\n- Added DD preffix to extension classes (`ContextFilterLogFormatter` and `DispatchQueueLogFormatter`) [#178](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/178)\n- Updated code indentation: Tabs changed to spaces [#180](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/180)\n- Included `DDLog+LOGV.h` in Cocoapods sources [d253bd7](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/d253bd7)\n- other fixes/improvements\n\n## [1.6.4 Fix compatibility with 3rd party frameworks on Nov 21st, 2013](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.6.4)\n\n* \"Fix\" conflicts with 3rd party libraries using `CocoaLumberjack` [#172](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/172) \n* Ignore deprecated warning for `dispatch_get_current_queue` [#167](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/167) \n* Add new `DEBUG` log level support to included loggers [#166](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/166) \n* Method declarations that make it easier to extend/modify `DispatchQueueLogFormatter` [#164](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/164) \n\n## [1.6.3 New macros, updated podspec and bug fixes on Apr 2nd, 2013](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.6.3)\n\n* Add `LOGV`-style macros [#161](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/161) \n* Fix getting queue's label [#159](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/159)  \n* New log level `DEBUG` [#145](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/145) \n* Use `DISPATCH_CURRENT_QUEUE_LABEL` if available [#159](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/159) \n* Different `logLevel` per each logger [#151](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/151) \n* Created 2 subspecs, `Core` and `Extensions` [#152](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/152) \n* Updated observer for keypath using `NSStringFromSelector` + `@selector` [38e5da3](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/38e5da3)\n* Replaced `id` return type with `instancetype` [ebee454](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/ebee454)\n* Remove implicit conversion warnings [#149](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/149) \n* `DDTTYLogger`: Allow to set default color profiles for all contexts at once [#146](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/146) [#158](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/158) \n* `DDTTYLogger`: By default apply `setForegroundColor:backgroundColor:forFlag:` to `LOG_CONTEXT_ALL` [#154](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/154) \n* `DispatchQueueLogFormatter`: Use modern Objective-C [#142](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/142) \n* `DispatchQueueLogFormatter`: Make sure to always use a `NSGregorianCalendar` for date formatter [#142](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/142) \n* Replaced explicit reference to class name in `logFileWithPath` factory method [#131](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/131) \n* Catch exceptions in `logMessage:` [#130](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/130) \n* Fix enum type conversion warnings [#124](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/124) \n* Add deployment target condition for workaround [#121](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/121) \n* Fix static analyzer warnings about `nil` values in dictionary [#122](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/122) \n* Fix `dispatch_get_current_queue` crash [#121](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/121) \n* Fixing colors in greyscale color-space not working [d019cfd](https://github.com/CocoaLumberjack/CocoaLumberjack/commit/d019cfd)\n* Guard around `dispatch_resume()` being called with null pointer [#107](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/107) \n* `NULL` safety checks [#107](https://github.com/CocoaLumberjack/CocoaLumberjack/pull/107)\n\n## [1.6.2 on Apr 2nd, 2013](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.6.2)\n\n## [1.6.1 on Apr 2nd, 2013](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.6.1)\n\n## [1.6 on Jul 3rd, 2012](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.6)\n\n## [1.5.1 on Jul 3rd, 2012](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.5.1)\n\n## [1.5 on Jul 3rd, 2012](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.5)\n\n## [1.4.1 on Jul 3rd, 2012](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.4.1)\n\n## [1.4 on Jul 3rd, 2012](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.4)\n\n## [1.3.3 on Mar 30th, 2012](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.3.3)\n\n## [1.3.2 on Dec 23rd, 2011](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.3.2)\n\n## [1.3.1 on Dec 9th, 2011](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.3.1)\n\n## [1.3 on Dec 9th, 2011](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.3)\n\n## [1.2.3 on Dec 9th, 2011](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.2.3)\n\n## [1.2.2 on Dec 9th, 2011](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.2.2)\n\n## [1.2.1 on Oct 13th, 2011](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.2.1)\n\n## [1.2 on Oct 13th, 2011](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.2)\n\n## [1.1 on Oct 13th, 2011](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.1)\n\n## [1.0 on Oct 13th, 2011](https://github.com/CocoaLumberjack/CocoaLumberjack/releases/tag/1.0)\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/CLI/CLIColor.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import <Foundation/Foundation.h>\n#import <QuartzCore/QuartzCore.h>\n\n/**\n * This class represents an NSColor replacement for CLI projects that don't link with AppKit\n **/\n@interface CLIColor : NSObject\n\n/**\n *  Convenience method for creating a `CLIColor` instance from RGBA params\n *\n *  @param red   red channel, between 0 and 1\n *  @param green green channel, between 0 and 1\n *  @param blue  blue channel, between 0 and 1\n *  @param alpha alpha channel, between 0 and 1\n */\n+ (CLIColor *)colorWithCalibratedRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha;\n\n/**\n *  Get the RGBA components from a `CLIColor`\n *\n *  @param red   red channel, between 0 and 1\n *  @param green green channel, between 0 and 1\n *  @param blue  blue channel, between 0 and 1\n *  @param alpha alpha channel, between 0 and 1\n */\n- (void)getRed:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha NS_SWIFT_NAME(get(red:green:blue:alpha:));\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/CLI/CLIColor.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"CLIColor.h\"\n\n@interface CLIColor () {\n    CGFloat _red, _green, _blue, _alpha;\n}\n\n@end\n\n\n@implementation CLIColor\n\n+ (CLIColor *)colorWithCalibratedRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha {\n    CLIColor *color = [CLIColor new];\n\n    color->_red     = red;\n    color->_green   = green;\n    color->_blue    = blue;\n    color->_alpha   = alpha;\n    return color;\n}\n\n- (void)getRed:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha {\n    if (red) {\n        *red    = _red;\n    }\n\n    if (green) {\n        *green  = _green;\n    }\n\n    if (blue) {\n        *blue   = _blue;\n    }\n\n    if (alpha) {\n        *alpha  = _alpha;\n    }\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/CocoaLumberjack.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n/**\n * Welcome to CocoaLumberjack!\n *\n * The project page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n *\n * If you're new to the project you may wish to read \"Getting Started\" at:\n * Documentation/GettingStarted.md\n *\n * Otherwise, here is a quick refresher.\n * There are three steps to using the macros:\n *\n * Step 1:\n * Import the header in your implementation or prefix file:\n *\n * #import <CocoaLumberjack/CocoaLumberjack.h>\n *\n * Step 2:\n * Define your logging level in your implementation file:\n *\n * // Log levels: off, error, warn, info, verbose\n * static const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n *\n * Step 2 [3rd party frameworks]:\n *\n * Define your LOG_LEVEL_DEF to a different variable/function than ddLogLevel:\n *\n * // #undef LOG_LEVEL_DEF // Undefine first only if needed\n * #define LOG_LEVEL_DEF myLibLogLevel\n *\n * Define your logging level in your implementation file:\n *\n * // Log levels: off, error, warn, info, verbose\n * static const DDLogLevel myLibLogLevel = DDLogLevelVerbose;\n *\n * Step 3:\n * Replace your NSLog statements with DDLog statements according to the severity of the message.\n *\n * NSLog(@\"Fatal error, no dohickey found!\"); -> DDLogError(@\"Fatal error, no dohickey found!\");\n *\n * DDLog works exactly the same as NSLog.\n * This means you can pass it multiple variables just like NSLog.\n **/\n\n#import <Foundation/Foundation.h>\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n// Core\n#import \"DDLog.h\"\n\n// Main macros\n#import \"DDLogMacros.h\"\n#import \"DDAssertMacros.h\"\n\n// Capture ASL\n#import \"DDASLLogCapture.h\"\n\n// Loggers\n#import \"DDTTYLogger.h\"\n#import \"DDASLLogger.h\"\n#import \"DDFileLogger.h\"\n#import \"DDOSLogger.h\"\n\n// CLI\n#if __has_include(\"CLIColor.h\") && TARGET_OS_OSX\n#import \"CLIColor.h\"\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/CocoaLumberjack.swift",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2014-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\nimport Foundation\n\nextension DDLogFlag {\n    public static func from(_ logLevel: DDLogLevel) -> DDLogFlag {\n        return DDLogFlag(rawValue: logLevel.rawValue)\n    }\n\t\n\tpublic init(_ logLevel: DDLogLevel) {\n        self = DDLogFlag(rawValue: logLevel.rawValue)\n\t}\n    \n    ///returns the log level, or the lowest equivalant.\n    public func toLogLevel() -> DDLogLevel {\n        if let ourValid = DDLogLevel(rawValue: rawValue) {\n            return ourValid\n        } else {\n            if contains(.verbose) {\n                return .verbose\n            } else if contains(.debug) {\n                return .debug\n            } else if contains(.info) {\n                return .info\n            } else if contains(.warning) {\n                return .warning\n            } else if contains(.error) {\n                return .error\n            } else {\n                return .off\n            }\n        }\n    }\n}\n\npublic var defaultDebugLevel = DDLogLevel.verbose\n\npublic func resetDefaultDebugLevel() {\n    defaultDebugLevel = DDLogLevel.verbose\n}\n\npublic func _DDLogMessage(_ message: @autoclosure () -> String, level: DDLogLevel, flag: DDLogFlag, context: Int, file: StaticString, function: StaticString, line: UInt, tag: Any?, asynchronous: Bool, ddlog: DDLog) {\n    if level.rawValue & flag.rawValue != 0 {\n        // Tell the DDLogMessage constructor to copy the C strings that get passed to it.\n        let logMessage = DDLogMessage(message: message(), level: level, flag: flag, context: context, file: String(describing: file), function: String(describing: function), line: line, tag: tag, options: [.copyFile, .copyFunction], timestamp: nil)\n        ddlog.log(asynchronous: asynchronous, message: logMessage)\n    }\n}\n\npublic func DDLogDebug(_ message: @autoclosure () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: Any? = nil, asynchronous async: Bool = true, ddlog: DDLog = DDLog.sharedInstance) {\n    _DDLogMessage(message, level: level, flag: .debug, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog)\n}\n\npublic func DDLogInfo(_ message: @autoclosure () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: Any? = nil, asynchronous async: Bool = true, ddlog: DDLog = DDLog.sharedInstance) {\n    _DDLogMessage(message, level: level, flag: .info, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog)\n}\n\npublic func DDLogWarn(_ message: @autoclosure () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: Any? = nil, asynchronous async: Bool = true, ddlog: DDLog = DDLog.sharedInstance) {\n    _DDLogMessage(message, level: level, flag: .warning, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog)\n}\n\npublic func DDLogVerbose(_ message: @autoclosure () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: Any? = nil, asynchronous async: Bool = true, ddlog: DDLog = DDLog.sharedInstance) {\n    _DDLogMessage(message, level: level, flag: .verbose, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog)\n}\n\npublic func DDLogError(_ message: @autoclosure () -> String, level: DDLogLevel = defaultDebugLevel, context: Int = 0, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, tag: Any? = nil, asynchronous async: Bool = false, ddlog: DDLog = DDLog.sharedInstance) {\n    _DDLogMessage(message, level: level, flag: .error, context: context, file: file, function: function, line: line, tag: tag, asynchronous: async, ddlog: ddlog)\n}\n\n/// Returns a String of the current filename, without full path or extension.\n///\n/// Analogous to the C preprocessor macro `THIS_FILE`.\npublic func CurrentFileName(_ fileName: StaticString = #file) -> String {\n    var str = String(describing: fileName)\n    if let idx = str.range(of: \"/\", options: .backwards)?.upperBound {\n        str = String(str[idx...])\n    }\n    if let idx = str.range(of: \".\", options: .backwards)?.lowerBound {\n        str = String(str[..<idx])\n    }\n    return str\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDASLLogCapture.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDASLLogger.h\"\n\n@protocol DDLogger;\n\n/**\n *  This class provides the ability to capture the ASL (Apple System Logs)\n */\n@interface DDASLLogCapture : NSObject\n\n/**\n *  Start capturing logs\n */\n+ (void)start;\n\n/**\n *  Stop capturing logs\n */\n+ (void)stop;\n\n/**\n *  The current capture level.\n *  @note Default log level: DDLogLevelVerbose (i.e. capture all ASL messages).\n */\n@property (class) DDLogLevel captureLevel;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDASLLogCapture.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDASLLogCapture.h\"\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n#include <asl.h>\n#include <notify.h>\n#include <notify_keys.h>\n#include <sys/time.h>\n\nstatic BOOL _cancel = YES;\nstatic DDLogLevel _captureLevel = DDLogLevelVerbose;\n\n#ifdef __IPHONE_8_0\n    #define DDASL_IOS_PIVOT_VERSION __IPHONE_8_0\n#endif\n#ifdef __MAC_10_10\n    #define DDASL_OSX_PIVOT_VERSION __MAC_10_10\n#endif\n\n@implementation DDASLLogCapture\n\nstatic aslmsg (*dd_asl_next)(aslresponse obj);\nstatic void (*dd_asl_release)(aslresponse obj);\n\n+ (void)initialize\n{\n    #if (defined(DDASL_IOS_PIVOT_VERSION) && __IPHONE_OS_VERSION_MAX_ALLOWED >= DDASL_IOS_PIVOT_VERSION) || (defined(DDASL_OSX_PIVOT_VERSION) && __MAC_OS_X_VERSION_MAX_ALLOWED >= DDASL_OSX_PIVOT_VERSION)\n        #if __IPHONE_OS_VERSION_MIN_REQUIRED < DDASL_IOS_PIVOT_VERSION || __MAC_OS_X_VERSION_MIN_REQUIRED < DDASL_OSX_PIVOT_VERSION\n            #pragma GCC diagnostic push\n            #pragma GCC diagnostic ignored \"-Wdeprecated-declarations\"\n                // Building on falsely advertised SDK, targeting deprecated API\n                dd_asl_next    = &aslresponse_next;\n                dd_asl_release = &aslresponse_free;\n            #pragma GCC diagnostic pop\n        #else\n            // Building on lastest, correct SDK, targeting latest API\n            dd_asl_next    = &asl_next;\n            dd_asl_release = &asl_release;\n        #endif\n    #else\n        // Building on old SDKs, targeting deprecated API\n        dd_asl_next    = &aslresponse_next;\n        dd_asl_release = &aslresponse_free;\n    #endif\n}\n\n+ (void)start {\n    // Ignore subsequent calls\n    if (!_cancel) {\n        return;\n    }\n    \n    _cancel = NO;\n    \n    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {\n        [self captureAslLogs];\n    });\n}\n\n+ (void)stop {\n    _cancel = YES;\n}\n\n+ (DDLogLevel)captureLevel {\n    return _captureLevel;\n}\n\n+ (void)setCaptureLevel:(DDLogLevel)level {\n    _captureLevel = level;\n}\n\n#pragma mark - Private methods\n\n+ (void)configureAslQuery:(aslmsg)query {\n    const char param[] = \"7\";  // ASL_LEVEL_DEBUG, which is everything. We'll rely on regular DDlog log level to filter\n    \n    asl_set_query(query, ASL_KEY_LEVEL, param, ASL_QUERY_OP_LESS_EQUAL | ASL_QUERY_OP_NUMERIC);\n\n    // Don't retrieve logs from our own DDASLLogger\n    asl_set_query(query, kDDASLKeyDDLog, kDDASLDDLogValue, ASL_QUERY_OP_NOT_EQUAL);\n    \n#if !TARGET_OS_IPHONE || TARGET_SIMULATOR\n    int processId = [[NSProcessInfo processInfo] processIdentifier];\n    char pid[16];\n    sprintf(pid, \"%d\", processId);\n    asl_set_query(query, ASL_KEY_PID, pid, ASL_QUERY_OP_EQUAL | ASL_QUERY_OP_NUMERIC);\n#endif\n}\n\n+ (void)aslMessageReceived:(aslmsg)msg {\n    const char* messageCString = asl_get( msg, ASL_KEY_MSG );\n    if ( messageCString == NULL )\n        return;\n\n    int flag;\n    BOOL async;\n\n    const char* levelCString = asl_get(msg, ASL_KEY_LEVEL);\n    switch (levelCString? atoi(levelCString) : 0) {\n        // By default all NSLog's with a ASL_LEVEL_WARNING level\n        case ASL_LEVEL_EMERG    :\n        case ASL_LEVEL_ALERT    :\n        case ASL_LEVEL_CRIT     : flag = DDLogFlagError;    async = NO;  break;\n        case ASL_LEVEL_ERR      : flag = DDLogFlagWarning;  async = YES; break;\n        case ASL_LEVEL_WARNING  : flag = DDLogFlagInfo;     async = YES; break;\n        case ASL_LEVEL_NOTICE   : flag = DDLogFlagDebug;    async = YES; break;\n        case ASL_LEVEL_INFO     :\n        case ASL_LEVEL_DEBUG    :\n        default                 : flag = DDLogFlagVerbose;  async = YES;  break;\n    }\n\n    if (!(_captureLevel & flag)) {\n        return;\n    }\n\n    //  NSString * sender = [NSString stringWithCString:asl_get(msg, ASL_KEY_SENDER) encoding:NSUTF8StringEncoding];\n    NSString *message = @(messageCString);\n\n    const char* secondsCString = asl_get( msg, ASL_KEY_TIME );\n    const char* nanoCString = asl_get( msg, ASL_KEY_TIME_NSEC );\n    NSTimeInterval seconds = secondsCString ? strtod(secondsCString, NULL) : [NSDate timeIntervalSinceReferenceDate] - NSTimeIntervalSince1970;\n    double nanoSeconds = nanoCString? strtod(nanoCString, NULL) : 0;\n    NSTimeInterval totalSeconds = seconds + (nanoSeconds / 1e9);\n\n    NSDate *timeStamp = [NSDate dateWithTimeIntervalSince1970:totalSeconds];\n\n    DDLogMessage *logMessage = [[DDLogMessage alloc]initWithMessage:message\n                                                              level:_captureLevel\n                                                               flag:flag\n                                                            context:0\n                                                               file:@\"DDASLLogCapture\"\n                                                           function:0\n                                                               line:0\n                                                                tag:nil\n                                                            options:0\n                                                          timestamp:timeStamp];\n    \n    [DDLog log:async message:logMessage];\n}\n\n+ (void)captureAslLogs {\n    @autoreleasepool\n    {\n        /*\n           We use ASL_KEY_MSG_ID to see each message once, but there's no\n           obvious way to get the \"next\" ID. To bootstrap the process, we'll\n           search by timestamp until we've seen a message.\n         */\n\n        struct timeval timeval = {\n            .tv_sec = 0\n        };\n        gettimeofday(&timeval, NULL);\n        unsigned long long startTime = timeval.tv_sec;\n        __block unsigned long long lastSeenID = 0;\n\n        /*\n           syslogd posts kNotifyASLDBUpdate (com.apple.system.logger.message)\n           through the notify API when it saves messages to the ASL database.\n           There is some coalescing - currently it is sent at most twice per\n           second - but there is no documented guarantee about this. In any\n           case, there may be multiple messages per notification.\n\n           Notify notifications don't carry any payload, so we need to search\n           for the messages.\n         */\n        int notifyToken = 0;  // Can be used to unregister with notify_cancel().\n        notify_register_dispatch(kNotifyASLDBUpdate, &notifyToken, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^(int token)\n        {\n            // At least one message has been posted; build a search query.\n            @autoreleasepool\n            {\n                aslmsg query = asl_new(ASL_TYPE_QUERY);\n                char stringValue[64];\n\n                if (lastSeenID > 0) {\n                    snprintf(stringValue, sizeof stringValue, \"%llu\", lastSeenID);\n                    asl_set_query(query, ASL_KEY_MSG_ID, stringValue, ASL_QUERY_OP_GREATER | ASL_QUERY_OP_NUMERIC);\n                } else {\n                    snprintf(stringValue, sizeof stringValue, \"%llu\", startTime);\n                    asl_set_query(query, ASL_KEY_TIME, stringValue, ASL_QUERY_OP_GREATER_EQUAL | ASL_QUERY_OP_NUMERIC);\n                }\n\n                [self configureAslQuery:query];\n\n                // Iterate over new messages.\n                aslmsg msg;\n                aslresponse response = asl_search(NULL, query);\n                \n                while ((msg = dd_asl_next(response)))\n                {\n                    [self aslMessageReceived:msg];\n\n                    // Keep track of which messages we've seen.\n                    lastSeenID = atoll(asl_get(msg, ASL_KEY_MSG_ID));\n                }\n                dd_asl_release(response);\n                asl_free(query);\n\n                if (_cancel) {\n                    notify_cancel(token);\n                    return;\n                }\n\n            }\n        });\n    }\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDASLLogger.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import <Foundation/Foundation.h>\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n// Custom key set on messages sent to ASL\nextern const char* const kDDASLKeyDDLog;\n\n// Value set for kDDASLKeyDDLog\nextern const char* const kDDASLDDLogValue;\n\n/**\n * This class provides a logger for the Apple System Log facility.\n *\n * As described in the \"Getting Started\" page,\n * the traditional NSLog() function directs its output to two places:\n *\n * - Apple System Log\n * - StdErr (if stderr is a TTY) so log statements show up in Xcode console\n *\n * To duplicate NSLog() functionality you can simply add this logger and a tty logger.\n * However, if you instead choose to use file logging (for faster performance),\n * you may choose to use a file logger and a tty logger.\n **/\n@interface DDASLLogger : DDAbstractLogger <DDLogger>\n\n/**\n *  Singleton method\n *\n *  @return the shared instance\n */\n@property (class, readonly, strong) DDASLLogger *sharedInstance;\n\n// Inherited from DDAbstractLogger\n\n// - (id <DDLogFormatter>)logFormatter;\n// - (void)setLogFormatter:(id <DDLogFormatter>)formatter;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDASLLogger.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDASLLogger.h\"\n#import <asl.h>\n\n#if !__has_feature(objc_arc)\n#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\nconst char* const kDDASLKeyDDLog = \"DDLog\";\n\nconst char* const kDDASLDDLogValue = \"1\";\n\nstatic DDASLLogger *sharedInstance;\n\n@interface DDASLLogger () {\n    aslclient _client;\n}\n\n@end\n\n\n@implementation DDASLLogger\n\n+ (instancetype)sharedInstance {\n    static dispatch_once_t DDASLLoggerOnceToken;\n\n    dispatch_once(&DDASLLoggerOnceToken, ^{\n        sharedInstance = [[[self class] alloc] init];\n    });\n\n    return sharedInstance;\n}\n\n- (instancetype)init {\n    if (sharedInstance != nil) {\n        return nil;\n    }\n\n    if ((self = [super init])) {\n        // A default asl client is provided for the main thread,\n        // but background threads need to create their own client.\n\n        _client = asl_open(NULL, \"com.apple.console\", 0);\n    }\n\n    return self;\n}\n\n- (void)logMessage:(DDLogMessage *)logMessage {\n    // Skip captured log messages\n    if ([logMessage->_fileName isEqualToString:@\"DDASLLogCapture\"]) {\n        return;\n    }\n\n    NSString * message = _logFormatter ? [_logFormatter formatLogMessage:logMessage] : logMessage->_message;\n\n    if (message) {\n        const char *msg = [message UTF8String];\n\n        size_t aslLogLevel;\n        switch (logMessage->_flag) {\n            // Note: By default ASL will filter anything above level 5 (Notice).\n            // So our mappings shouldn't go above that level.\n            case DDLogFlagError     : aslLogLevel = ASL_LEVEL_CRIT;     break;\n            case DDLogFlagWarning   : aslLogLevel = ASL_LEVEL_ERR;      break;\n            case DDLogFlagInfo      : aslLogLevel = ASL_LEVEL_WARNING;  break; // Regular NSLog's level\n            case DDLogFlagDebug     :\n            case DDLogFlagVerbose   :\n            default                 : aslLogLevel = ASL_LEVEL_NOTICE;   break;\n        }\n\n        static char const *const level_strings[] = { \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\" };\n\n        // NSLog uses the current euid to set the ASL_KEY_READ_UID.\n        uid_t const readUID = geteuid();\n\n        char readUIDString[16];\n#ifndef NS_BLOCK_ASSERTIONS\n        size_t l = snprintf(readUIDString, sizeof(readUIDString), \"%d\", readUID);\n#else\n        snprintf(readUIDString, sizeof(readUIDString), \"%d\", readUID);\n#endif\n\n        NSAssert(l < sizeof(readUIDString),\n                 @\"Formatted euid is too long.\");\n        NSAssert(aslLogLevel < (sizeof(level_strings) / sizeof(level_strings[0])),\n                 @\"Unhandled ASL log level.\");\n\n        aslmsg m = asl_new(ASL_TYPE_MSG);\n        if (m != NULL) {\n            if (asl_set(m, ASL_KEY_LEVEL, level_strings[aslLogLevel]) == 0 &&\n                asl_set(m, ASL_KEY_MSG, msg) == 0 &&\n                asl_set(m, ASL_KEY_READ_UID, readUIDString) == 0 &&\n                asl_set(m, kDDASLKeyDDLog, kDDASLDDLogValue) == 0) {\n                asl_send(_client, m);\n            }\n            asl_free(m);\n        }\n        //TODO handle asl_* failures non-silently?\n    }\n}\n\n- (NSString *)loggerName {\n    return @\"cocoa.lumberjack.aslLogger\";\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n/**\n * This class provides an abstract implementation of a database logger.\n *\n * That is, it provides the base implementation for a database logger to build atop of.\n * All that is needed for a concrete database logger is to extend this class\n * and override the methods in the implementation file that are prefixed with \"db_\".\n **/\n@interface DDAbstractDatabaseLogger : DDAbstractLogger {\n    \n@protected\n    NSUInteger _saveThreshold;\n    NSTimeInterval _saveInterval;\n    NSTimeInterval _maxAge;\n    NSTimeInterval _deleteInterval;\n    BOOL _deleteOnEverySave;\n    \n    BOOL _saveTimerSuspended;\n    NSUInteger _unsavedCount;\n    dispatch_time_t _unsavedTime;\n    dispatch_source_t _saveTimer;\n    dispatch_time_t _lastDeleteTime;\n    dispatch_source_t _deleteTimer;\n}\n\n/**\n * Specifies how often to save the data to disk.\n * Since saving is an expensive operation (disk io) it is not done after every log statement.\n * These properties allow you to configure how/when the logger saves to disk.\n *\n * A save is done when either (whichever happens first):\n *\n * - The number of unsaved log entries reaches saveThreshold\n * - The amount of time since the oldest unsaved log entry was created reaches saveInterval\n *\n * You can optionally disable the saveThreshold by setting it to zero.\n * If you disable the saveThreshold you are entirely dependent on the saveInterval.\n *\n * You can optionally disable the saveInterval by setting it to zero (or a negative value).\n * If you disable the saveInterval you are entirely dependent on the saveThreshold.\n *\n * It's not wise to disable both saveThreshold and saveInterval.\n *\n * The default saveThreshold is 500.\n * The default saveInterval is 60 seconds.\n **/\n@property (assign, readwrite) NSUInteger saveThreshold;\n\n/**\n *  See the description for the `saveThreshold` property\n */\n@property (assign, readwrite) NSTimeInterval saveInterval;\n\n/**\n * It is likely you don't want the log entries to persist forever.\n * Doing so would allow the database to grow infinitely large over time.\n *\n * The maxAge property provides a way to specify how old a log statement can get\n * before it should get deleted from the database.\n *\n * The deleteInterval specifies how often to sweep for old log entries.\n * Since deleting is an expensive operation (disk io) is is done on a fixed interval.\n *\n * An alternative to the deleteInterval is the deleteOnEverySave option.\n * This specifies that old log entries should be deleted during every save operation.\n *\n * You can optionally disable the maxAge by setting it to zero (or a negative value).\n * If you disable the maxAge then old log statements are not deleted.\n *\n * You can optionally disable the deleteInterval by setting it to zero (or a negative value).\n *\n * If you disable both deleteInterval and deleteOnEverySave then old log statements are not deleted.\n *\n * It's not wise to enable both deleteInterval and deleteOnEverySave.\n *\n * The default maxAge is 7 days.\n * The default deleteInterval is 5 minutes.\n * The default deleteOnEverySave is NO.\n **/\n@property (assign, readwrite) NSTimeInterval maxAge;\n\n/**\n *  See the description for the `maxAge` property\n */\n@property (assign, readwrite) NSTimeInterval deleteInterval;\n\n/**\n *  See the description for the `maxAge` property\n */\n@property (assign, readwrite) BOOL deleteOnEverySave;\n\n/**\n * Forces a save of any pending log entries (flushes log entries to disk).\n **/\n- (void)savePendingLogEntries;\n\n/**\n * Removes any log entries that are older than maxAge.\n **/\n- (void)deleteOldLogEntries;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDAbstractDatabaseLogger.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDAbstractDatabaseLogger.h\"\n#import <math.h>\n\n\n#if !__has_feature(objc_arc)\n#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n@interface DDAbstractDatabaseLogger ()\n\n- (void)destroySaveTimer;\n- (void)destroyDeleteTimer;\n\n@end\n\n#pragma mark -\n\n@implementation DDAbstractDatabaseLogger\n\n- (instancetype)init {\n    if ((self = [super init])) {\n        _saveThreshold = 500;\n        _saveInterval = 60;           // 60 seconds\n        _maxAge = (60 * 60 * 24 * 7); //  7 days\n        _deleteInterval = (60 * 5);   //  5 minutes\n    }\n\n    return self;\n}\n\n- (void)dealloc {\n    [self destroySaveTimer];\n    [self destroyDeleteTimer];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Override Me\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)db_log:(DDLogMessage *)logMessage {\n    // Override me and add your implementation.\n    //\n    // Return YES if an item was added to the buffer.\n    // Return NO if the logMessage was ignored.\n\n    return NO;\n}\n\n- (void)db_save {\n    // Override me and add your implementation.\n}\n\n- (void)db_delete {\n    // Override me and add your implementation.\n}\n\n- (void)db_saveAndDelete {\n    // Override me and add your implementation.\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Private API\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)performSaveAndSuspendSaveTimer {\n    if (_unsavedCount > 0) {\n        if (_deleteOnEverySave) {\n            [self db_saveAndDelete];\n        } else {\n            [self db_save];\n        }\n    }\n\n    _unsavedCount = 0;\n    _unsavedTime = 0;\n\n    if (_saveTimer && !_saveTimerSuspended) {\n        dispatch_suspend(_saveTimer);\n        _saveTimerSuspended = YES;\n    }\n}\n\n- (void)performDelete {\n    if (_maxAge > 0.0) {\n        [self db_delete];\n\n        _lastDeleteTime = dispatch_time(DISPATCH_TIME_NOW, 0);\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Timers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)destroySaveTimer {\n    if (_saveTimer) {\n        dispatch_source_cancel(_saveTimer);\n\n        if (_saveTimerSuspended) {\n            // Must resume a timer before releasing it (or it will crash)\n            dispatch_resume(_saveTimer);\n            _saveTimerSuspended = NO;\n        }\n\n        #if !OS_OBJECT_USE_OBJC\n        dispatch_release(_saveTimer);\n        #endif\n        _saveTimer = NULL;\n    }\n}\n\n- (void)updateAndResumeSaveTimer {\n    if ((_saveTimer != NULL) && (_saveInterval > 0.0) && (_unsavedTime > 0.0)) {\n        uint64_t interval = (uint64_t)(_saveInterval * (NSTimeInterval) NSEC_PER_SEC);\n        dispatch_time_t startTime = dispatch_time(_unsavedTime, interval);\n\n        dispatch_source_set_timer(_saveTimer, startTime, interval, 1ull * NSEC_PER_SEC);\n\n        if (_saveTimerSuspended) {\n            dispatch_resume(_saveTimer);\n            _saveTimerSuspended = NO;\n        }\n    }\n}\n\n- (void)createSuspendedSaveTimer {\n    if ((_saveTimer == NULL) && (_saveInterval > 0.0)) {\n        _saveTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, self.loggerQueue);\n\n        dispatch_source_set_event_handler(_saveTimer, ^{ @autoreleasepool {\n                                                            [self performSaveAndSuspendSaveTimer];\n                                                        } });\n\n        _saveTimerSuspended = YES;\n    }\n}\n\n- (void)destroyDeleteTimer {\n    if (_deleteTimer) {\n        dispatch_source_cancel(_deleteTimer);\n        #if !OS_OBJECT_USE_OBJC\n        dispatch_release(_deleteTimer);\n        #endif\n        _deleteTimer = NULL;\n    }\n}\n\n- (void)updateDeleteTimer {\n    if ((_deleteTimer != NULL) && (_deleteInterval > 0.0) && (_maxAge > 0.0)) {\n        uint64_t interval = (uint64_t)(_deleteInterval * (NSTimeInterval) NSEC_PER_SEC);\n        dispatch_time_t startTime;\n\n        if (_lastDeleteTime > 0) {\n            startTime = dispatch_time(_lastDeleteTime, interval);\n        } else {\n            startTime = dispatch_time(DISPATCH_TIME_NOW, interval);\n        }\n\n        dispatch_source_set_timer(_deleteTimer, startTime, interval, 1ull * NSEC_PER_SEC);\n    }\n}\n\n- (void)createAndStartDeleteTimer {\n    if ((_deleteTimer == NULL) && (_deleteInterval > 0.0) && (_maxAge > 0.0)) {\n        _deleteTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, self.loggerQueue);\n\n        if (_deleteTimer != NULL) {\n            dispatch_source_set_event_handler(_deleteTimer, ^{ @autoreleasepool {\n                                                                  [self performDelete];\n                                                              } });\n\n            [self updateDeleteTimer];\n\n            if (_deleteTimer != NULL) {\n                dispatch_resume(_deleteTimer);\n            }\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSUInteger)saveThreshold {\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    __block NSUInteger result;\n\n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(self.loggerQueue, ^{\n            result = self->_saveThreshold;\n        });\n    });\n\n    return result;\n}\n\n- (void)setSaveThreshold:(NSUInteger)threshold {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            if (self->_saveThreshold != threshold) {\n                self->_saveThreshold = threshold;\n\n                // Since the saveThreshold has changed,\n                // we check to see if the current unsavedCount has surpassed the new threshold.\n                //\n                // If it has, we immediately save the log.\n\n                if ((self->_unsavedCount >= self->_saveThreshold) && (self->_saveThreshold > 0)) {\n                    [self performSaveAndSuspendSaveTimer];\n                }\n            }\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (NSTimeInterval)saveInterval {\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    __block NSTimeInterval result;\n\n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(self.loggerQueue, ^{\n            result = self->_saveInterval;\n        });\n    });\n\n    return result;\n}\n\n- (void)setSaveInterval:(NSTimeInterval)interval {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            // C99 recommended floating point comparison macro\n            // Read: isLessThanOrGreaterThan(floatA, floatB)\n\n            if (/* saveInterval != interval */ islessgreater(self->_saveInterval, interval)) {\n                self->_saveInterval = interval;\n\n                // There are several cases we need to handle here.\n                //\n                // 1. If the saveInterval was previously enabled and it just got disabled,\n                //    then we need to stop the saveTimer. (And we might as well release it.)\n                //\n                // 2. If the saveInterval was previously disabled and it just got enabled,\n                //    then we need to setup the saveTimer. (Plus we might need to do an immediate save.)\n                //\n                // 3. If the saveInterval increased, then we need to reset the timer so that it fires at the later date.\n                //\n                // 4. If the saveInterval decreased, then we need to reset the timer so that it fires at an earlier date.\n                //    (Plus we might need to do an immediate save.)\n\n                if (self->_saveInterval > 0.0) {\n                    if (self->_saveTimer == NULL) {\n                        // Handles #2\n                        //\n                        // Since the saveTimer uses the unsavedTime to calculate it's first fireDate,\n                        // if a save is needed the timer will fire immediately.\n\n                        [self createSuspendedSaveTimer];\n                        [self updateAndResumeSaveTimer];\n                    } else {\n                        // Handles #3\n                        // Handles #4\n                        //\n                        // Since the saveTimer uses the unsavedTime to calculate it's first fireDate,\n                        // if a save is needed the timer will fire immediately.\n\n                        [self updateAndResumeSaveTimer];\n                    }\n                } else if (self->_saveTimer) {\n                    // Handles #1\n\n                    [self destroySaveTimer];\n                }\n            }\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (NSTimeInterval)maxAge {\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    __block NSTimeInterval result;\n\n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(self.loggerQueue, ^{\n            result = self->_maxAge;\n        });\n    });\n\n    return result;\n}\n\n- (void)setMaxAge:(NSTimeInterval)interval {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            // C99 recommended floating point comparison macro\n            // Read: isLessThanOrGreaterThan(floatA, floatB)\n\n            if (/* maxAge != interval */ islessgreater(self->_maxAge, interval)) {\n                NSTimeInterval oldMaxAge = self->_maxAge;\n                NSTimeInterval newMaxAge = interval;\n\n                self->_maxAge = interval;\n\n                // There are several cases we need to handle here.\n                //\n                // 1. If the maxAge was previously enabled and it just got disabled,\n                //    then we need to stop the deleteTimer. (And we might as well release it.)\n                //\n                // 2. If the maxAge was previously disabled and it just got enabled,\n                //    then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.)\n                //\n                // 3. If the maxAge was increased,\n                //    then we don't need to do anything.\n                //\n                // 4. If the maxAge was decreased,\n                //    then we should do an immediate delete.\n\n                BOOL shouldDeleteNow = NO;\n\n                if (oldMaxAge > 0.0) {\n                    if (newMaxAge <= 0.0) {\n                        // Handles #1\n\n                        [self destroyDeleteTimer];\n                    } else if (oldMaxAge > newMaxAge) {\n                        // Handles #4\n                        shouldDeleteNow = YES;\n                    }\n                } else if (newMaxAge > 0.0) {\n                    // Handles #2\n                    shouldDeleteNow = YES;\n                }\n\n                if (shouldDeleteNow) {\n                    [self performDelete];\n\n                    if (self->_deleteTimer) {\n                        [self updateDeleteTimer];\n                    } else {\n                        [self createAndStartDeleteTimer];\n                    }\n                }\n            }\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (NSTimeInterval)deleteInterval {\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    __block NSTimeInterval result;\n\n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(self.loggerQueue, ^{\n            result = self->_deleteInterval;\n        });\n    });\n\n    return result;\n}\n\n- (void)setDeleteInterval:(NSTimeInterval)interval {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            // C99 recommended floating point comparison macro\n            // Read: isLessThanOrGreaterThan(floatA, floatB)\n\n            if (/* deleteInterval != interval */ islessgreater(self->_deleteInterval, interval)) {\n                self->_deleteInterval = interval;\n\n                // There are several cases we need to handle here.\n                //\n                // 1. If the deleteInterval was previously enabled and it just got disabled,\n                //    then we need to stop the deleteTimer. (And we might as well release it.)\n                //\n                // 2. If the deleteInterval was previously disabled and it just got enabled,\n                //    then we need to setup the deleteTimer. (Plus we might need to do an immediate delete.)\n                //\n                // 3. If the deleteInterval increased, then we need to reset the timer so that it fires at the later date.\n                //\n                // 4. If the deleteInterval decreased, then we need to reset the timer so that it fires at an earlier date.\n                //    (Plus we might need to do an immediate delete.)\n\n                if (self->_deleteInterval > 0.0) {\n                    if (self->_deleteTimer == NULL) {\n                        // Handles #2\n                        //\n                        // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate,\n                        // if a delete is needed the timer will fire immediately.\n\n                        [self createAndStartDeleteTimer];\n                    } else {\n                        // Handles #3\n                        // Handles #4\n                        //\n                        // Since the deleteTimer uses the lastDeleteTime to calculate it's first fireDate,\n                        // if a save is needed the timer will fire immediately.\n\n                        [self updateDeleteTimer];\n                    }\n                } else if (self->_deleteTimer) {\n                    // Handles #1\n\n                    [self destroyDeleteTimer];\n                }\n            }\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (BOOL)deleteOnEverySave {\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    __block BOOL result;\n\n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(self.loggerQueue, ^{\n            result = self->_deleteOnEverySave;\n        });\n    });\n\n    return result;\n}\n\n- (void)setDeleteOnEverySave:(BOOL)flag {\n    dispatch_block_t block = ^{\n        self->_deleteOnEverySave = flag;\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Public API\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)savePendingLogEntries {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            [self performSaveAndSuspendSaveTimer];\n        }\n    };\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_async(self.loggerQueue, block);\n    }\n}\n\n- (void)deleteOldLogEntries {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            [self performDelete];\n        }\n    };\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_async(self.loggerQueue, block);\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark DDLogger\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)didAddLogger {\n    // If you override me be sure to invoke [super didAddLogger];\n\n    [self createSuspendedSaveTimer];\n\n    [self createAndStartDeleteTimer];\n}\n\n- (void)willRemoveLogger {\n    // If you override me be sure to invoke [super willRemoveLogger];\n\n    [self performSaveAndSuspendSaveTimer];\n\n    [self destroySaveTimer];\n    [self destroyDeleteTimer];\n}\n\n- (void)logMessage:(DDLogMessage *)logMessage {\n    if ([self db_log:logMessage]) {\n        BOOL firstUnsavedEntry = (++_unsavedCount == 1);\n\n        if ((_unsavedCount >= _saveThreshold) && (_saveThreshold > 0)) {\n            [self performSaveAndSuspendSaveTimer];\n        } else if (firstUnsavedEntry) {\n            _unsavedTime = dispatch_time(DISPATCH_TIME_NOW, 0);\n            [self updateAndResumeSaveTimer];\n        }\n    }\n}\n\n- (void)flush {\n    // This method is invoked by DDLog's flushLog method.\n    //\n    // It is called automatically when the application quits,\n    // or if the developer invokes DDLog's flushLog method prior to crashing or something.\n\n    [self performSaveAndSuspendSaveTimer];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDAssertMacros.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n/**\n * NSAsset replacement that will output a log message even when assertions are disabled.\n **/\n#define DDAssert(condition, frmt, ...)                                                \\\n        if (!(condition)) {                                                           \\\n            NSString *description = [NSString stringWithFormat:frmt, ## __VA_ARGS__]; \\\n            DDLogError(@\"%@\", description);                                           \\\n            NSAssert(NO, description);                                                \\\n        }\n#define DDAssertCondition(condition) DDAssert(condition, @\"Condition not satisfied: %s\", #condition)\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDFileLogger.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n@class DDLogFileInfo;\n\n/**\n * This class provides a logger to write log statements to a file.\n **/\n\n\n// Default configuration and safety/sanity values.\n//\n// maximumFileSize         -> kDDDefaultLogMaxFileSize\n// rollingFrequency        -> kDDDefaultLogRollingFrequency\n// maximumNumberOfLogFiles -> kDDDefaultLogMaxNumLogFiles\n// logFilesDiskQuota       -> kDDDefaultLogFilesDiskQuota\n//\n// You should carefully consider the proper configuration values for your application.\n\nextern unsigned long long const kDDDefaultLogMaxFileSize;\nextern NSTimeInterval     const kDDDefaultLogRollingFrequency;\nextern NSUInteger         const kDDDefaultLogMaxNumLogFiles;\nextern unsigned long long const kDDDefaultLogFilesDiskQuota;\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n *  The LogFileManager protocol is designed to allow you to control all aspects of your log files.\n *\n *  The primary purpose of this is to allow you to do something with the log files after they have been rolled.\n *  Perhaps you want to compress them to save disk space.\n *  Perhaps you want to upload them to an FTP server.\n *  Perhaps you want to run some analytics on the file.\n *\n *  A default LogFileManager is, of course, provided.\n *  The default LogFileManager simply deletes old log files according to the maximumNumberOfLogFiles property.\n *\n *  This protocol provides various methods to fetch the list of log files.\n *\n *  There are two variants: sorted and unsorted.\n *  If sorting is not necessary, the unsorted variant is obviously faster.\n *  The sorted variant will return an array sorted by when the log files were created,\n *  with the most recently created log file at index 0, and the oldest log file at the end of the array.\n *\n *  You can fetch only the log file paths (full path including name), log file names (name only),\n *  or an array of `DDLogFileInfo` objects.\n *  The `DDLogFileInfo` class is documented below, and provides a handy wrapper that\n *  gives you easy access to various file attributes such as the creation date or the file size.\n */\n@protocol DDLogFileManager <NSObject>\n@required\n\n// Public properties\n\n/**\n * The maximum number of archived log files to keep on disk.\n * For example, if this property is set to 3,\n * then the LogFileManager will only keep 3 archived log files (plus the current active log file) on disk.\n * Once the active log file is rolled/archived, then the oldest of the existing 3 rolled/archived log files is deleted.\n *\n * You may optionally disable this option by setting it to zero.\n **/\n@property (readwrite, assign, atomic) NSUInteger maximumNumberOfLogFiles;\n\n/**\n * The maximum space that logs can take. On rolling logfile all old logfiles that exceed logFilesDiskQuota will\n * be deleted.\n *\n * You may optionally disable this option by setting it to zero.\n **/\n@property (readwrite, assign, atomic) unsigned long long logFilesDiskQuota;\n\n// Public methods\n\n/**\n *  Returns the logs directory (path)\n */\n@property (nonatomic, readonly, copy) NSString *logsDirectory;\n\n/**\n * Returns an array of `NSString` objects,\n * each of which is the filePath to an existing log file on disk.\n **/\n@property (nonatomic, readonly, strong) NSArray<NSString *> *unsortedLogFilePaths;\n\n/**\n * Returns an array of `NSString` objects,\n * each of which is the fileName of an existing log file on disk.\n **/\n@property (nonatomic, readonly, strong) NSArray<NSString *> *unsortedLogFileNames;\n\n/**\n * Returns an array of `DDLogFileInfo` objects,\n * each representing an existing log file on disk,\n * and containing important information about the log file such as it's modification date and size.\n **/\n@property (nonatomic, readonly, strong) NSArray<DDLogFileInfo *> *unsortedLogFileInfos;\n\n/**\n * Just like the `unsortedLogFilePaths` method, but sorts the array.\n * The items in the array are sorted by creation date.\n * The first item in the array will be the most recently created log file.\n **/\n@property (nonatomic, readonly, strong) NSArray<NSString *> *sortedLogFilePaths;\n\n/**\n * Just like the `unsortedLogFileNames` method, but sorts the array.\n * The items in the array are sorted by creation date.\n * The first item in the array will be the most recently created log file.\n **/\n@property (nonatomic, readonly, strong) NSArray<NSString *> *sortedLogFileNames;\n\n/**\n * Just like the `unsortedLogFileInfos` method, but sorts the array.\n * The items in the array are sorted by creation date.\n * The first item in the array will be the most recently created log file.\n **/\n@property (nonatomic, readonly, strong) NSArray<DDLogFileInfo *> *sortedLogFileInfos;\n\n// Private methods (only to be used by DDFileLogger)\n\n/**\n * Generates a new unique log file path, and creates the corresponding log file.\n **/\n- (NSString *)createNewLogFile;\n\n@optional\n\n// Notifications from DDFileLogger\n\n/**\n *  Called when a log file was archieved\n */\n- (void)didArchiveLogFile:(NSString *)logFilePath NS_SWIFT_NAME(didArchiveLogFile(atPath:));\n\n/**\n *  Called when the roll action was executed and the log was archieved\n */\n- (void)didRollAndArchiveLogFile:(NSString *)logFilePath NS_SWIFT_NAME(didRollAndArchiveLogFile(atPath:));\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Default log file manager.\n *\n * All log files are placed inside the logsDirectory.\n * If a specific logsDirectory isn't specified, the default directory is used.\n * On Mac, this is in `~/Library/Logs/<Application Name>`.\n * On iPhone, this is in `~/Library/Caches/Logs`.\n *\n * Log files are named `\"<bundle identifier> <date> <time>.log\"`\n * Example: `com.organization.myapp 2013-12-03 17-14.log`\n *\n * Archived log files are automatically deleted according to the `maximumNumberOfLogFiles` property.\n **/\n@interface DDLogFileManagerDefault : NSObject <DDLogFileManager>\n\n/**\n *  Default initializer\n */\n- (instancetype)init;\n\n/**\n *  Designated initialized, requires the logs directory\n */\n- (instancetype)initWithLogsDirectory:(NSString *)logsDirectory NS_DESIGNATED_INITIALIZER;\n\n#if TARGET_OS_IPHONE\n/*\n * Calling this constructor you can override the default \"automagically\" chosen NSFileProtection level.\n * Useful if you are writing a command line utility / CydiaSubstrate addon for iOS that has no NSBundle\n * or like SpringBoard no BackgroundModes key in the NSBundle:\n *    iPhone:~ root# cycript -p SpringBoard\n *    cy# [NSBundle mainBundle]\n *    #\"NSBundle </System/Library/CoreServices/SpringBoard.app> (loaded)\"\n *    cy# [[NSBundle mainBundle] objectForInfoDictionaryKey:@\"UIBackgroundModes\"];\n *    null\n *    cy#\n **/\n- (instancetype)initWithLogsDirectory:(NSString *)logsDirectory defaultFileProtectionLevel:(NSFileProtectionType)fileProtectionLevel;\n#endif\n\n/*\n * Methods to override.\n *\n * Log files are named `\"<bundle identifier> <date> <time>.log\"`\n * Example: `com.organization.myapp 2013-12-03 17-14.log`\n *\n * If you wish to change default filename, you can override following two methods.\n * - `newLogFileName` method would be called on new logfile creation.\n * - `isLogFile:` method would be called to filter logfiles from all other files in logsDirectory.\n *   You have to parse given filename and return YES if it is logFile.\n *\n * **NOTE**\n * `newLogFileName` returns filename. If appropriate file already exists, number would be added\n * to filename before extension. You have to handle this case in isLogFile: method.\n *\n * Example:\n * - newLogFileName returns `\"com.organization.myapp 2013-12-03.log\"`,\n *   file `\"com.organization.myapp 2013-12-03.log\"` would be created.\n * - after some time `\"com.organization.myapp 2013-12-03.log\"` is archived\n * - newLogFileName again returns `\"com.organization.myapp 2013-12-03.log\"`,\n *   file `\"com.organization.myapp 2013-12-03 2.log\"` would be created.\n * - after some time `\"com.organization.myapp 2013-12-03 1.log\"` is archived\n * - newLogFileName again returns `\"com.organization.myapp 2013-12-03.log\"`,\n *   file `\"com.organization.myapp 2013-12-03 3.log\"` would be created.\n **/\n\n/**\n * Generates log file name with default format `\"<bundle identifier> <date> <time>.log\"`\n * Example: `MobileSafari 2013-12-03 17-14.log`\n *\n * You can change it by overriding `newLogFileName` and `isLogFile:` methods.\n **/\n@property (readonly, copy) NSString *newLogFileName;\n\n/**\n * Default log file name is `\"<bundle identifier> <date> <time>.log\"`.\n * Example: `MobileSafari 2013-12-03 17-14.log`\n *\n * You can change it by overriding `newLogFileName` and `isLogFile:` methods.\n **/\n- (BOOL)isLogFile:(NSString *)fileName NS_SWIFT_NAME(isLogFile(withName:));\n\n/* Inherited from DDLogFileManager protocol:\n\n   @property (readwrite, assign, atomic) NSUInteger maximumNumberOfLogFiles;\n   @property (readwrite, assign, atomic) NSUInteger logFilesDiskQuota;\n\n   - (NSString *)logsDirectory;\n\n   - (NSArray *)unsortedLogFilePaths;\n   - (NSArray *)unsortedLogFileNames;\n   - (NSArray *)unsortedLogFileInfos;\n\n   - (NSArray *)sortedLogFilePaths;\n   - (NSArray *)sortedLogFileNames;\n   - (NSArray *)sortedLogFileInfos;\n\n */\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Most users will want file log messages to be prepended with the date and time.\n * Rather than forcing the majority of users to write their own formatter,\n * we will supply a logical default formatter.\n * Users can easily replace this formatter with their own by invoking the `setLogFormatter:` method.\n * It can also be removed by calling `setLogFormatter:`, and passing a nil parameter.\n *\n * In addition to the convenience of having a logical default formatter,\n * it will also provide a template that makes it easy for developers to copy and change.\n **/\n@interface DDLogFileFormatterDefault : NSObject <DDLogFormatter>\n\n/**\n *  Default initializer\n */\n- (instancetype)init;\n\n/**\n *  Designated initializer, requires a date formatter\n */\n- (instancetype)initWithDateFormatter:(NSDateFormatter *)dateFormatter NS_DESIGNATED_INITIALIZER;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n *  The standard implementation for a file logger\n */\n@interface DDFileLogger : DDAbstractLogger <DDLogger> {\n\tDDLogFileInfo *_currentLogFileInfo;\n}\n\n/**\n *  Default initializer\n */\n- (instancetype)init;\n\n/**\n *  Designated initializer, requires a `DDLogFileManager` instance\n */\n- (instancetype)initWithLogFileManager:(id <DDLogFileManager>)logFileManager NS_DESIGNATED_INITIALIZER;\n\n/**\n *  Called when the logger is about to write message. Call super before your implementation.\n */\n- (void)willLogMessage NS_REQUIRES_SUPER;\n\n/**\n *  Called when the logger wrote message. Call super after your implementation.\n */\n- (void)didLogMessage NS_REQUIRES_SUPER;\n\n/**\n *  Writes all in-memory log data to the permanent storage. Call super before your implementation.\n */\n- (void)flush NS_REQUIRES_SUPER;\n\n/**\n *  Called when the logger checks archive or not current log file. \n *  Override this method to exdend standart behavior. By default returns NO.\n */\n- (BOOL)shouldArchiveRecentLogFileInfo:(DDLogFileInfo *)recentLogFileInfo;\n\n/**\n * Log File Rolling:\n *\n * `maximumFileSize`:\n *   The approximate maximum size (in bytes) to allow log files to grow.\n *   If a log file is larger than this value after a log statement is appended,\n *   then the log file is rolled.\n *\n * `rollingFrequency`\n *   How often to roll the log file.\n *   The frequency is given as an `NSTimeInterval`, which is a double that specifies the interval in seconds.\n *   Once the log file gets to be this old, it is rolled.\n *\n * `doNotReuseLogFiles`\n *   When set, will always create a new log file at application launch.\n *\n * Both the `maximumFileSize` and the `rollingFrequency` are used to manage rolling.\n * Whichever occurs first will cause the log file to be rolled.\n *\n * For example:\n * The `rollingFrequency` is 24 hours,\n * but the log file surpasses the `maximumFileSize` after only 20 hours.\n * The log file will be rolled at that 20 hour mark.\n * A new log file will be created, and the 24 hour timer will be restarted.\n *\n * You may optionally disable rolling due to filesize by setting `maximumFileSize` to zero.\n * If you do so, rolling is based solely on `rollingFrequency`.\n *\n * You may optionally disable rolling due to time by setting `rollingFrequency` to zero (or any non-positive number).\n * If you do so, rolling is based solely on `maximumFileSize`.\n *\n * If you disable both `maximumFileSize` and `rollingFrequency`, then the log file won't ever be rolled.\n * This is strongly discouraged.\n **/\n@property (readwrite, assign) unsigned long long maximumFileSize;\n\n/**\n *  See description for `maximumFileSize`\n */\n@property (readwrite, assign) NSTimeInterval rollingFrequency;\n\n/**\n *  See description for `maximumFileSize`\n */\n@property (readwrite, assign, atomic) BOOL doNotReuseLogFiles;\n\n/**\n * The DDLogFileManager instance can be used to retrieve the list of log files,\n * and configure the maximum number of archived log files to keep.\n *\n * @see DDLogFileManager.maximumNumberOfLogFiles\n **/\n@property (strong, nonatomic, readonly) id <DDLogFileManager> logFileManager;\n\n/**\n * When using a custom formatter you can set the `logMessage` method not to append\n * `\\n` character after each output. This allows for some greater flexibility with\n * custom formatters. Default value is YES.\n **/\n@property (nonatomic, readwrite, assign) BOOL automaticallyAppendNewlineForCustomFormatters;\n\n/**\n *  You can optionally force the current log file to be rolled with this method.\n *  CompletionBlock will be called on main queue.\n */\n- (void)rollLogFileWithCompletionBlock:(void (^)(void))completionBlock NS_SWIFT_NAME(rollLogFile(withCompletion:));\n\n/**\n *  Method is deprecated.\n *  @deprecated Use `rollLogFileWithCompletionBlock:` method instead.\n */\n- (void)rollLogFile __attribute((deprecated));\n\n// Inherited from DDAbstractLogger\n\n// - (id <DDLogFormatter>)logFormatter;\n// - (void)setLogFormatter:(id <DDLogFormatter>)formatter;\n\n/**\n * Returns the log file that should be used.\n * If there is an existing log file that is suitable,\n * within the constraints of `maximumFileSize` and `rollingFrequency`, then it is returned.\n *\n * Otherwise a new file is created and returned.\n **/\n@property (nonatomic, readonly, strong) DDLogFileInfo *currentLogFileInfo;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * `DDLogFileInfo` is a simple class that provides access to various file attributes.\n * It provides good performance as it only fetches the information if requested,\n * and it caches the information to prevent duplicate fetches.\n *\n * It was designed to provide quick snapshots of the current state of log files,\n * and to help sort log files in an array.\n *\n * This class does not monitor the files, or update it's cached attribute values if the file changes on disk.\n * This is not what the class was designed for.\n *\n * If you absolutely must get updated values,\n * you can invoke the reset method which will clear the cache.\n **/\n@interface DDLogFileInfo : NSObject\n\n@property (strong, nonatomic, readonly) NSString *filePath;\n@property (strong, nonatomic, readonly) NSString *fileName;\n\n#if FOUNDATION_SWIFT_SDK_EPOCH_AT_LEAST(8)\n@property (strong, nonatomic, readonly) NSDictionary<NSFileAttributeKey, id> *fileAttributes;\n#else\n@property (strong, nonatomic, readonly) NSDictionary<NSString *, id> *fileAttributes;\n#endif\n\n@property (strong, nonatomic, readonly) NSDate *creationDate;\n@property (strong, nonatomic, readonly) NSDate *modificationDate;\n\n@property (nonatomic, readonly) unsigned long long fileSize;\n\n@property (nonatomic, readonly) NSTimeInterval age;\n\n@property (nonatomic, readwrite) BOOL isArchived;\n\n+ (instancetype)logFileWithPath:(NSString *)filePath NS_SWIFT_UNAVAILABLE(\"Use init(filePath:)\");\n\n- (instancetype)init NS_UNAVAILABLE;\n- (instancetype)initWithFilePath:(NSString *)filePath NS_DESIGNATED_INITIALIZER;\n\n- (void)reset;\n- (void)renameFile:(NSString *)newFileName NS_SWIFT_NAME(renameFile(to:));\n\n#if TARGET_IPHONE_SIMULATOR\n\n// So here's the situation.\n// Extended attributes are perfect for what we're trying to do here (marking files as archived).\n// This is exactly what extended attributes were designed for.\n//\n// But Apple screws us over on the simulator.\n// Everytime you build-and-go, they copy the application into a new folder on the hard drive,\n// and as part of the process they strip extended attributes from our log files.\n// Normally, a copy of a file preserves extended attributes.\n// So obviously Apple has gone to great lengths to piss us off.\n//\n// Thus we use a slightly different tactic for marking log files as archived in the simulator.\n// That way it \"just works\" and there's no confusion when testing.\n//\n// The difference in method names is indicative of the difference in functionality.\n// On the simulator we add an attribute by appending a filename extension.\n//\n// For example:\n// \"mylog.txt\" -> \"mylog.archived.txt\"\n// \"mylog\"     -> \"mylog.archived\"\n\n- (BOOL)hasExtensionAttributeWithName:(NSString *)attrName;\n\n- (void)addExtensionAttributeWithName:(NSString *)attrName;\n- (void)removeExtensionAttributeWithName:(NSString *)attrName;\n\n#else /* if TARGET_IPHONE_SIMULATOR */\n\n// Normal use of extended attributes used everywhere else,\n// such as on Macs and on iPhone devices.\n\n- (BOOL)hasExtendedAttributeWithName:(NSString *)attrName;\n\n- (void)addExtendedAttributeWithName:(NSString *)attrName;\n- (void)removeExtendedAttributeWithName:(NSString *)attrName;\n\n#endif /* if TARGET_IPHONE_SIMULATOR */\n\n- (NSComparisonResult)reverseCompareByCreationDate:(DDLogFileInfo *)another;\n- (NSComparisonResult)reverseCompareByModificationDate:(DDLogFileInfo *)another;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDFileLogger.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDFileLogger.h\"\n\n#import <unistd.h>\n#import <sys/attr.h>\n#import <sys/xattr.h>\n#import <libkern/OSAtomic.h>\n\n#if !__has_feature(objc_arc)\n#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// We probably shouldn't be using DDLog() statements within the DDLog implementation.\n// But we still want to leave our log statements for any future debugging,\n// and to allow other developers to trace the implementation (which is a great learning tool).\n//\n// So we use primitive logging macros around NSLog.\n// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog.\n\n#ifndef DD_NSLOG_LEVEL\n    #define DD_NSLOG_LEVEL 2\n#endif\n\n#define NSLogError(frmt, ...)    do{ if(DD_NSLOG_LEVEL >= 1) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogWarn(frmt, ...)     do{ if(DD_NSLOG_LEVEL >= 2) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogInfo(frmt, ...)     do{ if(DD_NSLOG_LEVEL >= 3) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogDebug(frmt, ...)    do{ if(DD_NSLOG_LEVEL >= 4) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogVerbose(frmt, ...)  do{ if(DD_NSLOG_LEVEL >= 5) NSLog((frmt), ##__VA_ARGS__); } while(0)\n\n\n#if TARGET_OS_IPHONE\nBOOL doesAppRunInBackground(void);\n#endif\n\nunsigned long long const kDDDefaultLogMaxFileSize      = 1024 * 1024;      // 1 MB\nNSTimeInterval     const kDDDefaultLogRollingFrequency = 60 * 60 * 24;     // 24 Hours\nNSUInteger         const kDDDefaultLogMaxNumLogFiles   = 5;                // 5 Files\nunsigned long long const kDDDefaultLogFilesDiskQuota   = 20 * 1024 * 1024; // 20 MB\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDLogFileManagerDefault () {\n    NSUInteger _maximumNumberOfLogFiles;\n    unsigned long long _logFilesDiskQuota;\n    NSString *_logsDirectory;\n#if TARGET_OS_IPHONE\n    NSFileProtectionType _defaultFileProtectionLevel;\n#endif\n}\n\n- (void)deleteOldLogFiles;\n- (NSString *)defaultLogsDirectory;\n\n@end\n\n@implementation DDLogFileManagerDefault\n\n@synthesize maximumNumberOfLogFiles = _maximumNumberOfLogFiles;\n@synthesize logFilesDiskQuota = _logFilesDiskQuota;\n\n\n- (instancetype)init {\n    return [self initWithLogsDirectory:nil];\n}\n\n- (instancetype)initWithLogsDirectory:(NSString *)aLogsDirectory {\n    if ((self = [super init])) {\n        _maximumNumberOfLogFiles = kDDDefaultLogMaxNumLogFiles;\n        _logFilesDiskQuota = kDDDefaultLogFilesDiskQuota;\n\n        if (aLogsDirectory) {\n            _logsDirectory = [aLogsDirectory copy];\n        } else {\n            _logsDirectory = [[self defaultLogsDirectory] copy];\n        }\n\n        NSKeyValueObservingOptions kvoOptions = NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew;\n\n        [self addObserver:self forKeyPath:NSStringFromSelector(@selector(maximumNumberOfLogFiles)) options:kvoOptions context:nil];\n        [self addObserver:self forKeyPath:NSStringFromSelector(@selector(logFilesDiskQuota)) options:kvoOptions context:nil];\n\n        NSLogVerbose(@\"DDFileLogManagerDefault: logsDirectory:\\n%@\", [self logsDirectory]);\n        NSLogVerbose(@\"DDFileLogManagerDefault: sortedLogFileNames:\\n%@\", [self sortedLogFileNames]);\n    }\n\n    return self;\n}\n\n+ (BOOL)automaticallyNotifiesObserversForKey:(NSString *)theKey\n{\n    BOOL automatic = NO;\n    if ([theKey isEqualToString:@\"maximumNumberOfLogFiles\"] || [theKey isEqualToString:@\"logFilesDiskQuota\"]) {\n        automatic = NO;\n    } else {\n        automatic = [super automaticallyNotifiesObserversForKey:theKey];\n    }\n    \n    return automatic;\n}\n\n#if TARGET_OS_IPHONE\n- (instancetype)initWithLogsDirectory:(NSString *)logsDirectory defaultFileProtectionLevel:(NSFileProtectionType)fileProtectionLevel {\n    if ((self = [self initWithLogsDirectory:logsDirectory])) {\n        if ([fileProtectionLevel isEqualToString:NSFileProtectionNone] ||\n            [fileProtectionLevel isEqualToString:NSFileProtectionComplete] ||\n            [fileProtectionLevel isEqualToString:NSFileProtectionCompleteUnlessOpen] ||\n            [fileProtectionLevel isEqualToString:NSFileProtectionCompleteUntilFirstUserAuthentication]) {\n            _defaultFileProtectionLevel = fileProtectionLevel;\n        }\n    }\n\n    return self;\n}\n\n#endif\n\n- (void)dealloc {\n    // try-catch because the observer might be removed or never added. In this case, removeObserver throws and exception\n    @try {\n        [self removeObserver:self forKeyPath:NSStringFromSelector(@selector(maximumNumberOfLogFiles))];\n        [self removeObserver:self forKeyPath:NSStringFromSelector(@selector(logFilesDiskQuota))];\n    } @catch (NSException *exception) {\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)observeValueForKeyPath:(NSString *)keyPath\n                      ofObject:(id)object\n                        change:(NSDictionary *)change\n                       context:(void *)context {\n    NSNumber *old = change[NSKeyValueChangeOldKey];\n    NSNumber *new = change[NSKeyValueChangeNewKey];\n\n    if ([old isEqual:new]) {\n        // No change in value - don't bother with any processing.\n        return;\n    }\n\n    if ([keyPath isEqualToString:NSStringFromSelector(@selector(maximumNumberOfLogFiles))] ||\n        [keyPath isEqualToString:NSStringFromSelector(@selector(logFilesDiskQuota))]) {\n        NSLogInfo(@\"DDFileLogManagerDefault: Responding to configuration change: %@\", keyPath);\n\n        dispatch_async([DDLog loggingQueue], ^{ @autoreleasepool {\n                                                    [self deleteOldLogFiles];\n                                                } });\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark File Deleting\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Deletes archived log files that exceed the maximumNumberOfLogFiles or logFilesDiskQuota configuration values.\n **/\n- (void)deleteOldLogFiles {\n    NSLogVerbose(@\"DDLogFileManagerDefault: deleteOldLogFiles\");\n\n    NSArray *sortedLogFileInfos = [self sortedLogFileInfos];\n\n    NSUInteger firstIndexToDelete = NSNotFound;\n\n    const unsigned long long diskQuota = self.logFilesDiskQuota;\n    const NSUInteger maxNumLogFiles = self.maximumNumberOfLogFiles;\n\n    if (diskQuota) {\n        unsigned long long used = 0;\n\n        for (NSUInteger i = 0; i < sortedLogFileInfos.count; i++) {\n            DDLogFileInfo *info = sortedLogFileInfos[i];\n            used += info.fileSize;\n\n            if (used > diskQuota) {\n                firstIndexToDelete = i;\n                break;\n            }\n        }\n    }\n\n    if (maxNumLogFiles) {\n        if (firstIndexToDelete == NSNotFound) {\n            firstIndexToDelete = maxNumLogFiles;\n        } else {\n            firstIndexToDelete = MIN(firstIndexToDelete, maxNumLogFiles);\n        }\n    }\n\n    if (firstIndexToDelete == 0) {\n        // Do we consider the first file?\n        // We are only supposed to be deleting archived files.\n        // In most cases, the first file is likely the log file that is currently being written to.\n        // So in most cases, we do not want to consider this file for deletion.\n\n        if (sortedLogFileInfos.count > 0) {\n            DDLogFileInfo *logFileInfo = sortedLogFileInfos[0];\n\n            if (!logFileInfo.isArchived) {\n                // Don't delete active file.\n                ++firstIndexToDelete;\n            }\n        }\n    }\n\n    if (firstIndexToDelete != NSNotFound) {\n        // removing all logfiles starting with firstIndexToDelete\n\n        for (NSUInteger i = firstIndexToDelete; i < sortedLogFileInfos.count; i++) {\n            DDLogFileInfo *logFileInfo = sortedLogFileInfos[i];\n\n            NSLogInfo(@\"DDLogFileManagerDefault: Deleting file: %@\", logFileInfo.fileName);\n\n            [[NSFileManager defaultManager] removeItemAtPath:logFileInfo.filePath error:nil];\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Log Files\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the path to the default logs directory.\n * If the logs directory doesn't exist, this method automatically creates it.\n **/\n- (NSString *)defaultLogsDirectory {\n#if TARGET_OS_IPHONE\n    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);\n    NSString *baseDir = paths.firstObject;\n    NSString *logsDirectory = [baseDir stringByAppendingPathComponent:@\"Logs\"];\n\n#else\n    NSString *appName = [[NSProcessInfo processInfo] processName];\n    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);\n    NSString *basePath = ([paths count] > 0) ? paths[0] : NSTemporaryDirectory();\n    NSString *logsDirectory = [[basePath stringByAppendingPathComponent:@\"Logs\"] stringByAppendingPathComponent:appName];\n\n#endif\n\n    return logsDirectory;\n}\n\n- (NSString *)logsDirectory {\n    // We could do this check once, during initalization, and not bother again.\n    // But this way the code continues to work if the directory gets deleted while the code is running.\n\n    if (![[NSFileManager defaultManager] fileExistsAtPath:_logsDirectory]) {\n        NSError *err = nil;\n\n        if (![[NSFileManager defaultManager] createDirectoryAtPath:_logsDirectory\n                                       withIntermediateDirectories:YES\n                                                        attributes:nil\n                                                             error:&err]) {\n            NSLogError(@\"DDFileLogManagerDefault: Error creating logsDirectory: %@\", err);\n        }\n    }\n\n    return _logsDirectory;\n}\n\n- (BOOL)isLogFile:(NSString *)fileName {\n    NSString *appName = [self applicationName];\n\n    // We need to add a space to the name as otherwise we could match applications that have the name prefix.\n    BOOL hasProperPrefix = [fileName hasPrefix:[appName stringByAppendingString:@\" \"]];\n    BOOL hasProperSuffix = [fileName hasSuffix:@\".log\"];\n    \n    return (hasProperPrefix && hasProperSuffix);\n}\n\n// if you change formatter, then change sortedLogFileInfos method also accordingly\n- (NSDateFormatter *)logFileDateFormatter {\n    NSMutableDictionary *dictionary = [[NSThread currentThread]\n                                       threadDictionary];\n    NSString *dateFormat = @\"yyyy'-'MM'-'dd'--'HH'-'mm'-'ss'-'SSS'\";\n    NSString *key = [NSString stringWithFormat:@\"logFileDateFormatter.%@\", dateFormat];\n    NSDateFormatter *dateFormatter = dictionary[key];\n\n    if (dateFormatter == nil) {\n        dateFormatter = [[NSDateFormatter alloc] init];\n        [dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@\"en_US_POSIX\"]];\n        [dateFormatter setDateFormat:dateFormat];\n        [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];\n        dictionary[key] = dateFormatter;\n    }\n\n    return dateFormatter;\n}\n\n- (NSArray *)unsortedLogFilePaths {\n    NSString *logsDirectory = [self logsDirectory];\n    NSArray *fileNames = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:logsDirectory error:nil];\n\n    NSMutableArray *unsortedLogFilePaths = [NSMutableArray arrayWithCapacity:[fileNames count]];\n\n    for (NSString *fileName in fileNames) {\n        // Filter out any files that aren't log files. (Just for extra safety)\n\n    #if TARGET_IPHONE_SIMULATOR\n        // In case of iPhone simulator there can be 'archived' extension. isLogFile:\n        // method knows nothing about it. Thus removing it for this method.\n        //\n        // See full explanation in the header file.\n        NSString *theFileName = [fileName stringByReplacingOccurrencesOfString:@\".archived\"\n                                                                    withString:@\"\"];\n\n        if ([self isLogFile:theFileName])\n    #else\n\n        if ([self isLogFile:fileName])\n    #endif\n        {\n            NSString *filePath = [logsDirectory stringByAppendingPathComponent:fileName];\n\n            [unsortedLogFilePaths addObject:filePath];\n        }\n    }\n\n    return unsortedLogFilePaths;\n}\n\n- (NSArray *)unsortedLogFileNames {\n    NSArray *unsortedLogFilePaths = [self unsortedLogFilePaths];\n\n    NSMutableArray *unsortedLogFileNames = [NSMutableArray arrayWithCapacity:[unsortedLogFilePaths count]];\n\n    for (NSString *filePath in unsortedLogFilePaths) {\n        [unsortedLogFileNames addObject:[filePath lastPathComponent]];\n    }\n\n    return unsortedLogFileNames;\n}\n\n- (NSArray *)unsortedLogFileInfos {\n    NSArray *unsortedLogFilePaths = [self unsortedLogFilePaths];\n\n    NSMutableArray *unsortedLogFileInfos = [NSMutableArray arrayWithCapacity:[unsortedLogFilePaths count]];\n\n    for (NSString *filePath in unsortedLogFilePaths) {\n        DDLogFileInfo *logFileInfo = [[DDLogFileInfo alloc] initWithFilePath:filePath];\n\n        [unsortedLogFileInfos addObject:logFileInfo];\n    }\n\n    return unsortedLogFileInfos;\n}\n\n- (NSArray *)sortedLogFilePaths {\n    NSArray *sortedLogFileInfos = [self sortedLogFileInfos];\n\n    NSMutableArray *sortedLogFilePaths = [NSMutableArray arrayWithCapacity:[sortedLogFileInfos count]];\n\n    for (DDLogFileInfo *logFileInfo in sortedLogFileInfos) {\n        [sortedLogFilePaths addObject:[logFileInfo filePath]];\n    }\n\n    return sortedLogFilePaths;\n}\n\n- (NSArray *)sortedLogFileNames {\n    NSArray *sortedLogFileInfos = [self sortedLogFileInfos];\n\n    NSMutableArray *sortedLogFileNames = [NSMutableArray arrayWithCapacity:[sortedLogFileInfos count]];\n\n    for (DDLogFileInfo *logFileInfo in sortedLogFileInfos) {\n        [sortedLogFileNames addObject:[logFileInfo fileName]];\n    }\n\n    return sortedLogFileNames;\n}\n\n- (NSArray *)sortedLogFileInfos {\n    return  [[self unsortedLogFileInfos] sortedArrayUsingComparator:^NSComparisonResult(DDLogFileInfo   * _Nonnull obj1, DDLogFileInfo   * _Nonnull obj2) {\n        NSDate *date1 = [NSDate new];\n        NSDate *date2 = [NSDate new];\n\n        NSArray<NSString *> *arrayComponent = [[obj1 fileName] componentsSeparatedByString:@\" \"];\n        if (arrayComponent.count > 0) {\n            NSString *stringDate = arrayComponent.lastObject;\n            stringDate = [stringDate stringByReplacingOccurrencesOfString:@\".log\" withString:@\"\"];\n            stringDate = [stringDate stringByReplacingOccurrencesOfString:@\".archived\" withString:@\"\"];\n            date1 = [[self logFileDateFormatter] dateFromString:stringDate] ?: [obj1 creationDate];\n        }\n        \n        arrayComponent = [[obj2 fileName] componentsSeparatedByString:@\" \"];\n        if (arrayComponent.count > 0) {\n            NSString *stringDate = arrayComponent.lastObject;\n            stringDate = [stringDate stringByReplacingOccurrencesOfString:@\".log\" withString:@\"\"];\n            stringDate = [stringDate stringByReplacingOccurrencesOfString:@\".archived\" withString:@\"\"];\n            date2 = [[self logFileDateFormatter] dateFromString:stringDate] ?: [obj2 creationDate];\n        }\n        \n        return [date2 compare:date1 ?: [NSDate new]];\n    }];\n\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Creation\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//if you change newLogFileName , then  change isLogFile method also accordingly\n- (NSString *)newLogFileName {\n    NSString *appName = [self applicationName];\n\n    NSDateFormatter *dateFormatter = [self logFileDateFormatter];\n    NSString *formattedDate = [dateFormatter stringFromDate:[NSDate date]];\n\n    return [NSString stringWithFormat:@\"%@ %@.log\", appName, formattedDate];\n}\n\n- (NSString *)createNewLogFile {\n    NSString *fileName = [self newLogFileName];\n    NSString *logsDirectory = [self logsDirectory];\n\n    NSUInteger attempt = 1;\n\n    do {\n        NSString *actualFileName = fileName;\n\n        if (attempt > 1) {\n            NSString *extension = [actualFileName pathExtension];\n\n            actualFileName = [actualFileName stringByDeletingPathExtension];\n            actualFileName = [actualFileName stringByAppendingFormat:@\" %lu\", (unsigned long)attempt];\n\n            if (extension.length) {\n                actualFileName = [actualFileName stringByAppendingPathExtension:extension];\n            }\n        }\n\n        NSString *filePath = [logsDirectory stringByAppendingPathComponent:actualFileName];\n\n        if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {\n            NSLogVerbose(@\"DDLogFileManagerDefault: Creating new log file: %@\", actualFileName);\n\n            NSDictionary *attributes = nil;\n\n        #if TARGET_OS_IPHONE\n            // When creating log file on iOS we're setting NSFileProtectionKey attribute to NSFileProtectionCompleteUnlessOpen.\n            //\n            // But in case if app is able to launch from background we need to have an ability to open log file any time we\n            // want (even if device is locked). Thats why that attribute have to be changed to\n            // NSFileProtectionCompleteUntilFirstUserAuthentication.\n\n            NSFileProtectionType key = _defaultFileProtectionLevel ? :\n                (doesAppRunInBackground() ? NSFileProtectionCompleteUntilFirstUserAuthentication : NSFileProtectionCompleteUnlessOpen);\n\n            attributes = @{\n                NSFileProtectionKey: key\n            };\n        #endif\n\n            [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:attributes];\n\n            // Since we just created a new log file, we may need to delete some old log files\n            [self deleteOldLogFiles];\n\n            return filePath;\n        } else {\n            attempt++;\n        }\n    } while (YES);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Utility\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSString *)applicationName {\n    static NSString *_appName;\n    static dispatch_once_t onceToken;\n\n    dispatch_once(&onceToken, ^{\n        _appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@\"CFBundleIdentifier\"];\n\n        if (!_appName) {\n            _appName = [[NSProcessInfo processInfo] processName];\n        }\n\n        if (!_appName) {\n            _appName = @\"\";\n        }\n    });\n\n    return _appName;\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDLogFileFormatterDefault () {\n    NSDateFormatter *_dateFormatter;\n}\n\n@end\n\n@implementation DDLogFileFormatterDefault\n\n- (instancetype)init {\n    return [self initWithDateFormatter:nil];\n}\n\n- (instancetype)initWithDateFormatter:(NSDateFormatter *)aDateFormatter {\n    if ((self = [super init])) {\n        if (aDateFormatter) {\n            _dateFormatter = aDateFormatter;\n        } else {\n            _dateFormatter = [[NSDateFormatter alloc] init];\n            [_dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4]; // 10.4+ style\n            [_dateFormatter setDateFormat:@\"yyyy/MM/dd HH:mm:ss:SSS\"];\n        }\n    }\n\n    return self;\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {\n    NSString *dateAndTime = [_dateFormatter stringFromDate:(logMessage->_timestamp)];\n\n    return [NSString stringWithFormat:@\"%@  %@\", dateAndTime, logMessage->_message];\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDFileLogger () {\n    __strong id <DDLogFileManager> _logFileManager;\n    \n    NSFileHandle *_currentLogFileHandle;\n    \n    dispatch_source_t _currentLogFileVnode;\n    dispatch_source_t _rollingTimer;\n    \n    unsigned long long _maximumFileSize;\n    NSTimeInterval _rollingFrequency;\n}\n\n- (void)rollLogFileNow;\n- (void)maybeRollLogFileDueToAge;\n- (void)maybeRollLogFileDueToSize;\n\n@end\n\n@implementation DDFileLogger\n\n- (instancetype)init {\n    DDLogFileManagerDefault *defaultLogFileManager = [[DDLogFileManagerDefault alloc] init];\n\n    return [self initWithLogFileManager:defaultLogFileManager];\n}\n\n- (instancetype)initWithLogFileManager:(id <DDLogFileManager>)aLogFileManager {\n    if ((self = [super init])) {\n        _maximumFileSize = kDDDefaultLogMaxFileSize;\n        _rollingFrequency = kDDDefaultLogRollingFrequency;\n        _automaticallyAppendNewlineForCustomFormatters = YES;\n\n        logFileManager = aLogFileManager;\n\n        self.logFormatter = [DDLogFileFormatterDefault new];\n    }\n\n    return self;\n}\n\n- (void)dealloc {\n    [_currentLogFileHandle synchronizeFile];\n    [_currentLogFileHandle closeFile];\n\n    if (_currentLogFileVnode) {\n        dispatch_source_cancel(_currentLogFileVnode);\n        _currentLogFileVnode = NULL;\n    }\n\n    if (_rollingTimer) {\n        dispatch_source_cancel(_rollingTimer);\n        _rollingTimer = NULL;\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Properties\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@synthesize logFileManager;\n\n- (unsigned long long)maximumFileSize {\n    __block unsigned long long result;\n\n    dispatch_block_t block = ^{\n        result = self->_maximumFileSize;\n    };\n\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation MUST access the maximumFileSize variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(self.loggerQueue, block);\n    });\n\n    return result;\n}\n\n- (void)setMaximumFileSize:(unsigned long long)newMaximumFileSize {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            self->_maximumFileSize = newMaximumFileSize;\n            [self maybeRollLogFileDueToSize];\n        }\n    };\n\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation MUST access the maximumFileSize variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    dispatch_async(globalLoggingQueue, ^{\n        dispatch_async(self.loggerQueue, block);\n    });\n}\n\n- (NSTimeInterval)rollingFrequency {\n    __block NSTimeInterval result;\n\n    dispatch_block_t block = ^{\n        result = self->_rollingFrequency;\n    };\n\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation should access the rollingFrequency variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(self.loggerQueue, block);\n    });\n\n    return result;\n}\n\n- (void)setRollingFrequency:(NSTimeInterval)newRollingFrequency {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            self->_rollingFrequency = newRollingFrequency;\n            [self maybeRollLogFileDueToAge];\n        }\n    };\n\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation should access the rollingFrequency variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    dispatch_async(globalLoggingQueue, ^{\n        dispatch_async(self.loggerQueue, block);\n    });\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark File Rolling\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)scheduleTimerToRollLogFileDueToAge {\n    if (_rollingTimer) {\n        dispatch_source_cancel(_rollingTimer);\n        _rollingTimer = NULL;\n    }\n\n    if (_currentLogFileInfo == nil || _rollingFrequency <= 0.0) {\n        return;\n    }\n\n    NSDate *logFileCreationDate = [_currentLogFileInfo creationDate];\n\n    NSTimeInterval ti = [logFileCreationDate timeIntervalSinceReferenceDate];\n    ti += _rollingFrequency;\n\n    NSDate *logFileRollingDate = [NSDate dateWithTimeIntervalSinceReferenceDate:ti];\n\n    NSLogVerbose(@\"DDFileLogger: scheduleTimerToRollLogFileDueToAge\");\n\n    NSLogVerbose(@\"DDFileLogger: logFileCreationDate: %@\", logFileCreationDate);\n    NSLogVerbose(@\"DDFileLogger: logFileRollingDate : %@\", logFileRollingDate);\n\n    _rollingTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, self.loggerQueue);\n\n    dispatch_source_set_event_handler(_rollingTimer, ^{ @autoreleasepool {\n                                                           [self maybeRollLogFileDueToAge];\n                                                       } });\n\n    #if !OS_OBJECT_USE_OBJC\n    dispatch_source_t theRollingTimer = _rollingTimer;\n    dispatch_source_set_cancel_handler(_rollingTimer, ^{\n        dispatch_release(theRollingTimer);\n    });\n    #endif\n\n    uint64_t delay = (uint64_t)([logFileRollingDate timeIntervalSinceNow] * (NSTimeInterval) NSEC_PER_SEC);\n    dispatch_time_t fireTime = dispatch_time(DISPATCH_TIME_NOW, delay);\n\n    dispatch_source_set_timer(_rollingTimer, fireTime, DISPATCH_TIME_FOREVER, 1ull * NSEC_PER_SEC);\n    dispatch_resume(_rollingTimer);\n}\n\n- (void)rollLogFile {\n    [self rollLogFileWithCompletionBlock:nil];\n}\n\n- (void)rollLogFileWithCompletionBlock:(void (^)(void))completionBlock {\n    // This method is public.\n    // We need to execute the rolling on our logging thread/queue.\n\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            [self rollLogFileNow];\n\n            if (completionBlock) {\n                dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{\n                    completionBlock();\n                });\n            }\n        }\n    };\n\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (void)rollLogFileNow {\n    NSLogVerbose(@\"DDFileLogger: rollLogFileNow\");\n\n    if (_currentLogFileHandle == nil) {\n        return;\n    }\n\n    [_currentLogFileHandle synchronizeFile];\n    [_currentLogFileHandle closeFile];\n    _currentLogFileHandle = nil;\n\n    _currentLogFileInfo.isArchived = YES;\n\n    if ([logFileManager respondsToSelector:@selector(didRollAndArchiveLogFile:)]) {\n        [logFileManager didRollAndArchiveLogFile:(_currentLogFileInfo.filePath)];\n    }\n\n    _currentLogFileInfo = nil;\n\n    if (_currentLogFileVnode) {\n        dispatch_source_cancel(_currentLogFileVnode);\n        _currentLogFileVnode = NULL;\n    }\n\n    if (_rollingTimer) {\n        dispatch_source_cancel(_rollingTimer);\n        _rollingTimer = NULL;\n    }\n}\n\n- (void)maybeRollLogFileDueToAge {\n    if (_rollingFrequency > 0.0 && _currentLogFileInfo.age >= _rollingFrequency) {\n        NSLogVerbose(@\"DDFileLogger: Rolling log file due to age...\");\n\n        [self rollLogFileNow];\n    } else {\n        [self scheduleTimerToRollLogFileDueToAge];\n    }\n}\n\n- (void)maybeRollLogFileDueToSize {\n    // This method is called from logMessage.\n    // Keep it FAST.\n\n    // Note: Use direct access to maximumFileSize variable.\n    // We specifically wrote our own getter/setter method to allow us to do this (for performance reasons).\n\n    if (_maximumFileSize > 0) {\n        unsigned long long fileSize = [_currentLogFileHandle offsetInFile];\n\n        if (fileSize >= _maximumFileSize) {\n            NSLogVerbose(@\"DDFileLogger: Rolling log file due to size (%qu)...\", fileSize);\n\n            [self rollLogFileNow];\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark File Logging\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the log file that should be used.\n * If there is an existing log file that is suitable,\n * within the constraints of maximumFileSize and rollingFrequency, then it is returned.\n *\n * Otherwise a new file is created and returned.\n **/\n- (DDLogFileInfo *)currentLogFileInfo {\n    if (_currentLogFileInfo == nil) {\n        NSArray *sortedLogFileInfos = [logFileManager sortedLogFileInfos];\n\n        if ([sortedLogFileInfos count] > 0) {\n            DDLogFileInfo *mostRecentLogFileInfo = sortedLogFileInfos[0];\n\n            BOOL shouldArchiveMostRecent = NO;\n\n            if (mostRecentLogFileInfo.isArchived) {\n                shouldArchiveMostRecent = NO;\n\t\t\t} else if ([self shouldArchiveRecentLogFileInfo:mostRecentLogFileInfo]) {\n\t\t\t\tshouldArchiveMostRecent = YES;\n\t\t\t} else if (_maximumFileSize > 0 && mostRecentLogFileInfo.fileSize >= _maximumFileSize) {\n                shouldArchiveMostRecent = YES;\n            } else if (_rollingFrequency > 0.0 && mostRecentLogFileInfo.age >= _rollingFrequency) {\n                shouldArchiveMostRecent = YES;\n            }\n\n        #if TARGET_OS_IPHONE\n            // When creating log file on iOS we're setting NSFileProtectionKey attribute to NSFileProtectionCompleteUnlessOpen.\n            //\n            // But in case if app is able to launch from background we need to have an ability to open log file any time we\n            // want (even if device is locked). Thats why that attribute have to be changed to\n            // NSFileProtectionCompleteUntilFirstUserAuthentication.\n            //\n            // If previous log was created when app wasn't running in background, but now it is - we archive it and create\n            // a new one.\n            //\n            // If user has overwritten to NSFileProtectionNone there is no neeed to create a new one.\n\n            if (!_doNotReuseLogFiles && doesAppRunInBackground()) {\n                NSFileProtectionType key = mostRecentLogFileInfo.fileAttributes[NSFileProtectionKey];\n\n                if ([key length] > 0 && !([key isEqualToString:NSFileProtectionCompleteUntilFirstUserAuthentication] || [key isEqualToString:NSFileProtectionNone])) {\n                    shouldArchiveMostRecent = YES;\n                }\n            }\n\n        #endif\n\n            if (!_doNotReuseLogFiles && !mostRecentLogFileInfo.isArchived && !shouldArchiveMostRecent) {\n                NSLogVerbose(@\"DDFileLogger: Resuming logging with file %@\", mostRecentLogFileInfo.fileName);\n\n                _currentLogFileInfo = mostRecentLogFileInfo;\n            } else {\n                if (shouldArchiveMostRecent) {\n                    mostRecentLogFileInfo.isArchived = YES;\n\n                    if ([logFileManager respondsToSelector:@selector(didArchiveLogFile:)]) {\n                        [logFileManager didArchiveLogFile:(mostRecentLogFileInfo.filePath)];\n                    }\n                }\n            }\n        }\n\n        if (_currentLogFileInfo == nil) {\n            NSString *currentLogFilePath = [logFileManager createNewLogFile];\n\n            _currentLogFileInfo = [[DDLogFileInfo alloc] initWithFilePath:currentLogFilePath];\n        }\n    }\n\n    return _currentLogFileInfo;\n}\n\n- (NSFileHandle *)currentLogFileHandle {\n    if (_currentLogFileHandle == nil) {\n        NSString *logFilePath = [[self currentLogFileInfo] filePath];\n\n        _currentLogFileHandle = [NSFileHandle fileHandleForWritingAtPath:logFilePath];\n        [_currentLogFileHandle seekToEndOfFile];\n\n        if (_currentLogFileHandle) {\n            [self scheduleTimerToRollLogFileDueToAge];\n\n            // Here we are monitoring the log file. In case if it would be deleted ormoved\n            // somewhere we want to roll it and use a new one.\n            _currentLogFileVnode = dispatch_source_create(\n                    DISPATCH_SOURCE_TYPE_VNODE,\n                    [_currentLogFileHandle fileDescriptor],\n                    DISPATCH_VNODE_DELETE | DISPATCH_VNODE_RENAME,\n                    self.loggerQueue\n                    );\n\n            dispatch_source_set_event_handler(_currentLogFileVnode, ^{ @autoreleasepool {\n                                                                          NSLogInfo(@\"DDFileLogger: Current logfile was moved. Rolling it and creating a new one\");\n                                                                          [self rollLogFileNow];\n                                                                      } });\n\n            #if !OS_OBJECT_USE_OBJC\n            dispatch_source_t vnode = _currentLogFileVnode;\n            dispatch_source_set_cancel_handler(_currentLogFileVnode, ^{\n                dispatch_release(vnode);\n            });\n            #endif\n\n            dispatch_resume(_currentLogFileVnode);\n        }\n    }\n\n    return _currentLogFileHandle;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark DDLogger Protocol\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nstatic int exception_count = 0;\n- (void)logMessage:(DDLogMessage *)logMessage {\n    NSString *message = logMessage->_message;\n    BOOL isFormatted = NO;\n\n    if (_logFormatter) {\n        message = [_logFormatter formatLogMessage:logMessage];\n        isFormatted = message != logMessage->_message;\n    }\n\n    if (message) {\n        if ((!isFormatted || _automaticallyAppendNewlineForCustomFormatters) &&\n            (![message hasSuffix:@\"\\n\"])) {\n            message = [message stringByAppendingString:@\"\\n\"];\n        }\n\n        NSData *logData = [message dataUsingEncoding:NSUTF8StringEncoding];\n\n        @try {\n            [self willLogMessage];\n\t\t\t\n            [[self currentLogFileHandle] writeData:logData];\n\n            [self didLogMessage];\n        } @catch (NSException *exception) {\n            exception_count++;\n\n            if (exception_count <= 10) {\n                NSLogError(@\"DDFileLogger.logMessage: %@\", exception);\n\n                if (exception_count == 10) {\n                    NSLogError(@\"DDFileLogger.logMessage: Too many exceptions -- will not log any more of them.\");\n                }\n            }\n        }\n    }\n}\n\n- (void)willLogMessage {\n\t\n}\n\n- (void)didLogMessage {\n    [self maybeRollLogFileDueToSize];\n}\n\n- (BOOL)shouldArchiveRecentLogFileInfo:(DDLogFileInfo *)recentLogFileInfo {\n    return NO;\n}\n\n- (void)willRemoveLogger {\n    // If you override me be sure to invoke [super willRemoveLogger];\n\n    [self rollLogFileNow];\n}\n\n- (NSString *)loggerName {\n    return @\"cocoa.lumberjack.fileLogger\";\n}\n\n- (void)flush {\n    [_currentLogFileHandle synchronizeFile];\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if TARGET_IPHONE_SIMULATOR\n    static NSString * const kDDXAttrArchivedName = @\"archived\";\n#else\n    static NSString * const kDDXAttrArchivedName = @\"lumberjack.log.archived\";\n#endif\n\n@interface DDLogFileInfo () {\n    __strong NSString *_filePath;\n    __strong NSString *_fileName;\n    \n    __strong NSDictionary *_fileAttributes;\n    \n    __strong NSDate *_creationDate;\n    __strong NSDate *_modificationDate;\n    \n    unsigned long long _fileSize;\n}\n\n@end\n\n\n@implementation DDLogFileInfo\n\n@synthesize filePath;\n\n@dynamic fileName;\n@dynamic fileAttributes;\n@dynamic creationDate;\n@dynamic modificationDate;\n@dynamic fileSize;\n@dynamic age;\n\n@dynamic isArchived;\n\n\n#pragma mark Lifecycle\n\n+ (instancetype)logFileWithPath:(NSString *)aFilePath {\n    return [[self alloc] initWithFilePath:aFilePath];\n}\n\n- (instancetype)initWithFilePath:(NSString *)aFilePath {\n    if ((self = [super init])) {\n        filePath = [aFilePath copy];\n    }\n\n    return self;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Standard Info\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSDictionary *)fileAttributes {\n    if (_fileAttributes == nil && filePath != nil) {\n        _fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil];\n    }\n\n    return _fileAttributes;\n}\n\n- (NSString *)fileName {\n    if (_fileName == nil) {\n        _fileName = [filePath lastPathComponent];\n    }\n\n    return _fileName;\n}\n\n- (NSDate *)modificationDate {\n    if (_modificationDate == nil) {\n        _modificationDate = self.fileAttributes[NSFileModificationDate];\n    }\n\n    return _modificationDate;\n}\n\n- (NSDate *)creationDate {\n    if (_creationDate == nil) {\n        _creationDate = self.fileAttributes[NSFileCreationDate];\n    }\n\n    return _creationDate;\n}\n\n- (unsigned long long)fileSize {\n    if (_fileSize == 0) {\n        _fileSize = [self.fileAttributes[NSFileSize] unsignedLongLongValue];\n    }\n\n    return _fileSize;\n}\n\n- (NSTimeInterval)age {\n    return [[self creationDate] timeIntervalSinceNow] * -1.0;\n}\n\n- (NSString *)description {\n    return [@{ @\"filePath\": self.filePath ? : @\"\",\n               @\"fileName\": self.fileName ? : @\"\",\n               @\"fileAttributes\": self.fileAttributes ? : @\"\",\n               @\"creationDate\": self.creationDate ? : @\"\",\n               @\"modificationDate\": self.modificationDate ? : @\"\",\n               @\"fileSize\": @(self.fileSize),\n               @\"age\": @(self.age),\n               @\"isArchived\": @(self.isArchived) } description];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Archiving\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)isArchived {\n#if TARGET_IPHONE_SIMULATOR\n\n    // Extended attributes don't work properly on the simulator.\n    // So we have to use a less attractive alternative.\n    // See full explanation in the header file.\n\n    return [self hasExtensionAttributeWithName:kDDXAttrArchivedName];\n\n#else\n\n    return [self hasExtendedAttributeWithName:kDDXAttrArchivedName];\n\n#endif\n}\n\n- (void)setIsArchived:(BOOL)flag {\n#if TARGET_IPHONE_SIMULATOR\n\n    // Extended attributes don't work properly on the simulator.\n    // So we have to use a less attractive alternative.\n    // See full explanation in the header file.\n\n    if (flag) {\n        [self addExtensionAttributeWithName:kDDXAttrArchivedName];\n    } else {\n        [self removeExtensionAttributeWithName:kDDXAttrArchivedName];\n    }\n\n#else\n\n    if (flag) {\n        [self addExtendedAttributeWithName:kDDXAttrArchivedName];\n    } else {\n        [self removeExtendedAttributeWithName:kDDXAttrArchivedName];\n    }\n\n#endif\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Changes\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)reset {\n    _fileName = nil;\n    _fileAttributes = nil;\n    _creationDate = nil;\n    _modificationDate = nil;\n}\n\n- (void)renameFile:(NSString *)newFileName {\n    // This method is only used on the iPhone simulator, where normal extended attributes are broken.\n    // See full explanation in the header file.\n\n    if (![newFileName isEqualToString:[self fileName]]) {\n        NSString *fileDir = [filePath stringByDeletingLastPathComponent];\n\n        NSString *newFilePath = [fileDir stringByAppendingPathComponent:newFileName];\n\n        NSLogVerbose(@\"DDLogFileInfo: Renaming file: '%@' -> '%@'\", self.fileName, newFileName);\n\n        NSError *error = nil;\n\n        if ([[NSFileManager defaultManager] fileExistsAtPath:newFilePath] &&\n            ![[NSFileManager defaultManager] removeItemAtPath:newFilePath error:&error]) {\n            NSLogError(@\"DDLogFileInfo: Error deleting archive (%@): %@\", self.fileName, error);\n        }\n\n        if (![[NSFileManager defaultManager] moveItemAtPath:filePath toPath:newFilePath error:&error]) {\n            NSLogError(@\"DDLogFileInfo: Error renaming file (%@): %@\", self.fileName, error);\n        }\n\n        filePath = newFilePath;\n        [self reset];\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Attribute Management\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if TARGET_IPHONE_SIMULATOR\n\n// Extended attributes don't work properly on the simulator.\n// So we have to use a less attractive alternative.\n// See full explanation in the header file.\n\n- (BOOL)hasExtensionAttributeWithName:(NSString *)attrName {\n    // This method is only used on the iPhone simulator, where normal extended attributes are broken.\n    // See full explanation in the header file.\n\n    // Split the file name into components. File name may have various format, but generally\n    // structure is same:\n    //\n    // <name part>.<extension part> and <name part>.archived.<extension part>\n    // or\n    // <name part> and <name part>.archived\n    //\n    // So we want to search for the attrName in the components (ignoring the first array index).\n\n    NSArray *components = [[self fileName] componentsSeparatedByString:@\".\"];\n\n    // Watch out for file names without an extension\n\n    for (NSUInteger i = 1; i < components.count; i++) {\n        NSString *attr = components[i];\n\n        if ([attrName isEqualToString:attr]) {\n            return YES;\n        }\n    }\n\n    return NO;\n}\n\n- (void)addExtensionAttributeWithName:(NSString *)attrName {\n    // This method is only used on the iPhone simulator, where normal extended attributes are broken.\n    // See full explanation in the header file.\n\n    if ([attrName length] == 0) {\n        return;\n    }\n\n    // Example:\n    // attrName = \"archived\"\n    //\n    // \"mylog.txt\" -> \"mylog.archived.txt\"\n    // \"mylog\"     -> \"mylog.archived\"\n\n    NSArray *components = [[self fileName] componentsSeparatedByString:@\".\"];\n\n    NSUInteger count = [components count];\n\n    NSUInteger estimatedNewLength = [[self fileName] length] + [attrName length] + 1;\n    NSMutableString *newFileName = [NSMutableString stringWithCapacity:estimatedNewLength];\n\n    if (count > 0) {\n        [newFileName appendString:components.firstObject];\n    }\n\n    NSString *lastExt = @\"\";\n\n    NSUInteger i;\n\n    for (i = 1; i < count; i++) {\n        NSString *attr = components[i];\n\n        if ([attr length] == 0) {\n            continue;\n        }\n\n        if ([attrName isEqualToString:attr]) {\n            // Extension attribute already exists in file name\n            return;\n        }\n\n        if ([lastExt length] > 0) {\n            [newFileName appendFormat:@\".%@\", lastExt];\n        }\n\n        lastExt = attr;\n    }\n\n    [newFileName appendFormat:@\".%@\", attrName];\n\n    if ([lastExt length] > 0) {\n        [newFileName appendFormat:@\".%@\", lastExt];\n    }\n\n    [self renameFile:newFileName];\n}\n\n- (void)removeExtensionAttributeWithName:(NSString *)attrName {\n    // This method is only used on the iPhone simulator, where normal extended attributes are broken.\n    // See full explanation in the header file.\n\n    if ([attrName length] == 0) {\n        return;\n    }\n\n    // Example:\n    // attrName = \"archived\"\n    //\n    // \"mylog.archived.txt\" -> \"mylog.txt\"\n    // \"mylog.archived\"     -> \"mylog\"\n\n    NSArray *components = [[self fileName] componentsSeparatedByString:@\".\"];\n\n    NSUInteger count = [components count];\n\n    NSUInteger estimatedNewLength = [[self fileName] length];\n    NSMutableString *newFileName = [NSMutableString stringWithCapacity:estimatedNewLength];\n\n    if (count > 0) {\n        [newFileName appendString:components.firstObject];\n    }\n\n    BOOL found = NO;\n\n    NSUInteger i;\n\n    for (i = 1; i < count; i++) {\n        NSString *attr = components[i];\n\n        if ([attrName isEqualToString:attr]) {\n            found = YES;\n        } else {\n            [newFileName appendFormat:@\".%@\", attr];\n        }\n    }\n\n    if (found) {\n        [self renameFile:newFileName];\n    }\n}\n\n#else /* if TARGET_IPHONE_SIMULATOR */\n\n- (BOOL)hasExtendedAttributeWithName:(NSString *)attrName {\n    const char *path = [filePath UTF8String];\n    const char *name = [attrName UTF8String];\n\n    ssize_t result = getxattr(path, name, NULL, 0, 0, 0);\n\n    return (result >= 0);\n}\n\n- (void)addExtendedAttributeWithName:(NSString *)attrName {\n    const char *path = [filePath UTF8String];\n    const char *name = [attrName UTF8String];\n\n    int result = setxattr(path, name, NULL, 0, 0, 0);\n\n    if (result < 0) {\n        NSLogError(@\"DDLogFileInfo: setxattr(%@, %@): error = %s\",\n                   attrName,\n                   filePath,\n                   strerror(errno));\n    }\n}\n\n- (void)removeExtendedAttributeWithName:(NSString *)attrName {\n    const char *path = [filePath UTF8String];\n    const char *name = [attrName UTF8String];\n\n    int result = removexattr(path, name, 0);\n\n    if (result < 0 && errno != ENOATTR) {\n        NSLogError(@\"DDLogFileInfo: removexattr(%@, %@): error = %s\",\n                   attrName,\n                   self.fileName,\n                   strerror(errno));\n    }\n}\n\n#endif /* if TARGET_IPHONE_SIMULATOR */\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Comparisons\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)isEqual:(id)object {\n    if ([object isKindOfClass:[self class]]) {\n        DDLogFileInfo *another = (DDLogFileInfo *)object;\n\n        return [filePath isEqualToString:[another filePath]];\n    }\n\n    return NO;\n}\n\n-(NSUInteger)hash {\n    return [filePath hash];\n}\n\n- (NSComparisonResult)reverseCompareByCreationDate:(DDLogFileInfo *)another {\n    NSDate *us = [self creationDate];\n    NSDate *them = [another creationDate];\n\n    NSComparisonResult result = [us compare:them];\n\n    if (result == NSOrderedAscending) {\n        return NSOrderedDescending;\n    }\n\n    if (result == NSOrderedDescending) {\n        return NSOrderedAscending;\n    }\n\n    return NSOrderedSame;\n}\n\n- (NSComparisonResult)reverseCompareByModificationDate:(DDLogFileInfo *)another {\n    NSDate *us = [self modificationDate];\n    NSDate *them = [another modificationDate];\n\n    NSComparisonResult result = [us compare:them];\n\n    if (result == NSOrderedAscending) {\n        return NSOrderedDescending;\n    }\n\n    if (result == NSOrderedDescending) {\n        return NSOrderedAscending;\n    }\n\n    return NSOrderedSame;\n}\n\n@end\n\n#if TARGET_OS_IPHONE\n/**\n * When creating log file on iOS we're setting NSFileProtectionKey attribute to NSFileProtectionCompleteUnlessOpen.\n *\n * But in case if app is able to launch from background we need to have an ability to open log file any time we\n * want (even if device is locked). Thats why that attribute have to be changed to\n * NSFileProtectionCompleteUntilFirstUserAuthentication.\n */\nBOOL doesAppRunInBackground() {\n    BOOL answer = NO;\n\n    NSArray *backgroundModes = [[NSBundle mainBundle] objectForInfoDictionaryKey:@\"UIBackgroundModes\"];\n\n    for (NSString *mode in backgroundModes) {\n        if (mode.length > 0) {\n            answer = YES;\n            break;\n        }\n    }\n\n    return answer;\n}\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDLegacyMacros.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n/**\n * Legacy macros used for 1.9.x backwards compatibility.\n *\n * Imported by default when importing a DDLog.h directly and DD_LEGACY_MACROS is not defined and set to 0.\n **/\n#if DD_LEGACY_MACROS\n\n#warning CocoaLumberjack 1.9.x legacy macros enabled. \\\nDisable legacy macros by importing CocoaLumberjack.h or DDLogMacros.h instead of DDLog.h or add `#define DD_LEGACY_MACROS 0` before importing DDLog.h.\n\n#ifndef LOG_LEVEL_DEF\n    #define LOG_LEVEL_DEF ddLogLevel\n#endif\n\n#define LOG_FLAG_ERROR    DDLogFlagError\n#define LOG_FLAG_WARN     DDLogFlagWarning\n#define LOG_FLAG_INFO     DDLogFlagInfo\n#define LOG_FLAG_DEBUG    DDLogFlagDebug\n#define LOG_FLAG_VERBOSE  DDLogFlagVerbose\n\n#define LOG_LEVEL_OFF     DDLogLevelOff\n#define LOG_LEVEL_ERROR   DDLogLevelError\n#define LOG_LEVEL_WARN    DDLogLevelWarning\n#define LOG_LEVEL_INFO    DDLogLevelInfo\n#define LOG_LEVEL_DEBUG   DDLogLevelDebug\n#define LOG_LEVEL_VERBOSE DDLogLevelVerbose\n#define LOG_LEVEL_ALL     DDLogLevelAll\n\n#define LOG_ASYNC_ENABLED YES\n\n#define LOG_ASYNC_ERROR    ( NO && LOG_ASYNC_ENABLED)\n#define LOG_ASYNC_WARN     (YES && LOG_ASYNC_ENABLED)\n#define LOG_ASYNC_INFO     (YES && LOG_ASYNC_ENABLED)\n#define LOG_ASYNC_DEBUG    (YES && LOG_ASYNC_ENABLED)\n#define LOG_ASYNC_VERBOSE  (YES && LOG_ASYNC_ENABLED)\n\n#define LOG_MACRO(isAsynchronous, lvl, flg, ctx, atag, fnct, frmt, ...) \\\n        [DDLog log : isAsynchronous                                     \\\n             level : lvl                                                \\\n              flag : flg                                                \\\n           context : ctx                                                \\\n              file : __FILE__                                           \\\n          function : fnct                                               \\\n              line : __LINE__                                           \\\n               tag : atag                                               \\\n            format : (frmt), ## __VA_ARGS__]\n\n#define LOG_MAYBE(async, lvl, flg, ctx, fnct, frmt, ...)                       \\\n        do { if(lvl & flg) LOG_MACRO(async, lvl, flg, ctx, nil, fnct, frmt, ##__VA_ARGS__); } while(0)\n\n#define LOG_OBJC_MAYBE(async, lvl, flg, ctx, frmt, ...) \\\n        LOG_MAYBE(async, lvl, flg, ctx, __PRETTY_FUNCTION__, frmt, ## __VA_ARGS__)\n\n#define DDLogError(frmt, ...)   LOG_OBJC_MAYBE(LOG_ASYNC_ERROR,   LOG_LEVEL_DEF, LOG_FLAG_ERROR,   0, frmt, ##__VA_ARGS__)\n#define DDLogWarn(frmt, ...)    LOG_OBJC_MAYBE(LOG_ASYNC_WARN,    LOG_LEVEL_DEF, LOG_FLAG_WARN,    0, frmt, ##__VA_ARGS__)\n#define DDLogInfo(frmt, ...)    LOG_OBJC_MAYBE(LOG_ASYNC_INFO,    LOG_LEVEL_DEF, LOG_FLAG_INFO,    0, frmt, ##__VA_ARGS__)\n#define DDLogDebug(frmt, ...)   LOG_OBJC_MAYBE(LOG_ASYNC_DEBUG,   LOG_LEVEL_DEF, LOG_FLAG_DEBUG,   0, frmt, ##__VA_ARGS__)\n#define DDLogVerbose(frmt, ...) LOG_OBJC_MAYBE(LOG_ASYNC_VERBOSE, LOG_LEVEL_DEF, LOG_FLAG_VERBOSE, 0, frmt, ##__VA_ARGS__)\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDLog+LOGV.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n/**\n * The constant/variable/method responsible for controlling the current log level.\n **/\n#ifndef LOG_LEVEL_DEF\n    #define LOG_LEVEL_DEF ddLogLevel\n#endif\n\n/**\n * Whether async should be used by log messages, excluding error messages that are always sent sync.\n **/\n#ifndef LOG_ASYNC_ENABLED\n    #define LOG_ASYNC_ENABLED YES\n#endif\n\n/**\n * This is the single macro that all other macros below compile into.\n * This big multiline macro makes all the other macros easier to read.\n **/\n#define LOGV_MACRO(isAsynchronous, lvl, flg, ctx, atag, fnct, frmt, avalist) \\\n        [DDLog log : isAsynchronous                                     \\\n             level : lvl                                                \\\n              flag : flg                                                \\\n           context : ctx                                                \\\n              file : __FILE__                                           \\\n          function : fnct                                               \\\n              line : __LINE__                                           \\\n               tag : atag                                               \\\n            format : frmt                                               \\\n              args : avalist]\n\n/**\n * Define version of the macro that only execute if the log level is above the threshold.\n * The compiled versions essentially look like this:\n *\n * if (logFlagForThisLogMsg & ddLogLevel) { execute log message }\n *\n * When LOG_LEVEL_DEF is defined as ddLogLevel.\n *\n * As shown further below, Lumberjack actually uses a bitmask as opposed to primitive log levels.\n * This allows for a great amount of flexibility and some pretty advanced fine grained logging techniques.\n *\n * Note that when compiler optimizations are enabled (as they are for your release builds),\n * the log messages above your logging threshold will automatically be compiled out.\n *\n * (If the compiler sees LOG_LEVEL_DEF/ddLogLevel declared as a constant, the compiler simply checks to see\n *  if the 'if' statement would execute, and if not it strips it from the binary.)\n *\n * We also define shorthand versions for asynchronous and synchronous logging.\n **/\n#define LOGV_MAYBE(async, lvl, flg, ctx, tag, fnct, frmt, avalist) \\\n        do { if(lvl & flg) LOGV_MACRO(async, lvl, flg, ctx, tag, fnct, frmt, avalist); } while(0)\n\n/**\n * Ready to use log macros with no context or tag.\n **/\n#define DDLogVError(frmt, avalist)   LOGV_MAYBE(NO,                LOG_LEVEL_DEF, DDLogFlagError,   0, nil, __PRETTY_FUNCTION__, frmt, avalist)\n#define DDLogVWarn(frmt, avalist)    LOGV_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagWarning, 0, nil, __PRETTY_FUNCTION__, frmt, avalist)\n#define DDLogVInfo(frmt, avalist)    LOGV_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagInfo,    0, nil, __PRETTY_FUNCTION__, frmt, avalist)\n#define DDLogVDebug(frmt, avalist)   LOGV_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagDebug,   0, nil, __PRETTY_FUNCTION__, frmt, avalist)\n#define DDLogVVerbose(frmt, avalist) LOGV_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagVerbose, 0, nil, __PRETTY_FUNCTION__, frmt, avalist)\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDLog.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import <Foundation/Foundation.h>\n\n// Enable 1.9.x legacy macros if imported directly\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 1\n#endif\n// DD_LEGACY_MACROS is checked in the file itself\n#import \"DDLegacyMacros.h\"\n\n#if OS_OBJECT_USE_OBJC\n    #define DISPATCH_QUEUE_REFERENCE_TYPE strong\n#else\n    #define DISPATCH_QUEUE_REFERENCE_TYPE assign\n#endif\n\n@class DDLogMessage;\n@class DDLoggerInformation;\n@protocol DDLogger;\n@protocol DDLogFormatter;\n\n/**\n * Define the standard options.\n *\n * We default to only 4 levels because it makes it easier for beginners\n * to make the transition to a logging framework.\n *\n * More advanced users may choose to completely customize the levels (and level names) to suite their needs.\n * For more information on this see the \"Custom Log Levels\" page:\n * Documentation/CustomLogLevels.md\n *\n * Advanced users may also notice that we're using a bitmask.\n * This is to allow for custom fine grained logging:\n * Documentation/FineGrainedLogging.md\n *\n * -- Flags --\n *\n * Typically you will use the LOG_LEVELS (see below), but the flags may be used directly in certain situations.\n * For example, say you have a lot of warning log messages, and you wanted to disable them.\n * However, you still needed to see your error and info log messages.\n * You could accomplish that with the following:\n *\n * static const DDLogLevel ddLogLevel = DDLogFlagError | DDLogFlagInfo;\n *\n * When LOG_LEVEL_DEF is defined as ddLogLevel.\n *\n * Flags may also be consulted when writing custom log formatters,\n * as the DDLogMessage class captures the individual flag that caused the log message to fire.\n *\n * -- Levels --\n *\n * Log levels are simply the proper bitmask of the flags.\n *\n * -- Booleans --\n *\n * The booleans may be used when your logging code involves more than one line.\n * For example:\n *\n * if (LOG_VERBOSE) {\n *     for (id sprocket in sprockets)\n *         DDLogVerbose(@\"sprocket: %@\", [sprocket description])\n * }\n *\n * -- Async --\n *\n * Defines the default asynchronous options.\n * The default philosophy for asynchronous logging is very simple:\n *\n * Log messages with errors should be executed synchronously.\n *     After all, an error just occurred. The application could be unstable.\n *\n * All other log messages, such as debug output, are executed asynchronously.\n *     After all, if it wasn't an error, then it was just informational output,\n *     or something the application was easily able to recover from.\n *\n * -- Changes --\n *\n * You are strongly discouraged from modifying this file.\n * If you do, you make it more difficult on yourself to merge future bug fixes and improvements from the project.\n * Instead, create your own MyLogging.h or ApplicationNameLogging.h or CompanyLogging.h\n *\n * For an example of customizing your logging experience, see the \"Custom Log Levels\" page:\n * Documentation/CustomLogLevels.md\n **/\n\n/**\n *  Flags accompany each log. They are used together with levels to filter out logs.\n */\ntypedef NS_OPTIONS(NSUInteger, DDLogFlag){\n    /**\n     *  0...00001 DDLogFlagError\n     */\n    DDLogFlagError      = (1 << 0),\n    \n    /**\n     *  0...00010 DDLogFlagWarning\n     */\n    DDLogFlagWarning    = (1 << 1),\n    \n    /**\n     *  0...00100 DDLogFlagInfo\n     */\n    DDLogFlagInfo       = (1 << 2),\n    \n    /**\n     *  0...01000 DDLogFlagDebug\n     */\n    DDLogFlagDebug      = (1 << 3),\n    \n    /**\n     *  0...10000 DDLogFlagVerbose\n     */\n    DDLogFlagVerbose    = (1 << 4)\n};\n\n/**\n *  Log levels are used to filter out logs. Used together with flags.\n */\ntypedef NS_ENUM(NSUInteger, DDLogLevel){\n    /**\n     *  No logs\n     */\n    DDLogLevelOff       = 0,\n    \n    /**\n     *  Error logs only\n     */\n    DDLogLevelError     = (DDLogFlagError),\n    \n    /**\n     *  Error and warning logs\n     */\n    DDLogLevelWarning   = (DDLogLevelError   | DDLogFlagWarning),\n    \n    /**\n     *  Error, warning and info logs\n     */\n    DDLogLevelInfo      = (DDLogLevelWarning | DDLogFlagInfo),\n    \n    /**\n     *  Error, warning, info and debug logs\n     */\n    DDLogLevelDebug     = (DDLogLevelInfo    | DDLogFlagDebug),\n    \n    /**\n     *  Error, warning, info, debug and verbose logs\n     */\n    DDLogLevelVerbose   = (DDLogLevelDebug   | DDLogFlagVerbose),\n    \n    /**\n     *  All logs (1...11111)\n     */\n    DDLogLevelAll       = NSUIntegerMax\n};\n\nNS_ASSUME_NONNULL_BEGIN\n\n/**\n *  Extracts just the file name, no path or extension\n *\n *  @param filePath input file path\n *  @param copy     YES if we want the result to be copied\n *\n *  @return the file name\n */\nFOUNDATION_EXTERN NSString * __nullable DDExtractFileNameWithoutExtension(const char *filePath, BOOL copy);\n\n/**\n * The THIS_FILE macro gives you an NSString of the file name.\n * For simplicity and clarity, the file name does not include the full path or file extension.\n *\n * For example: DDLogWarn(@\"%@: Unable to find thingy\", THIS_FILE) -> @\"MyViewController: Unable to find thingy\"\n **/\n#define THIS_FILE         (DDExtractFileNameWithoutExtension(__FILE__, NO))\n\n/**\n * The THIS_METHOD macro gives you the name of the current objective-c method.\n *\n * For example: DDLogWarn(@\"%@ - Requires non-nil strings\", THIS_METHOD) -> @\"setMake:model: requires non-nil strings\"\n *\n * Note: This does NOT work in straight C functions (non objective-c).\n * Instead you should use the predefined __FUNCTION__ macro.\n **/\n#define THIS_METHOD       NSStringFromSelector(_cmd)\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n *  The main class, exposes all logging mechanisms, loggers, ...\n *  For most of the users, this class is hidden behind the logging functions like `DDLogInfo`\n */\n@interface DDLog : NSObject\n\n/**\n *  Returns the singleton `DDLog`.\n *  The instance is used by `DDLog` class methods.\n */\n@property (class, nonatomic, strong, readonly) DDLog *sharedInstance;\n\n/**\n * Provides access to the underlying logging queue.\n * This may be helpful to Logger classes for things like thread synchronization.\n **/\n@property (class, nonatomic, DISPATCH_QUEUE_REFERENCE_TYPE, readonly) dispatch_queue_t loggingQueue;\n\n/**\n * Logging Primitive.\n *\n * This method is used by the macros or logging functions.\n * It is suggested you stick with the macros as they're easier to use.\n *\n *  @param asynchronous YES if the logging is done async, NO if you want to force sync\n *  @param level        the log level\n *  @param flag         the log flag\n *  @param context      the context (if any is defined)\n *  @param file         the current file\n *  @param function     the current function\n *  @param line         the current code line\n *  @param tag          potential tag\n *  @param format       the log format\n */\n+ (void)log:(BOOL)asynchronous\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id __nullable)tag\n     format:(NSString *)format, ... NS_FORMAT_FUNCTION(9,10);\n\n/**\n * Logging Primitive.\n *\n * This method is used by the macros or logging functions.\n * It is suggested you stick with the macros as they're easier to use.\n *\n *  @param asynchronous YES if the logging is done async, NO if you want to force sync\n *  @param level        the log level\n *  @param flag         the log flag\n *  @param context      the context (if any is defined)\n *  @param file         the current file\n *  @param function     the current function\n *  @param line         the current code line\n *  @param tag          potential tag\n *  @param format       the log format\n */\n- (void)log:(BOOL)asynchronous\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id __nullable)tag\n     format:(NSString *)format, ... NS_FORMAT_FUNCTION(9,10);\n\n/**\n * Logging Primitive.\n *\n * This method can be used if you have a prepared va_list.\n * Similar to `log:level:flag:context:file:function:line:tag:format:...`\n *\n *  @param asynchronous YES if the logging is done async, NO if you want to force sync\n *  @param level        the log level\n *  @param flag         the log flag\n *  @param context      the context (if any is defined)\n *  @param file         the current file\n *  @param function     the current function\n *  @param line         the current code line\n *  @param tag          potential tag\n *  @param format       the log format\n *  @param argList      the arguments list as a va_list\n */\n+ (void)log:(BOOL)asynchronous\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id __nullable)tag\n     format:(NSString *)format\n       args:(va_list)argList NS_SWIFT_NAME(log(asynchronous:level:flag:context:file:function:line:tag:format:arguments:));\n\n/**\n * Logging Primitive.\n *\n * This method can be used if you have a prepared va_list.\n * Similar to `log:level:flag:context:file:function:line:tag:format:...`\n *\n *  @param asynchronous YES if the logging is done async, NO if you want to force sync\n *  @param level        the log level\n *  @param flag         the log flag\n *  @param context      the context (if any is defined)\n *  @param file         the current file\n *  @param function     the current function\n *  @param line         the current code line\n *  @param tag          potential tag\n *  @param format       the log format\n *  @param argList      the arguments list as a va_list\n */\n- (void)log:(BOOL)asynchronous\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id __nullable)tag\n     format:(NSString *)format\n       args:(va_list)argList NS_SWIFT_NAME(log(asynchronous:level:flag:context:file:function:line:tag:format:arguments:));\n\n/**\n * Logging Primitive.\n *\n * This method can be used if you manualy prepared DDLogMessage.\n *\n *  @param asynchronous YES if the logging is done async, NO if you want to force sync\n *  @param logMessage   the log message stored in a `DDLogMessage` model object\n */\n+ (void)log:(BOOL)asynchronous\n    message:(DDLogMessage *)logMessage NS_SWIFT_NAME(log(asynchronous:message:));\n\n/**\n * Logging Primitive.\n *\n * This method can be used if you manualy prepared DDLogMessage.\n *\n *  @param asynchronous YES if the logging is done async, NO if you want to force sync\n *  @param logMessage   the log message stored in a `DDLogMessage` model object\n */\n- (void)log:(BOOL)asynchronous\n    message:(DDLogMessage *)logMessage NS_SWIFT_NAME(log(asynchronous:message:));\n\n/**\n * Since logging can be asynchronous, there may be times when you want to flush the logs.\n * The framework invokes this automatically when the application quits.\n **/\n+ (void)flushLog;\n\n/**\n * Since logging can be asynchronous, there may be times when you want to flush the logs.\n * The framework invokes this automatically when the application quits.\n **/\n- (void)flushLog;\n\n/**\n * Loggers\n *\n * In order for your log statements to go somewhere, you should create and add a logger.\n *\n * You can add multiple loggers in order to direct your log statements to multiple places.\n * And each logger can be configured separately.\n * So you could have, for example, verbose logging to the console, but a concise log file with only warnings & errors.\n **/\n\n/**\n * Adds the logger to the system.\n *\n * This is equivalent to invoking `[DDLog addLogger:logger withLogLevel:DDLogLevelAll]`.\n **/\n+ (void)addLogger:(id <DDLogger>)logger;\n\n/**\n * Adds the logger to the system.\n *\n * This is equivalent to invoking `[DDLog addLogger:logger withLogLevel:DDLogLevelAll]`.\n **/\n- (void)addLogger:(id <DDLogger>)logger;\n\n/**\n * Adds the logger to the system.\n *\n * The level that you provide here is a preemptive filter (for performance).\n * That is, the level specified here will be used to filter out logMessages so that\n * the logger is never even invoked for the messages.\n *\n * More information:\n * When you issue a log statement, the logging framework iterates over each logger,\n * and checks to see if it should forward the logMessage to the logger.\n * This check is done using the level parameter passed to this method.\n *\n * For example:\n *\n * `[DDLog addLogger:consoleLogger withLogLevel:DDLogLevelVerbose];`\n * `[DDLog addLogger:fileLogger    withLogLevel:DDLogLevelWarning];`\n *\n * `DDLogError(@\"oh no\");` => gets forwarded to consoleLogger & fileLogger\n * `DDLogInfo(@\"hi\");`     => gets forwarded to consoleLogger only\n *\n * It is important to remember that Lumberjack uses a BITMASK.\n * Many developers & third party frameworks may define extra log levels & flags.\n * For example:\n *\n * `#define SOME_FRAMEWORK_LOG_FLAG_TRACE (1 << 6) // 0...1000000`\n *\n * So if you specify `DDLogLevelVerbose` to this method, you won't see the framework's trace messages.\n *\n * `(SOME_FRAMEWORK_LOG_FLAG_TRACE & DDLogLevelVerbose) => (01000000 & 00011111) => NO`\n *\n * Consider passing `DDLogLevelAll` to this method, which has all bits set.\n * You can also use the exclusive-or bitwise operator to get a bitmask that has all flags set,\n * except the ones you explicitly don't want. For example, if you wanted everything except verbose & debug:\n *\n * `((DDLogLevelAll ^ DDLogLevelVerbose) | DDLogLevelInfo)`\n **/\n+ (void)addLogger:(id <DDLogger>)logger withLevel:(DDLogLevel)level;\n\n/**\n * Adds the logger to the system.\n *\n * The level that you provide here is a preemptive filter (for performance).\n * That is, the level specified here will be used to filter out logMessages so that\n * the logger is never even invoked for the messages.\n *\n * More information:\n * When you issue a log statement, the logging framework iterates over each logger,\n * and checks to see if it should forward the logMessage to the logger.\n * This check is done using the level parameter passed to this method.\n *\n * For example:\n *\n * `[DDLog addLogger:consoleLogger withLogLevel:DDLogLevelVerbose];`\n * `[DDLog addLogger:fileLogger    withLogLevel:DDLogLevelWarning];`\n *\n * `DDLogError(@\"oh no\");` => gets forwarded to consoleLogger & fileLogger\n * `DDLogInfo(@\"hi\");`     => gets forwarded to consoleLogger only\n *\n * It is important to remember that Lumberjack uses a BITMASK.\n * Many developers & third party frameworks may define extra log levels & flags.\n * For example:\n *\n * `#define SOME_FRAMEWORK_LOG_FLAG_TRACE (1 << 6) // 0...1000000`\n *\n * So if you specify `DDLogLevelVerbose` to this method, you won't see the framework's trace messages.\n *\n * `(SOME_FRAMEWORK_LOG_FLAG_TRACE & DDLogLevelVerbose) => (01000000 & 00011111) => NO`\n *\n * Consider passing `DDLogLevelAll` to this method, which has all bits set.\n * You can also use the exclusive-or bitwise operator to get a bitmask that has all flags set,\n * except the ones you explicitly don't want. For example, if you wanted everything except verbose & debug:\n *\n * `((DDLogLevelAll ^ DDLogLevelVerbose) | DDLogLevelInfo)`\n **/\n- (void)addLogger:(id <DDLogger>)logger withLevel:(DDLogLevel)level;\n\n/**\n *  Remove the logger from the system\n */\n+ (void)removeLogger:(id <DDLogger>)logger;\n\n/**\n *  Remove the logger from the system\n */\n- (void)removeLogger:(id <DDLogger>)logger;\n\n/**\n *  Remove all the current loggers\n */\n+ (void)removeAllLoggers;\n\n/**\n *  Remove all the current loggers\n */\n- (void)removeAllLoggers;\n\n/**\n *  Return all the current loggers\n */\n@property (class, nonatomic, copy, readonly) NSArray<id<DDLogger>> *allLoggers;\n\n/**\n *  Return all the current loggers\n */\n@property (nonatomic, copy, readonly) NSArray<id<DDLogger>> *allLoggers;\n\n/**\n *  Return all the current loggers with their level (aka DDLoggerInformation).\n */\n@property (class, nonatomic, copy, readonly) NSArray<DDLoggerInformation *> *allLoggersWithLevel;\n\n/**\n *  Return all the current loggers with their level (aka DDLoggerInformation).\n */\n@property (nonatomic, copy, readonly) NSArray<DDLoggerInformation *> *allLoggersWithLevel;\n\n/**\n * Registered Dynamic Logging\n *\n * These methods allow you to obtain a list of classes that are using registered dynamic logging,\n * and also provides methods to get and set their log level during run time.\n **/\n\n/**\n *  Returns an array with the classes that are using registered dynamic logging\n */\n@property (class, nonatomic, copy, readonly) NSArray<Class> *registeredClasses;\n\n/**\n *  Returns an array with the classes names that are using registered dynamic logging\n */\n@property (class, nonatomic, copy, readonly) NSArray<NSString*> *registeredClassNames;\n\n/**\n *  Returns the current log level for a certain class\n *\n *  @param aClass `Class` param\n */\n+ (DDLogLevel)levelForClass:(Class)aClass;\n\n/**\n *  Returns the current log level for a certain class\n *\n *  @param aClassName string param\n */\n+ (DDLogLevel)levelForClassWithName:(NSString *)aClassName;\n\n/**\n *  Set the log level for a certain class\n *\n *  @param level  the new level\n *  @param aClass `Class` param\n */\n+ (void)setLevel:(DDLogLevel)level forClass:(Class)aClass;\n\n/**\n *  Set the log level for a certain class\n *\n *  @param level      the new level\n *  @param aClassName string param\n */\n+ (void)setLevel:(DDLogLevel)level forClassWithName:(NSString *)aClassName;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n *  This protocol describes a basic logger behavior. \n *  Basically, it can log messages, store a logFormatter plus a bunch of optional behaviors.\n *  (i.e. flush, get its loggerQueue, get its name, ...\n */\n@protocol DDLogger <NSObject>\n\n/**\n *  The log message method\n *\n *  @param logMessage the message (model)\n */\n- (void)logMessage:(DDLogMessage *)logMessage NS_SWIFT_NAME(log(message:));\n\n/**\n * Formatters may optionally be added to any logger.\n *\n * If no formatter is set, the logger simply logs the message as it is given in logMessage,\n * or it may use its own built in formatting style.\n **/\n@property (nonatomic, strong) id <DDLogFormatter> logFormatter;\n\n@optional\n\n/**\n * Since logging is asynchronous, adding and removing loggers is also asynchronous.\n * In other words, the loggers are added and removed at appropriate times with regards to log messages.\n *\n * - Loggers will not receive log messages that were executed prior to when they were added.\n * - Loggers will not receive log messages that were executed after they were removed.\n *\n * These methods are executed in the logging thread/queue.\n * This is the same thread/queue that will execute every logMessage: invocation.\n * Loggers may use these methods for thread synchronization or other setup/teardown tasks.\n **/\n- (void)didAddLogger;\n\n/**\n * Since logging is asynchronous, adding and removing loggers is also asynchronous.\n * In other words, the loggers are added and removed at appropriate times with regards to log messages.\n *\n * - Loggers will not receive log messages that were executed prior to when they were added.\n * - Loggers will not receive log messages that were executed after they were removed.\n *\n * These methods are executed in the logging thread/queue given in parameter.\n * This is the same thread/queue that will execute every logMessage: invocation.\n * Loggers may use the queue parameter to set specific values on the queue with dispatch_set_specific() function.\n **/\n- (void)didAddLoggerInQueue:(dispatch_queue_t)queue;\n\n/**\n *  See the above description for `didAddLoger`\n */\n- (void)willRemoveLogger;\n\n/**\n * Some loggers may buffer IO for optimization purposes.\n * For example, a database logger may only save occasionaly as the disk IO is slow.\n * In such loggers, this method should be implemented to flush any pending IO.\n *\n * This allows invocations of DDLog's flushLog method to be propogated to loggers that need it.\n *\n * Note that DDLog's flushLog method is invoked automatically when the application quits,\n * and it may be also invoked manually by the developer prior to application crashes, or other such reasons.\n **/\n- (void)flush;\n\n/**\n * Each logger is executed concurrently with respect to the other loggers.\n * Thus, a dedicated dispatch queue is used for each logger.\n * Logger implementations may optionally choose to provide their own dispatch queue.\n **/\n@property (nonatomic, DISPATCH_QUEUE_REFERENCE_TYPE, readonly) dispatch_queue_t loggerQueue;\n\n/**\n * If the logger implementation does not choose to provide its own queue,\n * one will automatically be created for it.\n * The created queue will receive its name from this method.\n * This may be helpful for debugging or profiling reasons.\n **/\n@property (nonatomic, readonly) NSString *loggerName;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n *  This protocol describes the behavior of a log formatter\n */\n@protocol DDLogFormatter <NSObject>\n@required\n\n/**\n * Formatters may optionally be added to any logger.\n * This allows for increased flexibility in the logging environment.\n * For example, log messages for log files may be formatted differently than log messages for the console.\n *\n * For more information about formatters, see the \"Custom Formatters\" page:\n * Documentation/CustomFormatters.md\n *\n * The formatter may also optionally filter the log message by returning nil,\n * in which case the logger will not log the message.\n **/\n- (NSString * __nullable)formatLogMessage:(DDLogMessage *)logMessage NS_SWIFT_NAME(format(message:));\n\n@optional\n\n/**\n * A single formatter instance can be added to multiple loggers.\n * These methods provides hooks to notify the formatter of when it's added/removed.\n *\n * This is primarily for thread-safety.\n * If a formatter is explicitly not thread-safe, it may wish to throw an exception if added to multiple loggers.\n * Or if a formatter has potentially thread-unsafe code (e.g. NSDateFormatter),\n * it could possibly use these hooks to switch to thread-safe versions of the code.\n **/\n- (void)didAddToLogger:(id <DDLogger>)logger;\n\n/**\n * A single formatter instance can be added to multiple loggers.\n * These methods provides hooks to notify the formatter of when it's added/removed.\n *\n * This is primarily for thread-safety.\n * If a formatter is explicitly not thread-safe, it may wish to throw an exception if added to multiple loggers.\n * Or if a formatter has potentially thread-unsafe code (e.g. NSDateFormatter),\n * it could possibly use these hooks to switch to thread-safe versions of the code or use dispatch_set_specific()\n.* to add its own specific values.\n **/\n- (void)didAddToLogger:(id <DDLogger>)logger inQueue:(dispatch_queue_t)queue;\n\n/**\n *  See the above description for `didAddToLogger:`\n */\n- (void)willRemoveFromLogger:(id <DDLogger>)logger;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n *  This protocol describes a dynamic logging component\n */\n@protocol DDRegisteredDynamicLogging\n\n/**\n * Implement these methods to allow a file's log level to be managed from a central location.\n *\n * This is useful if you'd like to be able to change log levels for various parts\n * of your code from within the running application.\n *\n * Imagine pulling up the settings for your application,\n * and being able to configure the logging level on a per file basis.\n *\n * The implementation can be very straight-forward:\n *\n * ```\n * + (int)ddLogLevel\n * {\n *     return ddLogLevel;\n * }\n *\n * + (void)ddSetLogLevel:(DDLogLevel)level\n * {\n *     ddLogLevel = level;\n * }\n * ```\n **/\n@property (class, nonatomic, readwrite, setter=ddSetLogLevel:) DDLogLevel ddLogLevel;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#ifndef NS_DESIGNATED_INITIALIZER\n    #define NS_DESIGNATED_INITIALIZER\n#endif\n\n/**\n *  Log message options, allow copying certain log elements\n */\ntypedef NS_OPTIONS(NSInteger, DDLogMessageOptions){\n    /**\n     *  Use this to use a copy of the file path\n     */\n    DDLogMessageCopyFile        = 1 << 0,\n    /**\n     *  Use this to use a copy of the function name\n     */\n    DDLogMessageCopyFunction    = 1 << 1,\n    /**\n     *  Use this to use avoid a copy of the message\n     */\n    DDLogMessageDontCopyMessage = 1 << 2\n};\n\n/**\n * The `DDLogMessage` class encapsulates information about the log message.\n * If you write custom loggers or formatters, you will be dealing with objects of this class.\n **/\n@interface DDLogMessage : NSObject <NSCopying>\n{\n    // Direct accessors to be used only for performance\n    @public\n    NSString *_message;\n    DDLogLevel _level;\n    DDLogFlag _flag;\n    NSInteger _context;\n    NSString *_file;\n    NSString *_fileName;\n    NSString *_function;\n    NSUInteger _line;\n    id _tag;\n    DDLogMessageOptions _options;\n    NSDate *_timestamp;\n    NSString *_threadID;\n    NSString *_threadName;\n    NSString *_queueLabel;\n}\n\n/**\n *  Default `init` for empty messages.\n */\n- (instancetype)init NS_DESIGNATED_INITIALIZER;\n\n/**\n * Standard init method for a log message object.\n * Used by the logging primitives. (And the macros use the logging primitives.)\n *\n * If you find need to manually create logMessage objects, there is one thing you should be aware of:\n *\n * If no flags are passed, the method expects the file and function parameters to be string literals.\n * That is, it expects the given strings to exist for the duration of the object's lifetime,\n * and it expects the given strings to be immutable.\n * In other words, it does not copy these strings, it simply points to them.\n * This is due to the fact that __FILE__ and __FUNCTION__ are usually used to specify these parameters,\n * so it makes sense to optimize and skip the unnecessary allocations.\n * However, if you need them to be copied you may use the options parameter to specify this.\n *\n *  @param message   the message\n *  @param level     the log level\n *  @param flag      the log flag\n *  @param context   the context (if any is defined)\n *  @param file      the current file\n *  @param function  the current function\n *  @param line      the current code line\n *  @param tag       potential tag\n *  @param options   a bitmask which supports DDLogMessageCopyFile and DDLogMessageCopyFunction.\n *  @param timestamp the log timestamp\n *\n *  @return a new instance of a log message model object\n */\n- (instancetype)initWithMessage:(NSString *)message\n                          level:(DDLogLevel)level\n                           flag:(DDLogFlag)flag\n                        context:(NSInteger)context\n                           file:(NSString *)file\n                       function:(NSString * __nullable)function\n                           line:(NSUInteger)line\n                            tag:(id __nullable)tag\n                        options:(DDLogMessageOptions)options\n                      timestamp:(NSDate * __nullable)timestamp NS_DESIGNATED_INITIALIZER;\n\n/**\n * Read-only properties\n **/\n\n/**\n *  The log message\n */\n@property (readonly, nonatomic) NSString *message;\n@property (readonly, nonatomic) DDLogLevel level;\n@property (readonly, nonatomic) DDLogFlag flag;\n@property (readonly, nonatomic) NSInteger context;\n@property (readonly, nonatomic) NSString *file;\n@property (readonly, nonatomic) NSString *fileName;\n@property (readonly, nonatomic) NSString * __nullable function;\n@property (readonly, nonatomic) NSUInteger line;\n@property (readonly, nonatomic) id __nullable tag;\n@property (readonly, nonatomic) DDLogMessageOptions options;\n@property (readonly, nonatomic) NSDate *timestamp;\n@property (readonly, nonatomic) NSString *threadID; // ID as it appears in NSLog calculated from the machThreadID\n@property (readonly, nonatomic) NSString *threadName;\n@property (readonly, nonatomic) NSString *queueLabel;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The `DDLogger` protocol specifies that an optional formatter can be added to a logger.\n * Most (but not all) loggers will want to support formatters.\n *\n * However, writting getters and setters in a thread safe manner,\n * while still maintaining maximum speed for the logging process, is a difficult task.\n *\n * To do it right, the implementation of the getter/setter has strict requiremenets:\n * - Must NOT require the `logMessage:` method to acquire a lock.\n * - Must NOT require the `logMessage:` method to access an atomic property (also a lock of sorts).\n *\n * To simplify things, an abstract logger is provided that implements the getter and setter.\n *\n * Logger implementations may simply extend this class,\n * and they can ACCESS THE FORMATTER VARIABLE DIRECTLY from within their `logMessage:` method!\n **/\n@interface DDAbstractLogger : NSObject <DDLogger>\n{\n    // Direct accessors to be used only for performance\n    @public\n    id <DDLogFormatter> _logFormatter;\n    dispatch_queue_t _loggerQueue;\n}\n\n@property (nonatomic, strong, nullable) id <DDLogFormatter> logFormatter;\n@property (nonatomic, DISPATCH_QUEUE_REFERENCE_TYPE) dispatch_queue_t loggerQueue;\n\n// For thread-safety assertions\n\n/**\n *  Return YES if the current logger uses a global queue for logging\n */\n@property (nonatomic, readonly, getter=isOnGlobalLoggingQueue)  BOOL onGlobalLoggingQueue;\n\n/**\n *  Return YES if the current logger uses the internal designated queue for logging\n */\n@property (nonatomic, readonly, getter=isOnInternalLoggerQueue) BOOL onInternalLoggerQueue;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDLoggerInformation : NSObject\n\n@property (nonatomic, readonly) id <DDLogger> logger;\n@property (nonatomic, readonly) DDLogLevel level;\n\n+ (DDLoggerInformation *)informationWithLogger:(id <DDLogger>)logger\n                           andLevel:(DDLogLevel)level;\n\n@end\n\nNS_ASSUME_NONNULL_END\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDLog.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n#import <pthread.h>\n#import <dispatch/dispatch.h>\n#import <objc/runtime.h>\n#import <mach/mach_host.h>\n#import <mach/host_info.h>\n#import <libkern/OSAtomic.h>\n#import <Availability.h>\n#if TARGET_OS_IOS\n    #import <UIKit/UIDevice.h>\n#endif\n\n\n#if !__has_feature(objc_arc)\n#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// We probably shouldn't be using DDLog() statements within the DDLog implementation.\n// But we still want to leave our log statements for any future debugging,\n// and to allow other developers to trace the implementation (which is a great learning tool).\n//\n// So we use a primitive logging macro around NSLog.\n// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog.\n\n#ifndef DD_DEBUG\n    #define DD_DEBUG NO\n#endif\n\n#define NSLogDebug(frmt, ...) do{ if(DD_DEBUG) NSLog((frmt), ##__VA_ARGS__); } while(0)\n\n// Specifies the maximum queue size of the logging thread.\n//\n// Since most logging is asynchronous, its possible for rogue threads to flood the logging queue.\n// That is, to issue an abundance of log statements faster than the logging thread can keepup.\n// Typically such a scenario occurs when log statements are added haphazardly within large loops,\n// but may also be possible if relatively slow loggers are being used.\n//\n// This property caps the queue size at a given number of outstanding log statements.\n// If a thread attempts to issue a log statement when the queue is already maxed out,\n// the issuing thread will block until the queue size drops below the max again.\n\n#ifndef DDLOG_MAX_QUEUE_SIZE\n    #define DDLOG_MAX_QUEUE_SIZE 1000 // Should not exceed INT32_MAX\n#endif\n\n// The \"global logging queue\" refers to [DDLog loggingQueue].\n// It is the queue that all log statements go through.\n//\n// The logging queue sets a flag via dispatch_queue_set_specific using this key.\n// We can check for this key via dispatch_get_specific() to see if we're on the \"global logging queue\".\n\nstatic void *const GlobalLoggingQueueIdentityKey = (void *)&GlobalLoggingQueueIdentityKey;\n\n@interface DDLoggerNode : NSObject\n{\n    // Direct accessors to be used only for performance\n    @public\n    id <DDLogger> _logger;\n    DDLogLevel _level;\n    dispatch_queue_t _loggerQueue;\n}\n\n@property (nonatomic, readonly) id <DDLogger> logger;\n@property (nonatomic, readonly) DDLogLevel level;\n@property (nonatomic, readonly) dispatch_queue_t loggerQueue;\n\n+ (DDLoggerNode *)nodeWithLogger:(id <DDLogger>)logger\n                     loggerQueue:(dispatch_queue_t)loggerQueue\n                           level:(DDLogLevel)level;\n\n@end\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDLog ()\n\n// An array used to manage all the individual loggers.\n// The array is only modified on the loggingQueue/loggingThread.\n@property (nonatomic, strong) NSMutableArray *_loggers;\n\n@end\n\n@implementation DDLog\n\n// All logging statements are added to the same queue to ensure FIFO operation.\nstatic dispatch_queue_t _loggingQueue;\n\n// Individual loggers are executed concurrently per log statement.\n// Each logger has it's own associated queue, and a dispatch group is used for synchrnoization.\nstatic dispatch_group_t _loggingGroup;\n\n// In order to prevent to queue from growing infinitely large,\n// a maximum size is enforced (DDLOG_MAX_QUEUE_SIZE).\nstatic dispatch_semaphore_t _queueSemaphore;\n\n// Minor optimization for uniprocessor machines\nstatic NSUInteger _numProcessors;\n\n/**\n *  Returns the singleton `DDLog`.\n *  The instance is used by `DDLog` class methods.\n *\n *  @return The singleton `DDLog`.\n */\n+ (instancetype)sharedInstance {\n    static id sharedInstance = nil;\n    \n    static dispatch_once_t onceToken;\n    dispatch_once(&onceToken, ^{\n        sharedInstance = [[self alloc] init];\n    });\n    \n    return sharedInstance;\n}\n\n/**\n * The runtime sends initialize to each class in a program exactly one time just before the class,\n * or any class that inherits from it, is sent its first message from within the program. (Thus the\n * method may never be invoked if the class is not used.) The runtime sends the initialize message to\n * classes in a thread-safe manner. Superclasses receive this message before their subclasses.\n *\n * This method may also be called directly (assumably by accident), hence the safety mechanism.\n **/\n+ (void)initialize {\n    static dispatch_once_t DDLogOnceToken;\n    \n    dispatch_once(&DDLogOnceToken, ^{\n        NSLogDebug(@\"DDLog: Using grand central dispatch\");\n        \n        _loggingQueue = dispatch_queue_create(\"cocoa.lumberjack\", NULL);\n        _loggingGroup = dispatch_group_create();\n        \n        void *nonNullValue = GlobalLoggingQueueIdentityKey; // Whatever, just not null\n        dispatch_queue_set_specific(_loggingQueue, GlobalLoggingQueueIdentityKey, nonNullValue, NULL);\n        \n        _queueSemaphore = dispatch_semaphore_create(DDLOG_MAX_QUEUE_SIZE);\n        \n        // Figure out how many processors are available.\n        // This may be used later for an optimization on uniprocessor machines.\n        \n        _numProcessors = MAX([NSProcessInfo processInfo].processorCount, (NSUInteger) 1);\n        \n        NSLogDebug(@\"DDLog: numProcessors = %@\", @(_numProcessors));\n    });\n}\n\n/**\n *  The `DDLog` initializer.\n *  Static variables are set only once.\n *\n *  @return An initialized `DDLog` instance.\n */\n- (id)init {\n    self = [super init];\n    \n    if (self) {\n        self._loggers = [[NSMutableArray alloc] initWithCapacity:4];\n        \n#if TARGET_OS_IOS\n        NSString *notificationName = @\"UIApplicationWillTerminateNotification\";\n#else\n        NSString *notificationName = nil;\n        \n        // On Command Line Tool apps AppKit may not be avaliable\n#ifdef NSAppKitVersionNumber10_0\n        \n        if (NSApp) {\n            notificationName = @\"NSApplicationWillTerminateNotification\";\n        }\n        \n#endif\n        \n        if (!notificationName) {\n            // If there is no NSApp -> we are running Command Line Tool app.\n            // In this case terminate notification wouldn't be fired, so we use workaround.\n            atexit_b (^{\n                [self applicationWillTerminate:nil];\n            });\n        }\n        \n#endif /* if TARGET_OS_IOS */\n        \n        if (notificationName) {\n            [[NSNotificationCenter defaultCenter] addObserver:self\n                                                     selector:@selector(applicationWillTerminate:)\n                                                         name:notificationName\n                                                       object:nil];\n        }\n    }\n    \n    return self;\n}\n\n/**\n * Provides access to the logging queue.\n **/\n+ (dispatch_queue_t)loggingQueue {\n    return _loggingQueue;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Notifications\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)applicationWillTerminate:(NSNotification * __attribute__((unused)))notification {\n    [self flushLog];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Logger Management\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (void)addLogger:(id <DDLogger>)logger {\n    [self.sharedInstance addLogger:logger];\n}\n\n- (void)addLogger:(id <DDLogger>)logger {\n    [self addLogger:logger withLevel:DDLogLevelAll]; // DDLogLevelAll has all bits set\n}\n\n+ (void)addLogger:(id <DDLogger>)logger withLevel:(DDLogLevel)level {\n    [self.sharedInstance addLogger:logger withLevel:level];\n}\n\n- (void)addLogger:(id <DDLogger>)logger withLevel:(DDLogLevel)level {\n    if (!logger) {\n        return;\n    }\n    \n    dispatch_async(_loggingQueue, ^{ @autoreleasepool {\n        [self lt_addLogger:logger level:level];\n    } });\n}\n\n+ (void)removeLogger:(id <DDLogger>)logger {\n    [self.sharedInstance removeLogger:logger];\n}\n\n- (void)removeLogger:(id <DDLogger>)logger {\n    if (!logger) {\n        return;\n    }\n    \n    dispatch_async(_loggingQueue, ^{ @autoreleasepool {\n        [self lt_removeLogger:logger];\n    } });\n}\n\n+ (void)removeAllLoggers {\n    [self.sharedInstance removeAllLoggers];\n}\n\n- (void)removeAllLoggers {\n    dispatch_async(_loggingQueue, ^{ @autoreleasepool {\n        [self lt_removeAllLoggers];\n    } });\n}\n\n+ (NSArray<id<DDLogger>> *)allLoggers {\n    return [self.sharedInstance allLoggers];\n}\n\n- (NSArray<id<DDLogger>> *)allLoggers {\n    __block NSArray *theLoggers;\n    \n    dispatch_sync(_loggingQueue, ^{ @autoreleasepool {\n        theLoggers = [self lt_allLoggers];\n    } });\n    \n    return theLoggers;\n}\n\n+ (NSArray<DDLoggerInformation *> *)allLoggersWithLevel {\n    return [self.sharedInstance allLoggersWithLevel];\n}\n\n- (NSArray<DDLoggerInformation *> *)allLoggersWithLevel {\n    __block NSArray *theLoggersWithLevel;\n    \n    dispatch_sync(_loggingQueue, ^{ @autoreleasepool {\n        theLoggersWithLevel = [self lt_allLoggersWithLevel];\n    } });\n    \n    return theLoggersWithLevel;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark - Master Logging\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)queueLogMessage:(DDLogMessage *)logMessage asynchronously:(BOOL)asyncFlag {\n    // We have a tricky situation here...\n    //\n    // In the common case, when the queueSize is below the maximumQueueSize,\n    // we want to simply enqueue the logMessage. And we want to do this as fast as possible,\n    // which means we don't want to block and we don't want to use any locks.\n    //\n    // However, if the queueSize gets too big, we want to block.\n    // But we have very strict requirements as to when we block, and how long we block.\n    //\n    // The following example should help illustrate our requirements:\n    //\n    // Imagine that the maximum queue size is configured to be 5,\n    // and that there are already 5 log messages queued.\n    // Let us call these 5 queued log messages A, B, C, D, and E. (A is next to be executed)\n    //\n    // Now if our thread issues a log statement (let us call the log message F),\n    // it should block before the message is added to the queue.\n    // Furthermore, it should be unblocked immediately after A has been unqueued.\n    //\n    // The requirements are strict in this manner so that we block only as long as necessary,\n    // and so that blocked threads are unblocked in the order in which they were blocked.\n    //\n    // Returning to our previous example, let us assume that log messages A through E are still queued.\n    // Our aforementioned thread is blocked attempting to queue log message F.\n    // Now assume we have another separate thread that attempts to issue log message G.\n    // It should block until log messages A and B have been unqueued.\n\n\n    // We are using a counting semaphore provided by GCD.\n    // The semaphore is initialized with our DDLOG_MAX_QUEUE_SIZE value.\n    // Everytime we want to queue a log message we decrement this value.\n    // If the resulting value is less than zero,\n    // the semaphore function waits in FIFO order for a signal to occur before returning.\n    //\n    // A dispatch semaphore is an efficient implementation of a traditional counting semaphore.\n    // Dispatch semaphores call down to the kernel only when the calling thread needs to be blocked.\n    // If the calling semaphore does not need to block, no kernel call is made.\n\n    dispatch_block_t logBlock = ^{\n        dispatch_semaphore_wait(_queueSemaphore, DISPATCH_TIME_FOREVER);\n        @autoreleasepool {\n            [self lt_log:logMessage];\n        }\n    };\n\n    // We've now sure we won't overflow the queue.\n    // It is time to queue our log message.\n\n    if (asyncFlag) {\n        dispatch_async(_loggingQueue, logBlock);\n    } else {\n        dispatch_sync(_loggingQueue, logBlock);\n    }\n}\n\n+ (void)log:(BOOL)asynchronous\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id)tag\n     format:(NSString *)format, ... {\n    va_list args;\n    \n    if (format) {\n        va_start(args, format);\n        \n        NSString *message = [[NSString alloc] initWithFormat:format arguments:args];\n        \n        va_end(args);\n        \n        va_start(args, format);\n        \n        [self log:asynchronous\n          message:message\n            level:level\n             flag:flag\n          context:context\n             file:file\n         function:function\n             line:line\n              tag:tag];\n        \n        va_end(args);\n    }\n}\n\n- (void)log:(BOOL)asynchronous\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id)tag\n     format:(NSString *)format, ... {\n    va_list args;\n    \n    if (format) {\n        va_start(args, format);\n        \n        NSString *message = [[NSString alloc] initWithFormat:format arguments:args];\n        \n        va_end(args);\n        \n        va_start(args, format);\n        \n        [self log:asynchronous\n          message:message\n            level:level\n             flag:flag\n          context:context\n             file:file\n         function:function\n             line:line\n              tag:tag];\n        \n        va_end(args);\n    }\n}\n\n+ (void)log:(BOOL)asynchronous\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id)tag\n     format:(NSString *)format\n       args:(va_list)args {\n    [self.sharedInstance log:asynchronous level:level flag:flag context:context file:file function:function line:line tag:tag format:format args:args];\n}\n\n- (void)log:(BOOL)asynchronous\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id)tag\n     format:(NSString *)format\n       args:(va_list)args {\n    if (format) {\n        NSString *message = [[NSString alloc] initWithFormat:format arguments:args];\n        [self log:asynchronous\n          message:message\n            level:level\n             flag:flag\n          context:context\n             file:file\n         function:function\n             line:line\n              tag:tag];\n    }\n}\n\n+ (void)log:(BOOL)asynchronous\n    message:(NSString *)message\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id)tag {\n    [self.sharedInstance log:asynchronous message:message level:level flag:flag context:context file:file function:function line:line tag:tag];\n}\n\n- (void)log:(BOOL)asynchronous\n    message:(NSString *)message\n      level:(DDLogLevel)level\n       flag:(DDLogFlag)flag\n    context:(NSInteger)context\n       file:(const char *)file\n   function:(const char *)function\n       line:(NSUInteger)line\n        tag:(id)tag {\n    DDLogMessage *logMessage = [[DDLogMessage alloc] initWithMessage:message\n                                                               level:level\n                                                                flag:flag\n                                                             context:context\n                                                                file:[NSString stringWithFormat:@\"%s\", file]\n                                                            function:[NSString stringWithFormat:@\"%s\", function]\n                                                                line:line\n                                                                 tag:tag\n                                                             options:(DDLogMessageOptions)0\n                                                           timestamp:nil];\n    \n    [self queueLogMessage:logMessage asynchronously:asynchronous];\n}\n\n+ (void)log:(BOOL)asynchronous\n    message:(DDLogMessage *)logMessage {\n    [self.sharedInstance log:asynchronous message:logMessage];\n}\n\n- (void)log:(BOOL)asynchronous\n    message:(DDLogMessage *)logMessage {\n    [self queueLogMessage:logMessage asynchronously:asynchronous];\n}\n\n+ (void)flushLog {\n    [self.sharedInstance flushLog];\n}\n\n- (void)flushLog {\n    dispatch_sync(_loggingQueue, ^{ @autoreleasepool {\n        [self lt_flush];\n    } });\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Registered Dynamic Logging\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (BOOL)isRegisteredClass:(Class)class {\n    SEL getterSel = @selector(ddLogLevel);\n    SEL setterSel = @selector(ddSetLogLevel:);\n\n#if TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR\n\n    // Issue #6 (GoogleCode) - Crashes on iOS 4.2.1 and iPhone 4\n    //\n    // Crash caused by class_getClassMethod(2).\n    //\n    //     \"It's a bug with UIAccessibilitySafeCategory__NSObject so it didn't pop up until\n    //      users had VoiceOver enabled [...]. I was able to work around it by searching the\n    //      result of class_copyMethodList() instead of calling class_getClassMethod()\"\n\n    BOOL result = NO;\n\n    unsigned int methodCount, i;\n    Method *methodList = class_copyMethodList(object_getClass(class), &methodCount);\n\n    if (methodList != NULL) {\n        BOOL getterFound = NO;\n        BOOL setterFound = NO;\n\n        for (i = 0; i < methodCount; ++i) {\n            SEL currentSel = method_getName(methodList[i]);\n\n            if (currentSel == getterSel) {\n                getterFound = YES;\n            } else if (currentSel == setterSel) {\n                setterFound = YES;\n            }\n\n            if (getterFound && setterFound) {\n                result = YES;\n                break;\n            }\n        }\n\n        free(methodList);\n    }\n\n    return result;\n\n#else /* if TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR */\n\n    // Issue #24 (GitHub) - Crashing in in ARC+Simulator\n    //\n    // The method +[DDLog isRegisteredClass] will crash a project when using it with ARC + Simulator.\n    // For running in the Simulator, it needs to execute the non-iOS code.\n\n    Method getter = class_getClassMethod(class, getterSel);\n    Method setter = class_getClassMethod(class, setterSel);\n\n    if ((getter != NULL) && (setter != NULL)) {\n        return YES;\n    }\n\n    return NO;\n\n#endif /* if TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR */\n}\n\n+ (NSArray *)registeredClasses {\n\n    // We're going to get the list of all registered classes.\n    // The Objective-C runtime library automatically registers all the classes defined in your source code.\n    //\n    // To do this we use the following method (documented in the Objective-C Runtime Reference):\n    //\n    // int objc_getClassList(Class *buffer, int bufferLen)\n    //\n    // We can pass (NULL, 0) to obtain the total number of\n    // registered class definitions without actually retrieving any class definitions.\n    // This allows us to allocate the minimum amount of memory needed for the application.\n\n    NSUInteger numClasses = 0;\n    Class *classes = NULL;\n\n    while (numClasses == 0) {\n\n        numClasses = (NSUInteger)MAX(objc_getClassList(NULL, 0), 0);\n\n        // numClasses now tells us how many classes we have (but it might change)\n        // So we can allocate our buffer, and get pointers to all the class definitions.\n\n        NSUInteger bufferSize = numClasses;\n\n        classes = numClasses ? (Class *)malloc(sizeof(Class) * bufferSize) : NULL;\n        if (classes == NULL) {\n            return @[]; //no memory or classes?\n        }\n\n        numClasses = (NSUInteger)MAX(objc_getClassList(classes, (int)bufferSize),0);\n\n        if (numClasses > bufferSize || numClasses == 0) {\n            //apparently more classes added between calls (or a problem); try again\n            free(classes);\n            classes = NULL;\n            numClasses = 0;\n        }\n    }\n\n    // We can now loop through the classes, and test each one to see if it is a DDLogging class.\n\n    NSMutableArray *result = [NSMutableArray arrayWithCapacity:numClasses];\n\n    for (NSUInteger i = 0; i < numClasses; i++) {\n        Class class = classes[i];\n\n        if ([self isRegisteredClass:class]) {\n            [result addObject:class];\n        }\n    }\n\n    free(classes);\n\n    return result;\n}\n\n+ (NSArray *)registeredClassNames {\n    NSArray *registeredClasses = [self registeredClasses];\n    NSMutableArray *result = [NSMutableArray arrayWithCapacity:[registeredClasses count]];\n\n    for (Class class in registeredClasses) {\n        [result addObject:NSStringFromClass(class)];\n    }\n    return result;\n}\n\n+ (DDLogLevel)levelForClass:(Class)aClass {\n    if ([self isRegisteredClass:aClass]) {\n        return [aClass ddLogLevel];\n    }\n    return (DDLogLevel)-1;\n}\n\n+ (DDLogLevel)levelForClassWithName:(NSString *)aClassName {\n    Class aClass = NSClassFromString(aClassName);\n\n    return [self levelForClass:aClass];\n}\n\n+ (void)setLevel:(DDLogLevel)level forClass:(Class)aClass {\n    if ([self isRegisteredClass:aClass]) {\n        [aClass ddSetLogLevel:level];\n    }\n}\n\n+ (void)setLevel:(DDLogLevel)level forClassWithName:(NSString *)aClassName {\n    Class aClass = NSClassFromString(aClassName);\n    [self setLevel:level forClass:aClass];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Logging Thread\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)lt_addLogger:(id <DDLogger>)logger level:(DDLogLevel)level {\n    // Add to loggers array.\n    // Need to create loggerQueue if loggerNode doesn't provide one.\n\n    for (DDLoggerNode* node in self._loggers) {\n        if (node->_logger == logger\n            && node->_level == level) {\n            // Exactly same logger already added, exit\n            return;\n        }\n    }\n\n    NSAssert(dispatch_get_specific(GlobalLoggingQueueIdentityKey),\n             @\"This method should only be run on the logging thread/queue\");\n\n    dispatch_queue_t loggerQueue = NULL;\n\n    if ([logger respondsToSelector:@selector(loggerQueue)]) {\n        // Logger may be providing its own queue\n\n        loggerQueue = [logger loggerQueue];\n    }\n\n    if (loggerQueue == nil) {\n        // Automatically create queue for the logger.\n        // Use the logger name as the queue name if possible.\n\n        const char *loggerQueueName = NULL;\n\n        if ([logger respondsToSelector:@selector(loggerName)]) {\n            loggerQueueName = [[logger loggerName] UTF8String];\n        }\n\n        loggerQueue = dispatch_queue_create(loggerQueueName, NULL);\n    }\n\n    DDLoggerNode *loggerNode = [DDLoggerNode nodeWithLogger:logger loggerQueue:loggerQueue level:level];\n    [self._loggers addObject:loggerNode];\n\n    if ([logger respondsToSelector:@selector(didAddLoggerInQueue:)]) {\n        dispatch_async(loggerNode->_loggerQueue, ^{ @autoreleasepool {\n            [logger didAddLoggerInQueue:loggerNode->_loggerQueue];\n        } });\n    } else if ([logger respondsToSelector:@selector(didAddLogger)]) {\n        dispatch_async(loggerNode->_loggerQueue, ^{ @autoreleasepool {\n            [logger didAddLogger];\n        } });\n    }\n}\n\n- (void)lt_removeLogger:(id <DDLogger>)logger {\n    // Find associated loggerNode in list of added loggers\n\n    NSAssert(dispatch_get_specific(GlobalLoggingQueueIdentityKey),\n             @\"This method should only be run on the logging thread/queue\");\n\n    DDLoggerNode *loggerNode = nil;\n\n    for (DDLoggerNode *node in self._loggers) {\n        if (node->_logger == logger) {\n            loggerNode = node;\n            break;\n        }\n    }\n    \n    if (loggerNode == nil) {\n        NSLogDebug(@\"DDLog: Request to remove logger which wasn't added\");\n        return;\n    }\n    \n    // Notify logger\n    if ([logger respondsToSelector:@selector(willRemoveLogger)]) {\n        dispatch_async(loggerNode->_loggerQueue, ^{ @autoreleasepool {\n            [logger willRemoveLogger];\n        } });\n    }\n    \n    // Remove from loggers array\n    [self._loggers removeObject:loggerNode];\n}\n\n- (void)lt_removeAllLoggers {\n    NSAssert(dispatch_get_specific(GlobalLoggingQueueIdentityKey),\n             @\"This method should only be run on the logging thread/queue\");\n    \n    // Notify all loggers\n    for (DDLoggerNode *loggerNode in self._loggers) {\n        if ([loggerNode->_logger respondsToSelector:@selector(willRemoveLogger)]) {\n            dispatch_async(loggerNode->_loggerQueue, ^{ @autoreleasepool {\n                [loggerNode->_logger willRemoveLogger];\n            } });\n        }\n    }\n    \n    // Remove all loggers from array\n\n    [self._loggers removeAllObjects];\n}\n\n- (NSArray *)lt_allLoggers {\n    NSAssert(dispatch_get_specific(GlobalLoggingQueueIdentityKey),\n             @\"This method should only be run on the logging thread/queue\");\n\n    NSMutableArray *theLoggers = [NSMutableArray new];\n\n    for (DDLoggerNode *loggerNode in self._loggers) {\n        [theLoggers addObject:loggerNode->_logger];\n    }\n\n    return [theLoggers copy];\n}\n\n- (NSArray *)lt_allLoggersWithLevel {\n    NSAssert(dispatch_get_specific(GlobalLoggingQueueIdentityKey),\n             @\"This method should only be run on the logging thread/queue\");\n    \n    NSMutableArray *theLoggersWithLevel = [NSMutableArray new];\n    \n    for (DDLoggerNode *loggerNode in self._loggers) {\n        [theLoggersWithLevel addObject:[DDLoggerInformation informationWithLogger:loggerNode->_logger\n                                                                         andLevel:loggerNode->_level]];\n    }\n    \n    return [theLoggersWithLevel copy];\n}\n\n- (void)lt_log:(DDLogMessage *)logMessage {\n    // Execute the given log message on each of our loggers.\n\n    NSAssert(dispatch_get_specific(GlobalLoggingQueueIdentityKey),\n             @\"This method should only be run on the logging thread/queue\");\n\n    if (_numProcessors > 1) {\n        // Execute each logger concurrently, each within its own queue.\n        // All blocks are added to same group.\n        // After each block has been queued, wait on group.\n        //\n        // The waiting ensures that a slow logger doesn't end up with a large queue of pending log messages.\n        // This would defeat the purpose of the efforts we made earlier to restrict the max queue size.\n\n        for (DDLoggerNode *loggerNode in self._loggers) {\n            // skip the loggers that shouldn't write this message based on the log level\n\n            if (!(logMessage->_flag & loggerNode->_level)) {\n                continue;\n            }\n            \n            dispatch_group_async(_loggingGroup, loggerNode->_loggerQueue, ^{ @autoreleasepool {\n                [loggerNode->_logger logMessage:logMessage];\n            } });\n        }\n        \n        dispatch_group_wait(_loggingGroup, DISPATCH_TIME_FOREVER);\n    } else {\n        // Execute each logger serialy, each within its own queue.\n        \n        for (DDLoggerNode *loggerNode in self._loggers) {\n            // skip the loggers that shouldn't write this message based on the log level\n\n            if (!(logMessage->_flag & loggerNode->_level)) {\n                continue;\n            }\n            \n            dispatch_sync(loggerNode->_loggerQueue, ^{ @autoreleasepool {\n                [loggerNode->_logger logMessage:logMessage];\n            } });\n        }\n    }\n\n    // If our queue got too big, there may be blocked threads waiting to add log messages to the queue.\n    // Since we've now dequeued an item from the log, we may need to unblock the next thread.\n\n    // We are using a counting semaphore provided by GCD.\n    // The semaphore is initialized with our DDLOG_MAX_QUEUE_SIZE value.\n    // When a log message is queued this value is decremented.\n    // When a log message is dequeued this value is incremented.\n    // If the value ever drops below zero,\n    // the queueing thread blocks and waits in FIFO order for us to signal it.\n    //\n    // A dispatch semaphore is an efficient implementation of a traditional counting semaphore.\n    // Dispatch semaphores call down to the kernel only when the calling thread needs to be blocked.\n    // If the calling semaphore does not need to block, no kernel call is made.\n\n    dispatch_semaphore_signal(_queueSemaphore);\n}\n\n- (void)lt_flush {\n    // All log statements issued before the flush method was invoked have now been executed.\n    //\n    // Now we need to propogate the flush request to any loggers that implement the flush method.\n    // This is designed for loggers that buffer IO.\n    \n    NSAssert(dispatch_get_specific(GlobalLoggingQueueIdentityKey),\n             @\"This method should only be run on the logging thread/queue\");\n    \n    for (DDLoggerNode *loggerNode in self._loggers) {\n        if ([loggerNode->_logger respondsToSelector:@selector(flush)]) {\n            dispatch_group_async(_loggingGroup, loggerNode->_loggerQueue, ^{ @autoreleasepool {\n                [loggerNode->_logger flush];\n            } });\n        }\n    }\n    \n    dispatch_group_wait(_loggingGroup, DISPATCH_TIME_FOREVER);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Utilities\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nNSString * __nullable DDExtractFileNameWithoutExtension(const char *filePath, BOOL copy) {\n    if (filePath == NULL) {\n        return nil;\n    }\n\n    char *lastSlash = NULL;\n    char *lastDot = NULL;\n\n    char *p = (char *)filePath;\n\n    while (*p != '\\0') {\n        if (*p == '/') {\n            lastSlash = p;\n        } else if (*p == '.') {\n            lastDot = p;\n        }\n\n        p++;\n    }\n\n    char *subStr;\n    NSUInteger subLen;\n\n    if (lastSlash) {\n        if (lastDot) {\n            // lastSlash -> lastDot\n            subStr = lastSlash + 1;\n            subLen = (NSUInteger)(lastDot - subStr);\n        } else {\n            // lastSlash -> endOfString\n            subStr = lastSlash + 1;\n            subLen = (NSUInteger)(p - subStr);\n        }\n    } else {\n        if (lastDot) {\n            // startOfString -> lastDot\n            subStr = (char *)filePath;\n            subLen = (NSUInteger)(lastDot - subStr);\n        } else {\n            // startOfString -> endOfString\n            subStr = (char *)filePath;\n            subLen = (NSUInteger)(p - subStr);\n        }\n    }\n\n    if (copy) {\n        return [[NSString alloc] initWithBytes:subStr\n                                        length:subLen\n                                      encoding:NSUTF8StringEncoding];\n    } else {\n        // We can take advantage of the fact that __FILE__ is a string literal.\n        // Specifically, we don't need to waste time copying the string.\n        // We can just tell NSString to point to a range within the string literal.\n\n        return [[NSString alloc] initWithBytesNoCopy:subStr\n                                              length:subLen\n                                            encoding:NSUTF8StringEncoding\n                                        freeWhenDone:NO];\n    }\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDLoggerNode\n\n- (instancetype)initWithLogger:(id <DDLogger>)logger loggerQueue:(dispatch_queue_t)loggerQueue level:(DDLogLevel)level {\n    if ((self = [super init])) {\n        _logger = logger;\n\n        if (loggerQueue) {\n            _loggerQueue = loggerQueue;\n            #if !OS_OBJECT_USE_OBJC\n            dispatch_retain(loggerQueue);\n            #endif\n        }\n\n        _level = level;\n    }\n    return self;\n}\n\n+ (DDLoggerNode *)nodeWithLogger:(id <DDLogger>)logger loggerQueue:(dispatch_queue_t)loggerQueue level:(DDLogLevel)level {\n    return [[DDLoggerNode alloc] initWithLogger:logger loggerQueue:loggerQueue level:level];\n}\n\n- (void)dealloc {\n    #if !OS_OBJECT_USE_OBJC\n    if (_loggerQueue) {\n        dispatch_release(_loggerQueue);\n    }\n    #endif\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDLogMessage\n\n// Can we use DISPATCH_CURRENT_QUEUE_LABEL ?\n// Can we use dispatch_get_current_queue (without it crashing) ?\n//\n// a) Compiling against newer SDK's (iOS 7+/OS X 10.9+) where DISPATCH_CURRENT_QUEUE_LABEL is defined\n//    on a (iOS 7.0+/OS X 10.9+) runtime version\n//\n// b) Systems where dispatch_get_current_queue is not yet deprecated and won't crash (< iOS 6.0/OS X 10.9)\n//\n//    dispatch_get_current_queue(void);\n//      __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6,__MAC_10_9,__IPHONE_4_0,__IPHONE_6_0)\n\n#if TARGET_OS_IOS\n\n// Compiling for iOS\n\nstatic BOOL _use_dispatch_current_queue_label;\nstatic BOOL _use_dispatch_get_current_queue;\n\nstatic void _dispatch_queue_label_init_once(void * __attribute__((unused)) context)\n{\n    _use_dispatch_current_queue_label = (UIDevice.currentDevice.systemVersion.floatValue >= 7.0f);\n    _use_dispatch_get_current_queue = (!_use_dispatch_current_queue_label && UIDevice.currentDevice.systemVersion.floatValue >= 6.1f);\n}\n\nstatic __inline__ __attribute__((__always_inline__)) void _dispatch_queue_label_init()\n{\n    static dispatch_once_t onceToken;\n    dispatch_once_f(&onceToken, NULL, _dispatch_queue_label_init_once);\n}\n\n  #define USE_DISPATCH_CURRENT_QUEUE_LABEL (_dispatch_queue_label_init(), _use_dispatch_current_queue_label)\n  #define USE_DISPATCH_GET_CURRENT_QUEUE   (_dispatch_queue_label_init(), _use_dispatch_get_current_queue)\n\n#elif TARGET_OS_WATCH || TARGET_OS_TV\n\n// Compiling for watchOS, tvOS\n\n  #define USE_DISPATCH_CURRENT_QUEUE_LABEL YES\n  #define USE_DISPATCH_GET_CURRENT_QUEUE   NO\n\n#else\n\n// Compiling for Mac OS X\n\n  #ifndef MAC_OS_X_VERSION_10_9\n    #define MAC_OS_X_VERSION_10_9            1090\n  #endif\n\n  #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9 // Mac OS X 10.9 or later required\n\n    #define USE_DISPATCH_CURRENT_QUEUE_LABEL YES\n    #define USE_DISPATCH_GET_CURRENT_QUEUE   NO\n\n  #else\n\nstatic BOOL _use_dispatch_current_queue_label;\nstatic BOOL _use_dispatch_get_current_queue;\n\nstatic void _dispatch_queue_label_init_once(void * __attribute__((unused)) context)\n{\n    _use_dispatch_current_queue_label = [NSTimer instancesRespondToSelector : @selector(tolerance)]; // OS X 10.9+\n    _use_dispatch_get_current_queue = !_use_dispatch_current_queue_label;                            // < OS X 10.9\n}\n\nstatic __inline__ __attribute__((__always_inline__)) void _dispatch_queue_label_init()\n{\n    static dispatch_once_t onceToken;\n    dispatch_once_f(&onceToken, NULL, _dispatch_queue_label_init_once);\n}\n\n    #define USE_DISPATCH_CURRENT_QUEUE_LABEL (_dispatch_queue_label_init(), _use_dispatch_current_queue_label)\n    #define USE_DISPATCH_GET_CURRENT_QUEUE   (_dispatch_queue_label_init(), _use_dispatch_get_current_queue)\n\n  #endif\n\n#endif /* if TARGET_OS_IOS */\n\n// Should we use pthread_threadid_np ?\n// With iOS 8+/OSX 10.10+ NSLog uses pthread_threadid_np instead of pthread_mach_thread_np\n\n#if TARGET_OS_IOS\n\n// Compiling for iOS\n\n  #ifndef kCFCoreFoundationVersionNumber_iOS_8_0\n    #define kCFCoreFoundationVersionNumber_iOS_8_0 1140.10\n  #endif\n\n  #define USE_PTHREAD_THREADID_NP                (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0)\n\n#elif TARGET_OS_WATCH || TARGET_OS_TV\n\n// Compiling for watchOS, tvOS\n\n  #define USE_PTHREAD_THREADID_NP                YES\n\n#else\n\n// Compiling for Mac OS X\n\n  #ifndef kCFCoreFoundationVersionNumber10_10\n    #define kCFCoreFoundationVersionNumber10_10    1151.16\n  #endif\n\n  #define USE_PTHREAD_THREADID_NP                (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber10_10)\n\n#endif /* if TARGET_OS_IOS */\n\n- (instancetype)init {\n    self = [super init];\n    return self;\n}\n\n- (instancetype)initWithMessage:(NSString *)message\n                          level:(DDLogLevel)level\n                           flag:(DDLogFlag)flag\n                        context:(NSInteger)context\n                           file:(NSString *)file\n                       function:(NSString *)function\n                           line:(NSUInteger)line\n                            tag:(id)tag\n                        options:(DDLogMessageOptions)options\n                      timestamp:(NSDate *)timestamp {\n    if ((self = [super init])) {\n        BOOL copyMessage = (options & DDLogMessageDontCopyMessage) == 0;\n        _message      = copyMessage ? [message copy] : message;\n        _level        = level;\n        _flag         = flag;\n        _context      = context;\n\n        BOOL copyFile = (options & DDLogMessageCopyFile) != 0;\n        _file = copyFile ? [file copy] : file;\n\n        BOOL copyFunction = (options & DDLogMessageCopyFunction) != 0;\n        _function = copyFunction ? [function copy] : function;\n\n        _line         = line;\n        _tag          = tag;\n        _options      = options;\n        _timestamp    = timestamp ?: [NSDate new];\n\n        if (USE_PTHREAD_THREADID_NP) {\n            __uint64_t tid;\n            pthread_threadid_np(NULL, &tid);\n            _threadID = [[NSString alloc] initWithFormat:@\"%llu\", tid];\n        } else {\n            _threadID = [[NSString alloc] initWithFormat:@\"%x\", pthread_mach_thread_np(pthread_self())];\n        }\n        _threadName   = NSThread.currentThread.name;\n\n        // Get the file name without extension\n        _fileName = [_file lastPathComponent];\n        NSUInteger dotLocation = [_fileName rangeOfString:@\".\" options:NSBackwardsSearch].location;\n        if (dotLocation != NSNotFound)\n        {\n            _fileName = [_fileName substringToIndex:dotLocation];\n        }\n        \n        // Try to get the current queue's label\n        if (USE_DISPATCH_CURRENT_QUEUE_LABEL) {\n            _queueLabel = [[NSString alloc] initWithFormat:@\"%s\", dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL)];\n        } else if (USE_DISPATCH_GET_CURRENT_QUEUE) {\n            #pragma clang diagnostic push\n            #pragma clang diagnostic ignored \"-Wdeprecated-declarations\"\n            dispatch_queue_t currentQueue = dispatch_get_current_queue();\n            #pragma clang diagnostic pop\n            _queueLabel = [[NSString alloc] initWithFormat:@\"%s\", dispatch_queue_get_label(currentQueue)];\n        } else {\n            _queueLabel = @\"\"; // iOS 6.x only\n        }\n    }\n    return self;\n}\n\n- (id)copyWithZone:(NSZone * __attribute__((unused)))zone {\n    DDLogMessage *newMessage = [DDLogMessage new];\n    \n    newMessage->_message = _message;\n    newMessage->_level = _level;\n    newMessage->_flag = _flag;\n    newMessage->_context = _context;\n    newMessage->_file = _file;\n    newMessage->_fileName = _fileName;\n    newMessage->_function = _function;\n    newMessage->_line = _line;\n    newMessage->_tag = _tag;\n    newMessage->_options = _options;\n    newMessage->_timestamp = _timestamp;\n    newMessage->_threadID = _threadID;\n    newMessage->_threadName = _threadName;\n    newMessage->_queueLabel = _queueLabel;\n\n    return newMessage;\n}\n\n@end\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDAbstractLogger\n\n- (instancetype)init {\n    if ((self = [super init])) {\n        const char *loggerQueueName = NULL;\n\n        if ([self respondsToSelector:@selector(loggerName)]) {\n            loggerQueueName = [[self loggerName] UTF8String];\n        }\n\n        _loggerQueue = dispatch_queue_create(loggerQueueName, NULL);\n\n        // We're going to use dispatch_queue_set_specific() to \"mark\" our loggerQueue.\n        // Later we can use dispatch_get_specific() to determine if we're executing on our loggerQueue.\n        // The documentation states:\n        //\n        // > Keys are only compared as pointers and are never dereferenced.\n        // > Thus, you can use a pointer to a static variable for a specific subsystem or\n        // > any other value that allows you to identify the value uniquely.\n        // > Specifying a pointer to a string constant is not recommended.\n        //\n        // So we're going to use the very convenient key of \"self\",\n        // which also works when multiple logger classes extend this class, as each will have a different \"self\" key.\n        //\n        // This is used primarily for thread-safety assertions (via the isOnInternalLoggerQueue method below).\n\n        void *key = (__bridge void *)self;\n        void *nonNullValue = (__bridge void *)self;\n\n        dispatch_queue_set_specific(_loggerQueue, key, nonNullValue, NULL);\n    }\n\n    return self;\n}\n\n- (void)dealloc {\n    #if !OS_OBJECT_USE_OBJC\n\n    if (_loggerQueue) {\n        dispatch_release(_loggerQueue);\n    }\n\n    #endif\n}\n\n- (void)logMessage:(DDLogMessage * __attribute__((unused)))logMessage {\n    // Override me\n}\n\n- (id <DDLogFormatter>)logFormatter {\n    // This method must be thread safe and intuitive.\n    // Therefore if somebody executes the following code:\n    //\n    // [logger setLogFormatter:myFormatter];\n    // formatter = [logger logFormatter];\n    //\n    // They would expect formatter to equal myFormatter.\n    // This functionality must be ensured by the getter and setter method.\n    //\n    // The thread safety must not come at a cost to the performance of the logMessage method.\n    // This method is likely called sporadically, while the logMessage method is called repeatedly.\n    // This means, the implementation of this method:\n    // - Must NOT require the logMessage method to acquire a lock.\n    // - Must NOT require the logMessage method to access an atomic property (also a lock of sorts).\n    //\n    // Thread safety is ensured by executing access to the formatter variable on the loggerQueue.\n    // This is the same queue that the logMessage method operates on.\n    //\n    // Note: The last time I benchmarked the performance of direct access vs atomic property access,\n    // direct access was over twice as fast on the desktop and over 6 times as fast on the iPhone.\n    //\n    // Furthermore, consider the following code:\n    //\n    // DDLogVerbose(@\"log msg 1\");\n    // DDLogVerbose(@\"log msg 2\");\n    // [logger setFormatter:myFormatter];\n    // DDLogVerbose(@\"log msg 3\");\n    //\n    // Our intuitive requirement means that the new formatter will only apply to the 3rd log message.\n    // This must remain true even when using asynchronous logging.\n    // We must keep in mind the various queue's that are in play here:\n    //\n    // loggerQueue : Our own private internal queue that the logMessage method runs on.\n    //               Operations are added to this queue from the global loggingQueue.\n    //\n    // globalLoggingQueue : The queue that all log messages go through before they arrive in our loggerQueue.\n    //\n    // All log statements go through the serial gloabalLoggingQueue before they arrive at our loggerQueue.\n    // Thus this method also goes through the serial globalLoggingQueue to ensure intuitive operation.\n\n    // IMPORTANT NOTE:\n    //\n    // Methods within the DDLogger implementation MUST access the formatter ivar directly.\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    __block id <DDLogFormatter> result;\n\n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(self->_loggerQueue, ^{\n            result = self->_logFormatter;\n        });\n    });\n\n    return result;\n}\n\n- (void)setLogFormatter:(id <DDLogFormatter>)logFormatter {\n    // The design of this method is documented extensively in the logFormatter message (above in code).\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            if (self->_logFormatter != logFormatter) {\n                if ([self->_logFormatter respondsToSelector:@selector(willRemoveFromLogger:)]) {\n                    [self->_logFormatter willRemoveFromLogger:self];\n                }\n\n                self->_logFormatter = logFormatter;\n \n                if ([self->_logFormatter respondsToSelector:@selector(didAddToLogger:inQueue:)]) {\n                    [self->_logFormatter didAddToLogger:self inQueue:self->_loggerQueue];\n                } else if ([self->_logFormatter respondsToSelector:@selector(didAddToLogger:)]) {\n                    [self->_logFormatter didAddToLogger:self];\n                }\n            }\n        }\n    };\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    dispatch_async(globalLoggingQueue, ^{\n        dispatch_async(self->_loggerQueue, block);\n    });\n}\n\n- (dispatch_queue_t)loggerQueue {\n    return _loggerQueue;\n}\n\n- (NSString *)loggerName {\n    return NSStringFromClass([self class]);\n}\n\n- (BOOL)isOnGlobalLoggingQueue {\n    return (dispatch_get_specific(GlobalLoggingQueueIdentityKey) != NULL);\n}\n\n- (BOOL)isOnInternalLoggerQueue {\n    void *key = (__bridge void *)self;\n\n    return (dispatch_get_specific(key) != NULL);\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDLoggerInformation()\n{\n    // Direct accessors to be used only for performance\n    @public\n    id <DDLogger> _logger;\n    DDLogLevel _level;\n}\n\n@end\n\n@implementation DDLoggerInformation\n\n- (instancetype)initWithLogger:(id <DDLogger>)logger andLevel:(DDLogLevel)level {\n    if ((self = [super init])) {\n        _logger = logger;\n        _level = level;\n    }\n    return self;\n}\n\n+ (DDLoggerInformation *)informationWithLogger:(id <DDLogger>)logger andLevel:(DDLogLevel)level {\n    return [[DDLoggerInformation alloc] initWithLogger:logger andLevel:level];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDLogMacros.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n/**\n * The constant/variable/method responsible for controlling the current log level.\n **/\n#ifndef LOG_LEVEL_DEF\n    #define LOG_LEVEL_DEF ddLogLevel\n#endif\n\n/**\n * Whether async should be used by log messages, excluding error messages that are always sent sync.\n **/\n#ifndef LOG_ASYNC_ENABLED\n    #define LOG_ASYNC_ENABLED YES\n#endif\n\n/**\n * These are the two macros that all other macros below compile into.\n * These big multiline macros makes all the other macros easier to read.\n **/\n#define LOG_MACRO(isAsynchronous, lvl, flg, ctx, atag, fnct, frmt, ...) \\\n        [DDLog log : isAsynchronous                                     \\\n             level : lvl                                                \\\n              flag : flg                                                \\\n           context : ctx                                                \\\n              file : __FILE__                                           \\\n          function : fnct                                               \\\n              line : __LINE__                                           \\\n               tag : atag                                               \\\n            format : (frmt), ## __VA_ARGS__]\n\n#define LOG_MACRO_TO_DDLOG(ddlog, isAsynchronous, lvl, flg, ctx, atag, fnct, frmt, ...) \\\n        [ddlog log : isAsynchronous                                     \\\n             level : lvl                                                \\\n              flag : flg                                                \\\n           context : ctx                                                \\\n              file : __FILE__                                           \\\n          function : fnct                                               \\\n              line : __LINE__                                           \\\n               tag : atag                                               \\\n            format : (frmt), ## __VA_ARGS__]\n\n/**\n * Define version of the macro that only execute if the log level is above the threshold.\n * The compiled versions essentially look like this:\n *\n * if (logFlagForThisLogMsg & ddLogLevel) { execute log message }\n *\n * When LOG_LEVEL_DEF is defined as ddLogLevel.\n *\n * As shown further below, Lumberjack actually uses a bitmask as opposed to primitive log levels.\n * This allows for a great amount of flexibility and some pretty advanced fine grained logging techniques.\n *\n * Note that when compiler optimizations are enabled (as they are for your release builds),\n * the log messages above your logging threshold will automatically be compiled out.\n *\n * (If the compiler sees LOG_LEVEL_DEF/ddLogLevel declared as a constant, the compiler simply checks to see\n *  if the 'if' statement would execute, and if not it strips it from the binary.)\n *\n * We also define shorthand versions for asynchronous and synchronous logging.\n **/\n#define LOG_MAYBE(async, lvl, flg, ctx, tag, fnct, frmt, ...) \\\n        do { if(lvl & flg) LOG_MACRO(async, lvl, flg, ctx, tag, fnct, frmt, ##__VA_ARGS__); } while(0)\n\n#define LOG_MAYBE_TO_DDLOG(ddlog, async, lvl, flg, ctx, tag, fnct, frmt, ...) \\\n        do { if(lvl & flg) LOG_MACRO_TO_DDLOG(ddlog, async, lvl, flg, ctx, tag, fnct, frmt, ##__VA_ARGS__); } while(0)\n\n/**\n * Ready to use log macros with no context or tag.\n **/\n#define DDLogError(frmt, ...)   LOG_MAYBE(NO,                LOG_LEVEL_DEF, DDLogFlagError,   0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogWarn(frmt, ...)    LOG_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagWarning, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogInfo(frmt, ...)    LOG_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagInfo,    0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogDebug(frmt, ...)   LOG_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagDebug,   0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogVerbose(frmt, ...) LOG_MAYBE(LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagVerbose, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n#define DDLogErrorToDDLog(ddlog, frmt, ...)   LOG_MAYBE_TO_DDLOG(ddlog, NO,                LOG_LEVEL_DEF, DDLogFlagError,   0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogWarnToDDLog(ddlog, frmt, ...)    LOG_MAYBE_TO_DDLOG(ddlog, LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagWarning, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogInfoToDDLog(ddlog, frmt, ...)    LOG_MAYBE_TO_DDLOG(ddlog, LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagInfo,    0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogDebugToDDLog(ddlog, frmt, ...)   LOG_MAYBE_TO_DDLOG(ddlog, LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagDebug,   0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogVerboseToDDLog(ddlog, frmt, ...) LOG_MAYBE_TO_DDLOG(ddlog, LOG_ASYNC_ENABLED, LOG_LEVEL_DEF, DDLogFlagVerbose, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDOSLogger.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import <Foundation/Foundation.h>\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n/**\n * This class provides a logger for the Apple os_log facility.\n **/\n@interface DDOSLogger : DDAbstractLogger <DDLogger>\n\n/**\n *  Singleton method\n *\n *  @return the shared instance\n */\n@property (class, readonly, strong) DDOSLogger *sharedInstance;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDOSLogger.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDOSLogger.h\"\n#import <os/log.h>\n\nstatic DDOSLogger *sharedInstance;\n\n@implementation DDOSLogger\n\n+ (instancetype)sharedInstance {\n    static dispatch_once_t DDOSLoggerOnceToken;\n\n    dispatch_once(&DDOSLoggerOnceToken, ^{\n        sharedInstance = [[[self class] alloc] init];\n    });\n\n    return sharedInstance;\n}\n\n- (instancetype)init {\n    if (sharedInstance != nil) {\n        return nil;\n    }\n\n    if (self = [super init]) {\n        return self;\n    }\n\n    return nil;\n}\n\n- (void)logMessage:(DDLogMessage *)logMessage {\n    // Skip captured log messages\n    if ([logMessage->_fileName isEqualToString:@\"DDASLLogCapture\"]) {\n        return;\n    }\n    \n    if(@available(iOS 10.0, macOS 10.12, tvOS 10.0, watchOS 3.0, *)) {\n        \n        NSString * message = _logFormatter ? [_logFormatter formatLogMessage:logMessage] : logMessage->_message;\n        if (message) {\n            const char *msg = [message UTF8String];\n            \n            switch (logMessage->_flag) {\n                case DDLogFlagError     :\n                    os_log_error(OS_LOG_DEFAULT, \"%{public}s\", msg);\n                    break;\n                case DDLogFlagWarning   :\n                case DDLogFlagInfo      :\n                    os_log_info(OS_LOG_DEFAULT, \"%{public}s\", msg);\n                    break;\n                case DDLogFlagDebug     :\n                case DDLogFlagVerbose   :\n                default                 :\n                    os_log_debug(OS_LOG_DEFAULT, \"%{public}s\", msg);\n                    break;\n            }\n        }\n        \n    }\n\n}\n\n- (NSString *)loggerName {\n    return @\"cocoa.lumberjack.osLogger\";\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDTTYLogger.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n#define LOG_CONTEXT_ALL INT_MAX\n\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wunused-function\"\n#if !(TARGET_OS_OSX)\n    // iOS or tvOS or watchOS\n    #import <UIKit/UIColor.h>\n    typedef UIColor DDColor;\n    static inline DDColor* DDMakeColor(CGFloat r, CGFloat g, CGFloat b) {return [DDColor colorWithRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:1.0f];}\n#elif defined(DD_CLI) || !__has_include(<AppKit/NSColor.h>)\n    // OS X CLI\n    #import \"CLIColor.h\"\n    typedef CLIColor DDColor;\n    static inline DDColor* DDMakeColor(CGFloat r, CGFloat g, CGFloat b) {return [DDColor colorWithCalibratedRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:1.0f];}\n#else\n    // OS X with AppKit\n    #import <AppKit/NSColor.h>\n    typedef NSColor DDColor;\n    static inline DDColor* DDMakeColor(CGFloat r, CGFloat g, CGFloat b) {return [DDColor colorWithCalibratedRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:1.0f];}\n#endif\n#pragma clang diagnostic pop\n\n\n/**\n * This class provides a logger for Terminal output or Xcode console output,\n * depending on where you are running your code.\n *\n * As described in the \"Getting Started\" page,\n * the traditional NSLog() function directs it's output to two places:\n *\n * - Apple System Log (so it shows up in Console.app)\n * - StdErr (if stderr is a TTY, so log statements show up in Xcode console)\n *\n * To duplicate NSLog() functionality you can simply add this logger and an asl logger.\n * However, if you instead choose to use file logging (for faster performance),\n * you may choose to use only a file logger and a tty logger.\n **/\n@interface DDTTYLogger : DDAbstractLogger <DDLogger>\n\n/**\n *  Singleton method\n */\n@property (class, readonly, strong) DDTTYLogger *sharedInstance;\n\n/* Inherited from the DDLogger protocol:\n *\n * Formatters may optionally be added to any logger.\n *\n * If no formatter is set, the logger simply logs the message as it is given in logMessage,\n * or it may use its own built in formatting style.\n *\n * More information about formatters can be found here:\n * Documentation/CustomFormatters.md\n *\n * The actual implementation of these methods is inherited from DDAbstractLogger.\n\n   - (id <DDLogFormatter>)logFormatter;\n   - (void)setLogFormatter:(id <DDLogFormatter>)formatter;\n\n */\n\n/**\n * Want to use different colors for different log levels?\n * Enable this property.\n *\n * If you run the application via the Terminal (not Xcode),\n * the logger will map colors to xterm-256color or xterm-color (if available).\n *\n * Xcode does NOT natively support colors in the Xcode debugging console.\n * You'll need to install the XcodeColors plugin to see colors in the Xcode console.\n * https://github.com/robbiehanson/XcodeColors\n *\n * The default value is NO.\n **/\n@property (readwrite, assign) BOOL colorsEnabled;\n\n/**\n * When using a custom formatter you can set the `logMessage` method not to append\n * `\\n` character after each output. This allows for some greater flexibility with\n * custom formatters. Default value is YES.\n **/\n@property (nonatomic, readwrite, assign) BOOL automaticallyAppendNewlineForCustomFormatters;\n\n/**\n * The default color set (foregroundColor, backgroundColor) is:\n *\n * - DDLogFlagError   = (red, nil)\n * - DDLogFlagWarning = (orange, nil)\n *\n * You can customize the colors however you see fit.\n * Please note that you are passing a flag, NOT a level.\n *\n * GOOD : [ttyLogger setForegroundColor:pink backgroundColor:nil forFlag:DDLogFlagInfo];  // <- Good :)\n *  BAD : [ttyLogger setForegroundColor:pink backgroundColor:nil forFlag:DDLogLevelInfo]; // <- BAD! :(\n *\n * DDLogFlagInfo  = 0...00100\n * DDLogLevelInfo = 0...00111 <- Would match DDLogFlagInfo and DDLogFlagWarning and DDLogFlagError\n *\n * If you run the application within Xcode, then the XcodeColors plugin is required.\n *\n * If you run the application from a shell, then DDTTYLogger will automatically map the given color to\n * the closest available color. (xterm-256color or xterm-color which have 256 and 16 supported colors respectively.)\n *\n * This method invokes setForegroundColor:backgroundColor:forFlag:context: and applies it to `LOG_CONTEXT_ALL`.\n **/\n- (void)setForegroundColor:(DDColor *)txtColor backgroundColor:(DDColor *)bgColor forFlag:(DDLogFlag)mask;\n\n/**\n * Just like setForegroundColor:backgroundColor:flag, but allows you to specify a particular logging context.\n *\n * A logging context is often used to identify log messages coming from a 3rd party framework,\n * although logging context's can be used for many different functions.\n *\n * Use LOG_CONTEXT_ALL to set the deafult color for all contexts that have no specific color set defined.\n *\n * Logging context's are explained in further detail here:\n * Documentation/CustomContext.md\n **/\n- (void)setForegroundColor:(DDColor *)txtColor backgroundColor:(DDColor *)bgColor forFlag:(DDLogFlag)mask context:(NSInteger)ctxt;\n\n/**\n * Similar to the methods above, but allows you to map DDLogMessage->tag to a particular color profile.\n * For example, you could do something like this:\n *\n * static NSString *const PurpleTag = @\"PurpleTag\";\n *\n * #define DDLogPurple(frmt, ...) LOG_OBJC_TAG_MACRO(NO, 0, 0, 0, PurpleTag, frmt, ##__VA_ARGS__)\n * \n * And then where you configure CocoaLumberjack:\n *\n * purple = DDMakeColor((64/255.0), (0/255.0), (128/255.0));\n *\n * or any UIColor/NSColor constructor.\n *\n * Note: For CLI OS X projects that don't link with AppKit use CLIColor objects instead\n *\n * [[DDTTYLogger sharedInstance] setForegroundColor:purple backgroundColor:nil forTag:PurpleTag];\n * [DDLog addLogger:[DDTTYLogger sharedInstance]];\n *\n * This would essentially give you a straight NSLog replacement that prints in purple:\n *\n * DDLogPurple(@\"I'm a purple log message!\");\n **/\n- (void)setForegroundColor:(DDColor *)txtColor backgroundColor:(DDColor *)bgColor forTag:(id <NSCopying>)tag;\n\n/**\n * Clearing color profiles.\n **/\n- (void)clearColorsForFlag:(DDLogFlag)mask;\n- (void)clearColorsForFlag:(DDLogFlag)mask context:(NSInteger)context;\n- (void)clearColorsForTag:(id <NSCopying>)tag;\n- (void)clearColorsForAllFlags;\n- (void)clearColorsForAllTags;\n- (void)clearAllColors;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/DDTTYLogger.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDTTYLogger.h\"\n\n#import <unistd.h>\n#import <sys/uio.h>\n\n#if !__has_feature(objc_arc)\n#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// We probably shouldn't be using DDLog() statements within the DDLog implementation.\n// But we still want to leave our log statements for any future debugging,\n// and to allow other developers to trace the implementation (which is a great learning tool).\n//\n// So we use primitive logging macros around NSLog.\n// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog.\n\n#ifndef DD_NSLOG_LEVEL\n    #define DD_NSLOG_LEVEL 2\n#endif\n\n#define NSLogError(frmt, ...)    do{ if(DD_NSLOG_LEVEL >= 1) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogWarn(frmt, ...)     do{ if(DD_NSLOG_LEVEL >= 2) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogInfo(frmt, ...)     do{ if(DD_NSLOG_LEVEL >= 3) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogDebug(frmt, ...)    do{ if(DD_NSLOG_LEVEL >= 4) NSLog((frmt), ##__VA_ARGS__); } while(0)\n#define NSLogVerbose(frmt, ...)  do{ if(DD_NSLOG_LEVEL >= 5) NSLog((frmt), ##__VA_ARGS__); } while(0)\n\n// Xcode does NOT natively support colors in the Xcode debugging console.\n// You'll need to install the XcodeColors plugin to see colors in the Xcode console.\n// https://github.com/robbiehanson/XcodeColors\n//\n// The following is documentation from the XcodeColors project:\n//\n//\n// How to apply color formatting to your log statements:\n//\n// To set the foreground color:\n// Insert the ESCAPE_SEQ into your string, followed by \"fg124,12,255;\" where r=124, g=12, b=255.\n//\n// To set the background color:\n// Insert the ESCAPE_SEQ into your string, followed by \"bg12,24,36;\" where r=12, g=24, b=36.\n//\n// To reset the foreground color (to default value):\n// Insert the ESCAPE_SEQ into your string, followed by \"fg;\"\n//\n// To reset the background color (to default value):\n// Insert the ESCAPE_SEQ into your string, followed by \"bg;\"\n//\n// To reset the foreground and background color (to default values) in one operation:\n// Insert the ESCAPE_SEQ into your string, followed by \";\"\n\n#define XCODE_COLORS_ESCAPE_SEQ \"\\033[\"\n\n#define XCODE_COLORS_RESET_FG   XCODE_COLORS_ESCAPE_SEQ \"fg;\" // Clear any foreground color\n#define XCODE_COLORS_RESET_BG   XCODE_COLORS_ESCAPE_SEQ \"bg;\" // Clear any background color\n#define XCODE_COLORS_RESET      XCODE_COLORS_ESCAPE_SEQ \";\"  // Clear any foreground or background color\n\n// If running in a shell, not all RGB colors will be supported.\n// In this case we automatically map to the closest available color.\n// In order to provide this mapping, we have a hard-coded set of the standard RGB values available in the shell.\n// However, not every shell is the same, and Apple likes to think different even when it comes to shell colors.\n//\n// Map to standard Terminal.app colors (1), or\n// map to standard xterm colors (0).\n\n#define MAP_TO_TERMINAL_APP_COLORS 1\n\n\n@interface DDTTYLoggerColorProfile : NSObject {\n    @public\n    DDLogFlag mask;\n    NSInteger context;\n\n    uint8_t fg_r;\n    uint8_t fg_g;\n    uint8_t fg_b;\n\n    uint8_t bg_r;\n    uint8_t bg_g;\n    uint8_t bg_b;\n\n    NSUInteger fgCodeIndex;\n    NSString *fgCodeRaw;\n\n    NSUInteger bgCodeIndex;\n    NSString *bgCodeRaw;\n\n    char fgCode[24];\n    size_t fgCodeLen;\n\n    char bgCode[24];\n    size_t bgCodeLen;\n\n    char resetCode[8];\n    size_t resetCodeLen;\n}\n\n- (instancetype)initWithForegroundColor:(DDColor *)fgColor backgroundColor:(DDColor *)bgColor flag:(DDLogFlag)mask context:(NSInteger)ctxt;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDTTYLogger () {\n    NSString *_appName;\n    char *_app;\n    size_t _appLen;\n    \n    NSString *_processID;\n    char *_pid;\n    size_t _pidLen;\n    \n    BOOL _colorsEnabled;\n    NSMutableArray *_colorProfilesArray;\n    NSMutableDictionary *_colorProfilesDict;\n}\n\n@end\n\n\n@implementation DDTTYLogger\n\nstatic BOOL isaColorTTY;\nstatic BOOL isaColor256TTY;\nstatic BOOL isaXcodeColorTTY;\n\nstatic NSArray *codes_fg = nil;\nstatic NSArray *codes_bg = nil;\nstatic NSArray *colors   = nil;\n\nstatic DDTTYLogger *sharedInstance;\n\n/**\n * Initializes the colors array, as well as the codes_fg and codes_bg arrays, for 16 color mode.\n *\n * This method is used when the application is running from within a shell that only supports 16 color mode.\n * This method is not invoked if the application is running within Xcode, or via normal UI app launch.\n **/\n+ (void)initialize_colors_16 {\n    if (codes_fg || codes_bg || colors) {\n        return;\n    }\n\n    NSMutableArray *m_codes_fg = [NSMutableArray arrayWithCapacity:16];\n    NSMutableArray *m_codes_bg = [NSMutableArray arrayWithCapacity:16];\n    NSMutableArray *m_colors   = [NSMutableArray arrayWithCapacity:16];\n\n    // In a standard shell only 16 colors are supported.\n    //\n    // More information about ansi escape codes can be found online.\n    // http://en.wikipedia.org/wiki/ANSI_escape_code\n\n    [m_codes_fg addObject:@\"30m\"];   // normal - black\n    [m_codes_fg addObject:@\"31m\"];   // normal - red\n    [m_codes_fg addObject:@\"32m\"];   // normal - green\n    [m_codes_fg addObject:@\"33m\"];   // normal - yellow\n    [m_codes_fg addObject:@\"34m\"];   // normal - blue\n    [m_codes_fg addObject:@\"35m\"];   // normal - magenta\n    [m_codes_fg addObject:@\"36m\"];   // normal - cyan\n    [m_codes_fg addObject:@\"37m\"];   // normal - gray\n    [m_codes_fg addObject:@\"1;30m\"]; // bright - darkgray\n    [m_codes_fg addObject:@\"1;31m\"]; // bright - red\n    [m_codes_fg addObject:@\"1;32m\"]; // bright - green\n    [m_codes_fg addObject:@\"1;33m\"]; // bright - yellow\n    [m_codes_fg addObject:@\"1;34m\"]; // bright - blue\n    [m_codes_fg addObject:@\"1;35m\"]; // bright - magenta\n    [m_codes_fg addObject:@\"1;36m\"]; // bright - cyan\n    [m_codes_fg addObject:@\"1;37m\"]; // bright - white\n\n    [m_codes_bg addObject:@\"40m\"];   // normal - black\n    [m_codes_bg addObject:@\"41m\"];   // normal - red\n    [m_codes_bg addObject:@\"42m\"];   // normal - green\n    [m_codes_bg addObject:@\"43m\"];   // normal - yellow\n    [m_codes_bg addObject:@\"44m\"];   // normal - blue\n    [m_codes_bg addObject:@\"45m\"];   // normal - magenta\n    [m_codes_bg addObject:@\"46m\"];   // normal - cyan\n    [m_codes_bg addObject:@\"47m\"];   // normal - gray\n    [m_codes_bg addObject:@\"1;40m\"]; // bright - darkgray\n    [m_codes_bg addObject:@\"1;41m\"]; // bright - red\n    [m_codes_bg addObject:@\"1;42m\"]; // bright - green\n    [m_codes_bg addObject:@\"1;43m\"]; // bright - yellow\n    [m_codes_bg addObject:@\"1;44m\"]; // bright - blue\n    [m_codes_bg addObject:@\"1;45m\"]; // bright - magenta\n    [m_codes_bg addObject:@\"1;46m\"]; // bright - cyan\n    [m_codes_bg addObject:@\"1;47m\"]; // bright - white\n\n#if MAP_TO_TERMINAL_APP_COLORS\n\n    // Standard Terminal.app colors:\n    //\n    // These are the default colors used by Apple's Terminal.app.\n\n    [m_colors addObject:DDMakeColor(  0,   0,   0)]; // normal - black\n    [m_colors addObject:DDMakeColor(194,  54,  33)]; // normal - red\n    [m_colors addObject:DDMakeColor( 37, 188,  36)]; // normal - green\n    [m_colors addObject:DDMakeColor(173, 173,  39)]; // normal - yellow\n    [m_colors addObject:DDMakeColor( 73,  46, 225)]; // normal - blue\n    [m_colors addObject:DDMakeColor(211,  56, 211)]; // normal - magenta\n    [m_colors addObject:DDMakeColor( 51, 187, 200)]; // normal - cyan\n    [m_colors addObject:DDMakeColor(203, 204, 205)]; // normal - gray\n    [m_colors addObject:DDMakeColor(129, 131, 131)]; // bright - darkgray\n    [m_colors addObject:DDMakeColor(252,  57,  31)]; // bright - red\n    [m_colors addObject:DDMakeColor( 49, 231,  34)]; // bright - green\n    [m_colors addObject:DDMakeColor(234, 236,  35)]; // bright - yellow\n    [m_colors addObject:DDMakeColor( 88,  51, 255)]; // bright - blue\n    [m_colors addObject:DDMakeColor(249,  53, 248)]; // bright - magenta\n    [m_colors addObject:DDMakeColor( 20, 240, 240)]; // bright - cyan\n    [m_colors addObject:DDMakeColor(233, 235, 235)]; // bright - white\n\n#else /* if MAP_TO_TERMINAL_APP_COLORS */\n\n    // Standard xterm colors:\n    //\n    // These are the default colors used by most xterm shells.\n\n    [m_colors addObject:DDMakeColor(  0,   0,   0)]; // normal - black\n    [m_colors addObject:DDMakeColor(205,   0,   0)]; // normal - red\n    [m_colors addObject:DDMakeColor(  0, 205,   0)]; // normal - green\n    [m_colors addObject:DDMakeColor(205, 205,   0)]; // normal - yellow\n    [m_colors addObject:DDMakeColor(  0,   0, 238)]; // normal - blue\n    [m_colors addObject:DDMakeColor(205,   0, 205)]; // normal - magenta\n    [m_colors addObject:DDMakeColor(  0, 205, 205)]; // normal - cyan\n    [m_colors addObject:DDMakeColor(229, 229, 229)]; // normal - gray\n    [m_colors addObject:DDMakeColor(127, 127, 127)]; // bright - darkgray\n    [m_colors addObject:DDMakeColor(255,   0,   0)]; // bright - red\n    [m_colors addObject:DDMakeColor(  0, 255,   0)]; // bright - green\n    [m_colors addObject:DDMakeColor(255, 255,   0)]; // bright - yellow\n    [m_colors addObject:DDMakeColor( 92,  92, 255)]; // bright - blue\n    [m_colors addObject:DDMakeColor(255,   0, 255)]; // bright - magenta\n    [m_colors addObject:DDMakeColor(  0, 255, 255)]; // bright - cyan\n    [m_colors addObject:DDMakeColor(255, 255, 255)]; // bright - white\n\n#endif /* if MAP_TO_TERMINAL_APP_COLORS */\n\n    codes_fg = [m_codes_fg copy];\n    codes_bg = [m_codes_bg copy];\n    colors   = [m_colors   copy];\n\n    NSAssert([codes_fg count] == [codes_bg count], @\"Invalid colors/codes array(s)\");\n    NSAssert([codes_fg count] == [colors count],   @\"Invalid colors/codes array(s)\");\n}\n\n/**\n * Initializes the colors array, as well as the codes_fg and codes_bg arrays, for 256 color mode.\n *\n * This method is used when the application is running from within a shell that supports 256 color mode.\n * This method is not invoked if the application is running within Xcode, or via normal UI app launch.\n **/\n+ (void)initialize_colors_256 {\n    if (codes_fg || codes_bg || colors) {\n        return;\n    }\n\n    NSMutableArray *m_codes_fg = [NSMutableArray arrayWithCapacity:(256 - 16)];\n    NSMutableArray *m_codes_bg = [NSMutableArray arrayWithCapacity:(256 - 16)];\n    NSMutableArray *m_colors   = [NSMutableArray arrayWithCapacity:(256 - 16)];\n\n    #if MAP_TO_TERMINAL_APP_COLORS\n\n    // Standard Terminal.app colors:\n    //\n    // These are the colors the Terminal.app uses in xterm-256color mode.\n    // In this mode, the terminal supports 256 different colors, specified by 256 color codes.\n    //\n    // The first 16 color codes map to the original 16 color codes supported by the earlier xterm-color mode.\n    // These are actually configurable, and thus we ignore them for the purposes of mapping,\n    // as we can't rely on them being constant. They are largely duplicated anyway.\n    //\n    // The next 216 color codes are designed to run the spectrum, with several shades of every color.\n    // While the color codes are standardized, the actual RGB values for each color code is not.\n    // Apple's Terminal.app uses different RGB values from that of a standard xterm.\n    // Apple's choices in colors are designed to be a little nicer on the eyes.\n    //\n    // The last 24 color codes represent a grayscale.\n    //\n    // Unfortunately, unlike the standard xterm color chart,\n    // Apple's RGB values cannot be calculated using a simple formula (at least not that I know of).\n    // Also, I don't know of any ways to programmatically query the shell for the RGB values.\n    // So this big giant color chart had to be made by hand.\n    //\n    // More information about ansi escape codes can be found online.\n    // http://en.wikipedia.org/wiki/ANSI_escape_code\n\n    // Colors\n\n    [m_colors addObject:DDMakeColor( 47,  49,  49)];\n    [m_colors addObject:DDMakeColor( 60,  42, 144)];\n    [m_colors addObject:DDMakeColor( 66,  44, 183)];\n    [m_colors addObject:DDMakeColor( 73,  46, 222)];\n    [m_colors addObject:DDMakeColor( 81,  50, 253)];\n    [m_colors addObject:DDMakeColor( 88,  51, 255)];\n    \n    [m_colors addObject:DDMakeColor( 42, 128,  37)];\n    [m_colors addObject:DDMakeColor( 42, 127, 128)];\n    [m_colors addObject:DDMakeColor( 44, 126, 169)];\n    [m_colors addObject:DDMakeColor( 56, 125, 209)];\n    [m_colors addObject:DDMakeColor( 59, 124, 245)];\n    [m_colors addObject:DDMakeColor( 66, 123, 255)];\n    \n    [m_colors addObject:DDMakeColor( 51, 163,  41)];\n    [m_colors addObject:DDMakeColor( 39, 162, 121)];\n    [m_colors addObject:DDMakeColor( 42, 161, 162)];\n    [m_colors addObject:DDMakeColor( 53, 160, 202)];\n    [m_colors addObject:DDMakeColor( 45, 159, 240)];\n    [m_colors addObject:DDMakeColor( 58, 158, 255)];\n    \n    [m_colors addObject:DDMakeColor( 31, 196,  37)];\n    [m_colors addObject:DDMakeColor( 48, 196, 115)];\n    [m_colors addObject:DDMakeColor( 39, 195, 155)];\n    [m_colors addObject:DDMakeColor( 49, 195, 195)];\n    [m_colors addObject:DDMakeColor( 32, 194, 235)];\n    [m_colors addObject:DDMakeColor( 53, 193, 255)];\n    \n    [m_colors addObject:DDMakeColor( 50, 229,  35)];\n    [m_colors addObject:DDMakeColor( 40, 229, 109)];\n    [m_colors addObject:DDMakeColor( 27, 229, 149)];\n    [m_colors addObject:DDMakeColor( 49, 228, 189)];\n    [m_colors addObject:DDMakeColor( 33, 228, 228)];\n    [m_colors addObject:DDMakeColor( 53, 227, 255)];\n    \n    [m_colors addObject:DDMakeColor( 27, 254,  30)];\n    [m_colors addObject:DDMakeColor( 30, 254, 103)];\n    [m_colors addObject:DDMakeColor( 45, 254, 143)];\n    [m_colors addObject:DDMakeColor( 38, 253, 182)];\n    [m_colors addObject:DDMakeColor( 38, 253, 222)];\n    [m_colors addObject:DDMakeColor( 42, 253, 252)];\n    \n    [m_colors addObject:DDMakeColor(140,  48,  40)];\n    [m_colors addObject:DDMakeColor(136,  51, 136)];\n    [m_colors addObject:DDMakeColor(135,  52, 177)];\n    [m_colors addObject:DDMakeColor(134,  52, 217)];\n    [m_colors addObject:DDMakeColor(135,  56, 248)];\n    [m_colors addObject:DDMakeColor(134,  53, 255)];\n    \n    [m_colors addObject:DDMakeColor(125, 125,  38)];\n    [m_colors addObject:DDMakeColor(124, 125, 125)];\n    [m_colors addObject:DDMakeColor(122, 124, 166)];\n    [m_colors addObject:DDMakeColor(123, 124, 207)];\n    [m_colors addObject:DDMakeColor(123, 122, 247)];\n    [m_colors addObject:DDMakeColor(124, 121, 255)];\n    \n    [m_colors addObject:DDMakeColor(119, 160,  35)];\n    [m_colors addObject:DDMakeColor(117, 160, 120)];\n    [m_colors addObject:DDMakeColor(117, 160, 160)];\n    [m_colors addObject:DDMakeColor(115, 159, 201)];\n    [m_colors addObject:DDMakeColor(116, 158, 240)];\n    [m_colors addObject:DDMakeColor(117, 157, 255)];\n    \n    [m_colors addObject:DDMakeColor(113, 195,  39)];\n    [m_colors addObject:DDMakeColor(110, 194, 114)];\n    [m_colors addObject:DDMakeColor(111, 194, 154)];\n    [m_colors addObject:DDMakeColor(108, 194, 194)];\n    [m_colors addObject:DDMakeColor(109, 193, 234)];\n    [m_colors addObject:DDMakeColor(108, 192, 255)];\n    \n    [m_colors addObject:DDMakeColor(105, 228,  30)];\n    [m_colors addObject:DDMakeColor(103, 228, 109)];\n    [m_colors addObject:DDMakeColor(105, 228, 148)];\n    [m_colors addObject:DDMakeColor(100, 227, 188)];\n    [m_colors addObject:DDMakeColor( 99, 227, 227)];\n    [m_colors addObject:DDMakeColor( 99, 226, 253)];\n    \n    [m_colors addObject:DDMakeColor( 92, 253,  34)];\n    [m_colors addObject:DDMakeColor( 96, 253, 103)];\n    [m_colors addObject:DDMakeColor( 97, 253, 142)];\n    [m_colors addObject:DDMakeColor( 88, 253, 182)];\n    [m_colors addObject:DDMakeColor( 93, 253, 221)];\n    [m_colors addObject:DDMakeColor( 88, 254, 251)];\n    \n    [m_colors addObject:DDMakeColor(177,  53,  34)];\n    [m_colors addObject:DDMakeColor(174,  54, 131)];\n    [m_colors addObject:DDMakeColor(172,  55, 172)];\n    [m_colors addObject:DDMakeColor(171,  57, 213)];\n    [m_colors addObject:DDMakeColor(170,  55, 249)];\n    [m_colors addObject:DDMakeColor(170,  57, 255)];\n    \n    [m_colors addObject:DDMakeColor(165, 123,  37)];\n    [m_colors addObject:DDMakeColor(163, 123, 123)];\n    [m_colors addObject:DDMakeColor(162, 123, 164)];\n    [m_colors addObject:DDMakeColor(161, 122, 205)];\n    [m_colors addObject:DDMakeColor(161, 121, 241)];\n    [m_colors addObject:DDMakeColor(161, 121, 255)];\n    \n    [m_colors addObject:DDMakeColor(158, 159,  33)];\n    [m_colors addObject:DDMakeColor(157, 158, 118)];\n    [m_colors addObject:DDMakeColor(157, 158, 159)];\n    [m_colors addObject:DDMakeColor(155, 157, 199)];\n    [m_colors addObject:DDMakeColor(155, 157, 239)];\n    [m_colors addObject:DDMakeColor(154, 156, 255)];\n    \n    [m_colors addObject:DDMakeColor(152, 193,  40)];\n    [m_colors addObject:DDMakeColor(151, 193, 113)];\n    [m_colors addObject:DDMakeColor(150, 193, 153)];\n    [m_colors addObject:DDMakeColor(150, 192, 193)];\n    [m_colors addObject:DDMakeColor(148, 192, 232)];\n    [m_colors addObject:DDMakeColor(149, 191, 253)];\n    \n    [m_colors addObject:DDMakeColor(146, 227,  28)];\n    [m_colors addObject:DDMakeColor(144, 227, 108)];\n    [m_colors addObject:DDMakeColor(144, 227, 147)];\n    [m_colors addObject:DDMakeColor(144, 227, 187)];\n    [m_colors addObject:DDMakeColor(142, 226, 227)];\n    [m_colors addObject:DDMakeColor(142, 225, 252)];\n    \n    [m_colors addObject:DDMakeColor(138, 253,  36)];\n    [m_colors addObject:DDMakeColor(137, 253, 102)];\n    [m_colors addObject:DDMakeColor(136, 253, 141)];\n    [m_colors addObject:DDMakeColor(138, 254, 181)];\n    [m_colors addObject:DDMakeColor(135, 255, 220)];\n    [m_colors addObject:DDMakeColor(133, 255, 250)];\n    \n    [m_colors addObject:DDMakeColor(214,  57,  30)];\n    [m_colors addObject:DDMakeColor(211,  59, 126)];\n    [m_colors addObject:DDMakeColor(209,  57, 168)];\n    [m_colors addObject:DDMakeColor(208,  55, 208)];\n    [m_colors addObject:DDMakeColor(207,  58, 247)];\n    [m_colors addObject:DDMakeColor(206,  61, 255)];\n    \n    [m_colors addObject:DDMakeColor(204, 121,  32)];\n    [m_colors addObject:DDMakeColor(202, 121, 121)];\n    [m_colors addObject:DDMakeColor(201, 121, 161)];\n    [m_colors addObject:DDMakeColor(200, 120, 202)];\n    [m_colors addObject:DDMakeColor(200, 120, 241)];\n    [m_colors addObject:DDMakeColor(198, 119, 255)];\n    \n    [m_colors addObject:DDMakeColor(198, 157,  37)];\n    [m_colors addObject:DDMakeColor(196, 157, 116)];\n    [m_colors addObject:DDMakeColor(195, 156, 157)];\n    [m_colors addObject:DDMakeColor(195, 156, 197)];\n    [m_colors addObject:DDMakeColor(194, 155, 236)];\n    [m_colors addObject:DDMakeColor(193, 155, 255)];\n    \n    [m_colors addObject:DDMakeColor(191, 192,  36)];\n    [m_colors addObject:DDMakeColor(190, 191, 112)];\n    [m_colors addObject:DDMakeColor(189, 191, 152)];\n    [m_colors addObject:DDMakeColor(189, 191, 191)];\n    [m_colors addObject:DDMakeColor(188, 190, 230)];\n    [m_colors addObject:DDMakeColor(187, 190, 253)];\n    \n    [m_colors addObject:DDMakeColor(185, 226,  28)];\n    [m_colors addObject:DDMakeColor(184, 226, 106)];\n    [m_colors addObject:DDMakeColor(183, 225, 146)];\n    [m_colors addObject:DDMakeColor(183, 225, 186)];\n    [m_colors addObject:DDMakeColor(182, 225, 225)];\n    [m_colors addObject:DDMakeColor(181, 224, 252)];\n    \n    [m_colors addObject:DDMakeColor(178, 255,  35)];\n    [m_colors addObject:DDMakeColor(178, 255, 101)];\n    [m_colors addObject:DDMakeColor(177, 254, 141)];\n    [m_colors addObject:DDMakeColor(176, 254, 180)];\n    [m_colors addObject:DDMakeColor(176, 254, 220)];\n    [m_colors addObject:DDMakeColor(175, 253, 249)];\n    \n    [m_colors addObject:DDMakeColor(247,  56,  30)];\n    [m_colors addObject:DDMakeColor(245,  57, 122)];\n    [m_colors addObject:DDMakeColor(243,  59, 163)];\n    [m_colors addObject:DDMakeColor(244,  60, 204)];\n    [m_colors addObject:DDMakeColor(242,  59, 241)];\n    [m_colors addObject:DDMakeColor(240,  55, 255)];\n    \n    [m_colors addObject:DDMakeColor(241, 119,  36)];\n    [m_colors addObject:DDMakeColor(240, 120, 118)];\n    [m_colors addObject:DDMakeColor(238, 119, 158)];\n    [m_colors addObject:DDMakeColor(237, 119, 199)];\n    [m_colors addObject:DDMakeColor(237, 118, 238)];\n    [m_colors addObject:DDMakeColor(236, 118, 255)];\n    \n    [m_colors addObject:DDMakeColor(235, 154,  36)];\n    [m_colors addObject:DDMakeColor(235, 154, 114)];\n    [m_colors addObject:DDMakeColor(234, 154, 154)];\n    [m_colors addObject:DDMakeColor(232, 154, 194)];\n    [m_colors addObject:DDMakeColor(232, 153, 234)];\n    [m_colors addObject:DDMakeColor(232, 153, 255)];\n    \n    [m_colors addObject:DDMakeColor(230, 190,  30)];\n    [m_colors addObject:DDMakeColor(229, 189, 110)];\n    [m_colors addObject:DDMakeColor(228, 189, 150)];\n    [m_colors addObject:DDMakeColor(227, 189, 190)];\n    [m_colors addObject:DDMakeColor(227, 189, 229)];\n    [m_colors addObject:DDMakeColor(226, 188, 255)];\n    \n    [m_colors addObject:DDMakeColor(224, 224,  35)];\n    [m_colors addObject:DDMakeColor(223, 224, 105)];\n    [m_colors addObject:DDMakeColor(222, 224, 144)];\n    [m_colors addObject:DDMakeColor(222, 223, 184)];\n    [m_colors addObject:DDMakeColor(222, 223, 224)];\n    [m_colors addObject:DDMakeColor(220, 223, 253)];\n    \n    [m_colors addObject:DDMakeColor(217, 253,  28)];\n    [m_colors addObject:DDMakeColor(217, 253,  99)];\n    [m_colors addObject:DDMakeColor(216, 252, 139)];\n    [m_colors addObject:DDMakeColor(216, 252, 179)];\n    [m_colors addObject:DDMakeColor(215, 252, 218)];\n    [m_colors addObject:DDMakeColor(215, 251, 250)];\n    \n    [m_colors addObject:DDMakeColor(255,  61,  30)];\n    [m_colors addObject:DDMakeColor(255,  60, 118)];\n    [m_colors addObject:DDMakeColor(255,  58, 159)];\n    [m_colors addObject:DDMakeColor(255,  56, 199)];\n    [m_colors addObject:DDMakeColor(255,  55, 238)];\n    [m_colors addObject:DDMakeColor(255,  59, 255)];\n    \n    [m_colors addObject:DDMakeColor(255, 117,  29)];\n    [m_colors addObject:DDMakeColor(255, 117, 115)];\n    [m_colors addObject:DDMakeColor(255, 117, 155)];\n    [m_colors addObject:DDMakeColor(255, 117, 195)];\n    [m_colors addObject:DDMakeColor(255, 116, 235)];\n    [m_colors addObject:DDMakeColor(254, 116, 255)];\n    \n    [m_colors addObject:DDMakeColor(255, 152,  27)];\n    [m_colors addObject:DDMakeColor(255, 152, 111)];\n    [m_colors addObject:DDMakeColor(254, 152, 152)];\n    [m_colors addObject:DDMakeColor(255, 152, 192)];\n    [m_colors addObject:DDMakeColor(254, 151, 231)];\n    [m_colors addObject:DDMakeColor(253, 151, 253)];\n    \n    [m_colors addObject:DDMakeColor(255, 187,  33)];\n    [m_colors addObject:DDMakeColor(253, 187, 107)];\n    [m_colors addObject:DDMakeColor(252, 187, 148)];\n    [m_colors addObject:DDMakeColor(253, 187, 187)];\n    [m_colors addObject:DDMakeColor(254, 187, 227)];\n    [m_colors addObject:DDMakeColor(252, 186, 252)];\n    \n    [m_colors addObject:DDMakeColor(252, 222,  34)];\n    [m_colors addObject:DDMakeColor(251, 222, 103)];\n    [m_colors addObject:DDMakeColor(251, 222, 143)];\n    [m_colors addObject:DDMakeColor(250, 222, 182)];\n    [m_colors addObject:DDMakeColor(251, 221, 222)];\n    [m_colors addObject:DDMakeColor(252, 221, 252)];\n    \n    [m_colors addObject:DDMakeColor(251, 252,  15)];\n    [m_colors addObject:DDMakeColor(251, 252,  97)];\n    [m_colors addObject:DDMakeColor(249, 252, 137)];\n    [m_colors addObject:DDMakeColor(247, 252, 177)];\n    [m_colors addObject:DDMakeColor(247, 253, 217)];\n    [m_colors addObject:DDMakeColor(254, 255, 255)];\n    \n    // Grayscale\n    \n    [m_colors addObject:DDMakeColor( 52,  53,  53)];\n    [m_colors addObject:DDMakeColor( 57,  58,  59)];\n    [m_colors addObject:DDMakeColor( 66,  67,  67)];\n    [m_colors addObject:DDMakeColor( 75,  76,  76)];\n    [m_colors addObject:DDMakeColor( 83,  85,  85)];\n    [m_colors addObject:DDMakeColor( 92,  93,  94)];\n    \n    [m_colors addObject:DDMakeColor(101, 102, 102)];\n    [m_colors addObject:DDMakeColor(109, 111, 111)];\n    [m_colors addObject:DDMakeColor(118, 119, 119)];\n    [m_colors addObject:DDMakeColor(126, 127, 128)];\n    [m_colors addObject:DDMakeColor(134, 136, 136)];\n    [m_colors addObject:DDMakeColor(143, 144, 145)];\n    \n    [m_colors addObject:DDMakeColor(151, 152, 153)];\n    [m_colors addObject:DDMakeColor(159, 161, 161)];\n    [m_colors addObject:DDMakeColor(167, 169, 169)];\n    [m_colors addObject:DDMakeColor(176, 177, 177)];\n    [m_colors addObject:DDMakeColor(184, 185, 186)];\n    [m_colors addObject:DDMakeColor(192, 193, 194)];\n    \n    [m_colors addObject:DDMakeColor(200, 201, 202)];\n    [m_colors addObject:DDMakeColor(208, 209, 210)];\n    [m_colors addObject:DDMakeColor(216, 218, 218)];\n    [m_colors addObject:DDMakeColor(224, 226, 226)];\n    [m_colors addObject:DDMakeColor(232, 234, 234)];\n    [m_colors addObject:DDMakeColor(240, 242, 242)];\n    \n    // Color codes\n\n    int index = 16;\n\n    while (index < 256) {\n        [m_codes_fg addObject:[NSString stringWithFormat:@\"38;5;%dm\", index]];\n        [m_codes_bg addObject:[NSString stringWithFormat:@\"48;5;%dm\", index]];\n\n        index++;\n    }\n\n    #else /* if MAP_TO_TERMINAL_APP_COLORS */\n\n    // Standard xterm colors:\n    //\n    // These are the colors xterm shells use in xterm-256color mode.\n    // In this mode, the shell supports 256 different colors, specified by 256 color codes.\n    //\n    // The first 16 color codes map to the original 16 color codes supported by the earlier xterm-color mode.\n    // These are generally configurable, and thus we ignore them for the purposes of mapping,\n    // as we can't rely on them being constant. They are largely duplicated anyway.\n    //\n    // The next 216 color codes are designed to run the spectrum, with several shades of every color.\n    // The last 24 color codes represent a grayscale.\n    //\n    // While the color codes are standardized, the actual RGB values for each color code is not.\n    // However most standard xterms follow a well known color chart,\n    // which can easily be calculated using the simple formula below.\n    //\n    // More information about ansi escape codes can be found online.\n    // http://en.wikipedia.org/wiki/ANSI_escape_code\n\n    int index = 16;\n\n    int r; // red\n    int g; // green\n    int b; // blue\n\n    int ri; // r increment\n    int gi; // g increment\n    int bi; // b increment\n\n    // Calculate xterm colors (using standard algorithm)\n\n    int r = 0;\n    int g = 0;\n    int b = 0;\n\n    for (ri = 0; ri < 6; ri++) {\n        r = (ri == 0) ? 0 : 95 + (40 * (ri - 1));\n\n        for (gi = 0; gi < 6; gi++) {\n            g = (gi == 0) ? 0 : 95 + (40 * (gi - 1));\n\n            for (bi = 0; bi < 6; bi++) {\n                b = (bi == 0) ? 0 : 95 + (40 * (bi - 1));\n\n                [m_codes_fg addObject:[NSString stringWithFormat:@\"38;5;%dm\", index]];\n                [m_codes_bg addObject:[NSString stringWithFormat:@\"48;5;%dm\", index]];\n                [m_colors addObject:DDMakeColor(r, g, b)];\n\n                index++;\n            }\n        }\n    }\n\n    // Calculate xterm grayscale (using standard algorithm)\n\n    r = 8;\n    g = 8;\n    b = 8;\n\n    while (index < 256) {\n        [m_codes_fg addObject:[NSString stringWithFormat:@\"38;5;%dm\", index]];\n        [m_codes_bg addObject:[NSString stringWithFormat:@\"48;5;%dm\", index]];\n        [m_colors addObject:DDMakeColor(r, g, b)];\n\n        r += 10;\n        g += 10;\n        b += 10;\n\n        index++;\n    }\n\n    #endif /* if MAP_TO_TERMINAL_APP_COLORS */\n\n    codes_fg = [m_codes_fg copy];\n    codes_bg = [m_codes_bg copy];\n    colors   = [m_colors   copy];\n\n    NSAssert([codes_fg count] == [codes_bg count], @\"Invalid colors/codes array(s)\");\n    NSAssert([codes_fg count] == [colors count],   @\"Invalid colors/codes array(s)\");\n}\n\n+ (void)getRed:(CGFloat *)rPtr green:(CGFloat *)gPtr blue:(CGFloat *)bPtr fromColor:(DDColor *)color {\n    #if TARGET_OS_IPHONE\n\n    // iOS\n\n    BOOL done = NO;\n\n    if ([color respondsToSelector:@selector(getRed:green:blue:alpha:)]) {\n        done = [color getRed:rPtr green:gPtr blue:bPtr alpha:NULL];\n    }\n\n    if (!done) {\n        // The method getRed:green:blue:alpha: was only available starting iOS 5.\n        // So in iOS 4 and earlier, we have to jump through hoops.\n\n        CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB();\n\n        unsigned char pixel[4];\n        CGContextRef context = CGBitmapContextCreate(&pixel, 1, 1, 8, 4, rgbColorSpace, (CGBitmapInfo)(kCGBitmapAlphaInfoMask & kCGImageAlphaNoneSkipLast));\n\n        CGContextSetFillColorWithColor(context, [color CGColor]);\n        CGContextFillRect(context, CGRectMake(0, 0, 1, 1));\n\n        if (rPtr) {\n            *rPtr = pixel[0] / 255.0f;\n        }\n\n        if (gPtr) {\n            *gPtr = pixel[1] / 255.0f;\n        }\n\n        if (bPtr) {\n            *bPtr = pixel[2] / 255.0f;\n        }\n\n        CGContextRelease(context);\n        CGColorSpaceRelease(rgbColorSpace);\n    }\n\n    #elif defined(DD_CLI) || !__has_include(<AppKit/NSColor.h>)\n\n    // OS X without AppKit\n\n    [color getRed:rPtr green:gPtr blue:bPtr alpha:NULL];\n\n    #else /* if TARGET_OS_IPHONE */\n\n    // OS X with AppKit\n\n    NSColor *safeColor = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];\n\n    [safeColor getRed:rPtr green:gPtr blue:bPtr alpha:NULL];\n    #endif /* if TARGET_OS_IPHONE */\n}\n\n/**\n * Maps the given color to the closest available color supported by the shell.\n * The shell may support 256 colors, or only 16.\n *\n * This method loops through the known supported color set, and calculates the closest color.\n * The array index of that color, within the colors array, is then returned.\n * This array index may also be used as the index within the codes_fg and codes_bg arrays.\n **/\n+ (NSUInteger)codeIndexForColor:(DDColor *)inColor {\n    CGFloat inR, inG, inB;\n\n    [self getRed:&inR green:&inG blue:&inB fromColor:inColor];\n\n    NSUInteger bestIndex = 0;\n    CGFloat lowestDistance = 100.0f;\n\n    NSUInteger i = 0;\n\n    for (DDColor *color in colors) {\n        // Calculate Euclidean distance (lower value means closer to given color)\n\n        CGFloat r, g, b;\n        [self getRed:&r green:&g blue:&b fromColor:color];\n\n    #if CGFLOAT_IS_DOUBLE\n        CGFloat distance = sqrt(pow(r - inR, 2.0) + pow(g - inG, 2.0) + pow(b - inB, 2.0));\n    #else\n        CGFloat distance = sqrtf(powf(r - inR, 2.0f) + powf(g - inG, 2.0f) + powf(b - inB, 2.0f));\n    #endif\n\n        NSLogVerbose(@\"DDTTYLogger: %3lu : %.3f,%.3f,%.3f & %.3f,%.3f,%.3f = %.6f\",\n                     (unsigned long)i, inR, inG, inB, r, g, b, distance);\n\n        if (distance < lowestDistance) {\n            bestIndex = i;\n            lowestDistance = distance;\n\n            NSLogVerbose(@\"DDTTYLogger: New best index = %lu\", (unsigned long)bestIndex);\n        }\n\n        i++;\n    }\n\n    return bestIndex;\n}\n\n+ (instancetype)sharedInstance {\n    static dispatch_once_t DDTTYLoggerOnceToken;\n\n    dispatch_once(&DDTTYLoggerOnceToken, ^{\n        // Xcode does NOT natively support colors in the Xcode debugging console.\n        // You'll need to install the XcodeColors plugin to see colors in the Xcode console.\n        //\n        // PS - Please read the header file before diving into the source code.\n\n        char *xcode_colors = getenv(\"XcodeColors\");\n        char *term = getenv(\"TERM\");\n\n        if (xcode_colors && (strcmp(xcode_colors, \"YES\") == 0)) {\n            isaXcodeColorTTY = YES;\n        } else if (term) {\n            if (strcasestr(term, \"color\") != NULL) {\n                isaColorTTY = YES;\n                isaColor256TTY = (strcasestr(term, \"256\") != NULL);\n\n                if (isaColor256TTY) {\n                    [self initialize_colors_256];\n                } else {\n                    [self initialize_colors_16];\n                }\n            }\n        }\n\n        NSLogInfo(@\"DDTTYLogger: isaColorTTY = %@\", (isaColorTTY ? @\"YES\" : @\"NO\"));\n        NSLogInfo(@\"DDTTYLogger: isaColor256TTY: %@\", (isaColor256TTY ? @\"YES\" : @\"NO\"));\n        NSLogInfo(@\"DDTTYLogger: isaXcodeColorTTY: %@\", (isaXcodeColorTTY ? @\"YES\" : @\"NO\"));\n\n        sharedInstance = [[[self class] alloc] init];\n    });\n\n    return sharedInstance;\n}\n\n- (instancetype)init {\n    if (sharedInstance != nil) {\n        return nil;\n    }\n\n    if ((self = [super init])) {\n        // Initialze 'app' variable (char *)\n\n        _appName = [[NSProcessInfo processInfo] processName];\n\n        _appLen = [_appName lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n\n        if (_appLen == 0) {\n            _appName = @\"<UnnamedApp>\";\n            _appLen = [_appName lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n        }\n\n        _app = (char *)malloc(_appLen + 1);\n\n        if (_app == NULL) {\n            return nil;\n        }\n\n        BOOL processedAppName = [_appName getCString:_app maxLength:(_appLen + 1) encoding:NSUTF8StringEncoding];\n\n        if (NO == processedAppName) {\n            free(_app);\n            return nil;\n        }\n\n        // Initialize 'pid' variable (char *)\n\n        _processID = [NSString stringWithFormat:@\"%i\", (int)getpid()];\n\n        _pidLen = [_processID lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n        _pid = (char *)malloc(_pidLen + 1);\n\n        if (_pid == NULL) {\n            free(_app);\n            return nil;\n        }\n\n        BOOL processedID = [_processID getCString:_pid maxLength:(_pidLen + 1) encoding:NSUTF8StringEncoding];\n\n        if (NO == processedID) {\n            free(_app);\n            free(_pid);\n            return nil;\n        }\n\n        // Initialize color stuff\n\n        _colorsEnabled = NO;\n        _colorProfilesArray = [[NSMutableArray alloc] initWithCapacity:8];\n        _colorProfilesDict = [[NSMutableDictionary alloc] initWithCapacity:8];\n\n        _automaticallyAppendNewlineForCustomFormatters = YES;\n    }\n\n    return self;\n}\n\n- (void)loadDefaultColorProfiles {\n    [self setForegroundColor:DDMakeColor(214,  57,  30) backgroundColor:nil forFlag:DDLogFlagError];\n    [self setForegroundColor:DDMakeColor(204, 121,  32) backgroundColor:nil forFlag:DDLogFlagWarning];\n}\n\n- (BOOL)colorsEnabled {\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    __block BOOL result;\n\n    dispatch_sync(globalLoggingQueue, ^{\n        dispatch_sync(self.loggerQueue, ^{\n            result = self->_colorsEnabled;\n        });\n    });\n\n    return result;\n}\n\n- (void)setColorsEnabled:(BOOL)newColorsEnabled {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            self->_colorsEnabled = newColorsEnabled;\n\n            if ([self->_colorProfilesArray count] == 0) {\n                [self loadDefaultColorProfiles];\n            }\n        }\n    };\n\n    // The design of this method is taken from the DDAbstractLogger implementation.\n    // For extensive documentation please refer to the DDAbstractLogger implementation.\n\n    // Note: The internal implementation MUST access the colorsEnabled variable directly,\n    // This method is designed explicitly for external access.\n    //\n    // Using \"self.\" syntax to go through this method will cause immediate deadlock.\n    // This is the intended result. Fix it by accessing the ivar directly.\n    // Great strides have been take to ensure this is safe to do. Plus it's MUCH faster.\n\n    NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n    NSAssert(![self isOnInternalLoggerQueue], @\"MUST access ivar directly, NOT via self.* syntax.\");\n\n    dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n\n    dispatch_async(globalLoggingQueue, ^{\n        dispatch_async(self.loggerQueue, block);\n    });\n}\n\n- (void)setForegroundColor:(DDColor *)txtColor backgroundColor:(DDColor *)bgColor forFlag:(DDLogFlag)mask {\n    [self setForegroundColor:txtColor backgroundColor:bgColor forFlag:mask context:LOG_CONTEXT_ALL];\n}\n\n- (void)setForegroundColor:(DDColor *)txtColor backgroundColor:(DDColor *)bgColor forFlag:(DDLogFlag)mask context:(NSInteger)ctxt {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            DDTTYLoggerColorProfile *newColorProfile =\n                [[DDTTYLoggerColorProfile alloc] initWithForegroundColor:txtColor\n                                                         backgroundColor:bgColor\n                                                                    flag:mask\n                                                                 context:ctxt];\n\n            NSLogInfo(@\"DDTTYLogger: newColorProfile: %@\", newColorProfile);\n\n            NSUInteger i = 0;\n\n            for (DDTTYLoggerColorProfile *colorProfile in self->_colorProfilesArray) {\n                if ((colorProfile->mask == mask) && (colorProfile->context == ctxt)) {\n                    break;\n                }\n\n                i++;\n            }\n\n            if (i < [self->_colorProfilesArray count]) {\n                self->_colorProfilesArray[i] = newColorProfile;\n            } else {\n                [self->_colorProfilesArray addObject:newColorProfile];\n            }\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (void)setForegroundColor:(DDColor *)txtColor backgroundColor:(DDColor *)bgColor forTag:(id <NSCopying>)tag {\n    NSAssert([(id < NSObject >) tag conformsToProtocol: @protocol(NSCopying)], @\"Invalid tag\");\n\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            DDTTYLoggerColorProfile *newColorProfile =\n                [[DDTTYLoggerColorProfile alloc] initWithForegroundColor:txtColor\n                                                         backgroundColor:bgColor\n                                                                    flag:(DDLogFlag)0\n                                                                 context:0];\n\n            NSLogInfo(@\"DDTTYLogger: newColorProfile: %@\", newColorProfile);\n\n            self->_colorProfilesDict[tag] = newColorProfile;\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearColorsForFlag:(DDLogFlag)mask {\n    [self clearColorsForFlag:mask context:0];\n}\n\n- (void)clearColorsForFlag:(DDLogFlag)mask context:(NSInteger)context {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            NSUInteger i = 0;\n\n            for (DDTTYLoggerColorProfile *colorProfile in self->_colorProfilesArray) {\n                if ((colorProfile->mask == mask) && (colorProfile->context == context)) {\n                    break;\n                }\n\n                i++;\n            }\n\n            if (i < [self->_colorProfilesArray count]) {\n                [self->_colorProfilesArray removeObjectAtIndex:i];\n            }\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearColorsForTag:(id <NSCopying>)tag {\n    NSAssert([(id < NSObject >) tag conformsToProtocol: @protocol(NSCopying)], @\"Invalid tag\");\n\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            [self->_colorProfilesDict removeObjectForKey:tag];\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearColorsForAllFlags {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            [self->_colorProfilesArray removeAllObjects];\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearColorsForAllTags {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            [self->_colorProfilesDict removeAllObjects];\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (void)clearAllColors {\n    dispatch_block_t block = ^{\n        @autoreleasepool {\n            [self->_colorProfilesArray removeAllObjects];\n            [self->_colorProfilesDict removeAllObjects];\n        }\n    };\n\n    // The design of the setter logic below is taken from the DDAbstractLogger implementation.\n    // For documentation please refer to the DDAbstractLogger implementation.\n\n    if ([self isOnInternalLoggerQueue]) {\n        block();\n    } else {\n        dispatch_queue_t globalLoggingQueue = [DDLog loggingQueue];\n        NSAssert(![self isOnGlobalLoggingQueue], @\"Core architecture requirement failure\");\n\n        dispatch_async(globalLoggingQueue, ^{\n            dispatch_async(self.loggerQueue, block);\n        });\n    }\n}\n\n- (void)logMessage:(DDLogMessage *)logMessage {\n    NSString *logMsg = logMessage->_message;\n    BOOL isFormatted = NO;\n\n    if (_logFormatter) {\n        logMsg = [_logFormatter formatLogMessage:logMessage];\n        isFormatted = logMsg != logMessage->_message;\n    }\n\n    if (logMsg) {\n        // Search for a color profile associated with the log message\n\n        DDTTYLoggerColorProfile *colorProfile = nil;\n\n        if (_colorsEnabled) {\n            if (logMessage->_tag) {\n                colorProfile = _colorProfilesDict[logMessage->_tag];\n            }\n\n            if (colorProfile == nil) {\n                for (DDTTYLoggerColorProfile *cp in _colorProfilesArray) {\n                    if (logMessage->_flag & cp->mask) {\n                        // Color profile set for this context?\n                        if (logMessage->_context == cp->context) {\n                            colorProfile = cp;\n\n                            // Stop searching\n                            break;\n                        }\n\n                        // Check if LOG_CONTEXT_ALL was specified as a default color for this flag\n                        if (cp->context == LOG_CONTEXT_ALL) {\n                            colorProfile = cp;\n\n                            // We don't break to keep searching for more specific color profiles for the context\n                        }\n                    }\n                }\n            }\n        }\n\n        // Convert log message to C string.\n        //\n        // We use the stack instead of the heap for speed if possible.\n        // But we're extra cautious to avoid a stack overflow.\n\n        NSUInteger msgLen = [logMsg lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n        const BOOL useStack = msgLen < (1024 * 4);\n\n        char msgStack[useStack ? (msgLen + 1) : 1]; // Analyzer doesn't like zero-size array, hence the 1\n        char *msg = useStack ? msgStack : (char *)malloc(msgLen + 1);\n\n        if (msg == NULL) {\n            return;\n        }\n\n        BOOL logMsgEnc = [logMsg getCString:msg maxLength:(msgLen + 1) encoding:NSUTF8StringEncoding];\n\n        if (!logMsgEnc) {\n            if (!useStack && msg != NULL) {\n                free(msg);\n            }\n\n            return;\n        }\n\n        // Write the log message to STDERR\n\n        if (isFormatted) {\n            // The log message has already been formatted.\n            int iovec_len = (_automaticallyAppendNewlineForCustomFormatters) ? 5 : 4;\n            struct iovec v[iovec_len];\n\n            if (colorProfile) {\n                v[0].iov_base = colorProfile->fgCode;\n                v[0].iov_len = colorProfile->fgCodeLen;\n\n                v[1].iov_base = colorProfile->bgCode;\n                v[1].iov_len = colorProfile->bgCodeLen;\n\n                v[iovec_len - 1].iov_base = colorProfile->resetCode;\n                v[iovec_len - 1].iov_len = colorProfile->resetCodeLen;\n            } else {\n                v[0].iov_base = \"\";\n                v[0].iov_len = 0;\n\n                v[1].iov_base = \"\";\n                v[1].iov_len = 0;\n\n                v[iovec_len - 1].iov_base = \"\";\n                v[iovec_len - 1].iov_len = 0;\n            }\n\n            v[2].iov_base = (char *)msg;\n            v[2].iov_len = msgLen;\n\n            if (iovec_len == 5) {\n                v[3].iov_base = \"\\n\";\n                v[3].iov_len = (msg[msgLen] == '\\n') ? 0 : 1;\n            }\n\n            writev(STDERR_FILENO, v, iovec_len);\n        } else {\n            // The log message is unformatted, so apply standard NSLog style formatting.\n\n            int len;\n            char ts[24] = \"\";\n            size_t tsLen = 0;\n\n            // Calculate timestamp.\n            // The technique below is faster than using NSDateFormatter.\n            if (logMessage->_timestamp) {\n                NSTimeInterval epoch = [logMessage->_timestamp timeIntervalSince1970];\n                struct tm tm;\n                time_t time = (time_t)epoch;\n                (void)localtime_r(&time, &tm);\n                int milliseconds = (int)((epoch - floor(epoch)) * 1000.0);\n\n                len = snprintf(ts, 24, \"%04d-%02d-%02d %02d:%02d:%02d:%03d\", // yyyy-MM-dd HH:mm:ss:SSS\n                               tm.tm_year + 1900,\n                               tm.tm_mon + 1,\n                               tm.tm_mday,\n                               tm.tm_hour,\n                               tm.tm_min,\n                               tm.tm_sec, milliseconds);\n\n                tsLen = (NSUInteger)MAX(MIN(24 - 1, len), 0);\n            }\n\n            // Calculate thread ID\n            //\n            // How many characters do we need for the thread id?\n            // logMessage->machThreadID is of type mach_port_t, which is an unsigned int.\n            //\n            // 1 hex char = 4 bits\n            // 8 hex chars for 32 bit, plus ending '\\0' = 9\n\n            char tid[9];\n            len = snprintf(tid, 9, \"%s\", [logMessage->_threadID cStringUsingEncoding:NSUTF8StringEncoding]);\n\n            size_t tidLen = (NSUInteger)MAX(MIN(9 - 1, len), 0);\n\n            // Here is our format: \"%s %s[%i:%s] %s\", timestamp, appName, processID, threadID, logMsg\n\n            struct iovec v[13];\n\n            if (colorProfile) {\n                v[0].iov_base = colorProfile->fgCode;\n                v[0].iov_len = colorProfile->fgCodeLen;\n\n                v[1].iov_base = colorProfile->bgCode;\n                v[1].iov_len = colorProfile->bgCodeLen;\n\n                v[12].iov_base = colorProfile->resetCode;\n                v[12].iov_len = colorProfile->resetCodeLen;\n            } else {\n                v[0].iov_base = \"\";\n                v[0].iov_len = 0;\n\n                v[1].iov_base = \"\";\n                v[1].iov_len = 0;\n\n                v[12].iov_base = \"\";\n                v[12].iov_len = 0;\n            }\n\n            v[2].iov_base = ts;\n            v[2].iov_len = tsLen;\n\n            v[3].iov_base = \" \";\n            v[3].iov_len = 1;\n\n            v[4].iov_base = _app;\n            v[4].iov_len = _appLen;\n\n            v[5].iov_base = \"[\";\n            v[5].iov_len = 1;\n\n            v[6].iov_base = _pid;\n            v[6].iov_len = _pidLen;\n\n            v[7].iov_base = \":\";\n            v[7].iov_len = 1;\n\n            v[8].iov_base = tid;\n            v[8].iov_len = MIN((size_t)8, tidLen); // snprintf doesn't return what you might think\n\n            v[9].iov_base = \"] \";\n            v[9].iov_len = 2;\n\n            v[10].iov_base = (char *)msg;\n            v[10].iov_len = msgLen;\n\n            v[11].iov_base = \"\\n\";\n            v[11].iov_len = (msg[msgLen] == '\\n') ? 0 : 1;\n\n            writev(STDERR_FILENO, v, 13);\n        }\n\n        if (!useStack) {\n            free(msg);\n        }\n    }\n}\n\n- (NSString *)loggerName {\n    return @\"cocoa.lumberjack.ttyLogger\";\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDTTYLoggerColorProfile\n\n- (instancetype)initWithForegroundColor:(DDColor *)fgColor backgroundColor:(DDColor *)bgColor flag:(DDLogFlag)aMask context:(NSInteger)ctxt {\n    if ((self = [super init])) {\n        mask = aMask;\n        context = ctxt;\n\n        CGFloat r, g, b;\n\n        if (fgColor) {\n            [DDTTYLogger getRed:&r green:&g blue:&b fromColor:fgColor];\n\n            fg_r = (uint8_t)(r * 255.0f);\n            fg_g = (uint8_t)(g * 255.0f);\n            fg_b = (uint8_t)(b * 255.0f);\n        }\n\n        if (bgColor) {\n            [DDTTYLogger getRed:&r green:&g blue:&b fromColor:bgColor];\n\n            bg_r = (uint8_t)(r * 255.0f);\n            bg_g = (uint8_t)(g * 255.0f);\n            bg_b = (uint8_t)(b * 255.0f);\n        }\n\n        if (fgColor && isaColorTTY) {\n            // Map foreground color to closest available shell color\n\n            fgCodeIndex = [DDTTYLogger codeIndexForColor:fgColor];\n            fgCodeRaw   = codes_fg[fgCodeIndex];\n\n            NSString *escapeSeq = @\"\\033[\";\n\n            NSUInteger len1 = [escapeSeq lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n            NSUInteger len2 = [fgCodeRaw lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n\n            BOOL escapeSeqEnc = [escapeSeq getCString:(fgCode)      maxLength:(len1 + 1) encoding:NSUTF8StringEncoding];\n            BOOL fgCodeRawEsc = [fgCodeRaw getCString:(fgCode + len1) maxLength:(len2 + 1) encoding:NSUTF8StringEncoding];\n\n            if (!escapeSeqEnc || !fgCodeRawEsc) {\n                return nil;\n            }\n\n            fgCodeLen = len1 + len2;\n        } else if (fgColor && isaXcodeColorTTY) {\n            // Convert foreground color to color code sequence\n\n            const char *escapeSeq = XCODE_COLORS_ESCAPE_SEQ;\n\n            int result = snprintf(fgCode, 24, \"%sfg%u,%u,%u;\", escapeSeq, fg_r, fg_g, fg_b);\n            fgCodeLen = (NSUInteger)MAX(MIN(result, (24 - 1)), 0);\n        } else {\n            // No foreground color or no color support\n\n            fgCode[0] = '\\0';\n            fgCodeLen = 0;\n        }\n\n        if (bgColor && isaColorTTY) {\n            // Map background color to closest available shell color\n\n            bgCodeIndex = [DDTTYLogger codeIndexForColor:bgColor];\n            bgCodeRaw   = codes_bg[bgCodeIndex];\n\n            NSString *escapeSeq = @\"\\033[\";\n\n            NSUInteger len1 = [escapeSeq lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n            NSUInteger len2 = [bgCodeRaw lengthOfBytesUsingEncoding:NSUTF8StringEncoding];\n\n            BOOL escapeSeqEnc = [escapeSeq getCString:(bgCode)      maxLength:(len1 + 1) encoding:NSUTF8StringEncoding];\n            BOOL bgCodeRawEsc = [bgCodeRaw getCString:(bgCode + len1) maxLength:(len2 + 1) encoding:NSUTF8StringEncoding];\n\n            if (!escapeSeqEnc || !bgCodeRawEsc) {\n                return nil;\n            }\n\n            bgCodeLen = len1 + len2;\n        } else if (bgColor && isaXcodeColorTTY) {\n            // Convert background color to color code sequence\n\n            const char *escapeSeq = XCODE_COLORS_ESCAPE_SEQ;\n\n            int result = snprintf(bgCode, 24, \"%sbg%u,%u,%u;\", escapeSeq, bg_r, bg_g, bg_b);\n            bgCodeLen = (NSUInteger)MAX(MIN(result, (24 - 1)), 0);\n        } else {\n            // No background color or no color support\n\n            bgCode[0] = '\\0';\n            bgCodeLen = 0;\n        }\n\n        if (isaColorTTY) {\n            resetCodeLen = (NSUInteger)MAX(snprintf(resetCode, 8, \"\\033[0m\"), 0);\n        } else if (isaXcodeColorTTY) {\n            resetCodeLen = (NSUInteger)MAX(snprintf(resetCode, 8, XCODE_COLORS_RESET), 0);\n        } else {\n            resetCode[0] = '\\0';\n            resetCodeLen = 0;\n        }\n    }\n\n    return self;\n}\n\n- (NSString *)description {\n    return [NSString stringWithFormat:\n            @\"<DDTTYLoggerColorProfile: %p mask:%i ctxt:%ld fg:%u,%u,%u bg:%u,%u,%u fgCode:%@ bgCode:%@>\",\n            self, (int)mask, (long)context, fg_r, fg_g, fg_b, bg_r, bg_g, bg_b, fgCodeRaw, bgCodeRaw];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/Extensions/DDContextFilterLogFormatter.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import <Foundation/Foundation.h>\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n/**\n * This class provides a log formatter that filters log statements from a logging context not on the whitelist.\n *\n * A log formatter can be added to any logger to format and/or filter its output.\n * You can learn more about log formatters here:\n * Documentation/CustomFormatters.md\n *\n * You can learn more about logging context's here:\n * Documentation/CustomContext.md\n *\n * But here's a quick overview / refresher:\n *\n * Every log statement has a logging context.\n * These come from the underlying logging macros defined in DDLog.h.\n * The default logging context is zero.\n * You can define multiple logging context's for use in your application.\n * For example, logically separate parts of your app each have a different logging context.\n * Also 3rd party frameworks that make use of Lumberjack generally use their own dedicated logging context.\n **/\n@interface DDContextWhitelistFilterLogFormatter : NSObject <DDLogFormatter>\n\n/**\n *  Designated default initializer\n */\n- (instancetype)init NS_DESIGNATED_INITIALIZER;\n\n/**\n *  Add a context to the whitelist\n *\n *  @param loggingContext the context\n */\n- (void)addToWhitelist:(NSUInteger)loggingContext;\n\n/**\n *  Remove context from whitelist\n *\n *  @param loggingContext the context\n */\n- (void)removeFromWhitelist:(NSUInteger)loggingContext;\n\n/**\n *  Return the whitelist\n */\n@property (readonly, copy) NSArray<NSNumber *> *whitelist;\n\n/**\n *  Check if a context is on the whitelist\n *\n *  @param loggingContext the context\n */\n- (BOOL)isOnWhitelist:(NSUInteger)loggingContext;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This class provides a log formatter that filters log statements from a logging context on the blacklist.\n **/\n@interface DDContextBlacklistFilterLogFormatter : NSObject <DDLogFormatter>\n\n- (instancetype)init NS_DESIGNATED_INITIALIZER;\n\n/**\n *  Add a context to the blacklist\n *\n *  @param loggingContext the context\n */\n- (void)addToBlacklist:(NSUInteger)loggingContext;\n\n/**\n *  Remove context from blacklist\n *\n *  @param loggingContext the context\n */\n- (void)removeFromBlacklist:(NSUInteger)loggingContext;\n\n/**\n *  Return the blacklist\n */\n@property (readonly, copy) NSArray<NSNumber *> *blacklist;\n\n\n/**\n *  Check if a context is on the blacklist\n *\n *  @param loggingContext the context\n */\n- (BOOL)isOnBlacklist:(NSUInteger)loggingContext;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/Extensions/DDContextFilterLogFormatter.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDContextFilterLogFormatter.h\"\n#import <pthread/pthread.h>\n\n#if !__has_feature(objc_arc)\n#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n@interface DDLoggingContextSet : NSObject\n\n- (void)addToSet:(NSUInteger)loggingContext;\n- (void)removeFromSet:(NSUInteger)loggingContext;\n\n@property (readonly, copy) NSArray *currentSet;\n\n- (BOOL)isInSet:(NSUInteger)loggingContext;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDContextWhitelistFilterLogFormatter () {\n    DDLoggingContextSet *_contextSet;\n}\n\n@end\n\n\n@implementation DDContextWhitelistFilterLogFormatter\n\n- (instancetype)init {\n    if ((self = [super init])) {\n        _contextSet = [[DDLoggingContextSet alloc] init];\n    }\n\n    return self;\n}\n\n- (void)addToWhitelist:(NSUInteger)loggingContext {\n    [_contextSet addToSet:loggingContext];\n}\n\n- (void)removeFromWhitelist:(NSUInteger)loggingContext {\n    [_contextSet removeFromSet:loggingContext];\n}\n\n- (NSArray *)whitelist {\n    return [_contextSet currentSet];\n}\n\n- (BOOL)isOnWhitelist:(NSUInteger)loggingContext {\n    return [_contextSet isInSet:loggingContext];\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {\n    if ([self isOnWhitelist:logMessage->_context]) {\n        return logMessage->_message;\n    } else {\n        return nil;\n    }\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface DDContextBlacklistFilterLogFormatter () {\n    DDLoggingContextSet *_contextSet;\n}\n\n@end\n\n\n@implementation DDContextBlacklistFilterLogFormatter\n\n- (instancetype)init {\n    if ((self = [super init])) {\n        _contextSet = [[DDLoggingContextSet alloc] init];\n    }\n\n    return self;\n}\n\n- (void)addToBlacklist:(NSUInteger)loggingContext {\n    [_contextSet addToSet:loggingContext];\n}\n\n- (void)removeFromBlacklist:(NSUInteger)loggingContext {\n    [_contextSet removeFromSet:loggingContext];\n}\n\n- (NSArray *)blacklist {\n    return [_contextSet currentSet];\n}\n\n- (BOOL)isOnBlacklist:(NSUInteger)loggingContext {\n    return [_contextSet isInSet:loggingContext];\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {\n    if ([self isOnBlacklist:logMessage->_context]) {\n        return nil;\n    } else {\n        return logMessage->_message;\n    }\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n\n@interface DDLoggingContextSet () {\n    pthread_mutex_t _mutex;\n    NSMutableSet *_set;\n}\n\n@end\n\n\n@implementation DDLoggingContextSet\n\n- (instancetype)init {\n    if ((self = [super init])) {\n        _set = [[NSMutableSet alloc] init];\n        pthread_mutex_init(&_mutex, NULL);\n    }\n\n    return self;\n}\n\n- (void)dealloc {\n    pthread_mutex_destroy(&_mutex);\n}\n\n- (void)addToSet:(NSUInteger)loggingContext {\n    pthread_mutex_lock(&_mutex);\n    {\n        [_set addObject:@(loggingContext)];\n    }\n    pthread_mutex_unlock(&_mutex);\n}\n\n- (void)removeFromSet:(NSUInteger)loggingContext {\n    pthread_mutex_lock(&_mutex);\n    {\n        [_set removeObject:@(loggingContext)];\n    }\n    pthread_mutex_unlock(&_mutex);\n}\n\n- (NSArray *)currentSet {\n    NSArray *result = nil;\n\n    pthread_mutex_lock(&_mutex);\n    {\n        result = [_set allObjects];\n    }\n    pthread_mutex_unlock(&_mutex);\n\n    return result;\n}\n\n- (BOOL)isInSet:(NSUInteger)loggingContext {\n    BOOL result = NO;\n\n    pthread_mutex_lock(&_mutex);\n    {\n        result = [_set containsObject:@(loggingContext)];\n    }\n    pthread_mutex_unlock(&_mutex);\n\n    return result;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/Extensions/DDDispatchQueueLogFormatter.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import <Foundation/Foundation.h>\n#import <libkern/OSAtomic.h>\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n/**\n *  Log formatter mode\n */\ntypedef NS_ENUM(NSUInteger, DDDispatchQueueLogFormatterMode){\n    /**\n     *  This is the default option, means the formatter can be reused between multiple loggers and therefore is thread-safe.\n     *  There is, of course, a performance cost for the thread-safety\n     */\n    DDDispatchQueueLogFormatterModeShareble = 0,\n    /**\n     *  If the formatter will only be used by a single logger, then the thread-safety can be removed\n     *  @note: there is an assert checking if the formatter is added to multiple loggers and the mode is non-shareble\n     */\n    DDDispatchQueueLogFormatterModeNonShareble,\n};\n\n\n/**\n * This class provides a log formatter that prints the dispatch_queue label instead of the mach_thread_id.\n *\n * A log formatter can be added to any logger to format and/or filter its output.\n * You can learn more about log formatters here:\n * Documentation/CustomFormatters.md\n *\n * A typical `NSLog` (or `DDTTYLogger`) prints detailed info as `[<process_id>:<thread_id>]`.\n * For example:\n *\n * `2011-10-17 20:21:45.435 AppName[19928:5207] Your log message here`\n *\n * Where:\n * `- 19928 = process id`\n * `-  5207 = thread id (mach_thread_id printed in hex)`\n *\n * When using grand central dispatch (GCD), this information is less useful.\n * This is because a single serial dispatch queue may be run on any thread from an internally managed thread pool.\n * For example:\n *\n * `2011-10-17 20:32:31.111 AppName[19954:4d07] Message from my_serial_dispatch_queue`\n * `2011-10-17 20:32:31.112 AppName[19954:5207] Message from my_serial_dispatch_queue`\n * `2011-10-17 20:32:31.113 AppName[19954:2c55] Message from my_serial_dispatch_queue`\n *\n * This formatter allows you to replace the standard `[box:info]` with the dispatch_queue name.\n * For example:\n *\n * `2011-10-17 20:32:31.111 AppName[img-scaling] Message from my_serial_dispatch_queue`\n * `2011-10-17 20:32:31.112 AppName[img-scaling] Message from my_serial_dispatch_queue`\n * `2011-10-17 20:32:31.113 AppName[img-scaling] Message from my_serial_dispatch_queue`\n *\n * If the dispatch_queue doesn't have a set name, then it falls back to the thread name.\n * If the current thread doesn't have a set name, then it falls back to the mach_thread_id in hex (like normal).\n *\n * Note: If manually creating your own background threads (via `NSThread/alloc/init` or `NSThread/detachNeThread`),\n * you can use `[[NSThread currentThread] setName:(NSString *)]`.\n **/\n@interface DDDispatchQueueLogFormatter : NSObject <DDLogFormatter>\n\n/**\n * Standard init method.\n * Configure using properties as desired.\n **/\n- (instancetype)init NS_DESIGNATED_INITIALIZER;\n\n/**\n *  Initializer with ability to set the queue mode\n *\n *  @param mode choose between DDDispatchQueueLogFormatterModeShareble and DDDispatchQueueLogFormatterModeNonShareble, depending if the formatter is shared between several loggers or not\n */\n- (instancetype)initWithMode:(DDDispatchQueueLogFormatterMode)mode;\n\n/**\n * The minQueueLength restricts the minimum size of the [detail box].\n * If the minQueueLength is set to 0, there is no restriction.\n *\n * For example, say a dispatch_queue has a label of \"diskIO\":\n *\n * If the minQueueLength is 0: [diskIO]\n * If the minQueueLength is 4: [diskIO]\n * If the minQueueLength is 5: [diskIO]\n * If the minQueueLength is 6: [diskIO]\n * If the minQueueLength is 7: [diskIO ]\n * If the minQueueLength is 8: [diskIO  ]\n *\n * The default minQueueLength is 0 (no minimum, so [detail box] won't be padded).\n *\n * If you want every [detail box] to have the exact same width,\n * set both minQueueLength and maxQueueLength to the same value.\n **/\n@property (assign, atomic) NSUInteger minQueueLength;\n\n/**\n * The maxQueueLength restricts the number of characters that will be inside the [detail box].\n * If the maxQueueLength is 0, there is no restriction.\n *\n * For example, say a dispatch_queue has a label of \"diskIO\":\n *\n * If the maxQueueLength is 0: [diskIO]\n * If the maxQueueLength is 4: [disk]\n * If the maxQueueLength is 5: [diskI]\n * If the maxQueueLength is 6: [diskIO]\n * If the maxQueueLength is 7: [diskIO]\n * If the maxQueueLength is 8: [diskIO]\n *\n * The default maxQueueLength is 0 (no maximum, so [detail box] won't be truncated).\n *\n * If you want every [detail box] to have the exact same width,\n * set both minQueueLength and maxQueueLength to the same value.\n **/\n@property (assign, atomic) NSUInteger maxQueueLength;\n\n/**\n * Sometimes queue labels have long names like \"com.apple.main-queue\",\n * but you'd prefer something shorter like simply \"main\".\n *\n * This method allows you to set such preferred replacements.\n * The above example is set by default.\n *\n * To remove/undo a previous replacement, invoke this method with nil for the 'shortLabel' parameter.\n **/\n- (NSString *)replacementStringForQueueLabel:(NSString *)longLabel;\n\n/**\n *  See the `replacementStringForQueueLabel:` description\n */\n- (void)setReplacementString:(NSString *)shortLabel forQueueLabel:(NSString *)longLabel;\n\n@end\n\n/**\n *  Category on `DDDispatchQueueLogFormatter` to make method declarations easier to extend/modify\n **/\n@interface DDDispatchQueueLogFormatter (OverridableMethods)\n\n/**\n *  Date formatter default configuration\n */\n- (void)configureDateFormatter:(NSDateFormatter *)dateFormatter;\n\n/**\n *  Formatter method to transfrom from date to string\n */\n- (NSString *)stringFromDate:(NSDate *)date;\n\n/**\n *  Method to compute the queue thread label\n */\n- (NSString *)queueThreadLabelForLogMessage:(DDLogMessage *)logMessage;\n\n/**\n *  The actual method that formats a message (transforms a `DDLogMessage` model into a printable string)\n */\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/Extensions/DDDispatchQueueLogFormatter.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDDispatchQueueLogFormatter.h\"\n#import <pthread/pthread.h>\n#import <objc/runtime.h>\n\n#if !__has_feature(objc_arc)\n#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n@interface DDDispatchQueueLogFormatter () {\n    DDDispatchQueueLogFormatterMode _mode;\n    NSString *_dateFormatterKey;\n    \n    int32_t _atomicLoggerCount;\n    NSDateFormatter *_threadUnsafeDateFormatter; // Use [self stringFromDate]\n    \n    pthread_mutex_t _mutex;\n    \n    NSUInteger _minQueueLength;           // _prefix == Only access via atomic property\n    NSUInteger _maxQueueLength;           // _prefix == Only access via atomic property\n    NSMutableDictionary *_replacements;   // _prefix == Only access from within spinlock\n}\n\n@end\n\n\n@implementation DDDispatchQueueLogFormatter\n\n- (instancetype)init {\n    if ((self = [super init])) {\n        _mode = DDDispatchQueueLogFormatterModeShareble;\n\n        // We need to carefully pick the name for storing in thread dictionary to not\n        // use a formatter configured by subclass and avoid surprises.\n        Class cls = [self class];\n        Class superClass = class_getSuperclass(cls);\n        SEL configMethodName = @selector(configureDateFormatter:);\n        Method configMethod = class_getInstanceMethod(cls, configMethodName);\n        while (class_getInstanceMethod(superClass, configMethodName) == configMethod) {\n            cls = superClass;\n            superClass = class_getSuperclass(cls);\n        }\n        // now `cls` is the class that provides implementation for `configureDateFormatter:`\n        _dateFormatterKey = [NSString stringWithFormat:@\"%s_NSDateFormatter\", class_getName(cls)];\n\n        _atomicLoggerCount = 0;\n        _threadUnsafeDateFormatter = nil;\n\n        _minQueueLength = 0;\n        _maxQueueLength = 0;\n        pthread_mutex_init(&_mutex, NULL);\n        _replacements = [[NSMutableDictionary alloc] init];\n\n        // Set default replacements:\n\n        _replacements[@\"com.apple.main-thread\"] = @\"main\";\n    }\n\n    return self;\n}\n\n- (instancetype)initWithMode:(DDDispatchQueueLogFormatterMode)mode {\n    if ((self = [self init])) {\n        _mode = mode;\n    }\n    return self;\n}\n\n- (void)dealloc {\n    pthread_mutex_destroy(&_mutex);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@synthesize minQueueLength = _minQueueLength;\n@synthesize maxQueueLength = _maxQueueLength;\n\n- (NSString *)replacementStringForQueueLabel:(NSString *)longLabel {\n    NSString *result = nil;\n\n    pthread_mutex_lock(&_mutex);\n    {\n        result = _replacements[longLabel];\n    }\n    pthread_mutex_unlock(&_mutex);\n\n    return result;\n}\n\n- (void)setReplacementString:(NSString *)shortLabel forQueueLabel:(NSString *)longLabel {\n    pthread_mutex_lock(&_mutex);\n    {\n        if (shortLabel) {\n            _replacements[longLabel] = shortLabel;\n        } else {\n            [_replacements removeObjectForKey:longLabel];\n        }\n    }\n    pthread_mutex_unlock(&_mutex);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark DDLogFormatter\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSDateFormatter *)createDateFormatter {\n    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];\n    [self configureDateFormatter:formatter];\n    return formatter;\n}\n\n- (void)configureDateFormatter:(NSDateFormatter *)dateFormatter {\n    [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];\n    [dateFormatter setDateFormat:@\"yyyy-MM-dd HH:mm:ss:SSS\"];\n    [dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@\"en_US_POSIX\"]];\n\n    NSString *calendarIdentifier = nil;\n#if defined(__IPHONE_8_0) || defined(__MAC_10_10)\n    calendarIdentifier = NSCalendarIdentifierGregorian;\n#else\n    calendarIdentifier = NSGregorianCalendar;\n#endif\n\n    [dateFormatter setCalendar:[[NSCalendar alloc] initWithCalendarIdentifier:calendarIdentifier]];\n}\n\n- (NSString *)stringFromDate:(NSDate *)date {\n\n    NSDateFormatter *dateFormatter = nil;\n    if (_mode == DDDispatchQueueLogFormatterModeNonShareble) {\n        // Single-threaded mode.\n\n        dateFormatter = _threadUnsafeDateFormatter;\n        if (dateFormatter == nil) {\n            dateFormatter = [self createDateFormatter];\n            _threadUnsafeDateFormatter = dateFormatter;\n        }\n    } else {\n        // Multi-threaded mode.\n        // NSDateFormatter is NOT thread-safe.\n\n        NSString *key = _dateFormatterKey;\n\n        NSMutableDictionary *threadDictionary = [[NSThread currentThread] threadDictionary];\n        dateFormatter = threadDictionary[key];\n\n        if (dateFormatter == nil) {\n            dateFormatter = [self createDateFormatter];\n            threadDictionary[key] = dateFormatter;\n        }\n    }\n\n    return [dateFormatter stringFromDate:date];\n}\n\n- (NSString *)queueThreadLabelForLogMessage:(DDLogMessage *)logMessage {\n    // As per the DDLogFormatter contract, this method is always invoked on the same thread/dispatch_queue\n\n    NSUInteger minQueueLength = self.minQueueLength;\n    NSUInteger maxQueueLength = self.maxQueueLength;\n\n    // Get the name of the queue, thread, or machID (whichever we are to use).\n\n    NSString *queueThreadLabel = nil;\n\n    BOOL useQueueLabel = YES;\n    BOOL useThreadName = NO;\n\n    if (logMessage->_queueLabel) {\n        // If you manually create a thread, it's dispatch_queue will have one of the thread names below.\n        // Since all such threads have the same name, we'd prefer to use the threadName or the machThreadID.\n\n        NSArray *names = @[\n            @\"com.apple.root.low-priority\",\n            @\"com.apple.root.default-priority\",\n            @\"com.apple.root.high-priority\",\n            @\"com.apple.root.low-overcommit-priority\",\n            @\"com.apple.root.default-overcommit-priority\",\n            @\"com.apple.root.high-overcommit-priority\"\n        ];\n\n        for (NSString * name in names) {\n            if ([logMessage->_queueLabel isEqualToString:name]) {\n                useQueueLabel = NO;\n                useThreadName = [logMessage->_threadName length] > 0;\n                break;\n            }\n        }\n    } else {\n        useQueueLabel = NO;\n        useThreadName = [logMessage->_threadName length] > 0;\n    }\n\n    if (useQueueLabel || useThreadName) {\n        NSString *fullLabel;\n        NSString *abrvLabel;\n\n        if (useQueueLabel) {\n            fullLabel = logMessage->_queueLabel;\n        } else {\n            fullLabel = logMessage->_threadName;\n        }\n\n        pthread_mutex_lock(&_mutex);\n        {\n            abrvLabel = _replacements[fullLabel];\n        }\n        pthread_mutex_unlock(&_mutex);\n\n        if (abrvLabel) {\n            queueThreadLabel = abrvLabel;\n        } else {\n            queueThreadLabel = fullLabel;\n        }\n    } else {\n        queueThreadLabel = logMessage->_threadID;\n    }\n\n    // Now use the thread label in the output\n\n    NSUInteger labelLength = [queueThreadLabel length];\n\n    // labelLength > maxQueueLength : truncate\n    // labelLength < minQueueLength : padding\n    //                              : exact\n\n    if ((maxQueueLength > 0) && (labelLength > maxQueueLength)) {\n        // Truncate\n\n        return [queueThreadLabel substringToIndex:maxQueueLength];\n    } else if (labelLength < minQueueLength) {\n        // Padding\n\n        NSUInteger numSpaces = minQueueLength - labelLength;\n\n        char spaces[numSpaces + 1];\n        memset(spaces, ' ', numSpaces);\n        spaces[numSpaces] = '\\0';\n\n        return [NSString stringWithFormat:@\"%@%s\", queueThreadLabel, spaces];\n    } else {\n        // Exact\n\n        return queueThreadLabel;\n    }\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {\n    NSString *timestamp = [self stringFromDate:(logMessage->_timestamp)];\n    NSString *queueThreadLabel = [self queueThreadLabelForLogMessage:logMessage];\n\n    return [NSString stringWithFormat:@\"%@ [%@] %@\", timestamp, queueThreadLabel, logMessage->_message];\n}\n\n- (void)didAddToLogger:(id <DDLogger>  __attribute__((unused)))logger {\n    int32_t count = 0;\n    count = OSAtomicIncrement32(&_atomicLoggerCount);\n    NSAssert(count <= 1 || _mode == DDDispatchQueueLogFormatterModeShareble, @\"Can't reuse formatter with multiple loggers in non-shareable mode.\");\n}\n\n- (void)willRemoveFromLogger:(id <DDLogger> __attribute__((unused)))logger {\n    OSAtomicDecrement32(&_atomicLoggerCount);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/Extensions/DDMultiFormatter.h",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import <Foundation/Foundation.h>\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n#import \"DDLog.h\"\n\n/**\n * This formatter can be used to chain different formatters together.\n * The log message will processed in the order of the formatters added.\n **/\n@interface DDMultiFormatter : NSObject <DDLogFormatter>\n\n/**\n *  Array of chained formatters\n */\n@property (readonly) NSArray<id<DDLogFormatter>> *formatters;\n\n/**\n *  Add a new formatter\n */\n- (void)addFormatter:(id<DDLogFormatter>)formatter NS_SWIFT_NAME(add(_:));\n\n/**\n *  Remove a formatter\n */\n- (void)removeFormatter:(id<DDLogFormatter>)formatter NS_SWIFT_NAME(remove(_:));\n\n/**\n *  Remove all existing formatters\n */\n- (void)removeAllFormatters NS_SWIFT_NAME(removeAll());\n\n/**\n *  Check if a certain formatter is used\n */\n- (BOOL)isFormattingWithFormatter:(id<DDLogFormatter>)formatter;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Classes/Extensions/DDMultiFormatter.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2010-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n#import \"DDMultiFormatter.h\"\n\n\n#if TARGET_OS_IOS\n// Compiling for iOS\n#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 // iOS 6.0 or later\n#define NEEDS_DISPATCH_RETAIN_RELEASE 0\n#else                                         // iOS 5.X or earlier\n#define NEEDS_DISPATCH_RETAIN_RELEASE 1\n#endif\n#elif TARGET_OS_WATCH || TARGET_OS_TV\n// Compiling for watchOS, tvOS\n#define NEEDS_DISPATCH_RETAIN_RELEASE 0\n#else\n// Compiling for Mac OS X\n#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080     // Mac OS X 10.8 or later\n#define NEEDS_DISPATCH_RETAIN_RELEASE 0\n#else                                         // Mac OS X 10.7 or earlier\n#define NEEDS_DISPATCH_RETAIN_RELEASE 1\n#endif\n#endif\n\n\n#if !__has_feature(objc_arc)\n#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n\n@interface DDMultiFormatter () {\n    dispatch_queue_t _queue;\n    NSMutableArray *_formatters;\n}\n\n- (DDLogMessage *)logMessageForLine:(NSString *)line originalMessage:(DDLogMessage *)message;\n\n@end\n\n\n@implementation DDMultiFormatter\n\n- (instancetype)init {\n    self = [super init];\n\n    if (self) {\n#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070\n        _queue = dispatch_queue_create(\"cocoa.lumberjack.multiformatter\", DISPATCH_QUEUE_CONCURRENT);\n#else\n        _queue = dispatch_queue_create(\"cocoa.lumberjack.multiformatter\", NULL);\n#endif\n        _formatters = [NSMutableArray new];\n    }\n\n    return self;\n}\n\n#if NEEDS_DISPATCH_RETAIN_RELEASE\n- (void)dealloc {\n    dispatch_release(_queue);\n}\n\n#endif\n\n#pragma mark Processing\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {\n    __block NSString *line = logMessage->_message;\n\n    dispatch_sync(_queue, ^{\n        for (id<DDLogFormatter> formatter in self->_formatters) {\n            DDLogMessage *message = [self logMessageForLine:line originalMessage:logMessage];\n            line = [formatter formatLogMessage:message];\n\n            if (!line) {\n                break;\n            }\n        }\n    });\n\n    return line;\n}\n\n- (DDLogMessage *)logMessageForLine:(NSString *)line originalMessage:(DDLogMessage *)message {\n    DDLogMessage *newMessage = [message copy];\n\n    newMessage->_message = line;\n    return newMessage;\n}\n\n#pragma mark Formatters\n\n- (NSArray *)formatters {\n    __block NSArray *formatters;\n\n    dispatch_sync(_queue, ^{\n        formatters = [self->_formatters copy];\n    });\n\n    return formatters;\n}\n\n- (void)addFormatter:(id<DDLogFormatter>)formatter {\n    dispatch_barrier_async(_queue, ^{\n        [self->_formatters addObject:formatter];\n    });\n}\n\n- (void)removeFormatter:(id<DDLogFormatter>)formatter {\n    dispatch_barrier_async(_queue, ^{\n        [self->_formatters removeObject:formatter];\n    });\n}\n\n- (void)removeAllFormatters {\n    dispatch_barrier_async(_queue, ^{\n        [self->_formatters removeAllObjects];\n    });\n}\n\n- (BOOL)isFormattingWithFormatter:(id<DDLogFormatter>)formatter {\n    __block BOOL hasFormatter;\n\n    dispatch_sync(_queue, ^{\n        hasFormatter = [self->_formatters containsObject:formatter];\n    });\n\n    return hasFormatter;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/CocoaLumberjack.podspec",
    "content": "\nPod::Spec.new do |s|\n\n  s.name     = 'CocoaLumberjack'\n  s.version  = '3.4.2'\n  s.license  = 'BSD'\n  s.summary  = 'A fast & simple, yet powerful & flexible logging framework for Mac and iOS.'\n  s.homepage = 'https://github.com/CocoaLumberjack/CocoaLumberjack'\n  s.author   = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }\n  s.source   = { :git => 'https://github.com/CocoaLumberjack/CocoaLumberjack.git',\n                 :tag => \"#{s.version}\" }\n\n  s.description = 'It is similar in concept to other popular logging frameworks such as log4j, '   \\\n                  'yet is designed specifically for objective-c, and takes advantage of features ' \\\n                  'such as multi-threading, grand central dispatch (if available), lockless '      \\\n                  'atomic operations, and the dynamic nature of the objective-c runtime.'\n\n  s.requires_arc   = true\n\n  s.preserve_paths = 'README.md', 'Classes/CocoaLumberjack.swift', 'Framework/Lumberjack/CocoaLumberjack.modulemap'\n  \n  s.ios.deployment_target     = '6.0'\n  s.osx.deployment_target     = '10.8'\n  s.watchos.deployment_target = '2.0'\n  s.tvos.deployment_target    = '9.0'\n\n  s.default_subspecs = 'Default', 'Extensions'\n\n  s.subspec 'Default' do |ss|\n    ss.source_files         = 'Classes/CocoaLumberjack.h', 'Classes/DD*.{h,m}'\n    ss.public_header_files  = 'Classes/CocoaLumberjack.h', 'Classes/DD*.h'\n  end\n\n  s.subspec 'Core' do |ss|\n    ss.source_files         = 'Classes/DD*.{h,m}'\n    ss.public_header_files  = 'Classes/DD*.h'\n  end\n\n  s.subspec 'Extensions' do |ss|\n    ss.dependency 'CocoaLumberjack/Default'\n    ss.source_files         = 'Classes/Extensions/*.{h,m}'\n    ss.public_header_files  = 'Classes/Extensions/*.h'\n  end\n  \n  s.subspec 'CLI' do |ss|\n    ss.osx.deployment_target    = '10.8'\n    ss.osx.dependency 'CocoaLumberjack/Default'\n    ss.osx.source_files         = 'Classes/CLI/*.{h,m}'\n    ss.osx.public_header_files  = 'Classes/CLI/*.h'\n  end\n\n  s.subspec 'Swift' do |ss|\n    ss.ios.deployment_target      = '8.0'\n    ss.osx.deployment_target      = '10.10'\n    ss.watchos.deployment_target  = '2.0'\n    ss.tvos.deployment_target     = '9.0'\n    ss.dependency 'CocoaLumberjack/Default'\n    ss.source_files               = 'Classes/CocoaLumberjack.swift'\n  end\n  \nend\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  BenchmarkMac\n//\n//  Created by Robbie Hanson on 11/15/11.\n//\n\n#import <Cocoa/Cocoa.h>\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n\n@property (assign) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import \"PerformanceTesting.h\"\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    [PerformanceTesting startPerformanceTests];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac/BenchmarkMac-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac/BenchmarkMac-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'BenchmarkMac' target in the 'BenchmarkMac' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11A511</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1920</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">566.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1920</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">BenchmarkMac</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">BenchmarkMac</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About BenchmarkMac</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide BenchmarkMac</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit BenchmarkMac</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">BenchmarkMac Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">BenchmarkMac</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">535</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addCardViewField:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"doDelete:\">id</string>\n\t\t\t\t\t\t<string key=\"find:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"saveChanges:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addCardViewField:\">\n\t\t\t\t\t\t\t<string key=\"name\">addCardViewField:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"doDelete:\">\n\t\t\t\t\t\t\t<string key=\"name\">doDelete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"find:\">\n\t\t\t\t\t\t\t<string key=\"name\">find:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveChanges:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveChanges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mCardView\">ABCardView</string>\n\t\t\t\t\t\t<string key=\"mEditButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"mManagedObjectContext\">NSManagedObjectContext</string>\n\t\t\t\t\t\t<string key=\"mSearchField\">NSSearchField</string>\n\t\t\t\t\t\t<string key=\"mStatusTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"mWindow\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mCardView\">\n\t\t\t\t\t\t\t<string key=\"name\">mCardView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABCardView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mEditButton\">\n\t\t\t\t\t\t\t<string key=\"name\">mEditButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mManagedObjectContext\">\n\t\t\t\t\t\t\t<string key=\"name\">mManagedObjectContext</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSManagedObjectContext</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mSearchField\">\n\t\t\t\t\t\t\t<string key=\"name\">mSearchField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSearchField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mStatusTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">mStatusTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">mWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"commitAndSave:\">id</string>\n\t\t\t\t\t\t<string key=\"statusImageClicked:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"commitAndSave:\">\n\t\t\t\t\t\t\t<string key=\"name\">commitAndSave:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"statusImageClicked:\">\n\t\t\t\t\t\t\t<string key=\"name\">statusImageClicked:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mBuddyStatusImage\">NSImageView</string>\n\t\t\t\t\t\t<string key=\"mHeaderView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mNameView\">ABNameFrameView</string>\n\t\t\t\t\t\t<string key=\"mNextKeyView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mUserImage\">NSImage</string>\n\t\t\t\t\t\t<string key=\"mUserImageView\">ABImageView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mBuddyStatusImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mBuddyStatusImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mHeaderView\">\n\t\t\t\t\t\t\t<string key=\"name\">mHeaderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNameView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNameView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABNameFrameView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNextKeyView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNextKeyView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImage</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImageView\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImageView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABImageView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTAutoLayoutView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTAutoLayoutView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTBorderedView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">contentView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTBorderedView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTDelayedMenuButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTDelayedMenuButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTGradientImageButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTGradientImageButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTextFieldCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextColumn</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableColumn</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextColumn.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTSplitView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSSplitView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTSplitView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTStackView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTStackView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFRepresenterTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFRepresenterTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IBEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"changeFont:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeSelectionToFit:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"changeFont:\">\n\t\t\t\t\t\t\t<string key=\"name\">changeFont:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeSelectionToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeSelectionToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IBEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDECapsuleListView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTStackView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">dataSource</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDECapsuleListView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMArrayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSArrayController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMArrayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"bottomToolbarBorderView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"sourceListSplitViewPane\">NSView</string>\n\t\t\t\t\t\t<string key=\"sourceListViewController\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t<string key=\"splitView\">DVTSplitView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"bottomToolbarBorderView\">\n\t\t\t\t\t\t\t<string key=\"name\">bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListSplitViewPane\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"borderedView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDMEditor</string>\n\t\t\t\t\t\t<string key=\"primaryColumn\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t<string key=\"sourceListOutlineView\">DVTOutlineView</string>\n\t\t\t\t\t\t<string key=\"sourceListTreeController\">NSTreeController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"primaryColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">primaryColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListOutlineView\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListTreeController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListTreeController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorSourceListController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTImageAndTextCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMHighlightImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"attributesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"capsuleView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"fetchedPropertiesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"relationshipsTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"attributesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">attributesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchedPropertiesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"relationshipsTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">relationshipsTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelBrowserEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"capsuleListView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableController\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleListView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleListView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableController\">\n\t\t\t\t\t\t\t<string key=\"name\">tableController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"configurationsArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationsArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationsArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"diagramView\">XDDiagramView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramView\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDDiagramView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelDiagramEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"addEntityButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"addPropertyButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"browserDiagramSegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"configurationViewController\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"entityContentsViewController\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"fetchRequestViewController\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t<string key=\"hierarchySegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addEntityButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addEntityButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addPropertyButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addPropertyButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserDiagramSegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityContentsViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityContentsViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchRequestViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchRequestViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"hierarchySegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">hierarchySegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"browserViewController\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"diagramViewController\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">browserViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEntityContentsEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"entityController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">IDECapsuleListView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelFetchRequestEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"arrayController\">IDEDMArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesColumn\">NSTableColumn</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"propertyNameAndImageCell\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"arrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">arrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTableColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"propertyNameAndImageCell\">\n\t\t\t\t\t\t\t<string key=\"name\">propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelPropertiesTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"getDocSetAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showProblemInfoForUpdate:\">id</string>\n\t\t\t\t\t\t<string key=\"subscribeToPublisherAction:\">id</string>\n\t\t\t\t\t\t<string key=\"unsubscribeFromPublisher:\">id</string>\n\t\t\t\t\t\t<string key=\"updateDocSetAction:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"getDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">getDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showProblemInfoForUpdate:\">\n\t\t\t\t\t\t\t<string key=\"name\">showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscribeToPublisherAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unsubscribeFromPublisher:\">\n\t\t\t\t\t\t\t<string key=\"name\">unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"updateDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">updateDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDocSetOutlineView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocViewingPrefPaneController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addSubscription:\">id</string>\n\t\t\t\t\t\t<string key=\"checkForAndInstallUpdatesNow:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeComboBoxAction:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeEnabledAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showHelp:\">id</string>\n\t\t\t\t\t\t<string key=\"showSubscriptionSheet:\">id</string>\n\t\t\t\t\t\t<string key=\"subscriptionCancelAction:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleAutoCheckForAndInstallUpdates:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleDocSetInfo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addSubscription:\">\n\t\t\t\t\t\t\t<string key=\"name\">addSubscription:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"checkForAndInstallUpdatesNow:\">\n\t\t\t\t\t\t\t<string key=\"name\">checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeComboBoxAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeEnabledAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showHelp:\">\n\t\t\t\t\t\t\t<string key=\"name\">showHelp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showSubscriptionSheet:\">\n\t\t\t\t\t\t\t<string key=\"name\">showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscriptionCancelAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleAutoCheckForAndInstallUpdates:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleDocSetInfo:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleDocSetInfo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"_addButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_deleteButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_showInfoAreaButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_splitView\">NSSplitView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetInfoSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetsListSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"borderedViewAroundSplitView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"borderedViewBelowTable\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"checkAndInstallNowButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"docSetInfoTextView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"docSetOutlineViewController\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeControl\">NSComboBox</string>\n\t\t\t\t\t\t<string key=\"noUpdatesAvailableMessage\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"showInfoButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"subscriptionTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"subscriptionWindow\">NSWindow</string>\n\t\t\t\t\t\t<string key=\"validateAddSubscriptionButton\">NSButton</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_addButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_addButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_deleteButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_deleteButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_showInfoAreaButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_showInfoAreaButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetInfoSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetsListSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewAroundSplitView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewBelowTable\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewBelowTable</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"checkAndInstallNowButton\">\n\t\t\t\t\t\t\t<string key=\"name\">checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetInfoTextView\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetInfoTextView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetOutlineViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"minimumFontSizeControl\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSComboBox</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"noUpdatesAvailableMessage\">\n\t\t\t\t\t\t\t<string key=\"name\">noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"showInfoButton\">\n\t\t\t\t\t\t\t<string key=\"name\">showInfoButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"validateAddSubscriptionButton\">\n\t\t\t\t\t\t\t<string key=\"name\">validateAddSubscriptionButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocViewingPrefPaneController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IKImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"crop:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"crop:\">\n\t\t\t\t\t\t\t<string key=\"name\">crop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IKImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"printDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"revertDocumentToSaved:\">id</string>\n\t\t\t\t\t\t<string key=\"runPageLayout:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentAs:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentTo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"printDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"revertDocumentToSaved:\">\n\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"runPageLayout:\">\n\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentAs:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentTo:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QLPreviewBubble</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"hide:\">id</string>\n\t\t\t\t\t\t<string key=\"show:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"hide:\">\n\t\t\t\t\t\t\t<string key=\"name\">hide:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"show:\">\n\t\t\t\t\t\t\t<string key=\"name\">show:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">parentWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QLPreviewBubble.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QTMovieView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"showAll:\">id</string>\n\t\t\t\t\t\t<string key=\"showCustomButton:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleLoops:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">showAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showCustomButton:\">\n\t\t\t\t\t\t\t<string key=\"name\">showCustomButton:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleLoops:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleLoops:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QTMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"reloadFromOrigin:\">id</string>\n\t\t\t\t\t\t<string key=\"resetPageZoom:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"reloadFromOrigin:\">\n\t\t\t\t\t\t\t<string key=\"name\">reloadFromOrigin:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"resetPageZoom:\">\n\t\t\t\t\t\t\t<string key=\"name\">resetPageZoom:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/WebView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDDiagramView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"_graphLayouterMenuItemAction:\">id</string>\n\t\t\t\t\t\t<string key=\"_zoomPopUpButtonAction:\">id</string>\n\t\t\t\t\t\t<string key=\"alignBottomEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersHorizontallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersVerticallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignHorizontalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"alignLeftEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignRightEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignTopEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignVerticalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"bringToFront:\">id</string>\n\t\t\t\t\t\t<string key=\"collapseAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteBackward:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteForward:\">id</string>\n\t\t\t\t\t\t<string key=\"deselectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomOut:\">id</string>\n\t\t\t\t\t\t<string key=\"expandAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"flipHorizontally:\">id</string>\n\t\t\t\t\t\t<string key=\"flipVertically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsConcentrically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsHierarchically:\">id</string>\n\t\t\t\t\t\t<string key=\"lock:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameHeight:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameWidth:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDown:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDownAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeft:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeftAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRight:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRightAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUp:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUpAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"rollDownAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"rollUpAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sendToBack:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeToFit:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleGridShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleHiddenGraphicsShown:\">id</string>\n\t\t\t\t\t\t<string key=\"togglePageBreaksShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleRuler:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleSnapsToGrid:\">id</string>\n\t\t\t\t\t\t<string key=\"unlock:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_graphLayouterMenuItemAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_zoomPopUpButtonAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignBottomEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignBottomEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersHorizontallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersVerticallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignHorizontalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignLeftEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignLeftEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignRightEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignRightEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignTopEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignTopEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignVerticalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignVerticalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"bringToFront:\">\n\t\t\t\t\t\t\t<string key=\"name\">bringToFront:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"collapseAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">collapseAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteBackward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteBackward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteForward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteForward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deselectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">deselectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"expandAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">expandAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipHorizontally:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipHorizontally:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipVertically:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipVertically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsConcentrically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsHierarchically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"lock:\">\n\t\t\t\t\t\t\t<string key=\"name\">lock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameHeight:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameHeight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameWidth:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameWidth:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDown:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDownAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeft:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeft:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeftAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRight:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRightAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUp:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUpAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollDownAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollUpAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sendToBack:\">\n\t\t\t\t\t\t\t<string key=\"name\">sendToBack:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleGridShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleGridShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleHiddenGraphicsShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"togglePageBreaksShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleRuler:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleRuler:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleSnapsToGrid:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unlock:\">\n\t\t\t\t\t\t\t<string key=\"name\">unlock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">_diagramController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDDiagramView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">showAllTableColumns:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"applicationShouldTerminate:\">id</string>\n\t\t\t\t\t\t<string key=\"applicationWillFinishLaunching:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationShouldTerminate:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationWillFinishLaunching:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{9, 8}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{7, 2}</string>\n\t\t</dictionary>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac/main.m",
    "content": "//\n//  main.m\n//  BenchmarkMac\n//\n//  Created by Robbie Hanson on 11/15/11.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tDCC29DE114730AA9005E8FD4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCC29DE014730AA9005E8FD4 /* Cocoa.framework */; };\n\t\tDCC29DEB14730AA9005E8FD4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DCC29DE914730AA9005E8FD4 /* InfoPlist.strings */; };\n\t\tDCC29DED14730AA9005E8FD4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC29DEC14730AA9005E8FD4 /* main.m */; };\n\t\tDCC29DF114730AA9005E8FD4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DCC29DEF14730AA9005E8FD4 /* Credits.rtf */; };\n\t\tDCC29DF414730AA9005E8FD4 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC29DF314730AA9005E8FD4 /* AppDelegate.m */; };\n\t\tDCC29DF714730AA9005E8FD4 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCC29DF514730AA9005E8FD4 /* MainMenu.xib */; };\n\t\tDCC29E1F14730B05005E8FD4 /* BaseNSLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC29E1814730B05005E8FD4 /* BaseNSLogging.m */; };\n\t\tDCC29E2014730B05005E8FD4 /* DynamicLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC29E1A14730B05005E8FD4 /* DynamicLogging.m */; };\n\t\tDCC29E2114730B05005E8FD4 /* PerformanceTesting.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC29E1C14730B05005E8FD4 /* PerformanceTesting.m */; };\n\t\tDCC29E2214730B05005E8FD4 /* StaticLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = DCC29E1E14730B05005E8FD4 /* StaticLogging.m */; };\n\t\tDEFECBAB62BC430EC3A3FAAB /* Pods_BenchmarkMac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D2CA005FBDD7360D86E3BA1 /* Pods_BenchmarkMac.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t7D2CA005FBDD7360D86E3BA1 /* Pods_BenchmarkMac.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_BenchmarkMac.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tB5740B0CCB466F5BE2C23905 /* Pods-BenchmarkMac.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-BenchmarkMac.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-BenchmarkMac/Pods-BenchmarkMac.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tDCC29DDC14730AA9005E8FD4 /* BenchmarkMac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BenchmarkMac.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCC29DE014730AA9005E8FD4 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDCC29DE314730AA9005E8FD4 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDCC29DE414730AA9005E8FD4 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDCC29DE514730AA9005E8FD4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDCC29DE814730AA9005E8FD4 /* BenchmarkMac-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"BenchmarkMac-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDCC29DEA14730AA9005E8FD4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDCC29DEC14730AA9005E8FD4 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDCC29DEE14730AA9005E8FD4 /* BenchmarkMac-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"BenchmarkMac-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDCC29DF014730AA9005E8FD4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDCC29DF214730AA9005E8FD4 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDCC29DF314730AA9005E8FD4 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDCC29DF614730AA9005E8FD4 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDCC29E1714730B05005E8FD4 /* BaseNSLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseNSLogging.h; sourceTree = \"<group>\"; };\n\t\tDCC29E1814730B05005E8FD4 /* BaseNSLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseNSLogging.m; sourceTree = \"<group>\"; };\n\t\tDCC29E1914730B05005E8FD4 /* DynamicLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicLogging.h; sourceTree = \"<group>\"; };\n\t\tDCC29E1A14730B05005E8FD4 /* DynamicLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DynamicLogging.m; sourceTree = \"<group>\"; };\n\t\tDCC29E1B14730B05005E8FD4 /* PerformanceTesting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PerformanceTesting.h; sourceTree = \"<group>\"; };\n\t\tDCC29E1C14730B05005E8FD4 /* PerformanceTesting.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PerformanceTesting.m; sourceTree = \"<group>\"; };\n\t\tDCC29E1D14730B05005E8FD4 /* StaticLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaticLogging.h; sourceTree = \"<group>\"; };\n\t\tDCC29E1E14730B05005E8FD4 /* StaticLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StaticLogging.m; sourceTree = \"<group>\"; };\n\t\tECBABCE606F0087E19512FED /* Pods-BenchmarkMac.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-BenchmarkMac.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-BenchmarkMac/Pods-BenchmarkMac.debug.xcconfig\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDCC29DD914730AA9005E8FD4 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCC29DE114730AA9005E8FD4 /* Cocoa.framework in Frameworks */,\n\t\t\t\tDEFECBAB62BC430EC3A3FAAB /* Pods_BenchmarkMac.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t8B2D89AB0547F7D910983389 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tECBABCE606F0087E19512FED /* Pods-BenchmarkMac.debug.xcconfig */,\n\t\t\t\tB5740B0CCB466F5BE2C23905 /* Pods-BenchmarkMac.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC29DD114730AA9005E8FD4 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29E1614730AC6005E8FD4 /* Benchmarking */,\n\t\t\t\tDCC29DE614730AA9005E8FD4 /* BenchmarkMac */,\n\t\t\t\tDCC29DDF14730AA9005E8FD4 /* Frameworks */,\n\t\t\t\tDCC29DDD14730AA9005E8FD4 /* Products */,\n\t\t\t\t8B2D89AB0547F7D910983389 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC29DDD14730AA9005E8FD4 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29DDC14730AA9005E8FD4 /* BenchmarkMac.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC29DDF14730AA9005E8FD4 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29DE014730AA9005E8FD4 /* Cocoa.framework */,\n\t\t\t\tDCC29DE214730AA9005E8FD4 /* Other Frameworks */,\n\t\t\t\t7D2CA005FBDD7360D86E3BA1 /* Pods_BenchmarkMac.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC29DE214730AA9005E8FD4 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29DE314730AA9005E8FD4 /* AppKit.framework */,\n\t\t\t\tDCC29DE414730AA9005E8FD4 /* CoreData.framework */,\n\t\t\t\tDCC29DE514730AA9005E8FD4 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC29DE614730AA9005E8FD4 /* BenchmarkMac */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29DF214730AA9005E8FD4 /* AppDelegate.h */,\n\t\t\t\tDCC29DF314730AA9005E8FD4 /* AppDelegate.m */,\n\t\t\t\tDCC29DF514730AA9005E8FD4 /* MainMenu.xib */,\n\t\t\t\tDCC29DE714730AA9005E8FD4 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = BenchmarkMac;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC29DE714730AA9005E8FD4 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29DE814730AA9005E8FD4 /* BenchmarkMac-Info.plist */,\n\t\t\t\tDCC29DE914730AA9005E8FD4 /* InfoPlist.strings */,\n\t\t\t\tDCC29DEC14730AA9005E8FD4 /* main.m */,\n\t\t\t\tDCC29DEE14730AA9005E8FD4 /* BenchmarkMac-Prefix.pch */,\n\t\t\t\tDCC29DEF14730AA9005E8FD4 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC29E1614730AC6005E8FD4 /* Benchmarking */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29E1714730B05005E8FD4 /* BaseNSLogging.h */,\n\t\t\t\tDCC29E1814730B05005E8FD4 /* BaseNSLogging.m */,\n\t\t\t\tDCC29E1914730B05005E8FD4 /* DynamicLogging.h */,\n\t\t\t\tDCC29E1A14730B05005E8FD4 /* DynamicLogging.m */,\n\t\t\t\tDCC29E1B14730B05005E8FD4 /* PerformanceTesting.h */,\n\t\t\t\tDCC29E1C14730B05005E8FD4 /* PerformanceTesting.m */,\n\t\t\t\tDCC29E1D14730B05005E8FD4 /* StaticLogging.h */,\n\t\t\t\tDCC29E1E14730B05005E8FD4 /* StaticLogging.m */,\n\t\t\t);\n\t\t\tname = Benchmarking;\n\t\t\tpath = ../../../Benchmarking;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDCC29DDB14730AA9005E8FD4 /* BenchmarkMac */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DCC29DFA14730AA9005E8FD4 /* Build configuration list for PBXNativeTarget \"BenchmarkMac\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tCCC3BE78F0DF486A86ECB56A /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDCC29DD814730AA9005E8FD4 /* Sources */,\n\t\t\t\tDCC29DD914730AA9005E8FD4 /* Frameworks */,\n\t\t\t\tDCC29DDA14730AA9005E8FD4 /* Resources */,\n\t\t\t\t8506515FE7184EE6BF1F427F /* [CP] Copy Pods Resources */,\n\t\t\t\t2F7E12BE852B635A45DBD2B0 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = BenchmarkMac;\n\t\t\tproductName = BenchmarkMac;\n\t\t\tproductReference = DCC29DDC14730AA9005E8FD4 /* BenchmarkMac.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDCC29DD314730AA9005E8FD4 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = DCC29DD614730AA9005E8FD4 /* Build configuration list for PBXProject \"BenchmarkMac\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DCC29DD114730AA9005E8FD4;\n\t\t\tproductRefGroup = DCC29DDD14730AA9005E8FD4 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDCC29DDB14730AA9005E8FD4 /* BenchmarkMac */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDCC29DDA14730AA9005E8FD4 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCC29DEB14730AA9005E8FD4 /* InfoPlist.strings in Resources */,\n\t\t\t\tDCC29DF114730AA9005E8FD4 /* Credits.rtf in Resources */,\n\t\t\t\tDCC29DF714730AA9005E8FD4 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t2F7E12BE852B635A45DBD2B0 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-BenchmarkMac/Pods-BenchmarkMac-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-BenchmarkMac/Pods-BenchmarkMac-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t8506515FE7184EE6BF1F427F /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-BenchmarkMac/Pods-BenchmarkMac-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tCCC3BE78F0DF486A86ECB56A /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-BenchmarkMac-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDCC29DD814730AA9005E8FD4 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCC29DED14730AA9005E8FD4 /* main.m in Sources */,\n\t\t\t\tDCC29DF414730AA9005E8FD4 /* AppDelegate.m in Sources */,\n\t\t\t\tDCC29E1F14730B05005E8FD4 /* BaseNSLogging.m in Sources */,\n\t\t\t\tDCC29E2014730B05005E8FD4 /* DynamicLogging.m in Sources */,\n\t\t\t\tDCC29E2114730B05005E8FD4 /* PerformanceTesting.m in Sources */,\n\t\t\t\tDCC29E2214730B05005E8FD4 /* StaticLogging.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDCC29DE914730AA9005E8FD4 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29DEA14730AA9005E8FD4 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC29DEF14730AA9005E8FD4 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29DF014730AA9005E8FD4 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCC29DF514730AA9005E8FD4 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCC29DF614730AA9005E8FD4 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDCC29DF814730AA9005E8FD4 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCC29DF914730AA9005E8FD4 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCC29DFB14730AA9005E8FD4 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = ECBABCE606F0087E19512FED /* Pods-BenchmarkMac.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"BenchmarkMac/BenchmarkMac-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"BenchmarkMac/BenchmarkMac-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCC29DFC14730AA9005E8FD4 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = B5740B0CCB466F5BE2C23905 /* Pods-BenchmarkMac.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"BenchmarkMac/BenchmarkMac-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"BenchmarkMac/BenchmarkMac-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDCC29DD614730AA9005E8FD4 /* Build configuration list for PBXProject \"BenchmarkMac\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCC29DF814730AA9005E8FD4 /* Debug */,\n\t\t\t\tDCC29DF914730AA9005E8FD4 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCC29DFA14730AA9005E8FD4 /* Build configuration list for PBXNativeTarget \"BenchmarkMac\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCC29DFB14730AA9005E8FD4 /* Debug */,\n\t\t\t\tDCC29DFC14730AA9005E8FD4 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DCC29DD314730AA9005E8FD4 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/BenchmarkMac.xcodeproj/xcshareddata/xcschemes/BenchmarkMac.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DCC29DDB14730AA9005E8FD4\"\n               BuildableName = \"BenchmarkMac.app\"\n               BlueprintName = \"BenchmarkMac\"\n               ReferencedContainer = \"container:BenchmarkMac.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCC29DDB14730AA9005E8FD4\"\n            BuildableName = \"BenchmarkMac.app\"\n            BlueprintName = \"BenchmarkMac\"\n            ReferencedContainer = \"container:BenchmarkMac.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCC29DDB14730AA9005E8FD4\"\n            BuildableName = \"BenchmarkMac.app\"\n            BlueprintName = \"BenchmarkMac\"\n            ReferencedContainer = \"container:BenchmarkMac.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCC29DDB14730AA9005E8FD4\"\n            BuildableName = \"BenchmarkMac.app\"\n            BlueprintName = \"BenchmarkMac\"\n            ReferencedContainer = \"container:BenchmarkMac.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/Podfile",
    "content": "\nproject 'BenchmarkMac'\nworkspace '../../Demos'\n\ntarget :'BenchmarkMac' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Desktop/ReadMe.txt",
    "content": "This Xcode project provides a benchmarking suite for performance testing on Mac OS X.\n\nDetails of the tests, as well as sample results, are provided on the Wiki:\nhttps://github.com/CocoaLumberjack/CocoaLumberjack/wiki/Performance\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/BenchmarkIPhone-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSMainNibFile</key>\n\t<string>MainWindow</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/BenchmarkIPhone.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1D3623260D0F684500981E51 /* BenchmarkIPhoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* BenchmarkIPhoneAppDelegate.m */; };\n\t\t1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };\n\t\t1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };\n\t\t1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };\n\t\t288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };\n\t\t2899E5220DE3E06400AC0155 /* BenchmarkIPhoneViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* BenchmarkIPhoneViewController.xib */; };\n\t\t28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };\n\t\t28D7ACF80DDB3853001CB0EB /* BenchmarkIPhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* BenchmarkIPhoneViewController.m */; };\n\t\t6C4077FAB6371919A2A82CC8 /* Pods_BenchmarkIPhone.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27267E7975736E9C8C9F86D8 /* Pods_BenchmarkIPhone.framework */; };\n\t\tDC3D2F391674073100DFAFAA /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DC3D2F381674073100DFAFAA /* Default-568h@2x.png */; };\n\t\tDC987BDF11928FD60020FF52 /* BaseNSLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = DC987BD811928FD60020FF52 /* BaseNSLogging.m */; };\n\t\tDC987BE011928FD60020FF52 /* DynamicLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = DC987BDA11928FD60020FF52 /* DynamicLogging.m */; };\n\t\tDC987BE111928FD60020FF52 /* PerformanceTesting.m in Sources */ = {isa = PBXBuildFile; fileRef = DC987BDC11928FD60020FF52 /* PerformanceTesting.m */; };\n\t\tDC987BE211928FD60020FF52 /* StaticLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = DC987BDE11928FD60020FF52 /* StaticLogging.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\t1D3623240D0F684500981E51 /* BenchmarkIPhoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BenchmarkIPhoneAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t1D3623250D0F684500981E51 /* BenchmarkIPhoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BenchmarkIPhoneAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t1D6058910D05DD3D006BFB54 /* BenchmarkIPhone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BenchmarkIPhone.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\t27267E7975736E9C8C9F86D8 /* Pods_BenchmarkIPhone.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_BenchmarkIPhone.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\t2899E5210DE3E06400AC0155 /* BenchmarkIPhoneViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BenchmarkIPhoneViewController.xib; sourceTree = \"<group>\"; };\n\t\t28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = \"<group>\"; };\n\t\t28D7ACF60DDB3853001CB0EB /* BenchmarkIPhoneViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BenchmarkIPhoneViewController.h; sourceTree = \"<group>\"; };\n\t\t28D7ACF70DDB3853001CB0EB /* BenchmarkIPhoneViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BenchmarkIPhoneViewController.m; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t32CA4F630368D1EE00C91783 /* BenchmarkIPhone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BenchmarkIPhone_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t75091D129222381D5275B34D /* Pods-BenchmarkIPhone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-BenchmarkIPhone.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-BenchmarkIPhone/Pods-BenchmarkIPhone.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t8B680B8A09209901EA7C81AF /* Pods-BenchmarkIPhone.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-BenchmarkIPhone.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-BenchmarkIPhone/Pods-BenchmarkIPhone.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t8D1107310486CEB800E47090 /* BenchmarkIPhone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"BenchmarkIPhone-Info.plist\"; plistStructureDefinitionIdentifier = \"com.apple.xcode.plist.structure-definition.iphone.info-plist\"; sourceTree = \"<group>\"; };\n\t\tDC3D2F381674073100DFAFAA /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = \"Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n\t\tDC987BD711928FD60020FF52 /* BaseNSLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BaseNSLogging.h; path = ../../../Benchmarking/BaseNSLogging.h; sourceTree = SOURCE_ROOT; };\n\t\tDC987BD811928FD60020FF52 /* BaseNSLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BaseNSLogging.m; path = ../../../Benchmarking/BaseNSLogging.m; sourceTree = SOURCE_ROOT; };\n\t\tDC987BD911928FD60020FF52 /* DynamicLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DynamicLogging.h; path = ../../../Benchmarking/DynamicLogging.h; sourceTree = SOURCE_ROOT; };\n\t\tDC987BDA11928FD60020FF52 /* DynamicLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DynamicLogging.m; path = ../../../Benchmarking/DynamicLogging.m; sourceTree = SOURCE_ROOT; };\n\t\tDC987BDB11928FD60020FF52 /* PerformanceTesting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PerformanceTesting.h; path = ../../../Benchmarking/PerformanceTesting.h; sourceTree = SOURCE_ROOT; };\n\t\tDC987BDC11928FD60020FF52 /* PerformanceTesting.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PerformanceTesting.m; path = ../../../Benchmarking/PerformanceTesting.m; sourceTree = SOURCE_ROOT; };\n\t\tDC987BDD11928FD60020FF52 /* StaticLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StaticLogging.h; path = ../../../Benchmarking/StaticLogging.h; sourceTree = SOURCE_ROOT; };\n\t\tDC987BDE11928FD60020FF52 /* StaticLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StaticLogging.m; path = ../../../Benchmarking/StaticLogging.m; sourceTree = SOURCE_ROOT; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t1D60588F0D05DD3D006BFB54 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,\n\t\t\t\t1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,\n\t\t\t\t288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,\n\t\t\t\t6C4077FAB6371919A2A82CC8 /* Pods_BenchmarkIPhone.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1D3623240D0F684500981E51 /* BenchmarkIPhoneAppDelegate.h */,\n\t\t\t\t1D3623250D0F684500981E51 /* BenchmarkIPhoneAppDelegate.m */,\n\t\t\t\t28D7ACF60DDB3853001CB0EB /* BenchmarkIPhoneViewController.h */,\n\t\t\t\t28D7ACF70DDB3853001CB0EB /* BenchmarkIPhoneViewController.m */,\n\t\t\t);\n\t\t\tpath = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1D6058910D05DD3D006BFB54 /* BenchmarkIPhone.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC987BD611928FB50020FF52 /* Benchmarking */,\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\t487A446922A543BB121DF430 /* Pods */,\n\t\t\t);\n\t\t\tname = CustomTemplate;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t32CA4F630368D1EE00C91783 /* BenchmarkIPhone_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2899E5210DE3E06400AC0155 /* BenchmarkIPhoneViewController.xib */,\n\t\t\t\t28AD733E0D9D9553002E5188 /* MainWindow.xib */,\n\t\t\t\tDC3D2F381674073100DFAFAA /* Default-568h@2x.png */,\n\t\t\t\t8D1107310486CEB800E47090 /* BenchmarkIPhone-Info.plist */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,\n\t\t\t\t1D30AB110D05D00D00671497 /* Foundation.framework */,\n\t\t\t\t288765A40DF7441C002DB57D /* CoreGraphics.framework */,\n\t\t\t\t27267E7975736E9C8C9F86D8 /* Pods_BenchmarkIPhone.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t487A446922A543BB121DF430 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t75091D129222381D5275B34D /* Pods-BenchmarkIPhone.debug.xcconfig */,\n\t\t\t\t8B680B8A09209901EA7C81AF /* Pods-BenchmarkIPhone.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC987BD611928FB50020FF52 /* Benchmarking */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC987BDB11928FD60020FF52 /* PerformanceTesting.h */,\n\t\t\t\tDC987BDC11928FD60020FF52 /* PerformanceTesting.m */,\n\t\t\t\tDC987BD711928FD60020FF52 /* BaseNSLogging.h */,\n\t\t\t\tDC987BD811928FD60020FF52 /* BaseNSLogging.m */,\n\t\t\t\tDC987BDD11928FD60020FF52 /* StaticLogging.h */,\n\t\t\t\tDC987BDE11928FD60020FF52 /* StaticLogging.m */,\n\t\t\t\tDC987BD911928FD60020FF52 /* DynamicLogging.h */,\n\t\t\t\tDC987BDA11928FD60020FF52 /* DynamicLogging.m */,\n\t\t\t);\n\t\t\tname = Benchmarking;\n\t\t\tpath = ../../../Benchmarking;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t1D6058900D05DD3D006BFB54 /* BenchmarkIPhone */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget \"BenchmarkIPhone\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD9F7280257FE4C39B02611EA /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t1D60588D0D05DD3D006BFB54 /* Resources */,\n\t\t\t\t1D60588E0D05DD3D006BFB54 /* Sources */,\n\t\t\t\t1D60588F0D05DD3D006BFB54 /* Frameworks */,\n\t\t\t\t6902F45A7AF641EBBE4C81C2 /* [CP] Copy Pods Resources */,\n\t\t\t\t7151604B0713645B142046B9 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = BenchmarkIPhone;\n\t\t\tproductName = BenchmarkIPhone;\n\t\t\tproductReference = 1D6058910D05DD3D006BFB54 /* BenchmarkIPhone.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"BenchmarkIPhone\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t1D6058900D05DD3D006BFB54 /* BenchmarkIPhone */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t1D60588D0D05DD3D006BFB54 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,\n\t\t\t\t2899E5220DE3E06400AC0155 /* BenchmarkIPhoneViewController.xib in Resources */,\n\t\t\t\tDC3D2F391674073100DFAFAA /* Default-568h@2x.png in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t6902F45A7AF641EBBE4C81C2 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-BenchmarkIPhone/Pods-BenchmarkIPhone-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t7151604B0713645B142046B9 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-BenchmarkIPhone/Pods-BenchmarkIPhone-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-BenchmarkIPhone/Pods-BenchmarkIPhone-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tD9F7280257FE4C39B02611EA /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-BenchmarkIPhone-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t1D60588E0D05DD3D006BFB54 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t1D60589B0D05DD56006BFB54 /* main.m in Sources */,\n\t\t\t\t1D3623260D0F684500981E51 /* BenchmarkIPhoneAppDelegate.m in Sources */,\n\t\t\t\t28D7ACF80DDB3853001CB0EB /* BenchmarkIPhoneViewController.m in Sources */,\n\t\t\t\tDC987BDF11928FD60020FF52 /* BaseNSLogging.m in Sources */,\n\t\t\t\tDC987BE011928FD60020FF52 /* DynamicLogging.m in Sources */,\n\t\t\t\tDC987BE111928FD60020FF52 /* PerformanceTesting.m in Sources */,\n\t\t\t\tDC987BE211928FD60020FF52 /* StaticLogging.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\t1D6058940D05DD3E006BFB54 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 75091D129222381D5275B34D /* Pods-BenchmarkIPhone.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = BenchmarkIPhone_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"BenchmarkIPhone-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.voalte.test.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = BenchmarkIPhone;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t1D6058950D05DD3E006BFB54 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 8B680B8A09209901EA7C81AF /* Pods-BenchmarkIPhone.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = BenchmarkIPhone_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"BenchmarkIPhone-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.voalte.test.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = BenchmarkIPhone;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = c99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = c99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget \"BenchmarkIPhone\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t1D6058940D05DD3E006BFB54 /* Debug */,\n\t\t\t\t1D6058950D05DD3E006BFB54 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"BenchmarkIPhone\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/BenchmarkIPhone.xcodeproj/xcshareddata/xcschemes/BenchmarkIPhone.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n               BuildableName = \"BenchmarkIPhone.app\"\n               BlueprintName = \"BenchmarkIPhone\"\n               ReferencedContainer = \"container:BenchmarkIPhone.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n            BuildableName = \"BenchmarkIPhone.app\"\n            BlueprintName = \"BenchmarkIPhone\"\n            ReferencedContainer = \"container:BenchmarkIPhone.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n            BuildableName = \"BenchmarkIPhone.app\"\n            BlueprintName = \"BenchmarkIPhone\"\n            ReferencedContainer = \"container:BenchmarkIPhone.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n            BuildableName = \"BenchmarkIPhone.app\"\n            BlueprintName = \"BenchmarkIPhone\"\n            ReferencedContainer = \"container:BenchmarkIPhone.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/BenchmarkIPhoneViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">784</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A394</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">732</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1027.1</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">430.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">60</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"6\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 460}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>6.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>6.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>BenchmarkIPhoneViewController</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>{{438, 347}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">7</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">BenchmarkIPhoneViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/BenchmarkIPhoneViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">BenchmarkIPhone.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">3.1</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/BenchmarkIPhone_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'BenchmarkIPhone' target in the 'BenchmarkIPhone' project\n//\n\n#ifdef __OBJC__\n    #import <Foundation/Foundation.h>\n    #import <UIKit/UIKit.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/Classes/BenchmarkIPhoneAppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class BenchmarkIPhoneViewController;\n\n\n@interface BenchmarkIPhoneAppDelegate : NSObject <UIApplicationDelegate>\n{\n    UIWindow *window;\n    BenchmarkIPhoneViewController *viewController;\n}\n\n@property (nonatomic, strong) IBOutlet UIWindow *window;\n@property (nonatomic, strong) IBOutlet BenchmarkIPhoneViewController *viewController;\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/Classes/BenchmarkIPhoneAppDelegate.m",
    "content": "#import \"BenchmarkIPhoneAppDelegate.h\"\n#import \"BenchmarkIPhoneViewController.h\"\n#import \"PerformanceTesting.h\"\n\n\n@implementation BenchmarkIPhoneAppDelegate\n\n@synthesize window;\n@synthesize viewController;\n\n\n- (void)applicationDidFinishLaunching:(UIApplication *)application\n{\n    window.rootViewController = viewController;\n    [window makeKeyAndVisible];\n    \n    [PerformanceTesting startPerformanceTests];\n}\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/Classes/BenchmarkIPhoneViewController.h",
    "content": "#import <UIKit/UIKit.h>\n\n\n@interface BenchmarkIPhoneViewController : UIViewController\n{\n    \n}\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/Classes/BenchmarkIPhoneViewController.m",
    "content": "#import \"BenchmarkIPhoneViewController.h\"\n\n\n@implementation BenchmarkIPhoneViewController\n\n/*\n// The designated initializer. Override to perform setup that is required before the view is loaded.\n- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {\n    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {\n        // Custom initialization\n    }\n    return self;\n}\n*/\n\n/*\n// Implement loadView to create a view hierarchy programmatically, without using a nib.\n- (void)loadView {\n}\n*/\n\n\n/*\n// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.\n- (void)viewDidLoad {\n    [super viewDidLoad];\n}\n*/\n\n\n/*\n// Override to allow orientations other than the default portrait orientation.\n- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {\n    // Return YES for supported orientations\n    return (interfaceOrientation == UIInterfaceOrientationPortrait);\n}\n*/\n\n- (void)didReceiveMemoryWarning {\n    // Releases the view if it doesn't have a superview.\n    [super didReceiveMemoryWarning];\n    \n    // Release any cached data, images, etc that aren't in use.\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/MainWindow.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">784</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A394</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">732</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1027.1</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">430.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">60</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"10\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"841351856\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"427554174\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUICustomObject\" id=\"664661524\"/>\n\t\t\t<object class=\"IBUIViewController\" id=\"943309135\">\n\t\t\t\t<string key=\"IBUINibName\">BenchmarkIPhoneViewController</string>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIWindow\" id=\"117978783\">\n\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 480}</string>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t<bytes key=\"NSRGB\">MSAxIDEAA</bytes>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"664661524\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">4</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">viewController</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"943309135\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">11</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117978783\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">14</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">BenchmarkIPhone App Delegate</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"427554174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"943309135\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">12</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117978783\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>10.CustomClassName</string>\n\t\t\t\t\t<string>10.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>10.IBPluginDependency</string>\n\t\t\t\t\t<string>12.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>12.IBPluginDependency</string>\n\t\t\t\t\t<string>3.CustomClassName</string>\n\t\t\t\t\t<string>3.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>UIApplication</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>BenchmarkIPhoneViewController</string>\n\t\t\t\t\t<string>{{512, 351}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>{{525, 346}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>BenchmarkIPhoneAppDelegate</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">14</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">BenchmarkIPhoneAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>BenchmarkIPhoneViewController</string>\n\t\t\t\t\t\t\t<string>UIWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/BenchmarkIPhoneAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">BenchmarkIPhoneAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">BenchmarkIPhoneViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/BenchmarkIPhoneViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">BenchmarkIPhone.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">3.1</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/Podfile",
    "content": "\nproject 'BenchmarkIPhone'\nworkspace '../../Demos'\n\ntarget :'BenchmarkIPhone' do\n  platform :ios, '8.0'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/ReadMe.txt",
    "content": "This Xcode project provides a benchmarking suite for performance testing on the iPhone.\n\nDetails of the tests, as well as sample results, are provided on the Wiki:\nhttps://github.com/CocoaLumberjack/CocoaLumberjack/wiki/Performance\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Benchmark/Mobile/main.m",
    "content": "//\n//  main.m\n//  BenchmarkIPhone\n//\n//  Created by Robbie Hanson on 5/6/10.\n//\n\n#import <UIKit/UIKit.h>\n\nint main(int argc, char *argv[]) {\n    \n    @autoreleasepool {\n        int retVal = UIApplicationMain(argc, argv, nil, nil);\n        return retVal;\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CLI/CLI/CLI-Prefix.pch",
    "content": "//\n//  Prefix header\n//\n//  The contents of this file are implicitly included at the beginning of every source file.\n//\n\n#ifdef __OBJC__\n    #import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CLI/CLI/CLI.1",
    "content": ".\\\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.\r\n.\\\"See Also:\r\n.\\\"man mdoc.samples for a complete listing of options\r\n.\\\"man mdoc for the short list of editing options\r\n.\\\"/usr/share/misc/mdoc.template\r\n.Dd 2013/12/19               \\\" DATE \r\n.Dt CLI 1      \\\" Program name and manual section number \r\n.Os Darwin\r\n.Sh NAME                 \\\" Section Header - required - don't modify \r\n.Nm CLI,\r\n.\\\" The following lines are read in generating the apropos(man -k) database. Use only key\r\n.\\\" words here as the database is built based on the words here and in the .ND line. \r\n.Nm Other_name_for_same_program(),\r\n.Nm Yet another name for the same program.\r\n.\\\" Use .Nm macro to designate other names for the documented program.\r\n.Nd This line parsed for whatis database.\r\n.Sh SYNOPSIS             \\\" Section Header - required - don't modify\r\n.Nm\r\n.Op Fl abcd              \\\" [-abcd]\r\n.Op Fl a Ar path         \\\" [-a path] \r\n.Op Ar file              \\\" [file]\r\n.Op Ar                   \\\" [file ...]\r\n.Ar arg0                 \\\" Underlined argument - use .Ar anywhere to underline\r\narg2 ...                 \\\" Arguments\r\n.Sh DESCRIPTION          \\\" Section Header - required - don't modify\r\nUse the .Nm macro to refer to your program throughout the man page like such:\r\n.Nm\r\nUnderlining is accomplished with the .Ar macro like this:\r\n.Ar underlined text .\r\n.Pp                      \\\" Inserts a space\r\nA list of items with descriptions:\r\n.Bl -tag -width -indent  \\\" Begins a tagged list \r\n.It item a               \\\" Each item preceded by .It macro\r\nDescription of item a\r\n.It item b\r\nDescription of item b\r\n.El                      \\\" Ends the list\r\n.Pp\r\nA list of flags and their descriptions:\r\n.Bl -tag -width -indent  \\\" Differs from above in tag removed \r\n.It Fl a                 \\\"-a flag as a list item\r\nDescription of -a flag\r\n.It Fl b\r\nDescription of -b flag\r\n.El                      \\\" Ends the list\r\n.Pp\r\n.\\\" .Sh ENVIRONMENT      \\\" May not be needed\r\n.\\\" .Bl -tag -width \"ENV_VAR_1\" -indent \\\" ENV_VAR_1 is width of the string ENV_VAR_1\r\n.\\\" .It Ev ENV_VAR_1\r\n.\\\" Description of ENV_VAR_1\r\n.\\\" .It Ev ENV_VAR_2\r\n.\\\" Description of ENV_VAR_2\r\n.\\\" .El                      \r\n.Sh FILES                \\\" File used or created by the topic of the man page\r\n.Bl -tag -width \"/Users/joeuser/Library/really_long_file_name\" -compact\r\n.It Pa /usr/share/file_name\r\nFILE_1 description\r\n.It Pa /Users/joeuser/Library/really_long_file_name\r\nFILE_2 description\r\n.El                      \\\" Ends the list\r\n.\\\" .Sh DIAGNOSTICS       \\\" May not be needed\r\n.\\\" .Bl -diag\r\n.\\\" .It Diagnostic Tag\r\n.\\\" Diagnostic informtion here.\r\n.\\\" .It Diagnostic Tag\r\n.\\\" Diagnostic informtion here.\r\n.\\\" .El\r\n.Sh SEE ALSO \r\n.\\\" List links in ascending order by section, alphabetically within a section.\r\n.\\\" Please do not reference files that do not exist without filing a bug report\r\n.Xr a 1 , \r\n.Xr b 1 ,\r\n.Xr c 1 ,\r\n.Xr a 2 ,\r\n.Xr b 2 ,\r\n.Xr a 3 ,\r\n.Xr b 3 \r\n.\\\" .Sh BUGS              \\\" Document known, unremedied bugs \r\n.\\\" .Sh HISTORY           \\\" Document history if command behaves in a unique manner"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CLI/CLI/main.m",
    "content": "//\n//  main.m\n//  CLI\n//\n//  Created by Ernesto Rivera on 2013/12/19.\n//\n\n#import <Foundation/Foundation.h>\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\nint main(int argc, const char * argv[])\n{\n    @autoreleasepool {\n        \n        // Test\n        DDTTYLogger * logger = [DDTTYLogger sharedInstance];\n        logger.colorsEnabled = YES;\n        [logger setForegroundColor:[DDColor colorWithCalibratedRed:26.0/255.0\n                                                              green:158.0/255.0\n                                                               blue:4.0/255.0\n                                                              alpha:1.0]\n                   backgroundColor:nil\n                           forFlag:DDLogFlagInfo];\n        [DDLog addLogger:logger];\n        DDLogInfo(@\"Hello, World!\");\n    }\n    return 0;\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CLI/CLI.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t91A3462B1AAFDF6AA3D7CA0E /* libPods-CLI.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B5FF28F3C00FDFF4F484F173 /* libPods-CLI.a */; };\n\t\tE5EDB896186286BC002D0689 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5EDB895186286BC002D0689 /* Foundation.framework */; };\n\t\tE5EDB899186286BC002D0689 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E5EDB898186286BC002D0689 /* main.m */; };\n\t\tE5EDB89D186286BC002D0689 /* CLI.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = E5EDB89C186286BC002D0689 /* CLI.1 */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\tE5EDB890186286BC002D0689 /* CopyFiles */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = /usr/share/man/man1/;\n\t\t\tdstSubfolderSpec = 0;\n\t\t\tfiles = (\n\t\t\t\tE5EDB89D186286BC002D0689 /* CLI.1 in CopyFiles */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 1;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\t4EA1AF91EC3B8BC1C284CD05 /* Pods-CLI.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CLI.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-CLI/Pods-CLI.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tA498B1E259CD3C9BD7CD2B41 /* Pods-CLI.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CLI.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-CLI/Pods-CLI.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tB5FF28F3C00FDFF4F484F173 /* libPods-CLI.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = \"libPods-CLI.a\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tE5EDB892186286BC002D0689 /* CLI */ = {isa = PBXFileReference; explicitFileType = \"compiled.mach-o.executable\"; includeInIndex = 0; path = CLI; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tE5EDB895186286BC002D0689 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tE5EDB898186286BC002D0689 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tE5EDB89B186286BC002D0689 /* CLI-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"CLI-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tE5EDB89C186286BC002D0689 /* CLI.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = CLI.1; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tE5EDB88F186286BC002D0689 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE5EDB896186286BC002D0689 /* Foundation.framework in Frameworks */,\n\t\t\t\t91A3462B1AAFDF6AA3D7CA0E /* libPods-CLI.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tADF448C66286813E0B195AA2 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t4EA1AF91EC3B8BC1C284CD05 /* Pods-CLI.debug.xcconfig */,\n\t\t\t\tA498B1E259CD3C9BD7CD2B41 /* Pods-CLI.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5EDB889186286BC002D0689 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5EDB897186286BC002D0689 /* CLI */,\n\t\t\t\tE5EDB894186286BC002D0689 /* Frameworks */,\n\t\t\t\tE5EDB893186286BC002D0689 /* Products */,\n\t\t\t\tADF448C66286813E0B195AA2 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5EDB893186286BC002D0689 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5EDB892186286BC002D0689 /* CLI */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5EDB894186286BC002D0689 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5EDB895186286BC002D0689 /* Foundation.framework */,\n\t\t\t\tB5FF28F3C00FDFF4F484F173 /* libPods-CLI.a */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5EDB897186286BC002D0689 /* CLI */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5EDB898186286BC002D0689 /* main.m */,\n\t\t\t\tE5EDB89C186286BC002D0689 /* CLI.1 */,\n\t\t\t\tE5EDB89A186286BC002D0689 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = CLI;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5EDB89A186286BC002D0689 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5EDB89B186286BC002D0689 /* CLI-Prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tE5EDB891186286BC002D0689 /* CLI */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = E5EDB8A0186286BC002D0689 /* Build configuration list for PBXNativeTarget \"CLI\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t85E4D688ED9B02ECD3161D42 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tE5EDB88E186286BC002D0689 /* Sources */,\n\t\t\t\tE5EDB88F186286BC002D0689 /* Frameworks */,\n\t\t\t\tE5EDB890186286BC002D0689 /* CopyFiles */,\n\t\t\t\t56BDFEFC86F42F9712A57916 /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = CLI;\n\t\t\tproductName = kkcli;\n\t\t\tproductReference = E5EDB892186286BC002D0689 /* CLI */;\n\t\t\tproductType = \"com.apple.product-type.tool\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tE5EDB88A186286BC002D0689 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t\tORGANIZATIONNAME = \"\";\n\t\t\t};\n\t\t\tbuildConfigurationList = E5EDB88D186286BC002D0689 /* Build configuration list for PBXProject \"CLI\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = E5EDB889186286BC002D0689;\n\t\t\tproductRefGroup = E5EDB893186286BC002D0689 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tE5EDB891186286BC002D0689 /* CLI */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t56BDFEFC86F42F9712A57916 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CLI/Pods-CLI-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t85E4D688ED9B02ECD3161D42 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-CLI-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tE5EDB88E186286BC002D0689 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE5EDB899186286BC002D0689 /* main.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\tE5EDB89E186286BC002D0689 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tE5EDB89F186286BC002D0689 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tE5EDB8A1186286BC002D0689 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 4EA1AF91EC3B8BC1C284CD05 /* Pods-CLI.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"CLI/CLI-Prefix.pch\";\n\t\t\t\tPRODUCT_NAME = CLI;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tE5EDB8A2186286BC002D0689 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = A498B1E259CD3C9BD7CD2B41 /* Pods-CLI.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"CLI/CLI-Prefix.pch\";\n\t\t\t\tPRODUCT_NAME = CLI;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tE5EDB88D186286BC002D0689 /* Build configuration list for PBXProject \"CLI\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tE5EDB89E186286BC002D0689 /* Debug */,\n\t\t\t\tE5EDB89F186286BC002D0689 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tE5EDB8A0186286BC002D0689 /* Build configuration list for PBXNativeTarget \"CLI\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tE5EDB8A1186286BC002D0689 /* Debug */,\n\t\t\t\tE5EDB8A2186286BC002D0689 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = E5EDB88A186286BC002D0689 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CLI/CLI.xcodeproj/xcshareddata/xcschemes/CLI.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"E5EDB891186286BC002D0689\"\n               BuildableName = \"CLI\"\n               BlueprintName = \"CLI\"\n               ReferencedContainer = \"container:CLI.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5EDB891186286BC002D0689\"\n            BuildableName = \"CLI\"\n            BlueprintName = \"CLI\"\n            ReferencedContainer = \"container:CLI.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5EDB891186286BC002D0689\"\n            BuildableName = \"CLI\"\n            BlueprintName = \"CLI\"\n            ReferencedContainer = \"container:CLI.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5EDB891186286BC002D0689\"\n            BuildableName = \"CLI\"\n            BlueprintName = \"CLI\"\n            ReferencedContainer = \"container:CLI.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CLI/Podfile",
    "content": "\nproject 'CLI'\nworkspace '../Demos'\n\ntarget :'CLI' do\n  platform :osx, '10.8'\n\n  pod 'CocoaLumberjack/CLI', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  CaptureASL\n//\n//  Created by Ernesto Rivera on 2014/03/20.\n//\n//\n\n#import <UIKit/UIKit.h>\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/AppDelegate.m",
    "content": "//\n//  AppDelegate.m\n//  CaptureASL\n//\n//  Created by Ernesto Rivera on 2014/03/20.\n//\n//\n\n#import \"AppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n@interface SimpleFormatter : NSObject <DDLogFormatter>\n\n@end\n\n@implementation SimpleFormatter\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage\n{\n    return [NSString stringWithFormat:@\"  Captured: %@\", logMessage->_message];\n}\n\n@end\n\n\n@implementation AppDelegate\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n    DDTTYLogger.sharedInstance.logFormatter = [SimpleFormatter new];\n    [DDLog addLogger:DDTTYLogger.sharedInstance];\n    [DDLog addLogger:DDASLLogger.sharedInstance];\n    \n    [DDASLLogCapture start];\n    \n    return YES;\n}\n\t\t\t\t\t\t\t\n@end\n\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/CaptureASL-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/CaptureASL-Prefix.pch",
    "content": "//\n//  Prefix header\n//\n//  The contents of this file are implicitly included at the beginning of every source file.\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_5_0\n#warning \"This project uses features only available in iOS SDK 5.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n    #import <UIKit/UIKit.h>\n    #import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/Images.xcassets/LaunchImage.launchimage/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"orientation\" : \"portrait\",\n      \"idiom\" : \"iphone\",\n      \"extent\" : \"full-screen\",\n      \"minimum-system-version\" : \"7.0\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"orientation\" : \"portrait\",\n      \"idiom\" : \"iphone\",\n      \"subtype\" : \"retina4\",\n      \"extent\" : \"full-screen\",\n      \"minimum-system-version\" : \"7.0\",\n      \"scale\" : \"2x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"6254\" systemVersion=\"14B25\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" initialViewController=\"vXZ-lx-hvc\">\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <development version=\"5100\" identifier=\"xcode\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6247\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"ufC-wZ-h7g\">\n            <objects>\n                <viewController id=\"vXZ-lx-hvc\" customClass=\"ViewController\" sceneMemberID=\"viewController\">\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"kh9-bI-dsS\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"320\" height=\"568\"/>\n                        <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                        <subviews>\n                            <button opaque=\"NO\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" id=\"OQh-Gf-KC3\">\n                                <rect key=\"frame\" x=\"32\" y=\"99\" width=\"256\" height=\"30\"/>\n                                <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                <state key=\"normal\" title=\"NSLog(@&quot;ASL test message #count&quot;)\">\n                                    <color key=\"titleShadowColor\" white=\"0.5\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                                </state>\n                                <connections>\n                                    <action selector=\"log:\" destination=\"vXZ-lx-hvc\" eventType=\"touchUpInside\" id=\"aIM-Nh-oJG\"/>\n                                </connections>\n                            </button>\n                            <button opaque=\"NO\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" id=\"WMs-oa-AQ1\">\n                                <rect key=\"frame\" x=\"32\" y=\"164\" width=\"256\" height=\"30\"/>\n                                <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                <state key=\"normal\" title=\"asl_log(ASL_LEVEL_EMERG)\">\n                                    <color key=\"titleShadowColor\" white=\"0.5\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                                </state>\n                                <connections>\n                                    <action selector=\"asl_log:\" destination=\"vXZ-lx-hvc\" eventType=\"touchUpInside\" id=\"DIq-VT-0bb\"/>\n                                </connections>\n                            </button>\n                            <button opaque=\"NO\" tag=\"1\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" id=\"qhW-P0-r1b\">\n                                <rect key=\"frame\" x=\"32\" y=\"202\" width=\"256\" height=\"30\"/>\n                                <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                <state key=\"normal\" title=\"asl_log(ASL_LEVEL_ALERT)\">\n                                    <color key=\"titleShadowColor\" white=\"0.5\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                                </state>\n                                <connections>\n                                    <action selector=\"asl_log:\" destination=\"vXZ-lx-hvc\" eventType=\"touchUpInside\" id=\"lSC-BX-BKJ\"/>\n                                </connections>\n                            </button>\n                            <button opaque=\"NO\" tag=\"2\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" id=\"oW1-92-Vhj\">\n                                <rect key=\"frame\" x=\"32\" y=\"240\" width=\"256\" height=\"30\"/>\n                                <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                <state key=\"normal\" title=\"asl_log(ASL_LEVEL_CRIT)\">\n                                    <color key=\"titleShadowColor\" white=\"0.5\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                                </state>\n                                <connections>\n                                    <action selector=\"asl_log:\" destination=\"vXZ-lx-hvc\" eventType=\"touchUpInside\" id=\"FkE-L6-kbI\"/>\n                                </connections>\n                            </button>\n                            <button opaque=\"NO\" tag=\"3\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" id=\"l4x-pf-1E4\">\n                                <rect key=\"frame\" x=\"32\" y=\"278\" width=\"256\" height=\"30\"/>\n                                <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                <state key=\"normal\" title=\"asl_log(ASL_LEVEL_ERR)\">\n                                    <color key=\"titleShadowColor\" white=\"0.5\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                                </state>\n                                <connections>\n                                    <action selector=\"asl_log:\" destination=\"vXZ-lx-hvc\" eventType=\"touchUpInside\" id=\"kVB-nm-p9V\"/>\n                                </connections>\n                            </button>\n                            <button opaque=\"NO\" tag=\"4\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" id=\"g4l-S3-KOi\">\n                                <rect key=\"frame\" x=\"32\" y=\"316\" width=\"256\" height=\"30\"/>\n                                <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                <state key=\"normal\" title=\"asl_log(ASL_LEVEL_WARNING)\">\n                                    <color key=\"titleShadowColor\" white=\"0.5\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                                </state>\n                                <connections>\n                                    <action selector=\"asl_log:\" destination=\"vXZ-lx-hvc\" eventType=\"touchUpInside\" id=\"GhE-yr-uZg\"/>\n                                </connections>\n                            </button>\n                            <button opaque=\"NO\" tag=\"5\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" id=\"ggg-qd-RaF\">\n                                <rect key=\"frame\" x=\"32\" y=\"354\" width=\"256\" height=\"30\"/>\n                                <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                <state key=\"normal\" title=\"asl_log(ASL_LEVEL_NOTICE)\">\n                                    <color key=\"titleShadowColor\" white=\"0.5\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                                </state>\n                                <connections>\n                                    <action selector=\"asl_log:\" destination=\"vXZ-lx-hvc\" eventType=\"touchUpInside\" id=\"0w9-hq-tbd\"/>\n                                </connections>\n                            </button>\n                            <button opaque=\"NO\" tag=\"6\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" id=\"L82-yP-unm\">\n                                <rect key=\"frame\" x=\"32\" y=\"392\" width=\"256\" height=\"30\"/>\n                                <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                <state key=\"normal\" title=\"asl_log(ASL_LEVEL_INFO)\">\n                                    <color key=\"titleShadowColor\" white=\"0.5\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                                </state>\n                                <connections>\n                                    <action selector=\"asl_log:\" destination=\"vXZ-lx-hvc\" eventType=\"touchUpInside\" id=\"hKL-Do-QGE\"/>\n                                </connections>\n                            </button>\n                            <button opaque=\"NO\" tag=\"7\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" id=\"VO7-m5-Wmc\">\n                                <rect key=\"frame\" x=\"32\" y=\"430\" width=\"256\" height=\"30\"/>\n                                <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                                <state key=\"normal\" title=\"asl_log(ASL_LEVEL_DEBUG)\">\n                                    <color key=\"titleShadowColor\" white=\"0.5\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                                </state>\n                                <connections>\n                                    <action selector=\"asl_log:\" destination=\"vXZ-lx-hvc\" eventType=\"touchUpInside\" id=\"MiX-oQ-9UW\"/>\n                                </connections>\n                            </button>\n                        </subviews>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"x5A-6p-PRh\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n        </scene>\n    </scenes>\n    <simulatedMetricsContainer key=\"defaultSimulatedMetrics\">\n        <simulatedStatusBarMetrics key=\"statusBar\"/>\n        <simulatedOrientationMetrics key=\"orientation\"/>\n        <simulatedScreenMetrics key=\"destination\" type=\"retina4\"/>\n    </simulatedMetricsContainer>\n</document>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/ViewController.h",
    "content": "//\n//  ViewController.h\n//  CaptureASL\n//\n//  Created by Ernesto Rivera on 2014/03/20.\n//\n//\n\n#import <UIKit/UIKit.h>\n\n@interface ViewController : UIViewController\n\n- (IBAction)log:(id)sender;\n- (IBAction)asl_log:(UIButton *)sender;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/ViewController.m",
    "content": "//\n//  ViewController.m\n//  CaptureASL\n//\n//  Created by Ernesto Rivera on 2014/03/20.\n//\n//\n\n#import \"ViewController.h\"\n#import <asl.h>\n\n@implementation ViewController\n{\n    int count;\n    aslclient client;\n}\n\n- (void)awakeFromNib\n{\n    [super awakeFromNib];\n    \n    count = 0;\n    client = asl_open(NULL, \"CocoaLumberjack.CaptureASL\", 0);\n}\n\n- (IBAction)log:(id)sender\n{\n    NSLog(@\"ASL test message %d\", count++);\n}\n\n- (IBAction)asl_log:(UIButton *)sender\n{\n    char *level = NULL;\n    switch (sender.tag)\n    {\n        case ASL_LEVEL_EMERG   : level = \"ASL_LEVEL_EMERG\";   break;\n        case ASL_LEVEL_ALERT   : level = \"ASL_LEVEL_ALERT\";   break;\n        case ASL_LEVEL_CRIT    : level = \"ASL_LEVEL_CRIT\";    break;\n        case ASL_LEVEL_ERR     : level = \"ASL_LEVEL_ERR\";     break;\n        case ASL_LEVEL_WARNING : level = \"ASL_LEVEL_WARNING\"; break;\n        case ASL_LEVEL_NOTICE  : level = \"ASL_LEVEL_NOTICE\";  break;\n        case ASL_LEVEL_INFO    : level = \"ASL_LEVEL_INFO\";    break;\n        case ASL_LEVEL_DEBUG   : level = \"ASL_LEVEL_DEBUG\";   break;\n    }\n    asl_log(client, NULL, (int)sender.tag, \"%s test message %d\", level, count++);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL/main.m",
    "content": "//\n//  main.m\n//  CaptureASL\n//\n//  Created by Ernesto Rivera on 2014/03/20.\n//\n//\n\n#import <UIKit/UIKit.h>\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char * argv[])\n{\n    @autoreleasepool {\n        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tAFA5AEDF296EEF812F7063E9 /* Pods_CaptureASL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D52E0AED9C1E3765A9FE18F /* Pods_CaptureASL.framework */; };\n\t\tE50619821A2EF295000F835A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E50619811A2EF295000F835A /* Main.storyboard */; };\n\t\tE5AE803B18DA83A400E0501F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5AE803A18DA83A400E0501F /* Foundation.framework */; };\n\t\tE5AE803D18DA83A400E0501F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5AE803C18DA83A400E0501F /* CoreGraphics.framework */; };\n\t\tE5AE803F18DA83A400E0501F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E5AE803E18DA83A400E0501F /* UIKit.framework */; };\n\t\tE5AE804518DA83A400E0501F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = E5AE804318DA83A400E0501F /* InfoPlist.strings */; };\n\t\tE5AE804718DA83A400E0501F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E5AE804618DA83A400E0501F /* main.m */; };\n\t\tE5AE804B18DA83A400E0501F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E5AE804A18DA83A400E0501F /* AppDelegate.m */; };\n\t\tE5AE805118DA83A400E0501F /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E5AE805018DA83A400E0501F /* ViewController.m */; };\n\t\tE5AE805318DA83A400E0501F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E5AE805218DA83A400E0501F /* Images.xcassets */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t0D52E0AED9C1E3765A9FE18F /* Pods_CaptureASL.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CaptureASL.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t57FC10FC92829DC85AB9EA2F /* Pods-CaptureASL.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CaptureASL.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-CaptureASL/Pods-CaptureASL.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tBA7F39B2221EA7BE946CF8C8 /* Pods-CaptureASL.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CaptureASL.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-CaptureASL/Pods-CaptureASL.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tE50619811A2EF295000F835A /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = \"<group>\"; };\n\t\tE5AE803718DA83A400E0501F /* CaptureASL.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CaptureASL.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tE5AE803A18DA83A400E0501F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tE5AE803C18DA83A400E0501F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tE5AE803E18DA83A400E0501F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\tE5AE804218DA83A400E0501F /* CaptureASL-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"CaptureASL-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tE5AE804418DA83A400E0501F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tE5AE804618DA83A400E0501F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tE5AE804818DA83A400E0501F /* CaptureASL-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"CaptureASL-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tE5AE804918DA83A400E0501F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tE5AE804A18DA83A400E0501F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tE5AE804F18DA83A400E0501F /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = \"<group>\"; };\n\t\tE5AE805018DA83A400E0501F /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = \"<group>\"; };\n\t\tE5AE805218DA83A400E0501F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = \"<group>\"; };\n\t\tE5AE805918DA83A400E0501F /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tE5AE803418DA83A400E0501F /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE5AE803D18DA83A400E0501F /* CoreGraphics.framework in Frameworks */,\n\t\t\t\tE5AE803F18DA83A400E0501F /* UIKit.framework in Frameworks */,\n\t\t\t\tE5AE803B18DA83A400E0501F /* Foundation.framework in Frameworks */,\n\t\t\t\tAFA5AEDF296EEF812F7063E9 /* Pods_CaptureASL.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tA0D458FE10FDDAC08B8FA4E3 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tBA7F39B2221EA7BE946CF8C8 /* Pods-CaptureASL.debug.xcconfig */,\n\t\t\t\t57FC10FC92829DC85AB9EA2F /* Pods-CaptureASL.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5AE802E18DA83A400E0501F = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5AE804018DA83A400E0501F /* CaptureASL */,\n\t\t\t\tE5AE803918DA83A400E0501F /* Frameworks */,\n\t\t\t\tE5AE803818DA83A400E0501F /* Products */,\n\t\t\t\tA0D458FE10FDDAC08B8FA4E3 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5AE803818DA83A400E0501F /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5AE803718DA83A400E0501F /* CaptureASL.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5AE803918DA83A400E0501F /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5AE803A18DA83A400E0501F /* Foundation.framework */,\n\t\t\t\tE5AE803C18DA83A400E0501F /* CoreGraphics.framework */,\n\t\t\t\tE5AE803E18DA83A400E0501F /* UIKit.framework */,\n\t\t\t\tE5AE805918DA83A400E0501F /* XCTest.framework */,\n\t\t\t\t0D52E0AED9C1E3765A9FE18F /* Pods_CaptureASL.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5AE804018DA83A400E0501F /* CaptureASL */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5AE804918DA83A400E0501F /* AppDelegate.h */,\n\t\t\t\tE5AE804A18DA83A400E0501F /* AppDelegate.m */,\n\t\t\t\tE5AE804F18DA83A400E0501F /* ViewController.h */,\n\t\t\t\tE5AE805018DA83A400E0501F /* ViewController.m */,\n\t\t\t\tE50619811A2EF295000F835A /* Main.storyboard */,\n\t\t\t\tE5AE805218DA83A400E0501F /* Images.xcassets */,\n\t\t\t\tE5AE804118DA83A400E0501F /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = CaptureASL;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tE5AE804118DA83A400E0501F /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5AE804218DA83A400E0501F /* CaptureASL-Info.plist */,\n\t\t\t\tE5AE804318DA83A400E0501F /* InfoPlist.strings */,\n\t\t\t\tE5AE804618DA83A400E0501F /* main.m */,\n\t\t\t\tE5AE804818DA83A400E0501F /* CaptureASL-Prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tE5AE803618DA83A400E0501F /* CaptureASL */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = E5AE806918DA83A500E0501F /* Build configuration list for PBXNativeTarget \"CaptureASL\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t0375EED24F326990440A3964 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tE5AE803318DA83A400E0501F /* Sources */,\n\t\t\t\tE5AE803418DA83A400E0501F /* Frameworks */,\n\t\t\t\tE5AE803518DA83A400E0501F /* Resources */,\n\t\t\t\tCB93BC9E3379F309309A7088 /* [CP] Embed Pods Frameworks */,\n\t\t\t\t24C9555A5B5A2B436786CB9A /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = CaptureASL;\n\t\t\tproductName = CaptureASL;\n\t\t\tproductReference = E5AE803718DA83A400E0501F /* CaptureASL.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tE5AE802F18DA83A400E0501F /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = E5AE803218DA83A400E0501F /* Build configuration list for PBXProject \"CaptureASL\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = E5AE802E18DA83A400E0501F;\n\t\t\tproductRefGroup = E5AE803818DA83A400E0501F /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tE5AE803618DA83A400E0501F /* CaptureASL */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tE5AE803518DA83A400E0501F /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE50619821A2EF295000F835A /* Main.storyboard in Resources */,\n\t\t\t\tE5AE805318DA83A400E0501F /* Images.xcassets in Resources */,\n\t\t\t\tE5AE804518DA83A400E0501F /* InfoPlist.strings in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t0375EED24F326990440A3964 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-CaptureASL-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t24C9555A5B5A2B436786CB9A /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CaptureASL/Pods-CaptureASL-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tCB93BC9E3379F309309A7088 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-CaptureASL/Pods-CaptureASL-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CaptureASL/Pods-CaptureASL-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tE5AE803318DA83A400E0501F /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE5AE805118DA83A400E0501F /* ViewController.m in Sources */,\n\t\t\t\tE5AE804B18DA83A400E0501F /* AppDelegate.m in Sources */,\n\t\t\t\tE5AE804718DA83A400E0501F /* main.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tE5AE804318DA83A400E0501F /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tE5AE804418DA83A400E0501F /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tE5AE806718DA83A500E0501F /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tE5AE806818DA83A500E0501F /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tE5AE806A18DA83A500E0501F /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = BA7F39B2221EA7BE946CF8C8 /* Pods-CaptureASL.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"CaptureASL/CaptureASL-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"CaptureASL/CaptureASL-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"CocoaLumberjack.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tE5AE806B18DA83A500E0501F /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 57FC10FC92829DC85AB9EA2F /* Pods-CaptureASL.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"CaptureASL/CaptureASL-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"CaptureASL/CaptureASL-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"CocoaLumberjack.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tE5AE803218DA83A400E0501F /* Build configuration list for PBXProject \"CaptureASL\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tE5AE806718DA83A500E0501F /* Debug */,\n\t\t\t\tE5AE806818DA83A500E0501F /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tE5AE806918DA83A500E0501F /* Build configuration list for PBXNativeTarget \"CaptureASL\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tE5AE806A18DA83A500E0501F /* Debug */,\n\t\t\t\tE5AE806B18DA83A500E0501F /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = E5AE802F18DA83A400E0501F /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/CaptureASL.xcodeproj/xcshareddata/xcschemes/CaptureASL.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"E5AE803618DA83A400E0501F\"\n               BuildableName = \"CaptureASL.app\"\n               BlueprintName = \"CaptureASL\"\n               ReferencedContainer = \"container:CaptureASL.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"E5AE805718DA83A400E0501F\"\n               BuildableName = \"CaptureASLTests.xctest\"\n               BlueprintName = \"CaptureASLTests\"\n               ReferencedContainer = \"container:CaptureASL.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5AE803618DA83A400E0501F\"\n            BuildableName = \"CaptureASL.app\"\n            BlueprintName = \"CaptureASL\"\n            ReferencedContainer = \"container:CaptureASL.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5AE803618DA83A400E0501F\"\n            BuildableName = \"CaptureASL.app\"\n            BlueprintName = \"CaptureASL\"\n            ReferencedContainer = \"container:CaptureASL.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"E5AE803618DA83A400E0501F\"\n            BuildableName = \"CaptureASL.app\"\n            BlueprintName = \"CaptureASL\"\n            ReferencedContainer = \"container:CaptureASL.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CaptureASL/Podfile",
    "content": "\nproject 'CaptureASL'\nworkspace '../Demos'\n\ntarget :'CaptureASL' do\n  platform :ios, '8.0'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/ContextFilter-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/ContextFilter.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t02A3A48C58ADE51C5E438910 /* Pods_ContextFilter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 24937DFE8E90159F1DFB0848 /* Pods_ContextFilter.framework */; };\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* ContextFilterAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* ContextFilterAppDelegate.m */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tDC2E3347129ADC68009F096E /* MyContextFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = DC2E3346129ADC68009F096E /* MyContextFilter.m */; };\n\t\tDC2E334A129ADCE0009F096E /* ThirdPartyFramework.m in Sources */ = {isa = PBXBuildFile; fileRef = DC2E3349129ADCE0009F096E /* ThirdPartyFramework.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DBABABAC30921788D48F855 /* Pods-ContextFilter.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-ContextFilter.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-ContextFilter/Pods-ContextFilter.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t24937DFE8E90159F1DFB0848 /* Pods_ContextFilter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ContextFilter.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t256AC3D80F4B6AC300CF3369 /* ContextFilterAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextFilterAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* ContextFilterAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContextFilterAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* ContextFilter_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextFilter_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t8D1107310486CEB800E47090 /* ContextFilter-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"ContextFilter-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* ContextFilter.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ContextFilter.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC2E3345129ADC68009F096E /* MyContextFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyContextFilter.h; sourceTree = \"<group>\"; };\n\t\tDC2E3346129ADC68009F096E /* MyContextFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyContextFilter.m; sourceTree = \"<group>\"; };\n\t\tDC2E3348129ADCE0009F096E /* ThirdPartyFramework.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThirdPartyFramework.h; sourceTree = \"<group>\"; };\n\t\tDC2E3349129ADCE0009F096E /* ThirdPartyFramework.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ThirdPartyFramework.m; sourceTree = \"<group>\"; };\n\t\tF3D4C097D6E78DE68A5FC9B8 /* Pods-ContextFilter.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-ContextFilter.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-ContextFilter/Pods-ContextFilter.debug.xcconfig\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\t02A3A48C58ADE51C5E438910 /* Pods_ContextFilter.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* ContextFilterAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* ContextFilterAppDelegate.m */,\n\t\t\t\tDC2E3348129ADCE0009F096E /* ThirdPartyFramework.h */,\n\t\t\t\tDC2E3349129ADCE0009F096E /* ThirdPartyFramework.m */,\n\t\t\t\tDC2E3345129ADC68009F096E /* MyContextFilter.h */,\n\t\t\t\tDC2E3346129ADC68009F096E /* MyContextFilter.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* ContextFilter.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* ContextFilter */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\tF5FBA904C7B562AB292145AB /* Pods */,\n\t\t\t);\n\t\t\tname = ContextFilter;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* ContextFilter_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* ContextFilter-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t\t24937DFE8E90159F1DFB0848 /* Pods_ContextFilter.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tF5FBA904C7B562AB292145AB /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tF3D4C097D6E78DE68A5FC9B8 /* Pods-ContextFilter.debug.xcconfig */,\n\t\t\t\t1DBABABAC30921788D48F855 /* Pods-ContextFilter.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* ContextFilter */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"ContextFilter\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t0077D648B08942A8A8DBB674 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t\t8410753E3E294C21ACAC64AE /* [CP] Copy Pods Resources */,\n\t\t\t\tBA22DB885881D1B38A5B4DFA /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = ContextFilter;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = ContextFilter;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* ContextFilter.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"ContextFilter\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* ContextFilter */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* ContextFilter */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t0077D648B08942A8A8DBB674 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-ContextFilter-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t8410753E3E294C21ACAC64AE /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-ContextFilter/Pods-ContextFilter-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tBA22DB885881D1B38A5B4DFA /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-ContextFilter/Pods-ContextFilter-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-ContextFilter/Pods-ContextFilter-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* ContextFilterAppDelegate.m in Sources */,\n\t\t\t\tDC2E3347129ADC68009F096E /* MyContextFilter.m in Sources */,\n\t\t\t\tDC2E334A129ADCE0009F096E /* ThirdPartyFramework.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = F3D4C097D6E78DE68A5FC9B8 /* Pods-ContextFilter.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = ContextFilter_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"ContextFilter-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = ContextFilter;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 1DBABABAC30921788D48F855 /* Pods-ContextFilter.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = ContextFilter_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"ContextFilter-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = ContextFilter;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJCPP_ARC_ABI = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"ContextFilter\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"ContextFilter\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/ContextFilter.xcodeproj/xcshareddata/xcschemes/ContextFilter.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n               BuildableName = \"ContextFilter.app\"\n               BlueprintName = \"ContextFilter\"\n               ReferencedContainer = \"container:ContextFilter.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"ContextFilter.app\"\n            BlueprintName = \"ContextFilter\"\n            ReferencedContainer = \"container:ContextFilter.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"ContextFilter.app\"\n            BlueprintName = \"ContextFilter\"\n            ReferencedContainer = \"container:ContextFilter.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"ContextFilter.app\"\n            BlueprintName = \"ContextFilter\"\n            ReferencedContainer = \"container:ContextFilter.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/ContextFilterAppDelegate.h",
    "content": "//\n//  ContextFilterAppDelegate.h\n//  ContextFilter\n//\n//  Created by Robbie Hanson on 11/22/10.\n//  Copyright 2010 Voalte. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\n@interface ContextFilterAppDelegate : NSObject <NSApplicationDelegate> {\n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/ContextFilterAppDelegate.m",
    "content": "#import \"ContextFilterAppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"MyContextFilter.h\"\n#import \"ThirdPartyFramework.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation ContextFilterAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    // Our application adopts a \"third party framework\" which also uses the lumberjack framework.\n    // We love this because it greatly improves our ability to observe, debug, and diagnose problems!\n    // \n    // Now sometimes we want to see the third party framework log messages in our Xcode console.\n    // And sometimes we don't (for whatever reason).\n    // \n    // We can accomplish this with the use of log message contexts.\n    // Each log message has an associated context.\n    // The context itself is simply an integer, and the default context is zero.\n    // However, third party frameworks that employ lumberjack will likely use a custom non-zero context.\n    // \n    // For example, the CocoaHTTPServer project defines it's own internal log statments:\n    // \n    // HTTPLogWarn(@\"File not found - %@\", filePath);\n    // \n    // As part of its logging setup, it defines its own custom logging context:\n    // \n    // #define HTTP_LOG_CONTEXT 80\n    // \n    // And each HTTPLog message uses this HTTP_LOG_CONTEXT instead of the default context.\n    // This means that we can tell if log messages are coming from our code or from the framework.\n    // We're going to tap into this ability to filter out log messages from our \"third party framework\".\n    \n    \n    // We want all log messages (from our code or the third party framework) to show up in the Xcode console.\n    \n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    // If we want to filter log messages from the third party framework, we can do this:\n    \n    MyContextFilter *filter = [[MyContextFilter alloc] init];\n    \n    [[DDTTYLogger sharedInstance] setLogFormatter:filter];\n    \n    // Now start up a timer to create some fake log messages for this example\n    \n    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(fire:) userInfo:nil repeats:YES];\n    \n    // Start the third party framework,\n    // which will create a similar fake timer.\n    \n    [ThirdPartyFramework start];\n}\n\n- (void)fire:(NSTimer *)timer\n{\n    DDLogVerbose(@\"Log message from our code\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/ContextFilter_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'ContextFilter' target in the 'ContextFilter' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">ContextFilter</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">ContextFilter</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About ContextFilter</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide ContextFilter</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit ContextFilter</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">ContextFilter Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">ContextFilter</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">ContextFilterAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ContextFilterAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">ContextFilterAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../ContextFilter.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/MyContextFilter.h",
    "content": "#import <Foundation/Foundation.h>\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n@interface MyContextFilter : NSObject <DDLogFormatter>\n{\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/MyContextFilter.m",
    "content": "#import \"MyContextFilter.h\"\n#import \"ThirdPartyFramework.h\"\n\n\n@implementation MyContextFilter\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage\n{\n    if (logMessage->_context == TP_LOG_CONTEXT)\n    {\n        // We can filter this message by simply returning nil\n        return nil;\n    }\n    else\n    {\n        // We could format this message if we wanted to here.\n        // But this example is just about filtering.\n        return logMessage->_message;\n    }\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/Podfile",
    "content": "\nproject 'ContextFilter'\nworkspace '../Demos'\n\ntarget :'ContextFilter' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/ThirdPartyFramework.h",
    "content": "#import <Foundation/Foundation.h>\n\n#define TP_LOG_CONTEXT 1044\n\n\n@interface ThirdPartyFramework : NSObject\n\n+ (void)start;\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/ThirdPartyFramework.m",
    "content": "#import \"ThirdPartyFramework.h\"\n#import <CocoaLumberjack/DDLogMacros.h>\n\n// Third party frameworks and libraries should define their own custom log definitions.\n// These should use a custom context to allow those who use the framework\n// the ability to maintain fine grained control of their logging experience.\n// \n// The custom context is defined in the header file:\n// \n\n#define TP_LOG_CONTEXT 1044\n\n#define TPLogError(frmt, ...)   LOG_MAYBE(NO,                tpLogLevel, DDLogFlagError,   TP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define TPLogWarn(frmt, ...)    LOG_MAYBE(LOG_ASYNC_ENABLED, tpLogLevel, DDLogFlagWarning, TP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define TPLogInfo(frmt, ...)    LOG_MAYBE(LOG_ASYNC_ENABLED, tpLogLevel, DDLogFlagInfo,    TP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define TPLogDebug(frmt, ...)   LOG_MAYBE(LOG_ASYNC_ENABLED, tpLogLevel, DDLogFlagDebug,   TP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define TPLogVerbose(frmt, ...) LOG_MAYBE(LOG_ASYNC_ENABLED, tpLogLevel, DDLogFlagVerbose, TP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n// Log levels: off, error, warn, info, verbose\nstatic const int tpLogLevel = DDLogLevelVerbose;\n\n\n@implementation ThirdPartyFramework\n\n+ (void)start\n{\n    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(fire:) userInfo:nil repeats:YES];\n}\n\n+ (void)fire:(NSTimer *)timer\n{\n    TPLogVerbose(@\"Log message from third party framework\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/ContextFilter/main.m",
    "content": "//\n//  main.m\n//  ContextFilter\n//\n//  Created by Robbie Hanson on 11/22/10.\n//  Copyright 2010 Voalte. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/CoreDataLogger-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/CoreDataLogger-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'CoreDataLogger' target in the 'CoreDataLogger' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/CoreDataLogger.h",
    "content": "#import <Foundation/Foundation.h>\n#import <CocoaLumberjack/DDAbstractDatabaseLogger.h>\n\n\n@interface CoreDataLogger : DDAbstractDatabaseLogger <DDLogger>\n{\n  @private\n    NSString *logDirectory;\n    \n    NSManagedObjectModel *managedObjectModel;\n    NSPersistentStoreCoordinator *persistentStoreCoordinator;\n    NSManagedObjectContext *managedObjectContext;\n    NSEntityDescription *logEntryEntity;\n}\n\n/**\n * Initializes an instance set to save it's CocoaBotLog.sqlite file to the given directory.\n * If the directory doesn't already exist, it is automatically created.\n**/\n- (id)initWithLogDirectory:(NSString *)logDirectory;\n\n/**\n * Provides access to the thread-safe components of the core data stack.\n * \n * Please note that NSManagedObjectContext is NOT thread-safe.\n * The managedObjectContext in use by this instance is only to be used on it's private dispatch_queue.\n * You must create your own managedObjectContext for your own use.\n**/\n@property (strong, readonly) NSManagedObjectModel *managedObjectModel;\n@property (strong, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;\n\n/**\n * Clears the log by removing the persistentStore from the persistentStoreCoordinator,\n * and deleting the Log.sqlite file from disk.\n * \n * Important: If you have created your own managedObjectContext for the Log,\n * you MUST reset your context following an invocation of this method!\n**/\n- (void)clearLog;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/CoreDataLogger.m",
    "content": "#import \"CoreDataLogger.h\"\n#import \"LogEntry.h\"\n\n@interface CoreDataLogger (PrivateAPI)\n- (void)validateLogDirectory;\n- (void)createManagedObjectContext;\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation CoreDataLogger\n\n- (id)initWithLogDirectory:(NSString *)aLogDirectory\n{\n    if ((self = [super init]))\n    {\n        logDirectory = [aLogDirectory copy];\n        \n        [self validateLogDirectory];\n        [self createManagedObjectContext];\n    }\n    return self;\n}\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Private API\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)validateLogDirectory\n{\n    // Validate log directory exists or create the directory.\n    \n    BOOL isDirectory;\n    if ([[NSFileManager defaultManager] fileExistsAtPath:logDirectory isDirectory:&isDirectory])\n    {\n        if (!isDirectory)\n        {\n            NSLog(@\"%@: %@ - logDirectory(%@) is a file!\", [self class], THIS_METHOD, logDirectory);\n            \n            logDirectory = nil;\n        }\n    }\n    else\n    {\n        NSError *error = nil;\n        \n        BOOL result = [[NSFileManager defaultManager] createDirectoryAtPath:logDirectory\n                                                withIntermediateDirectories:YES\n                                                                 attributes:nil\n                                                                      error:&error];\n        if (!result)\n        {\n            NSLog(@\"%@: %@ - Unable to create logDirectory(%@) due to error: %@\",\n                  [self class], THIS_METHOD, logDirectory, error);\n            \n            logDirectory = nil;\n        }\n    }\n}\n\n- (NSString *)logFilePath\n{\n    return [logDirectory stringByAppendingPathComponent:@\"Log.sqlite\"];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Core Data\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSManagedObjectModel *)managedObjectModel\n{\n    if (managedObjectModel)\n    {\n        return managedObjectModel;\n    }\n    \n    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@\"Log\" withExtension:@\"momd\"];\n    managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];\n    return managedObjectModel;\n}\n\n- (BOOL)addPersistentStore:(NSError **)errorPtr\n{\n    if (logDirectory == nil)\n    {\n        if (errorPtr)\n        {\n            NSString *errMsg = @\"Invalid logDirectory\";\n            NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n            \n            *errorPtr = [NSError errorWithDomain:NSStringFromClass([self class]) code:0 userInfo:userInfo];\n        }\n        return NO;\n    }\n    \n    NSURL *url = [NSURL fileURLWithPath:[self logFilePath]];\n    \n    NSPersistentStore *result = [persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType\n                                                                         configuration:nil\n                                                                                   URL:url\n                                                                               options:nil\n                                                                                 error:errorPtr];\n    return (result != nil);\n}\n\n- (NSPersistentStoreCoordinator *)persistentStoreCoordinator\n{\n    if (persistentStoreCoordinator)\n    {\n        return persistentStoreCoordinator;\n    }\n    \n    NSManagedObjectModel *mom = [self managedObjectModel];\n    if (!mom)\n    {\n        NSLog(@\"%@: %@ - No model to generate a store from\", [self class], THIS_FILE);\n        return nil;\n    }\n    \n    if (logDirectory == nil)\n    {\n        return nil;\n    }\n    \n    persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:mom];\n    \n    NSError *error = nil;\n    if (![self addPersistentStore:&error])\n    {\n        NSLog(@\"%@: %@ - Error creating persistent store: %@\", [self class], THIS_FILE, error);\n        \n        persistentStoreCoordinator = nil;\n    }\n    \n    return persistentStoreCoordinator;\n}\n\n- (void)createManagedObjectContext\n{\n    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];\n    if (coordinator)\n    {\n        if (managedObjectContext == nil)\n        {\n            managedObjectContext = [[NSManagedObjectContext alloc] init];\n            [managedObjectContext setPersistentStoreCoordinator:coordinator];\n            [managedObjectContext setMergePolicy:NSOverwriteMergePolicy];\n        }\n        \n        if (logEntryEntity == nil)\n        {\n            logEntryEntity = [NSEntityDescription entityForName:@\"LogEntry\"\n                                          inManagedObjectContext:managedObjectContext];\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Public API\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)clearLog\n{\n    dispatch_block_t block = ^{\n        \n        if (managedObjectContext == nil)\n        {\n            return;\n        }\n        \n        @autoreleasepool {\n        \n            NSError *error = nil;\n            \n            [managedObjectContext reset];\n            [persistentStoreCoordinator lock];\n            \n            NSPersistentStore *store = [[persistentStoreCoordinator persistentStores] lastObject];\n            \n            if (![persistentStoreCoordinator removePersistentStore:store error:&error])\n            {\n                NSLog(@\"%@: %@ - Error removing persistent store: %@\", [self class], THIS_METHOD, error);\n            } \n            \n            NSString *logFilePath = [self logFilePath];\n            \n            if ([[NSFileManager defaultManager] fileExistsAtPath:logFilePath])\n            {\n                if (![[NSFileManager defaultManager] removeItemAtPath:logFilePath error:&error])\n                {\n                    NSLog(@\"%@: %@ - Error deleting log file: %@\", [self class], THIS_METHOD, error);\n                }\n            }\n            \n            if (![self addPersistentStore:&error])\n            {\n                NSLog(@\"%@: %@ - Error creating persistent store: %@\", [self class], THIS_FILE, error);\n            }\n            \n            [persistentStoreCoordinator unlock];\n        \n        }\n    };\n    \n    if (dispatch_get_current_queue() == self.loggerQueue)\n        block();\n    else\n        dispatch_async(self.loggerQueue, block);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark DDLogger\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)db_log:(DDLogMessage *)logMessage\n{\n    if (managedObjectContext == nil)\n    {\n        return NO;\n    }\n    \n    LogEntry *logEntry = (LogEntry *)[[NSManagedObject alloc] initWithEntity:logEntryEntity\n                                              insertIntoManagedObjectContext:managedObjectContext];\n    \n    logEntry.context   = @(logMessage->_context);\n    logEntry.level     = @(logMessage->_flag);\n    logEntry.message   = logMessage->_message;\n    logEntry.timestamp = logMessage->_timestamp;\n    \n    \n    return YES;\n}\n\n- (void)saveContext\n{\n    if ([managedObjectContext hasChanges])\n    {\n        NSError *error = nil;\n        if (![managedObjectContext save:&error])\n        {\n            NSLog(@\"%@: Error saving: %@ %@\", [self class], error, [error userInfo]);\n            \n            // Since the save failed, we are forced to dump the log entries.\n            // If we don't we risk an ever growing managedObjectContext,\n            // as the unsaved changes sit around in RAM until either saved or dumped.\n            \n            [managedObjectContext rollback];\n        }\n    }\n}\n\n- (void)deleteOldLogEntries:(BOOL)shouldSaveWhenDone\n{\n    if (_maxAge <= 0.0)\n    {\n        // Deleting old log entries is disabled.\n        // The superclass won't likely call us if this is the case, but we're being cautious.\n        return;\n    }\n    \n    NSEntityDescription *entity = [NSEntityDescription entityForName:@\"LogEntry\"\n                                              inManagedObjectContext:managedObjectContext];\n    \n    NSDate *maxDate = [NSDate dateWithTimeIntervalSinceNow:(-1.0 * _maxAge)];\n    NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"timestamp < %@\", maxDate];\n    \n    NSUInteger batchSize = (_saveThreshold > 0) ? _saveThreshold : 500;\n    NSUInteger count = 0;\n    \n    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];\n    [fetchRequest setEntity:entity];\n    [fetchRequest setFetchBatchSize:batchSize];\n    [fetchRequest setPredicate:predicate];\n    \n    NSArray *oldLogEntries = [managedObjectContext executeFetchRequest:fetchRequest error:nil];\n    \n    for (LogEntry *logEntry in oldLogEntries)\n    {\n        [managedObjectContext deleteObject:logEntry];\n        \n        if (++count >= batchSize)\n        {\n            [self saveContext];\n        }\n    }\n    \n    if (shouldSaveWhenDone)\n    {\n        [self saveContext];\n    }\n}\n\n- (void)db_save\n{\n    [self saveContext];\n}\n\n- (void)db_delete\n{\n    [self deleteOldLogEntries:YES];\n}\n\n- (void)db_saveAndDelete\n{\n    [self deleteOldLogEntries:NO];\n    [self saveContext];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/CoreDataLogger.xcdatamodeld/.xccurrentversion",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict/>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/CoreDataLoggerAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class CoreDataLogger;\n\n\n@interface CoreDataLoggerAppDelegate : NSObject <NSApplicationDelegate> {\n@private\n    CoreDataLogger *coreDataLogger;\n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/CoreDataLoggerAppDelegate.m",
    "content": "#import \"CoreDataLoggerAppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"CoreDataLogger.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation CoreDataLoggerAppDelegate\n\n@synthesize window;\n\n- (NSString *)applicationFilesDirectory\n{\n    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);\n    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : NSTemporaryDirectory();\n    \n    return [basePath stringByAppendingPathComponent:@\"CoreDataLogger\"];\n}\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n//  [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    coreDataLogger = [[CoreDataLogger alloc] initWithLogDirectory:[self applicationFilesDirectory]];\n    \n    coreDataLogger.saveThreshold     = 500;\n    coreDataLogger.saveInterval      = 60;               // 60 seconds\n    coreDataLogger.maxAge            = 60 * 60 * 24 * 7; //  7 days\n    coreDataLogger.deleteInterval    = 60 * 5;           //  5 minutes\n    coreDataLogger.deleteOnEverySave = NO;\n    \n    [DDLog addLogger:coreDataLogger];\n    \n    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(doTest:) userInfo:nil repeats:NO];\n}\n\n- (void)doTest:(NSTimer *)aTimer\n{\n    NSDate *start = [NSDate date];\n    \n    int i;\n    for (i = 0; i < 1000; i++)\n    {\n        DDLogVerbose(@\"A log message of average size\");\n    }\n    [DDLog flushLog];\n    \n    NSTimeInterval elapsed = [start timeIntervalSinceNow] * -1.0;\n    NSLog(@\"Total time: %.4f\", elapsed);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/Log.xcdatamodeld/.xccurrentversion",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>_XCCurrentVersionName</key>\n\t<string>CocoaBotLog.xcdatamodel</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/LogEntry.h",
    "content": "#import <Foundation/Foundation.h>\n#import <CoreData/CoreData.h>\n\n\n@interface LogEntry : NSManagedObject\n\n@property (nonatomic, strong) NSNumber * context;\n@property (nonatomic, strong) NSNumber * level;\n@property (nonatomic, strong) NSString * message;\n@property (nonatomic, strong) NSDate   * timestamp;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/LogEntry.m",
    "content": "#import \"LogEntry.h\"\n\n\n@implementation LogEntry\n\n@dynamic context;\n@dynamic level;\n@dynamic message;\n@dynamic timestamp;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">CoreDataLogger</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">CoreDataLogger</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About CoreDataLogger</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide CoreDataLogger</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit CoreDataLogger</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">CoreDataLogger Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">CoreDataLogger</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">CoreDataLoggerAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">CoreDataLoggerAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">CoreDataLoggerAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../CoreDataLogger.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger/main.m",
    "content": "//\n//  main.m\n//  CoreDataLogger\n//\n//  Created by Robbie Hanson on 3/30/11.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t466CB4454C9F0E1719F00493 /* Pods_CoreDataLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B2B7FA3965161C35D4F0480 /* Pods_CoreDataLogger.framework */; };\n\t\tDCE86C0E1343C419004FD85F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCE86C0D1343C419004FD85F /* Cocoa.framework */; };\n\t\tDCE86C181343C419004FD85F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DCE86C161343C419004FD85F /* InfoPlist.strings */; };\n\t\tDCE86C1B1343C419004FD85F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DCE86C1A1343C419004FD85F /* main.m */; };\n\t\tDCE86C1E1343C419004FD85F /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DCE86C1C1343C419004FD85F /* Credits.rtf */; };\n\t\tDCE86C211343C419004FD85F /* CoreDataLoggerAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DCE86C201343C419004FD85F /* CoreDataLoggerAppDelegate.m */; };\n\t\tDCE86C241343C41A004FD85F /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCE86C221343C41A004FD85F /* MainMenu.xib */; };\n\t\tDCE86C551343C64F004FD85F /* CoreDataLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCE86C501343C64F004FD85F /* CoreDataLogger.m */; };\n\t\tDCE86C561343C64F004FD85F /* Log.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = DCE86C511343C64F004FD85F /* Log.xcdatamodeld */; };\n\t\tDCE86C571343C64F004FD85F /* LogEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = DCE86C541343C64F004FD85F /* LogEntry.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t14537C8B30AF95E18BCEA654 /* Pods-CoreDataLogger.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CoreDataLogger.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-CoreDataLogger/Pods-CoreDataLogger.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t460BF95AC1FE68D1CE0626A5 /* Pods-CoreDataLogger.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CoreDataLogger.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-CoreDataLogger/Pods-CoreDataLogger.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t4B2B7FA3965161C35D4F0480 /* Pods_CoreDataLogger.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CoreDataLogger.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCE86C091343C419004FD85F /* CoreDataLogger.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CoreDataLogger.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCE86C0D1343C419004FD85F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDCE86C101343C419004FD85F /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDCE86C111343C419004FD85F /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDCE86C121343C419004FD85F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDCE86C151343C419004FD85F /* CoreDataLogger-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"CoreDataLogger-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDCE86C171343C419004FD85F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDCE86C191343C419004FD85F /* CoreDataLogger-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"CoreDataLogger-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDCE86C1A1343C419004FD85F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDCE86C1D1343C419004FD85F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDCE86C1F1343C419004FD85F /* CoreDataLoggerAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CoreDataLoggerAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDCE86C201343C419004FD85F /* CoreDataLoggerAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CoreDataLoggerAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDCE86C231343C41A004FD85F /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDCE86C4F1343C64F004FD85F /* CoreDataLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CoreDataLogger.h; path = CoreDataLogger/CoreDataLogger.h; sourceTree = \"<group>\"; };\n\t\tDCE86C501343C64F004FD85F /* CoreDataLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CoreDataLogger.m; path = CoreDataLogger/CoreDataLogger.m; sourceTree = \"<group>\"; };\n\t\tDCE86C521343C64F004FD85F /* CocoaBotLog.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = CocoaBotLog.xcdatamodel; sourceTree = \"<group>\"; };\n\t\tDCE86C531343C64F004FD85F /* LogEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LogEntry.h; path = CoreDataLogger/LogEntry.h; sourceTree = \"<group>\"; };\n\t\tDCE86C541343C64F004FD85F /* LogEntry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LogEntry.m; path = CoreDataLogger/LogEntry.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDCE86C061343C419004FD85F /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCE86C0E1343C419004FD85F /* Cocoa.framework in Frameworks */,\n\t\t\t\t466CB4454C9F0E1719F00493 /* Pods_CoreDataLogger.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t029654B0E34E31A09088B9E8 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t14537C8B30AF95E18BCEA654 /* Pods-CoreDataLogger.debug.xcconfig */,\n\t\t\t\t460BF95AC1FE68D1CE0626A5 /* Pods-CoreDataLogger.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86BFE1343C419004FD85F = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C351343C432004FD85F /* Logging */,\n\t\t\t\tDCE86C131343C419004FD85F /* CoreDataLogger */,\n\t\t\t\tDCE86C0C1343C419004FD85F /* Frameworks */,\n\t\t\t\tDCE86C0A1343C419004FD85F /* Products */,\n\t\t\t\t029654B0E34E31A09088B9E8 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86C0A1343C419004FD85F /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C091343C419004FD85F /* CoreDataLogger.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86C0C1343C419004FD85F /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C0D1343C419004FD85F /* Cocoa.framework */,\n\t\t\t\tDCE86C0F1343C419004FD85F /* Other Frameworks */,\n\t\t\t\t4B2B7FA3965161C35D4F0480 /* Pods_CoreDataLogger.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86C0F1343C419004FD85F /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C101343C419004FD85F /* AppKit.framework */,\n\t\t\t\tDCE86C111343C419004FD85F /* CoreData.framework */,\n\t\t\t\tDCE86C121343C419004FD85F /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86C131343C419004FD85F /* CoreDataLogger */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C1F1343C419004FD85F /* CoreDataLoggerAppDelegate.h */,\n\t\t\t\tDCE86C201343C419004FD85F /* CoreDataLoggerAppDelegate.m */,\n\t\t\t\tDCE86C221343C41A004FD85F /* MainMenu.xib */,\n\t\t\t\tDCE86C141343C419004FD85F /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = CoreDataLogger;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86C141343C419004FD85F /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C151343C419004FD85F /* CoreDataLogger-Info.plist */,\n\t\t\t\tDCE86C161343C419004FD85F /* InfoPlist.strings */,\n\t\t\t\tDCE86C191343C419004FD85F /* CoreDataLogger-Prefix.pch */,\n\t\t\t\tDCE86C1A1343C419004FD85F /* main.m */,\n\t\t\t\tDCE86C1C1343C419004FD85F /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86C351343C432004FD85F /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C361343C43C004FD85F /* CoreData */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86C361343C43C004FD85F /* CoreData */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C511343C64F004FD85F /* Log.xcdatamodeld */,\n\t\t\t\tDCE86C531343C64F004FD85F /* LogEntry.h */,\n\t\t\t\tDCE86C541343C64F004FD85F /* LogEntry.m */,\n\t\t\t\tDCE86C4F1343C64F004FD85F /* CoreDataLogger.h */,\n\t\t\t\tDCE86C501343C64F004FD85F /* CoreDataLogger.m */,\n\t\t\t);\n\t\t\tname = CoreData;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDCE86C081343C419004FD85F /* CoreDataLogger */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DCE86C2A1343C41A004FD85F /* Build configuration list for PBXNativeTarget \"CoreDataLogger\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8CCA0EBBED064C809FFE26DE /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDCE86C051343C419004FD85F /* Sources */,\n\t\t\t\tDCE86C061343C419004FD85F /* Frameworks */,\n\t\t\t\tDCE86C071343C419004FD85F /* Resources */,\n\t\t\t\t9F7D57202A9B442FA2531632 /* [CP] Copy Pods Resources */,\n\t\t\t\tFDE181D6DC62955D85D834F7 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = CoreDataLogger;\n\t\t\tproductName = CoreDataLogger;\n\t\t\tproductReference = DCE86C091343C419004FD85F /* CoreDataLogger.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDCE86C001343C419004FD85F /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = DCE86C031343C419004FD85F /* Build configuration list for PBXProject \"CoreDataLogger\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DCE86BFE1343C419004FD85F;\n\t\t\tproductRefGroup = DCE86C0A1343C419004FD85F /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDCE86C081343C419004FD85F /* CoreDataLogger */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDCE86C071343C419004FD85F /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCE86C181343C419004FD85F /* InfoPlist.strings in Resources */,\n\t\t\t\tDCE86C1E1343C419004FD85F /* Credits.rtf in Resources */,\n\t\t\t\tDCE86C241343C41A004FD85F /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t8CCA0EBBED064C809FFE26DE /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-CoreDataLogger-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t9F7D57202A9B442FA2531632 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CoreDataLogger/Pods-CoreDataLogger-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tFDE181D6DC62955D85D834F7 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-CoreDataLogger/Pods-CoreDataLogger-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CoreDataLogger/Pods-CoreDataLogger-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDCE86C051343C419004FD85F /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCE86C1B1343C419004FD85F /* main.m in Sources */,\n\t\t\t\tDCE86C211343C419004FD85F /* CoreDataLoggerAppDelegate.m in Sources */,\n\t\t\t\tDCE86C551343C64F004FD85F /* CoreDataLogger.m in Sources */,\n\t\t\t\tDCE86C561343C64F004FD85F /* Log.xcdatamodeld in Sources */,\n\t\t\t\tDCE86C571343C64F004FD85F /* LogEntry.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDCE86C161343C419004FD85F /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C171343C419004FD85F /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86C1C1343C419004FD85F /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C1D1343C419004FD85F /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCE86C221343C41A004FD85F /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C231343C41A004FD85F /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDCE86C281343C41A004FD85F /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = DEBUG;\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCE86C291343C41A004FD85F /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCE86C2B1343C41A004FD85F /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 14537C8B30AF95E18BCEA654 /* Pods-CoreDataLogger.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"CoreDataLogger/CoreDataLogger-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"CoreDataLogger/CoreDataLogger-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCE86C2C1343C41A004FD85F /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 460BF95AC1FE68D1CE0626A5 /* Pods-CoreDataLogger.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"CoreDataLogger/CoreDataLogger-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"CoreDataLogger/CoreDataLogger-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDCE86C031343C419004FD85F /* Build configuration list for PBXProject \"CoreDataLogger\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCE86C281343C41A004FD85F /* Debug */,\n\t\t\t\tDCE86C291343C41A004FD85F /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCE86C2A1343C41A004FD85F /* Build configuration list for PBXNativeTarget \"CoreDataLogger\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCE86C2B1343C41A004FD85F /* Debug */,\n\t\t\t\tDCE86C2C1343C41A004FD85F /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\n/* Begin XCVersionGroup section */\n\t\tDCE86C511343C64F004FD85F /* Log.xcdatamodeld */ = {\n\t\t\tisa = XCVersionGroup;\n\t\t\tchildren = (\n\t\t\t\tDCE86C521343C64F004FD85F /* CocoaBotLog.xcdatamodel */,\n\t\t\t);\n\t\t\tcurrentVersion = DCE86C521343C64F004FD85F /* CocoaBotLog.xcdatamodel */;\n\t\t\tname = Log.xcdatamodeld;\n\t\t\tpath = CoreDataLogger/Log.xcdatamodeld;\n\t\t\tsourceTree = \"<group>\";\n\t\t\tversionGroupType = wrapper.xcdatamodel;\n\t\t};\n/* End XCVersionGroup section */\n\t};\n\trootObject = DCE86C001343C419004FD85F /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/CoreDataLogger.xcodeproj/xcshareddata/xcschemes/CoreDataLogger.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DCE86C081343C419004FD85F\"\n               BuildableName = \"CoreDataLogger.app\"\n               BlueprintName = \"CoreDataLogger\"\n               ReferencedContainer = \"container:CoreDataLogger.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCE86C081343C419004FD85F\"\n            BuildableName = \"CoreDataLogger.app\"\n            BlueprintName = \"CoreDataLogger\"\n            ReferencedContainer = \"container:CoreDataLogger.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCE86C081343C419004FD85F\"\n            BuildableName = \"CoreDataLogger.app\"\n            BlueprintName = \"CoreDataLogger\"\n            ReferencedContainer = \"container:CoreDataLogger.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCE86C081343C419004FD85F\"\n            BuildableName = \"CoreDataLogger.app\"\n            BlueprintName = \"CoreDataLogger\"\n            ReferencedContainer = \"container:CoreDataLogger.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CoreDataLogger/Podfile",
    "content": "\nproject 'CoreDataLogger'\nworkspace '../Demos'\n\ntarget :'CoreDataLogger' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/CustomFormatters-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/CustomFormatters.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t18504B74B6AB1B1D8DAF202F /* Pods_CustomFormatters.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A547EAAF50A89B2B8E71A51 /* Pods_CustomFormatters.framework */; };\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* CustomFormattersAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* CustomFormattersAppDelegate.m */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tDC399ADD119CA20700C50939 /* TestFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DC399ADC119CA20700C50939 /* TestFormatter.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* CustomFormattersAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomFormattersAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* CustomFormattersAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomFormattersAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* CustomFormatters_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomFormatters_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t48781E69582394FCF12C6580 /* Pods-CustomFormatters.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CustomFormatters.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-CustomFormatters/Pods-CustomFormatters.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t8A547EAAF50A89B2B8E71A51 /* Pods_CustomFormatters.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CustomFormatters.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8D1107310486CEB800E47090 /* CustomFormatters-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"CustomFormatters-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* CustomFormatters.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CustomFormatters.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC399ADB119CA20700C50939 /* TestFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestFormatter.h; sourceTree = \"<group>\"; };\n\t\tDC399ADC119CA20700C50939 /* TestFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestFormatter.m; sourceTree = \"<group>\"; };\n\t\tE243DFDE6E5F5A82C4627D33 /* Pods-CustomFormatters.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CustomFormatters.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-CustomFormatters/Pods-CustomFormatters.debug.xcconfig\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\t18504B74B6AB1B1D8DAF202F /* Pods_CustomFormatters.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC399ADB119CA20700C50939 /* TestFormatter.h */,\n\t\t\t\tDC399ADC119CA20700C50939 /* TestFormatter.m */,\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* CustomFormattersAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* CustomFormattersAppDelegate.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* CustomFormatters.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t25BEAB0AB2BA570B43C91C70 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE243DFDE6E5F5A82C4627D33 /* Pods-CustomFormatters.debug.xcconfig */,\n\t\t\t\t48781E69582394FCF12C6580 /* Pods-CustomFormatters.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* CustomFormatters */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\t25BEAB0AB2BA570B43C91C70 /* Pods */,\n\t\t\t);\n\t\t\tname = CustomFormatters;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* CustomFormatters_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* CustomFormatters-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t\t8A547EAAF50A89B2B8E71A51 /* Pods_CustomFormatters.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* CustomFormatters */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"CustomFormatters\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tD6EC72B695AC423193352720 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t\t86BFB25A87194B64B93CCEF3 /* [CP] Copy Pods Resources */,\n\t\t\t\tE8A0960531A48B92C9B49F84 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = CustomFormatters;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = CustomFormatters;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* CustomFormatters.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"CustomFormatters\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* CustomFormatters */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* CustomFormatters */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t86BFB25A87194B64B93CCEF3 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CustomFormatters/Pods-CustomFormatters-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tD6EC72B695AC423193352720 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-CustomFormatters-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tE8A0960531A48B92C9B49F84 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-CustomFormatters/Pods-CustomFormatters-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CustomFormatters/Pods-CustomFormatters-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* CustomFormattersAppDelegate.m in Sources */,\n\t\t\t\tDC399ADD119CA20700C50939 /* TestFormatter.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = E243DFDE6E5F5A82C4627D33 /* Pods-CustomFormatters.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = CustomFormatters_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"CustomFormatters-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = CustomFormatters;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 48781E69582394FCF12C6580 /* Pods-CustomFormatters.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = CustomFormatters_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"CustomFormatters-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = CustomFormatters;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"CustomFormatters\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"CustomFormatters\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/CustomFormatters.xcodeproj/xcshareddata/xcschemes/CustomFormatters.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n               BuildableName = \"CustomFormatters.app\"\n               BlueprintName = \"CustomFormatters\"\n               ReferencedContainer = \"container:CustomFormatters.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"CustomFormatters.app\"\n            BlueprintName = \"CustomFormatters\"\n            ReferencedContainer = \"container:CustomFormatters.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"CustomFormatters.app\"\n            BlueprintName = \"CustomFormatters\"\n            ReferencedContainer = \"container:CustomFormatters.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"CustomFormatters.app\"\n            BlueprintName = \"CustomFormatters\"\n            ReferencedContainer = \"container:CustomFormatters.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/CustomFormattersAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n\n@interface CustomFormattersAppDelegate : NSObject <NSApplicationDelegate> {\n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/CustomFormattersAppDelegate.m",
    "content": "#import \"CustomFormattersAppDelegate.h\"\n\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"TestFormatter.h\"\n\n// Debug levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation CustomFormattersAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    // Setup logging (with our custom formatter)\n    \n    TestFormatter *formatter = [[TestFormatter alloc] init];\n    \n    [[DDASLLogger sharedInstance] setLogFormatter:formatter];\n    [[DDTTYLogger sharedInstance] setLogFormatter:formatter];\n    \n    [DDLog addLogger:[DDASLLogger sharedInstance]];\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    // Log some messages\n    \n    DDLogError(@\"Paper Jam!\");\n    DDLogWarn(@\"Low toner\");\n    DDLogInfo(@\"Printing SalesProjections.doc\");\n    DDLogVerbose(@\"Warming up toner\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/CustomFormatters_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'CustomFormatters' target in the 'CustomFormatters' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">CustomFormatters</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">CustomFormatters</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About CustomFormatters</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide CustomFormatters</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit CustomFormatters</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">CustomFormatters Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">CustomFormatters</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">CustomFormattersAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">CustomFormattersAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">CustomFormattersAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../CustomFormatters.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/Podfile",
    "content": "\nproject 'CustomFormatters'\nworkspace '../Demos'\n\ntarget :'CustomFormatters' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/ReadMe.txt",
    "content": "This Xcode project provides a sample custom formatter.  It shows how one can customize the output format of a log message.  This particular example demonstrates prefixing the file name, function, and line number before a log message.\n\nFor more information on custom formatters, see the Wiki article:\nhttps://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/TestFormatter.h",
    "content": "#import <Foundation/Foundation.h>\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n\n@interface TestFormatter : NSObject <DDLogFormatter>\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/TestFormatter.m",
    "content": "#import \"TestFormatter.h\"\n\n\n/**\n * For more information about creating custom formatters, see the wiki article:\n * https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomFormatters\n**/\n@implementation TestFormatter\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage\n{\n    return [NSString stringWithFormat:@\"%@ | %@ @ %@ | %@\",\n            [logMessage fileName], logMessage->_function, @(logMessage->_line), logMessage->_message];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomFormatters/main.m",
    "content": "//\n//  main.m\n//  CustomFormatters\n//\n//  Created by Robbie Hanson on 5/13/10.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/CustomLogLevels-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/CustomLogLevels.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* CustomLogLevelsAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* CustomLogLevelsAppDelegate.m */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tD3291CF564AFABE8344EEE60 /* Pods_CustomLogLevels.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F9C1A2727901A999AD3A88F /* Pods_CustomLogLevels.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t048F3221B6C4F29E16D81682 /* Pods-CustomLogLevels.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CustomLogLevels.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-CustomLogLevels/Pods-CustomLogLevels.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* CustomLogLevelsAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomLogLevelsAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* CustomLogLevelsAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomLogLevelsAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* CustomLogLevels_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomLogLevels_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t315F2F78A4A4CB8B58EE2E0B /* Pods-CustomLogLevels.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-CustomLogLevels.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-CustomLogLevels/Pods-CustomLogLevels.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t6F9C1A2727901A999AD3A88F /* Pods_CustomLogLevels.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CustomLogLevels.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8D1107310486CEB800E47090 /* CustomLogLevels-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"CustomLogLevels-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* CustomLogLevels.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CustomLogLevels.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC399B18119CA5EA00C50939 /* MYLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYLog.h; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\tD3291CF564AFABE8344EEE60 /* Pods_CustomLogLevels.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC399B18119CA5EA00C50939 /* MYLog.h */,\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* CustomLogLevelsAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* CustomLogLevelsAppDelegate.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* CustomLogLevels.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* CustomLogLevels */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\t46D22C05C0203F091A6A3F9B /* Pods */,\n\t\t\t);\n\t\t\tname = CustomLogLevels;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* CustomLogLevels_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* CustomLogLevels-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t\t6F9C1A2727901A999AD3A88F /* Pods_CustomLogLevels.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t46D22C05C0203F091A6A3F9B /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t048F3221B6C4F29E16D81682 /* Pods-CustomLogLevels.debug.xcconfig */,\n\t\t\t\t315F2F78A4A4CB8B58EE2E0B /* Pods-CustomLogLevels.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* CustomLogLevels */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"CustomLogLevels\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t27F560926DE34BD2A15AFEF6 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t\tA6ED1F025A774A3AA1F93A83 /* [CP] Copy Pods Resources */,\n\t\t\t\tB6799A29B3B4399A7EFDEFBD /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = CustomLogLevels;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = CustomLogLevels;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* CustomLogLevels.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"CustomLogLevels\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* CustomLogLevels */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* CustomLogLevels */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t27F560926DE34BD2A15AFEF6 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-CustomLogLevels-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tA6ED1F025A774A3AA1F93A83 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CustomLogLevels/Pods-CustomLogLevels-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tB6799A29B3B4399A7EFDEFBD /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-CustomLogLevels/Pods-CustomLogLevels-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-CustomLogLevels/Pods-CustomLogLevels-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* CustomLogLevelsAppDelegate.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 048F3221B6C4F29E16D81682 /* Pods-CustomLogLevels.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = CustomLogLevels_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"CustomLogLevels-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = CustomLogLevels;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 315F2F78A4A4CB8B58EE2E0B /* Pods-CustomLogLevels.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = CustomLogLevels_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"CustomLogLevels-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = CustomLogLevels;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"CustomLogLevels\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"CustomLogLevels\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/CustomLogLevels.xcodeproj/xcshareddata/xcschemes/CustomLogLevels.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n               BuildableName = \"CustomLogLevels.app\"\n               BlueprintName = \"CustomLogLevels\"\n               ReferencedContainer = \"container:CustomLogLevels.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"CustomLogLevels.app\"\n            BlueprintName = \"CustomLogLevels\"\n            ReferencedContainer = \"container:CustomLogLevels.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"CustomLogLevels.app\"\n            BlueprintName = \"CustomLogLevels\"\n            ReferencedContainer = \"container:CustomLogLevels.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"CustomLogLevels.app\"\n            BlueprintName = \"CustomLogLevels\"\n            ReferencedContainer = \"container:CustomLogLevels.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/CustomLogLevelsAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n\n@interface CustomLogLevelsAppDelegate : NSObject <NSApplicationDelegate> {\n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/CustomLogLevelsAppDelegate.m",
    "content": "#import \"CustomLogLevelsAppDelegate.h\"\n\n#import \"MYLog.h\"\n\n// Debug levels: off, fatal, error, warn, notice, info, debug\nstatic const DDLogLevel ddLogLevel = DDLogLevelDebug;\n\n\n@implementation CustomLogLevelsAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    // since the verbose log level was undefined, we need to specify the log level for every logger\n    [DDLog addLogger:[DDASLLogger sharedInstance] withLevel:DDLogLevelDebug];\n    [DDLog addLogger:[DDTTYLogger sharedInstance] withLevel:DDLogLevelDebug];\n    \n    DDLogFatal(@\"Fatal\");\n    DDLogError(@\"Error\");\n    DDLogWarn(@\"Warn\");\n    DDLogNotice(@\"Notice\");\n    DDLogInfo(@\"Info\");\n    DDLogDebug(@\"Debug\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/CustomLogLevels_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'CustomLogLevels' target in the 'CustomLogLevels' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">CustomLogLevels</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">CustomLogLevels</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About CustomLogLevels</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide CustomLogLevels</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit CustomLogLevels</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">CustomLogLevels Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">CustomLogLevels</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">CustomLogLevelsAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">CustomLogLevelsAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">CustomLogLevelsAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../CustomLogLevels.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/MYLog.h",
    "content": "\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// We want to use the following log levels:\n// \n// Fatal\n// Error\n// Warn\n// Notice\n// Info\n// Debug\n// \n// All we have to do is undefine the default values,\n// and then simply define our own however we want.\n\n// First undefine the default stuff we don't want to use.\n\n#undef DDLogError\n#undef DDLogWarn\n#undef DDLogInfo\n#undef DDLogDebug\n#undef DDLogVerbose\n\n// Now define everything how we want it\n\n#define LOG_FLAG_FATAL   (1 << 0)  // 0...000001\n#define LOG_FLAG_ERROR   (1 << 1)  // 0...000010\n#define LOG_FLAG_WARN    (1 << 2)  // 0...000100\n#define LOG_FLAG_NOTICE  (1 << 3)  // 0...001000\n#define LOG_FLAG_INFO    (1 << 4)  // 0...010000\n#define LOG_FLAG_DEBUG   (1 << 5)  // 0...100000\n\n#define LOG_LEVEL_FATAL   (LOG_FLAG_FATAL)                     // 0...000001\n#define LOG_LEVEL_ERROR   (LOG_FLAG_ERROR  | LOG_LEVEL_FATAL ) // 0...000011\n#define LOG_LEVEL_WARN    (LOG_FLAG_WARN   | LOG_LEVEL_ERROR ) // 0...000111\n#define LOG_LEVEL_NOTICE  (LOG_FLAG_NOTICE | LOG_LEVEL_WARN  ) // 0...001111\n#define LOG_LEVEL_INFO    (LOG_FLAG_INFO   | LOG_LEVEL_NOTICE) // 0...011111\n#define LOG_LEVEL_DEBUG   (LOG_FLAG_DEBUG  | LOG_LEVEL_INFO  ) // 0...111111\n\n#define DDLogFatal(frmt, ...)   LOG_MAYBE(NO,  ddLogLevel, LOG_FLAG_FATAL,  0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogError(frmt, ...)   LOG_MAYBE(NO,  ddLogLevel, LOG_FLAG_ERROR,  0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogWarn(frmt, ...)    LOG_MAYBE(YES, ddLogLevel, LOG_FLAG_WARN,   0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogNotice(frmt, ...)  LOG_MAYBE(YES, ddLogLevel, LOG_FLAG_NOTICE, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogInfo(frmt, ...)    LOG_MAYBE(YES, ddLogLevel, LOG_FLAG_INFO,   0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogDebug(frmt, ...)   LOG_MAYBE(YES, ddLogLevel, LOG_FLAG_DEBUG,  0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/Podfile",
    "content": "\nproject 'CustomLogLevels'\nworkspace '../Demos'\n\ntarget :'CustomLogLevels' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/ReadMe.txt",
    "content": "This Xcode project demonstrates how you can customize the number of log levels, as well as the log level names.  This particular project demonstrates using the following levels:\n\nFatal\nError\nWarn\nNotice\nInfo\nDebug\n\nFor more information, see the Wiki article:\nhttps://github.com/CocoaLumberjack/CocoaLumberjack/wiki/CustomLogLevels\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/CustomLogLevels/main.m",
    "content": "//\n//  main.m\n//  CustomLogLevels\n//\n//  Created by Robbie Hanson on 5/13/10.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/Demos.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:../Classes\">\n   </FileRef>\n   <FileRef\n      location = \"group:Benchmark/Mobile/BenchmarkIPhone.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Benchmark/Mobile/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Benchmark/Desktop/BenchmarkMac.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Benchmark/Desktop/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CaptureASL/CaptureASL.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CaptureASL/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CLI/CLI.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CLI/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:ContextFilter/ContextFilter.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:ContextFilter/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CoreDataLogger/CoreDataLogger.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CoreDataLogger/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CustomFormatters/CustomFormatters.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CustomFormatters/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CustomLogLevels/CustomLogLevels.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:CustomLogLevels/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:DispatchQueueLogger/DispatchQueueLogger.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:DispatchQueueLogger/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:FineGrainedLogging/FineGrainedLogging.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:FineGrainedLogging/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:GlobalLogLevel/GlobalLogLevel.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:GlobalLogLevel/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:LogFileCompressor/LogFileCompressor.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:LogFileCompressor/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:OverflowTestMac/OverflowTestMac.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:OverflowTestMac/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:PerUserLogLevels/PerUserLogLevels.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:PerUserLogLevels/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:RollingTestMac/RollingTestMac.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:RollingTestMac/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:SQLiteLogger/SQLiteLogger.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:SQLiteLogger/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:UniversalApp/UniversalApp.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:UniversalApp/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:WebServerIPhone/WebServerIPhone.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:WebServerIPhone/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:NonArcTest/NonArcTest.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:NonArcTest/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:RegisteredDynamicLogging/Desktop/RegisteredLoggingTest.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:RegisteredDynamicLogging/Desktop/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:RegisteredDynamicLogging/Mobile/RegisteredLoggingTest.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:RegisteredDynamicLogging/Mobile/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:TestXcodeColors/Desktop/TestXcodeColors.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:TestXcodeColors/Desktop/Pods/Pods.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:TestXcodeColors/Mobile/TextXcodeColors.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:TestXcodeColors/Mobile/Pods/Pods.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  DispatchQueueLogger\n//\n//  Created by Robbie Hanson on 11/8/11.\n//\n\n#import <Cocoa/Cocoa.h>\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import <CocoaLumberjack/DDDispatchQueueLogFormatter.h>\n\n// Log levels: 0-off, 1-error, 2-warn, 3-info, 4-verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation AppDelegate\n{\n    dispatch_queue_t downloadingQueue;\n    dispatch_queue_t parsingQueue;\n    dispatch_queue_t processingQueue;\n}\n\n@synthesize window = _window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    if (NO)\n    {\n        // See what log statements look like *BEFORE* using DispatchQueueLogFormatter :(\n    }\n    else\n    {\n        // See what log statements look like *AFTER* using DispatchQueueLogFormatter :)\n        \n        DDDispatchQueueLogFormatter *formatter = [[DDDispatchQueueLogFormatter alloc] init];\n        formatter.minQueueLength = 4;\n        formatter.maxQueueLength = 0;\n        \n        [formatter setReplacementString:@\"downloading\" forQueueLabel:@\"downloadingQueue\"];\n        [formatter setReplacementString:@\"parsing\"     forQueueLabel:@\"parsingQueue\"];\n        [formatter setReplacementString:@\"processing\"  forQueueLabel:@\"processingQueue\"];\n        \n        [[DDTTYLogger sharedInstance] setLogFormatter:formatter];\n    }\n    \n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    DDLogVerbose(@\"Starting queues\");\n    \n    downloadingQueue = dispatch_queue_create(\"downloadingQueue\", NULL);\n    parsingQueue     = dispatch_queue_create(\"parsingQueue\", NULL);\n    processingQueue  = dispatch_queue_create(\"processingQueue\", NULL);\n    \n    dispatch_block_t blockA = ^{\n        DDLogVerbose(@\"Some log statement\");\n    };\n    dispatch_block_t blockB = ^{\n        DDLogVerbose(@\"Some log statement\");\n    };\n    dispatch_block_t blockC = ^{\n        DDLogVerbose(@\"Some log statement\");\n    };\n    \n    int i, count = 5;\n    \n    for (i = 0; i < count; i++)\n    {\n        dispatch_async(downloadingQueue, blockA);\n        dispatch_async(parsingQueue,     blockB);\n        dispatch_async(processingQueue,  blockC);\n    }\n    \n    [NSThread detachNewThreadSelector:@selector(backgroundThread:) toTarget:self withObject:nil];\n}\n\n- (void)backgroundThread:(id)ignore\n{\n    @autoreleasepool {\n        \n        [[NSThread currentThread] setName:@\"MyBgThread\"];\n        \n        int i;\n        for (i = 0; i < 5; i++)\n        {\n            DDLogVerbose(@\"Some log statement\");\n        }\n    }\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger/DispatchQueueLogger-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger/DispatchQueueLogger-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'DispatchQueueLogger' target in the 'DispatchQueueLogger' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11A511</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1920</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">566.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1920</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">DispatchQueueLogger</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">DispatchQueueLogger</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About DispatchQueueLogger</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide DispatchQueueLogger</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit DispatchQueueLogger</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">DispatchQueueLogger Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">DispatchQueueLogger</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">535</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addCardViewField:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"doDelete:\">id</string>\n\t\t\t\t\t\t<string key=\"find:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"saveChanges:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addCardViewField:\">\n\t\t\t\t\t\t\t<string key=\"name\">addCardViewField:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"doDelete:\">\n\t\t\t\t\t\t\t<string key=\"name\">doDelete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"find:\">\n\t\t\t\t\t\t\t<string key=\"name\">find:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveChanges:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveChanges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mCardView\">ABCardView</string>\n\t\t\t\t\t\t<string key=\"mEditButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"mManagedObjectContext\">NSManagedObjectContext</string>\n\t\t\t\t\t\t<string key=\"mSearchField\">NSSearchField</string>\n\t\t\t\t\t\t<string key=\"mStatusTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"mWindow\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mCardView\">\n\t\t\t\t\t\t\t<string key=\"name\">mCardView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABCardView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mEditButton\">\n\t\t\t\t\t\t\t<string key=\"name\">mEditButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mManagedObjectContext\">\n\t\t\t\t\t\t\t<string key=\"name\">mManagedObjectContext</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSManagedObjectContext</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mSearchField\">\n\t\t\t\t\t\t\t<string key=\"name\">mSearchField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSearchField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mStatusTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">mStatusTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">mWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"commitAndSave:\">id</string>\n\t\t\t\t\t\t<string key=\"statusImageClicked:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"commitAndSave:\">\n\t\t\t\t\t\t\t<string key=\"name\">commitAndSave:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"statusImageClicked:\">\n\t\t\t\t\t\t\t<string key=\"name\">statusImageClicked:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mBuddyStatusImage\">NSImageView</string>\n\t\t\t\t\t\t<string key=\"mHeaderView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mNameView\">ABNameFrameView</string>\n\t\t\t\t\t\t<string key=\"mNextKeyView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mUserImage\">NSImage</string>\n\t\t\t\t\t\t<string key=\"mUserImageView\">ABImageView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mBuddyStatusImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mBuddyStatusImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mHeaderView\">\n\t\t\t\t\t\t\t<string key=\"name\">mHeaderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNameView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNameView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABNameFrameView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNextKeyView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNextKeyView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImage</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImageView\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImageView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABImageView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTAutoLayoutView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTAutoLayoutView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTBorderedView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">contentView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTBorderedView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTDelayedMenuButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTDelayedMenuButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTGradientImageButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTGradientImageButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTextFieldCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextColumn</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableColumn</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextColumn.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTSplitView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSSplitView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTSplitView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTStackView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTStackView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFRepresenterTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFRepresenterTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IBEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"changeFont:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeSelectionToFit:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"changeFont:\">\n\t\t\t\t\t\t\t<string key=\"name\">changeFont:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeSelectionToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeSelectionToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IBEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDECapsuleListView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTStackView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">dataSource</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDECapsuleListView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMArrayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSArrayController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMArrayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"bottomToolbarBorderView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"sourceListSplitViewPane\">NSView</string>\n\t\t\t\t\t\t<string key=\"sourceListViewController\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t<string key=\"splitView\">DVTSplitView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"bottomToolbarBorderView\">\n\t\t\t\t\t\t\t<string key=\"name\">bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListSplitViewPane\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"borderedView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDMEditor</string>\n\t\t\t\t\t\t<string key=\"primaryColumn\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t<string key=\"sourceListOutlineView\">DVTOutlineView</string>\n\t\t\t\t\t\t<string key=\"sourceListTreeController\">NSTreeController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"primaryColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">primaryColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListOutlineView\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListTreeController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListTreeController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorSourceListController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTImageAndTextCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMHighlightImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"attributesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"capsuleView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"fetchedPropertiesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"relationshipsTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"attributesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">attributesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchedPropertiesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"relationshipsTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">relationshipsTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelBrowserEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"capsuleListView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableController\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleListView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleListView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableController\">\n\t\t\t\t\t\t\t<string key=\"name\">tableController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"configurationsArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationsArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationsArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"diagramView\">XDDiagramView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramView\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDDiagramView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelDiagramEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"addEntityButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"addPropertyButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"browserDiagramSegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"configurationViewController\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"entityContentsViewController\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"fetchRequestViewController\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t<string key=\"hierarchySegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addEntityButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addEntityButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addPropertyButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addPropertyButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserDiagramSegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityContentsViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityContentsViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchRequestViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchRequestViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"hierarchySegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">hierarchySegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"browserViewController\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"diagramViewController\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">browserViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEntityContentsEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"entityController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">IDECapsuleListView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelFetchRequestEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"arrayController\">IDEDMArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesColumn\">NSTableColumn</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"propertyNameAndImageCell\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"arrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">arrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTableColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"propertyNameAndImageCell\">\n\t\t\t\t\t\t\t<string key=\"name\">propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelPropertiesTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"getDocSetAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showProblemInfoForUpdate:\">id</string>\n\t\t\t\t\t\t<string key=\"subscribeToPublisherAction:\">id</string>\n\t\t\t\t\t\t<string key=\"unsubscribeFromPublisher:\">id</string>\n\t\t\t\t\t\t<string key=\"updateDocSetAction:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"getDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">getDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showProblemInfoForUpdate:\">\n\t\t\t\t\t\t\t<string key=\"name\">showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscribeToPublisherAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unsubscribeFromPublisher:\">\n\t\t\t\t\t\t\t<string key=\"name\">unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"updateDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">updateDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDocSetOutlineView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocViewingPrefPaneController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addSubscription:\">id</string>\n\t\t\t\t\t\t<string key=\"checkForAndInstallUpdatesNow:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeComboBoxAction:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeEnabledAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showHelp:\">id</string>\n\t\t\t\t\t\t<string key=\"showSubscriptionSheet:\">id</string>\n\t\t\t\t\t\t<string key=\"subscriptionCancelAction:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleAutoCheckForAndInstallUpdates:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleDocSetInfo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addSubscription:\">\n\t\t\t\t\t\t\t<string key=\"name\">addSubscription:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"checkForAndInstallUpdatesNow:\">\n\t\t\t\t\t\t\t<string key=\"name\">checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeComboBoxAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeEnabledAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showHelp:\">\n\t\t\t\t\t\t\t<string key=\"name\">showHelp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showSubscriptionSheet:\">\n\t\t\t\t\t\t\t<string key=\"name\">showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscriptionCancelAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleAutoCheckForAndInstallUpdates:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleDocSetInfo:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleDocSetInfo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"_addButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_deleteButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_showInfoAreaButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_splitView\">NSSplitView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetInfoSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetsListSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"borderedViewAroundSplitView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"borderedViewBelowTable\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"checkAndInstallNowButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"docSetInfoTextView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"docSetOutlineViewController\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeControl\">NSComboBox</string>\n\t\t\t\t\t\t<string key=\"noUpdatesAvailableMessage\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"showInfoButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"subscriptionTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"subscriptionWindow\">NSWindow</string>\n\t\t\t\t\t\t<string key=\"validateAddSubscriptionButton\">NSButton</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_addButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_addButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_deleteButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_deleteButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_showInfoAreaButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_showInfoAreaButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetInfoSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetsListSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewAroundSplitView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewBelowTable\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewBelowTable</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"checkAndInstallNowButton\">\n\t\t\t\t\t\t\t<string key=\"name\">checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetInfoTextView\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetInfoTextView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetOutlineViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"minimumFontSizeControl\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSComboBox</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"noUpdatesAvailableMessage\">\n\t\t\t\t\t\t\t<string key=\"name\">noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"showInfoButton\">\n\t\t\t\t\t\t\t<string key=\"name\">showInfoButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"validateAddSubscriptionButton\">\n\t\t\t\t\t\t\t<string key=\"name\">validateAddSubscriptionButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocViewingPrefPaneController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IKImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"crop:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"crop:\">\n\t\t\t\t\t\t\t<string key=\"name\">crop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IKImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"printDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"revertDocumentToSaved:\">id</string>\n\t\t\t\t\t\t<string key=\"runPageLayout:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentAs:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentTo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"printDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"revertDocumentToSaved:\">\n\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"runPageLayout:\">\n\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentAs:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentTo:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QLPreviewBubble</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"hide:\">id</string>\n\t\t\t\t\t\t<string key=\"show:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"hide:\">\n\t\t\t\t\t\t\t<string key=\"name\">hide:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"show:\">\n\t\t\t\t\t\t\t<string key=\"name\">show:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">parentWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QLPreviewBubble.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QTMovieView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"showAll:\">id</string>\n\t\t\t\t\t\t<string key=\"showCustomButton:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleLoops:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">showAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showCustomButton:\">\n\t\t\t\t\t\t\t<string key=\"name\">showCustomButton:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleLoops:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleLoops:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QTMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"reloadFromOrigin:\">id</string>\n\t\t\t\t\t\t<string key=\"resetPageZoom:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"reloadFromOrigin:\">\n\t\t\t\t\t\t\t<string key=\"name\">reloadFromOrigin:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"resetPageZoom:\">\n\t\t\t\t\t\t\t<string key=\"name\">resetPageZoom:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/WebView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDDiagramView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"_graphLayouterMenuItemAction:\">id</string>\n\t\t\t\t\t\t<string key=\"_zoomPopUpButtonAction:\">id</string>\n\t\t\t\t\t\t<string key=\"alignBottomEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersHorizontallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersVerticallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignHorizontalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"alignLeftEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignRightEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignTopEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignVerticalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"bringToFront:\">id</string>\n\t\t\t\t\t\t<string key=\"collapseAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteBackward:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteForward:\">id</string>\n\t\t\t\t\t\t<string key=\"deselectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomOut:\">id</string>\n\t\t\t\t\t\t<string key=\"expandAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"flipHorizontally:\">id</string>\n\t\t\t\t\t\t<string key=\"flipVertically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsConcentrically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsHierarchically:\">id</string>\n\t\t\t\t\t\t<string key=\"lock:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameHeight:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameWidth:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDown:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDownAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeft:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeftAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRight:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRightAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUp:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUpAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"rollDownAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"rollUpAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sendToBack:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeToFit:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleGridShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleHiddenGraphicsShown:\">id</string>\n\t\t\t\t\t\t<string key=\"togglePageBreaksShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleRuler:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleSnapsToGrid:\">id</string>\n\t\t\t\t\t\t<string key=\"unlock:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_graphLayouterMenuItemAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_zoomPopUpButtonAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignBottomEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignBottomEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersHorizontallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersVerticallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignHorizontalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignLeftEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignLeftEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignRightEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignRightEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignTopEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignTopEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignVerticalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignVerticalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"bringToFront:\">\n\t\t\t\t\t\t\t<string key=\"name\">bringToFront:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"collapseAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">collapseAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteBackward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteBackward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteForward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteForward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deselectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">deselectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"expandAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">expandAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipHorizontally:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipHorizontally:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipVertically:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipVertically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsConcentrically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsHierarchically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"lock:\">\n\t\t\t\t\t\t\t<string key=\"name\">lock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameHeight:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameHeight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameWidth:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameWidth:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDown:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDownAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeft:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeft:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeftAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRight:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRightAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUp:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUpAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollDownAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollUpAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sendToBack:\">\n\t\t\t\t\t\t\t<string key=\"name\">sendToBack:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleGridShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleGridShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleHiddenGraphicsShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"togglePageBreaksShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleRuler:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleRuler:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleSnapsToGrid:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unlock:\">\n\t\t\t\t\t\t\t<string key=\"name\">unlock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">_diagramController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDDiagramView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">showAllTableColumns:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"applicationShouldTerminate:\">id</string>\n\t\t\t\t\t\t<string key=\"applicationWillFinishLaunching:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationShouldTerminate:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationWillFinishLaunching:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{9, 8}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{7, 2}</string>\n\t\t</dictionary>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger/main.m",
    "content": "//\n//  main.m\n//  DispatchQueueLogger\n//\n//  Created by Robbie Hanson on 11/8/11.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t6C0CB644C6FBBF326C858694 /* Pods_DispatchQueueLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34AE39EEA9C8B9858728928B /* Pods_DispatchQueueLogger.framework */; };\n\t\tDC25B76B146A0294000F32F4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC25B76A146A0294000F32F4 /* Cocoa.framework */; };\n\t\tDC25B775146A0294000F32F4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC25B773146A0294000F32F4 /* InfoPlist.strings */; };\n\t\tDC25B777146A0294000F32F4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC25B776146A0294000F32F4 /* main.m */; };\n\t\tDC25B77B146A0294000F32F4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC25B779146A0294000F32F4 /* Credits.rtf */; };\n\t\tDC25B77E146A0294000F32F4 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC25B77D146A0294000F32F4 /* AppDelegate.m */; };\n\t\tDC25B781146A0295000F32F4 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC25B77F146A0295000F32F4 /* MainMenu.xib */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t34AE39EEA9C8B9858728928B /* Pods_DispatchQueueLogger.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DispatchQueueLogger.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t51D61C8163D9C3EEE6E65B5D /* Pods-DispatchQueueLogger.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-DispatchQueueLogger.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-DispatchQueueLogger/Pods-DispatchQueueLogger.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tAC351034D34455BFC6DE47FA /* Pods-DispatchQueueLogger.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-DispatchQueueLogger.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-DispatchQueueLogger/Pods-DispatchQueueLogger.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tDC25B766146A0294000F32F4 /* DispatchQueueLogger.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DispatchQueueLogger.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC25B76A146A0294000F32F4 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC25B76D146A0294000F32F4 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC25B76E146A0294000F32F4 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC25B76F146A0294000F32F4 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC25B772146A0294000F32F4 /* DispatchQueueLogger-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"DispatchQueueLogger-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC25B774146A0294000F32F4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC25B776146A0294000F32F4 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC25B778146A0294000F32F4 /* DispatchQueueLogger-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"DispatchQueueLogger-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC25B77A146A0294000F32F4 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC25B77C146A0294000F32F4 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC25B77D146A0294000F32F4 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC25B780146A0295000F32F4 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC25B763146A0294000F32F4 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC25B76B146A0294000F32F4 /* Cocoa.framework in Frameworks */,\n\t\t\t\t6C0CB644C6FBBF326C858694 /* Pods_DispatchQueueLogger.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tC391BC96BDD419AEF5EBD1BC /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t51D61C8163D9C3EEE6E65B5D /* Pods-DispatchQueueLogger.debug.xcconfig */,\n\t\t\t\tAC351034D34455BFC6DE47FA /* Pods-DispatchQueueLogger.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC25B75B146A0294000F32F4 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC25B770146A0294000F32F4 /* DispatchQueueLogger */,\n\t\t\t\tDC25B769146A0294000F32F4 /* Frameworks */,\n\t\t\t\tDC25B767146A0294000F32F4 /* Products */,\n\t\t\t\tC391BC96BDD419AEF5EBD1BC /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC25B767146A0294000F32F4 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC25B766146A0294000F32F4 /* DispatchQueueLogger.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC25B769146A0294000F32F4 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC25B76A146A0294000F32F4 /* Cocoa.framework */,\n\t\t\t\tDC25B76C146A0294000F32F4 /* Other Frameworks */,\n\t\t\t\t34AE39EEA9C8B9858728928B /* Pods_DispatchQueueLogger.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC25B76C146A0294000F32F4 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC25B76D146A0294000F32F4 /* AppKit.framework */,\n\t\t\t\tDC25B76E146A0294000F32F4 /* CoreData.framework */,\n\t\t\t\tDC25B76F146A0294000F32F4 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC25B770146A0294000F32F4 /* DispatchQueueLogger */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC25B77C146A0294000F32F4 /* AppDelegate.h */,\n\t\t\t\tDC25B77D146A0294000F32F4 /* AppDelegate.m */,\n\t\t\t\tDC25B77F146A0295000F32F4 /* MainMenu.xib */,\n\t\t\t\tDC25B771146A0294000F32F4 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = DispatchQueueLogger;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC25B771146A0294000F32F4 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC25B772146A0294000F32F4 /* DispatchQueueLogger-Info.plist */,\n\t\t\t\tDC25B773146A0294000F32F4 /* InfoPlist.strings */,\n\t\t\t\tDC25B776146A0294000F32F4 /* main.m */,\n\t\t\t\tDC25B778146A0294000F32F4 /* DispatchQueueLogger-Prefix.pch */,\n\t\t\t\tDC25B779146A0294000F32F4 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC25B765146A0294000F32F4 /* DispatchQueueLogger */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC25B784146A0295000F32F4 /* Build configuration list for PBXNativeTarget \"DispatchQueueLogger\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tF0AFBE38FEBB42B39C1F4340 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDC25B762146A0294000F32F4 /* Sources */,\n\t\t\t\tDC25B763146A0294000F32F4 /* Frameworks */,\n\t\t\t\tDC25B764146A0294000F32F4 /* Resources */,\n\t\t\t\t2669770F816F418BA7A68AA1 /* [CP] Copy Pods Resources */,\n\t\t\t\tD906ACB71564E9768CB2F7EC /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = DispatchQueueLogger;\n\t\t\tproductName = DispatchQueueLogger;\n\t\t\tproductReference = DC25B766146A0294000F32F4 /* DispatchQueueLogger.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC25B75D146A0294000F32F4 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC25B760146A0294000F32F4 /* Build configuration list for PBXProject \"DispatchQueueLogger\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC25B75B146A0294000F32F4;\n\t\t\tproductRefGroup = DC25B767146A0294000F32F4 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC25B765146A0294000F32F4 /* DispatchQueueLogger */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC25B764146A0294000F32F4 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC25B775146A0294000F32F4 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC25B77B146A0294000F32F4 /* Credits.rtf in Resources */,\n\t\t\t\tDC25B781146A0295000F32F4 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t2669770F816F418BA7A68AA1 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-DispatchQueueLogger/Pods-DispatchQueueLogger-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tD906ACB71564E9768CB2F7EC /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-DispatchQueueLogger/Pods-DispatchQueueLogger-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-DispatchQueueLogger/Pods-DispatchQueueLogger-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tF0AFBE38FEBB42B39C1F4340 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-DispatchQueueLogger-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC25B762146A0294000F32F4 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC25B777146A0294000F32F4 /* main.m in Sources */,\n\t\t\t\tDC25B77E146A0294000F32F4 /* AppDelegate.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC25B773146A0294000F32F4 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC25B774146A0294000F32F4 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC25B779146A0294000F32F4 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC25B77A146A0294000F32F4 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC25B77F146A0295000F32F4 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC25B780146A0295000F32F4 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC25B782146A0295000F32F4 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC25B783146A0295000F32F4 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC25B785146A0295000F32F4 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 51D61C8163D9C3EEE6E65B5D /* Pods-DispatchQueueLogger.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"DispatchQueueLogger/DispatchQueueLogger-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"DispatchQueueLogger/DispatchQueueLogger-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC25B786146A0295000F32F4 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = AC351034D34455BFC6DE47FA /* Pods-DispatchQueueLogger.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"DispatchQueueLogger/DispatchQueueLogger-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"DispatchQueueLogger/DispatchQueueLogger-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC25B760146A0294000F32F4 /* Build configuration list for PBXProject \"DispatchQueueLogger\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC25B782146A0295000F32F4 /* Debug */,\n\t\t\t\tDC25B783146A0295000F32F4 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC25B784146A0295000F32F4 /* Build configuration list for PBXNativeTarget \"DispatchQueueLogger\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC25B785146A0295000F32F4 /* Debug */,\n\t\t\t\tDC25B786146A0295000F32F4 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC25B75D146A0294000F32F4 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/DispatchQueueLogger.xcodeproj/xcshareddata/xcschemes/DispatchQueueLogger.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DC25B765146A0294000F32F4\"\n               BuildableName = \"DispatchQueueLogger.app\"\n               BlueprintName = \"DispatchQueueLogger\"\n               ReferencedContainer = \"container:DispatchQueueLogger.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC25B765146A0294000F32F4\"\n            BuildableName = \"DispatchQueueLogger.app\"\n            BlueprintName = \"DispatchQueueLogger\"\n            ReferencedContainer = \"container:DispatchQueueLogger.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC25B765146A0294000F32F4\"\n            BuildableName = \"DispatchQueueLogger.app\"\n            BlueprintName = \"DispatchQueueLogger\"\n            ReferencedContainer = \"container:DispatchQueueLogger.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC25B765146A0294000F32F4\"\n            BuildableName = \"DispatchQueueLogger.app\"\n            BlueprintName = \"DispatchQueueLogger\"\n            ReferencedContainer = \"container:DispatchQueueLogger.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/DispatchQueueLogger/Podfile",
    "content": "\nproject 'DispatchQueueLogger'\nworkspace '../Demos'\n\ntarget :'DispatchQueueLogger' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">FineGrainedLogging</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">FineGrainedLogging</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About FineGrainedLogging</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide FineGrainedLogging</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit FineGrainedLogging</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">FineGrainedLogging Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">FineGrainedLogging</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">FineGrainedLoggingAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">FineGrainedLoggingAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">FineGrainedLoggingAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../FineGrainedLogging.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/FineGrainedLogging-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/FineGrainedLogging.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* FineGrainedLoggingAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* FineGrainedLoggingAppDelegate.m */; };\n\t\t82F49B560E1F3344AFE0304C /* Pods_FineGrainedLogging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F57E61DC05EBEF10A1A4E3CE /* Pods_FineGrainedLogging.framework */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tDC6C0E08119DC6C0008094FC /* TimerOne.m in Sources */ = {isa = PBXBuildFile; fileRef = DC6C0E07119DC6C0008094FC /* TimerOne.m */; };\n\t\tDC6C0E0C119DCED0008094FC /* TimerTwo.m in Sources */ = {isa = PBXBuildFile; fileRef = DC6C0E0B119DCED0008094FC /* TimerTwo.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t24E7C48FD5E5D4F4BB6F28D1 /* Pods-FineGrainedLogging.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-FineGrainedLogging.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-FineGrainedLogging/Pods-FineGrainedLogging.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* FineGrainedLoggingAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FineGrainedLoggingAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* FineGrainedLoggingAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FineGrainedLoggingAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* FineGrainedLogging_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FineGrainedLogging_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t8D1107310486CEB800E47090 /* FineGrainedLogging-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"FineGrainedLogging-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* FineGrainedLogging.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FineGrainedLogging.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC6C0E06119DC6C0008094FC /* TimerOne.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimerOne.h; sourceTree = \"<group>\"; };\n\t\tDC6C0E07119DC6C0008094FC /* TimerOne.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TimerOne.m; sourceTree = \"<group>\"; };\n\t\tDC6C0E09119DC7E7008094FC /* MYLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYLog.h; sourceTree = \"<group>\"; };\n\t\tDC6C0E0A119DCED0008094FC /* TimerTwo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimerTwo.h; sourceTree = \"<group>\"; };\n\t\tDC6C0E0B119DCED0008094FC /* TimerTwo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TimerTwo.m; sourceTree = \"<group>\"; };\n\t\tE179038D69F40DAAC1DEE791 /* Pods-FineGrainedLogging.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-FineGrainedLogging.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-FineGrainedLogging/Pods-FineGrainedLogging.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tF57E61DC05EBEF10A1A4E3CE /* Pods_FineGrainedLogging.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FineGrainedLogging.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\t82F49B560E1F3344AFE0304C /* Pods_FineGrainedLogging.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC6C0E09119DC7E7008094FC /* MYLog.h */,\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* FineGrainedLoggingAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* FineGrainedLoggingAppDelegate.m */,\n\t\t\t\tDC6C0E06119DC6C0008094FC /* TimerOne.h */,\n\t\t\t\tDC6C0E07119DC6C0008094FC /* TimerOne.m */,\n\t\t\t\tDC6C0E0A119DCED0008094FC /* TimerTwo.h */,\n\t\t\t\tDC6C0E0B119DCED0008094FC /* TimerTwo.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t0D55DA2817FBFB1BE0E9C235 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE179038D69F40DAAC1DEE791 /* Pods-FineGrainedLogging.debug.xcconfig */,\n\t\t\t\t24E7C48FD5E5D4F4BB6F28D1 /* Pods-FineGrainedLogging.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* FineGrainedLogging.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* FineGrainedLogging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\t0D55DA2817FBFB1BE0E9C235 /* Pods */,\n\t\t\t);\n\t\t\tname = FineGrainedLogging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* FineGrainedLogging_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* FineGrainedLogging-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t\tF57E61DC05EBEF10A1A4E3CE /* Pods_FineGrainedLogging.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* FineGrainedLogging */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"FineGrainedLogging\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tA6E741C5168D4170BC5F9930 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t\t8068EDD50A2240EAAE0068F0 /* [CP] Copy Pods Resources */,\n\t\t\t\tAF3D4D7C4FE5482627AED381 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = FineGrainedLogging;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = FineGrainedLogging;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* FineGrainedLogging.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"FineGrainedLogging\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* FineGrainedLogging */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* FineGrainedLogging */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t8068EDD50A2240EAAE0068F0 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-FineGrainedLogging/Pods-FineGrainedLogging-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tA6E741C5168D4170BC5F9930 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-FineGrainedLogging-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tAF3D4D7C4FE5482627AED381 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-FineGrainedLogging/Pods-FineGrainedLogging-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-FineGrainedLogging/Pods-FineGrainedLogging-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* FineGrainedLoggingAppDelegate.m in Sources */,\n\t\t\t\tDC6C0E08119DC6C0008094FC /* TimerOne.m in Sources */,\n\t\t\t\tDC6C0E0C119DCED0008094FC /* TimerTwo.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = E179038D69F40DAAC1DEE791 /* Pods-FineGrainedLogging.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = FineGrainedLogging_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"FineGrainedLogging-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = FineGrainedLogging;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 24E7C48FD5E5D4F4BB6F28D1 /* Pods-FineGrainedLogging.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = FineGrainedLogging_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"FineGrainedLogging-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = FineGrainedLogging;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"FineGrainedLogging\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"FineGrainedLogging\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/FineGrainedLogging.xcodeproj/xcshareddata/xcschemes/FineGrainedLogging.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n               BuildableName = \"FineGrainedLogging.app\"\n               BlueprintName = \"FineGrainedLogging\"\n               ReferencedContainer = \"container:FineGrainedLogging.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"FineGrainedLogging.app\"\n            BlueprintName = \"FineGrainedLogging\"\n            ReferencedContainer = \"container:FineGrainedLogging.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"FineGrainedLogging.app\"\n            BlueprintName = \"FineGrainedLogging\"\n            ReferencedContainer = \"container:FineGrainedLogging.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"FineGrainedLogging.app\"\n            BlueprintName = \"FineGrainedLogging\"\n            ReferencedContainer = \"container:FineGrainedLogging.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/FineGrainedLoggingAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class TimerOne;\n@class TimerTwo;\n\n\n@interface FineGrainedLoggingAppDelegate : NSObject <NSApplicationDelegate>\n{\n    TimerOne *timerOne;\n    TimerTwo *timerTwo;\n    \n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/FineGrainedLoggingAppDelegate.m",
    "content": "#import \"FineGrainedLoggingAppDelegate.h\"\n\n#import \"MYLog.h\"\n\n#import \"TimerOne.h\"\n#import \"TimerTwo.h\"\n\n@implementation FineGrainedLoggingAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    [DDLog addLogger:[DDASLLogger sharedInstance] withLevel:DDLogLevelVerbose | LOG_FLAG_TIMERS];\n    [DDLog addLogger:[DDTTYLogger sharedInstance] withLevel:DDLogLevelVerbose | LOG_FLAG_TIMERS];\n    \n    timerOne = [[TimerOne alloc] init];\n    timerTwo = [[TimerTwo alloc] init];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/FineGrainedLogging_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'FineGrainedLogging' target in the 'FineGrainedLogging' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/MYLog.h",
    "content": "#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// The first 4 bits are being used by the standard levels (0 - 3) \n// All other bits are fair game for us to use.\n\n#define LOG_FLAG_FOOD_TIMER  (1 << 5) // 0...0100000\n#define LOG_FLAG_SLEEP_TIMER (1 << 6) // 0...1000000\n\n#define DDLogFoodTimer(frmt, ...)  LOG_MAYBE(YES, ddLogLevel, LOG_FLAG_FOOD_TIMER,  0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n#define DDLogSleepTimer(frmt, ...) LOG_MAYBE(YES, ddLogLevel, LOG_FLAG_SLEEP_TIMER, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n// Now we decide which flags we want to enable in our application\n\n#define LOG_FLAG_TIMERS (LOG_FLAG_FOOD_TIMER | LOG_FLAG_SLEEP_TIMER)\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/Podfile",
    "content": "\nproject 'FineGrainedLogging'\nworkspace '../Demos'\n\ntarget :'FineGrainedLogging' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/ReadMe.txt",
    "content": "This Xcode project demonstrates fine grained logging.  The Lumberjack framework supports much more than simple log levels.  For example, you might want to categorize your log statements according to functionality.  This would allow you to toggle log statements according to the modules you are currently developing.  For example:\n\nDDLogEngine(@\"Low oil\");\nDDLogRadio(@\"Switching to FM2\");\n\nIt could even be more advanced than this. You might have log levels within the separate log statements.  For example:\n\nDDLogEngineWarn(@\"Low oil\");\nDDLogRadioVerbose(@\"Switching to FM2\");\n\nThen you could change log levels per module.\n\nAs you can see, the framework is very flexible. Each project may have different logging requirements, and you can customize the framework to match your needs.\n\nThis particular project demonstrates adding two new log statements based on functionality. They represent hypothetical timers which are critical to the application. The implementation of these timers also spans across multiple files, so there is a need to have central control over the log statements.\n\nFor more information, see the Wiki article:\nhttps://github.com/CocoaLumberjack/CocoaLumberjack/wiki/FineGrainedLogging\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/TimerOne.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n\n@interface TimerOne : NSObject\n{\n    NSTimer *foodTimer;\n    NSTimer *sleepTimer;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/TimerOne.m",
    "content": "#import \"TimerOne.h\"\n#import \"MYLog.h\"\n\n// Debug levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose | LOG_FLAG_TIMERS;\n\n\n@implementation TimerOne\n\n- (id)init\n{\n    if ((self = [super init]))\n    {\n        DDLogVerbose(@\"TimerOne: Creating timers...\");\n        \n        foodTimer = [NSTimer scheduledTimerWithTimeInterval:2.0\n                                                      target:self\n                                                    selector:@selector(foodTimerDidFire:)\n                                                    userInfo:nil\n                                                     repeats:YES];\n        \n        sleepTimer = [NSTimer scheduledTimerWithTimeInterval:6.0\n                                                       target:self\n                                                     selector:@selector(sleepTimerDidFire:)\n                                                     userInfo:nil\n                                                      repeats:YES];\n    }\n    return self;\n}\n\n- (void)foodTimerDidFire:(NSTimer *)aTimer\n{\n    DDLogFoodTimer(@\"TimerOne: Hungry - Need Food\");\n}\n\n- (void)sleepTimerDidFire:(NSTimer *)aTimer\n{\n    DDLogSleepTimer(@\"TimerOne: Tired - Need Sleep\");\n}\n\n- (void)dealloc\n{\n    DDLogVerbose(@\"TimerOne: dealloc\");\n    \n    [foodTimer invalidate];\n    \n    [sleepTimer invalidate];\n    \n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/TimerTwo.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n\n@interface TimerTwo : NSObject\n{\n    NSTimer *foodTimer;\n    NSTimer *sleepTimer;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/TimerTwo.m",
    "content": "#import \"TimerTwo.h\"\n#import \"MYLog.h\"\n\n// Debug levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose | LOG_FLAG_TIMERS;\n\n\n@implementation TimerTwo\n\n- (id)init\n{\n    if ((self = [super init]))\n    {\n        DDLogVerbose(@\"TimerTwo: Creating timers...\");\n        \n        foodTimer = [NSTimer scheduledTimerWithTimeInterval:10.0\n                                                      target:self\n                                                    selector:@selector(foodTimerDidFire:)\n                                                    userInfo:nil\n                                                     repeats:YES];\n        \n        sleepTimer = [NSTimer scheduledTimerWithTimeInterval:30.0\n                                                       target:self\n                                                     selector:@selector(sleepTimerDidFire:)\n                                                     userInfo:nil\n                                                      repeats:YES];\n    }\n    return self;\n}\n\n- (void)foodTimerDidFire:(NSTimer *)aTimer\n{\n    DDLogFoodTimer(@\"TimerTwo: Hungry - Need Food\");\n}\n\n- (void)sleepTimerDidFire:(NSTimer *)aTimer\n{\n    DDLogSleepTimer(@\"TimerTwo: Tired - Need Sleep\");\n}\n\n- (void)dealloc\n{\n    DDLogVerbose(@\"TimerTwo: dealloc\");\n    \n    [foodTimer invalidate];\n    \n    [sleepTimer invalidate];\n    \n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/FineGrainedLogging/main.m",
    "content": "//\n//  main.m\n//  FineGrainedLogging\n//\n//  Created by Robbie Hanson on 5/14/10.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">GlobalLogLevel</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">GlobalLogLevel</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About GlobalLogLevel</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide GlobalLogLevel</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit GlobalLogLevel</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">GlobalLogLevel Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">GlobalLogLevel</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">GlobalLogLevelAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">GlobalLogLevelAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">GlobalLogLevelAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../GlobalLogLevel.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/GlobalLogLevel-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/GlobalLogLevel.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* GlobalLogLevelAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* GlobalLogLevelAppDelegate.m */; };\n\t\t2DF0AD43B72F4AA1224A32EB /* Pods_GlobalLogLevel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AED4D2C69FB9EB775480769 /* Pods_GlobalLogLevel.framework */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tDCEF891E131CB83F0010EB18 /* Stuff.m in Sources */ = {isa = PBXBuildFile; fileRef = DCEF891D131CB83F0010EB18 /* Stuff.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t1E8B70601DE0D8DD447C121B /* Pods-GlobalLogLevel.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-GlobalLogLevel.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-GlobalLogLevel/Pods-GlobalLogLevel.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* GlobalLogLevelAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlobalLogLevelAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* GlobalLogLevelAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GlobalLogLevelAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* GlobalLogLevel_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlobalLogLevel_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t4B943CC6DD56FE387B50EFB4 /* Pods-GlobalLogLevel.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-GlobalLogLevel.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-GlobalLogLevel/Pods-GlobalLogLevel.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t8AED4D2C69FB9EB775480769 /* Pods_GlobalLogLevel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GlobalLogLevel.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8D1107310486CEB800E47090 /* GlobalLogLevel-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"GlobalLogLevel-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* GlobalLogLevel.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GlobalLogLevel.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCEF891B131CB8350010EB18 /* MyLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyLogging.h; sourceTree = \"<group>\"; };\n\t\tDCEF891C131CB83F0010EB18 /* Stuff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Stuff.h; sourceTree = \"<group>\"; };\n\t\tDCEF891D131CB83F0010EB18 /* Stuff.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Stuff.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\t2DF0AD43B72F4AA1224A32EB /* Pods_GlobalLogLevel.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCEF891B131CB8350010EB18 /* MyLogging.h */,\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* GlobalLogLevelAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* GlobalLogLevelAppDelegate.m */,\n\t\t\t\tDCEF891C131CB83F0010EB18 /* Stuff.h */,\n\t\t\t\tDCEF891D131CB83F0010EB18 /* Stuff.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* GlobalLogLevel.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* GlobalLogLevel */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\t67397237A0D87AA0DB5235C9 /* Pods */,\n\t\t\t);\n\t\t\tname = GlobalLogLevel;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* GlobalLogLevel_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* GlobalLogLevel-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t\t8AED4D2C69FB9EB775480769 /* Pods_GlobalLogLevel.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t67397237A0D87AA0DB5235C9 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1E8B70601DE0D8DD447C121B /* Pods-GlobalLogLevel.debug.xcconfig */,\n\t\t\t\t4B943CC6DD56FE387B50EFB4 /* Pods-GlobalLogLevel.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* GlobalLogLevel */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"GlobalLogLevel\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t0D23B4B62D464BDFBE5E1C81 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t\tDC44A39793E940CA97F6EE5A /* [CP] Copy Pods Resources */,\n\t\t\t\t0FCD5C57BF6544B6C603AAF9 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = GlobalLogLevel;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = GlobalLogLevel;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* GlobalLogLevel.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"GlobalLogLevel\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* GlobalLogLevel */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* GlobalLogLevel */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t0D23B4B62D464BDFBE5E1C81 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-GlobalLogLevel-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t0FCD5C57BF6544B6C603AAF9 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-GlobalLogLevel/Pods-GlobalLogLevel-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-GlobalLogLevel/Pods-GlobalLogLevel-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tDC44A39793E940CA97F6EE5A /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-GlobalLogLevel/Pods-GlobalLogLevel-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* GlobalLogLevelAppDelegate.m in Sources */,\n\t\t\t\tDCEF891E131CB83F0010EB18 /* Stuff.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 1E8B70601DE0D8DD447C121B /* Pods-GlobalLogLevel.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = GlobalLogLevel_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"GlobalLogLevel-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = GlobalLogLevel;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 4B943CC6DD56FE387B50EFB4 /* Pods-GlobalLogLevel.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = GlobalLogLevel_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"GlobalLogLevel-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = GlobalLogLevel;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"GlobalLogLevel\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"GlobalLogLevel\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/GlobalLogLevel.xcodeproj/xcshareddata/xcschemes/GlobalLogLevel.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n               BuildableName = \"GlobalLogLevel.app\"\n               BlueprintName = \"GlobalLogLevel\"\n               ReferencedContainer = \"container:GlobalLogLevel.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"GlobalLogLevel.app\"\n            BlueprintName = \"GlobalLogLevel\"\n            ReferencedContainer = \"container:GlobalLogLevel.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"GlobalLogLevel.app\"\n            BlueprintName = \"GlobalLogLevel\"\n            ReferencedContainer = \"container:GlobalLogLevel.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"GlobalLogLevel.app\"\n            BlueprintName = \"GlobalLogLevel\"\n            ReferencedContainer = \"container:GlobalLogLevel.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/GlobalLogLevelAppDelegate.h",
    "content": "//\n//  GlobalLogLevelAppDelegate.h\n//  GlobalLogLevel\n//\n//  Created by Robbie Hanson on 2/28/11.\n//  Copyright 2011 Voalte. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\n@interface GlobalLogLevelAppDelegate : NSObject <NSApplicationDelegate> {\n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/GlobalLogLevelAppDelegate.m",
    "content": "#import \"GlobalLogLevelAppDelegate.h\"\n#import \"Stuff.h\"\n#import \"MyLogging.h\"\n\nDDLogLevel ddLogLevel;\n\n@implementation GlobalLogLevelAppDelegate\n\n@synthesize window;\n\nvoid someFunction()\n{\n    DDLogError(@\"%@: C_Error\", THIS_FILE);\n    DDLogWarn(@\"%@: C_Warn\", THIS_FILE);\n    DDLogInfo(@\"%@: C_Info\", THIS_FILE);\n    DDLogVerbose(@\"%@: C_Verbose\", THIS_FILE);\n}\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    ddLogLevel = DDLogLevelVerbose;\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    DDLogError(@\"%@: Error\", THIS_FILE);\n    DDLogWarn(@\"%@: Warn\", THIS_FILE);\n    DDLogInfo(@\"%@: Info\", THIS_FILE);\n    DDLogVerbose(@\"%@: Verbose\", THIS_FILE);\n    \n    someFunction();\n    \n    ddLogLevel = DDLogLevelWarning;\n    \n    [Stuff doStuff];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/GlobalLogLevel_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'GlobalLogLevel' target in the 'GlobalLogLevel' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/MyLogging.h",
    "content": "#import <CocoaLumberjack/CocoaLumberjack.h>\n\nextern DDLogLevel ddLogLevel;\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/Podfile",
    "content": "\nproject 'GlobalLogLevel'\nworkspace '../Demos'\n\ntarget :'GlobalLogLevel' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/Stuff.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n\n@interface Stuff : NSObject {\n\n}\n\n+ (void)doStuff;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/Stuff.m",
    "content": "#import \"Stuff.h\"\n#import \"MyLogging.h\"\n\n\n@implementation Stuff\n\n+ (void)doStuff\n{\n    DDLogError(@\"%@: Error\", THIS_FILE);\n    DDLogWarn(@\"%@: Warn\", THIS_FILE);\n    DDLogInfo(@\"%@: Info\", THIS_FILE);\n    DDLogVerbose(@\"%@: Verbose\", THIS_FILE);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/GlobalLogLevel/main.m",
    "content": "//\n//  main.m\n//  GlobalLogLevel\n//\n//  Created by Robbie Hanson on 2/28/11.\n//  Copyright 2011 Voalte. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/CompressingLogFileManager.h",
    "content": "#import <Foundation/Foundation.h>\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n\n@interface CompressingLogFileManager : DDLogFileManagerDefault\n{\n    BOOL upToDate;\n    BOOL isCompressing;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/CompressingLogFileManager.m",
    "content": "#import \"CompressingLogFileManager.h\"\n#import <zlib.h>\n\n// We probably shouldn't be using DDLog() statements within the DDLog implementation.\n// But we still want to leave our log statements for any future debugging,\n// and to allow other developers to trace the implementation (which is a great learning tool).\n// \n// So we use primitive logging macros around NSLog.\n// We maintain the NS prefix on the macros to be explicit about the fact that we're using NSLog.\n\n#define LOG_LEVEL 4\n\n#define NSLogError(frmt, ...)    do{ if(LOG_LEVEL >= 1) NSLog(frmt, ##__VA_ARGS__); } while(0)\n#define NSLogWarn(frmt, ...)     do{ if(LOG_LEVEL >= 2) NSLog(frmt, ##__VA_ARGS__); } while(0)\n#define NSLogInfo(frmt, ...)     do{ if(LOG_LEVEL >= 3) NSLog(frmt, ##__VA_ARGS__); } while(0)\n#define NSLogVerbose(frmt, ...)  do{ if(LOG_LEVEL >= 4) NSLog(frmt, ##__VA_ARGS__); } while(0)\n\n@interface CompressingLogFileManager (/* Must be nameless for properties */)\n\n@property (readwrite) BOOL isCompressing;\n\n@end\n\n@interface DDLogFileInfo (Compressor)\n\n@property (nonatomic, readonly) BOOL isCompressed;\n\n- (NSString *)tempFilePathByAppendingPathExtension:(NSString *)newExt;\n- (NSString *)fileNameByAppendingPathExtension:(NSString *)newExt;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation CompressingLogFileManager\n\n@synthesize isCompressing;\n\n- (id)init\n{\n    return [self initWithLogsDirectory:nil];\n}\n\n- (id)initWithLogsDirectory:(NSString *)aLogsDirectory\n{\n    if ((self = [super initWithLogsDirectory:aLogsDirectory]))\n    {\n        upToDate = NO;\n        \n        // Check for any files that need to be compressed.\n        // But don't start right away.\n        // Wait for the app startup process to finish.\n        \n        [self performSelector:@selector(compressNextLogFile) withObject:nil afterDelay:5.0];\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(compressNextLogFile) object:nil];\n}\n\n- (void)compressLogFile:(DDLogFileInfo *)logFile\n{\n    self.isCompressing = YES;\n\n    CompressingLogFileManager* __weak weakSelf = self;\n    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{\n        [weakSelf backgroundThread_CompressLogFile:logFile];\n    });\n}\n\n- (void)compressNextLogFile\n{\n    if (self.isCompressing)\n    {\n        // We're already compressing a file.\n        // Wait until it's done to move onto the next file.\n        return;\n    }\n    \n    NSLogVerbose(@\"CompressingLogFileManager: compressNextLogFile\");\n    \n    upToDate = NO;\n    \n    NSArray *sortedLogFileInfos = [self sortedLogFileInfos];\n    \n    NSUInteger count = [sortedLogFileInfos count];\n    if (count == 0)\n    {\n        // Nothing to compress\n        upToDate = YES;\n        return;\n    }\n    \n    NSUInteger i = count;\n    while (i > 0)\n    {\n        DDLogFileInfo *logFileInfo = [sortedLogFileInfos objectAtIndex:(i - 1)];\n        \n        if (logFileInfo.isArchived && !logFileInfo.isCompressed)\n        {\n            [self compressLogFile:logFileInfo];\n            \n            break;\n        }\n        \n        i--;\n    }\n    \n    upToDate = YES;\n}\n\n- (void)compressionDidSucceed:(DDLogFileInfo *)logFile\n{\n    NSLogVerbose(@\"CompressingLogFileManager: compressionDidSucceed: %@\", logFile.fileName);\n    \n    self.isCompressing = NO;\n    \n    [self compressNextLogFile];\n}\n\n- (void)compressionDidFail:(DDLogFileInfo *)logFile\n{\n    NSLogWarn(@\"CompressingLogFileManager: compressionDidFail: %@\", logFile.fileName);\n    \n    self.isCompressing = NO;\n    \n    // We should try the compression again, but after a short delay.\n    // \n    // If the compression failed there is probably some filesystem issue,\n    // so flooding it with compression attempts is only going to make things worse.\n    \n    NSTimeInterval delay = (60 * 15); // 15 minutes\n    \n    [self performSelector:@selector(compressNextLogFile) withObject:nil afterDelay:delay];\n}\n\n- (void)didArchiveLogFile:(NSString *)logFilePath\n{\n    NSLogVerbose(@\"CompressingLogFileManager: didArchiveLogFile: %@\", [logFilePath lastPathComponent]);\n    \n    // If all other log files have been compressed,\n    // then we can get started right away.\n    // Otherwise we should just wait for the current compression process to finish.\n    \n    if (upToDate)\n    {\n        [self compressLogFile:[DDLogFileInfo logFileWithPath:logFilePath]];\n    }\n}\n\n- (void)didRollAndArchiveLogFile:(NSString *)logFilePath\n{\n    NSLogVerbose(@\"CompressingLogFileManager: didRollAndArchiveLogFile: %@\", [logFilePath lastPathComponent]);\n    \n    // If all other log files have been compressed,\n    // then we can get started right away.\n    // Otherwise we should just wait for the current compression process to finish.\n    \n    if (upToDate)\n    {\n        [self compressLogFile:[DDLogFileInfo logFileWithPath:logFilePath]];\n    }\n}\n\n- (void)backgroundThread_CompressLogFile:(DDLogFileInfo *)logFile\n{\n    @autoreleasepool {\n    \n    NSLogInfo(@\"CompressingLogFileManager: Compressing log file: %@\", logFile.fileName);\n    \n    // Steps:\n    //  1. Create a new file with the same fileName, but added \"gzip\" extension\n    //  2. Open the new file for writing (output file)\n    //  3. Open the given file for reading (input file)\n    //  4. Setup zlib for gzip compression\n    //  5. Read a chunk of the given file\n    //  6. Compress the chunk\n    //  7. Write the compressed chunk to the output file\n    //  8. Repeat steps 5 - 7 until the input file is exhausted\n    //  9. Close input and output file\n    // 10. Teardown zlib\n    \n    \n    // STEP 1\n    \n    NSString *inputFilePath = logFile.filePath;\n    \n    NSString *tempOutputFilePath = [logFile tempFilePathByAppendingPathExtension:@\"gz\"];\n    \n#if TARGET_OS_IPHONE\n    // We use the same protection as the original file.  This means that it has the same security characteristics.\n    // Also, if the app can run in the background, this means that it gets\n    // NSFileProtectionCompleteUntilFirstUserAuthentication so that we can do this compression even with the\n    // device locked.  c.f. DDFileLogger.doesAppRunInBackground.\n    NSString* protection = logFile.fileAttributes[NSFileProtectionKey];\n    NSDictionary* attributes = protection == nil ? nil : @{NSFileProtectionKey: protection};\n    [[NSFileManager defaultManager] createFileAtPath:tempOutputFilePath contents:nil attributes:attributes];\n#endif\n    \n    // STEP 2 & 3\n    \n    NSInputStream *inputStream = [NSInputStream inputStreamWithFileAtPath:inputFilePath];\n    NSOutputStream *outputStream = [NSOutputStream outputStreamToFileAtPath:tempOutputFilePath append:NO];\n    \n    [inputStream open];\n    [outputStream open];\n    \n    // STEP 4\n    \n    z_stream strm;\n    \n    // Zero out the structure before (to be safe) before we start using it\n    bzero(&strm, sizeof(strm));\n    \n    strm.zalloc = Z_NULL;\n    strm.zfree = Z_NULL;\n    strm.opaque = Z_NULL;\n    strm.total_out = 0;\n    \n    // Compresssion Levels:\n    //   Z_NO_COMPRESSION\n    //   Z_BEST_SPEED\n    //   Z_BEST_COMPRESSION\n    //   Z_DEFAULT_COMPRESSION\n    \n    deflateInit2(&strm, Z_DEFAULT_COMPRESSION, Z_DEFLATED, (15+16), 8, Z_DEFAULT_STRATEGY);\n    \n    // Prepare our variables for steps 5-7\n    // \n    // inputDataLength  : Total length of buffer that we will read file data into\n    // outputDataLength : Total length of buffer that zlib will output compressed bytes into\n    // \n    // Note: The output buffer can be smaller than the input buffer because the\n    //       compressed/output data is smaller than the file/input data (obviously).\n    // \n    // inputDataSize : The number of bytes in the input buffer that have valid data to be compressed.\n    // \n    // Imagine compressing a tiny file that is actually smaller than our inputDataLength.\n    // In this case only a portion of the input buffer would have valid file data.\n    // The inputDataSize helps represent the portion of the buffer that is valid.\n    // \n    // Imagine compressing a huge file, but consider what happens when we get to the very end of the file.\n    // The last read will likely only fill a portion of the input buffer.\n    // The inputDataSize helps represent the portion of the buffer that is valid.\n    \n    NSUInteger inputDataLength  = (1024 * 2);  // 2 KB\n    NSUInteger outputDataLength = (1024 * 1);  // 1 KB\n    \n    NSMutableData *inputData = [NSMutableData dataWithLength:inputDataLength];\n    NSMutableData *outputData = [NSMutableData dataWithLength:outputDataLength];\n    \n    NSUInteger inputDataSize = 0;\n    \n    BOOL done = YES;\n    NSError* error = nil;\n    do\n    {\n        @autoreleasepool {\n        \n        // STEP 5\n        // Read data from the input stream into our input buffer.\n        // \n        // inputBuffer : pointer to where we want the input stream to copy bytes into\n        // inputBufferLength : max number of bytes the input stream should read\n        // \n        // Recall that inputDataSize is the number of valid bytes that already exist in the\n        // input buffer that still need to be compressed.\n        // This value is usually zero, but may be larger if a previous iteration of the loop\n        // was unable to compress all the bytes in the input buffer.\n        // \n        // For example, imagine that we ready 2K worth of data from the file in the last loop iteration,\n        // but when we asked zlib to compress it all, zlib was only able to compress 1.5K of it.\n        // We would still have 0.5K leftover that still needs to be compressed.\n        // We want to make sure not to skip this important data.\n        // \n        // The [inputData mutableBytes] gives us a pointer to the beginning of the underlying buffer.\n        // When we add inputDataSize we get to the proper offset within the buffer\n        // at which our input stream can start copying bytes into without overwriting anything it shouldn't.\n        \n        const void *inputBuffer = [inputData mutableBytes] + inputDataSize;\n        NSUInteger inputBufferLength = inputDataLength - inputDataSize;\n        \n        NSInteger readLength = [inputStream read:(uint8_t *)inputBuffer maxLength:inputBufferLength];\n        if (readLength < 0) {\n            error = [inputStream streamError];\n            break;\n        }\n        \n        NSLogVerbose(@\"CompressingLogFileManager: Read %li bytes from file\", (long)readLength);\n        \n        inputDataSize += readLength;\n        \n        // STEP 6\n        // Ask zlib to compress our input buffer.\n        // Tell it to put the compressed bytes into our output buffer.\n        \n        strm.next_in = (Bytef *)[inputData mutableBytes];   // Read from input buffer\n        strm.avail_in = (uInt)inputDataSize;                // as much as was read from file (plus leftovers).\n        \n        strm.next_out = (Bytef *)[outputData mutableBytes]; // Write data to output buffer\n        strm.avail_out = (uInt)outputDataLength;            // as much space as is available in the buffer.\n        \n        // When we tell zlib to compress our data,\n        // it won't directly tell us how much data was processed.\n        // Instead it keeps a running total of the number of bytes it has processed.\n        // In other words, every iteration from the loop it increments its total values.\n        // So to figure out how much data was processed in this iteration,\n        // we fetch the totals before we ask it to compress data,\n        // and then afterwards we subtract from the new totals.\n        \n        NSInteger prevTotalIn = strm.total_in;\n        NSInteger prevTotalOut = strm.total_out;\n        \n        int flush = [inputStream hasBytesAvailable] ? Z_SYNC_FLUSH : Z_FINISH;\n        deflate(&strm, flush);\n        \n        NSInteger inputProcessed = strm.total_in - prevTotalIn;\n        NSInteger outputProcessed = strm.total_out - prevTotalOut;\n        \n        NSLogVerbose(@\"CompressingLogFileManager: Total bytes uncompressed: %lu\", (unsigned long)strm.total_in);\n        NSLogVerbose(@\"CompressingLogFileManager: Total bytes compressed: %lu\", (unsigned long)strm.total_out);\n        NSLogVerbose(@\"CompressingLogFileManager: Compression ratio: %.1f%%\",\n                     (1.0F - (float)(strm.total_out) / (float)(strm.total_in)) * 100);\n        \n        // STEP 7\n        // Now write all compressed bytes to our output stream.\n        // \n        // It is theoretically possible that the write operation doesn't write everything we ask it to.\n        // Although this is highly unlikely, we take precautions.\n        // Also, we watch out for any errors (maybe the disk is full).\n        \n        NSUInteger totalWriteLength = 0;\n        NSInteger writeLength = 0;\n        \n        do\n        {\n            const void *outputBuffer = [outputData mutableBytes] + totalWriteLength;\n            NSUInteger outputBufferLength = outputProcessed - totalWriteLength;\n            \n            writeLength = [outputStream write:(const uint8_t *)outputBuffer maxLength:outputBufferLength];\n            \n            if (writeLength < 0)\n            {\n                error = [outputStream streamError];\n            }\n            else\n            {\n                totalWriteLength += writeLength;\n            }\n            \n        } while((totalWriteLength < outputProcessed) && !error);\n        \n        // STEP 7.5\n        // \n        // We now have data in our input buffer that has already been compressed.\n        // We want to remove all the processed data from the input buffer,\n        // and we want to move any unprocessed data to the beginning of the buffer.\n        // \n        // If the amount processed is less than the valid buffer size, we have leftovers.\n        \n        NSUInteger inputRemaining = inputDataSize - inputProcessed;\n        if (inputRemaining > 0)\n        {\n            void *inputDst = [inputData mutableBytes];\n            void *inputSrc = [inputData mutableBytes] + inputProcessed;\n            \n            memmove(inputDst, inputSrc, inputRemaining);\n        }\n        \n        inputDataSize = inputRemaining;\n        \n        // Are we done yet?\n        \n        done = ((flush == Z_FINISH) && (inputDataSize == 0));\n        \n        // STEP 8\n        // Loop repeats until end of data (or unlikely error)\n        \n        } // end @autoreleasepool\n        \n    } while (!done && error == nil);\n    \n    // STEP 9\n    \n    [inputStream close];\n    [outputStream close];\n    \n    // STEP 10\n    \n    deflateEnd(&strm);\n    \n    // We're done!\n    // Report success or failure back to the logging thread/queue.\n    \n    if (error)\n    {\n        // Remove output file.\n        // Our compression attempt failed.\n\n        NSLogError(@\"Compression of %@ failed: %@\", inputFilePath, error);\n        error = nil;\n        BOOL ok = [[NSFileManager defaultManager] removeItemAtPath:tempOutputFilePath error:&error];\n        if (!ok)\n            NSLogError(@\"Failed to clean up %@ after failed compression: %@\", tempOutputFilePath, error);\n        \n        // Report failure to class via logging thread/queue\n        \n        dispatch_async([DDLog loggingQueue], ^{ @autoreleasepool {\n            \n            [self compressionDidFail:logFile];\n        }});\n    }\n    else\n    {\n        // Remove original input file.\n        // It will be replaced with the new compressed version.\n\n        error = nil;\n        BOOL ok = [[NSFileManager defaultManager] removeItemAtPath:inputFilePath error:&error];\n        if (!ok)\n            NSLogWarn(@\"Warning: failed to remove original file %@ after compression: %@\", inputFilePath, error);\n        \n        // Mark the compressed file as archived,\n        // and then move it into its final destination.\n        // \n        // temp-log-ABC123.txt.gz -> log-ABC123.txt.gz\n        // \n        // The reason we were using the \"temp-\" prefix was so the file would not be\n        // considered a log file while it was only partially complete.\n        // Only files that begin with \"log-\" are considered log files.\n        \n        DDLogFileInfo *compressedLogFile = [DDLogFileInfo logFileWithPath:tempOutputFilePath];\n        compressedLogFile.isArchived = YES;\n        \n        NSString *outputFileName = [logFile fileNameByAppendingPathExtension:@\"gz\"];\n        [compressedLogFile renameFile:outputFileName];\n        \n        // Report success to class via logging thread/queue\n        \n        dispatch_async([DDLog loggingQueue], ^{ @autoreleasepool {\n            \n            [self compressionDidSucceed:compressedLogFile];\n        }});\n    }\n    \n    } // end @autoreleasepool\n}\n                 \n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation DDLogFileInfo (Compressor)\n\n@dynamic isCompressed;\n\n- (BOOL)isCompressed\n{\n    return [[[self fileName] pathExtension] isEqualToString:@\"gz\"];\n}\n\n- (NSString *)tempFilePathByAppendingPathExtension:(NSString *)newExt\n{\n    // Example:\n    // \n    // Current File Name: \"/full/path/to/log-ABC123.txt\"\n    // \n    // newExt: \"gzip\"\n    // result: \"/full/path/to/temp-log-ABC123.txt.gzip\"\n    \n    NSString *tempFileName = [NSString stringWithFormat:@\"temp-%@\", [self fileName]];\n    \n    NSString *newFileName = [tempFileName stringByAppendingPathExtension:newExt];\n    \n    NSString *fileDir = [[self filePath] stringByDeletingLastPathComponent];\n    \n    NSString *newFilePath = [fileDir stringByAppendingPathComponent:newFileName];\n    \n    return newFilePath;\n}\n\n\n- (NSString *)fileNameByAppendingPathExtension:(NSString *)newExt\n{\n    // Example:\n    // \n    // Current File Name: \"log-ABC123.txt\"\n    // \n    // newExt: \"gzip\"\n    // result: \"log-ABC123.txt.gzip\"\n    \n    NSString *fileNameExtension = [[self fileName] pathExtension];\n    \n    if ([fileNameExtension isEqualToString:newExt])\n    {\n        return [self fileName];\n    }\n    \n    return [[self fileName] stringByAppendingPathExtension:newExt];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">LogFileCompressor</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">LogFileCompressor</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About LogFileCompressor</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide LogFileCompressor</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit LogFileCompressor</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">LogFileCompressor Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">LogFileCompressor</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">LogFileCompressorAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">LogFileCompressorAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">LogFileCompressorAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../LogFileCompressor.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/LogFileCompressor-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/LogFileCompressor.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* LogFileCompressorAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* LogFileCompressorAppDelegate.m */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tDC9F20D711AB90C80047759A /* CompressingLogFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DC9F20D611AB90C80047759A /* CompressingLogFileManager.m */; };\n\t\tDC9F20E511AB91450047759A /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DC9F20E411AB91450047759A /* libz.dylib */; };\n\t\tF3D8884999DD815B54083D0D /* Pods_LogFileCompressor.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37DD1CE309EDCBBDFBFBC0D7 /* Pods_LogFileCompressor.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* LogFileCompressorAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFileCompressorAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* LogFileCompressorAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LogFileCompressorAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* LogFileCompressor_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogFileCompressor_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t37DD1CE309EDCBBDFBFBC0D7 /* Pods_LogFileCompressor.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LogFileCompressor.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8D1107310486CEB800E47090 /* LogFileCompressor-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"LogFileCompressor-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* LogFileCompressor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LogFileCompressor.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tB9BE38AA9CCD40F05BB881D7 /* Pods-LogFileCompressor.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-LogFileCompressor.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-LogFileCompressor/Pods-LogFileCompressor.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tC47E5E2D3ACB5F42DC604586 /* Pods-LogFileCompressor.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-LogFileCompressor.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-LogFileCompressor/Pods-LogFileCompressor.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tDC9F20D511AB90C80047759A /* CompressingLogFileManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CompressingLogFileManager.h; sourceTree = \"<group>\"; };\n\t\tDC9F20D611AB90C80047759A /* CompressingLogFileManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CompressingLogFileManager.m; sourceTree = \"<group>\"; };\n\t\tDC9F20E411AB91450047759A /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = \"compiled.mach-o.dylib\"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\tDC9F20E511AB91450047759A /* libz.dylib in Frameworks */,\n\t\t\t\tF3D8884999DD815B54083D0D /* Pods_LogFileCompressor.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* LogFileCompressorAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* LogFileCompressorAppDelegate.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t\tDC9F20E411AB91450047759A /* libz.dylib */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* LogFileCompressor.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* LogFileCompressor */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC9F20D011AB909A0047759A /* Compressor */,\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\t953D5805401E8EED9DA153D3 /* Pods */,\n\t\t\t);\n\t\t\tname = LogFileCompressor;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* LogFileCompressor_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* LogFileCompressor-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t\t37DD1CE309EDCBBDFBFBC0D7 /* Pods_LogFileCompressor.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t953D5805401E8EED9DA153D3 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tB9BE38AA9CCD40F05BB881D7 /* Pods-LogFileCompressor.debug.xcconfig */,\n\t\t\t\tC47E5E2D3ACB5F42DC604586 /* Pods-LogFileCompressor.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC9F20D011AB909A0047759A /* Compressor */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC9F20D511AB90C80047759A /* CompressingLogFileManager.h */,\n\t\t\t\tDC9F20D611AB90C80047759A /* CompressingLogFileManager.m */,\n\t\t\t);\n\t\t\tname = Compressor;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* LogFileCompressor */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"LogFileCompressor\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t1D7F8D95C849443C9DECA805 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t\t04ACD886B71642A2A575EE07 /* [CP] Copy Pods Resources */,\n\t\t\t\t217801A837E4691B2BF36EFF /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = LogFileCompressor;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = LogFileCompressor;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* LogFileCompressor.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"LogFileCompressor\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* LogFileCompressor */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* LogFileCompressor */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t04ACD886B71642A2A575EE07 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-LogFileCompressor/Pods-LogFileCompressor-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t1D7F8D95C849443C9DECA805 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-LogFileCompressor-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t217801A837E4691B2BF36EFF /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-LogFileCompressor/Pods-LogFileCompressor-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-LogFileCompressor/Pods-LogFileCompressor-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* LogFileCompressorAppDelegate.m in Sources */,\n\t\t\t\tDC9F20D711AB90C80047759A /* CompressingLogFileManager.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = B9BE38AA9CCD40F05BB881D7 /* Pods-LogFileCompressor.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = LogFileCompressor_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"LogFileCompressor-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = LogFileCompressor;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = C47E5E2D3ACB5F42DC604586 /* Pods-LogFileCompressor.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = LogFileCompressor_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"LogFileCompressor-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = LogFileCompressor;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"LogFileCompressor\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"LogFileCompressor\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/LogFileCompressor.xcodeproj/xcshareddata/xcschemes/LogFileCompressor.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n               BuildableName = \"LogFileCompressor.app\"\n               BlueprintName = \"LogFileCompressor\"\n               ReferencedContainer = \"container:LogFileCompressor.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"LogFileCompressor.app\"\n            BlueprintName = \"LogFileCompressor\"\n            ReferencedContainer = \"container:LogFileCompressor.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"LogFileCompressor.app\"\n            BlueprintName = \"LogFileCompressor\"\n            ReferencedContainer = \"container:LogFileCompressor.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"LogFileCompressor.app\"\n            BlueprintName = \"LogFileCompressor\"\n            ReferencedContainer = \"container:LogFileCompressor.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/LogFileCompressorAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class DDFileLogger;\n\n\n@interface LogFileCompressorAppDelegate : NSObject <NSApplicationDelegate>\n{\n    DDFileLogger *fileLogger;\n    \n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/LogFileCompressorAppDelegate.m",
    "content": "#import \"LogFileCompressorAppDelegate.h\"\n\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"CompressingLogFileManager.h\"\n\n// Debug levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation LogFileCompressorAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    CompressingLogFileManager *logFileManager = [[CompressingLogFileManager alloc] init];\n    \n    fileLogger = [[DDFileLogger alloc] initWithLogFileManager:logFileManager];\n    \n    fileLogger.maximumFileSize  = 1024 * 1;  // 1 KB\n    fileLogger.rollingFrequency =   60 * 1;  // 1 Minute\n    \n    fileLogger.logFileManager.maximumNumberOfLogFiles = 4;\n    \n    [DDLog addLogger:[DDASLLogger sharedInstance]];\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    [DDLog addLogger:fileLogger];\n    \n    [NSTimer scheduledTimerWithTimeInterval:1.0\n                                     target:self\n                                   selector:@selector(writeLogMessages:)\n                                   userInfo:nil\n                                    repeats:YES];\n}\n\n- (void)writeLogMessages:(NSTimer *)aTimer\n{\n    DDLogVerbose(@\"I like cheese\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/LogFileCompressor_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'LogFileCompressor' target in the 'LogFileCompressor' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/Podfile",
    "content": "\nproject 'LogFileCompressor'\nworkspace '../Demos'\n\ntarget :'LogFileCompressor' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/ReadMe.txt",
    "content": "This Xcode project demonstrates compressing archived log files.  This is done by creating a custom DDLogFileManager, which is part of the DDFileLogger.\n\nFor more information, see the Wiki article:\nhttps://github.com/CocoaLumberjack/CocoaLumberjack/wiki/LogFileManagement\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/LogFileCompressor/main.m",
    "content": "//\n//  main.m\n//  LogFileCompressor\n//\n//  Created by Robbie Hanson on 5/25/10.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  NonArcTest\n//\n//  Created by Robbie Hanson on 11/9/11.\n//\n\n#import <Cocoa/Cocoa.h>\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n\n@property (assign) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// Log levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n\n- (void)dealloc\n{\n    [super dealloc];\n}\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    [DDLog addLogger:[DDASLLogger sharedInstance]];\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    DDLogVerbose(@\"Testing\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest/NonArcTest-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest/NonArcTest-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'NonArcTest' target in the 'NonArcTest' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11A511</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1920</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">566.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1920</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">NonArcTest</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">NonArcTest</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About NonArcTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide NonArcTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit NonArcTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">NonArcTest Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">NonArcTest</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">535</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addCardViewField:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"doDelete:\">id</string>\n\t\t\t\t\t\t<string key=\"find:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"saveChanges:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addCardViewField:\">\n\t\t\t\t\t\t\t<string key=\"name\">addCardViewField:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"doDelete:\">\n\t\t\t\t\t\t\t<string key=\"name\">doDelete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"find:\">\n\t\t\t\t\t\t\t<string key=\"name\">find:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveChanges:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveChanges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mCardView\">ABCardView</string>\n\t\t\t\t\t\t<string key=\"mEditButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"mManagedObjectContext\">NSManagedObjectContext</string>\n\t\t\t\t\t\t<string key=\"mSearchField\">NSSearchField</string>\n\t\t\t\t\t\t<string key=\"mStatusTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"mWindow\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mCardView\">\n\t\t\t\t\t\t\t<string key=\"name\">mCardView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABCardView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mEditButton\">\n\t\t\t\t\t\t\t<string key=\"name\">mEditButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mManagedObjectContext\">\n\t\t\t\t\t\t\t<string key=\"name\">mManagedObjectContext</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSManagedObjectContext</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mSearchField\">\n\t\t\t\t\t\t\t<string key=\"name\">mSearchField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSearchField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mStatusTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">mStatusTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">mWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"commitAndSave:\">id</string>\n\t\t\t\t\t\t<string key=\"statusImageClicked:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"commitAndSave:\">\n\t\t\t\t\t\t\t<string key=\"name\">commitAndSave:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"statusImageClicked:\">\n\t\t\t\t\t\t\t<string key=\"name\">statusImageClicked:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mBuddyStatusImage\">NSImageView</string>\n\t\t\t\t\t\t<string key=\"mHeaderView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mNameView\">ABNameFrameView</string>\n\t\t\t\t\t\t<string key=\"mNextKeyView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mUserImage\">NSImage</string>\n\t\t\t\t\t\t<string key=\"mUserImageView\">ABImageView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mBuddyStatusImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mBuddyStatusImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mHeaderView\">\n\t\t\t\t\t\t\t<string key=\"name\">mHeaderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNameView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNameView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABNameFrameView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNextKeyView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNextKeyView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImage</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImageView\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImageView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABImageView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTAutoLayoutView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTAutoLayoutView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTBorderedView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">contentView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTBorderedView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTDelayedMenuButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTDelayedMenuButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTGradientImageButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTGradientImageButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTextFieldCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextColumn</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableColumn</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextColumn.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTSplitView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSSplitView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTSplitView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTStackView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTStackView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFRepresenterTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFRepresenterTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IBEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"changeFont:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeSelectionToFit:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"changeFont:\">\n\t\t\t\t\t\t\t<string key=\"name\">changeFont:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeSelectionToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeSelectionToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IBEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDECapsuleListView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTStackView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">dataSource</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDECapsuleListView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMArrayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSArrayController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMArrayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"bottomToolbarBorderView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"sourceListSplitViewPane\">NSView</string>\n\t\t\t\t\t\t<string key=\"sourceListViewController\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t<string key=\"splitView\">DVTSplitView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"bottomToolbarBorderView\">\n\t\t\t\t\t\t\t<string key=\"name\">bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListSplitViewPane\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"borderedView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDMEditor</string>\n\t\t\t\t\t\t<string key=\"primaryColumn\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t<string key=\"sourceListOutlineView\">DVTOutlineView</string>\n\t\t\t\t\t\t<string key=\"sourceListTreeController\">NSTreeController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"primaryColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">primaryColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListOutlineView\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListTreeController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListTreeController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorSourceListController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTImageAndTextCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMHighlightImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"attributesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"capsuleView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"fetchedPropertiesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"relationshipsTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"attributesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">attributesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchedPropertiesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"relationshipsTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">relationshipsTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelBrowserEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"capsuleListView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableController\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleListView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleListView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableController\">\n\t\t\t\t\t\t\t<string key=\"name\">tableController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"configurationsArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationsArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationsArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"diagramView\">XDDiagramView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramView\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDDiagramView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelDiagramEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"addEntityButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"addPropertyButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"browserDiagramSegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"configurationViewController\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"entityContentsViewController\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"fetchRequestViewController\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t<string key=\"hierarchySegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addEntityButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addEntityButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addPropertyButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addPropertyButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserDiagramSegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityContentsViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityContentsViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchRequestViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchRequestViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"hierarchySegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">hierarchySegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"browserViewController\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"diagramViewController\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">browserViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEntityContentsEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"entityController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">IDECapsuleListView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelFetchRequestEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"arrayController\">IDEDMArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesColumn\">NSTableColumn</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"propertyNameAndImageCell\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"arrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">arrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTableColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"propertyNameAndImageCell\">\n\t\t\t\t\t\t\t<string key=\"name\">propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelPropertiesTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"getDocSetAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showProblemInfoForUpdate:\">id</string>\n\t\t\t\t\t\t<string key=\"subscribeToPublisherAction:\">id</string>\n\t\t\t\t\t\t<string key=\"unsubscribeFromPublisher:\">id</string>\n\t\t\t\t\t\t<string key=\"updateDocSetAction:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"getDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">getDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showProblemInfoForUpdate:\">\n\t\t\t\t\t\t\t<string key=\"name\">showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscribeToPublisherAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unsubscribeFromPublisher:\">\n\t\t\t\t\t\t\t<string key=\"name\">unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"updateDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">updateDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDocSetOutlineView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocViewingPrefPaneController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addSubscription:\">id</string>\n\t\t\t\t\t\t<string key=\"checkForAndInstallUpdatesNow:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeComboBoxAction:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeEnabledAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showHelp:\">id</string>\n\t\t\t\t\t\t<string key=\"showSubscriptionSheet:\">id</string>\n\t\t\t\t\t\t<string key=\"subscriptionCancelAction:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleAutoCheckForAndInstallUpdates:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleDocSetInfo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addSubscription:\">\n\t\t\t\t\t\t\t<string key=\"name\">addSubscription:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"checkForAndInstallUpdatesNow:\">\n\t\t\t\t\t\t\t<string key=\"name\">checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeComboBoxAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeEnabledAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showHelp:\">\n\t\t\t\t\t\t\t<string key=\"name\">showHelp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showSubscriptionSheet:\">\n\t\t\t\t\t\t\t<string key=\"name\">showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscriptionCancelAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleAutoCheckForAndInstallUpdates:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleDocSetInfo:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleDocSetInfo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"_addButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_deleteButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_showInfoAreaButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_splitView\">NSSplitView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetInfoSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetsListSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"borderedViewAroundSplitView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"borderedViewBelowTable\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"checkAndInstallNowButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"docSetInfoTextView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"docSetOutlineViewController\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeControl\">NSComboBox</string>\n\t\t\t\t\t\t<string key=\"noUpdatesAvailableMessage\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"showInfoButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"subscriptionTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"subscriptionWindow\">NSWindow</string>\n\t\t\t\t\t\t<string key=\"validateAddSubscriptionButton\">NSButton</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_addButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_addButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_deleteButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_deleteButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_showInfoAreaButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_showInfoAreaButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetInfoSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetsListSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewAroundSplitView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewBelowTable\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewBelowTable</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"checkAndInstallNowButton\">\n\t\t\t\t\t\t\t<string key=\"name\">checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetInfoTextView\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetInfoTextView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetOutlineViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"minimumFontSizeControl\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSComboBox</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"noUpdatesAvailableMessage\">\n\t\t\t\t\t\t\t<string key=\"name\">noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"showInfoButton\">\n\t\t\t\t\t\t\t<string key=\"name\">showInfoButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"validateAddSubscriptionButton\">\n\t\t\t\t\t\t\t<string key=\"name\">validateAddSubscriptionButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocViewingPrefPaneController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IKImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"crop:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"crop:\">\n\t\t\t\t\t\t\t<string key=\"name\">crop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IKImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"printDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"revertDocumentToSaved:\">id</string>\n\t\t\t\t\t\t<string key=\"runPageLayout:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentAs:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentTo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"printDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"revertDocumentToSaved:\">\n\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"runPageLayout:\">\n\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentAs:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentTo:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QLPreviewBubble</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"hide:\">id</string>\n\t\t\t\t\t\t<string key=\"show:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"hide:\">\n\t\t\t\t\t\t\t<string key=\"name\">hide:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"show:\">\n\t\t\t\t\t\t\t<string key=\"name\">show:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">parentWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QLPreviewBubble.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QTMovieView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"showAll:\">id</string>\n\t\t\t\t\t\t<string key=\"showCustomButton:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleLoops:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">showAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showCustomButton:\">\n\t\t\t\t\t\t\t<string key=\"name\">showCustomButton:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleLoops:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleLoops:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QTMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"reloadFromOrigin:\">id</string>\n\t\t\t\t\t\t<string key=\"resetPageZoom:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"reloadFromOrigin:\">\n\t\t\t\t\t\t\t<string key=\"name\">reloadFromOrigin:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"resetPageZoom:\">\n\t\t\t\t\t\t\t<string key=\"name\">resetPageZoom:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/WebView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDDiagramView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"_graphLayouterMenuItemAction:\">id</string>\n\t\t\t\t\t\t<string key=\"_zoomPopUpButtonAction:\">id</string>\n\t\t\t\t\t\t<string key=\"alignBottomEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersHorizontallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersVerticallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignHorizontalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"alignLeftEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignRightEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignTopEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignVerticalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"bringToFront:\">id</string>\n\t\t\t\t\t\t<string key=\"collapseAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteBackward:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteForward:\">id</string>\n\t\t\t\t\t\t<string key=\"deselectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomOut:\">id</string>\n\t\t\t\t\t\t<string key=\"expandAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"flipHorizontally:\">id</string>\n\t\t\t\t\t\t<string key=\"flipVertically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsConcentrically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsHierarchically:\">id</string>\n\t\t\t\t\t\t<string key=\"lock:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameHeight:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameWidth:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDown:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDownAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeft:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeftAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRight:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRightAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUp:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUpAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"rollDownAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"rollUpAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sendToBack:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeToFit:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleGridShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleHiddenGraphicsShown:\">id</string>\n\t\t\t\t\t\t<string key=\"togglePageBreaksShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleRuler:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleSnapsToGrid:\">id</string>\n\t\t\t\t\t\t<string key=\"unlock:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_graphLayouterMenuItemAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_zoomPopUpButtonAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignBottomEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignBottomEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersHorizontallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersVerticallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignHorizontalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignLeftEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignLeftEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignRightEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignRightEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignTopEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignTopEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignVerticalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignVerticalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"bringToFront:\">\n\t\t\t\t\t\t\t<string key=\"name\">bringToFront:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"collapseAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">collapseAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteBackward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteBackward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteForward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteForward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deselectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">deselectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"expandAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">expandAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipHorizontally:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipHorizontally:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipVertically:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipVertically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsConcentrically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsHierarchically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"lock:\">\n\t\t\t\t\t\t\t<string key=\"name\">lock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameHeight:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameHeight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameWidth:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameWidth:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDown:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDownAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeft:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeft:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeftAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRight:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRightAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUp:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUpAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollDownAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollUpAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sendToBack:\">\n\t\t\t\t\t\t\t<string key=\"name\">sendToBack:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleGridShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleGridShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleHiddenGraphicsShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"togglePageBreaksShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleRuler:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleRuler:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleSnapsToGrid:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unlock:\">\n\t\t\t\t\t\t\t<string key=\"name\">unlock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">_diagramController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDDiagramView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">showAllTableColumns:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"applicationShouldTerminate:\">id</string>\n\t\t\t\t\t\t<string key=\"applicationWillFinishLaunching:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationShouldTerminate:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationWillFinishLaunching:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{9, 8}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{7, 2}</string>\n\t\t</dictionary>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest/main.m",
    "content": "//\n//  main.m\n//  NonArcTest\n//\n//  Created by Robbie Hanson on 11/9/11.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tC4241A83DE1A2C4ED312F208 /* Pods_NonArcTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 419C108CDFD7B9F1493AD068 /* Pods_NonArcTest.framework */; };\n\t\tDCA67DEF146B531D003411EE /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCA67DEE146B531D003411EE /* Cocoa.framework */; };\n\t\tDCA67DF9146B531D003411EE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DCA67DF7146B531D003411EE /* InfoPlist.strings */; };\n\t\tDCA67DFB146B531D003411EE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DFA146B531D003411EE /* main.m */; };\n\t\tDCA67DFF146B531D003411EE /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DCA67DFD146B531D003411EE /* Credits.rtf */; };\n\t\tDCA67E02146B531E003411EE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67E01146B531E003411EE /* AppDelegate.m */; };\n\t\tDCA67E05146B531E003411EE /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCA67E03146B531E003411EE /* MainMenu.xib */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t419C108CDFD7B9F1493AD068 /* Pods_NonArcTest.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NonArcTest.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t73588C7819855AE94477DBD1 /* Pods-NonArcTest.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-NonArcTest.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-NonArcTest/Pods-NonArcTest.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tD435F5F11D7862454A848E55 /* Pods-NonArcTest.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-NonArcTest.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-NonArcTest/Pods-NonArcTest.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tDCA67DEA146B531D003411EE /* NonArcTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NonArcTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCA67DEE146B531D003411EE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDCA67DF1146B531D003411EE /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDCA67DF2146B531D003411EE /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDCA67DF3146B531D003411EE /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDCA67DF6146B531D003411EE /* NonArcTest-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"NonArcTest-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDCA67DF8146B531D003411EE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDCA67DFA146B531D003411EE /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDCA67DFC146B531D003411EE /* NonArcTest-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"NonArcTest-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDCA67DFE146B531D003411EE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDCA67E00146B531D003411EE /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDCA67E01146B531E003411EE /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDCA67E04146B531E003411EE /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDCA67DE7146B531D003411EE /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCA67DEF146B531D003411EE /* Cocoa.framework in Frameworks */,\n\t\t\t\tC4241A83DE1A2C4ED312F208 /* Pods_NonArcTest.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDCA67DDF146B531D003411EE = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DF4146B531D003411EE /* NonArcTest */,\n\t\t\t\tDCA67DED146B531D003411EE /* Frameworks */,\n\t\t\t\tDCA67DEB146B531D003411EE /* Products */,\n\t\t\t\tEE2B820735CD3D5313EBAA71 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DEB146B531D003411EE /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DEA146B531D003411EE /* NonArcTest.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DED146B531D003411EE /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DEE146B531D003411EE /* Cocoa.framework */,\n\t\t\t\tDCA67DF0146B531D003411EE /* Other Frameworks */,\n\t\t\t\t419C108CDFD7B9F1493AD068 /* Pods_NonArcTest.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DF0146B531D003411EE /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DF1146B531D003411EE /* AppKit.framework */,\n\t\t\t\tDCA67DF2146B531D003411EE /* CoreData.framework */,\n\t\t\t\tDCA67DF3146B531D003411EE /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DF4146B531D003411EE /* NonArcTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67E00146B531D003411EE /* AppDelegate.h */,\n\t\t\t\tDCA67E01146B531E003411EE /* AppDelegate.m */,\n\t\t\t\tDCA67E03146B531E003411EE /* MainMenu.xib */,\n\t\t\t\tDCA67DF5146B531D003411EE /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = NonArcTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DF5146B531D003411EE /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DF6146B531D003411EE /* NonArcTest-Info.plist */,\n\t\t\t\tDCA67DF7146B531D003411EE /* InfoPlist.strings */,\n\t\t\t\tDCA67DFA146B531D003411EE /* main.m */,\n\t\t\t\tDCA67DFC146B531D003411EE /* NonArcTest-Prefix.pch */,\n\t\t\t\tDCA67DFD146B531D003411EE /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tEE2B820735CD3D5313EBAA71 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t73588C7819855AE94477DBD1 /* Pods-NonArcTest.debug.xcconfig */,\n\t\t\t\tD435F5F11D7862454A848E55 /* Pods-NonArcTest.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDCA67DE9146B531D003411EE /* NonArcTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DCA67E08146B531E003411EE /* Build configuration list for PBXNativeTarget \"NonArcTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t57AAB2FE9257497AB04E31B6 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDCA67DE6146B531D003411EE /* Sources */,\n\t\t\t\tDCA67DE7146B531D003411EE /* Frameworks */,\n\t\t\t\tDCA67DE8146B531D003411EE /* Resources */,\n\t\t\t\t8241FE795A7C4F108AED0BFC /* [CP] Copy Pods Resources */,\n\t\t\t\t044326A82041199E29581CED /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = NonArcTest;\n\t\t\tproductName = NonArcTest;\n\t\t\tproductReference = DCA67DEA146B531D003411EE /* NonArcTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDCA67DE1146B531D003411EE /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = DCA67DE4146B531D003411EE /* Build configuration list for PBXProject \"NonArcTest\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DCA67DDF146B531D003411EE;\n\t\t\tproductRefGroup = DCA67DEB146B531D003411EE /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDCA67DE9146B531D003411EE /* NonArcTest */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDCA67DE8146B531D003411EE /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCA67DF9146B531D003411EE /* InfoPlist.strings in Resources */,\n\t\t\t\tDCA67DFF146B531D003411EE /* Credits.rtf in Resources */,\n\t\t\t\tDCA67E05146B531E003411EE /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t044326A82041199E29581CED /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-NonArcTest/Pods-NonArcTest-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-NonArcTest/Pods-NonArcTest-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t57AAB2FE9257497AB04E31B6 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-NonArcTest-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t8241FE795A7C4F108AED0BFC /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-NonArcTest/Pods-NonArcTest-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDCA67DE6146B531D003411EE /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCA67DFB146B531D003411EE /* main.m in Sources */,\n\t\t\t\tDCA67E02146B531E003411EE /* AppDelegate.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDCA67DF7146B531D003411EE /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DF8146B531D003411EE /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DFD146B531D003411EE /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DFE146B531D003411EE /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67E03146B531E003411EE /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67E04146B531E003411EE /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDCA67E06146B531E003411EE /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCA67E07146B531E003411EE /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCA67E09146B531E003411EE /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 73588C7819855AE94477DBD1 /* Pods-NonArcTest.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"NonArcTest/NonArcTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"NonArcTest/NonArcTest-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCA67E0A146B531E003411EE /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = D435F5F11D7862454A848E55 /* Pods-NonArcTest.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"NonArcTest/NonArcTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"NonArcTest/NonArcTest-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDCA67DE4146B531D003411EE /* Build configuration list for PBXProject \"NonArcTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCA67E06146B531E003411EE /* Debug */,\n\t\t\t\tDCA67E07146B531E003411EE /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCA67E08146B531E003411EE /* Build configuration list for PBXNativeTarget \"NonArcTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCA67E09146B531E003411EE /* Debug */,\n\t\t\t\tDCA67E0A146B531E003411EE /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DCA67DE1146B531D003411EE /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/NonArcTest.xcodeproj/xcshareddata/xcschemes/NonArcTest.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DCA67DE9146B531D003411EE\"\n               BuildableName = \"NonArcTest.app\"\n               BlueprintName = \"NonArcTest\"\n               ReferencedContainer = \"container:NonArcTest.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCA67DE9146B531D003411EE\"\n            BuildableName = \"NonArcTest.app\"\n            BlueprintName = \"NonArcTest\"\n            ReferencedContainer = \"container:NonArcTest.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCA67DE9146B531D003411EE\"\n            BuildableName = \"NonArcTest.app\"\n            BlueprintName = \"NonArcTest\"\n            ReferencedContainer = \"container:NonArcTest.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCA67DE9146B531D003411EE\"\n            BuildableName = \"NonArcTest.app\"\n            BlueprintName = \"NonArcTest\"\n            ReferencedContainer = \"container:NonArcTest.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/NonArcTest/Podfile",
    "content": "\nproject 'NonArcTest'\nworkspace '../Demos'\n\ntarget :'NonArcTest' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">OverflowTestMac</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">OverflowTestMac</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About OverflowTestMac</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide OverflowTestMac</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit OverflowTestMac</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">OverflowTestMac Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">OverflowTestMac</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">OverflowTestMacAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">OverflowTestMacAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">OverflowTestMacAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../OverflowTestMac.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/OverflowTestMac-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/OverflowTestMac.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* OverflowTestMacAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* OverflowTestMacAppDelegate.m */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tD6B3ACE8C581F304726EE6BB /* Pods_OverflowTestMac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 49ED682E457787138065CD7C /* Pods_OverflowTestMac.framework */; };\n\t\tDC01C2131199F39800B91CBD /* SlowLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC01C2121199F39800B91CBD /* SlowLogger.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t018B87D76A580328CF6F898C /* Pods-OverflowTestMac.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-OverflowTestMac.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-OverflowTestMac/Pods-OverflowTestMac.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t0EE4629C0CC26583DC5C42EE /* Pods-OverflowTestMac.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-OverflowTestMac.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-OverflowTestMac/Pods-OverflowTestMac.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* OverflowTestMacAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OverflowTestMacAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* OverflowTestMacAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OverflowTestMacAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* OverflowTestMac_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OverflowTestMac_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t49ED682E457787138065CD7C /* Pods_OverflowTestMac.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OverflowTestMac.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8D1107310486CEB800E47090 /* OverflowTestMac-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"OverflowTestMac-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* OverflowTestMac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OverflowTestMac.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC01C2111199F39800B91CBD /* SlowLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlowLogger.h; sourceTree = \"<group>\"; };\n\t\tDC01C2121199F39800B91CBD /* SlowLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SlowLogger.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\tD6B3ACE8C581F304726EE6BB /* Pods_OverflowTestMac.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* OverflowTestMacAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* OverflowTestMacAppDelegate.m */,\n\t\t\t\tDC01C2111199F39800B91CBD /* SlowLogger.h */,\n\t\t\t\tDC01C2121199F39800B91CBD /* SlowLogger.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* OverflowTestMac.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* OverflowTestMac */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\t882C7A044F7137EAD29E3D93 /* Pods */,\n\t\t\t);\n\t\t\tname = OverflowTestMac;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* OverflowTestMac_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* OverflowTestMac-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t\t49ED682E457787138065CD7C /* Pods_OverflowTestMac.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t882C7A044F7137EAD29E3D93 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t018B87D76A580328CF6F898C /* Pods-OverflowTestMac.debug.xcconfig */,\n\t\t\t\t0EE4629C0CC26583DC5C42EE /* Pods-OverflowTestMac.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* OverflowTestMac */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"OverflowTestMac\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tEA844D40087B4639BFF7D47B /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t\tD135E3DF319649DEB921161F /* [CP] Copy Pods Resources */,\n\t\t\t\tA42EF0E34B646D45C1B56162 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = OverflowTestMac;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = OverflowTestMac;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* OverflowTestMac.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"OverflowTestMac\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* OverflowTestMac */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* OverflowTestMac */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\tA42EF0E34B646D45C1B56162 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-OverflowTestMac/Pods-OverflowTestMac-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-OverflowTestMac/Pods-OverflowTestMac-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tD135E3DF319649DEB921161F /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-OverflowTestMac/Pods-OverflowTestMac-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tEA844D40087B4639BFF7D47B /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-OverflowTestMac-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* OverflowTestMacAppDelegate.m in Sources */,\n\t\t\t\tDC01C2131199F39800B91CBD /* SlowLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 018B87D76A580328CF6F898C /* Pods-OverflowTestMac.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = OverflowTestMac_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"OverflowTestMac-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = OverflowTestMac;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 0EE4629C0CC26583DC5C42EE /* Pods-OverflowTestMac.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = OverflowTestMac_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"OverflowTestMac-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = OverflowTestMac;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"OverflowTestMac\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"OverflowTestMac\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/OverflowTestMac.xcodeproj/xcshareddata/xcschemes/OverflowTestMac.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n               BuildableName = \"OverflowTestMac.app\"\n               BlueprintName = \"OverflowTestMac\"\n               ReferencedContainer = \"container:OverflowTestMac.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"OverflowTestMac.app\"\n            BlueprintName = \"OverflowTestMac\"\n            ReferencedContainer = \"container:OverflowTestMac.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"OverflowTestMac.app\"\n            BlueprintName = \"OverflowTestMac\"\n            ReferencedContainer = \"container:OverflowTestMac.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"OverflowTestMac.app\"\n            BlueprintName = \"OverflowTestMac\"\n            ReferencedContainer = \"container:OverflowTestMac.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/OverflowTestMacAppDelegate.h",
    "content": "//\n//  OverflowTestMacAppDelegate.h\n//  OverflowTestMac\n//\n//  Created by Robbie Hanson on 5/10/10.\n//\n\n#import <Cocoa/Cocoa.h>\n\n@interface OverflowTestMacAppDelegate : NSObject <NSApplicationDelegate> {\n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/OverflowTestMacAppDelegate.m",
    "content": "#import \"OverflowTestMacAppDelegate.h\"\n\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"SlowLogger.h\"\n\n// Debug levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation OverflowTestMacAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    // Since logging can be asynchronous, its possible for rogue threads to flood the logging queue.\n    // That is, to issue an abundance of log statements faster than the logging thread can keepup.\n    // Typically such a scenario occurs when log statements are added haphazardly within large loops,\n    // but may also be possible if relatively slow loggers are being used.\n    // \n    // Lumberjack has the ability to cap the queue size at a given number of outstanding log statements.\n    // If a thread attempts to issue a log statement when the queue is already maxed out,\n    // the issuing thread will block until the queue size drops below the max again.\n    // \n    // This Xcode project demonstrates this feature by using a \"Slow Logger\".\n    \n    NSLog(@\"How to use this test:\");\n    NSLog(@\"1. Set the DEBUG definition to YES in DDLog.m\");\n    NSLog(@\"2. Set the LOG_MAX_QUEUE_SIZE definition to 5 in DDLog.m\\n\\n\");\n    \n    SlowLogger *slowLogger = [[SlowLogger alloc] init];\n    [DDLog addLogger:slowLogger];\n    \n    [DDLog addLogger:[DDASLLogger sharedInstance]];\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    [NSThread detachNewThreadSelector:@selector(bgThread1) toTarget:self withObject:nil];\n    [NSThread detachNewThreadSelector:@selector(bgThread2) toTarget:self withObject:nil];\n    \n    NSLog(@\"mainThread\");\n    \n    for (int i = 0; i < 10; i++)\n    {\n        DDLogVerbose(@\"mainThread: %i\", i);\n    }\n    \n    [DDLog flushLog];\n}\n\n- (void)bgThread1\n{\n    @autoreleasepool {\n    \n        NSLog(@\"bgThread1\");\n        \n        for (int i = 0; i < 10; i++)\n        {\n            DDLogVerbose(@\"bgThread1 : %i\", i);\n        }\n    \n    }\n}\n\n- (void)bgThread2\n{\n    @autoreleasepool {\n    \n        NSLog(@\"bgThread2\");\n        \n        for (int i = 0; i < 10; i++)\n        {\n            DDLogVerbose(@\"bgThread2 : %i\", i);\n        }\n    \n    }\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/OverflowTestMac_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'OverflowTestMac' target in the 'OverflowTestMac' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/Podfile",
    "content": "\nproject 'OverflowTestMac'\nworkspace '../Demos'\n\ntarget :'OverflowTestMac' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/ReadMe.txt",
    "content": "This Xcode project demonstrates how the logging framework handles overflow.  That is, if asynchronous logging is enabled, and the application spits out log messages faster than the framework can process them, then what should the framework do?\n\nThe framework can optionally enforce a maximum queue size. This project tests this max queue size, and ensures the framework is properly enforcing it.\n\nDetailed information can be found in DDLog's queueLogMessage:: method.\n\nThis is a unit test project."
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/SlowLogger.h",
    "content": "#import <Foundation/Foundation.h>\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n\n@interface SlowLogger : DDAbstractLogger <DDLogger>\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/SlowLogger.m",
    "content": "#import \"SlowLogger.h\"\n\n\n@implementation SlowLogger\n\n- (void)logMessage:(DDLogMessage *)logMessage\n{\n    [NSThread sleepForTimeInterval:0.25];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/OverflowTestMac/main.m",
    "content": "//\n//  main.m\n//  OverflowTestMac\n//\n//  Created by Robbie Hanson on 5/10/10.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  PerUserLogLevels\n//\n//  Created by Robbie Hanson on 3/30/12.\n//\n\n#import <Cocoa/Cocoa.h>\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n\n@property (assign) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// The LumberjackUser header file is automatically generated by the LumberjackUser.bash script.\n// This script has been added as a build phase to the target.\n// The script gets executed before the files are compiled.\n// \n// When you compile it on your system, it will replace the line:\n//     \"#define robbie_hanson 1\"\n// with\n//     \"#define your_name 1\"\n//\n// This makes it easier to manage debug log levels while working in a team.\n// After all, everyone is working on different parts of the app.\n// So now everyone can just checkin their log levels, without affecting the debug output of others.\n#import \"LumberjackUser.h\"\n\n\n// Log levels: off, error, warn, info, verbose\n#if DEBUG && robbie_hanson\n  static const DDLogLevel ddLogLevel = DDLogLevelVerbose; // Log level for robbie (debug)\n#elif DEBUG\n  static const DDLogLevel ddLogLevel = DDLogLevelInfo;    // Log level for other team members (debug)\n#else\n  static const DDLogLevel ddLogLevel = DDLogLevelWarning; // Log level for release build\n#endif\n\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    DDLogVerbose(@\"Invoking machine_init_cold\");\n    DDLogInfo(@\"Waiting for machine to warm up...\");\n    DDLogWarn(@\"Toner is low\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels/PerUserLogLevels-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels/PerUserLogLevels-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'PerUserLogLevels' target in the 'PerUserLogLevels' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11C42</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1938</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.17</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">567.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1938</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">PerUserLogLevels</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">PerUserLogLevels</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About PerUserLogLevels</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide PerUserLogLevels</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit PerUserLogLevels</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">PerUserLogLevels Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">PerUserLogLevels</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">535</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addCardViewField:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"doDelete:\">id</string>\n\t\t\t\t\t\t<string key=\"find:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"saveChanges:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addCardViewField:\">\n\t\t\t\t\t\t\t<string key=\"name\">addCardViewField:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"doDelete:\">\n\t\t\t\t\t\t\t<string key=\"name\">doDelete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"find:\">\n\t\t\t\t\t\t\t<string key=\"name\">find:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveChanges:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveChanges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mCardView\">ABCardView</string>\n\t\t\t\t\t\t<string key=\"mEditButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"mManagedObjectContext\">NSManagedObjectContext</string>\n\t\t\t\t\t\t<string key=\"mSearchField\">NSSearchField</string>\n\t\t\t\t\t\t<string key=\"mStatusTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"mWindow\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mCardView\">\n\t\t\t\t\t\t\t<string key=\"name\">mCardView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABCardView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mEditButton\">\n\t\t\t\t\t\t\t<string key=\"name\">mEditButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mManagedObjectContext\">\n\t\t\t\t\t\t\t<string key=\"name\">mManagedObjectContext</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSManagedObjectContext</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mSearchField\">\n\t\t\t\t\t\t\t<string key=\"name\">mSearchField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSearchField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mStatusTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">mStatusTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">mWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"commitAndSave:\">id</string>\n\t\t\t\t\t\t<string key=\"statusImageClicked:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"commitAndSave:\">\n\t\t\t\t\t\t\t<string key=\"name\">commitAndSave:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"statusImageClicked:\">\n\t\t\t\t\t\t\t<string key=\"name\">statusImageClicked:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mBuddyStatusImage\">NSImageView</string>\n\t\t\t\t\t\t<string key=\"mHeaderView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mNameView\">ABNameFrameView</string>\n\t\t\t\t\t\t<string key=\"mNextKeyView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mUserImage\">NSImage</string>\n\t\t\t\t\t\t<string key=\"mUserImageView\">ABImageView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mBuddyStatusImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mBuddyStatusImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mHeaderView\">\n\t\t\t\t\t\t\t<string key=\"name\">mHeaderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNameView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNameView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABNameFrameView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNextKeyView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNextKeyView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImage</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImageView\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImageView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABImageView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTAutoLayoutView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTAutoLayoutView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTBorderedView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">contentView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTBorderedView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTDelayedMenuButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTDelayedMenuButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTGradientImageButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTGradientImageButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTextFieldCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextColumn</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableColumn</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextColumn.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTSplitView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSSplitView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTSplitView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTStackView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTStackView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFRepresenterTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFRepresenterTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IBEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"changeFont:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeSelectionToFit:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"changeFont:\">\n\t\t\t\t\t\t\t<string key=\"name\">changeFont:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeSelectionToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeSelectionToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IBEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDECapsuleListView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTStackView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">dataSource</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDECapsuleListView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMArrayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSArrayController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMArrayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"bottomToolbarBorderView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"sourceListSplitViewPane\">NSView</string>\n\t\t\t\t\t\t<string key=\"sourceListViewController\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t<string key=\"splitView\">DVTSplitView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"bottomToolbarBorderView\">\n\t\t\t\t\t\t\t<string key=\"name\">bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListSplitViewPane\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"borderedView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDMEditor</string>\n\t\t\t\t\t\t<string key=\"primaryColumn\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t<string key=\"sourceListOutlineView\">DVTOutlineView</string>\n\t\t\t\t\t\t<string key=\"sourceListTreeController\">NSTreeController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"primaryColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">primaryColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListOutlineView\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListTreeController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListTreeController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorSourceListController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTImageAndTextCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMHighlightImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"attributesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"capsuleView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"fetchedPropertiesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"relationshipsTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"attributesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">attributesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchedPropertiesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"relationshipsTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">relationshipsTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelBrowserEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"capsuleListView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableController\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleListView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleListView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableController\">\n\t\t\t\t\t\t\t<string key=\"name\">tableController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"configurationsArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationsArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationsArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"diagramView\">XDDiagramView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramView\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDDiagramView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelDiagramEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"addEntityButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"addPropertyButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"browserDiagramSegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"configurationViewController\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"entityContentsViewController\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"fetchRequestViewController\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t<string key=\"hierarchySegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addEntityButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addEntityButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addPropertyButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addPropertyButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserDiagramSegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityContentsViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityContentsViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchRequestViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchRequestViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"hierarchySegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">hierarchySegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"browserViewController\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"diagramViewController\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">browserViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEntityContentsEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"entityController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">IDECapsuleListView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelFetchRequestEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"arrayController\">IDEDMArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesColumn\">NSTableColumn</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"propertyNameAndImageCell\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"arrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">arrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTableColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"propertyNameAndImageCell\">\n\t\t\t\t\t\t\t<string key=\"name\">propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelPropertiesTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"getDocSetAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showProblemInfoForUpdate:\">id</string>\n\t\t\t\t\t\t<string key=\"subscribeToPublisherAction:\">id</string>\n\t\t\t\t\t\t<string key=\"unsubscribeFromPublisher:\">id</string>\n\t\t\t\t\t\t<string key=\"updateDocSetAction:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"getDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">getDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showProblemInfoForUpdate:\">\n\t\t\t\t\t\t\t<string key=\"name\">showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscribeToPublisherAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unsubscribeFromPublisher:\">\n\t\t\t\t\t\t\t<string key=\"name\">unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"updateDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">updateDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDocSetOutlineView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocViewingPrefPaneController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addSubscription:\">id</string>\n\t\t\t\t\t\t<string key=\"checkForAndInstallUpdatesNow:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeComboBoxAction:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeEnabledAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showHelp:\">id</string>\n\t\t\t\t\t\t<string key=\"showSubscriptionSheet:\">id</string>\n\t\t\t\t\t\t<string key=\"subscriptionCancelAction:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleAutoCheckForAndInstallUpdates:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleDocSetInfo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addSubscription:\">\n\t\t\t\t\t\t\t<string key=\"name\">addSubscription:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"checkForAndInstallUpdatesNow:\">\n\t\t\t\t\t\t\t<string key=\"name\">checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeComboBoxAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeEnabledAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showHelp:\">\n\t\t\t\t\t\t\t<string key=\"name\">showHelp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showSubscriptionSheet:\">\n\t\t\t\t\t\t\t<string key=\"name\">showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscriptionCancelAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleAutoCheckForAndInstallUpdates:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleDocSetInfo:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleDocSetInfo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"_addButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_deleteButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_showInfoAreaButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_splitView\">NSSplitView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetInfoSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetsListSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"borderedViewAroundSplitView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"borderedViewBelowTable\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"checkAndInstallNowButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"docSetInfoTextView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"docSetOutlineViewController\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeControl\">NSComboBox</string>\n\t\t\t\t\t\t<string key=\"noUpdatesAvailableMessage\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"showInfoButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"subscriptionTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"subscriptionWindow\">NSWindow</string>\n\t\t\t\t\t\t<string key=\"validateAddSubscriptionButton\">NSButton</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_addButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_addButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_deleteButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_deleteButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_showInfoAreaButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_showInfoAreaButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetInfoSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetsListSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewAroundSplitView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewBelowTable\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewBelowTable</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"checkAndInstallNowButton\">\n\t\t\t\t\t\t\t<string key=\"name\">checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetInfoTextView\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetInfoTextView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetOutlineViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"minimumFontSizeControl\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSComboBox</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"noUpdatesAvailableMessage\">\n\t\t\t\t\t\t\t<string key=\"name\">noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"showInfoButton\">\n\t\t\t\t\t\t\t<string key=\"name\">showInfoButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"validateAddSubscriptionButton\">\n\t\t\t\t\t\t\t<string key=\"name\">validateAddSubscriptionButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocViewingPrefPaneController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IKImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"crop:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"crop:\">\n\t\t\t\t\t\t\t<string key=\"name\">crop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IKImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"printDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"revertDocumentToSaved:\">id</string>\n\t\t\t\t\t\t<string key=\"runPageLayout:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentAs:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentTo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"printDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"revertDocumentToSaved:\">\n\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"runPageLayout:\">\n\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentAs:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentTo:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QLPreviewBubble</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"hide:\">id</string>\n\t\t\t\t\t\t<string key=\"show:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"hide:\">\n\t\t\t\t\t\t\t<string key=\"name\">hide:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"show:\">\n\t\t\t\t\t\t\t<string key=\"name\">show:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">parentWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QLPreviewBubble.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QTMovieView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"showAll:\">id</string>\n\t\t\t\t\t\t<string key=\"showCustomButton:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleLoops:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">showAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showCustomButton:\">\n\t\t\t\t\t\t\t<string key=\"name\">showCustomButton:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleLoops:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleLoops:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QTMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"reloadFromOrigin:\">id</string>\n\t\t\t\t\t\t<string key=\"resetPageZoom:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"reloadFromOrigin:\">\n\t\t\t\t\t\t\t<string key=\"name\">reloadFromOrigin:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"resetPageZoom:\">\n\t\t\t\t\t\t\t<string key=\"name\">resetPageZoom:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/WebView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDDiagramView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"_graphLayouterMenuItemAction:\">id</string>\n\t\t\t\t\t\t<string key=\"_zoomPopUpButtonAction:\">id</string>\n\t\t\t\t\t\t<string key=\"alignBottomEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersHorizontallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersVerticallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignHorizontalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"alignLeftEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignRightEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignTopEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignVerticalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"bringToFront:\">id</string>\n\t\t\t\t\t\t<string key=\"collapseAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteBackward:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteForward:\">id</string>\n\t\t\t\t\t\t<string key=\"deselectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomOut:\">id</string>\n\t\t\t\t\t\t<string key=\"expandAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"flipHorizontally:\">id</string>\n\t\t\t\t\t\t<string key=\"flipVertically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsConcentrically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsHierarchically:\">id</string>\n\t\t\t\t\t\t<string key=\"lock:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameHeight:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameWidth:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDown:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDownAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeft:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeftAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRight:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRightAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUp:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUpAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"rollDownAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"rollUpAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sendToBack:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeToFit:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleGridShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleHiddenGraphicsShown:\">id</string>\n\t\t\t\t\t\t<string key=\"togglePageBreaksShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleRuler:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleSnapsToGrid:\">id</string>\n\t\t\t\t\t\t<string key=\"unlock:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_graphLayouterMenuItemAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_zoomPopUpButtonAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignBottomEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignBottomEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersHorizontallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersVerticallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignHorizontalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignLeftEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignLeftEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignRightEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignRightEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignTopEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignTopEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignVerticalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignVerticalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"bringToFront:\">\n\t\t\t\t\t\t\t<string key=\"name\">bringToFront:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"collapseAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">collapseAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteBackward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteBackward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteForward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteForward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deselectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">deselectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"expandAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">expandAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipHorizontally:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipHorizontally:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipVertically:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipVertically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsConcentrically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsHierarchically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"lock:\">\n\t\t\t\t\t\t\t<string key=\"name\">lock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameHeight:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameHeight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameWidth:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameWidth:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDown:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDownAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeft:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeft:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeftAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRight:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRightAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUp:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUpAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollDownAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollUpAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sendToBack:\">\n\t\t\t\t\t\t\t<string key=\"name\">sendToBack:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleGridShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleGridShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleHiddenGraphicsShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"togglePageBreaksShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleRuler:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleRuler:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleSnapsToGrid:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unlock:\">\n\t\t\t\t\t\t\t<string key=\"name\">unlock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">_diagramController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDDiagramView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">showAllTableColumns:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"applicationShouldTerminate:\">id</string>\n\t\t\t\t\t\t<string key=\"applicationWillFinishLaunching:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationShouldTerminate:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationWillFinishLaunching:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1070\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{9, 8}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{7, 2}</string>\n\t\t</dictionary>\n\t\t<bool key=\"IBDocument.UseAutolayout\">YES</bool>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels/main.m",
    "content": "//\n//  main.m\n//  PerUserLogLevels\n//\n//  Created by Robbie Hanson on 3/30/12.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t70D022BC64646F5370FC6DA7 /* Pods_PerUserLogLevels.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91A3E0F20CD5BDE853D9130E /* Pods_PerUserLogLevels.framework */; };\n\t\tDC87A6F91525AEA3005A09B0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC87A6F81525AEA3005A09B0 /* Cocoa.framework */; };\n\t\tDC87A7031525AEA3005A09B0 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC87A7011525AEA3005A09B0 /* InfoPlist.strings */; };\n\t\tDC87A7051525AEA3005A09B0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A7041525AEA3005A09B0 /* main.m */; };\n\t\tDC87A7091525AEA3005A09B0 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC87A7071525AEA3005A09B0 /* Credits.rtf */; };\n\t\tDC87A70C1525AEA3005A09B0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC87A70B1525AEA3005A09B0 /* AppDelegate.m */; };\n\t\tDC87A70F1525AEA3005A09B0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC87A70D1525AEA3005A09B0 /* MainMenu.xib */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t0B4A25C155194CE786243D86 /* Pods-PerUserLogLevels.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-PerUserLogLevels.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-PerUserLogLevels/Pods-PerUserLogLevels.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t21E12BAE43E90BD8E31C353A /* Pods-PerUserLogLevels.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-PerUserLogLevels.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-PerUserLogLevels/Pods-PerUserLogLevels.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t91A3E0F20CD5BDE853D9130E /* Pods_PerUserLogLevels.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PerUserLogLevels.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC28B92D15263ED00043126F /* LumberjackUser.bash */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = LumberjackUser.bash; path = Scripts/LumberjackUser.bash; sourceTree = SOURCE_ROOT; };\n\t\tDC87A6F41525AEA3005A09B0 /* PerUserLogLevels.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PerUserLogLevels.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC87A6F81525AEA3005A09B0 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC87A6FB1525AEA3005A09B0 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC87A6FC1525AEA3005A09B0 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC87A6FD1525AEA3005A09B0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC87A7001525AEA3005A09B0 /* PerUserLogLevels-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"PerUserLogLevels-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC87A7021525AEA3005A09B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC87A7041525AEA3005A09B0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC87A7061525AEA3005A09B0 /* PerUserLogLevels-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"PerUserLogLevels-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC87A7081525AEA3005A09B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC87A70A1525AEA3005A09B0 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC87A70B1525AEA3005A09B0 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC87A70E1525AEA3005A09B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDC87A72E1525B051005A09B0 /* LumberjackUser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = LumberjackUser.h; path = ../Xcode/PerUserLogLevels/PerUserLogLevels/LumberjackUser.h; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC87A6F11525AEA3005A09B0 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC87A6F91525AEA3005A09B0 /* Cocoa.framework in Frameworks */,\n\t\t\t\t70D022BC64646F5370FC6DA7 /* Pods_PerUserLogLevels.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t3CEFE886C93FBC963106267F /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t0B4A25C155194CE786243D86 /* Pods-PerUserLogLevels.debug.xcconfig */,\n\t\t\t\t21E12BAE43E90BD8E31C353A /* Pods-PerUserLogLevels.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC87A6E91525AEA2005A09B0 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC87A7301525B10C005A09B0 /* LumberjackUser */,\n\t\t\t\tDC87A6FE1525AEA3005A09B0 /* PerUserLogLevels */,\n\t\t\t\tDC87A6F71525AEA3005A09B0 /* Frameworks */,\n\t\t\t\tDC87A6F51525AEA3005A09B0 /* Products */,\n\t\t\t\t3CEFE886C93FBC963106267F /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC87A6F51525AEA3005A09B0 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC87A6F41525AEA3005A09B0 /* PerUserLogLevels.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC87A6F71525AEA3005A09B0 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC87A6F81525AEA3005A09B0 /* Cocoa.framework */,\n\t\t\t\tDC87A6FA1525AEA3005A09B0 /* Other Frameworks */,\n\t\t\t\t91A3E0F20CD5BDE853D9130E /* Pods_PerUserLogLevels.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC87A6FA1525AEA3005A09B0 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC87A6FB1525AEA3005A09B0 /* AppKit.framework */,\n\t\t\t\tDC87A6FC1525AEA3005A09B0 /* CoreData.framework */,\n\t\t\t\tDC87A6FD1525AEA3005A09B0 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC87A6FE1525AEA3005A09B0 /* PerUserLogLevels */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC87A70A1525AEA3005A09B0 /* AppDelegate.h */,\n\t\t\t\tDC87A70B1525AEA3005A09B0 /* AppDelegate.m */,\n\t\t\t\tDC87A70D1525AEA3005A09B0 /* MainMenu.xib */,\n\t\t\t\tDC87A6FF1525AEA3005A09B0 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = PerUserLogLevels;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC87A6FF1525AEA3005A09B0 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC87A7001525AEA3005A09B0 /* PerUserLogLevels-Info.plist */,\n\t\t\t\tDC87A7011525AEA3005A09B0 /* InfoPlist.strings */,\n\t\t\t\tDC87A7041525AEA3005A09B0 /* main.m */,\n\t\t\t\tDC87A7061525AEA3005A09B0 /* PerUserLogLevels-Prefix.pch */,\n\t\t\t\tDC87A7071525AEA3005A09B0 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC87A7301525B10C005A09B0 /* LumberjackUser */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC28B92D15263ED00043126F /* LumberjackUser.bash */,\n\t\t\t\tDC87A72E1525B051005A09B0 /* LumberjackUser.h */,\n\t\t\t);\n\t\t\tname = LumberjackUser;\n\t\t\tpath = ../../Lumberjack;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC87A6F31525AEA3005A09B0 /* PerUserLogLevels */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC87A7121525AEA3005A09B0 /* Build configuration list for PBXNativeTarget \"PerUserLogLevels\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t76E60D6416AA4C2AB3DFE316 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDC87A7341525B41D005A09B0 /* ShellScript */,\n\t\t\t\tDC87A6F01525AEA3005A09B0 /* Sources */,\n\t\t\t\tDC87A6F11525AEA3005A09B0 /* Frameworks */,\n\t\t\t\tDC87A6F21525AEA3005A09B0 /* Resources */,\n\t\t\t\tDB290A9ED1D14F6CA2ACE3FD /* [CP] Copy Pods Resources */,\n\t\t\t\tA1EC2902394DA1F09A2D79F5 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = PerUserLogLevels;\n\t\t\tproductName = PerUserLogLevels;\n\t\t\tproductReference = DC87A6F41525AEA3005A09B0 /* PerUserLogLevels.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC87A6EB1525AEA2005A09B0 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC87A6EE1525AEA2005A09B0 /* Build configuration list for PBXProject \"PerUserLogLevels\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC87A6E91525AEA2005A09B0;\n\t\t\tproductRefGroup = DC87A6F51525AEA3005A09B0 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC87A6F31525AEA3005A09B0 /* PerUserLogLevels */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC87A6F21525AEA3005A09B0 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC87A7031525AEA3005A09B0 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC87A7091525AEA3005A09B0 /* Credits.rtf in Resources */,\n\t\t\t\tDC87A70F1525AEA3005A09B0 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t76E60D6416AA4C2AB3DFE316 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-PerUserLogLevels-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tA1EC2902394DA1F09A2D79F5 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-PerUserLogLevels/Pods-PerUserLogLevels-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-PerUserLogLevels/Pods-PerUserLogLevels-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tDB290A9ED1D14F6CA2ACE3FD /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-PerUserLogLevels/Pods-PerUserLogLevels-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tDC87A7341525B41D005A09B0 /* ShellScript */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/bash;\n\t\t\tshellScript = \"${PROJECT_DIR}/Scripts/LumberjackUser.bash\";\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC87A6F01525AEA3005A09B0 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC87A7051525AEA3005A09B0 /* main.m in Sources */,\n\t\t\t\tDC87A70C1525AEA3005A09B0 /* AppDelegate.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC87A7011525AEA3005A09B0 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC87A7021525AEA3005A09B0 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC87A7071525AEA3005A09B0 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC87A7081525AEA3005A09B0 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC87A70D1525AEA3005A09B0 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC87A70E1525AEA3005A09B0 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC87A7101525AEA3005A09B0 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC87A7111525AEA3005A09B0 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC87A7131525AEA3005A09B0 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 0B4A25C155194CE786243D86 /* Pods-PerUserLogLevels.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"PerUserLogLevels/PerUserLogLevels-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"PerUserLogLevels/PerUserLogLevels-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC87A7141525AEA3005A09B0 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 21E12BAE43E90BD8E31C353A /* Pods-PerUserLogLevels.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"PerUserLogLevels/PerUserLogLevels-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"PerUserLogLevels/PerUserLogLevels-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC87A6EE1525AEA2005A09B0 /* Build configuration list for PBXProject \"PerUserLogLevels\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC87A7101525AEA3005A09B0 /* Debug */,\n\t\t\t\tDC87A7111525AEA3005A09B0 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC87A7121525AEA3005A09B0 /* Build configuration list for PBXNativeTarget \"PerUserLogLevels\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC87A7131525AEA3005A09B0 /* Debug */,\n\t\t\t\tDC87A7141525AEA3005A09B0 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC87A6EB1525AEA2005A09B0 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/PerUserLogLevels.xcodeproj/xcshareddata/xcschemes/PerUserLogLevels.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DC87A6F31525AEA3005A09B0\"\n               BuildableName = \"PerUserLogLevels.app\"\n               BlueprintName = \"PerUserLogLevels\"\n               ReferencedContainer = \"container:PerUserLogLevels.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC87A6F31525AEA3005A09B0\"\n            BuildableName = \"PerUserLogLevels.app\"\n            BlueprintName = \"PerUserLogLevels\"\n            ReferencedContainer = \"container:PerUserLogLevels.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC87A6F31525AEA3005A09B0\"\n            BuildableName = \"PerUserLogLevels.app\"\n            BlueprintName = \"PerUserLogLevels\"\n            ReferencedContainer = \"container:PerUserLogLevels.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC87A6F31525AEA3005A09B0\"\n            BuildableName = \"PerUserLogLevels.app\"\n            BlueprintName = \"PerUserLogLevels\"\n            ReferencedContainer = \"container:PerUserLogLevels.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/Podfile",
    "content": "\nproject 'PerUserLogLevels'\nworkspace '../Demos'\n\ntarget :'PerUserLogLevels' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/PerUserLogLevels/Scripts/LumberjackUser.bash",
    "content": "#!/bin/bash\n\n# Get full user name of current user\n# E.g. \"Robbie Hanson\"\nfull1=$(osascript -e \"tell application \\\"System Events\\\"\" -e \"get the full name of the current user\" -e \"end tell\")\n#echo $full1\n\n# Convert to lower case\n# E.g. \"robbie hanson\"\nfull2=$(echo $full1 | awk '{print tolower($0)}')\n#echo $full2\n\n# Replace spaces with underscores\n# E.g. \"robbie_hanson\"\nfull3=$(echo ${full2// /_})\n#echo $full3\n\n# Remove any characters that are illegal in a macro name\nfull4=$(echo $full3 | sed 's/[^0-9a-zA-Z_]*//g')\n#echo $full4\n\n# If blank, set the name to an anonymous user\nif [ \"$full4\" == \"\" ]\nthen\n\tfull4='anonymous_user'\nfi\n\n# If we output directly to our intended file, even when nothing has changed,\n# then we'll essentially be doing a touch on the file.\n# The compiler will see this, and recompile any files that include the header.\n# This may mean recompiling every single source file, every single time we do a build!\n# So instead we're going to output to a temporary file, and use diff to detect changes.\n\ntemp_filepath=\"${SRCROOT}/PerUserLogLevels/LumberjackUser.temp.h\"\nfinal_filepath=\"${SRCROOT}/PerUserLogLevels/LumberjackUser.h\"\n\necho \"// This file is automatically generated\" > ${temp_filepath}\necho \"#define $full4 1\" >> ${temp_filepath}\n\nif [ -a ${final_filepath} ]\nthen\n\tDIFF=$(diff ${temp_filepath} ${final_filepath}) \n\tif [ \"$DIFF\" != \"\" ] \n\tthen\n\t\tcp -f ${temp_filepath} ${final_filepath}\n\tfi\nelse\n\tcp -f ${temp_filepath} ${final_filepath}\nfi"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/Podfile",
    "content": "\nproject 'RegisteredLoggingTest'\nworkspace '../../Demos'\n\ntarget :'RegisteredLoggingTest' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/Lions.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@interface Lions : NSObject\n\n+ (void)logStuff;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/Lions.m",
    "content": "#import \"Lions.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// Log levels: off, error, warn, info, verbose\nstatic DDLogLevel ddLogLevel = DDLogLevelWarning;\n\n\n@implementation Lions\n\n+ (int)ddLogLevel\n{\n    return ddLogLevel;\n}\n\n+ (void)ddSetLogLevel:(int)logLevel\n{\n    ddLogLevel = logLevel;\n}\n\n+ (void)logStuff\n{\n    DDLogError(@\"%@ - Error\", THIS_FILE);\n    DDLogWarn(@\"%@ - Warn\", THIS_FILE);\n    DDLogInfo(@\"%@ - Info\", THIS_FILE);\n    DDLogVerbose(@\"%@ - Verbose\", THIS_FILE);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/RegisteredLoggingTest-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/RegisteredLoggingTest-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'RegisteredLoggingTest' target in the 'RegisteredLoggingTest' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/RegisteredLoggingTestAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n\n@interface RegisteredLoggingTestAppDelegate : NSObject <NSApplicationDelegate> {\n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/RegisteredLoggingTestAppDelegate.m",
    "content": "#import \"RegisteredLoggingTestAppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"Lions.h\"\n#import \"Tigers.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation RegisteredLoggingTestAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    [Lions logStuff];\n    [Tigers logStuff];\n    \n    NSArray *registeredClassNames = [DDLog registeredClassNames];\n    DDLogVerbose(@\"registeredClassNames: %@\", registeredClassNames);\n    \n    NSArray *registeredClasses = [DDLog registeredClasses];\n    for (Class class in registeredClasses)\n    {\n        [class ddSetLogLevel:DDLogLevelVerbose];\n    }\n    \n    [Lions logStuff];\n    [Tigers logStuff];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/Tigers.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@interface Tigers : NSObject\n\n+ (void)logStuff;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/Tigers.m",
    "content": "#import \"Tigers.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// Log levels: off, error, warn, info, verbose\nstatic DDLogLevel ddLogLevel = DDLogLevelWarning;\n\n\n@implementation Tigers\n\n+ (int)ddLogLevel\n{\n    return ddLogLevel;\n}\n\n+ (void)ddSetLogLevel:(int)logLevel\n{\n    ddLogLevel = logLevel;\n}\n\n+ (void)logStuff\n{\n    DDLogError(@\"%@ - Error\", THIS_FILE);\n    DDLogWarn(@\"%@ - Warn\", THIS_FILE);\n    DDLogInfo(@\"%@ - Info\", THIS_FILE);\n    DDLogVerbose(@\"%@ - Verbose\", THIS_FILE);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10J869</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1839</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.35</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">461.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1839</string>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">RegisteredLoggingTest</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">RegisteredLoggingTest</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About RegisteredLoggingTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide RegisteredLoggingTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit RegisteredLoggingTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">RegisteredLoggingTest Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">RegisteredLoggingTest</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1e+13, 1e+13}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">RegisteredLoggingTestAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"object\" id=\"0\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.IBPluginDependency</string>\n\t\t\t\t\t<string>-2.IBPluginDependency</string>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>420.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>494.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>534.IBPluginDependency</string>\n\t\t\t\t\t<string>534.ImportedFromIB2</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<reference key=\"dict.values\" ref=\"0\"/>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<reference key=\"dict.values\" ref=\"0\"/>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">535</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>addCardViewField:</string>\n\t\t\t\t\t\t\t<string>copy:</string>\n\t\t\t\t\t\t\t<string>cut:</string>\n\t\t\t\t\t\t\t<string>doDelete:</string>\n\t\t\t\t\t\t\t<string>find:</string>\n\t\t\t\t\t\t\t<string>paste:</string>\n\t\t\t\t\t\t\t<string>saveChanges:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>addCardViewField:</string>\n\t\t\t\t\t\t\t<string>copy:</string>\n\t\t\t\t\t\t\t<string>cut:</string>\n\t\t\t\t\t\t\t<string>doDelete:</string>\n\t\t\t\t\t\t\t<string>find:</string>\n\t\t\t\t\t\t\t<string>paste:</string>\n\t\t\t\t\t\t\t<string>saveChanges:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">addCardViewField:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">doDelete:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">find:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">saveChanges:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>mCardView</string>\n\t\t\t\t\t\t\t<string>mEditButton</string>\n\t\t\t\t\t\t\t<string>mManagedObjectContext</string>\n\t\t\t\t\t\t\t<string>mSearchField</string>\n\t\t\t\t\t\t\t<string>mStatusTextField</string>\n\t\t\t\t\t\t\t<string>mWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>ABCardView</string>\n\t\t\t\t\t\t\t<string>NSButton</string>\n\t\t\t\t\t\t\t<string>NSManagedObjectContext</string>\n\t\t\t\t\t\t\t<string>NSSearchField</string>\n\t\t\t\t\t\t\t<string>NSTextField</string>\n\t\t\t\t\t\t\t<string>NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>mCardView</string>\n\t\t\t\t\t\t\t<string>mEditButton</string>\n\t\t\t\t\t\t\t<string>mManagedObjectContext</string>\n\t\t\t\t\t\t\t<string>mSearchField</string>\n\t\t\t\t\t\t\t<string>mStatusTextField</string>\n\t\t\t\t\t\t\t<string>mWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mCardView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABCardView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mEditButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mManagedObjectContext</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSManagedObjectContext</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mSearchField</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSearchField</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mStatusTextField</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mWindow</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>commitAndSave:</string>\n\t\t\t\t\t\t\t<string>statusImageClicked:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>commitAndSave:</string>\n\t\t\t\t\t\t\t<string>statusImageClicked:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">commitAndSave:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">statusImageClicked:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>mBuddyStatusImage</string>\n\t\t\t\t\t\t\t<string>mHeaderView</string>\n\t\t\t\t\t\t\t<string>mNameView</string>\n\t\t\t\t\t\t\t<string>mNextKeyView</string>\n\t\t\t\t\t\t\t<string>mUserImage</string>\n\t\t\t\t\t\t\t<string>mUserImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>NSImageView</string>\n\t\t\t\t\t\t\t<string>NSView</string>\n\t\t\t\t\t\t\t<string>ABNameFrameView</string>\n\t\t\t\t\t\t\t<string>NSView</string>\n\t\t\t\t\t\t\t<string>NSImage</string>\n\t\t\t\t\t\t\t<string>ABImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>mBuddyStatusImage</string>\n\t\t\t\t\t\t\t<string>mHeaderView</string>\n\t\t\t\t\t\t\t<string>mNameView</string>\n\t\t\t\t\t\t\t<string>mNextKeyView</string>\n\t\t\t\t\t\t\t<string>mUserImage</string>\n\t\t\t\t\t\t\t<string>mUserImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mBuddyStatusImage</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImageView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mHeaderView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mNameView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABNameFrameView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mNextKeyView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mUserImage</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImage</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">mUserImageView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABImageView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABImageView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSImageView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>copy:</string>\n\t\t\t\t\t\t\t<string>cut:</string>\n\t\t\t\t\t\t\t<string>delete:</string>\n\t\t\t\t\t\t\t<string>paste:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>copy:</string>\n\t\t\t\t\t\t\t<string>cut:</string>\n\t\t\t\t\t\t\t<string>delete:</string>\n\t\t\t\t\t\t\t<string>paste:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTAutoLayoutView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTAutoLayoutView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTBorderedView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">contentView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTBorderedView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTDelayedMenuButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTDelayedMenuButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTGradientImageButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTGradientImageButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTextFieldCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextColumn</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableColumn</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextColumn.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTSplitView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSSplitView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTSplitView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTStackView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTStackView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFRepresenterTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFRepresenterTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IBEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>changeFont:</string>\n\t\t\t\t\t\t\t<string>selectAll:</string>\n\t\t\t\t\t\t\t<string>sizeSelectionToFit:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>changeFont:</string>\n\t\t\t\t\t\t\t<string>selectAll:</string>\n\t\t\t\t\t\t\t<string>sizeSelectionToFit:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">changeFont:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">sizeSelectionToFit:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IBEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDECapsuleListView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTStackView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">dataSource</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDECapsuleListView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMArrayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSArrayController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMArrayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEEditor</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t<string>sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t<string>sourceListViewController</string>\n\t\t\t\t\t\t\t<string>splitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>DVTBorderedView</string>\n\t\t\t\t\t\t\t<string>NSView</string>\n\t\t\t\t\t\t\t<string>IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t\t<string>DVTSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t<string>sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t<string>sourceListViewController</string>\n\t\t\t\t\t\t\t<string>splitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">sourceListViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">splitView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTSplitView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>borderedView</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>primaryColumn</string>\n\t\t\t\t\t\t\t<string>sourceListOutlineView</string>\n\t\t\t\t\t\t\t<string>sourceListTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>DVTBorderedView</string>\n\t\t\t\t\t\t\t<string>IDEDMEditor</string>\n\t\t\t\t\t\t\t<string>DVTImageAndTextColumn</string>\n\t\t\t\t\t\t\t<string>DVTOutlineView</string>\n\t\t\t\t\t\t\t<string>NSTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>borderedView</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>primaryColumn</string>\n\t\t\t\t\t\t\t<string>sourceListOutlineView</string>\n\t\t\t\t\t\t\t<string>sourceListTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">borderedView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">primaryColumn</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">sourceListOutlineView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTOutlineView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">sourceListTreeController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTreeController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorSourceListController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTImageAndTextCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMHighlightImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>attributesTableViewController</string>\n\t\t\t\t\t\t\t<string>capsuleView</string>\n\t\t\t\t\t\t\t<string>entityArrayController</string>\n\t\t\t\t\t\t\t<string>fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>relationshipsTableViewController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t\t<string>IDECapsuleListView</string>\n\t\t\t\t\t\t\t<string>NSArrayController</string>\n\t\t\t\t\t\t\t<string>IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t\t<string>IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t\t<string>IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>attributesTableViewController</string>\n\t\t\t\t\t\t\t<string>capsuleView</string>\n\t\t\t\t\t\t\t<string>entityArrayController</string>\n\t\t\t\t\t\t\t<string>fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>relationshipsTableViewController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">attributesTableViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">capsuleView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">relationshipsTableViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelBrowserEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>capsuleListView</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>tableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>IDECapsuleListView</string>\n\t\t\t\t\t\t\t<string>IDEDataModelEditor</string>\n\t\t\t\t\t\t\t<string>IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>capsuleListView</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>tableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">capsuleListView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">tableController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>configurationsArrayController</string>\n\t\t\t\t\t\t\t<string>entitiesArrayController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>tableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>NSArrayController</string>\n\t\t\t\t\t\t\t<string>NSArrayController</string>\n\t\t\t\t\t\t\t<string>IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t\t<string>XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>configurationsArrayController</string>\n\t\t\t\t\t\t\t<string>entitiesArrayController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>tableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">configurationsArrayController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">entitiesArrayController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>diagramView</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>XDDiagramView</string>\n\t\t\t\t\t\t\t<string>IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>diagramView</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">diagramView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDDiagramView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelDiagramEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditor</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>addEntityButton</string>\n\t\t\t\t\t\t\t<string>addPropertyButton</string>\n\t\t\t\t\t\t\t<string>browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t<string>configurationViewController</string>\n\t\t\t\t\t\t\t<string>entityContentsViewController</string>\n\t\t\t\t\t\t\t<string>fetchRequestViewController</string>\n\t\t\t\t\t\t\t<string>hierarchySegmentControl</string>\n\t\t\t\t\t\t\t<string>tabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>DVTDelayedMenuButton</string>\n\t\t\t\t\t\t\t<string>DVTDelayedMenuButton</string>\n\t\t\t\t\t\t\t<string>NSSegmentedControl</string>\n\t\t\t\t\t\t\t<string>IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t\t<string>IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t\t<string>IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t\t<string>NSSegmentedControl</string>\n\t\t\t\t\t\t\t<string>NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>addEntityButton</string>\n\t\t\t\t\t\t\t<string>addPropertyButton</string>\n\t\t\t\t\t\t\t<string>browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t<string>configurationViewController</string>\n\t\t\t\t\t\t\t<string>entityContentsViewController</string>\n\t\t\t\t\t\t\t<string>fetchRequestViewController</string>\n\t\t\t\t\t\t\t<string>hierarchySegmentControl</string>\n\t\t\t\t\t\t\t<string>tabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">addEntityButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">addPropertyButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">configurationViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">entityContentsViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">fetchRequestViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">hierarchySegmentControl</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>browserViewController</string>\n\t\t\t\t\t\t\t<string>diagramViewController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>tabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t\t<string>IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t\t<string>IDEDataModelEditor</string>\n\t\t\t\t\t\t\t<string>NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>browserViewController</string>\n\t\t\t\t\t\t\t<string>diagramViewController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>tabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">browserViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">diagramViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEntityContentsEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>entityController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>tableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>NSArrayController</string>\n\t\t\t\t\t\t\t<string>IDEDataModelEditor</string>\n\t\t\t\t\t\t\t<string>IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>entityController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>tableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">entityController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelFetchRequestEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>arrayController</string>\n\t\t\t\t\t\t\t<string>entitiesColumn</string>\n\t\t\t\t\t\t\t<string>entityArrayController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t<string>tableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>IDEDMArrayController</string>\n\t\t\t\t\t\t\t<string>NSTableColumn</string>\n\t\t\t\t\t\t\t<string>NSArrayController</string>\n\t\t\t\t\t\t\t<string>IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t\t<string>IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t\t<string>XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>arrayController</string>\n\t\t\t\t\t\t\t<string>entitiesColumn</string>\n\t\t\t\t\t\t\t<string>entityArrayController</string>\n\t\t\t\t\t\t\t<string>parentEditor</string>\n\t\t\t\t\t\t\t<string>propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t<string>tableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">arrayController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMArrayController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">entitiesColumn</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTableColumn</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelPropertiesTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>getDocSetAction:</string>\n\t\t\t\t\t\t\t<string>showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t<string>subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t<string>unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t<string>updateDocSetAction:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>getDocSetAction:</string>\n\t\t\t\t\t\t\t<string>showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t<string>subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t<string>unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t<string>updateDocSetAction:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">getDocSetAction:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">updateDocSetAction:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDocSetOutlineView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocViewingPrefPaneController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>addSubscription:</string>\n\t\t\t\t\t\t\t<string>checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t<string>minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t<string>minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t<string>showHelp:</string>\n\t\t\t\t\t\t\t<string>showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t<string>subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t<string>toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t<string>toggleDocSetInfo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>addSubscription:</string>\n\t\t\t\t\t\t\t<string>checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t<string>minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t<string>minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t<string>showHelp:</string>\n\t\t\t\t\t\t\t<string>showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t<string>subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t<string>toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t<string>toggleDocSetInfo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">addSubscription:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">showHelp:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">toggleDocSetInfo:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>_addButton</string>\n\t\t\t\t\t\t\t<string>_deleteButton</string>\n\t\t\t\t\t\t\t<string>_showInfoAreaButton</string>\n\t\t\t\t\t\t\t<string>_splitView</string>\n\t\t\t\t\t\t\t<string>_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t<string>_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t<string>borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t<string>borderedViewBelowTable</string>\n\t\t\t\t\t\t\t<string>checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t<string>docSetInfoTextView</string>\n\t\t\t\t\t\t\t<string>docSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string>minimumFontSizeControl</string>\n\t\t\t\t\t\t\t<string>noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t<string>showInfoButton</string>\n\t\t\t\t\t\t\t<string>subscriptionTextField</string>\n\t\t\t\t\t\t\t<string>subscriptionWindow</string>\n\t\t\t\t\t\t\t<string>validateAddSubscriptionButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>DVTGradientImageButton</string>\n\t\t\t\t\t\t\t<string>DVTGradientImageButton</string>\n\t\t\t\t\t\t\t<string>DVTGradientImageButton</string>\n\t\t\t\t\t\t\t<string>NSSplitView</string>\n\t\t\t\t\t\t\t<string>NSView</string>\n\t\t\t\t\t\t\t<string>NSView</string>\n\t\t\t\t\t\t\t<string>DVTBorderedView</string>\n\t\t\t\t\t\t\t<string>DVTBorderedView</string>\n\t\t\t\t\t\t\t<string>NSButton</string>\n\t\t\t\t\t\t\t<string>NSTextView</string>\n\t\t\t\t\t\t\t<string>IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string>NSComboBox</string>\n\t\t\t\t\t\t\t<string>NSTextField</string>\n\t\t\t\t\t\t\t<string>NSButton</string>\n\t\t\t\t\t\t\t<string>NSTextField</string>\n\t\t\t\t\t\t\t<string>NSWindow</string>\n\t\t\t\t\t\t\t<string>NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>_addButton</string>\n\t\t\t\t\t\t\t<string>_deleteButton</string>\n\t\t\t\t\t\t\t<string>_showInfoAreaButton</string>\n\t\t\t\t\t\t\t<string>_splitView</string>\n\t\t\t\t\t\t\t<string>_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t<string>_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t<string>borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t<string>borderedViewBelowTable</string>\n\t\t\t\t\t\t\t<string>checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t<string>docSetInfoTextView</string>\n\t\t\t\t\t\t\t<string>docSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string>minimumFontSizeControl</string>\n\t\t\t\t\t\t\t<string>noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t<string>showInfoButton</string>\n\t\t\t\t\t\t\t<string>subscriptionTextField</string>\n\t\t\t\t\t\t\t<string>subscriptionWindow</string>\n\t\t\t\t\t\t\t<string>validateAddSubscriptionButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">_addButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">_deleteButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">_showInfoAreaButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">_splitView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSplitView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">borderedViewBelowTable</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">docSetInfoTextView</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineViewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeControl</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSComboBox</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">showInfoButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">subscriptionTextField</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">subscriptionWindow</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">validateAddSubscriptionButton</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocViewingPrefPaneController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IKImageView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>copy:</string>\n\t\t\t\t\t\t\t<string>crop:</string>\n\t\t\t\t\t\t\t<string>cut:</string>\n\t\t\t\t\t\t\t<string>paste:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>copy:</string>\n\t\t\t\t\t\t\t<string>crop:</string>\n\t\t\t\t\t\t\t<string>cut:</string>\n\t\t\t\t\t\t\t<string>paste:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">crop:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IKImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QTMovieView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>showAll:</string>\n\t\t\t\t\t\t\t<string>showCustomButton:</string>\n\t\t\t\t\t\t\t<string>toggleLoops:</string>\n\t\t\t\t\t\t\t<string>zoomIn:</string>\n\t\t\t\t\t\t\t<string>zoomOut:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>showAll:</string>\n\t\t\t\t\t\t\t<string>showCustomButton:</string>\n\t\t\t\t\t\t\t<string>toggleLoops:</string>\n\t\t\t\t\t\t\t<string>zoomIn:</string>\n\t\t\t\t\t\t\t<string>zoomOut:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">showAll:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">showCustomButton:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">toggleLoops:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">zoomIn:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">zoomOut:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QTMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>reloadFromOrigin:</string>\n\t\t\t\t\t\t\t<string>resetPageZoom:</string>\n\t\t\t\t\t\t\t<string>zoomPageIn:</string>\n\t\t\t\t\t\t\t<string>zoomPageOut:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>reloadFromOrigin:</string>\n\t\t\t\t\t\t\t<string>resetPageZoom:</string>\n\t\t\t\t\t\t\t<string>zoomPageIn:</string>\n\t\t\t\t\t\t\t<string>zoomPageOut:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">reloadFromOrigin:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">resetPageZoom:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">zoomPageIn:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">zoomPageOut:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/WebView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDDiagramView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t<string>_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t<string>alignBottomEdges:</string>\n\t\t\t\t\t\t\t<string>alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t<string>alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t<string>alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t<string>alignLeftEdges:</string>\n\t\t\t\t\t\t\t<string>alignRightEdges:</string>\n\t\t\t\t\t\t\t<string>alignTopEdges:</string>\n\t\t\t\t\t\t\t<string>alignVerticalCenters:</string>\n\t\t\t\t\t\t\t<string>bringToFront:</string>\n\t\t\t\t\t\t\t<string>collapseAllCompartments:</string>\n\t\t\t\t\t\t\t<string>copy:</string>\n\t\t\t\t\t\t\t<string>cut:</string>\n\t\t\t\t\t\t\t<string>delete:</string>\n\t\t\t\t\t\t\t<string>deleteBackward:</string>\n\t\t\t\t\t\t\t<string>deleteForward:</string>\n\t\t\t\t\t\t\t<string>deselectAll:</string>\n\t\t\t\t\t\t\t<string>diagramZoomIn:</string>\n\t\t\t\t\t\t\t<string>diagramZoomOut:</string>\n\t\t\t\t\t\t\t<string>expandAllCompartments:</string>\n\t\t\t\t\t\t\t<string>flipHorizontally:</string>\n\t\t\t\t\t\t\t<string>flipVertically:</string>\n\t\t\t\t\t\t\t<string>layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t<string>layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t<string>lock:</string>\n\t\t\t\t\t\t\t<string>makeSameHeight:</string>\n\t\t\t\t\t\t\t<string>makeSameWidth:</string>\n\t\t\t\t\t\t\t<string>moveDown:</string>\n\t\t\t\t\t\t\t<string>moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t<string>moveLeft:</string>\n\t\t\t\t\t\t\t<string>moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t<string>moveRight:</string>\n\t\t\t\t\t\t\t<string>moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t<string>moveUp:</string>\n\t\t\t\t\t\t\t<string>moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t<string>paste:</string>\n\t\t\t\t\t\t\t<string>rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t<string>rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t<string>selectAll:</string>\n\t\t\t\t\t\t\t<string>sendToBack:</string>\n\t\t\t\t\t\t\t<string>sizeToFit:</string>\n\t\t\t\t\t\t\t<string>toggleGridShown:</string>\n\t\t\t\t\t\t\t<string>toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t<string>togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t<string>toggleRuler:</string>\n\t\t\t\t\t\t\t<string>toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t<string>unlock:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t<string>_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t<string>alignBottomEdges:</string>\n\t\t\t\t\t\t\t<string>alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t<string>alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t<string>alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t<string>alignLeftEdges:</string>\n\t\t\t\t\t\t\t<string>alignRightEdges:</string>\n\t\t\t\t\t\t\t<string>alignTopEdges:</string>\n\t\t\t\t\t\t\t<string>alignVerticalCenters:</string>\n\t\t\t\t\t\t\t<string>bringToFront:</string>\n\t\t\t\t\t\t\t<string>collapseAllCompartments:</string>\n\t\t\t\t\t\t\t<string>copy:</string>\n\t\t\t\t\t\t\t<string>cut:</string>\n\t\t\t\t\t\t\t<string>delete:</string>\n\t\t\t\t\t\t\t<string>deleteBackward:</string>\n\t\t\t\t\t\t\t<string>deleteForward:</string>\n\t\t\t\t\t\t\t<string>deselectAll:</string>\n\t\t\t\t\t\t\t<string>diagramZoomIn:</string>\n\t\t\t\t\t\t\t<string>diagramZoomOut:</string>\n\t\t\t\t\t\t\t<string>expandAllCompartments:</string>\n\t\t\t\t\t\t\t<string>flipHorizontally:</string>\n\t\t\t\t\t\t\t<string>flipVertically:</string>\n\t\t\t\t\t\t\t<string>layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t<string>layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t<string>lock:</string>\n\t\t\t\t\t\t\t<string>makeSameHeight:</string>\n\t\t\t\t\t\t\t<string>makeSameWidth:</string>\n\t\t\t\t\t\t\t<string>moveDown:</string>\n\t\t\t\t\t\t\t<string>moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t<string>moveLeft:</string>\n\t\t\t\t\t\t\t<string>moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t<string>moveRight:</string>\n\t\t\t\t\t\t\t<string>moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t<string>moveUp:</string>\n\t\t\t\t\t\t\t<string>moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t<string>paste:</string>\n\t\t\t\t\t\t\t<string>rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t<string>rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t<string>selectAll:</string>\n\t\t\t\t\t\t\t<string>sendToBack:</string>\n\t\t\t\t\t\t\t<string>sizeToFit:</string>\n\t\t\t\t\t\t\t<string>toggleGridShown:</string>\n\t\t\t\t\t\t\t<string>toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t<string>togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t<string>toggleRuler:</string>\n\t\t\t\t\t\t\t<string>toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t<string>unlock:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">alignBottomEdges:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">alignLeftEdges:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">alignRightEdges:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">alignTopEdges:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">alignVerticalCenters:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">bringToFront:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">collapseAllCompartments:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">deleteBackward:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">deleteForward:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">deselectAll:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">diagramZoomIn:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">diagramZoomOut:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">expandAllCompartments:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">flipHorizontally:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">flipVertically:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">lock:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">makeSameHeight:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">makeSameWidth:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">moveDown:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">moveLeft:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">moveRight:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">moveUp:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">sendToBack:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">sizeToFit:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">toggleGridShown:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">toggleRuler:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">unlock:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">_diagramController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDDiagramView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">showAllTableColumns:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">RegisteredLoggingTestAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t<string>applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t<string>applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBActionInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/RegisteredLoggingTestAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<string>NSMenuCheckmark</string>\n\t\t\t\t<string>NSMenuMixedState</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<string>{9, 8}</string>\n\t\t\t\t<string>{7, 2}</string>\n\t\t\t</object>\n\t\t</object>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest/main.m",
    "content": "//\n//  main.m\n//  RegisteredLoggingTest\n//\n//  Created by Robbie Hanson on 9/5/11.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t365987E879BE9EB3F29321B2 /* Pods_RegisteredLoggingTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 880218D90D327729DA0D6416 /* Pods_RegisteredLoggingTest.framework */; };\n\t\tDC7DC4EE14154E4900601B40 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC7DC4ED14154E4900601B40 /* Cocoa.framework */; };\n\t\tDC7DC4F814154E4900601B40 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC7DC4F614154E4900601B40 /* InfoPlist.strings */; };\n\t\tDC7DC4FA14154E4900601B40 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7DC4F914154E4900601B40 /* main.m */; };\n\t\tDC7DC4FE14154E4900601B40 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DC7DC4FC14154E4900601B40 /* Credits.rtf */; };\n\t\tDC7DC50114154E4900601B40 /* RegisteredLoggingTestAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7DC50014154E4900601B40 /* RegisteredLoggingTestAppDelegate.m */; };\n\t\tDC7DC50414154E4900601B40 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC7DC50214154E4900601B40 /* MainMenu.xib */; };\n\t\tDC7DC51C14154E8E00601B40 /* Lions.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7DC51B14154E8E00601B40 /* Lions.m */; };\n\t\tDC7DC51F14154FDA00601B40 /* Tigers.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7DC51E14154FDA00601B40 /* Tigers.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t66A6D03AF769C3ECC5E077D2 /* Pods-RegisteredLoggingTest.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RegisteredLoggingTest.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t880218D90D327729DA0D6416 /* Pods_RegisteredLoggingTest.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RegisteredLoggingTest.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tC3AF3866F07DA9310844AD49 /* Pods-RegisteredLoggingTest.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RegisteredLoggingTest.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tDC7DC4E914154E4900601B40 /* RegisteredLoggingTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RegisteredLoggingTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC7DC4ED14154E4900601B40 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDC7DC4F014154E4900601B40 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDC7DC4F114154E4900601B40 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDC7DC4F214154E4900601B40 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC7DC4F514154E4900601B40 /* RegisteredLoggingTest-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"RegisteredLoggingTest-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC7DC4F714154E4900601B40 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC7DC4F914154E4900601B40 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC7DC4FB14154E4900601B40 /* RegisteredLoggingTest-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"RegisteredLoggingTest-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC7DC4FD14154E4900601B40 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDC7DC4FF14154E4900601B40 /* RegisteredLoggingTestAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RegisteredLoggingTestAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC7DC50014154E4900601B40 /* RegisteredLoggingTestAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RegisteredLoggingTestAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC7DC50314154E4900601B40 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDC7DC51A14154E8E00601B40 /* Lions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lions.h; sourceTree = \"<group>\"; };\n\t\tDC7DC51B14154E8E00601B40 /* Lions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Lions.m; sourceTree = \"<group>\"; };\n\t\tDC7DC51D14154FDA00601B40 /* Tigers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tigers.h; sourceTree = \"<group>\"; };\n\t\tDC7DC51E14154FDA00601B40 /* Tigers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Tigers.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC7DC4E614154E4900601B40 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC7DC4EE14154E4900601B40 /* Cocoa.framework in Frameworks */,\n\t\t\t\t365987E879BE9EB3F29321B2 /* Pods_RegisteredLoggingTest.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t7DCD07310A525FAF6334A694 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tC3AF3866F07DA9310844AD49 /* Pods-RegisteredLoggingTest.debug.xcconfig */,\n\t\t\t\t66A6D03AF769C3ECC5E077D2 /* Pods-RegisteredLoggingTest.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC4DE14154E4900601B40 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC4F314154E4900601B40 /* RegisteredLoggingTest */,\n\t\t\t\tDC7DC4EC14154E4900601B40 /* Frameworks */,\n\t\t\t\tDC7DC4EA14154E4900601B40 /* Products */,\n\t\t\t\t7DCD07310A525FAF6334A694 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC4EA14154E4900601B40 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC4E914154E4900601B40 /* RegisteredLoggingTest.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC4EC14154E4900601B40 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC4ED14154E4900601B40 /* Cocoa.framework */,\n\t\t\t\tDC7DC4EF14154E4900601B40 /* Other Frameworks */,\n\t\t\t\t880218D90D327729DA0D6416 /* Pods_RegisteredLoggingTest.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC4EF14154E4900601B40 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC4F014154E4900601B40 /* AppKit.framework */,\n\t\t\t\tDC7DC4F114154E4900601B40 /* CoreData.framework */,\n\t\t\t\tDC7DC4F214154E4900601B40 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC4F314154E4900601B40 /* RegisteredLoggingTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC51A14154E8E00601B40 /* Lions.h */,\n\t\t\t\tDC7DC51B14154E8E00601B40 /* Lions.m */,\n\t\t\t\tDC7DC51D14154FDA00601B40 /* Tigers.h */,\n\t\t\t\tDC7DC51E14154FDA00601B40 /* Tigers.m */,\n\t\t\t\tDC7DC4FF14154E4900601B40 /* RegisteredLoggingTestAppDelegate.h */,\n\t\t\t\tDC7DC50014154E4900601B40 /* RegisteredLoggingTestAppDelegate.m */,\n\t\t\t\tDC7DC50214154E4900601B40 /* MainMenu.xib */,\n\t\t\t\tDC7DC4F414154E4900601B40 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RegisteredLoggingTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC4F414154E4900601B40 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC4F514154E4900601B40 /* RegisteredLoggingTest-Info.plist */,\n\t\t\t\tDC7DC4F614154E4900601B40 /* InfoPlist.strings */,\n\t\t\t\tDC7DC4F914154E4900601B40 /* main.m */,\n\t\t\t\tDC7DC4FB14154E4900601B40 /* RegisteredLoggingTest-Prefix.pch */,\n\t\t\t\tDC7DC4FC14154E4900601B40 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC7DC4E814154E4900601B40 /* RegisteredLoggingTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC7DC50714154E4900601B40 /* Build configuration list for PBXNativeTarget \"RegisteredLoggingTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tA936163124554BB1BA7D13D9 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDC7DC4E514154E4900601B40 /* Sources */,\n\t\t\t\tDC7DC4E614154E4900601B40 /* Frameworks */,\n\t\t\t\tDC7DC4E714154E4900601B40 /* Resources */,\n\t\t\t\tB9DC4D503BE443438FE41A2C /* [CP] Copy Pods Resources */,\n\t\t\t\t9E3278412D430E8597BAF6E9 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = RegisteredLoggingTest;\n\t\t\tproductName = RegisteredLoggingTest;\n\t\t\tproductReference = DC7DC4E914154E4900601B40 /* RegisteredLoggingTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC7DC4E014154E4900601B40 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC7DC4E314154E4900601B40 /* Build configuration list for PBXProject \"RegisteredLoggingTest\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC7DC4DE14154E4900601B40;\n\t\t\tproductRefGroup = DC7DC4EA14154E4900601B40 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC7DC4E814154E4900601B40 /* RegisteredLoggingTest */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC7DC4E714154E4900601B40 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC7DC4F814154E4900601B40 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC7DC4FE14154E4900601B40 /* Credits.rtf in Resources */,\n\t\t\t\tDC7DC50414154E4900601B40 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t9E3278412D430E8597BAF6E9 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tA936163124554BB1BA7D13D9 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-RegisteredLoggingTest-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tB9DC4D503BE443438FE41A2C /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC7DC4E514154E4900601B40 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC7DC4FA14154E4900601B40 /* main.m in Sources */,\n\t\t\t\tDC7DC50114154E4900601B40 /* RegisteredLoggingTestAppDelegate.m in Sources */,\n\t\t\t\tDC7DC51C14154E8E00601B40 /* Lions.m in Sources */,\n\t\t\t\tDC7DC51F14154FDA00601B40 /* Tigers.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC7DC4F614154E4900601B40 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC4F714154E4900601B40 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC4FC14154E4900601B40 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC4FD14154E4900601B40 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC50214154E4900601B40 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC50314154E4900601B40 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC7DC50514154E4900601B40 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC7DC50614154E4900601B40 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC7DC50814154E4900601B40 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = C3AF3866F07DA9310844AD49 /* Pods-RegisteredLoggingTest.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"RegisteredLoggingTest/RegisteredLoggingTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"RegisteredLoggingTest/RegisteredLoggingTest-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC7DC50914154E4900601B40 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 66A6D03AF769C3ECC5E077D2 /* Pods-RegisteredLoggingTest.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"RegisteredLoggingTest/RegisteredLoggingTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"RegisteredLoggingTest/RegisteredLoggingTest-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC7DC4E314154E4900601B40 /* Build configuration list for PBXProject \"RegisteredLoggingTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC7DC50514154E4900601B40 /* Debug */,\n\t\t\t\tDC7DC50614154E4900601B40 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC7DC50714154E4900601B40 /* Build configuration list for PBXNativeTarget \"RegisteredLoggingTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC7DC50814154E4900601B40 /* Debug */,\n\t\t\t\tDC7DC50914154E4900601B40 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC7DC4E014154E4900601B40 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Desktop/RegisteredLoggingTest.xcodeproj/xcshareddata/xcschemes/RegisteredLoggingTest (Desktop).xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DC7DC4E814154E4900601B40\"\n               BuildableName = \"RegisteredLoggingTest.app\"\n               BlueprintName = \"RegisteredLoggingTest\"\n               ReferencedContainer = \"container:RegisteredLoggingTest.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC7DC4E814154E4900601B40\"\n            BuildableName = \"RegisteredLoggingTest.app\"\n            BlueprintName = \"RegisteredLoggingTest\"\n            ReferencedContainer = \"container:RegisteredLoggingTest.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC7DC4E814154E4900601B40\"\n            BuildableName = \"RegisteredLoggingTest.app\"\n            BlueprintName = \"RegisteredLoggingTest\"\n            ReferencedContainer = \"container:RegisteredLoggingTest.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC7DC4E814154E4900601B40\"\n            BuildableName = \"RegisteredLoggingTest.app\"\n            BlueprintName = \"RegisteredLoggingTest\"\n            ReferencedContainer = \"container:RegisteredLoggingTest.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/Podfile",
    "content": "\nproject 'RegisteredLoggingTest'\nworkspace '../../Demos'\n\ntarget :'RegisteredLoggingTest' do\n  platform :ios, '8.0'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/Lions.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@interface Lions : NSObject\n\n+ (void)logStuff;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/Lions.m",
    "content": "#import \"Lions.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// Log levels: off, error, warn, info, verbose\nstatic DDLogLevel ddLogLevel = DDLogLevelWarning;\n\n\n@implementation Lions\n\n+ (NSUInteger)ddLogLevel\n{\n    return ddLogLevel;\n}\n\n+ (void)ddSetLogLevel:(int)logLevel\n{\n    ddLogLevel = logLevel;\n}\n\n+ (void)logStuff\n{\n    DDLogError(@\"%@ - Error\", THIS_FILE);\n    DDLogWarn(@\"%@ - Warn\", THIS_FILE);\n    DDLogInfo(@\"%@ - Info\", THIS_FILE);\n    DDLogVerbose(@\"%@ - Verbose\", THIS_FILE);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/RegisteredLoggingTest-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSMainNibFile</key>\n\t<string>MainWindow</string>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/RegisteredLoggingTest-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'RegisteredLoggingTest' target in the 'RegisteredLoggingTest' project\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_3_0\n#warning \"This project uses features only available in iPhone SDK 3.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n\t#import <UIKit/UIKit.h>\n\t#import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/RegisteredLoggingTestAppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class RegisteredLoggingTestViewController;\n\n\n@interface RegisteredLoggingTestAppDelegate : NSObject <UIApplicationDelegate>\n\n@property (nonatomic, strong) IBOutlet UIWindow *window;\n@property (nonatomic, strong) IBOutlet RegisteredLoggingTestViewController *viewController;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/RegisteredLoggingTestAppDelegate.m",
    "content": "#import \"RegisteredLoggingTestAppDelegate.h\"\n#import \"RegisteredLoggingTestViewController.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"Lions.h\"\n#import \"Tigers.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation RegisteredLoggingTestAppDelegate\n\n@synthesize window = _window;\n@synthesize viewController = _viewController;\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    [Lions logStuff];\n    [Tigers logStuff];\n    \n    NSArray *registeredClassNames = [DDLog registeredClassNames];\n    DDLogVerbose(@\"registeredClassNames: %@\", registeredClassNames);\n    \n    NSArray *registeredClasses = [DDLog registeredClasses];\n    for (Class class in registeredClasses)\n    {\n        [class ddSetLogLevel:DDLogLevelVerbose];\n    }\n    \n    [Lions logStuff];\n    [Tigers logStuff];\n    \n    self.window.rootViewController = self.viewController;\n    [self.window makeKeyAndVisible];\n    return YES;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/RegisteredLoggingTestViewController.h",
    "content": "#import <UIKit/UIKit.h>\n\n\n@interface RegisteredLoggingTestViewController : UIViewController\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/RegisteredLoggingTestViewController.m",
    "content": "#import \"RegisteredLoggingTestViewController.h\"\n\n\n@implementation RegisteredLoggingTestViewController\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/Tigers.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@interface Tigers : NSObject\n\n+ (void)logStuff;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/Tigers.m",
    "content": "#import \"Tigers.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// Log levels: off, error, warn, info, verbose\nstatic DDLogLevel ddLogLevel = DDLogLevelWarning;\n\n\n@implementation Tigers\n\n+ (NSUInteger)ddLogLevel\n{\n    return ddLogLevel;\n}\n\n+ (void)ddSetLogLevel:(int)logLevel\n{\n    ddLogLevel = logLevel;\n}\n\n+ (void)logStuff\n{\n    DDLogError(@\"%@ - Error\", THIS_FILE);\n    DDLogWarn(@\"%@ - Warn\", THIS_FILE);\n    DDLogInfo(@\"%@ - Info\", THIS_FILE);\n    DDLogVerbose(@\"%@ - Verbose\", THIS_FILE);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/en.lproj/MainWindow.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1024</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10D571</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">786</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.29</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">460.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">112</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"10\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"841351856\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"427554174\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUICustomObject\" id=\"664661524\">\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIViewController\" id=\"943309135\">\n\t\t\t\t<string key=\"IBUINibName\">RegisteredLoggingTestViewController</string>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<object class=\"IBUISimulatedOrientationMetrics\" key=\"IBUISimulatedOrientationMetrics\">\n\t\t\t\t\t<int key=\"interfaceOrientation\">1</int>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIHorizontal\">NO</bool>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIWindow\" id=\"117978783\">\n\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 480}</string>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t<bytes key=\"NSRGB\">MSAxIDEAA</bytes>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIResizesToFullScreen\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"664661524\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">4</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">viewController</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"943309135\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">11</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117978783\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">14</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">RegisteredLoggingTest App Delegate</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"427554174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"943309135\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">12</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117978783\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>10.CustomClassName</string>\n\t\t\t\t\t<string>10.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>10.IBPluginDependency</string>\n\t\t\t\t\t<string>12.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>12.IBPluginDependency</string>\n\t\t\t\t\t<string>3.CustomClassName</string>\n\t\t\t\t\t<string>3.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>UIApplication</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>RegisteredLoggingTestViewController</string>\n\t\t\t\t\t<string>{{234, 376}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>{{525, 346}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>RegisteredLoggingTestAppDelegate</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">15</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">RegisteredLoggingTestAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>RegisteredLoggingTestViewController</string>\n\t\t\t\t\t\t\t<string>UIWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">viewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">RegisteredLoggingTestViewController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">UIWindow</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">RegisteredLoggingTestAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">RegisteredLoggingTestAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">RegisteredLoggingTestViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">RegisteredLoggingTestViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"356479594\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"356479594\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchBar</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchBar.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchDisplayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchDisplayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITextField.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINavigationController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIPopoverController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISplitViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITabBarController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>\n\t\t\t<integer value=\"1024\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">RegisteredLoggingTest.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">112</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/en.lproj/RegisteredLoggingTestViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">800</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10C540</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">759</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.25</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">458.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">77</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"6\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 460}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>6.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>6.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>RegisteredLoggingTestViewController</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>{{239, 654}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">7</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">RegisteredLoggingTestViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">RegisteredLoggingTestViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">RegisteredLoggingTest.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">77</string>\n\t\t<nil key=\"IBCocoaTouchSimulationTargetRuntimeIdentifier\"/>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest/main.m",
    "content": "//\n//  main.m\n//  RegisteredLoggingTest\n//\n//  Created by Robbie Hanson on 9/5/11.\n//\n\n#import <UIKit/UIKit.h>\n\nint main(int argc, char *argv[])\n{\n    @autoreleasepool {\n        int retVal = UIApplicationMain(argc, argv, nil, nil);\n        return retVal;\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t4A13BEB29F06AA36B608BD68 /* Pods_RegisteredLoggingTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CB331C4BC5323F845B014D38 /* Pods_RegisteredLoggingTest.framework */; };\n\t\tDC7DC5301415523E00601B40 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC7DC52F1415523E00601B40 /* UIKit.framework */; };\n\t\tDC7DC5321415523E00601B40 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC7DC5311415523E00601B40 /* Foundation.framework */; };\n\t\tDC7DC5341415523E00601B40 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC7DC5331415523E00601B40 /* CoreGraphics.framework */; };\n\t\tDC7DC53A1415523E00601B40 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC7DC5381415523E00601B40 /* InfoPlist.strings */; };\n\t\tDC7DC53C1415523E00601B40 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7DC53B1415523E00601B40 /* main.m */; };\n\t\tDC7DC5401415523F00601B40 /* RegisteredLoggingTestAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7DC53F1415523F00601B40 /* RegisteredLoggingTestAppDelegate.m */; };\n\t\tDC7DC5431415523F00601B40 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC7DC5411415523F00601B40 /* MainWindow.xib */; };\n\t\tDC7DC5461415523F00601B40 /* RegisteredLoggingTestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7DC5451415523F00601B40 /* RegisteredLoggingTestViewController.m */; };\n\t\tDC7DC5491415523F00601B40 /* RegisteredLoggingTestViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC7DC5471415523F00601B40 /* RegisteredLoggingTestViewController.xib */; };\n\t\tDC7DC5671415538700601B40 /* Lions.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7DC5641415538700601B40 /* Lions.m */; };\n\t\tDC7DC5681415538700601B40 /* Tigers.m in Sources */ = {isa = PBXBuildFile; fileRef = DC7DC5661415538700601B40 /* Tigers.m */; };\n\t\tDCD6EACA16FFC34C00710668 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DCD6EAC916FFC34C00710668 /* Default-568h@2x.png */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t3441577751E32EA192860BE9 /* Pods-RegisteredLoggingTest.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RegisteredLoggingTest.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t510FDDC1E603974721634C29 /* Pods-RegisteredLoggingTest.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RegisteredLoggingTest.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tCB331C4BC5323F845B014D38 /* Pods_RegisteredLoggingTest.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RegisteredLoggingTest.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC7DC52B1415523E00601B40 /* RegisteredLoggingTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RegisteredLoggingTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC7DC52F1415523E00601B40 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\tDC7DC5311415523E00601B40 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC7DC5331415523E00601B40 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tDC7DC5371415523E00601B40 /* RegisteredLoggingTest-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"RegisteredLoggingTest-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC7DC5391415523E00601B40 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC7DC53B1415523E00601B40 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC7DC53D1415523E00601B40 /* RegisteredLoggingTest-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"RegisteredLoggingTest-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC7DC53E1415523F00601B40 /* RegisteredLoggingTestAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RegisteredLoggingTestAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC7DC53F1415523F00601B40 /* RegisteredLoggingTestAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RegisteredLoggingTestAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC7DC5421415523F00601B40 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = \"<group>\"; };\n\t\tDC7DC5441415523F00601B40 /* RegisteredLoggingTestViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RegisteredLoggingTestViewController.h; sourceTree = \"<group>\"; };\n\t\tDC7DC5451415523F00601B40 /* RegisteredLoggingTestViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RegisteredLoggingTestViewController.m; sourceTree = \"<group>\"; };\n\t\tDC7DC5481415523F00601B40 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/RegisteredLoggingTestViewController.xib; sourceTree = \"<group>\"; };\n\t\tDC7DC5631415538700601B40 /* Lions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Lions.h; sourceTree = \"<group>\"; };\n\t\tDC7DC5641415538700601B40 /* Lions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Lions.m; sourceTree = \"<group>\"; };\n\t\tDC7DC5651415538700601B40 /* Tigers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tigers.h; sourceTree = \"<group>\"; };\n\t\tDC7DC5661415538700601B40 /* Tigers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Tigers.m; sourceTree = \"<group>\"; };\n\t\tDCD6EAC916FFC34C00710668 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = \"Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC7DC5281415523E00601B40 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC7DC5301415523E00601B40 /* UIKit.framework in Frameworks */,\n\t\t\t\tDC7DC5321415523E00601B40 /* Foundation.framework in Frameworks */,\n\t\t\t\tDC7DC5341415523E00601B40 /* CoreGraphics.framework in Frameworks */,\n\t\t\t\t4A13BEB29F06AA36B608BD68 /* Pods_RegisteredLoggingTest.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t6D7B528557A33DCAF5C93B95 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t510FDDC1E603974721634C29 /* Pods-RegisteredLoggingTest.debug.xcconfig */,\n\t\t\t\t3441577751E32EA192860BE9 /* Pods-RegisteredLoggingTest.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC5201415523E00601B40 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCD6EAC916FFC34C00710668 /* Default-568h@2x.png */,\n\t\t\t\tDC7DC5351415523E00601B40 /* RegisteredLoggingTest */,\n\t\t\t\tDC7DC52E1415523E00601B40 /* Frameworks */,\n\t\t\t\tDC7DC52C1415523E00601B40 /* Products */,\n\t\t\t\t6D7B528557A33DCAF5C93B95 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC52C1415523E00601B40 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC52B1415523E00601B40 /* RegisteredLoggingTest.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC52E1415523E00601B40 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC52F1415523E00601B40 /* UIKit.framework */,\n\t\t\t\tDC7DC5311415523E00601B40 /* Foundation.framework */,\n\t\t\t\tDC7DC5331415523E00601B40 /* CoreGraphics.framework */,\n\t\t\t\tCB331C4BC5323F845B014D38 /* Pods_RegisteredLoggingTest.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC5351415523E00601B40 /* RegisteredLoggingTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC5631415538700601B40 /* Lions.h */,\n\t\t\t\tDC7DC5641415538700601B40 /* Lions.m */,\n\t\t\t\tDC7DC5651415538700601B40 /* Tigers.h */,\n\t\t\t\tDC7DC5661415538700601B40 /* Tigers.m */,\n\t\t\t\tDC7DC53E1415523F00601B40 /* RegisteredLoggingTestAppDelegate.h */,\n\t\t\t\tDC7DC53F1415523F00601B40 /* RegisteredLoggingTestAppDelegate.m */,\n\t\t\t\tDC7DC5411415523F00601B40 /* MainWindow.xib */,\n\t\t\t\tDC7DC5441415523F00601B40 /* RegisteredLoggingTestViewController.h */,\n\t\t\t\tDC7DC5451415523F00601B40 /* RegisteredLoggingTestViewController.m */,\n\t\t\t\tDC7DC5471415523F00601B40 /* RegisteredLoggingTestViewController.xib */,\n\t\t\t\tDC7DC5361415523E00601B40 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = RegisteredLoggingTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC5361415523E00601B40 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC5371415523E00601B40 /* RegisteredLoggingTest-Info.plist */,\n\t\t\t\tDC7DC5381415523E00601B40 /* InfoPlist.strings */,\n\t\t\t\tDC7DC53B1415523E00601B40 /* main.m */,\n\t\t\t\tDC7DC53D1415523E00601B40 /* RegisteredLoggingTest-Prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC7DC52A1415523E00601B40 /* RegisteredLoggingTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC7DC54C1415523F00601B40 /* Build configuration list for PBXNativeTarget \"RegisteredLoggingTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tFA12C30316144F6E95AE179B /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDC7DC5271415523E00601B40 /* Sources */,\n\t\t\t\tDC7DC5281415523E00601B40 /* Frameworks */,\n\t\t\t\tDC7DC5291415523E00601B40 /* Resources */,\n\t\t\t\t7063814F578A4C06A5BD9EBE /* [CP] Copy Pods Resources */,\n\t\t\t\tFA988705AA33BC3014454B1C /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = RegisteredLoggingTest;\n\t\t\tproductName = RegisteredLoggingTest;\n\t\t\tproductReference = DC7DC52B1415523E00601B40 /* RegisteredLoggingTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC7DC5221415523E00601B40 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC7DC5251415523E00601B40 /* Build configuration list for PBXProject \"RegisteredLoggingTest\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC7DC5201415523E00601B40;\n\t\t\tproductRefGroup = DC7DC52C1415523E00601B40 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC7DC52A1415523E00601B40 /* RegisteredLoggingTest */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC7DC5291415523E00601B40 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC7DC53A1415523E00601B40 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC7DC5431415523F00601B40 /* MainWindow.xib in Resources */,\n\t\t\t\tDC7DC5491415523F00601B40 /* RegisteredLoggingTestViewController.xib in Resources */,\n\t\t\t\tDCD6EACA16FFC34C00710668 /* Default-568h@2x.png in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t7063814F578A4C06A5BD9EBE /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tFA12C30316144F6E95AE179B /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-RegisteredLoggingTest-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tFA988705AA33BC3014454B1C /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RegisteredLoggingTest/Pods-RegisteredLoggingTest-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC7DC5271415523E00601B40 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC7DC53C1415523E00601B40 /* main.m in Sources */,\n\t\t\t\tDC7DC5401415523F00601B40 /* RegisteredLoggingTestAppDelegate.m in Sources */,\n\t\t\t\tDC7DC5461415523F00601B40 /* RegisteredLoggingTestViewController.m in Sources */,\n\t\t\t\tDC7DC5671415538700601B40 /* Lions.m in Sources */,\n\t\t\t\tDC7DC5681415538700601B40 /* Tigers.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC7DC5381415523E00601B40 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC5391415523E00601B40 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC5411415523F00601B40 /* MainWindow.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC5421415523F00601B40 /* en */,\n\t\t\t);\n\t\t\tname = MainWindow.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC7DC5471415523F00601B40 /* RegisteredLoggingTestViewController.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC7DC5481415523F00601B40 /* en */,\n\t\t\t);\n\t\t\tname = RegisteredLoggingTestViewController.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC7DC54A1415523F00601B40 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvmgcc42;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC7DC54B1415523F00601B40 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvmgcc42;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC7DC54D1415523F00601B40 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 510FDDC1E603974721634C29 /* Pods-RegisteredLoggingTest.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"RegisteredLoggingTest/RegisteredLoggingTest-Prefix.pch\";\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"RegisteredLoggingTest/RegisteredLoggingTest-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC7DC54E1415523F00601B40 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 3441577751E32EA192860BE9 /* Pods-RegisteredLoggingTest.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"RegisteredLoggingTest/RegisteredLoggingTest-Prefix.pch\";\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"RegisteredLoggingTest/RegisteredLoggingTest-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.oss.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC7DC5251415523E00601B40 /* Build configuration list for PBXProject \"RegisteredLoggingTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC7DC54A1415523F00601B40 /* Debug */,\n\t\t\t\tDC7DC54B1415523F00601B40 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC7DC54C1415523F00601B40 /* Build configuration list for PBXNativeTarget \"RegisteredLoggingTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC7DC54D1415523F00601B40 /* Debug */,\n\t\t\t\tDC7DC54E1415523F00601B40 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC7DC5221415523E00601B40 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RegisteredDynamicLogging/Mobile/RegisteredLoggingTest.xcodeproj/xcshareddata/xcschemes/RegisteredLoggingTest (Mobile).xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DC7DC52A1415523E00601B40\"\n               BuildableName = \"RegisteredLoggingTest.app\"\n               BlueprintName = \"RegisteredLoggingTest\"\n               ReferencedContainer = \"container:RegisteredLoggingTest.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC7DC52A1415523E00601B40\"\n            BuildableName = \"RegisteredLoggingTest.app\"\n            BlueprintName = \"RegisteredLoggingTest\"\n            ReferencedContainer = \"container:RegisteredLoggingTest.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC7DC52A1415523E00601B40\"\n            BuildableName = \"RegisteredLoggingTest.app\"\n            BlueprintName = \"RegisteredLoggingTest\"\n            ReferencedContainer = \"container:RegisteredLoggingTest.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC7DC52A1415523E00601B40\"\n            BuildableName = \"RegisteredLoggingTest.app\"\n            BlueprintName = \"RegisteredLoggingTest\"\n            ReferencedContainer = \"container:RegisteredLoggingTest.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/English.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/English.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">RollingTestMac</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">RollingTestMac</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About RollingTestMac</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide RollingTestMac</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit RollingTestMac</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">RollingTestMac Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">RollingTestMac</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">RollingTestMacAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">RollingTestMacAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">RollingTestMacAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../RollingTestMac.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/Podfile",
    "content": "\nproject 'RollingTestMac'\nworkspace '../Demos'\n\ntarget :'RollingTestMac' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/ReadMe.txt",
    "content": "This Xcode project tests the file logger by ensuring that it is properly rolling log files when it should. It is a unit test project."
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/RollingTestMac-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/RollingTestMac.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };\n\t\t256AC3DA0F4B6AC300CF3369 /* RollingTestMacAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* RollingTestMacAppDelegate.m */; };\n\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };\n\t\t8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };\n\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };\n\t\tF3D833426A06A2327D3AFA4D /* Pods_RollingTestMac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 975341F6C44124D17C7625EB /* Pods_RollingTestMac.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = \"<absolute>\"; };\n\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = \"<absolute>\"; };\n\t\t1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t256AC3D80F4B6AC300CF3369 /* RollingTestMacAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RollingTestMacAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t256AC3D90F4B6AC300CF3369 /* RollingTestMacAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RollingTestMacAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t256AC3F00F4B6AF500CF3369 /* RollingTestMac_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RollingTestMac_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t259AECB876DB57128CC04346 /* Pods-RollingTestMac.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RollingTestMac.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-RollingTestMac/Pods-RollingTestMac.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = \"<absolute>\"; };\n\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = \"<absolute>\"; };\n\t\t4215354DD22D878E9CCCB4EF /* Pods-RollingTestMac.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-RollingTestMac.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-RollingTestMac/Pods-RollingTestMac.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t8D1107310486CEB800E47090 /* RollingTestMac-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"RollingTestMac-Info.plist\"; sourceTree = \"<group>\"; };\n\t\t8D1107320486CEB800E47090 /* RollingTestMac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RollingTestMac.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t975341F6C44124D17C7625EB /* Pods_RollingTestMac.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RollingTestMac.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8D11072E0486CEB800E47090 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,\n\t\t\t\tF3D833426A06A2327D3AFA4D /* Pods_RollingTestMac.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3D80F4B6AC300CF3369 /* RollingTestMacAppDelegate.h */,\n\t\t\t\t256AC3D90F4B6AC300CF3369 /* RollingTestMacAppDelegate.m */,\n\t\t\t);\n\t\t\tname = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,\n\t\t\t);\n\t\t\tname = \"Linked Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t29B97324FDCFA39411CA2CEA /* AppKit.framework */,\n\t\t\t\t13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,\n\t\t\t\t29B97325FDCFA39411CA2CEA /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107320486CEB800E47090 /* RollingTestMac.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* RollingTestMac */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\tF4E1EC395EF86400329225AA /* Pods */,\n\t\t\t);\n\t\t\tname = RollingTestMac;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t256AC3F00F4B6AF500CF3369 /* RollingTestMac_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8D1107310486CEB800E47090 /* RollingTestMac-Info.plist */,\n\t\t\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,\n\t\t\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,\n\t\t\t\t1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,\n\t\t\t\t975341F6C44124D17C7625EB /* Pods_RollingTestMac.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tF4E1EC395EF86400329225AA /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t259AECB876DB57128CC04346 /* Pods-RollingTestMac.debug.xcconfig */,\n\t\t\t\t4215354DD22D878E9CCCB4EF /* Pods-RollingTestMac.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t8D1107260486CEB800E47090 /* RollingTestMac */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"RollingTestMac\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t089011EFDA7E48C6A40CFA28 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t8D1107290486CEB800E47090 /* Resources */,\n\t\t\t\t8D11072C0486CEB800E47090 /* Sources */,\n\t\t\t\t8D11072E0486CEB800E47090 /* Frameworks */,\n\t\t\t\tB8FF1E3E5E4A405491F2CEFB /* [CP] Copy Pods Resources */,\n\t\t\t\t46914B36D3D9ECABD74E692E /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = RollingTestMac;\n\t\t\tproductInstallPath = \"$(HOME)/Applications\";\n\t\t\tproductName = RollingTestMac;\n\t\t\tproductReference = 8D1107320486CEB800E47090 /* RollingTestMac.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"RollingTestMac\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* RollingTestMac */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8D1107260486CEB800E47090 /* RollingTestMac */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8D1107290486CEB800E47090 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,\n\t\t\t\t1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t089011EFDA7E48C6A40CFA28 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-RollingTestMac-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t46914B36D3D9ECABD74E692E /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-RollingTestMac/Pods-RollingTestMac-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RollingTestMac/Pods-RollingTestMac-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tB8FF1E3E5E4A405491F2CEFB /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-RollingTestMac/Pods-RollingTestMac-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8D11072C0486CEB800E47090 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8D11072D0486CEB800E47090 /* main.m in Sources */,\n\t\t\t\t256AC3DA0F4B6AC300CF3369 /* RollingTestMacAppDelegate.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\t089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t089C165DFE840E0CC02AAC07 /* English */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t1DDD58150DA1D0A300B32029 /* English */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tC01FCF4B08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 259AECB876DB57128CC04346 /* Pods-RollingTestMac.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = RollingTestMac_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"RollingTestMac-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = RollingTestMac;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF4C08A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 4215354DD22D878E9CCCB4EF /* Pods-RollingTestMac.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_MODEL_TUNING = G5;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = RollingTestMac_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"RollingTestMac-Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = RollingTestMac;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tC01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget \"RollingTestMac\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4B08A954540054247B /* Debug */,\n\t\t\t\tC01FCF4C08A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"RollingTestMac\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/RollingTestMac.xcodeproj/xcshareddata/xcschemes/RollingTestMac.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n               BuildableName = \"RollingTestMac.app\"\n               BlueprintName = \"RollingTestMac\"\n               ReferencedContainer = \"container:RollingTestMac.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"RollingTestMac.app\"\n            BlueprintName = \"RollingTestMac\"\n            ReferencedContainer = \"container:RollingTestMac.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"RollingTestMac.app\"\n            BlueprintName = \"RollingTestMac\"\n            ReferencedContainer = \"container:RollingTestMac.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8D1107260486CEB800E47090\"\n            BuildableName = \"RollingTestMac.app\"\n            BlueprintName = \"RollingTestMac\"\n            ReferencedContainer = \"container:RollingTestMac.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/RollingTestMacAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class DDFileLogger;\n\n\n@interface RollingTestMacAppDelegate : NSObject <NSApplicationDelegate>\n{\n    DDFileLogger *fileLogger;\n    \n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/RollingTestMacAppDelegate.m",
    "content": "#import \"RollingTestMacAppDelegate.h\"\n\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// Debug levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation RollingTestMacAppDelegate\n\n@synthesize window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    fileLogger = [[DDFileLogger alloc] init];\n    \n    fileLogger.maximumFileSize = 1024 * 1;  //  1 KB\n    fileLogger.rollingFrequency = 60;       // 60 Seconds\n    \n    fileLogger.logFileManager.maximumNumberOfLogFiles = 4;\n    \n    [DDLog addLogger:fileLogger];\n    \n    // Test auto log file roll\n    \n    [NSTimer scheduledTimerWithTimeInterval:1.0\n                                     target:self\n                                   selector:@selector(fillLogFiles:)\n                                   userInfo:nil\n                                    repeats:YES];\n    \n    // Test forced log file roll\n    \n//  DDLogInfo(@\"Log file 1 : Log message 1\");\n//  DDLogInfo(@\"Log file 1 : Log message 2\");\n//  DDLogInfo(@\"Log file 1 : Log message 3\");\n//  \n//  [fileLogger rollLogFile];\n//  \n//  DDLogInfo(@\"Log file 2 : Log message 1\");\n//  DDLogInfo(@\"Log file 2 : Log message 2\");\n//  DDLogInfo(@\"Log file 2 : Log message 3\");\n}\n\n- (void)fillLogFiles:(NSTimer *)aTimer\n{\n    int max = 1;\n    \n    // To test rolling log files due to age, set max to 1\n    // To test rolling log files due to size, set max to 10\n    \n    for (int i = 0; i < max; i++)\n    {\n        DDLogInfo(@\"I like cheese\");\n    }\n    \n    NSLog(@\"Inc\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/RollingTestMac_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'RollingTestMac' target in the 'RollingTestMac' project\n//\n\n#ifdef __OBJC__\n    #import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/RollingTestMac/main.m",
    "content": "//\n//  main.m\n//  RollingTestMac\n//\n//  Created by Robbie Hanson on 5/6/10.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc,  (const char **) argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/FMDB/FMDatabase.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"sqlite3.h\"\n#import \"FMResultSet.h\"\n\n@interface FMDatabase : NSObject \n{\n    sqlite3*    db;\n    NSString*   databasePath;\n    BOOL        logsErrors;\n    BOOL        crashOnErrors;\n    BOOL        inUse;\n    BOOL        inTransaction;\n    BOOL        traceExecution;\n    BOOL        checkedOut;\n    int         busyRetryTimeout;\n    BOOL        shouldCacheStatements;\n    NSMutableDictionary *cachedStatements;\n    NSMutableSet *openResultSets;\n}\n\n\n+ (id)databaseWithPath:(NSString*)inPath;\n- (id)initWithPath:(NSString*)inPath;\n\n- (BOOL)open;\n#if SQLITE_VERSION_NUMBER >= 3005000\n- (BOOL)openWithFlags:(int)flags;\n#endif\n- (BOOL)close;\n- (BOOL)goodConnection;\n- (void)clearCachedStatements;\n- (void)closeOpenResultSets;\n\n// encryption methods.  You need to have purchased the sqlite encryption extensions for these to work.\n- (BOOL)setKey:(NSString*)key;\n- (BOOL)rekey:(NSString*)key;\n\n\n- (NSString *)databasePath;\n\n- (NSString*)lastErrorMessage;\n\n- (int)lastErrorCode;\n- (BOOL)hadError;\n- (sqlite_int64)lastInsertRowId;\n\n- (sqlite3*)sqliteHandle;\n\n- (BOOL)update:(NSString*)sql error:(NSError**)outErr bind:(id)bindArgs, ...;\n- (BOOL)executeUpdate:(NSString*)sql, ...;\n- (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments;\n- (BOOL)executeUpdate:(NSString*)sql error:(NSError**)outErr withArgumentsInArray:(NSArray*)arrayArgs orVAList:(va_list)args; // you shouldn't ever need to call this.  use the previous two instead.\n\n- (FMResultSet *)executeQuery:(NSString*)sql, ...;\n- (FMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray *)arguments;\n- (FMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray*)arrayArgs orVAList:(va_list)args; // you shouldn't ever need to call this.  use the previous two instead.\n\n- (BOOL)rollback;\n- (BOOL)commit;\n- (BOOL)beginTransaction;\n- (BOOL)beginDeferredTransaction;\n\n- (BOOL)logsErrors;\n- (void)setLogsErrors:(BOOL)flag;\n\n- (BOOL)crashOnErrors;\n- (void)setCrashOnErrors:(BOOL)flag;\n\n- (BOOL)inUse;\n- (void)setInUse:(BOOL)value;\n\n- (BOOL)inTransaction;\n- (void)setInTransaction:(BOOL)flag;\n\n- (BOOL)traceExecution;\n- (void)setTraceExecution:(BOOL)flag;\n\n- (BOOL)checkedOut;\n- (void)setCheckedOut:(BOOL)flag;\n\n- (int)busyRetryTimeout;\n- (void)setBusyRetryTimeout:(int)newBusyRetryTimeout;\n\n- (BOOL)shouldCacheStatements;\n- (void)setShouldCacheStatements:(BOOL)value;\n\n- (NSMutableDictionary *)cachedStatements;\n- (void)setCachedStatements:(NSMutableDictionary *)value;\n\n\n+ (NSString*)sqliteLibVersion;\n\n- (int)changes;\n\n@end\n\n@interface FMStatement : NSObject {\n    sqlite3_stmt *statement;\n    NSString *query;\n    long useCount;\n}\n\n\n- (void)close;\n- (void)reset;\n\n- (sqlite3_stmt *)statement;\n- (void)setStatement:(sqlite3_stmt *)value;\n\n- (NSString *)query;\n- (void)setQuery:(NSString *)value;\n\n- (long)useCount;\n- (void)setUseCount:(long)value;\n\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/FMDB/FMDatabase.m",
    "content": "#import \"FMDatabase.h\"\n#import \"unistd.h\"\n\n@implementation FMDatabase\n\n+ (id)databaseWithPath:(NSString*)aPath {\n    return [[[self alloc] initWithPath:aPath] autorelease];\n}\n\n- (id)initWithPath:(NSString*)aPath {\n    self = [super init];\n    \n    if (self) {\n        databasePath        = [aPath copy];\n        openResultSets      = [[NSMutableSet alloc] init];\n        db                  = 0x00;\n        logsErrors          = 0x00;\n        crashOnErrors       = 0x00;\n        busyRetryTimeout    = 0x00;\n    }\n    \n    return self;\n}\n\n- (void)finalize {\n    [self close];\n    [super finalize];\n}\n\n- (void)dealloc {\n    [self close];\n    \n    [openResultSets release];\n    [cachedStatements release];\n    [databasePath release];\n    \n    [super dealloc];\n}\n\n+ (NSString*)sqliteLibVersion {\n    return [NSString stringWithFormat:@\"%s\", sqlite3_libversion()];\n}\n\n- (NSString *)databasePath {\n    return databasePath;\n}\n\n- (sqlite3*)sqliteHandle {\n    return db;\n}\n\n- (BOOL)open {\n    if (db) {\n        return YES;\n    }\n    \n    int err = sqlite3_open((databasePath ? [databasePath fileSystemRepresentation] : \":memory:\"), &db );\n    if(err != SQLITE_OK) {\n        NSLog(@\"error opening!: %d\", err);\n        return NO;\n    }\n    \n    return YES;\n}\n\n#if SQLITE_VERSION_NUMBER >= 3005000\n- (BOOL)openWithFlags:(int)flags {\n    int err = sqlite3_open_v2((databasePath ? [databasePath fileSystemRepresentation] : \":memory:\"), &db, flags, NULL /* Name of VFS module to use */);\n    if(err != SQLITE_OK) {\n        NSLog(@\"error opening!: %d\", err);\n        return NO;\n    }\n    return YES;\n}\n#endif\n\n\n- (BOOL)close {\n    \n    [self clearCachedStatements];\n    [self closeOpenResultSets];\n    \n    if (!db) {\n        return YES;\n    }\n    \n    int  rc;\n    BOOL retry;\n    int numberOfRetries = 0;\n    do {\n        retry   = NO;\n        rc      = sqlite3_close(db);\n        if (SQLITE_BUSY == rc || SQLITE_LOCKED == rc) {\n            retry = YES;\n            usleep(20);\n            if (busyRetryTimeout && (numberOfRetries++ > busyRetryTimeout)) {\n                NSLog(@\"%s:%d\", __FUNCTION__, __LINE__);\n                NSLog(@\"Database busy, unable to close\");\n                return NO;\n            }\n        }\n        else if (SQLITE_OK != rc) {\n            NSLog(@\"error closing!: %d\", rc);\n        }\n    }\n    while (retry);\n    \n    db = nil;\n    return YES;\n}\n\n- (void)clearCachedStatements {\n    \n    NSEnumerator *e = [cachedStatements objectEnumerator];\n    FMStatement *cachedStmt;\n\n    while ((cachedStmt = [e nextObject])) {\n        [cachedStmt close];\n    }\n    \n    [cachedStatements removeAllObjects];\n}\n\n- (void)closeOpenResultSets {\n    //Copy the set so we don't get mutation errors\n    NSSet *resultSets = [[openResultSets copy] autorelease];\n    \n    NSEnumerator *e = [resultSets objectEnumerator];\n    NSValue *returnedResultSet = nil;\n    \n    while((returnedResultSet = [e nextObject])) {\n        FMResultSet *rs = (FMResultSet *)[returnedResultSet pointerValue];\n        if ([rs respondsToSelector:@selector(close)]) {\n            [rs close];\n        }\n    }\n}\n\n- (void)resultSetDidClose:(FMResultSet *)resultSet {\n    NSValue *setValue = [NSValue valueWithNonretainedObject:resultSet];\n    [openResultSets removeObject:setValue];\n}\n\n- (FMStatement*)cachedStatementForQuery:(NSString*)query {\n    return [cachedStatements objectForKey:query];\n}\n\n- (void)setCachedStatement:(FMStatement*)statement forQuery:(NSString*)query {\n    if (!query) {\n        return;\n    }\n    \n    //NSLog(@\"setting query: %@\", query);\n    query = [query copy]; // in case we got handed in a mutable string...\n    [statement setQuery:query];\n    [cachedStatements setObject:statement forKey:query];\n    [query release];\n}\n\n\n- (BOOL)rekey:(NSString*)key {\n#ifdef SQLITE_HAS_CODEC\n    if (!key) {\n        return NO;\n    }\n    \n    int rc = sqlite3_rekey(db, [key UTF8String], strlen([key UTF8String]));\n    \n    if (rc != SQLITE_OK) {\n        NSLog(@\"error on rekey: %d\", rc);\n        NSLog(@\"%@\", [self lastErrorMessage]);\n    }\n    \n    return (rc == SQLITE_OK);\n#else\n    return NO;\n#endif\n}\n\n- (BOOL)setKey:(NSString*)key {\n#ifdef SQLITE_HAS_CODEC\n    if (!key) {\n        return NO;\n    }\n    \n    int rc = sqlite3_key(db, [key UTF8String], strlen([key UTF8String]));\n    \n    return (rc == SQLITE_OK);\n#else\n    return NO;\n#endif\n}\n\n- (BOOL)goodConnection {\n    \n    if (!db) {\n        return NO;\n    }\n    \n    FMResultSet *rs = [self executeQuery:@\"select name from sqlite_master where type='table'\"];\n    \n    if (rs) {\n        [rs close];\n        return YES;\n    }\n    \n    return NO;\n}\n\n- (void)compainAboutInUse {\n    NSLog(@\"The FMDatabase %@ is currently in use.\", self);\n    \n#ifndef NS_BLOCK_ASSERTIONS\n    if (crashOnErrors) {\n        NSAssert1(false, @\"The FMDatabase %@ is currently in use.\", self);\n    }\n#endif\n}\n\n- (NSString*)lastErrorMessage {\n    return [NSString stringWithUTF8String:sqlite3_errmsg(db)];\n}\n\n- (BOOL)hadError {\n    int lastErrCode = [self lastErrorCode];\n    \n    return (lastErrCode > SQLITE_OK && lastErrCode < SQLITE_ROW);\n}\n\n- (int)lastErrorCode {\n    return sqlite3_errcode(db);\n}\n\n- (sqlite_int64)lastInsertRowId {\n    \n    if (inUse) {\n        [self compainAboutInUse];\n        return NO;\n    }\n    [self setInUse:YES];\n    \n    sqlite_int64 ret = sqlite3_last_insert_rowid(db);\n    \n    [self setInUse:NO];\n    \n    return ret;\n}\n\n- (int)changes {\n    if (inUse) {\n        [self compainAboutInUse];\n        return 0;\n    }\n    \n    [self setInUse:YES];\n    int ret = sqlite3_changes(db);\n    [self setInUse:NO];\n    \n    return ret;\n}\n\n- (void)bindObject:(id)obj toColumn:(int)idx inStatement:(sqlite3_stmt*)pStmt {\n    \n    if ((!obj) || ((NSNull *)obj == [NSNull null])) {\n        sqlite3_bind_null(pStmt, idx);\n    }\n    \n    // FIXME - someday check the return codes on these binds.\n    else if ([obj isKindOfClass:[NSData class]]) {\n        sqlite3_bind_blob(pStmt, idx, [obj bytes], (int)[obj length], SQLITE_STATIC);\n    }\n    else if ([obj isKindOfClass:[NSDate class]]) {\n        sqlite3_bind_double(pStmt, idx, [obj timeIntervalSince1970]);\n    }\n    else if ([obj isKindOfClass:[NSNumber class]]) {\n        \n        if (strcmp([obj objCType], @encode(BOOL)) == 0) {\n            sqlite3_bind_int(pStmt, idx, ([obj boolValue] ? 1 : 0));\n        }\n        else if (strcmp([obj objCType], @encode(int)) == 0) {\n            sqlite3_bind_int64(pStmt, idx, [obj longValue]);\n        }\n        else if (strcmp([obj objCType], @encode(long)) == 0) {\n            sqlite3_bind_int64(pStmt, idx, [obj longValue]);\n        }\n        else if (strcmp([obj objCType], @encode(long long)) == 0) {\n            sqlite3_bind_int64(pStmt, idx, [obj longLongValue]);\n        }\n        else if (strcmp([obj objCType], @encode(float)) == 0) {\n            sqlite3_bind_double(pStmt, idx, [obj floatValue]);\n        }\n        else if (strcmp([obj objCType], @encode(double)) == 0) {\n            sqlite3_bind_double(pStmt, idx, [obj doubleValue]);\n        }\n        else {\n            sqlite3_bind_text(pStmt, idx, [[obj description] UTF8String], -1, SQLITE_STATIC);\n        }\n    }\n    else {\n        sqlite3_bind_text(pStmt, idx, [[obj description] UTF8String], -1, SQLITE_STATIC);\n    }\n}\n\n- (FMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray*)arrayArgs orVAList:(va_list)args {\n    \n    if (inUse) {\n        [self compainAboutInUse];\n        return nil;\n    }\n    \n    [self setInUse:YES];\n    \n    FMResultSet *rs = nil;\n    \n    int rc                  = 0x00;;\n    sqlite3_stmt *pStmt     = 0x00;;\n    FMStatement *statement  = 0x00;\n    \n    if (traceExecution && sql) {\n        NSLog(@\"%@ executeQuery: %@\", self, sql);\n    }\n    \n    if (shouldCacheStatements) {\n        statement = [self cachedStatementForQuery:sql];\n        pStmt = statement ? [statement statement] : 0x00;\n    }\n    \n    int numberOfRetries = 0;\n    BOOL retry          = NO;\n    \n    if (!pStmt) {\n        do {\n            retry   = NO;\n            rc      = sqlite3_prepare_v2(db, [sql UTF8String], -1, &pStmt, 0);\n            \n            if (SQLITE_BUSY == rc || SQLITE_LOCKED == rc) {\n                retry = YES;\n                usleep(20);\n                \n                if (busyRetryTimeout && (numberOfRetries++ > busyRetryTimeout)) {\n                    NSLog(@\"%s:%d Database busy (%@)\", __FUNCTION__, __LINE__, [self databasePath]);\n                    NSLog(@\"Database busy\");\n                    sqlite3_finalize(pStmt);\n                    [self setInUse:NO];\n                    return nil;\n                }\n            }\n            else if (SQLITE_OK != rc) {\n                \n                \n                if (logsErrors) {\n                    NSLog(@\"DB Error: %d \\\"%@\\\"\", [self lastErrorCode], [self lastErrorMessage]);\n                    NSLog(@\"DB Query: %@\", sql);\n#ifndef NS_BLOCK_ASSERTIONS\n                    if (crashOnErrors) {\n                        NSAssert2(false, @\"DB Error: %d \\\"%@\\\"\", [self lastErrorCode], [self lastErrorMessage]);\n                    }\n#endif\n                }\n                \n                sqlite3_finalize(pStmt);\n                \n                [self setInUse:NO];\n                return nil;\n            }\n        }\n        while (retry);\n    }\n    \n    id obj;\n    int idx = 0;\n    int queryCount = sqlite3_bind_parameter_count(pStmt); // pointed out by Dominic Yu (thanks!)\n    \n    while (idx < queryCount) {\n        \n        if (arrayArgs) {\n            obj = [arrayArgs objectAtIndex:idx];\n        }\n        else {\n            obj = va_arg(args, id);\n        }\n        \n        if (traceExecution) {\n            NSLog(@\"obj: %@\", obj);\n        }\n        \n        idx++;\n        \n        [self bindObject:obj toColumn:idx inStatement:pStmt];\n    }\n    \n    if (idx != queryCount) {\n        NSLog(@\"Error: the bind count is not correct for the # of variables (executeQuery)\");\n        sqlite3_finalize(pStmt);\n        [self setInUse:NO];\n        return nil;\n    }\n    \n    [statement retain]; // to balance the release below\n    \n    if (!statement) {\n        statement = [[FMStatement alloc] init];\n        [statement setStatement:pStmt];\n        \n        if (shouldCacheStatements) {\n            [self setCachedStatement:statement forQuery:sql];\n        }\n    }\n    \n    // the statement gets closed in rs's dealloc or [rs close];\n    rs = [FMResultSet resultSetWithStatement:statement usingParentDatabase:self];\n    [rs setQuery:sql];\n    NSValue *openResultSet = [NSValue valueWithNonretainedObject:rs];\n    [openResultSets addObject:openResultSet];\n    \n    statement.useCount = statement.useCount + 1;\n    \n    [statement release];    \n    \n    [self setInUse:NO];\n    \n    return rs;\n}\n\n- (FMResultSet *)executeQuery:(NSString*)sql, ... {\n    va_list args;\n    va_start(args, sql);\n    \n    id result = [self executeQuery:sql withArgumentsInArray:nil orVAList:args];\n    \n    va_end(args);\n    return result;\n}\n\n- (FMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray *)arguments {\n    return [self executeQuery:sql withArgumentsInArray:arguments orVAList:nil];\n}\n\n- (BOOL)executeUpdate:(NSString*)sql error:(NSError**)outErr withArgumentsInArray:(NSArray*)arrayArgs orVAList:(va_list)args {\n    \n    if (inUse) {\n        [self compainAboutInUse];\n        return NO;\n    }\n    \n    [self setInUse:YES];\n    \n    int rc                   = 0x00;\n    sqlite3_stmt *pStmt      = 0x00;\n    FMStatement *cachedStmt = 0x00;\n    \n    if (traceExecution && sql) {\n        NSLog(@\"%@ executeUpdate: %@\", self, sql);\n    }\n    \n    if (shouldCacheStatements) {\n        cachedStmt = [self cachedStatementForQuery:sql];\n        pStmt = cachedStmt ? [cachedStmt statement] : 0x00;\n    }\n    \n    int numberOfRetries = 0;\n    BOOL retry          = NO;\n    \n    if (!pStmt) {\n        \n        do {\n            retry   = NO;\n            rc      = sqlite3_prepare_v2(db, [sql UTF8String], -1, &pStmt, 0);\n            if (SQLITE_BUSY == rc || SQLITE_LOCKED == rc) {\n                retry = YES;\n                usleep(20);\n                \n                if (busyRetryTimeout && (numberOfRetries++ > busyRetryTimeout)) {\n                    NSLog(@\"%s:%d Database busy (%@)\", __FUNCTION__, __LINE__, [self databasePath]);\n                    NSLog(@\"Database busy\");\n                    sqlite3_finalize(pStmt);\n                    [self setInUse:NO];\n                    return NO;\n                }\n            }\n            else if (SQLITE_OK != rc) {\n                \n                \n                if (logsErrors) {\n                    NSLog(@\"DB Error: %d \\\"%@\\\"\", [self lastErrorCode], [self lastErrorMessage]);\n                    NSLog(@\"DB Query: %@\", sql);\n#ifndef NS_BLOCK_ASSERTIONS\n                    if (crashOnErrors) {\n                        NSAssert2(false, @\"DB Error: %d \\\"%@\\\"\", [self lastErrorCode], [self lastErrorMessage]);\n                    }\n#endif\n                }\n                \n                sqlite3_finalize(pStmt);\n                [self setInUse:NO];\n                \n                if (outErr) {\n                    *outErr = [NSError errorWithDomain:[NSString stringWithUTF8String:sqlite3_errmsg(db)] code:rc userInfo:nil];\n                }\n                \n                return NO;\n            }\n        }\n        while (retry);\n    }\n    \n    \n    id obj;\n    int idx = 0;\n    int queryCount = sqlite3_bind_parameter_count(pStmt);\n    \n    while (idx < queryCount) {\n        \n        if (arrayArgs) {\n            obj = [arrayArgs objectAtIndex:idx];\n        }\n        else {\n            obj = va_arg(args, id);\n        }\n        \n        \n        if (traceExecution) {\n            NSLog(@\"obj: %@\", obj);\n        }\n        \n        idx++;\n        \n        [self bindObject:obj toColumn:idx inStatement:pStmt];\n    }\n    \n    if (idx != queryCount) {\n        NSLog(@\"Error: the bind count is not correct for the # of variables (%@) (executeUpdate)\", sql);\n        sqlite3_finalize(pStmt);\n        [self setInUse:NO];\n        return NO;\n    }\n    \n    /* Call sqlite3_step() to run the virtual machine. Since the SQL being\n     ** executed is not a SELECT statement, we assume no data will be returned.\n     */\n    numberOfRetries = 0;\n    do {\n        rc      = sqlite3_step(pStmt);\n        retry   = NO;\n        \n        if (SQLITE_BUSY == rc || SQLITE_LOCKED == rc) {\n            // this will happen if the db is locked, like if we are doing an update or insert.\n            // in that case, retry the step... and maybe wait just 10 milliseconds.\n            retry = YES;\n            if (SQLITE_LOCKED == rc) {\n                rc = sqlite3_reset(pStmt);\n                if (rc != SQLITE_LOCKED) {\n                    NSLog(@\"Unexpected result from sqlite3_reset (%d) eu\", rc);\n                }\n            }\n            usleep(20);\n            \n            if (busyRetryTimeout && (numberOfRetries++ > busyRetryTimeout)) {\n                NSLog(@\"%s:%d Database busy (%@)\", __FUNCTION__, __LINE__, [self databasePath]);\n                NSLog(@\"Database busy\");\n                retry = NO;\n            }\n        }\n        else if (SQLITE_DONE == rc || SQLITE_ROW == rc) {\n            // all is well, let's return.\n        }\n        else if (SQLITE_ERROR == rc) {\n            NSLog(@\"Error calling sqlite3_step (%d: %s) SQLITE_ERROR\", rc, sqlite3_errmsg(db));\n            NSLog(@\"DB Query: %@\", sql);\n        }\n        else if (SQLITE_MISUSE == rc) {\n            // uh oh.\n            NSLog(@\"Error calling sqlite3_step (%d: %s) SQLITE_MISUSE\", rc, sqlite3_errmsg(db));\n            NSLog(@\"DB Query: %@\", sql);\n        }\n        else {\n            // wtf?\n            NSLog(@\"Unknown error calling sqlite3_step (%d: %s) eu\", rc, sqlite3_errmsg(db));\n            NSLog(@\"DB Query: %@\", sql);\n        }\n        \n    } while (retry);\n    \n    assert( rc!=SQLITE_ROW );\n    \n    \n    if (shouldCacheStatements && !cachedStmt) {\n        cachedStmt = [[FMStatement alloc] init];\n        \n        [cachedStmt setStatement:pStmt];\n        \n        [self setCachedStatement:cachedStmt forQuery:sql];\n        \n        [cachedStmt release];\n    }\n    \n    if (cachedStmt) {\n        cachedStmt.useCount = cachedStmt.useCount + 1;\n        rc = sqlite3_reset(pStmt);\n    }\n    else {\n        /* Finalize the virtual machine. This releases all memory and other\n         ** resources allocated by the sqlite3_prepare() call above.\n         */\n        rc = sqlite3_finalize(pStmt);\n    }\n    \n    [self setInUse:NO];\n    \n    return (rc == SQLITE_OK);\n}\n\n\n- (BOOL)executeUpdate:(NSString*)sql, ... {\n    va_list args;\n    va_start(args, sql);\n    \n    BOOL result = [self executeUpdate:sql error:nil withArgumentsInArray:nil orVAList:args];\n    \n    va_end(args);\n    return result;\n}\n\n\n\n- (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments {\n    return [self executeUpdate:sql error:nil withArgumentsInArray:arguments orVAList:nil];\n}\n\n- (BOOL)update:(NSString*)sql error:(NSError**)outErr bind:(id)bindArgs, ... {\n    va_list args;\n    va_start(args, bindArgs);\n    \n    BOOL result = [self executeUpdate:sql error:outErr withArgumentsInArray:nil orVAList:args];\n    \n    va_end(args);\n    return result;\n}\n\n- (BOOL)rollback {\n    BOOL b = [self executeUpdate:@\"ROLLBACK TRANSACTION;\"];\n    if (b) {\n        inTransaction = NO;\n    }\n    return b;\n}\n\n- (BOOL)commit {\n    BOOL b =  [self executeUpdate:@\"COMMIT TRANSACTION;\"];\n    if (b) {\n        inTransaction = NO;\n    }\n    return b;\n}\n\n- (BOOL)beginDeferredTransaction {\n    BOOL b =  [self executeUpdate:@\"BEGIN DEFERRED TRANSACTION;\"];\n    if (b) {\n        inTransaction = YES;\n    }\n    return b;\n}\n\n- (BOOL)beginTransaction {\n    BOOL b =  [self executeUpdate:@\"BEGIN EXCLUSIVE TRANSACTION;\"];\n    if (b) {\n        inTransaction = YES;\n    }\n    return b;\n}\n\n- (BOOL)logsErrors {\n    return logsErrors;\n}\n- (void)setLogsErrors:(BOOL)flag {\n    logsErrors = flag;\n}\n\n- (BOOL)crashOnErrors {\n    return crashOnErrors;\n}\n- (void)setCrashOnErrors:(BOOL)flag {\n    crashOnErrors = flag;\n}\n\n- (BOOL)inUse {\n    return inUse || inTransaction;\n}\n\n- (void)setInUse:(BOOL)b {\n    inUse = b;\n}\n\n- (BOOL)inTransaction {\n    return inTransaction;\n}\n- (void)setInTransaction:(BOOL)flag {\n    inTransaction = flag;\n}\n\n- (BOOL)traceExecution {\n    return traceExecution;\n}\n- (void)setTraceExecution:(BOOL)flag {\n    traceExecution = flag;\n}\n\n- (BOOL)checkedOut {\n    return checkedOut;\n}\n- (void)setCheckedOut:(BOOL)flag {\n    checkedOut = flag;\n}\n\n\n- (int)busyRetryTimeout {\n    return busyRetryTimeout;\n}\n- (void)setBusyRetryTimeout:(int)newBusyRetryTimeout {\n    busyRetryTimeout = newBusyRetryTimeout;\n}\n\n\n- (BOOL)shouldCacheStatements {\n    return shouldCacheStatements;\n}\n\n- (void)setShouldCacheStatements:(BOOL)value {\n    \n    shouldCacheStatements = value;\n    \n    if (shouldCacheStatements && !cachedStatements) {\n        [self setCachedStatements:[NSMutableDictionary dictionary]];\n    }\n    \n    if (!shouldCacheStatements) {\n        [self setCachedStatements:nil];\n    }\n}\n\n- (NSMutableDictionary *)cachedStatements {\n    return cachedStatements;\n}\n\n- (void)setCachedStatements:(NSMutableDictionary *)value {\n    if (cachedStatements != value) {\n        [cachedStatements release];\n        cachedStatements = [value retain];\n    }\n}\n\n\n@end\n\n\n\n@implementation FMStatement\n\n- (void)finalize {\n    [self close];\n    [super finalize];\n}\n\n- (void)dealloc {\n    [self close];\n    [query release];\n    [super dealloc];\n}\n\n\n- (void)close {\n    if (statement) {\n        sqlite3_finalize(statement);\n        statement = 0x00;\n    }\n}\n\n- (void)reset {\n    if (statement) {\n        sqlite3_reset(statement);\n    }\n}\n\n- (sqlite3_stmt *)statement {\n    return statement;\n}\n\n- (void)setStatement:(sqlite3_stmt *)value {\n    statement = value;\n}\n\n- (NSString *)query {\n    return query;\n}\n\n- (void)setQuery:(NSString *)value {\n    if (query != value) {\n        [query release];\n        query = [value retain];\n    }\n}\n\n- (long)useCount {\n    return useCount;\n}\n\n- (void)setUseCount:(long)value {\n    if (useCount != value) {\n        useCount = value;\n    }\n}\n\n- (NSString*)description {\n    return [NSString stringWithFormat:@\"%@ %ld hit(s) for query %@\", [super description], useCount, query];\n}\n\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/FMDB/FMDatabaseAdditions.h",
    "content": "//\n//  FMDatabaseAdditions.h\n//  fmkit\n//\n//  Created by August Mueller on 10/30/05.\n//  Copyright 2005 Flying Meat Inc.. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n@interface FMDatabase (FMDatabaseAdditions)\n\n\n- (int)intForQuery:(NSString*)objs, ...;\n- (long)longForQuery:(NSString*)objs, ...; \n- (BOOL)boolForQuery:(NSString*)objs, ...;\n- (double)doubleForQuery:(NSString*)objs, ...;\n- (NSString*)stringForQuery:(NSString*)objs, ...; \n- (NSData*)dataForQuery:(NSString*)objs, ...;\n- (NSDate*)dateForQuery:(NSString*)objs, ...;\n\n// Notice that there's no dataNoCopyForQuery:.\n// That would be a bad idea, because we close out the result set, and then what\n// happens to the data that we just didn't copy?  Who knows, not I.\n\n\n- (BOOL)tableExists:(NSString*)tableName;\n- (FMResultSet*)getSchema;\n- (FMResultSet*)getTableSchema:(NSString*)tableName;\n- (BOOL)columnExists:(NSString*)tableName columnName:(NSString*)columnName;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/FMDB/FMDatabaseAdditions.m",
    "content": "//\n//  FMDatabaseAdditions.m\n//  fmkit\n//\n//  Created by August Mueller on 10/30/05.\n//  Copyright 2005 Flying Meat Inc.. All rights reserved.\n//\n\n#import \"FMDatabase.h\"\n#import \"FMDatabaseAdditions.h\"\n\n@implementation FMDatabase (FMDatabaseAdditions)\n\n#define RETURN_RESULT_FOR_QUERY_WITH_SELECTOR(type, sel)             \\\nva_list args;                                                        \\\nva_start(args, query);                                               \\\nFMResultSet *resultSet = [self executeQuery:query withArgumentsInArray:0x00 orVAList:args];   \\\nva_end(args);                                                        \\\nif (![resultSet next]) { return (type)0; }                           \\\ntype ret = [resultSet sel:0];                                        \\\n[resultSet close];                                                   \\\n[resultSet setParentDB:nil];                                         \\\nreturn ret;\n\n\n- (NSString*)stringForQuery:(NSString*)query, ... {\n    RETURN_RESULT_FOR_QUERY_WITH_SELECTOR(NSString *, stringForColumnIndex);\n}\n\n- (int)intForQuery:(NSString*)query, ... {\n    RETURN_RESULT_FOR_QUERY_WITH_SELECTOR(int, intForColumnIndex);\n}\n\n- (long)longForQuery:(NSString*)query, ... {\n    RETURN_RESULT_FOR_QUERY_WITH_SELECTOR(long, longForColumnIndex);\n}\n\n- (BOOL)boolForQuery:(NSString*)query, ... {\n    RETURN_RESULT_FOR_QUERY_WITH_SELECTOR(BOOL, boolForColumnIndex);\n}\n\n- (double)doubleForQuery:(NSString*)query, ... {\n    RETURN_RESULT_FOR_QUERY_WITH_SELECTOR(double, doubleForColumnIndex);\n}\n\n- (NSData*)dataForQuery:(NSString*)query, ... {\n    RETURN_RESULT_FOR_QUERY_WITH_SELECTOR(NSData *, dataForColumnIndex);\n}\n\n- (NSDate*)dateForQuery:(NSString*)query, ... {\n    RETURN_RESULT_FOR_QUERY_WITH_SELECTOR(NSDate *, dateForColumnIndex);\n}\n\n\n//check if table exist in database (patch from OZLB)\n- (BOOL)tableExists:(NSString*)tableName {\n    \n    BOOL returnBool;\n    //lower case table name\n    tableName = [tableName lowercaseString];\n    //search in sqlite_master table if table exists\n    FMResultSet *rs = [self executeQuery:@\"select [sql] from sqlite_master where [type] = 'table' and lower(name) = ?\", tableName];\n    //if at least one next exists, table exists\n    returnBool = [rs next];\n    //close and free object\n    [rs close];\n    \n    return returnBool;\n}\n\n//get table with list of tables: result colums: type[STRING], name[STRING],tbl_name[STRING],rootpage[INTEGER],sql[STRING]\n//check if table exist in database  (patch from OZLB)\n- (FMResultSet*)getSchema {\n    \n    //result colums: type[STRING], name[STRING],tbl_name[STRING],rootpage[INTEGER],sql[STRING]\n    FMResultSet *rs = [self executeQuery:@\"SELECT type, name, tbl_name, rootpage, sql FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type != 'meta' AND name NOT LIKE 'sqlite_%' ORDER BY tbl_name, type DESC, name\"];\n    \n    return rs;\n}\n\n//get table schema: result colums: cid[INTEGER], name,type [STRING], notnull[INTEGER], dflt_value[],pk[INTEGER]\n- (FMResultSet*)getTableSchema:(NSString*)tableName {\n    \n    //result colums: cid[INTEGER], name,type [STRING], notnull[INTEGER], dflt_value[],pk[INTEGER]\n    FMResultSet *rs = [self executeQuery:[NSString stringWithFormat: @\"PRAGMA table_info(%@)\", tableName]];\n    \n    return rs;\n}\n\n\n//check if column exist in table\n- (BOOL)columnExists:(NSString*)tableName columnName:(NSString*)columnName {\n    \n    BOOL returnBool = NO;\n    //lower case table name\n    tableName = [tableName lowercaseString];\n    //lower case column name\n    columnName = [columnName lowercaseString];\n    //get table schema\n    FMResultSet *rs = [self getTableSchema: tableName];\n    //check if column is present in table schema\n    while ([rs next]) {\n        if ([[[rs stringForColumn:@\"name\"] lowercaseString] isEqualToString: columnName]) {\n            returnBool = YES;\n            break;\n        }\n    }\n    //close and free object\n    [rs close];\n    \n    return returnBool;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/FMDB/FMResultSet.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"sqlite3.h\"\n\n#ifndef __has_feature      // Optional.\n#define __has_feature(x) 0 // Compatibility with non-clang compilers.\n#endif\n\n#ifndef NS_RETURNS_NOT_RETAINED\n#if __has_feature(attribute_ns_returns_not_retained)\n#define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained))\n#else\n#define NS_RETURNS_NOT_RETAINED\n#endif\n#endif\n\n@class FMDatabase;\n@class FMStatement;\n\n@interface FMResultSet : NSObject {\n    FMDatabase *parentDB;\n    FMStatement *statement;\n    \n    NSString *query;\n    NSMutableDictionary *columnNameToIndexMap;\n    BOOL columnNamesSetup;\n}\n\n\n+ (id)resultSetWithStatement:(FMStatement *)statement usingParentDatabase:(FMDatabase*)aDB;\n\n- (void)close;\n\n- (NSString *)query;\n- (void)setQuery:(NSString *)value;\n\n- (FMStatement *)statement;\n- (void)setStatement:(FMStatement *)value;\n\n- (void)setParentDB:(FMDatabase *)newDb;\n\n- (BOOL)next;\n- (BOOL)hasAnotherRow;\n\n- (int)columnIndexForName:(NSString*)columnName;\n- (NSString*)columnNameForIndex:(int)columnIdx;\n\n- (int)intForColumn:(NSString*)columnName;\n- (int)intForColumnIndex:(int)columnIdx;\n\n- (long)longForColumn:(NSString*)columnName;\n- (long)longForColumnIndex:(int)columnIdx;\n\n- (long long int)longLongIntForColumn:(NSString*)columnName;\n- (long long int)longLongIntForColumnIndex:(int)columnIdx;\n\n- (BOOL)boolForColumn:(NSString*)columnName;\n- (BOOL)boolForColumnIndex:(int)columnIdx;\n\n- (double)doubleForColumn:(NSString*)columnName;\n- (double)doubleForColumnIndex:(int)columnIdx;\n\n- (NSString*)stringForColumn:(NSString*)columnName;\n- (NSString*)stringForColumnIndex:(int)columnIdx;\n\n- (NSDate*)dateForColumn:(NSString*)columnName;\n- (NSDate*)dateForColumnIndex:(int)columnIdx;\n\n- (NSData*)dataForColumn:(NSString*)columnName;\n- (NSData*)dataForColumnIndex:(int)columnIdx;\n\n- (const unsigned char *)UTF8StringForColumnIndex:(int)columnIdx;\n- (const unsigned char *)UTF8StringForColumnName:(NSString*)columnName;\n\n// returns one of NSNumber, NSString, NSData, or NSNull\n- (id)objectForColumnIndex:(int)columnIdx;\n- (id)objectForColumnName:(NSString*)columnName;\n\n/*\nIf you are going to use this data after you iterate over the next row, or after you close the\nresult set, make sure to make a copy of the data first (or just use dataForColumn:/dataForColumnIndex:)\nIf you don't, you're going to be in a world of hurt when you try and use the data.\n*/\n- (NSData*)dataNoCopyForColumn:(NSString*)columnName NS_RETURNS_NOT_RETAINED;\n- (NSData*)dataNoCopyForColumnIndex:(int)columnIdx NS_RETURNS_NOT_RETAINED;\n\n\n- (BOOL)columnIndexIsNull:(int)columnIdx;\n- (BOOL)columnIsNull:(NSString*)columnName;\n\n- (void)kvcMagic:(id)object;\n- (NSDictionary *)resultDict;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/FMDB/FMResultSet.m",
    "content": "#import \"FMResultSet.h\"\n#import \"FMDatabase.h\"\n#import \"unistd.h\"\n\n@interface FMDatabase ()\n- (void)resultSetDidClose:(FMResultSet *)resultSet;\n@end\n\n\n@interface FMResultSet (Private)\n- (NSMutableDictionary *)columnNameToIndexMap;\n- (void)setColumnNameToIndexMap:(NSMutableDictionary *)value;\n@end\n\n@implementation FMResultSet\n\n+ (id)resultSetWithStatement:(FMStatement *)statement usingParentDatabase:(FMDatabase*)aDB {\n    \n    FMResultSet *rs = [[FMResultSet alloc] init];\n    \n    [rs setStatement:statement];\n    [rs setParentDB:aDB];\n    \n    return [rs autorelease];\n}\n\n- (void)finalize {\n    [self close];\n    [super finalize];\n}\n\n- (void)dealloc {\n    [self close];\n    \n    [query release];\n    query = nil;\n    \n    [columnNameToIndexMap release];\n    columnNameToIndexMap = nil;\n    \n    [super dealloc];\n}\n\n- (void)close {\n    [statement reset];\n    [statement release];\n    statement = nil;\n    \n    // we don't need this anymore... (i think)\n    //[parentDB setInUse:NO];\n    [parentDB resultSetDidClose:self];\n    parentDB = nil;\n}\n\n- (void)setupColumnNames {\n    \n    if (!columnNameToIndexMap) {\n        [self setColumnNameToIndexMap:[NSMutableDictionary dictionary]];\n    }    \n    \n    int columnCount = sqlite3_column_count(statement.statement);\n    \n    int columnIdx = 0;\n    for (columnIdx = 0; columnIdx < columnCount; columnIdx++) {\n        [columnNameToIndexMap setObject:[NSNumber numberWithInt:columnIdx]\n                                 forKey:[[NSString stringWithUTF8String:sqlite3_column_name(statement.statement, columnIdx)] lowercaseString]];\n    }\n    columnNamesSetup = YES;\n}\n\n- (void)kvcMagic:(id)object {\n    \n    int columnCount = sqlite3_column_count(statement.statement);\n    \n    int columnIdx = 0;\n    for (columnIdx = 0; columnIdx < columnCount; columnIdx++) {\n        \n        const char *c = (const char *)sqlite3_column_text(statement.statement, columnIdx);\n        \n        // check for a null row\n        if (c) {\n            NSString *s = [NSString stringWithUTF8String:c];\n            \n            [object setValue:s forKey:[NSString stringWithUTF8String:sqlite3_column_name(statement.statement, columnIdx)]];\n        }\n    }\n}\n\n- (NSDictionary *)resultDict {\n    \n    int num_cols = sqlite3_data_count(statement.statement);\n    \n    if (num_cols > 0) {\n        NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:num_cols];\n        \n        if (!columnNamesSetup) {\n            [self setupColumnNames];\n        }\n        \n        NSEnumerator *columnNames = [columnNameToIndexMap keyEnumerator];\n        NSString *columnName = nil;\n        while ((columnName = [columnNames nextObject])) {\n            id objectValue = [self objectForColumnName:columnName];\n            [dict setObject:objectValue forKey:columnName];\n        }\n        \n        return [[dict copy] autorelease];\n    }\n    else {\n        NSLog(@\"Warning: There seem to be no columns in this set.\");\n    }\n    \n    return nil;\n}\n\n- (BOOL)next {\n    \n    int rc;\n    BOOL retry;\n    int numberOfRetries = 0;\n    do {\n        retry = NO;\n        \n        rc = sqlite3_step(statement.statement);\n        \n        if (SQLITE_BUSY == rc || SQLITE_LOCKED == rc) {\n            // this will happen if the db is locked, like if we are doing an update or insert.\n            // in that case, retry the step... and maybe wait just 10 milliseconds.\n            retry = YES;\n            if (SQLITE_LOCKED == rc) {\n                rc = sqlite3_reset(statement.statement);\n                if (rc != SQLITE_LOCKED) {\n                    NSLog(@\"Unexpected result from sqlite3_reset (%d) rs\", rc);\n                }\n            }\n            usleep(20);\n            \n            if ([parentDB busyRetryTimeout] && (numberOfRetries++ > [parentDB busyRetryTimeout])) {\n                \n                NSLog(@\"%s:%d Database busy (%@)\", __FUNCTION__, __LINE__, [parentDB databasePath]);\n                NSLog(@\"Database busy\");\n                break;\n            }\n        }\n        else if (SQLITE_DONE == rc || SQLITE_ROW == rc) {\n            // all is well, let's return.\n        }\n        else if (SQLITE_ERROR == rc) {\n            NSLog(@\"Error calling sqlite3_step (%d: %s) rs\", rc, sqlite3_errmsg([parentDB sqliteHandle]));\n            break;\n        } \n        else if (SQLITE_MISUSE == rc) {\n            // uh oh.\n            NSLog(@\"Error calling sqlite3_step (%d: %s) rs\", rc, sqlite3_errmsg([parentDB sqliteHandle]));\n            break;\n        }\n        else {\n            // wtf?\n            NSLog(@\"Unknown error calling sqlite3_step (%d: %s) rs\", rc, sqlite3_errmsg([parentDB sqliteHandle]));\n            break;\n        }\n        \n    } while (retry);\n    \n    \n    if (rc != SQLITE_ROW) {\n        [self close];\n    }\n    \n    return (rc == SQLITE_ROW);\n}\n\n- (BOOL)hasAnotherRow {\n    return sqlite3_errcode([parentDB sqliteHandle]) == SQLITE_ROW;\n}\n\n- (int)columnIndexForName:(NSString*)columnName {\n    \n    if (!columnNamesSetup) {\n        [self setupColumnNames];\n    }\n    \n    columnName = [columnName lowercaseString];\n    \n    NSNumber *n = [columnNameToIndexMap objectForKey:columnName];\n    \n    if (n) {\n        return [n intValue];\n    }\n    \n    NSLog(@\"Warning: I could not find the column named '%@'.\", columnName);\n    \n    return -1;\n}\n\n\n\n- (int)intForColumn:(NSString*)columnName {\n    return [self intForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (int)intForColumnIndex:(int)columnIdx {\n    return sqlite3_column_int(statement.statement, columnIdx);\n}\n\n- (long)longForColumn:(NSString*)columnName {\n    return [self longForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (long)longForColumnIndex:(int)columnIdx {\n    return (long)sqlite3_column_int64(statement.statement, columnIdx);\n}\n\n- (long long int)longLongIntForColumn:(NSString*)columnName {\n    return [self longLongIntForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (long long int)longLongIntForColumnIndex:(int)columnIdx {\n    return sqlite3_column_int64(statement.statement, columnIdx);\n}\n\n- (BOOL)boolForColumn:(NSString*)columnName {\n    return [self boolForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (BOOL)boolForColumnIndex:(int)columnIdx {\n    return ([self intForColumnIndex:columnIdx] != 0);\n}\n\n- (double)doubleForColumn:(NSString*)columnName {\n    return [self doubleForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (double)doubleForColumnIndex:(int)columnIdx {\n    return sqlite3_column_double(statement.statement, columnIdx);\n}\n\n- (NSString*)stringForColumnIndex:(int)columnIdx {\n    \n    if (sqlite3_column_type(statement.statement, columnIdx) == SQLITE_NULL || (columnIdx < 0)) {\n        return nil;\n    }\n    \n    const char *c = (const char *)sqlite3_column_text(statement.statement, columnIdx);\n    \n    if (!c) {\n        // null row.\n        return nil;\n    }\n    \n    return [NSString stringWithUTF8String:c];\n}\n\n- (NSString*)stringForColumn:(NSString*)columnName {\n    return [self stringForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (NSDate*)dateForColumn:(NSString*)columnName {\n    return [self dateForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (NSDate*)dateForColumnIndex:(int)columnIdx {\n    \n    if (sqlite3_column_type(statement.statement, columnIdx) == SQLITE_NULL || (columnIdx < 0)) {\n        return nil;\n    }\n    \n    return [NSDate dateWithTimeIntervalSince1970:[self doubleForColumnIndex:columnIdx]];\n}\n\n\n- (NSData*)dataForColumn:(NSString*)columnName {\n    return [self dataForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (NSData*)dataForColumnIndex:(int)columnIdx {\n    \n    if (sqlite3_column_type(statement.statement, columnIdx) == SQLITE_NULL || (columnIdx < 0)) {\n        return nil;\n    }\n    \n    int dataSize = sqlite3_column_bytes(statement.statement, columnIdx);\n    \n    NSMutableData *data = [NSMutableData dataWithLength:dataSize];\n    \n    memcpy([data mutableBytes], sqlite3_column_blob(statement.statement, columnIdx), dataSize);\n    \n    return data;\n}\n\n\n- (NSData*)dataNoCopyForColumn:(NSString*)columnName {\n    return [self dataNoCopyForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (NSData*)dataNoCopyForColumnIndex:(int)columnIdx {\n    \n    if (sqlite3_column_type(statement.statement, columnIdx) == SQLITE_NULL || (columnIdx < 0)) {\n        return nil;\n    }\n    \n    int dataSize = sqlite3_column_bytes(statement.statement, columnIdx);\n    \n    NSData *data = [NSData dataWithBytesNoCopy:(void *)sqlite3_column_blob(statement.statement, columnIdx) length:dataSize freeWhenDone:NO];\n    \n    return data;\n}\n\n\n- (BOOL)columnIndexIsNull:(int)columnIdx {\n    return sqlite3_column_type(statement.statement, columnIdx) == SQLITE_NULL;\n}\n\n- (BOOL)columnIsNull:(NSString*)columnName {\n    return [self columnIndexIsNull:[self columnIndexForName:columnName]];\n}\n\n- (const unsigned char *)UTF8StringForColumnIndex:(int)columnIdx {\n    \n    if (sqlite3_column_type(statement.statement, columnIdx) == SQLITE_NULL || (columnIdx < 0)) {\n        return nil;\n    }\n    \n    return sqlite3_column_text(statement.statement, columnIdx);\n}\n\n- (const unsigned char *)UTF8StringForColumnName:(NSString*)columnName {\n    return [self UTF8StringForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n- (id)objectForColumnIndex:(int)columnIdx {\n    int columnType = sqlite3_column_type(statement.statement, columnIdx);\n    \n    id returnValue = nil;\n    \n    if (columnType == SQLITE_INTEGER) {\n        returnValue = [NSNumber numberWithLongLong:[self longLongIntForColumnIndex:columnIdx]];\n    }\n    else if (columnType == SQLITE_FLOAT) {\n        returnValue = [NSNumber numberWithDouble:[self doubleForColumnIndex:columnIdx]];\n    }\n    else if (columnType == SQLITE_BLOB) {\n        returnValue = [self dataForColumnIndex:columnIdx];\n    }\n    else {\n        //default to a string for everything else\n        returnValue = [self stringForColumnIndex:columnIdx];\n    }\n    \n    if (returnValue == nil) {\n        returnValue = [NSNull null];\n    }\n    \n    return returnValue;\n}\n\n- (id)objectForColumnName:(NSString*)columnName {\n    return [self objectForColumnIndex:[self columnIndexForName:columnName]];\n}\n\n\n// returns autoreleased NSString containing the name of the column in the result set\n- (NSString*)columnNameForIndex:(int)columnIdx {\n    return [NSString stringWithUTF8String: sqlite3_column_name(statement.statement, columnIdx)];\n}\n\n- (void)setParentDB:(FMDatabase *)newDb {\n    parentDB = newDb;\n}\n\n\n- (NSString *)query {\n    return query;\n}\n\n- (void)setQuery:(NSString *)value {\n    [value retain];\n    [query release];\n    query = value;\n}\n\n- (NSMutableDictionary *)columnNameToIndexMap {\n    return columnNameToIndexMap;\n}\n\n- (void)setColumnNameToIndexMap:(NSMutableDictionary *)value {\n    [value retain];\n    [columnNameToIndexMap release];\n    columnNameToIndexMap = value;\n}\n\n- (FMStatement *)statement {\n    return statement;\n}\n\n- (void)setStatement:(FMStatement *)value {\n    if (statement != value) {\n        [statement release];\n        statement = [value retain];\n    }\n}\n\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/FMDBLogger.h",
    "content": "#import <Foundation/Foundation.h>\n#import <CocoaLumberjack/DDAbstractDatabaseLogger.h>\n\n@class FMDatabase;\n\n\n@interface FMDBLogger : DDAbstractDatabaseLogger <DDLogger>\n{\n  @private\n    NSString *logDirectory;\n    NSMutableArray *pendingLogEntries;\n    \n    FMDatabase *database;\n}\n\n/**\n * Initializes an instance set to save it's sqlite file to the given directory.\n * If the directory doesn't already exist, it is automatically created.\n**/\n- (id)initWithLogDirectory:(NSString *)logDirectory;\n\n// \n// This class inherits from DDAbstractDatabaseLogger.\n// \n// So there are a bunch of options such as:\n// \n// @property (assign, readwrite) NSUInteger saveThreshold;\n// @property (assign, readwrite) NSTimeInterval saveInterval;\n// \n// @property (assign, readwrite) NSTimeInterval maxAge;\n// @property (assign, readwrite) NSTimeInterval deleteInterval;\n// @property (assign, readwrite) BOOL deleteOnEverySave;\n// \n// And methods such as:\n// \n// - (void)savePendingLogEntries;\n// - (void)deleteOldLogEntries;\n// \n// These options and methods are documented extensively in DDAbstractDatabaseLogger.h\n// \n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/FMDBLogger.m",
    "content": "#import \"FMDBLogger.h\"\n#import \"FMDatabase.h\"\n\n\n@interface FMDBLogger ()\n- (void)validateLogDirectory;\n- (void)openDatabase;\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface FMDBLogEntry : NSObject {\n@public\n    NSNumber * context;\n    NSNumber * level;\n    NSString * message;\n    NSDate   * timestamp;\n}\n\n- (id)initWithLogMessage:(DDLogMessage *)logMessage;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation FMDBLogEntry\n\n- (id)initWithLogMessage:(DDLogMessage *)logMessage\n{\n    if ((self = [super init]))\n    {\n        context   = @(logMessage->_context);\n        level     = @(logMessage->_flag);\n        message   = logMessage->_message;\n        timestamp = logMessage->_timestamp;\n    }\n    return self;\n}\n\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation FMDBLogger\n\n- (id)initWithLogDirectory:(NSString *)aLogDirectory\n{\n    if ((self = [super init]))\n    {\n        logDirectory = [aLogDirectory copy];\n        \n        pendingLogEntries = [[NSMutableArray alloc] initWithCapacity:_saveThreshold];\n        \n        [self validateLogDirectory];\n        [self openDatabase];\n    }\n    \n    return self;\n}\n\n\n- (void)validateLogDirectory\n{\n    // Validate log directory exists or create the directory.\n    \n    BOOL isDirectory;\n    if ([[NSFileManager defaultManager] fileExistsAtPath:logDirectory isDirectory:&isDirectory])\n    {\n        if (!isDirectory)\n        {\n            NSLog(@\"%@: %@ - logDirectory(%@) is a file!\", [self class], THIS_METHOD, logDirectory);\n            \n            logDirectory = nil;\n        }\n    }\n    else\n    {\n        NSError *error = nil;\n        \n        BOOL result = [[NSFileManager defaultManager] createDirectoryAtPath:logDirectory\n                                                withIntermediateDirectories:YES\n                                                                 attributes:nil\n                                                                      error:&error];\n        if (!result)\n        {\n            NSLog(@\"%@: %@ - Unable to create logDirectory(%@) due to error: %@\",\n                  [self class], THIS_METHOD, logDirectory, error);\n            \n            logDirectory = nil;\n        }\n    }\n}\n\n- (void)openDatabase\n{\n    if (logDirectory == nil)\n    {\n        return;\n    }\n    \n    NSString *path = [logDirectory stringByAppendingPathComponent:@\"log.sqlite\"];\n    \n    database = [[FMDatabase alloc] initWithPath:path];\n    \n    if (![database open])\n    {\n        NSLog(@\"%@: Failed opening database!\", [self class]);\n        \n        database = nil;\n        \n        return;\n    }\n    \n    NSString *cmd1 = @\"CREATE TABLE IF NOT EXISTS logs (context integer, \"\n                                                       \"level integer, \"\n                                                       \"message text, \"\n                                                       \"timestamp double)\";\n    [database executeUpdate:cmd1];\n    if ([database hadError])\n    {\n        NSLog(@\"%@: Error creating table: code(%d): %@\",\n              [self class], [database lastErrorCode], [database lastErrorMessage]);\n        \n        database = nil;\n    }\n    \n    NSString *cmd2 = @\"CREATE INDEX IF NOT EXISTS timestamp ON logs (timestamp)\";\n    \n    [database executeUpdate:cmd2];\n    if ([database hadError])\n    {\n        NSLog(@\"%@: Error creating index: code(%d): %@\",\n              [self class], [database lastErrorCode], [database lastErrorMessage]);\n        \n        database = nil;\n    }\n    \n    [database setShouldCacheStatements:YES];\n}\n\n#pragma mark AbstractDatabaseLogger Overrides\n\n- (BOOL)db_log:(DDLogMessage *)logMessage\n{\n    // You may be wondering, how come we don't just do the insert here and be done with it?\n    // Is the buffering really needed?\n    // \n    // From the SQLite FAQ:\n    // \n    // (19) INSERT is really slow - I can only do few dozen INSERTs per second\n    // \n    // Actually, SQLite will easily do 50,000 or more INSERT statements per second on an average desktop computer.\n    // But it will only do a few dozen transactions per second. Transaction speed is limited by the rotational\n    // speed of your disk drive. A transaction normally requires two complete rotations of the disk platter, which\n    // on a 7200RPM disk drive limits you to about 60 transactions per second.\n    // \n    // Transaction speed is limited by disk drive speed because (by default) SQLite actually waits until the data\n    // really is safely stored on the disk surface before the transaction is complete. That way, if you suddenly\n    // lose power or if your OS crashes, your data is still safe. For details, read about atomic commit in SQLite.\n    // \n    // By default, each INSERT statement is its own transaction. But if you surround multiple INSERT statements\n    // with BEGIN...COMMIT then all the inserts are grouped into a single transaction. The time needed to commit\n    // the transaction is amortized over all the enclosed insert statements and so the time per insert statement\n    // is greatly reduced.\n    \n    FMDBLogEntry *logEntry = [[FMDBLogEntry alloc] initWithLogMessage:logMessage];\n    \n    [pendingLogEntries addObject:logEntry];\n    \n    // Return YES if an item was added to the buffer.\n    // Return NO if the logMessage was ignored.\n    \n    return YES;\n}\n\n- (void)db_save\n{\n    if ([pendingLogEntries count] == 0)\n    {\n        // Nothing to save.\n        // The superclass won't likely call us if this is the case, but we're being cautious.\n        return;\n    }\n    \n    BOOL saveOnlyTransaction = ![database inTransaction];\n    \n    if (saveOnlyTransaction)\n    {\n        [database beginTransaction];\n    }\n    \n    NSString *cmd = @\"INSERT INTO logs (context, level, message, timestamp) VALUES (?, ?, ?, ?)\";\n    \n    for (FMDBLogEntry *logEntry in pendingLogEntries)\n    {\n        [database executeUpdate:cmd, logEntry->context,\n                                     logEntry->level,\n                                     logEntry->message,\n                                     logEntry->timestamp];\n    }\n    \n    [pendingLogEntries removeAllObjects];\n    \n    if (saveOnlyTransaction)\n    {\n        [database commit];\n        \n        if ([database hadError])\n        {\n            NSLog(@\"%@: Error inserting log entries: code(%d): %@\",\n                  [self class], [database lastErrorCode], [database lastErrorMessage]);\n        }\n    }\n}\n\n- (void)db_delete\n{\n    if (_maxAge <= 0.0)\n    {\n        // Deleting old log entries is disabled.\n        // The superclass won't likely call us if this is the case, but we're being cautious.\n        return;\n    }\n    \n    BOOL deleteOnlyTransaction = ![database inTransaction];\n    \n    NSDate *maxDate = [NSDate dateWithTimeIntervalSinceNow:(-1.0 * _maxAge)];\n    \n    [database executeUpdate:@\"DELETE FROM logs WHERE timestamp < ?\", maxDate];\n    \n    if (deleteOnlyTransaction)\n    {\n        if ([database hadError])\n        {\n            NSLog(@\"%@: Error deleting log entries: code(%d): %@\",\n                  [self class], [database lastErrorCode], [database lastErrorMessage]);\n        }\n    }\n}\n\n- (void)db_saveAndDelete\n{\n    [database beginTransaction];\n    \n    [self db_delete];\n    [self db_save];\n    \n    [database commit];\n    \n    if ([database hadError])\n    {\n        NSLog(@\"%@: Error: code(%d): %@\",\n              [self class], [database lastErrorCode], [database lastErrorMessage]);\n    }\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/Podfile",
    "content": "\nproject 'SQLiteLogger'\nworkspace '../Demos'\n\ntarget :'SQLiteLogger' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger/SQLiteLogger-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger/SQLiteLogger-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'SQLiteLogger' target in the 'SQLiteLogger' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger/SQLiteLoggerAppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n@class FMDBLogger;\n\n\n@interface SQLiteLoggerAppDelegate : NSObject <NSApplicationDelegate> {\n@private\n    FMDBLogger *sqliteLogger;\n    NSWindow *__unsafe_unretained window;\n}\n\n@property (unsafe_unretained) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger/SQLiteLoggerAppDelegate.m",
    "content": "#import \"SQLiteLoggerAppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"FMDBLogger.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation SQLiteLoggerAppDelegate\n\n@synthesize window;\n\n- (NSString *)applicationFilesDirectory\n{\n    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);\n    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : NSTemporaryDirectory();\n    \n    return [basePath stringByAppendingPathComponent:@\"SQLiteLogger\"];\n}\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n//  [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    sqliteLogger = [[FMDBLogger alloc] initWithLogDirectory:[self applicationFilesDirectory]];\n    \n    sqliteLogger.saveThreshold     = 500;\n    sqliteLogger.saveInterval      = 60;               // 60 seconds\n    sqliteLogger.maxAge            = 60 * 60 * 24 * 7; //  7 days\n    sqliteLogger.deleteInterval    = 60 * 5;           //  5 minutes\n    sqliteLogger.deleteOnEverySave = NO;\n    \n    [DDLog addLogger:sqliteLogger];\n    \n    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(doTest:) userInfo:nil repeats:NO];\n}\n\n- (void)doTest:(NSTimer *)aTimer\n{\n    NSDate *start = [NSDate date];\n    \n    int i;\n    for (i = 0; i < 1000; i++)\n    {\n        DDLogVerbose(@\"A log message of average size\");\n    }\n    [DDLog flushLog];\n    \n    NSTimeInterval elapsed = [start timeIntervalSinceNow] * -1.0;\n    NSLog(@\"Total time: %.4f\", elapsed);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1060</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A324</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">719</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1015</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">418.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">719</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"371\"/>\n\t\t\t<integer value=\"29\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">SQLiteLogger</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">SQLiteLogger</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About SQLiteLogger</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide SQLiteLogger</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit SQLiteLogger</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"117038363\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save As…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">S</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">SQLiteLogger Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">SQLiteLogger</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<string key=\"NSWindowContentMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{1.79769e+308, 1.79769e+308}</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">SQLiteLoggerAppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocumentAs:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117038363\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">363</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"117038363\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">80</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117038363\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-3.IBPluginDependency</string>\n\t\t\t\t\t<string>112.IBPluginDependency</string>\n\t\t\t\t\t<string>112.ImportedFromIB2</string>\n\t\t\t\t\t<string>124.IBPluginDependency</string>\n\t\t\t\t\t<string>124.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.IBPluginDependency</string>\n\t\t\t\t\t<string>125.ImportedFromIB2</string>\n\t\t\t\t\t<string>125.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>126.IBPluginDependency</string>\n\t\t\t\t\t<string>126.ImportedFromIB2</string>\n\t\t\t\t\t<string>129.IBPluginDependency</string>\n\t\t\t\t\t<string>129.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.IBPluginDependency</string>\n\t\t\t\t\t<string>130.ImportedFromIB2</string>\n\t\t\t\t\t<string>130.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>131.IBPluginDependency</string>\n\t\t\t\t\t<string>131.ImportedFromIB2</string>\n\t\t\t\t\t<string>134.IBPluginDependency</string>\n\t\t\t\t\t<string>134.ImportedFromIB2</string>\n\t\t\t\t\t<string>136.IBPluginDependency</string>\n\t\t\t\t\t<string>136.ImportedFromIB2</string>\n\t\t\t\t\t<string>143.IBPluginDependency</string>\n\t\t\t\t\t<string>143.ImportedFromIB2</string>\n\t\t\t\t\t<string>144.IBPluginDependency</string>\n\t\t\t\t\t<string>144.ImportedFromIB2</string>\n\t\t\t\t\t<string>145.IBPluginDependency</string>\n\t\t\t\t\t<string>145.ImportedFromIB2</string>\n\t\t\t\t\t<string>149.IBPluginDependency</string>\n\t\t\t\t\t<string>149.ImportedFromIB2</string>\n\t\t\t\t\t<string>150.IBPluginDependency</string>\n\t\t\t\t\t<string>150.ImportedFromIB2</string>\n\t\t\t\t\t<string>19.IBPluginDependency</string>\n\t\t\t\t\t<string>19.ImportedFromIB2</string>\n\t\t\t\t\t<string>195.IBPluginDependency</string>\n\t\t\t\t\t<string>195.ImportedFromIB2</string>\n\t\t\t\t\t<string>196.IBPluginDependency</string>\n\t\t\t\t\t<string>196.ImportedFromIB2</string>\n\t\t\t\t\t<string>197.IBPluginDependency</string>\n\t\t\t\t\t<string>197.ImportedFromIB2</string>\n\t\t\t\t\t<string>198.IBPluginDependency</string>\n\t\t\t\t\t<string>198.ImportedFromIB2</string>\n\t\t\t\t\t<string>199.IBPluginDependency</string>\n\t\t\t\t\t<string>199.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>200.IBPluginDependency</string>\n\t\t\t\t\t<string>200.ImportedFromIB2</string>\n\t\t\t\t\t<string>200.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>201.IBPluginDependency</string>\n\t\t\t\t\t<string>201.ImportedFromIB2</string>\n\t\t\t\t\t<string>202.IBPluginDependency</string>\n\t\t\t\t\t<string>202.ImportedFromIB2</string>\n\t\t\t\t\t<string>203.IBPluginDependency</string>\n\t\t\t\t\t<string>203.ImportedFromIB2</string>\n\t\t\t\t\t<string>204.IBPluginDependency</string>\n\t\t\t\t\t<string>204.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>205.IBPluginDependency</string>\n\t\t\t\t\t<string>205.ImportedFromIB2</string>\n\t\t\t\t\t<string>205.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>206.IBPluginDependency</string>\n\t\t\t\t\t<string>206.ImportedFromIB2</string>\n\t\t\t\t\t<string>207.IBPluginDependency</string>\n\t\t\t\t\t<string>207.ImportedFromIB2</string>\n\t\t\t\t\t<string>208.IBPluginDependency</string>\n\t\t\t\t\t<string>208.ImportedFromIB2</string>\n\t\t\t\t\t<string>209.IBPluginDependency</string>\n\t\t\t\t\t<string>209.ImportedFromIB2</string>\n\t\t\t\t\t<string>210.IBPluginDependency</string>\n\t\t\t\t\t<string>210.ImportedFromIB2</string>\n\t\t\t\t\t<string>211.IBPluginDependency</string>\n\t\t\t\t\t<string>211.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.IBPluginDependency</string>\n\t\t\t\t\t<string>212.ImportedFromIB2</string>\n\t\t\t\t\t<string>212.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>213.IBPluginDependency</string>\n\t\t\t\t\t<string>213.ImportedFromIB2</string>\n\t\t\t\t\t<string>214.IBPluginDependency</string>\n\t\t\t\t\t<string>214.ImportedFromIB2</string>\n\t\t\t\t\t<string>215.IBPluginDependency</string>\n\t\t\t\t\t<string>215.ImportedFromIB2</string>\n\t\t\t\t\t<string>216.IBPluginDependency</string>\n\t\t\t\t\t<string>216.ImportedFromIB2</string>\n\t\t\t\t\t<string>217.IBPluginDependency</string>\n\t\t\t\t\t<string>217.ImportedFromIB2</string>\n\t\t\t\t\t<string>218.IBPluginDependency</string>\n\t\t\t\t\t<string>218.ImportedFromIB2</string>\n\t\t\t\t\t<string>219.IBPluginDependency</string>\n\t\t\t\t\t<string>219.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>220.IBPluginDependency</string>\n\t\t\t\t\t<string>220.ImportedFromIB2</string>\n\t\t\t\t\t<string>220.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>221.IBPluginDependency</string>\n\t\t\t\t\t<string>221.ImportedFromIB2</string>\n\t\t\t\t\t<string>23.IBPluginDependency</string>\n\t\t\t\t\t<string>23.ImportedFromIB2</string>\n\t\t\t\t\t<string>236.IBPluginDependency</string>\n\t\t\t\t\t<string>236.ImportedFromIB2</string>\n\t\t\t\t\t<string>239.IBPluginDependency</string>\n\t\t\t\t\t<string>239.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>24.IBPluginDependency</string>\n\t\t\t\t\t<string>24.ImportedFromIB2</string>\n\t\t\t\t\t<string>24.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>29.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>29.IBPluginDependency</string>\n\t\t\t\t\t<string>29.ImportedFromIB2</string>\n\t\t\t\t\t<string>29.WindowOrigin</string>\n\t\t\t\t\t<string>29.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>295.IBPluginDependency</string>\n\t\t\t\t\t<string>296.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>296.IBPluginDependency</string>\n\t\t\t\t\t<string>296.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>297.IBPluginDependency</string>\n\t\t\t\t\t<string>298.IBPluginDependency</string>\n\t\t\t\t\t<string>346.IBPluginDependency</string>\n\t\t\t\t\t<string>346.ImportedFromIB2</string>\n\t\t\t\t\t<string>348.IBPluginDependency</string>\n\t\t\t\t\t<string>348.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>349.IBPluginDependency</string>\n\t\t\t\t\t<string>349.ImportedFromIB2</string>\n\t\t\t\t\t<string>349.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>350.IBPluginDependency</string>\n\t\t\t\t\t<string>350.ImportedFromIB2</string>\n\t\t\t\t\t<string>351.IBPluginDependency</string>\n\t\t\t\t\t<string>351.ImportedFromIB2</string>\n\t\t\t\t\t<string>354.IBPluginDependency</string>\n\t\t\t\t\t<string>354.ImportedFromIB2</string>\n\t\t\t\t\t<string>371.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>371.IBPluginDependency</string>\n\t\t\t\t\t<string>371.IBWindowTemplateEditedContentRect</string>\n\t\t\t\t\t<string>371.NSWindowTemplate.visibleAtLaunch</string>\n\t\t\t\t\t<string>371.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>371.windowTemplate.maxSize</string>\n\t\t\t\t\t<string>372.IBPluginDependency</string>\n\t\t\t\t\t<string>375.IBPluginDependency</string>\n\t\t\t\t\t<string>376.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>376.IBPluginDependency</string>\n\t\t\t\t\t<string>377.IBPluginDependency</string>\n\t\t\t\t\t<string>388.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>388.IBPluginDependency</string>\n\t\t\t\t\t<string>389.IBPluginDependency</string>\n\t\t\t\t\t<string>390.IBPluginDependency</string>\n\t\t\t\t\t<string>391.IBPluginDependency</string>\n\t\t\t\t\t<string>392.IBPluginDependency</string>\n\t\t\t\t\t<string>393.IBPluginDependency</string>\n\t\t\t\t\t<string>394.IBPluginDependency</string>\n\t\t\t\t\t<string>395.IBPluginDependency</string>\n\t\t\t\t\t<string>396.IBPluginDependency</string>\n\t\t\t\t\t<string>397.IBPluginDependency</string>\n\t\t\t\t\t<string>398.IBPluginDependency</string>\n\t\t\t\t\t<string>399.IBPluginDependency</string>\n\t\t\t\t\t<string>400.IBPluginDependency</string>\n\t\t\t\t\t<string>401.IBPluginDependency</string>\n\t\t\t\t\t<string>402.IBPluginDependency</string>\n\t\t\t\t\t<string>403.IBPluginDependency</string>\n\t\t\t\t\t<string>404.IBPluginDependency</string>\n\t\t\t\t\t<string>405.IBPluginDependency</string>\n\t\t\t\t\t<string>406.IBPluginDependency</string>\n\t\t\t\t\t<string>407.IBPluginDependency</string>\n\t\t\t\t\t<string>408.IBPluginDependency</string>\n\t\t\t\t\t<string>409.IBPluginDependency</string>\n\t\t\t\t\t<string>410.IBPluginDependency</string>\n\t\t\t\t\t<string>411.IBPluginDependency</string>\n\t\t\t\t\t<string>412.IBPluginDependency</string>\n\t\t\t\t\t<string>413.IBPluginDependency</string>\n\t\t\t\t\t<string>414.IBPluginDependency</string>\n\t\t\t\t\t<string>415.IBPluginDependency</string>\n\t\t\t\t\t<string>416.IBPluginDependency</string>\n\t\t\t\t\t<string>417.IBPluginDependency</string>\n\t\t\t\t\t<string>418.IBPluginDependency</string>\n\t\t\t\t\t<string>419.IBPluginDependency</string>\n\t\t\t\t\t<string>450.IBPluginDependency</string>\n\t\t\t\t\t<string>451.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>451.IBPluginDependency</string>\n\t\t\t\t\t<string>452.IBPluginDependency</string>\n\t\t\t\t\t<string>453.IBPluginDependency</string>\n\t\t\t\t\t<string>454.IBPluginDependency</string>\n\t\t\t\t\t<string>457.IBPluginDependency</string>\n\t\t\t\t\t<string>459.IBPluginDependency</string>\n\t\t\t\t\t<string>460.IBPluginDependency</string>\n\t\t\t\t\t<string>462.IBPluginDependency</string>\n\t\t\t\t\t<string>465.IBPluginDependency</string>\n\t\t\t\t\t<string>466.IBPluginDependency</string>\n\t\t\t\t\t<string>485.IBPluginDependency</string>\n\t\t\t\t\t<string>490.IBPluginDependency</string>\n\t\t\t\t\t<string>491.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>491.IBPluginDependency</string>\n\t\t\t\t\t<string>492.IBPluginDependency</string>\n\t\t\t\t\t<string>496.IBPluginDependency</string>\n\t\t\t\t\t<string>497.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>497.IBPluginDependency</string>\n\t\t\t\t\t<string>498.IBPluginDependency</string>\n\t\t\t\t\t<string>499.IBPluginDependency</string>\n\t\t\t\t\t<string>5.IBPluginDependency</string>\n\t\t\t\t\t<string>5.ImportedFromIB2</string>\n\t\t\t\t\t<string>500.IBPluginDependency</string>\n\t\t\t\t\t<string>501.IBPluginDependency</string>\n\t\t\t\t\t<string>502.IBPluginDependency</string>\n\t\t\t\t\t<string>503.IBPluginDependency</string>\n\t\t\t\t\t<string>504.IBPluginDependency</string>\n\t\t\t\t\t<string>505.IBPluginDependency</string>\n\t\t\t\t\t<string>506.IBPluginDependency</string>\n\t\t\t\t\t<string>507.IBPluginDependency</string>\n\t\t\t\t\t<string>508.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>508.IBPluginDependency</string>\n\t\t\t\t\t<string>509.IBPluginDependency</string>\n\t\t\t\t\t<string>510.IBPluginDependency</string>\n\t\t\t\t\t<string>511.IBPluginDependency</string>\n\t\t\t\t\t<string>512.IBPluginDependency</string>\n\t\t\t\t\t<string>513.IBPluginDependency</string>\n\t\t\t\t\t<string>514.IBPluginDependency</string>\n\t\t\t\t\t<string>515.IBPluginDependency</string>\n\t\t\t\t\t<string>516.IBPluginDependency</string>\n\t\t\t\t\t<string>517.IBPluginDependency</string>\n\t\t\t\t\t<string>56.IBPluginDependency</string>\n\t\t\t\t\t<string>56.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>57.IBPluginDependency</string>\n\t\t\t\t\t<string>57.ImportedFromIB2</string>\n\t\t\t\t\t<string>57.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>58.IBPluginDependency</string>\n\t\t\t\t\t<string>58.ImportedFromIB2</string>\n\t\t\t\t\t<string>72.IBPluginDependency</string>\n\t\t\t\t\t<string>72.ImportedFromIB2</string>\n\t\t\t\t\t<string>73.IBPluginDependency</string>\n\t\t\t\t\t<string>73.ImportedFromIB2</string>\n\t\t\t\t\t<string>74.IBPluginDependency</string>\n\t\t\t\t\t<string>74.ImportedFromIB2</string>\n\t\t\t\t\t<string>75.IBPluginDependency</string>\n\t\t\t\t\t<string>75.ImportedFromIB2</string>\n\t\t\t\t\t<string>77.IBPluginDependency</string>\n\t\t\t\t\t<string>77.ImportedFromIB2</string>\n\t\t\t\t\t<string>78.IBPluginDependency</string>\n\t\t\t\t\t<string>78.ImportedFromIB2</string>\n\t\t\t\t\t<string>79.IBPluginDependency</string>\n\t\t\t\t\t<string>79.ImportedFromIB2</string>\n\t\t\t\t\t<string>80.IBPluginDependency</string>\n\t\t\t\t\t<string>80.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>81.IBPluginDependency</string>\n\t\t\t\t\t<string>81.ImportedFromIB2</string>\n\t\t\t\t\t<string>81.editorWindowContentRectSynchronizationRect</string>\n\t\t\t\t\t<string>82.IBPluginDependency</string>\n\t\t\t\t\t<string>82.ImportedFromIB2</string>\n\t\t\t\t\t<string>83.IBPluginDependency</string>\n\t\t\t\t\t<string>83.ImportedFromIB2</string>\n\t\t\t\t\t<string>92.IBPluginDependency</string>\n\t\t\t\t\t<string>92.ImportedFromIB2</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{522, 812}, {146, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{436, 809}, {64, 6}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 187}, {275, 113}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {275, 83}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{547, 180}, {254, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{187, 434}, {243, 243}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {167, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{753, 217}, {238, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {241, 103}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{654, 239}, {194, 73}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{525, 802}, {197, 73}}</string>\n\t\t\t\t\t<string>{{380, 836}, {512, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{74, 862}</string>\n\t\t\t\t\t<string>{{6, 978}, {478, 20}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{604, 269}, {231, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{475, 832}, {234, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{746, 287}, {220, 133}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{608, 612}, {215, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{380, 496}, {480, 360}}</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{33, 99}, {480, 360}}</string>\n\t\t\t\t\t<string>{3.40282e+38, 3.40282e+38}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{591, 420}, {83, 43}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{523, 2}, {178, 283}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{753, 197}, {170, 63}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{725, 289}, {246, 23}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{674, 260}, {204, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>{{878, 180}, {164, 173}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{286, 129}, {275, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{23, 794}, {245, 183}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{452, 109}, {196, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>{{145, 474}, {199, 203}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t\t<integer value=\"1\"/>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">532</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">SQLiteLoggerAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">window</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">SQLiteLoggerAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"822405504\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"850738725\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSApplicationScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"624831158\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSColorPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSHelpManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPageLayout.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSApplication</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSBrowser</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSBrowser.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSControl</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"310914472\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSControl.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>printDocument:</string>\n\t\t\t\t\t\t\t<string>revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string>runPageLayout:</string>\n\t\t\t\t\t\t\t<string>saveDocument:</string>\n\t\t\t\t\t\t\t<string>saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string>saveDocumentTo:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocumentController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>clearRecentDocuments:</string>\n\t\t\t\t\t\t\t<string>newDocument:</string>\n\t\t\t\t\t\t\t<string>openDocument:</string>\n\t\t\t\t\t\t\t<string>saveAllDocuments:</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t\t<string>id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDocumentController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFontManager</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"946436764\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSFormatter</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFormatter.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMatrix</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMatrix.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenu</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"1056362899\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenu.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMenuItem</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"472958451\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMenuItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSMovieView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"822405504\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"850738725\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"624831158\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"310914472\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDictionaryController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDragging.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"946436764\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSFontPanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSKeyValueBinding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"1056362899\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSNibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSPasteboard.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSSavePanel.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"809545482\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSToolbarItem.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"260078765\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObjectScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSPortCoder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptClassDescription.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSScriptWhoseTests.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLDownload.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSInterfaceStyle.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSControl</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"809545482\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSText</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSText.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSText</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSClipView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"472958451\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSRulerView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"260078765\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSDrawer.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">NSResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSWindow</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">AppKit.framework/Headers/NSWindowScripting.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1060\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3000\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">../SQLiteLogger.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger/main.m",
    "content": "//\n//  main.m\n//  SQLiteLogger\n//\n//  Created by Robbie Hanson on 3/29/11.\n//  Copyright 2011 Voalte. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t3D08A81AC5E2FE93FCCD806F /* Pods_SQLiteLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 85ACE3E7AA5375CAED1A0630 /* Pods_SQLiteLogger.framework */; };\n\t\tDCE86BF213439AF6004FD85F /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DCE86BF113439AF6004FD85F /* libsqlite3.dylib */; };\n\t\tDCFF742713427FF600F53777 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCFF742613427FF600F53777 /* Cocoa.framework */; };\n\t\tDCFF743113427FF600F53777 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DCFF742F13427FF600F53777 /* InfoPlist.strings */; };\n\t\tDCFF743413427FF600F53777 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DCFF743313427FF600F53777 /* main.m */; };\n\t\tDCFF743713427FF600F53777 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DCFF743513427FF600F53777 /* Credits.rtf */; };\n\t\tDCFF743A13427FF600F53777 /* SQLiteLoggerAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DCFF743913427FF600F53777 /* SQLiteLoggerAppDelegate.m */; };\n\t\tDCFF743D13427FF600F53777 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCFF743B13427FF600F53777 /* MainMenu.xib */; };\n\t\tDCFF7454134280C500F53777 /* FMDBLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCFF7453134280C500F53777 /* FMDBLogger.m */; };\n\t\tDCFF745B134280CF00F53777 /* FMDatabase.m in Sources */ = {isa = PBXBuildFile; fileRef = DCFF7456134280CF00F53777 /* FMDatabase.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tDCFF745C134280CF00F53777 /* FMDatabaseAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DCFF7458134280CF00F53777 /* FMDatabaseAdditions.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n\t\tDCFF745D134280CF00F53777 /* FMResultSet.m in Sources */ = {isa = PBXBuildFile; fileRef = DCFF745A134280CF00F53777 /* FMResultSet.m */; settings = {COMPILER_FLAGS = \"-fno-objc-arc\"; }; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t07EA9F020536593350267B92 /* Pods-SQLiteLogger.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-SQLiteLogger.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-SQLiteLogger/Pods-SQLiteLogger.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t0A65C3606FC7F999ED17A675 /* Pods-SQLiteLogger.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-SQLiteLogger.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-SQLiteLogger/Pods-SQLiteLogger.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t85ACE3E7AA5375CAED1A0630 /* Pods_SQLiteLogger.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SQLiteLogger.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCE86BF113439AF6004FD85F /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = \"compiled.mach-o.dylib\"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };\n\t\tDCFF742213427FF600F53777 /* SQLiteLogger.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SQLiteLogger.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCFF742613427FF600F53777 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDCFF742913427FF600F53777 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDCFF742A13427FF600F53777 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDCFF742B13427FF600F53777 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDCFF742E13427FF600F53777 /* SQLiteLogger-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"SQLiteLogger-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDCFF743013427FF600F53777 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDCFF743213427FF600F53777 /* SQLiteLogger-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"SQLiteLogger-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDCFF743313427FF600F53777 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDCFF743613427FF600F53777 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDCFF743813427FF600F53777 /* SQLiteLoggerAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SQLiteLoggerAppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDCFF743913427FF600F53777 /* SQLiteLoggerAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SQLiteLoggerAppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDCFF743C13427FF600F53777 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDCFF7452134280C500F53777 /* FMDBLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FMDBLogger.h; sourceTree = \"<group>\"; };\n\t\tDCFF7453134280C500F53777 /* FMDBLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FMDBLogger.m; sourceTree = \"<group>\"; };\n\t\tDCFF7455134280CF00F53777 /* FMDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FMDatabase.h; path = FMDB/FMDatabase.h; sourceTree = \"<group>\"; };\n\t\tDCFF7456134280CF00F53777 /* FMDatabase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FMDatabase.m; path = FMDB/FMDatabase.m; sourceTree = \"<group>\"; };\n\t\tDCFF7457134280CF00F53777 /* FMDatabaseAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FMDatabaseAdditions.h; path = FMDB/FMDatabaseAdditions.h; sourceTree = \"<group>\"; };\n\t\tDCFF7458134280CF00F53777 /* FMDatabaseAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FMDatabaseAdditions.m; path = FMDB/FMDatabaseAdditions.m; sourceTree = \"<group>\"; };\n\t\tDCFF7459134280CF00F53777 /* FMResultSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FMResultSet.h; path = FMDB/FMResultSet.h; sourceTree = \"<group>\"; };\n\t\tDCFF745A134280CF00F53777 /* FMResultSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FMResultSet.m; path = FMDB/FMResultSet.m; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDCFF741F13427FF600F53777 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCE86BF213439AF6004FD85F /* libsqlite3.dylib in Frameworks */,\n\t\t\t\tDCFF742713427FF600F53777 /* Cocoa.framework in Frameworks */,\n\t\t\t\t3D08A81AC5E2FE93FCCD806F /* Pods_SQLiteLogger.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tAE39D04BE73E47D02EA1025E /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t0A65C3606FC7F999ED17A675 /* Pods-SQLiteLogger.debug.xcconfig */,\n\t\t\t\t07EA9F020536593350267B92 /* Pods-SQLiteLogger.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF741713427FF600F53777 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF74431342801000F53777 /* Logging */,\n\t\t\t\tDCFF742C13427FF600F53777 /* SQLiteLogger */,\n\t\t\t\tDCFF742513427FF600F53777 /* Frameworks */,\n\t\t\t\tDCFF742313427FF600F53777 /* Products */,\n\t\t\t\tAE39D04BE73E47D02EA1025E /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF742313427FF600F53777 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF742213427FF600F53777 /* SQLiteLogger.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF742513427FF600F53777 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF742613427FF600F53777 /* Cocoa.framework */,\n\t\t\t\tDCE86BF113439AF6004FD85F /* libsqlite3.dylib */,\n\t\t\t\tDCFF742813427FF600F53777 /* Other Frameworks */,\n\t\t\t\t85ACE3E7AA5375CAED1A0630 /* Pods_SQLiteLogger.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF742813427FF600F53777 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF742913427FF600F53777 /* AppKit.framework */,\n\t\t\t\tDCFF742A13427FF600F53777 /* CoreData.framework */,\n\t\t\t\tDCFF742B13427FF600F53777 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF742C13427FF600F53777 /* SQLiteLogger */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF743813427FF600F53777 /* SQLiteLoggerAppDelegate.h */,\n\t\t\t\tDCFF743913427FF600F53777 /* SQLiteLoggerAppDelegate.m */,\n\t\t\t\tDCFF743B13427FF600F53777 /* MainMenu.xib */,\n\t\t\t\tDCFF742D13427FF600F53777 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = SQLiteLogger;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF742D13427FF600F53777 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF742E13427FF600F53777 /* SQLiteLogger-Info.plist */,\n\t\t\t\tDCFF742F13427FF600F53777 /* InfoPlist.strings */,\n\t\t\t\tDCFF743213427FF600F53777 /* SQLiteLogger-Prefix.pch */,\n\t\t\t\tDCFF743313427FF600F53777 /* main.m */,\n\t\t\t\tDCFF743513427FF600F53777 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF74431342801000F53777 /* Logging */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF74501342802B00F53777 /* SQLite */,\n\t\t\t);\n\t\t\tname = Logging;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF74501342802B00F53777 /* SQLite */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF7451134280A700F53777 /* FMDB */,\n\t\t\t\tDCFF7452134280C500F53777 /* FMDBLogger.h */,\n\t\t\t\tDCFF7453134280C500F53777 /* FMDBLogger.m */,\n\t\t\t);\n\t\t\tname = SQLite;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF7451134280A700F53777 /* FMDB */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF7455134280CF00F53777 /* FMDatabase.h */,\n\t\t\t\tDCFF7456134280CF00F53777 /* FMDatabase.m */,\n\t\t\t\tDCFF7457134280CF00F53777 /* FMDatabaseAdditions.h */,\n\t\t\t\tDCFF7458134280CF00F53777 /* FMDatabaseAdditions.m */,\n\t\t\t\tDCFF7459134280CF00F53777 /* FMResultSet.h */,\n\t\t\t\tDCFF745A134280CF00F53777 /* FMResultSet.m */,\n\t\t\t);\n\t\t\tname = FMDB;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDCFF742113427FF600F53777 /* SQLiteLogger */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DCFF744013427FF600F53777 /* Build configuration list for PBXNativeTarget \"SQLiteLogger\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t2552E1A3D7634E28ADC4145D /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDCFF741E13427FF600F53777 /* Sources */,\n\t\t\t\tDCFF741F13427FF600F53777 /* Frameworks */,\n\t\t\t\tDCFF742013427FF600F53777 /* Resources */,\n\t\t\t\t484BB7107DE44253B505D3D6 /* [CP] Copy Pods Resources */,\n\t\t\t\t0421A5DBA1E85BA9EE2E5A4F /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = SQLiteLogger;\n\t\t\tproductName = SQLiteLogger;\n\t\t\tproductReference = DCFF742213427FF600F53777 /* SQLiteLogger.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDCFF741913427FF600F53777 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t\tORGANIZATIONNAME = Voalte;\n\t\t\t};\n\t\t\tbuildConfigurationList = DCFF741C13427FF600F53777 /* Build configuration list for PBXProject \"SQLiteLogger\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DCFF741713427FF600F53777;\n\t\t\tproductRefGroup = DCFF742313427FF600F53777 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDCFF742113427FF600F53777 /* SQLiteLogger */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDCFF742013427FF600F53777 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCFF743113427FF600F53777 /* InfoPlist.strings in Resources */,\n\t\t\t\tDCFF743713427FF600F53777 /* Credits.rtf in Resources */,\n\t\t\t\tDCFF743D13427FF600F53777 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t0421A5DBA1E85BA9EE2E5A4F /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-SQLiteLogger/Pods-SQLiteLogger-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-SQLiteLogger/Pods-SQLiteLogger-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t2552E1A3D7634E28ADC4145D /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-SQLiteLogger-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t484BB7107DE44253B505D3D6 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-SQLiteLogger/Pods-SQLiteLogger-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDCFF741E13427FF600F53777 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCFF743413427FF600F53777 /* main.m in Sources */,\n\t\t\t\tDCFF743A13427FF600F53777 /* SQLiteLoggerAppDelegate.m in Sources */,\n\t\t\t\tDCFF7454134280C500F53777 /* FMDBLogger.m in Sources */,\n\t\t\t\tDCFF745B134280CF00F53777 /* FMDatabase.m in Sources */,\n\t\t\t\tDCFF745C134280CF00F53777 /* FMDatabaseAdditions.m in Sources */,\n\t\t\t\tDCFF745D134280CF00F53777 /* FMResultSet.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDCFF742F13427FF600F53777 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF743013427FF600F53777 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF743513427FF600F53777 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF743613427FF600F53777 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCFF743B13427FF600F53777 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCFF743C13427FF600F53777 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDCFF743E13427FF600F53777 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = DEBUG;\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCFF743F13427FF600F53777 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCFF744113427FF600F53777 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 0A65C3606FC7F999ED17A675 /* Pods-SQLiteLogger.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"SQLiteLogger/SQLiteLogger-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"SQLiteLogger/SQLiteLogger-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCFF744213427FF600F53777 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 07EA9F020536593350267B92 /* Pods-SQLiteLogger.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"SQLiteLogger/SQLiteLogger-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"SQLiteLogger/SQLiteLogger-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDCFF741C13427FF600F53777 /* Build configuration list for PBXProject \"SQLiteLogger\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCFF743E13427FF600F53777 /* Debug */,\n\t\t\t\tDCFF743F13427FF600F53777 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCFF744013427FF600F53777 /* Build configuration list for PBXNativeTarget \"SQLiteLogger\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCFF744113427FF600F53777 /* Debug */,\n\t\t\t\tDCFF744213427FF600F53777 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DCFF741913427FF600F53777 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/SQLiteLogger/SQLiteLogger.xcodeproj/xcshareddata/xcschemes/SQLiteLogger.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DCFF742113427FF600F53777\"\n               BuildableName = \"SQLiteLogger.app\"\n               BlueprintName = \"SQLiteLogger\"\n               ReferencedContainer = \"container:SQLiteLogger.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCFF742113427FF600F53777\"\n            BuildableName = \"SQLiteLogger.app\"\n            BlueprintName = \"SQLiteLogger\"\n            ReferencedContainer = \"container:SQLiteLogger.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCFF742113427FF600F53777\"\n            BuildableName = \"SQLiteLogger.app\"\n            BlueprintName = \"SQLiteLogger\"\n            ReferencedContainer = \"container:SQLiteLogger.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCFF742113427FF600F53777\"\n            BuildableName = \"SQLiteLogger.app\"\n            BlueprintName = \"SQLiteLogger\"\n            ReferencedContainer = \"container:SQLiteLogger.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/Podfile",
    "content": "\nproject 'TestXcodeColors'\nworkspace '../../Demos'\n\ntarget :'TestXcodeColors' do\n  platform :osx, '10.8'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors/AppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n\n@property (assign) IBOutlet NSWindow *window;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// Log levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n@interface AppDelegate ()\n- (void)demoColorTags;\n@end\n\n#pragma mark -\n\n@implementation AppDelegate\n\n@synthesize window = _window;\n\n- (void)applicationDidFinishLaunching:(NSNotification *)notification\n{\n    // Standard lumberjack initialization\n    \n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    // And we're going to enable colors\n    \n    [[DDTTYLogger sharedInstance] setColorsEnabled:YES];\n    \n    // Check out default colors:\n    // Error : Red\n    // Warn  : Orange\n    \n    DDLogError(@\"Paper jam\");\n    DDLogWarn(@\"Toner is low\");\n    DDLogInfo(@\"Warming up printer (pre-customization)\");\n    DDLogVerbose(@\"Intializing protcol x26 (pre-customization)\");\n    \n    // Now let's do some customization:\n    // Info  : Pink\n    \n  #if TARGET_OS_IPHONE\n    UIColor *pink = [UIColor colorWithRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0];\n  #else\n    NSColor *pink = [NSColor colorWithCalibratedRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0];\n  #endif\n    \n    [[DDTTYLogger sharedInstance] setForegroundColor:pink backgroundColor:nil forFlag:DDLogFlagInfo];\n    \n    DDLogInfo(@\"Warming up printer (post-customization)\");\n    \n    // Verbose: Gray\n    \n  #if TARGET_OS_IPHONE\n    UIColor *gray = [UIColor grayColor];\n  #else\n    NSColor *gray = [NSColor grayColor];\n  #endif\n    \n    [[DDTTYLogger sharedInstance] setForegroundColor:gray backgroundColor:nil forFlag:DDLogFlagVerbose];\n    \n    DDLogVerbose(@\"Intializing protcol x26 (post-customization)\");\n    \n    // Now let's get crazy\n    \n    [self demoColorTags];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Lumberjack is extermely flexible.\n * \n * Below we're going to make a straight NSLog replacement that prints in color.\n * We're also going to demonstrate that log levels are not a requirement to use Lumberjack.\n**/\n\nstatic NSString *const PurpleTag = @\"PurpleTag\";\n\n#define DDLogPurple(frmt, ...) LOG_MACRO(NO, 1, 1, 0, PurpleTag, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n\n- (void)demoColorTags\n{\n  #if TARGET_OS_IPHONE\n    UIColor *purple = [UIColor colorWithRed:(64/255.0) green:(0/255.0) blue:(128/255.0) alpha:1.0];\n  #else\n    NSColor *purple = [NSColor colorWithCalibratedRed:(64/255.0) green:(0/255.0) blue:(128/255.0) alpha:1.0];\n  #endif\n    \n    [[DDTTYLogger sharedInstance] setForegroundColor:purple backgroundColor:nil forTag:PurpleTag];\n    \n    DDLogPurple(@\"I'm a purple log message.\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors/TestXcodeColors-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors/TestXcodeColors-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'TestXcodeColors' target in the 'TestXcodeColors' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11C42</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1938</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138.17</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">567.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1938</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">TestXcodeColors</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">TestXcodeColors</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About TestXcodeColors</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide TestXcodeColors</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit TestXcodeColors</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">TestXcodeColors Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">TestXcodeColors</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">535</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addCardViewField:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"doDelete:\">id</string>\n\t\t\t\t\t\t<string key=\"find:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"saveChanges:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addCardViewField:\">\n\t\t\t\t\t\t\t<string key=\"name\">addCardViewField:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"doDelete:\">\n\t\t\t\t\t\t\t<string key=\"name\">doDelete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"find:\">\n\t\t\t\t\t\t\t<string key=\"name\">find:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveChanges:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveChanges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mCardView\">ABCardView</string>\n\t\t\t\t\t\t<string key=\"mEditButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"mManagedObjectContext\">NSManagedObjectContext</string>\n\t\t\t\t\t\t<string key=\"mSearchField\">NSSearchField</string>\n\t\t\t\t\t\t<string key=\"mStatusTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"mWindow\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mCardView\">\n\t\t\t\t\t\t\t<string key=\"name\">mCardView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABCardView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mEditButton\">\n\t\t\t\t\t\t\t<string key=\"name\">mEditButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mManagedObjectContext\">\n\t\t\t\t\t\t\t<string key=\"name\">mManagedObjectContext</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSManagedObjectContext</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mSearchField\">\n\t\t\t\t\t\t\t<string key=\"name\">mSearchField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSearchField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mStatusTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">mStatusTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">mWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"commitAndSave:\">id</string>\n\t\t\t\t\t\t<string key=\"statusImageClicked:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"commitAndSave:\">\n\t\t\t\t\t\t\t<string key=\"name\">commitAndSave:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"statusImageClicked:\">\n\t\t\t\t\t\t\t<string key=\"name\">statusImageClicked:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mBuddyStatusImage\">NSImageView</string>\n\t\t\t\t\t\t<string key=\"mHeaderView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mNameView\">ABNameFrameView</string>\n\t\t\t\t\t\t<string key=\"mNextKeyView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mUserImage\">NSImage</string>\n\t\t\t\t\t\t<string key=\"mUserImageView\">ABImageView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mBuddyStatusImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mBuddyStatusImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mHeaderView\">\n\t\t\t\t\t\t\t<string key=\"name\">mHeaderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNameView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNameView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABNameFrameView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNextKeyView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNextKeyView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImage</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImageView\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImageView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABImageView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTAutoLayoutView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTAutoLayoutView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTBorderedView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">contentView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTBorderedView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTDelayedMenuButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTDelayedMenuButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTGradientImageButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTGradientImageButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTextFieldCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextColumn</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableColumn</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextColumn.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTSplitView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSSplitView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTSplitView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTStackView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTStackView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFRepresenterTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFRepresenterTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IBEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"changeFont:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeSelectionToFit:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"changeFont:\">\n\t\t\t\t\t\t\t<string key=\"name\">changeFont:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeSelectionToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeSelectionToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IBEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDECapsuleListView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTStackView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">dataSource</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDECapsuleListView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMArrayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSArrayController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMArrayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"bottomToolbarBorderView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"sourceListSplitViewPane\">NSView</string>\n\t\t\t\t\t\t<string key=\"sourceListViewController\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t<string key=\"splitView\">DVTSplitView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"bottomToolbarBorderView\">\n\t\t\t\t\t\t\t<string key=\"name\">bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListSplitViewPane\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"borderedView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDMEditor</string>\n\t\t\t\t\t\t<string key=\"primaryColumn\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t<string key=\"sourceListOutlineView\">DVTOutlineView</string>\n\t\t\t\t\t\t<string key=\"sourceListTreeController\">NSTreeController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"primaryColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">primaryColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListOutlineView\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListTreeController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListTreeController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorSourceListController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTImageAndTextCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMHighlightImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"attributesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"capsuleView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"fetchedPropertiesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"relationshipsTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"attributesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">attributesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchedPropertiesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"relationshipsTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">relationshipsTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelBrowserEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"capsuleListView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableController\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleListView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleListView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableController\">\n\t\t\t\t\t\t\t<string key=\"name\">tableController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"configurationsArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationsArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationsArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"diagramView\">XDDiagramView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramView\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDDiagramView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelDiagramEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"addEntityButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"addPropertyButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"browserDiagramSegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"configurationViewController\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"entityContentsViewController\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"fetchRequestViewController\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t<string key=\"hierarchySegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addEntityButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addEntityButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addPropertyButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addPropertyButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserDiagramSegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityContentsViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityContentsViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchRequestViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchRequestViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"hierarchySegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">hierarchySegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"browserViewController\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"diagramViewController\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">browserViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEntityContentsEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"entityController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">IDECapsuleListView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelFetchRequestEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"arrayController\">IDEDMArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesColumn\">NSTableColumn</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"propertyNameAndImageCell\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"arrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">arrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTableColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"propertyNameAndImageCell\">\n\t\t\t\t\t\t\t<string key=\"name\">propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelPropertiesTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"getDocSetAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showProblemInfoForUpdate:\">id</string>\n\t\t\t\t\t\t<string key=\"subscribeToPublisherAction:\">id</string>\n\t\t\t\t\t\t<string key=\"unsubscribeFromPublisher:\">id</string>\n\t\t\t\t\t\t<string key=\"updateDocSetAction:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"getDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">getDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showProblemInfoForUpdate:\">\n\t\t\t\t\t\t\t<string key=\"name\">showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscribeToPublisherAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unsubscribeFromPublisher:\">\n\t\t\t\t\t\t\t<string key=\"name\">unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"updateDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">updateDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDocSetOutlineView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocViewingPrefPaneController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addSubscription:\">id</string>\n\t\t\t\t\t\t<string key=\"checkForAndInstallUpdatesNow:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeComboBoxAction:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeEnabledAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showHelp:\">id</string>\n\t\t\t\t\t\t<string key=\"showSubscriptionSheet:\">id</string>\n\t\t\t\t\t\t<string key=\"subscriptionCancelAction:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleAutoCheckForAndInstallUpdates:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleDocSetInfo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addSubscription:\">\n\t\t\t\t\t\t\t<string key=\"name\">addSubscription:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"checkForAndInstallUpdatesNow:\">\n\t\t\t\t\t\t\t<string key=\"name\">checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeComboBoxAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeEnabledAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showHelp:\">\n\t\t\t\t\t\t\t<string key=\"name\">showHelp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showSubscriptionSheet:\">\n\t\t\t\t\t\t\t<string key=\"name\">showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscriptionCancelAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleAutoCheckForAndInstallUpdates:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleDocSetInfo:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleDocSetInfo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"_addButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_deleteButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_showInfoAreaButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_splitView\">NSSplitView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetInfoSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetsListSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"borderedViewAroundSplitView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"borderedViewBelowTable\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"checkAndInstallNowButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"docSetInfoTextView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"docSetOutlineViewController\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeControl\">NSComboBox</string>\n\t\t\t\t\t\t<string key=\"noUpdatesAvailableMessage\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"showInfoButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"subscriptionTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"subscriptionWindow\">NSWindow</string>\n\t\t\t\t\t\t<string key=\"validateAddSubscriptionButton\">NSButton</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_addButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_addButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_deleteButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_deleteButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_showInfoAreaButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_showInfoAreaButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetInfoSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetsListSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewAroundSplitView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewBelowTable\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewBelowTable</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"checkAndInstallNowButton\">\n\t\t\t\t\t\t\t<string key=\"name\">checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetInfoTextView\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetInfoTextView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetOutlineViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"minimumFontSizeControl\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSComboBox</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"noUpdatesAvailableMessage\">\n\t\t\t\t\t\t\t<string key=\"name\">noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"showInfoButton\">\n\t\t\t\t\t\t\t<string key=\"name\">showInfoButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"validateAddSubscriptionButton\">\n\t\t\t\t\t\t\t<string key=\"name\">validateAddSubscriptionButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocViewingPrefPaneController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IKImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"crop:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"crop:\">\n\t\t\t\t\t\t\t<string key=\"name\">crop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IKImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"printDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"revertDocumentToSaved:\">id</string>\n\t\t\t\t\t\t<string key=\"runPageLayout:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentAs:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentTo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"printDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"revertDocumentToSaved:\">\n\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"runPageLayout:\">\n\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentAs:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentTo:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QLPreviewBubble</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"hide:\">id</string>\n\t\t\t\t\t\t<string key=\"show:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"hide:\">\n\t\t\t\t\t\t\t<string key=\"name\">hide:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"show:\">\n\t\t\t\t\t\t\t<string key=\"name\">show:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">parentWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QLPreviewBubble.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QTMovieView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"showAll:\">id</string>\n\t\t\t\t\t\t<string key=\"showCustomButton:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleLoops:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">showAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showCustomButton:\">\n\t\t\t\t\t\t\t<string key=\"name\">showCustomButton:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleLoops:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleLoops:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QTMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"reloadFromOrigin:\">id</string>\n\t\t\t\t\t\t<string key=\"resetPageZoom:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"reloadFromOrigin:\">\n\t\t\t\t\t\t\t<string key=\"name\">reloadFromOrigin:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"resetPageZoom:\">\n\t\t\t\t\t\t\t<string key=\"name\">resetPageZoom:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/WebView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDDiagramView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"_graphLayouterMenuItemAction:\">id</string>\n\t\t\t\t\t\t<string key=\"_zoomPopUpButtonAction:\">id</string>\n\t\t\t\t\t\t<string key=\"alignBottomEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersHorizontallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersVerticallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignHorizontalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"alignLeftEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignRightEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignTopEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignVerticalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"bringToFront:\">id</string>\n\t\t\t\t\t\t<string key=\"collapseAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteBackward:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteForward:\">id</string>\n\t\t\t\t\t\t<string key=\"deselectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomOut:\">id</string>\n\t\t\t\t\t\t<string key=\"expandAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"flipHorizontally:\">id</string>\n\t\t\t\t\t\t<string key=\"flipVertically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsConcentrically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsHierarchically:\">id</string>\n\t\t\t\t\t\t<string key=\"lock:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameHeight:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameWidth:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDown:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDownAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeft:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeftAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRight:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRightAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUp:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUpAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"rollDownAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"rollUpAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sendToBack:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeToFit:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleGridShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleHiddenGraphicsShown:\">id</string>\n\t\t\t\t\t\t<string key=\"togglePageBreaksShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleRuler:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleSnapsToGrid:\">id</string>\n\t\t\t\t\t\t<string key=\"unlock:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_graphLayouterMenuItemAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_zoomPopUpButtonAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignBottomEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignBottomEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersHorizontallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersVerticallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignHorizontalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignLeftEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignLeftEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignRightEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignRightEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignTopEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignTopEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignVerticalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignVerticalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"bringToFront:\">\n\t\t\t\t\t\t\t<string key=\"name\">bringToFront:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"collapseAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">collapseAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteBackward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteBackward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteForward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteForward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deselectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">deselectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"expandAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">expandAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipHorizontally:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipHorizontally:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipVertically:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipVertically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsConcentrically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsHierarchically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"lock:\">\n\t\t\t\t\t\t\t<string key=\"name\">lock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameHeight:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameHeight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameWidth:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameWidth:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDown:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDownAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeft:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeft:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeftAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRight:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRightAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUp:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUpAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollDownAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollUpAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sendToBack:\">\n\t\t\t\t\t\t\t<string key=\"name\">sendToBack:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleGridShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleGridShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleHiddenGraphicsShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"togglePageBreaksShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleRuler:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleRuler:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleSnapsToGrid:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unlock:\">\n\t\t\t\t\t\t\t<string key=\"name\">unlock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">_diagramController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDDiagramView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">showAllTableColumns:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"applicationShouldTerminate:\">id</string>\n\t\t\t\t\t\t<string key=\"applicationWillFinishLaunching:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationShouldTerminate:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationWillFinishLaunching:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>\n\t\t\t<integer value=\"1070\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{9, 8}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{7, 2}</string>\n\t\t</dictionary>\n\t\t<bool key=\"IBDocument.UseAutolayout\">YES</bool>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors/main.m",
    "content": "//\n//  main.m\n//  TestXcodeColors\n//\n//  Created by Robbie Hanson on 5/17/12.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tA671E93AD9D574A90C154802 /* Pods_TestXcodeColors.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F260B7BC9873B0B0A6E33BC0 /* Pods_TestXcodeColors.framework */; };\n\t\tDCAACA831565CEBD001A5857 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCAACA821565CEBD001A5857 /* Cocoa.framework */; };\n\t\tDCAACA8D1565CEBD001A5857 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DCAACA8B1565CEBD001A5857 /* InfoPlist.strings */; };\n\t\tDCAACA8F1565CEBD001A5857 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DCAACA8E1565CEBD001A5857 /* main.m */; };\n\t\tDCAACA931565CEBD001A5857 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DCAACA911565CEBD001A5857 /* Credits.rtf */; };\n\t\tDCAACA961565CEBD001A5857 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DCAACA951565CEBD001A5857 /* AppDelegate.m */; };\n\t\tDCAACA991565CEBD001A5857 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCAACA971565CEBD001A5857 /* MainMenu.xib */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t0E67F36E8E943AD82F600FAD /* Pods-TestXcodeColors.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-TestXcodeColors.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-TestXcodeColors/Pods-TestXcodeColors.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tDCAACA7E1565CEBD001A5857 /* TestXcodeColors.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestXcodeColors.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCAACA821565CEBD001A5857 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };\n\t\tDCAACA851565CEBD001A5857 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };\n\t\tDCAACA861565CEBD001A5857 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };\n\t\tDCAACA871565CEBD001A5857 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDCAACA8A1565CEBD001A5857 /* TestXcodeColors-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"TestXcodeColors-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDCAACA8C1565CEBD001A5857 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDCAACA8E1565CEBD001A5857 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDCAACA901565CEBD001A5857 /* TestXcodeColors-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"TestXcodeColors-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDCAACA921565CEBD001A5857 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDCAACA941565CEBD001A5857 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDCAACA951565CEBD001A5857 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDCAACA981565CEBD001A5857 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tF260B7BC9873B0B0A6E33BC0 /* Pods_TestXcodeColors.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TestXcodeColors.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tF4C4E1B9A797EEAFB26839FC /* Pods-TestXcodeColors.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-TestXcodeColors.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-TestXcodeColors/Pods-TestXcodeColors.release.xcconfig\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDCAACA7B1565CEBD001A5857 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCAACA831565CEBD001A5857 /* Cocoa.framework in Frameworks */,\n\t\t\t\tA671E93AD9D574A90C154802 /* Pods_TestXcodeColors.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tA7444058C5801629B7C3DF6B /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t0E67F36E8E943AD82F600FAD /* Pods-TestXcodeColors.debug.xcconfig */,\n\t\t\t\tF4C4E1B9A797EEAFB26839FC /* Pods-TestXcodeColors.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCAACA731565CEBD001A5857 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCAACA881565CEBD001A5857 /* TestXcodeColors */,\n\t\t\t\tDCAACA811565CEBD001A5857 /* Frameworks */,\n\t\t\t\tDCAACA7F1565CEBD001A5857 /* Products */,\n\t\t\t\tA7444058C5801629B7C3DF6B /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCAACA7F1565CEBD001A5857 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCAACA7E1565CEBD001A5857 /* TestXcodeColors.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCAACA811565CEBD001A5857 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCAACA821565CEBD001A5857 /* Cocoa.framework */,\n\t\t\t\tDCAACA841565CEBD001A5857 /* Other Frameworks */,\n\t\t\t\tF260B7BC9873B0B0A6E33BC0 /* Pods_TestXcodeColors.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCAACA841565CEBD001A5857 /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCAACA851565CEBD001A5857 /* AppKit.framework */,\n\t\t\t\tDCAACA861565CEBD001A5857 /* CoreData.framework */,\n\t\t\t\tDCAACA871565CEBD001A5857 /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCAACA881565CEBD001A5857 /* TestXcodeColors */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCAACA941565CEBD001A5857 /* AppDelegate.h */,\n\t\t\t\tDCAACA951565CEBD001A5857 /* AppDelegate.m */,\n\t\t\t\tDCAACA971565CEBD001A5857 /* MainMenu.xib */,\n\t\t\t\tDCAACA891565CEBD001A5857 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = TestXcodeColors;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCAACA891565CEBD001A5857 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCAACA8A1565CEBD001A5857 /* TestXcodeColors-Info.plist */,\n\t\t\t\tDCAACA8B1565CEBD001A5857 /* InfoPlist.strings */,\n\t\t\t\tDCAACA8E1565CEBD001A5857 /* main.m */,\n\t\t\t\tDCAACA901565CEBD001A5857 /* TestXcodeColors-Prefix.pch */,\n\t\t\t\tDCAACA911565CEBD001A5857 /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDCAACA7D1565CEBD001A5857 /* TestXcodeColors */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DCAACA9C1565CEBD001A5857 /* Build configuration list for PBXNativeTarget \"TestXcodeColors\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tEB464937B0CE488A84F2AADD /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDCAACA7A1565CEBD001A5857 /* Sources */,\n\t\t\t\tDCAACA7B1565CEBD001A5857 /* Frameworks */,\n\t\t\t\tDCAACA7C1565CEBD001A5857 /* Resources */,\n\t\t\t\t8B1455570C474FE39D9FBE8E /* [CP] Copy Pods Resources */,\n\t\t\t\t32972ACF228A19E2FE2DA834 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = TestXcodeColors;\n\t\t\tproductName = TestXcodeColors;\n\t\t\tproductReference = DCAACA7E1565CEBD001A5857 /* TestXcodeColors.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDCAACA751565CEBD001A5857 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = DCAACA781565CEBD001A5857 /* Build configuration list for PBXProject \"TestXcodeColors\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DCAACA731565CEBD001A5857;\n\t\t\tproductRefGroup = DCAACA7F1565CEBD001A5857 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDCAACA7D1565CEBD001A5857 /* TestXcodeColors */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDCAACA7C1565CEBD001A5857 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCAACA8D1565CEBD001A5857 /* InfoPlist.strings in Resources */,\n\t\t\t\tDCAACA931565CEBD001A5857 /* Credits.rtf in Resources */,\n\t\t\t\tDCAACA991565CEBD001A5857 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t32972ACF228A19E2FE2DA834 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-TestXcodeColors/Pods-TestXcodeColors-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-TestXcodeColors/Pods-TestXcodeColors-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t8B1455570C474FE39D9FBE8E /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-TestXcodeColors/Pods-TestXcodeColors-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tEB464937B0CE488A84F2AADD /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-TestXcodeColors-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDCAACA7A1565CEBD001A5857 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCAACA8F1565CEBD001A5857 /* main.m in Sources */,\n\t\t\t\tDCAACA961565CEBD001A5857 /* AppDelegate.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDCAACA8B1565CEBD001A5857 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCAACA8C1565CEBD001A5857 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCAACA911565CEBD001A5857 /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCAACA921565CEBD001A5857 /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCAACA971565CEBD001A5857 /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCAACA981565CEBD001A5857 /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDCAACA9A1565CEBD001A5857 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCAACA9B1565CEBD001A5857 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCAACA9D1565CEBD001A5857 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 0E67F36E8E943AD82F600FAD /* Pods-TestXcodeColors.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"TestXcodeColors/TestXcodeColors-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"TestXcodeColors/TestXcodeColors-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCAACA9E1565CEBD001A5857 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = F4C4E1B9A797EEAFB26839FC /* Pods-TestXcodeColors.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"TestXcodeColors/TestXcodeColors-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"TestXcodeColors/TestXcodeColors-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDCAACA781565CEBD001A5857 /* Build configuration list for PBXProject \"TestXcodeColors\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCAACA9A1565CEBD001A5857 /* Debug */,\n\t\t\t\tDCAACA9B1565CEBD001A5857 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCAACA9C1565CEBD001A5857 /* Build configuration list for PBXNativeTarget \"TestXcodeColors\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCAACA9D1565CEBD001A5857 /* Debug */,\n\t\t\t\tDCAACA9E1565CEBD001A5857 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DCAACA751565CEBD001A5857 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Desktop/TestXcodeColors.xcodeproj/xcshareddata/xcschemes/TestXcodeColors (Desktop).xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DCAACA7D1565CEBD001A5857\"\n               BuildableName = \"TestXcodeColors.app\"\n               BlueprintName = \"TestXcodeColors\"\n               ReferencedContainer = \"container:TestXcodeColors.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCAACA7D1565CEBD001A5857\"\n            BuildableName = \"TestXcodeColors.app\"\n            BlueprintName = \"TestXcodeColors\"\n            ReferencedContainer = \"container:TestXcodeColors.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCAACA7D1565CEBD001A5857\"\n            BuildableName = \"TestXcodeColors.app\"\n            BlueprintName = \"TestXcodeColors\"\n            ReferencedContainer = \"container:TestXcodeColors.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCAACA7D1565CEBD001A5857\"\n            BuildableName = \"TestXcodeColors.app\"\n            BlueprintName = \"TestXcodeColors\"\n            ReferencedContainer = \"container:TestXcodeColors.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/Podfile",
    "content": "\nproject 'TextXcodeColors'\nworkspace '../../Demos'\n\ntarget :'TextXcodeColors' do\n  platform :ios, '8.0'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors/AppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class ViewController;\n\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n@property (strong, nonatomic) ViewController *viewController;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import \"ViewController.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// Log levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n@interface AppDelegate ()\n- (void)demoColorTags;\n@end\n\n#pragma mark -\n\n@implementation AppDelegate\n\n@synthesize window;\n@synthesize viewController;\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n    // Standard lumberjack initialization\n    \n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    // And we're going to enable colors\n    \n    [[DDTTYLogger sharedInstance] setColorsEnabled:YES];\n    \n    // Check out default colors:\n    // Error : Red\n    // Warn  : Orange\n    \n    DDLogError(@\"Paper jam\");\n    DDLogWarn(@\"Toner is low\");\n    DDLogInfo(@\"Warming up printer (pre-customization)\");\n    DDLogVerbose(@\"Intializing protcol x26 (pre-customization)\");\n    \n    // Now let's do some customization:\n    // Info  : Pink\n    \n  #if TARGET_OS_IPHONE\n    UIColor *pink = [UIColor colorWithRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0];\n  #else\n    NSColor *pink = [NSColor colorWithCalibratedRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0];\n  #endif\n    \n    [[DDTTYLogger sharedInstance] setForegroundColor:pink backgroundColor:nil forFlag:DDLogFlagInfo];\n    \n    DDLogInfo(@\"Warming up printer (post-customization)\");\n    \n    // Verbose: Gray\n    \n  #if TARGET_OS_IPHONE\n    UIColor *gray = [UIColor grayColor];\n  #else\n    NSColor *gray = [NSColor grayColor];\n  #endif\n    \n    [[DDTTYLogger sharedInstance] setForegroundColor:gray backgroundColor:nil forFlag:DDLogFlagVerbose];\n    \n    DDLogVerbose(@\"Intializing protcol x26 (post-customization)\");\n    \n    // Now let's get crazy\n    \n    [self demoColorTags];\n    \n    // Normal iOS UI stuff\n    \n    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];\n    self.viewController = [[ViewController alloc] initWithNibName:@\"ViewController\" bundle:nil];\n    self.window.rootViewController = self.viewController;\n    [self.window makeKeyAndVisible];\n    \n    // Update label for better understanding.\n    // \n    // Be sure to follow the instructions for seting up XcodeColors here:\n    // https://github.com/CocoaLumberjack/CocoaLumberjack/wiki/XcodeColors\n    \n    char *xcode_colors = getenv(\"XcodeColors\");\n    if (xcode_colors)\n    {\n        if (strcmp(xcode_colors, \"YES\") == 0)\n            viewController.label.text = @\"XcodeColors enabled\";\n        else\n            viewController.label.text = @\"XcodeColors disabled\";\n    }\n    else\n    {\n        viewController.label.text = @\"XcodeColors not detected\";\n    }\n    \n    return YES;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Lumberjack is extermely flexible.\n * \n * Below we're going to make a straight NSLog replacement that prints in color.\n * We're also going to demonstrate that log levels are not a requirement to use Lumberjack.\n**/\n\nstatic NSString *const PurpleTag = @\"PurpleTag\";\n\n#define DDLogPurple(frmt, ...) LOG_MACRO(NO, 1, 1, 0, PurpleTag, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n\n- (void)demoColorTags\n{\n  #if TARGET_OS_IPHONE\n    UIColor *purple = [UIColor colorWithRed:(64/255.0) green:(0/255.0) blue:(128/255.0) alpha:1.0];\n  #else\n    NSColor *purple = [NSColor colorWithCalibratedRed:(64/255.0) green:(0/255.0) blue:(128/255.0) alpha:1.0];\n  #endif\n    \n    [[DDTTYLogger sharedInstance] setForegroundColor:purple backgroundColor:nil forTag:PurpleTag];\n    \n    DDLogPurple(@\"I'm a purple log message.\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors/TextXcodeColors-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors/TextXcodeColors-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'TextXcodeColors' target in the 'TextXcodeColors' project\n//\n\n#import <Availability.h>\n\n#ifndef __IPHONE_4_0\n#warning \"This project uses features only available in iOS SDK 4.0 and later.\"\n#endif\n\n#ifdef __OBJC__\n\t#import <UIKit/UIKit.h>\n\t#import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors/ViewController.h",
    "content": "#import <UIKit/UIKit.h>\n\n@interface ViewController : UIViewController\n{\n    IBOutlet UILabel *label;\n}\n\n@property (nonatomic, readonly) UILabel *label;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors/ViewController.m",
    "content": "#import \"ViewController.h\"\n\n\n@implementation ViewController\n\n@synthesize label;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors/en.lproj/ViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1296</int>\n\t\t<string key=\"IBDocument.SystemVersion\">13A598</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">4511</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1265</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">695.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">3745</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>IBProxyObject</string>\n\t\t\t<string>IBUILabel</string>\n\t\t\t<string>IBUIView</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000143292\">\n\t\t\t<object class=\"IBProxyObject\" id=\"142937434\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"1042339898\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"1020694071\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">1298</int>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSSubviews\">\n\t\t\t\t\t<object class=\"IBUILabel\" id=\"8584182\">\n\t\t\t\t\t\t<reference key=\"NSNextResponder\" ref=\"1020694071\"/>\n\t\t\t\t\t\t<int key=\"NSvFlags\">1316</int>\n\t\t\t\t\t\t<object class=\"NSPSMatrix\" key=\"NSFrameMatrix\"/>\n\t\t\t\t\t\t<string key=\"NSFrame\">{{20, 96}, {280, 72}}</string>\n\t\t\t\t\t\t<reference key=\"NSSuperview\" ref=\"1020694071\"/>\n\t\t\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t\t\t<bool key=\"IBUIClipsSubviews\">YES</bool>\n\t\t\t\t\t\t<int key=\"IBUIContentMode\">7</int>\n\t\t\t\t\t\t<bool key=\"IBUIUserInteractionEnabled\">NO</bool>\n\t\t\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t\t\t<string key=\"IBUIText\">XcodeColors status goes here</string>\n\t\t\t\t\t\t<object class=\"NSColor\" key=\"IBUITextColor\">\n\t\t\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t\t\t<bytes key=\"NSRGB\">MCAwIDAAA</bytes>\n\t\t\t\t\t\t\t<string key=\"IBUIColorCocoaTouchKeyPath\">darkTextColor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<nil key=\"IBUIHighlightedColor\"/>\n\t\t\t\t\t\t<int key=\"IBUIBaselineAdjustment\">0</int>\n\t\t\t\t\t\t<int key=\"IBUITextAlignment\">1</int>\n\t\t\t\t\t\t<int key=\"IBUILineBreakMode\">0</int>\n\t\t\t\t\t\t<object class=\"IBUIFontDescription\" key=\"IBUIFontDescription\">\n\t\t\t\t\t\t\t<int key=\"type\">1</int>\n\t\t\t\t\t\t\t<double key=\"pointSize\">17</double>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSFont\" key=\"IBUIFont\">\n\t\t\t\t\t\t\t<string key=\"NSName\">HelveticaNeue</string>\n\t\t\t\t\t\t\t<double key=\"NSSize\">17</double>\n\t\t\t\t\t\t\t<int key=\"NSfFlags\">16</int>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<bool key=\"IBUIAdjustsFontSizeToFit\">NO</bool>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<object class=\"NSPSMatrix\" key=\"NSFrameMatrix\"/>\n\t\t\t\t<string key=\"NSFrame\">{{0, 20}, {320, 460}}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<reference key=\"NSWindow\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<bool key=\"usesAutoincrementingIDs\">NO</bool>\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">label</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"142937434\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"8584182\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<string key=\"id\">9</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"142937434\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1020694071\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<string key=\"id\">7</string>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<string key=\"id\">0</string>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000143292\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<string key=\"id\">-1</string>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"142937434\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<string key=\"id\">-2</string>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1042339898\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<string key=\"id\">6</string>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1020694071\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"8584182\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<string key=\"id\">8</string>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"8584182\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1020694071\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.CustomClassName\">ViewController</string>\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<boolean value=\"NO\" key=\"-1.showNotes\"/>\n\t\t\t\t<string key=\"-2.CustomClassName\">UIResponder</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<boolean value=\"NO\" key=\"-2.showNotes\"/>\n\t\t\t\t<string key=\"6.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<reference key=\"6.IBUserGuides\" ref=\"0\"/>\n\t\t\t\t<boolean value=\"NO\" key=\"6.showNotes\"/>\n\t\t\t\t<string key=\"8.IBPluginDependency\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t<reference key=\"8.IBUserGuides\" ref=\"0\"/>\n\t\t\t\t<boolean value=\"NO\" key=\"8.showNotes\"/>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">label</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">UILabel</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">label</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">label</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">UILabel</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<bool key=\"IBDocument.previouslyAttemptedUpgradeToXcode5\">YES</bool>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>\n\t\t\t<real value=\"1296\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"4600\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">3745</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors/main.m",
    "content": "//\n//  main.m\n//  TextXcodeColors\n//\n//  Created by Robbie Hanson on 5/24/12.\n//\n\n#import <UIKit/UIKit.h>\n\n#import \"AppDelegate.h\"\n\nint main(int argc, char *argv[])\n{\n    @autoreleasepool {\n        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\tDC361299156E1D3800956227 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC361298156E1D3800956227 /* UIKit.framework */; };\n\t\tDC36129B156E1D3800956227 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC36129A156E1D3800956227 /* Foundation.framework */; };\n\t\tDC36129D156E1D3800956227 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC36129C156E1D3800956227 /* CoreGraphics.framework */; };\n\t\tDC3612A3156E1D3800956227 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DC3612A1156E1D3800956227 /* InfoPlist.strings */; };\n\t\tDC3612A5156E1D3800956227 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DC3612A4156E1D3800956227 /* main.m */; };\n\t\tDC3612A9156E1D3800956227 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DC3612A8156E1D3800956227 /* AppDelegate.m */; };\n\t\tDC3612AC156E1D3800956227 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DC3612AB156E1D3800956227 /* ViewController.m */; };\n\t\tDC3612AF156E1D3800956227 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = DC3612AD156E1D3800956227 /* ViewController.xib */; };\n\t\tDCA7CB6B61365B46534BEB21 /* Pods_TextXcodeColors.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 82E3A02CF219388DD9F26861 /* Pods_TextXcodeColors.framework */; };\n\t\tDCD6EACC16FFC47500710668 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DCD6EACB16FFC47500710668 /* Default-568h@2x.png */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t4178E7AF72A128963347BA3F /* Pods-TextXcodeColors.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-TextXcodeColors.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-TextXcodeColors/Pods-TextXcodeColors.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t7DCF417237276689C2276EE1 /* Pods-TextXcodeColors.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-TextXcodeColors.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-TextXcodeColors/Pods-TextXcodeColors.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t82E3A02CF219388DD9F26861 /* Pods_TextXcodeColors.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TextXcodeColors.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC361294156E1D3800956227 /* TextXcodeColors.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TextXcodeColors.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDC361298156E1D3800956227 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\tDC36129A156E1D3800956227 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDC36129C156E1D3800956227 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\tDC3612A0156E1D3800956227 /* TextXcodeColors-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"TextXcodeColors-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDC3612A2156E1D3800956227 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDC3612A4156E1D3800956227 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDC3612A6156E1D3800956227 /* TextXcodeColors-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"TextXcodeColors-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDC3612A7156E1D3800956227 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDC3612A8156E1D3800956227 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDC3612AA156E1D3800956227 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = \"<group>\"; };\n\t\tDC3612AB156E1D3800956227 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = \"<group>\"; };\n\t\tDC3612AE156E1D3800956227 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = \"<group>\"; };\n\t\tDCD6EACB16FFC47500710668 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = \"Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tDC361291156E1D3800956227 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC361299156E1D3800956227 /* UIKit.framework in Frameworks */,\n\t\t\t\tDC36129B156E1D3800956227 /* Foundation.framework in Frameworks */,\n\t\t\t\tDC36129D156E1D3800956227 /* CoreGraphics.framework in Frameworks */,\n\t\t\t\tDCA7CB6B61365B46534BEB21 /* Pods_TextXcodeColors.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\tDC361289156E1D3700956227 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCD6EACB16FFC47500710668 /* Default-568h@2x.png */,\n\t\t\t\tDC36129E156E1D3800956227 /* TextXcodeColors */,\n\t\t\t\tDC361297156E1D3800956227 /* Frameworks */,\n\t\t\t\tDC361295156E1D3800956227 /* Products */,\n\t\t\t\tF1DBDB0E932E2D5D91295B8B /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC361295156E1D3800956227 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC361294156E1D3800956227 /* TextXcodeColors.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC361297156E1D3800956227 /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC361298156E1D3800956227 /* UIKit.framework */,\n\t\t\t\tDC36129A156E1D3800956227 /* Foundation.framework */,\n\t\t\t\tDC36129C156E1D3800956227 /* CoreGraphics.framework */,\n\t\t\t\t82E3A02CF219388DD9F26861 /* Pods_TextXcodeColors.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC36129E156E1D3800956227 /* TextXcodeColors */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC3612A7156E1D3800956227 /* AppDelegate.h */,\n\t\t\t\tDC3612A8156E1D3800956227 /* AppDelegate.m */,\n\t\t\t\tDC3612AA156E1D3800956227 /* ViewController.h */,\n\t\t\t\tDC3612AB156E1D3800956227 /* ViewController.m */,\n\t\t\t\tDC3612AD156E1D3800956227 /* ViewController.xib */,\n\t\t\t\tDC36129F156E1D3800956227 /* Supporting Files */,\n\t\t\t);\n\t\t\tpath = TextXcodeColors;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC36129F156E1D3800956227 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC3612A0156E1D3800956227 /* TextXcodeColors-Info.plist */,\n\t\t\t\tDC3612A1156E1D3800956227 /* InfoPlist.strings */,\n\t\t\t\tDC3612A4156E1D3800956227 /* main.m */,\n\t\t\t\tDC3612A6156E1D3800956227 /* TextXcodeColors-Prefix.pch */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tF1DBDB0E932E2D5D91295B8B /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t4178E7AF72A128963347BA3F /* Pods-TextXcodeColors.debug.xcconfig */,\n\t\t\t\t7DCF417237276689C2276EE1 /* Pods-TextXcodeColors.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tDC361293156E1D3800956227 /* TextXcodeColors */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DC3612B2156E1D3800956227 /* Build configuration list for PBXNativeTarget \"TextXcodeColors\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t1F450BAFFAAF4E0C9234609D /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tDC361290156E1D3800956227 /* Sources */,\n\t\t\t\tDC361291156E1D3800956227 /* Frameworks */,\n\t\t\t\tDC361292156E1D3800956227 /* Resources */,\n\t\t\t\tCB70F1F0EEEB49A2BE62788D /* [CP] Copy Pods Resources */,\n\t\t\t\t2AC4DB441F2019F353709779 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = TextXcodeColors;\n\t\t\tproductName = TextXcodeColors;\n\t\t\tproductReference = DC361294156E1D3800956227 /* TextXcodeColors.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDC36128B156E1D3700956227 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = DC36128E156E1D3700956227 /* Build configuration list for PBXProject \"TextXcodeColors\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = DC361289156E1D3700956227;\n\t\t\tproductRefGroup = DC361295156E1D3800956227 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tDC361293156E1D3800956227 /* TextXcodeColors */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tDC361292156E1D3800956227 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC3612A3156E1D3800956227 /* InfoPlist.strings in Resources */,\n\t\t\t\tDC3612AF156E1D3800956227 /* ViewController.xib in Resources */,\n\t\t\t\tDCD6EACC16FFC47500710668 /* Default-568h@2x.png in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t1F450BAFFAAF4E0C9234609D /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-TextXcodeColors-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t2AC4DB441F2019F353709779 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-TextXcodeColors/Pods-TextXcodeColors-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-TextXcodeColors/Pods-TextXcodeColors-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tCB70F1F0EEEB49A2BE62788D /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-TextXcodeColors/Pods-TextXcodeColors-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tDC361290156E1D3800956227 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC3612A5156E1D3800956227 /* main.m in Sources */,\n\t\t\t\tDC3612A9156E1D3800956227 /* AppDelegate.m in Sources */,\n\t\t\t\tDC3612AC156E1D3800956227 /* ViewController.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXVariantGroup section */\n\t\tDC3612A1156E1D3800956227 /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC3612A2156E1D3800956227 /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC3612AD156E1D3800956227 /* ViewController.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDC3612AE156E1D3800956227 /* en */,\n\t\t\t);\n\t\t\tname = ViewController.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tDC3612B0156E1D3800956227 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC3612B1156E1D3800956227 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDC3612B3156E1D3800956227 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 4178E7AF72A128963347BA3F /* Pods-TextXcodeColors.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"TextXcodeColors/TextXcodeColors-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"TextXcodeColors/TextXcodeColors-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDC3612B4156E1D3800956227 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 7DCF417237276689C2276EE1 /* Pods-TextXcodeColors.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"TextXcodeColors/TextXcodeColors-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"TextXcodeColors/TextXcodeColors-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tDC36128E156E1D3700956227 /* Build configuration list for PBXProject \"TextXcodeColors\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC3612B0156E1D3800956227 /* Debug */,\n\t\t\t\tDC3612B1156E1D3800956227 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDC3612B2156E1D3800956227 /* Build configuration list for PBXNativeTarget \"TextXcodeColors\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDC3612B3156E1D3800956227 /* Debug */,\n\t\t\t\tDC3612B4156E1D3800956227 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DC36128B156E1D3700956227 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/TestXcodeColors/Mobile/TextXcodeColors.xcodeproj/xcshareddata/xcschemes/TextXcodeColors (Mobile).xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DC361293156E1D3800956227\"\n               BuildableName = \"TextXcodeColors.app\"\n               BlueprintName = \"TextXcodeColors\"\n               ReferencedContainer = \"container:TextXcodeColors.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC361293156E1D3800956227\"\n            BuildableName = \"TextXcodeColors.app\"\n            BlueprintName = \"TextXcodeColors\"\n            ReferencedContainer = \"container:TextXcodeColors.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC361293156E1D3800956227\"\n            BuildableName = \"TextXcodeColors.app\"\n            BlueprintName = \"TextXcodeColors\"\n            ReferencedContainer = \"container:TextXcodeColors.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <EnvironmentVariables>\n         <EnvironmentVariable\n            key = \"XcodeColors\"\n            value = \"YES\"\n            isEnabled = \"YES\">\n         </EnvironmentVariable>\n      </EnvironmentVariables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DC361293156E1D3800956227\"\n            BuildableName = \"TextXcodeColors.app\"\n            BlueprintName = \"TextXcodeColors\"\n            ReferencedContainer = \"container:TextXcodeColors.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/Classes/UniversalAppAppDelegate.h",
    "content": "//\n//  UniversalAppAppDelegate.h\n//  UniversalApp\n//\n//  Created by Robbie Hanson on 7/1/10.\n//\n\n#import <UIKit/UIKit.h>\n\n@class UniversalAppViewController;\n\n@interface UniversalAppAppDelegate : NSObject <UIApplicationDelegate> {\n    UIWindow *window;\n    UniversalAppViewController *viewController;\n}\n\n@property (nonatomic, strong) IBOutlet UIWindow *window;\n@property (nonatomic, strong) IBOutlet UniversalAppViewController *viewController;\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/Classes/UniversalAppAppDelegate.m",
    "content": "//\n//  UniversalAppAppDelegate.m\n//  UniversalApp\n//\n//  Created by Robbie Hanson on 7/1/10.\n//\n\n#import \"UniversalAppAppDelegate.h\"\n#import \"UniversalAppViewController.h\"\n\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n@implementation UniversalAppAppDelegate\n\n@synthesize window;\n@synthesize viewController;\n\n\n#pragma mark -\n#pragma mark Application lifecycle\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions\n{\n    [DDLog addLogger:[DDASLLogger sharedInstance]];\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    // Override point for customization after application launch.\n    \n    // Add the view controller's view to the window and display.\n    window.rootViewController = viewController;\n    [window makeKeyAndVisible];\n    \n    return YES;\n}\n\n\n- (void)applicationWillResignActive:(UIApplication *)application {\n    /*\n     Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n     Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n     */\n}\n\n\n- (void)applicationDidEnterBackground:(UIApplication *)application {\n    /*\n     Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. \n     If your application supports background execution, called instead of applicationWillTerminate: when the user quits.\n     */\n}\n\n\n- (void)applicationWillEnterForeground:(UIApplication *)application {\n    /*\n     Called as part of  transition from the background to the inactive state: here you can undo many of the changes made on entering the background.\n     */\n}\n\n\n- (void)applicationDidBecomeActive:(UIApplication *)application {\n    /*\n     Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n     */\n}\n\n\n- (void)applicationWillTerminate:(UIApplication *)application {\n    /*\n     Called when the application is about to terminate.\n     See also applicationDidEnterBackground:.\n     */\n}\n\n\n#pragma mark -\n#pragma mark Memory management\n\n- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {\n    /*\n     Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later.\n     */\n}\n\n\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/Classes/UniversalAppViewController.h",
    "content": "//\n//  UniversalAppViewController.h\n//  UniversalApp\n//\n//  Created by Robbie Hanson on 7/1/10.\n//\n\n#import <UIKit/UIKit.h>\n\n@interface UniversalAppViewController : UIViewController {\n\n}\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/Classes/UniversalAppViewController.m",
    "content": "//\n//  UniversalAppViewController.m\n//  UniversalApp\n//\n//  Created by Robbie Hanson on 7/1/10.\n//\n\n#import \"UniversalAppViewController.h\"\n\n@implementation UniversalAppViewController\n\n\n\n/*\n// The designated initializer. Override to perform setup that is required before the view is loaded.\n- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {\n    if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {\n        // Custom initialization\n    }\n    return self;\n}\n*/\n\n/*\n// Implement loadView to create a view hierarchy programmatically, without using a nib.\n- (void)loadView {\n}\n*/\n\n\n/*\n// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.\n- (void)viewDidLoad {\n    [super viewDidLoad];\n}\n*/\n\n\n/*\n// Override to allow orientations other than the default portrait orientation.\n- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {\n    // Return YES for supported orientations\n    return (interfaceOrientation == UIInterfaceOrientationPortrait);\n}\n*/\n\n- (void)didReceiveMemoryWarning {\n    // Releases the view if it doesn't have a superview.\n    [super didReceiveMemoryWarning];\n    \n    // Release any cached data, images, etc that aren't in use.\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/MainWindow.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1024</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10D571</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">786</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.29</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">460.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">112</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"10\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"841351856\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"427554174\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUICustomObject\" id=\"664661524\">\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIViewController\" id=\"943309135\">\n\t\t\t\t<string key=\"IBUINibName\">UniversalAppViewController</string>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<object class=\"IBUISimulatedOrientationMetrics\" key=\"IBUISimulatedOrientationMetrics\">\n\t\t\t\t\t<int key=\"interfaceOrientation\">1</int>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIHorizontal\">NO</bool>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIWindow\" id=\"117978783\">\n\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 480}</string>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t<bytes key=\"NSRGB\">MSAxIDEAA</bytes>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t\t<bool key=\"IBUIResizesToFullScreen\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"664661524\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">4</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">viewController</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"943309135\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">11</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117978783\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">14</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">UniversalApp App Delegate</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"427554174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"943309135\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">12</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117978783\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>10.CustomClassName</string>\n\t\t\t\t\t<string>10.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>10.IBPluginDependency</string>\n\t\t\t\t\t<string>12.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>12.IBPluginDependency</string>\n\t\t\t\t\t<string>3.CustomClassName</string>\n\t\t\t\t\t<string>3.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>UIApplication</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>UniversalAppViewController</string>\n\t\t\t\t\t<string>{{234, 376}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>{{525, 346}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>UniversalAppAppDelegate</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">15</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UniversalAppAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>UniversalAppViewController</string>\n\t\t\t\t\t\t\t<string>UIWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">viewController</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">UniversalAppViewController</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\">\n\t\t\t\t\t\t\t\t<string key=\"name\">window</string>\n\t\t\t\t\t\t\t\t<string key=\"candidateClassName\">UIWindow</string>\n\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/UniversalAppAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UniversalAppAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UniversalAppViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/UniversalAppViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptionsV3.2+\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSError.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSFileManager.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueCoding.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyValueObserving.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSKeyedArchiver.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSObject.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSRunLoop.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSThread.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURL.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Foundation.framework/Headers/NSURLConnection.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIAccessibility.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINibLoading.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\" id=\"356479594\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIResponder.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIApplication</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIApplication.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIResponder</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<reference key=\"sourceIdentifier\" ref=\"356479594\"/>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchBar</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchBar.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UISearchDisplayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISearchDisplayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITextField.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIView</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UINavigationController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIPopoverController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UISplitViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UITabBarController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIResponder</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UIWindow</string>\n\t\t\t\t\t<string key=\"superclassName\">UIView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBFrameworkSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">UIKit.framework/Headers/UIWindow.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDependencyDefaults\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>\n\t\t\t<integer value=\"1024\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">UniversalApp.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">112</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/Podfile",
    "content": "\nproject 'UniversalApp'\nworkspace '../Demos'\n\ntarget :'UniversalApp' do\n  platform :ios, '8.0'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/UniversalApp-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSMainNibFile</key>\n\t<string>MainWindow</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/UniversalApp.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1D3623260D0F684500981E51 /* UniversalAppAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* UniversalAppAppDelegate.m */; };\n\t\t1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };\n\t\t1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };\n\t\t1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };\n\t\t288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };\n\t\t2899E5220DE3E06400AC0155 /* UniversalAppViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* UniversalAppViewController.xib */; };\n\t\t28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };\n\t\t28D7ACF80DDB3853001CB0EB /* UniversalAppViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* UniversalAppViewController.m */; };\n\t\t3AEF9C259CA38835BC6C4AAC /* Pods_UniversalApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D61E03FBA6112DCCEFFD3BE9 /* Pods_UniversalApp.framework */; };\n\t\tDCD6EACE16FFC4CA00710668 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DCD6EACD16FFC4CA00710668 /* Default-568h@2x.png */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\t1D3623240D0F684500981E51 /* UniversalAppAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UniversalAppAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t1D3623250D0F684500981E51 /* UniversalAppAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UniversalAppAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t1D6058910D05DD3D006BFB54 /* UniversalApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UniversalApp.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\t288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\t2899E5210DE3E06400AC0155 /* UniversalAppViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UniversalAppViewController.xib; sourceTree = \"<group>\"; };\n\t\t28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = \"<group>\"; };\n\t\t28D7ACF60DDB3853001CB0EB /* UniversalAppViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UniversalAppViewController.h; sourceTree = \"<group>\"; };\n\t\t28D7ACF70DDB3853001CB0EB /* UniversalAppViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UniversalAppViewController.m; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t32CA4F630368D1EE00C91783 /* UniversalApp_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UniversalApp_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t8D1107310486CEB800E47090 /* UniversalApp-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"UniversalApp-Info.plist\"; plistStructureDefinitionIdentifier = \"com.apple.xcode.plist.structure-definition.iphone.info-plist\"; sourceTree = \"<group>\"; };\n\t\t9F44EB26E2F69C51EA060C7F /* Pods-UniversalApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-UniversalApp.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-UniversalApp/Pods-UniversalApp.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tA4843CE03896EA2723FEE081 /* Pods-UniversalApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-UniversalApp.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-UniversalApp/Pods-UniversalApp.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tD61E03FBA6112DCCEFFD3BE9 /* Pods_UniversalApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_UniversalApp.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCD6EACD16FFC4CA00710668 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = \"Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t1D60588F0D05DD3D006BFB54 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,\n\t\t\t\t1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,\n\t\t\t\t288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,\n\t\t\t\t3AEF9C259CA38835BC6C4AAC /* Pods_UniversalApp.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1D3623240D0F684500981E51 /* UniversalAppAppDelegate.h */,\n\t\t\t\t1D3623250D0F684500981E51 /* UniversalAppAppDelegate.m */,\n\t\t\t\t28D7ACF60DDB3853001CB0EB /* UniversalAppViewController.h */,\n\t\t\t\t28D7ACF70DDB3853001CB0EB /* UniversalAppViewController.m */,\n\t\t\t);\n\t\t\tpath = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1D6058910D05DD3D006BFB54 /* UniversalApp.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t247DE01045C1A877BA1B9FFA /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tA4843CE03896EA2723FEE081 /* Pods-UniversalApp.debug.xcconfig */,\n\t\t\t\t9F44EB26E2F69C51EA060C7F /* Pods-UniversalApp.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCD6EACD16FFC4CA00710668 /* Default-568h@2x.png */,\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\t247DE01045C1A877BA1B9FFA /* Pods */,\n\t\t\t);\n\t\t\tname = CustomTemplate;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t32CA4F630368D1EE00C91783 /* UniversalApp_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t2899E5210DE3E06400AC0155 /* UniversalAppViewController.xib */,\n\t\t\t\t28AD733E0D9D9553002E5188 /* MainWindow.xib */,\n\t\t\t\t8D1107310486CEB800E47090 /* UniversalApp-Info.plist */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,\n\t\t\t\t1D30AB110D05D00D00671497 /* Foundation.framework */,\n\t\t\t\t288765A40DF7441C002DB57D /* CoreGraphics.framework */,\n\t\t\t\tD61E03FBA6112DCCEFFD3BE9 /* Pods_UniversalApp.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t1D6058900D05DD3D006BFB54 /* UniversalApp */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget \"UniversalApp\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tB61A9BD3E21341178D46D4A0 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t1D60588D0D05DD3D006BFB54 /* Resources */,\n\t\t\t\t1D60588E0D05DD3D006BFB54 /* Sources */,\n\t\t\t\t1D60588F0D05DD3D006BFB54 /* Frameworks */,\n\t\t\t\t8132F431727B45E58EBF5B27 /* [CP] Copy Pods Resources */,\n\t\t\t\t3B5A1686E66D0323E122F34C /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = UniversalApp;\n\t\t\tproductName = UniversalApp;\n\t\t\tproductReference = 1D6058910D05DD3D006BFB54 /* UniversalApp.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"UniversalApp\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t1D6058900D05DD3D006BFB54 /* UniversalApp */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t1D60588D0D05DD3D006BFB54 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,\n\t\t\t\t2899E5220DE3E06400AC0155 /* UniversalAppViewController.xib in Resources */,\n\t\t\t\tDCD6EACE16FFC4CA00710668 /* Default-568h@2x.png in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t3B5A1686E66D0323E122F34C /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-UniversalApp/Pods-UniversalApp-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-UniversalApp/Pods-UniversalApp-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t8132F431727B45E58EBF5B27 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-UniversalApp/Pods-UniversalApp-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tB61A9BD3E21341178D46D4A0 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-UniversalApp-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t1D60588E0D05DD3D006BFB54 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t1D60589B0D05DD56006BFB54 /* main.m in Sources */,\n\t\t\t\t1D3623260D0F684500981E51 /* UniversalAppAppDelegate.m in Sources */,\n\t\t\t\t28D7ACF80DDB3853001CB0EB /* UniversalAppViewController.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\t1D6058940D05DD3E006BFB54 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = A4843CE03896EA2723FEE081 /* Pods-UniversalApp.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = UniversalApp_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"UniversalApp-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = UniversalApp;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t1D6058950D05DD3E006BFB54 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 9F44EB26E2F69C51EA060C7F /* Pods-UniversalApp.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = UniversalApp_Prefix.pch;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tINFOPLIST_FILE = \"UniversalApp-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.yourcompany.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = UniversalApp;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = c99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = c99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tOTHER_CFLAGS = \"-DNS_BLOCK_ASSERTIONS=1\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget \"UniversalApp\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t1D6058940D05DD3E006BFB54 /* Debug */,\n\t\t\t\t1D6058950D05DD3E006BFB54 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"UniversalApp\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/UniversalApp.xcodeproj/xcshareddata/xcschemes/UniversalApp.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n               BuildableName = \"UniversalApp.app\"\n               BlueprintName = \"UniversalApp\"\n               ReferencedContainer = \"container:UniversalApp.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n            BuildableName = \"UniversalApp.app\"\n            BlueprintName = \"UniversalApp\"\n            ReferencedContainer = \"container:UniversalApp.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n            BuildableName = \"UniversalApp.app\"\n            BlueprintName = \"UniversalApp\"\n            ReferencedContainer = \"container:UniversalApp.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n            BuildableName = \"UniversalApp.app\"\n            BlueprintName = \"UniversalApp\"\n            ReferencedContainer = \"container:UniversalApp.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/UniversalAppViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">800</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10C540</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">759</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1038.25</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">458.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">77</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"6\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 460}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t\t<string key=\"targetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>6.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>6.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>UniversalAppViewController</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>{{239, 654}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">7</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">UniversalAppViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/UniversalAppViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaTouchFramework</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">UniversalApp.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">77</string>\n\t\t<nil key=\"IBCocoaTouchSimulationTargetRuntimeIdentifier\"/>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/UniversalApp_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'UniversalApp' target in the 'UniversalApp' project\n//\n\n#ifdef __OBJC__\n    #import <Foundation/Foundation.h>\n    #import <UIKit/UIKit.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/UniversalApp/main.m",
    "content": "//\n//  main.m\n//  UniversalApp\n//\n//  Created by Robbie Hanson on 7/1/10.\n//\n\n#import <UIKit/UIKit.h>\n\nint main(int argc, char *argv[]) {\n    \n    @autoreleasepool {\n        int retVal = UIApplicationMain(argc, argv, nil, nil);\n        return retVal;\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Classes/MyHTTPConnection.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"HTTPConnection.h\"\n\n\n@interface MyHTTPConnection : HTTPConnection\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Classes/MyHTTPConnection.m",
    "content": "#import \"MyHTTPConnection.h\"\n#import \"WebServerIPhoneAppDelegate.h\"\n#import \"HTTPLogging.h\"\n#import \"HTTPMessage.h\"\n#import \"HTTPDataResponse.h\"\n#import \"HTTPDynamicFileResponse.h\"\n#import \"GCDAsyncSocket.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"WebSocket.h\"\n#import \"WebSocketLogger.h\"\n\n\n@implementation MyHTTPConnection\n\nstatic NSMutableSet *webSocketLoggers;\n\n/**\n * The runtime sends initialize to each class in a program exactly one time just before the class,\n * or any class that inherits from it, is sent its first message from within the program. (Thus the\n * method may never be invoked if the class is not used.) The runtime sends the initialize message to\n * classes in a thread-safe manner. Superclasses receive this message before their subclasses.\n *\n * This method may also be called directly (assumably by accident), hence the safety mechanism.\n**/\n+ (void)initialize\n{\n    static dispatch_once_t onceToken;\n    dispatch_once(&onceToken, ^{\n        \n        // We need some place to store the webSocketLogger instances.\n        // So we'll store them here, in a class variable.\n        // \n        // We'll also use a simple notification system to release them when they die.\n        \n        webSocketLoggers = [[NSMutableSet alloc] init];\n        \n        [[NSNotificationCenter defaultCenter] addObserver:self\n                                                 selector:@selector(webSocketLoggerDidDie:)\n                                                     name:WebSocketLoggerDidDieNotification\n                                                   object:nil];\n    });\n}\n\n+ (void)addWebSocketLogger:(WebSocketLogger *)webSocketLogger\n{\n    @synchronized(webSocketLoggers)\n    {\n        [webSocketLoggers addObject:webSocketLogger];\n    }\n}\n\n+ (void)webSocketLoggerDidDie:(NSNotification *)notification\n{\n    @synchronized(webSocketLoggers)\n    {\n        [webSocketLoggers removeObject:[notification object]];\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Utilities\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the logFileManager, which is a part of the DDFileLogger system.\n * The DDLogFileManager is the subsystem which manages the location and creation of log files.\n**/\n- (id <DDLogFileManager>)logFileManager\n{\n    WebServerIPhoneAppDelegate *appDelegate;\n    appDelegate = (WebServerIPhoneAppDelegate *)[[UIApplication sharedApplication] delegate];\n    \n    return appDelegate.fileLogger.logFileManager;\n}\n\n/**\n * Dynamic discovery of proper websocket href. \n**/\n- (NSString *)wsLocation\n{\n    NSString *port = [NSString stringWithFormat:@\"%hu\", [asyncSocket localPort]];\n    \n    NSString *wsLocation;\n    NSString *wsHost = [request headerField:@\"Host\"];\n    \n    if (wsHost == nil)\n    {\n        wsLocation = [NSString stringWithFormat:@\"ws://localhost:%@/livelog\", port];\n    }\n    else\n    {\n        wsLocation = [NSString stringWithFormat:@\"ws://%@/livelog\", wsHost];\n    }\n    \n    return wsLocation;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark /logs.html\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the response body for requests to \"/logs/index.html\".\n * \n * The response is generated dynamically.\n * It returns the list of log files currently on the system, along with their creation date and file size.\n**/\n- (NSData *)generateIndexData\n{\n    NSArray *sortedLogFileInfos = [[self logFileManager] sortedLogFileInfos];\n    \n    NSDateFormatter *df = [[NSDateFormatter alloc] init];\n    [df setFormatterBehavior:NSDateFormatterBehavior10_4];\n    [df setDateFormat:@\"yyyy/MM/dd HH:mm:ss\"];\n    \n    NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];\n    [nf setFormatterBehavior:NSNumberFormatterBehavior10_4];\n    [nf setNumberStyle:NSNumberFormatterDecimalStyle];\n    [nf setMinimumFractionDigits:2];\n    [nf setMaximumFractionDigits:2];\n    \n    NSMutableString *response = [NSMutableString stringWithCapacity:1000];\n    \n    [response appendString:@\"<html><head>\"];\n    [response appendString:@\"<style type='text/css'>@import url('styles.css');</style>\"];\n    [response appendString:@\"</head><body>\"];\n    \n    [response appendString:@\"<h1>Device Log Files</h1>\"];\n    \n    [response appendString:@\"<table cellspacing='2'>\"];\n    \n    for (DDLogFileInfo *logFileInfo in sortedLogFileInfos)\n    {\n        NSString *fileName = logFileInfo.fileName;\n        NSString *fileDate = [df stringFromDate:[logFileInfo creationDate]];\n        NSString *fileSize;\n        \n        unsigned long long sizeInBytes = logFileInfo.fileSize;\n        \n        double GBs = (double)(sizeInBytes) / (double)(1024 * 1024 * 1024);\n        double MBs = (double)(sizeInBytes) / (double)(1024 * 1024);\n        double KBs = (double)(sizeInBytes) / (double)(1024);\n        \n        if(GBs >= 1.0)\n        {\n            NSString *temp = [nf stringFromNumber:[NSNumber numberWithDouble:GBs]];\n            fileSize = [NSString stringWithFormat:@\"%@ GB\", temp];\n        }\n        else if(MBs >= 1.0)\n        {\n            NSString *temp = [nf stringFromNumber:[NSNumber numberWithDouble:MBs]];\n            fileSize = [NSString stringWithFormat:@\"%@ MB\", temp];\n        }\n        else\n        {\n            NSString *temp = [nf stringFromNumber:[NSNumber numberWithDouble:KBs]];\n            fileSize = [NSString stringWithFormat:@\"%@ KB\", temp];\n        }\n        \n        NSString *fileLink = [NSString stringWithFormat:@\"<a href='/logs/%@'>%@</a>\", fileName, fileName];\n        \n        [response appendFormat:@\"<tr><td>%@</td><td>%@</td><td align='right'>%@</td>\", fileLink, fileDate, fileSize];\n    }\n    \n    [response appendString:@\"</table></body></html>\"];\n    \n    return [response dataUsingEncoding:NSUTF8StringEncoding];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark HTTPConnection\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Overrides method in HTTPConnection.\n * \n * This method is invoked to retrieve the filePath for a given URI.\n * We override it to provide proper mapping for log file paths.\n**/\n- (NSString *)filePathForURI:(NSString *)path allowDirectory:(BOOL)allowDirectory\n{\n    if ([path hasPrefix:@\"/logs/\"])\n    {\n        NSString *logsDir = [[self logFileManager] logsDirectory];\n        return [logsDir stringByAppendingPathComponent:[path lastPathComponent]];\n    }\n    \n    // Fall through\n    return [super filePathForURI:path allowDirectory:allowDirectory];\n}\n\n/**\n * Overrides method in HTTPConnection.\n**/\n- (NSObject<HTTPResponse> *)httpResponseForMethod:(NSString *)method URI:(NSString *)path\n{\n    if ([path isEqualToString:@\"/logs.html\"])\n    {\n        // Dynamically generate html response with list of available log files\n        \n        NSData *indexData = [self generateIndexData];\n        return [[HTTPDataResponse alloc] initWithData:indexData];\n    }\n    else if ([path isEqualToString:@\"/socket.html\"])\n    {\n        // The socket.html file contains a URL template that needs to be completed:\n        // \n        // ws = new WebSocket(\"%%WEBSOCKET_URL%%\");\n        // \n        // We need to replace \"%%WEBSOCKET_URL%%\" with whatever URL the server is running on.\n        // We can accomplish this easily with the HTTPDynamicFileResponse class,\n        // which takes a dictionary of replacement key-value pairs,\n        // and performs replacements on the fly as it uploads the file.\n        \n        NSString *loc = [self wsLocation];\n        NSDictionary *replacementDict = [NSDictionary dictionaryWithObject:loc forKey:@\"WEBSOCKET_URL\"];\n        \n        return [[HTTPDynamicFileResponse alloc] initWithFilePath:[self filePathForURI:path]\n                                                    forConnection:self\n                                                        separator:@\"%%\"\n                                            replacementDictionary:replacementDict];\n    }\n    \n    // Fall through\n    return [super httpResponseForMethod:method URI:path];\n}\n\n/**\n * Overrides method in HTTPConnection.\n**/\n- (WebSocket *)webSocketForURI:(NSString *)path\n{\n    if ([path isEqualToString:@\"/livelog\"])\n    {\n        // Create the WebSocket\n        WebSocket *webSocket = [[WebSocket alloc] initWithRequest:request socket:asyncSocket];\n        \n        // Create the WebSocketLogger\n        WebSocketLogger *webSocketLogger = [[WebSocketLogger alloc] initWithWebSocket:webSocket];\n        \n        [[self class] addWebSocketLogger:webSocketLogger];\n        return webSocket;\n    }\n    \n    return [super webSocketForURI:path];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Classes/WebServerIPhoneAppDelegate.h",
    "content": "#import <UIKit/UIKit.h>\n\n@class WebServerIPhoneViewController;\n@class DDFileLogger;\n@class HTTPServer;\n\n@interface WebServerIPhoneAppDelegate : NSObject <UIApplicationDelegate>\n{\n    DDFileLogger *fileLogger;\n    \n    HTTPServer *httpServer;\n    \n    UIWindow *window;\n    WebServerIPhoneViewController *viewController;\n}\n\n@property (nonatomic, readonly) DDFileLogger *fileLogger;\n\n@property (nonatomic, strong) IBOutlet UIWindow *window;\n@property (nonatomic, strong) IBOutlet WebServerIPhoneViewController *viewController;\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Classes/WebServerIPhoneAppDelegate.m",
    "content": "#import \"WebServerIPhoneAppDelegate.h\"\n#import \"WebServerIPhoneViewController.h\"\n\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n#import \"HTTPServer.h\"\n#import \"MyHTTPConnection.h\"\n\n// Log levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n\n@implementation WebServerIPhoneAppDelegate\n\n@synthesize fileLogger;\n\n@synthesize window;\n@synthesize viewController;\n\n\n- (void)setupWebServer\n{\n    // Create server using our custom MyHTTPServer class\n    httpServer = [[HTTPServer alloc] init];\n    \n    // Configure it to use our connection class\n    [httpServer setConnectionClass:[MyHTTPConnection class]];\n    \n    // Set the bonjour type of the http server.\n    // This allows the server to broadcast itself via bonjour.\n    // You can automatically discover the service in Safari's bonjour bookmarks section.\n    [httpServer setType:@\"_http._tcp.\"];\n    \n    // Normally there is no need to run our server on any specific port.\n    // Technologies like Bonjour allow clients to dynamically discover the server's port at runtime.\n    // However, for testing purposes, it may be much easier if the port doesn't change on every build-and-go.\n    [httpServer setPort:12345];\n    \n    // Serve files from our embedded Web folder\n    NSString *webPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@\"Web\"];\n    [httpServer setDocumentRoot:webPath];\n    \n    // Start the server (and check for problems)\n    \n    NSError *error = nil;\n    if (![httpServer start:&error])\n    {\n        DDLogError(@\"Error starting HTTP Server: %@\", error);\n    }\n}\n\n- (void)applicationDidFinishLaunching:(UIApplication *)application\n{\n    // Direct log messages to the console.\n    // The log messages will look exactly like a normal NSLog statement.\n    // \n    // This is something we may not want to do in a shipping version of the application.\n    \n//  [DDLog addLogger:[DDASLLogger sharedInstance]];\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    // We also want to direct our log messages to a file.\n    // So we're going to setup file logging.\n    // \n    // We start by creating a file logger.\n    \n    fileLogger = [[DDFileLogger alloc] init];\n    \n    // Configure some sensible defaults for an iPhone application.\n    // \n    // Roll the file when it gets to be 512 KB or 24 Hours old (whichever comes first).\n    // \n    // Also, only keep up to 4 archived log files around at any given time.\n    // We don't want to take up too much disk space.\n    \n    fileLogger.maximumFileSize = 1024 * 512;    // 512 KB\n    fileLogger.rollingFrequency = 60 * 60 * 24; //  24 Hours\n    \n    fileLogger.logFileManager.maximumNumberOfLogFiles = 4;\n    \n    // Add our file logger to the logging system.\n    \n    [DDLog addLogger:fileLogger];\n    \n    // Now setup our web server.\n    // \n    // This will allow us to connect to the device from our web browser.\n    // We can then view log files, or view logging in real time as the application runs.\n    \n    [self setupWebServer];\n    \n    // This application, by itself, doesn't actually do anthing.\n    // It is just a proof of concept or demonstration.\n    // But we want to be able to see the application logging something.\n    // So we setup a timer to spit out a silly log message.\n    \n    [NSTimer scheduledTimerWithTimeInterval:1.0\n                                     target:self\n                                   selector:@selector(writeLogMessages:)\n                                   userInfo:nil\n                                    repeats:YES];\n    \n    [window setRootViewController:viewController];\n    [window makeKeyAndVisible];\n}\n\n\n- (void)writeLogMessages:(NSTimer *)aTimer\n{\n    // Log a message in verbose mode.\n    // \n    // Want to disable this log message?\n    // Try setting the log level (at the top of this file) to DDLogLevelWarning.\n    // After doing this you can leave the log statement below.\n    // It will automatically be compiled out (when compiling in release mode where compiler optimizations are enabled).\n    \n    DDLogVerbose(@\"I like cheese\");\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Classes/WebServerIPhoneViewController.h",
    "content": "#import <UIKit/UIKit.h>\n\n\n@interface WebServerIPhoneViewController : UIViewController {\n\n}\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Classes/WebServerIPhoneViewController.m",
    "content": "#import \"WebServerIPhoneViewController.h\"\n\n\n@implementation WebServerIPhoneViewController\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Classes/WebSocketLogger.h",
    "content": "#import <Foundation/Foundation.h>\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import \"WebSocket.h\"\n\n\n#define WebSocketLoggerDidDieNotification  @\"WebSocketLoggerDidDie\"\n\n@interface WebSocketLogger : DDAbstractLogger <DDLogger>\n{\n    WebSocket *websocket;\n    BOOL isWebSocketOpen;\n}\n\n- (id)initWithWebSocket:(WebSocket *)ws;\n\n@end\n\n@interface WebSocketFormatter : NSObject <DDLogFormatter>\n{\n    NSDateFormatter *dateFormatter;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Classes/WebSocketLogger.m",
    "content": "#import \"WebSocketLogger.h\"\n#import \"HTTPLogging.h\"\n\n\n@implementation WebSocketLogger\n\n- (id)initWithWebSocket:(WebSocket *)ws\n{\n    if ((self = [super init]))\n    {\n        websocket = ws;\n        websocket.delegate = self;\n        \n        self.logFormatter = [[WebSocketFormatter alloc] init];\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    [websocket setDelegate:nil];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark WebSocket delegate\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)webSocketDidOpen:(WebSocket *)ws\n{\n    // This method is invoked on the websocketQueue\n    \n    isWebSocketOpen = YES;\n    \n    // Add our logger\n    [DDLog addLogger:self];\n}\n\n- (void)webSocketDidClose:(WebSocket *)ws\n{\n    // This method is invoked on the websocketQueue\n    \n    isWebSocketOpen = NO;\n    \n    // Remove our logger\n    [DDLog removeLogger:self];\n    \n    // Post notification\n    [[NSNotificationCenter defaultCenter] postNotificationName:WebSocketLoggerDidDieNotification object:self];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark DDLogger Protocol\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)logMessage:(DDLogMessage *)logMessage\n{\n    if (logMessage->_context == HTTP_LOG_CONTEXT)\n    {\n        // Don't relay HTTP log messages.\n        // Doing so could essentially cause an endless loop of log messages.\n        \n        return;\n    }\n    \n    NSString *logMsg = logMessage->_message;\n    \n    if (_logFormatter)\n    {\n        logMsg = [_logFormatter formatLogMessage:logMessage];\n    }\n    \n    if (logMsg)\n    {\n        dispatch_async(websocket.websocketQueue, ^{ @autoreleasepool {\n            \n            if (isWebSocketOpen)\n            {\n                [websocket sendMessage:logMsg];\n                \n            }\n        }});\n    }\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation WebSocketFormatter\n\n- (id)init\n{\n    if((self = [super init]))\n    {\n        dateFormatter = [[NSDateFormatter alloc] init];\n        [dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];\n        [dateFormatter setDateFormat:@\"yyyy/MM/dd HH:mm:ss:SSS\"];\n    }\n    return self;\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage\n{\n    NSString *dateAndTime = [dateFormatter stringFromDate:(logMessage->_timestamp)];\n    \n    NSMutableString *webMsg = [logMessage->_message mutableCopy];\n    \n    [webMsg replaceOccurrencesOfString:@\"<\"  withString:@\"&lt;\"  options:0 range:NSMakeRange(0, [webMsg length])];\n    [webMsg replaceOccurrencesOfString:@\">\"  withString:@\"&gt;\"  options:0 range:NSMakeRange(0, [webMsg length])];\n    [webMsg replaceOccurrencesOfString:@\"\\n\" withString:@\"<br/>\" options:0 range:NSMakeRange(0, [webMsg length])];\n    \n    return [NSString stringWithFormat:@\"%@ &nbsp;%@\", dateAndTime, webMsg];\n}\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/MainWindow.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">784</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A394</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">732</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1027.1</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">430.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">60</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"10\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"841351856\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"427554174\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUICustomObject\" id=\"664661524\"/>\n\t\t\t<object class=\"IBUIViewController\" id=\"943309135\">\n\t\t\t\t<string key=\"IBUINibName\">WebServerIPhoneViewController</string>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIWindow\" id=\"117978783\">\n\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">292</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 480}</string>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">1</int>\n\t\t\t\t\t<bytes key=\"NSRGB\">MSAxIDEAA</bytes>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIOpaque\">NO</bool>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"664661524\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">4</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">viewController</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"943309135\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">11</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"117978783\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">14</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"841351856\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"664661524\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">WebServerIPhone App Delegate</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"427554174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">10</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"943309135\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">12</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"117978783\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>10.CustomClassName</string>\n\t\t\t\t\t<string>10.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>10.IBPluginDependency</string>\n\t\t\t\t\t<string>12.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>12.IBPluginDependency</string>\n\t\t\t\t\t<string>3.CustomClassName</string>\n\t\t\t\t\t<string>3.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>UIApplication</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>WebServerIPhoneViewController</string>\n\t\t\t\t\t<string>{{512, 351}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>{{525, 346}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t\t<string>WebServerIPhoneAppDelegate</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">14</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebServerIPhoneAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>viewController</string>\n\t\t\t\t\t\t\t<string>window</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t\t\t<string>WebServerIPhoneViewController</string>\n\t\t\t\t\t\t\t<string>UIWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/WebServerIPhoneAppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebServerIPhoneAppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBUserSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebServerIPhoneViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/WebServerIPhoneViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">WebServerIPhone.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">3.1</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Podfile",
    "content": "\nproject 'WebServerIPhone'\nworkspace '../Demos'\n\ntarget :'WebServerIPhone' do\n  platform :ios, '8.0'\n  use_frameworks!\n  pod 'CocoaLumberjack', :path => '../../'\nend\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/ReadMe.txt",
    "content": "This Xcode project demonstrates \"live remote logging\" in an iPhone application.  Imagine you are testing your application on several different devices.  Perhaps you're testing some networking code (where multiple devices communicate).  Or perhaps you're testing scenarios that require the device to be disconnected from power.  Irregardless of the circumstances, you'd like to see the application's log console in real time, while the application is running, but when the device is not directly connected to your machine.  This project accomplishes this goal.  Using a web browser, you can connect to the device, and view the log in real time as your application is running.\n\nIt works by using an embedded HTTP server. Thankfully, we didn't have to write our own embedded HTTP server. There is a mature open source implementation which provides a slim yet powerful and flexible server:\nhttp://code.google.com/p/cocoahttpserver/\n\nThis server also supports optional features such as secure connections (SSL/TLS) and password protection (secure digest access).\n\nWhen you connect to the embedded HTTP server running within the application, it adds a new logger to the logging framework.  This logger will output the log messages to your browser.\n\nThere are a couple different HTTP techniques that could be used to implement such a thing.  We chose to use WebSockets because it was easy, and because it is one of the most efficient ways to accomplish the task.  Unfortunately WebSockets are not currently supported by all browsers (at the time of this writing).  If WebSockets are not supported, the page should report this problem to you.  Google Chrome is known to work right now.\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaAsyncSocket/GCDAsyncSocket.h",
    "content": "//  \n//  GCDAsyncSocket.h\n//  \n//  This class is in the public domain.\n//  Originally created by Robbie Hanson in Q3 2010.\n//  Updated and maintained by Deusty LLC and the Apple development community.\n//  \n//  https://github.com/robbiehanson/CocoaAsyncSocket\n//\n\n#import <Foundation/Foundation.h>\n#import <Security/Security.h>\n#import <Security/SecureTransport.h>\n#import <dispatch/dispatch.h>\n\n@class GCDAsyncReadPacket;\n@class GCDAsyncWritePacket;\n@class GCDAsyncSocketPreBuffer;\n\n#if TARGET_OS_IPHONE\n\n  // Compiling for iOS\n\n  #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 50000 // iOS 5.0 supported\n  \n    #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 50000 // iOS 5.0 supported and required\n\n      #define IS_SECURE_TRANSPORT_AVAILABLE      YES\n      #define SECURE_TRANSPORT_MAYBE_AVAILABLE   1\n      #define SECURE_TRANSPORT_MAYBE_UNAVAILABLE 0\n\n    #else                                         // iOS 5.0 supported but not required\n\n      #ifndef NSFoundationVersionNumber_iPhoneOS_5_0\n        #define NSFoundationVersionNumber_iPhoneOS_5_0 881.00\n      #endif\n\n      #define IS_SECURE_TRANSPORT_AVAILABLE     (NSFoundationVersionNumber >= NSFoundationVersionNumber_iPhoneOS_5_0)\n      #define SECURE_TRANSPORT_MAYBE_AVAILABLE   1\n      #define SECURE_TRANSPORT_MAYBE_UNAVAILABLE 1\n\n    #endif\n\n  #else                                        // iOS 5.0 not supported\n\n    #define IS_SECURE_TRANSPORT_AVAILABLE      NO\n    #define SECURE_TRANSPORT_MAYBE_AVAILABLE   0\n    #define SECURE_TRANSPORT_MAYBE_UNAVAILABLE 1\n\n  #endif\n\n#else\n\n  // Compiling for Mac OS X\n\n  #define IS_SECURE_TRANSPORT_AVAILABLE      YES\n  #define SECURE_TRANSPORT_MAYBE_AVAILABLE   1\n  #define SECURE_TRANSPORT_MAYBE_UNAVAILABLE 0\n\n#endif\n\nextern NSString *const GCDAsyncSocketException;\nextern NSString *const GCDAsyncSocketErrorDomain;\n\nextern NSString *const GCDAsyncSocketQueueName;\nextern NSString *const GCDAsyncSocketThreadName;\n\n#if SECURE_TRANSPORT_MAYBE_AVAILABLE\nextern NSString *const GCDAsyncSocketSSLCipherSuites;\n#if TARGET_OS_IPHONE\nextern NSString *const GCDAsyncSocketSSLProtocolVersionMin;\nextern NSString *const GCDAsyncSocketSSLProtocolVersionMax;\n#else\nextern NSString *const GCDAsyncSocketSSLDiffieHellmanParameters;\n#endif\n#endif\n\nenum GCDAsyncSocketError\n{\n    GCDAsyncSocketNoError = 0,           // Never used\n    GCDAsyncSocketBadConfigError,        // Invalid configuration\n    GCDAsyncSocketBadParamError,         // Invalid parameter was passed\n    GCDAsyncSocketConnectTimeoutError,   // A connect operation timed out\n    GCDAsyncSocketReadTimeoutError,      // A read operation timed out\n    GCDAsyncSocketWriteTimeoutError,     // A write operation timed out\n    GCDAsyncSocketReadMaxedOutError,     // Reached set maxLength without completing\n    GCDAsyncSocketClosedError,           // The remote peer closed the connection\n    GCDAsyncSocketOtherError,            // Description provided in userInfo\n};\ntypedef enum GCDAsyncSocketError GCDAsyncSocketError;\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface GCDAsyncSocket : NSObject\n\n/**\n * GCDAsyncSocket uses the standard delegate paradigm,\n * but executes all delegate callbacks on a given delegate dispatch queue.\n * This allows for maximum concurrency, while at the same time providing easy thread safety.\n * \n * You MUST set a delegate AND delegate dispatch queue before attempting to\n * use the socket, or you will get an error.\n * \n * The socket queue is optional.\n * If you pass NULL, GCDAsyncSocket will automatically create it's own socket queue.\n * If you choose to provide a socket queue, the socket queue must not be a concurrent queue.\n * If you choose to provide a socket queue, and the socket queue has a configured target queue,\n * then please see the discussion for the method markSocketQueueTargetQueue.\n * \n * The delegate queue and socket queue can optionally be the same.\n**/\n- (id)init;\n- (id)initWithSocketQueue:(dispatch_queue_t)sq;\n- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq;\n- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq socketQueue:(dispatch_queue_t)sq;\n\n#pragma mark Configuration\n\n- (id)delegate;\n- (void)setDelegate:(id)delegate;\n- (void)synchronouslySetDelegate:(id)delegate;\n\n- (dispatch_queue_t)delegateQueue;\n- (void)setDelegateQueue:(dispatch_queue_t)delegateQueue;\n- (void)synchronouslySetDelegateQueue:(dispatch_queue_t)delegateQueue;\n\n- (void)getDelegate:(id *)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr;\n- (void)setDelegate:(id)delegate delegateQueue:(dispatch_queue_t)delegateQueue;\n- (void)synchronouslySetDelegate:(id)delegate delegateQueue:(dispatch_queue_t)delegateQueue;\n\n/**\n * By default, both IPv4 and IPv6 are enabled.\n * \n * For accepting incoming connections, this means GCDAsyncSocket automatically supports both protocols,\n * and can simulataneously accept incoming connections on either protocol.\n * \n * For outgoing connections, this means GCDAsyncSocket can connect to remote hosts running either protocol.\n * If a DNS lookup returns only IPv4 results, GCDAsyncSocket will automatically use IPv4.\n * If a DNS lookup returns only IPv6 results, GCDAsyncSocket will automatically use IPv6.\n * If a DNS lookup returns both IPv4 and IPv6 results, the preferred protocol will be chosen.\n * By default, the preferred protocol is IPv4, but may be configured as desired.\n**/\n- (BOOL)isIPv4Enabled;\n- (void)setIPv4Enabled:(BOOL)flag;\n\n- (BOOL)isIPv6Enabled;\n- (void)setIPv6Enabled:(BOOL)flag;\n\n- (BOOL)isIPv4PreferredOverIPv6;\n- (void)setPreferIPv4OverIPv6:(BOOL)flag;\n\n/**\n * User data allows you to associate arbitrary information with the socket.\n * This data is not used internally by socket in any way.\n**/\n- (id)userData;\n- (void)setUserData:(id)arbitraryUserData;\n\n#pragma mark Accepting\n\n/**\n * Tells the socket to begin listening and accepting connections on the given port.\n * When a connection is accepted, a new instance of GCDAsyncSocket will be spawned to handle it,\n * and the socket:didAcceptNewSocket: delegate method will be invoked.\n * \n * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc)\n**/\n- (BOOL)acceptOnPort:(uint16_t)port error:(NSError **)errPtr;\n\n/**\n * This method is the same as acceptOnPort:error: with the\n * additional option of specifying which interface to listen on.\n * \n * For example, you could specify that the socket should only accept connections over ethernet,\n * and not other interfaces such as wifi.\n * \n * The interface may be specified by name (e.g. \"en1\" or \"lo0\") or by IP address (e.g. \"192.168.4.34\").\n * You may also use the special strings \"localhost\" or \"loopback\" to specify that\n * the socket only accept connections from the local machine.\n * \n * You can see the list of interfaces via the command line utility \"ifconfig\",\n * or programmatically via the getifaddrs() function.\n * \n * To accept connections on any interface pass nil, or simply use the acceptOnPort:error: method.\n**/\n- (BOOL)acceptOnInterface:(NSString *)interface port:(uint16_t)port error:(NSError **)errPtr;\n\n#pragma mark Connecting\n\n/**\n * Connects to the given host and port.\n * \n * This method invokes connectToHost:onPort:viaInterface:withTimeout:error:\n * and uses the default interface, and no timeout.\n**/\n- (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr;\n\n/**\n * Connects to the given host and port with an optional timeout.\n * \n * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: and uses the default interface.\n**/\n- (BOOL)connectToHost:(NSString *)host\n               onPort:(uint16_t)port\n          withTimeout:(NSTimeInterval)timeout\n                error:(NSError **)errPtr;\n\n/**\n * Connects to the given host & port, via the optional interface, with an optional timeout.\n * \n * The host may be a domain name (e.g. \"deusty.com\") or an IP address string (e.g. \"192.168.0.2\").\n * The host may also be the special strings \"localhost\" or \"loopback\" to specify connecting\n * to a service on the local machine.\n * \n * The interface may be a name (e.g. \"en1\" or \"lo0\") or the corresponding IP address (e.g. \"192.168.4.35\").\n * The interface may also be used to specify the local port (see below).\n * \n * To not time out use a negative time interval.\n * \n * This method will return NO if an error is detected, and set the error pointer (if one was given).\n * Possible errors would be a nil host, invalid interface, or socket is already connected.\n * \n * If no errors are detected, this method will start a background connect operation and immediately return YES.\n * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable.\n * \n * Since this class supports queued reads and writes, you can immediately start reading and/or writing.\n * All read/write operations will be queued, and upon socket connection,\n * the operations will be dequeued and processed in order.\n * \n * The interface may optionally contain a port number at the end of the string, separated by a colon.\n * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end)\n * To specify both interface and local port: \"en1:8082\" or \"192.168.4.35:2424\".\n * To specify only local port: \":8082\".\n * Please note this is an advanced feature, and is somewhat hidden on purpose.\n * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection.\n * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere.\n * Local ports do NOT need to match remote ports. In fact, they almost never do.\n * This feature is here for networking professionals using very advanced techniques.\n**/\n- (BOOL)connectToHost:(NSString *)host\n               onPort:(uint16_t)port\n         viaInterface:(NSString *)interface\n          withTimeout:(NSTimeInterval)timeout\n                error:(NSError **)errPtr;\n\n/**\n * Connects to the given address, specified as a sockaddr structure wrapped in a NSData object.\n * For example, a NSData object returned from NSNetService's addresses method.\n * \n * If you have an existing struct sockaddr you can convert it to a NSData object like so:\n * struct sockaddr sa  -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];\n * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len];\n * \n * This method invokes connectToAdd\n**/\n- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr;\n\n/**\n * This method is the same as connectToAddress:error: with an additional timeout option.\n * To not time out use a negative time interval, or simply use the connectToAddress:error: method.\n**/\n- (BOOL)connectToAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr;\n\n/**\n * Connects to the given address, using the specified interface and timeout.\n * \n * The address is specified as a sockaddr structure wrapped in a NSData object.\n * For example, a NSData object returned from NSNetService's addresses method.\n * \n * If you have an existing struct sockaddr you can convert it to a NSData object like so:\n * struct sockaddr sa  -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len];\n * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len];\n * \n * The interface may be a name (e.g. \"en1\" or \"lo0\") or the corresponding IP address (e.g. \"192.168.4.35\").\n * The interface may also be used to specify the local port (see below).\n * \n * The timeout is optional. To not time out use a negative time interval.\n * \n * This method will return NO if an error is detected, and set the error pointer (if one was given).\n * Possible errors would be a nil host, invalid interface, or socket is already connected.\n * \n * If no errors are detected, this method will start a background connect operation and immediately return YES.\n * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable.\n * \n * Since this class supports queued reads and writes, you can immediately start reading and/or writing.\n * All read/write operations will be queued, and upon socket connection,\n * the operations will be dequeued and processed in order.\n * \n * The interface may optionally contain a port number at the end of the string, separated by a colon.\n * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end)\n * To specify both interface and local port: \"en1:8082\" or \"192.168.4.35:2424\".\n * To specify only local port: \":8082\".\n * Please note this is an advanced feature, and is somewhat hidden on purpose.\n * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection.\n * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere.\n * Local ports do NOT need to match remote ports. In fact, they almost never do.\n * This feature is here for networking professionals using very advanced techniques.\n**/\n- (BOOL)connectToAddress:(NSData *)remoteAddr\n            viaInterface:(NSString *)interface\n             withTimeout:(NSTimeInterval)timeout\n                   error:(NSError **)errPtr;\n\n#pragma mark Disconnecting\n\n/**\n * Disconnects immediately (synchronously). Any pending reads or writes are dropped.\n * \n * If the socket is not already disconnected, an invocation to the socketDidDisconnect:withError: delegate method\n * will be queued onto the delegateQueue asynchronously (behind any previously queued delegate methods).\n * In other words, the disconnected delegate method will be invoked sometime shortly after this method returns.\n * \n * Please note the recommended way of releasing a GCDAsyncSocket instance (e.g. in a dealloc method)\n * [asyncSocket setDelegate:nil];\n * [asyncSocket disconnect];\n * [asyncSocket release];\n * \n * If you plan on disconnecting the socket, and then immediately asking it to connect again,\n * you'll likely want to do so like this:\n * [asyncSocket setDelegate:nil];\n * [asyncSocket disconnect];\n * [asyncSocket setDelegate:self];\n * [asyncSocket connect...];\n**/\n- (void)disconnect;\n\n/**\n * Disconnects after all pending reads have completed.\n * After calling this, the read and write methods will do nothing.\n * The socket will disconnect even if there are still pending writes.\n**/\n- (void)disconnectAfterReading;\n\n/**\n * Disconnects after all pending writes have completed.\n * After calling this, the read and write methods will do nothing.\n * The socket will disconnect even if there are still pending reads.\n**/\n- (void)disconnectAfterWriting;\n\n/**\n * Disconnects after all pending reads and writes have completed.\n * After calling this, the read and write methods will do nothing.\n**/\n- (void)disconnectAfterReadingAndWriting;\n\n#pragma mark Diagnostics\n\n/**\n * Returns whether the socket is disconnected or connected.\n * \n * A disconnected socket may be recycled.\n * That is, it can used again for connecting or listening.\n * \n * If a socket is in the process of connecting, it may be neither disconnected nor connected.\n**/\n- (BOOL)isDisconnected;\n- (BOOL)isConnected;\n\n/**\n * Returns the local or remote host and port to which this socket is connected, or nil and 0 if not connected.\n * The host will be an IP address.\n**/\n- (NSString *)connectedHost;\n- (uint16_t)connectedPort;\n\n- (NSString *)localHost;\n- (uint16_t)localPort;\n\n/**\n * Returns the local or remote address to which this socket is connected,\n * specified as a sockaddr structure wrapped in a NSData object.\n * \n * See also the connectedHost, connectedPort, localHost and localPort methods.\n**/\n- (NSData *)connectedAddress;\n- (NSData *)localAddress;\n\n/**\n * Returns whether the socket is IPv4 or IPv6.\n * An accepting socket may be both.\n**/\n- (BOOL)isIPv4;\n- (BOOL)isIPv6;\n\n/**\n * Returns whether or not the socket has been secured via SSL/TLS.\n * \n * See also the startTLS method.\n**/\n- (BOOL)isSecure;\n\n#pragma mark Reading\n\n// The readData and writeData methods won't block (they are asynchronous).\n// \n// When a read is complete the socket:didReadData:withTag: delegate method is dispatched on the delegateQueue.\n// When a write is complete the socket:didWriteDataWithTag: delegate method is dispatched on the delegateQueue.\n// \n// You may optionally set a timeout for any read/write operation. (To not timeout, use a negative time interval.)\n// If a read/write opertion times out, the corresponding \"socket:shouldTimeout...\" delegate method\n// is called to optionally allow you to extend the timeout.\n// Upon a timeout, the \"socket:didDisconnectWithError:\" method is called\n// \n// The tag is for your convenience.\n// You can use it as an array index, step number, state id, pointer, etc.\n\n/**\n * Reads the first available bytes that become available on the socket.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n**/\n- (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * Reads the first available bytes that become available on the socket.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, the socket will create a buffer for you.\n * \n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing, and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while the socket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n**/\n- (void)readDataWithTimeout:(NSTimeInterval)timeout\n                     buffer:(NSMutableData *)buffer\n               bufferOffset:(NSUInteger)offset\n                        tag:(long)tag;\n\n/**\n * Reads the first available bytes that become available on the socket.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * A maximum of length bytes will be read.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, a buffer will automatically be created for you.\n * If maxLength is zero, no length restriction is enforced.\n * \n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing, and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while the socket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer  via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n**/\n- (void)readDataWithTimeout:(NSTimeInterval)timeout\n                     buffer:(NSMutableData *)buffer\n               bufferOffset:(NSUInteger)offset\n                  maxLength:(NSUInteger)length\n                        tag:(long)tag;\n\n/**\n * Reads the given number of bytes.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * \n * If the length is 0, this method does nothing and the delegate is not called.\n**/\n- (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * Reads the given number of bytes.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, a buffer will automatically be created for you.\n * \n * If the length is 0, this method does nothing and the delegate is not called.\n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing, and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while AsyncSocket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n**/\n- (void)readDataToLength:(NSUInteger)length\n             withTimeout:(NSTimeInterval)timeout\n                  buffer:(NSMutableData *)buffer\n            bufferOffset:(NSUInteger)offset\n                     tag:(long)tag;\n\n/**\n * Reads bytes until (and including) the passed \"data\" parameter, which acts as a separator.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * \n * If you pass nil or zero-length data as the \"data\" parameter,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * \n * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the \"data\" parameter.\n * If you're developing your own custom protocol, be sure your separator can not occur naturally as\n * part of the data between separators.\n * For example, imagine you want to send several small documents over a socket.\n * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents.\n * In this particular example, it would be better to use a protocol similar to HTTP with\n * a header that includes the length of the document.\n * Also be careful that your separator cannot occur naturally as part of the encoding for a character.\n * \n * The given data (separator) parameter should be immutable.\n * For performance reasons, the socket will retain it, not copy it.\n * So if it is immutable, don't modify it while the socket is using it.\n**/\n- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * Reads bytes until (and including) the passed \"data\" parameter, which acts as a separator.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, a buffer will automatically be created for you.\n * \n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while the socket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n * \n * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the \"data\" parameter.\n * If you're developing your own custom protocol, be sure your separator can not occur naturally as\n * part of the data between separators.\n * For example, imagine you want to send several small documents over a socket.\n * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents.\n * In this particular example, it would be better to use a protocol similar to HTTP with\n * a header that includes the length of the document.\n * Also be careful that your separator cannot occur naturally as part of the encoding for a character.\n * \n * The given data (separator) parameter should be immutable.\n * For performance reasons, the socket will retain it, not copy it.\n * So if it is immutable, don't modify it while the socket is using it.\n**/\n- (void)readDataToData:(NSData *)data\n           withTimeout:(NSTimeInterval)timeout\n                buffer:(NSMutableData *)buffer\n          bufferOffset:(NSUInteger)offset\n                   tag:(long)tag;\n\n/**\n * Reads bytes until (and including) the passed \"data\" parameter, which acts as a separator.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * \n * If maxLength is zero, no length restriction is enforced.\n * Otherwise if maxLength bytes are read without completing the read,\n * it is treated similarly to a timeout - the socket is closed with a GCDAsyncSocketReadMaxedOutError.\n * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end.\n * \n * If you pass nil or zero-length data as the \"data\" parameter,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * If you pass a maxLength parameter that is less than the length of the data parameter,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * \n * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the \"data\" parameter.\n * If you're developing your own custom protocol, be sure your separator can not occur naturally as\n * part of the data between separators.\n * For example, imagine you want to send several small documents over a socket.\n * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents.\n * In this particular example, it would be better to use a protocol similar to HTTP with\n * a header that includes the length of the document.\n * Also be careful that your separator cannot occur naturally as part of the encoding for a character.\n * \n * The given data (separator) parameter should be immutable.\n * For performance reasons, the socket will retain it, not copy it.\n * So if it is immutable, don't modify it while the socket is using it.\n**/\n- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout maxLength:(NSUInteger)length tag:(long)tag;\n\n/**\n * Reads bytes until (and including) the passed \"data\" parameter, which acts as a separator.\n * The bytes will be appended to the given byte buffer starting at the given offset.\n * The given buffer will automatically be increased in size if needed.\n * \n * If the timeout value is negative, the read operation will not use a timeout.\n * If the buffer if nil, a buffer will automatically be created for you.\n * \n * If maxLength is zero, no length restriction is enforced.\n * Otherwise if maxLength bytes are read without completing the read,\n * it is treated similarly to a timeout - the socket is closed with a GCDAsyncSocketReadMaxedOutError.\n * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end.\n * \n * If you pass a maxLength parameter that is less than the length of the data (separator) parameter,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * If the bufferOffset is greater than the length of the given buffer,\n * the method will do nothing (except maybe print a warning), and the delegate will not be called.\n * \n * If you pass a buffer, you must not alter it in any way while the socket is using it.\n * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer.\n * That is, it will reference the bytes that were appended to the given buffer via\n * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO].\n * \n * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the \"data\" parameter.\n * If you're developing your own custom protocol, be sure your separator can not occur naturally as\n * part of the data between separators.\n * For example, imagine you want to send several small documents over a socket.\n * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents.\n * In this particular example, it would be better to use a protocol similar to HTTP with\n * a header that includes the length of the document.\n * Also be careful that your separator cannot occur naturally as part of the encoding for a character.\n * \n * The given data (separator) parameter should be immutable.\n * For performance reasons, the socket will retain it, not copy it.\n * So if it is immutable, don't modify it while the socket is using it.\n**/\n- (void)readDataToData:(NSData *)data\n           withTimeout:(NSTimeInterval)timeout\n                buffer:(NSMutableData *)buffer\n          bufferOffset:(NSUInteger)offset\n             maxLength:(NSUInteger)length\n                   tag:(long)tag;\n\n/**\n * Returns progress of the current read, from 0.0 to 1.0, or NaN if no current read (use isnan() to check).\n * The parameters \"tag\", \"done\" and \"total\" will be filled in if they aren't NULL.\n**/\n- (float)progressOfReadReturningTag:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(NSUInteger *)totalPtr;\n\n#pragma mark Writing\n\n/**\n * Writes data to the socket, and calls the delegate when finished.\n * \n * If you pass in nil or zero-length data, this method does nothing and the delegate will not be called.\n * If the timeout value is negative, the write operation will not use a timeout.\n * \n * Thread-Safety Note:\n * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while\n * the socket is writing it. In other words, it's not safe to alter the data until after the delegate method\n * socket:didWriteDataWithTag: is invoked signifying that this particular write operation has completed.\n * This is due to the fact that GCDAsyncSocket does NOT copy the data. It simply retains it.\n * This is for performance reasons. Often times, if NSMutableData is passed, it is because\n * a request/response was built up in memory. Copying this data adds an unwanted/unneeded overhead.\n * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket\n * completes writing the bytes (which is NOT immediately after this method returns, but rather at a later time\n * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method.\n**/\n- (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag;\n\n/**\n * Returns progress of the current write, from 0.0 to 1.0, or NaN if no current write (use isnan() to check).\n * The parameters \"tag\", \"done\" and \"total\" will be filled in if they aren't NULL.\n**/\n- (float)progressOfWriteReturningTag:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(NSUInteger *)totalPtr;\n\n#pragma mark Security\n\n/**\n * Secures the connection using SSL/TLS.\n * \n * This method may be called at any time, and the TLS handshake will occur after all pending reads and writes\n * are finished. This allows one the option of sending a protocol dependent StartTLS message, and queuing\n * the upgrade to TLS at the same time, without having to wait for the write to finish.\n * Any reads or writes scheduled after this method is called will occur over the secured connection.\n * \n * The possible keys and values for the TLS settings are well documented.\n * Standard keys are:\n * \n * - kCFStreamSSLLevel\n * - kCFStreamSSLAllowsExpiredCertificates\n * - kCFStreamSSLAllowsExpiredRoots\n * - kCFStreamSSLAllowsAnyRoot\n * - kCFStreamSSLValidatesCertificateChain\n * - kCFStreamSSLPeerName\n * - kCFStreamSSLCertificates\n * - kCFStreamSSLIsServer\n * \n * If SecureTransport is available on iOS:\n * \n * - GCDAsyncSocketSSLCipherSuites\n * - GCDAsyncSocketSSLProtocolVersionMin\n * - GCDAsyncSocketSSLProtocolVersionMax\n * \n * If SecureTransport is available on Mac OS X:\n * \n * - GCDAsyncSocketSSLCipherSuites\n * - GCDAsyncSocketSSLDiffieHellmanParameters;\n * \n * \n * Please refer to Apple's documentation for associated values, as well as other possible keys.\n * \n * If you pass in nil or an empty dictionary, the default settings will be used.\n * \n * The default settings will check to make sure the remote party's certificate is signed by a\n * trusted 3rd party certificate agency (e.g. verisign) and that the certificate is not expired.\n * However it will not verify the name on the certificate unless you\n * give it a name to verify against via the kCFStreamSSLPeerName key.\n * The security implications of this are important to understand.\n * Imagine you are attempting to create a secure connection to MySecureServer.com,\n * but your socket gets directed to MaliciousServer.com because of a hacked DNS server.\n * If you simply use the default settings, and MaliciousServer.com has a valid certificate,\n * the default settings will not detect any problems since the certificate is valid.\n * To properly secure your connection in this particular scenario you\n * should set the kCFStreamSSLPeerName property to \"MySecureServer.com\".\n * If you do not know the peer name of the remote host in advance (for example, you're not sure\n * if it will be \"domain.com\" or \"www.domain.com\"), then you can use the default settings to validate the\n * certificate, and then use the X509Certificate class to verify the issuer after the socket has been secured.\n * The X509Certificate class is part of the CocoaAsyncSocket open source project.\n **/\n- (void)startTLS:(NSDictionary *)tlsSettings;\n\n#pragma mark Advanced\n\n/**\n * Traditionally sockets are not closed until the conversation is over.\n * However, it is technically possible for the remote enpoint to close its write stream.\n * Our socket would then be notified that there is no more data to be read,\n * but our socket would still be writeable and the remote endpoint could continue to receive our data.\n * \n * The argument for this confusing functionality stems from the idea that a client could shut down its\n * write stream after sending a request to the server, thus notifying the server there are to be no further requests.\n * In practice, however, this technique did little to help server developers.\n * \n * To make matters worse, from a TCP perspective there is no way to tell the difference from a read stream close\n * and a full socket close. They both result in the TCP stack receiving a FIN packet. The only way to tell\n * is by continuing to write to the socket. If it was only a read stream close, then writes will continue to work.\n * Otherwise an error will be occur shortly (when the remote end sends us a RST packet).\n * \n * In addition to the technical challenges and confusion, many high level socket/stream API's provide\n * no support for dealing with the problem. If the read stream is closed, the API immediately declares the\n * socket to be closed, and shuts down the write stream as well. In fact, this is what Apple's CFStream API does.\n * It might sound like poor design at first, but in fact it simplifies development.\n * \n * The vast majority of the time if the read stream is closed it's because the remote endpoint closed its socket.\n * Thus it actually makes sense to close the socket at this point.\n * And in fact this is what most networking developers want and expect to happen.\n * However, if you are writing a server that interacts with a plethora of clients,\n * you might encounter a client that uses the discouraged technique of shutting down its write stream.\n * If this is the case, you can set this property to NO,\n * and make use of the socketDidCloseReadStream delegate method.\n * \n * The default value is YES.\n**/\n- (BOOL)autoDisconnectOnClosedReadStream;\n- (void)setAutoDisconnectOnClosedReadStream:(BOOL)flag;\n\n/**\n * GCDAsyncSocket maintains thread safety by using an internal serial dispatch_queue.\n * In most cases, the instance creates this queue itself.\n * However, to allow for maximum flexibility, the internal queue may be passed in the init method.\n * This allows for some advanced options such as controlling socket priority via target queues.\n * However, when one begins to use target queues like this, they open the door to some specific deadlock issues.\n * \n * For example, imagine there are 2 queues:\n * dispatch_queue_t socketQueue;\n * dispatch_queue_t socketTargetQueue;\n * \n * If you do this (pseudo-code):\n * socketQueue.targetQueue = socketTargetQueue;\n * \n * Then all socketQueue operations will actually get run on the given socketTargetQueue.\n * This is fine and works great in most situations.\n * But if you run code directly from within the socketTargetQueue that accesses the socket,\n * you could potentially get deadlock. Imagine the following code:\n * \n * - (BOOL)socketHasSomething\n * {\n *     __block BOOL result = NO;\n *     dispatch_block_t block = ^{\n *         result = [self someInternalMethodToBeRunOnlyOnSocketQueue];\n *     }\n *     if (is_executing_on_queue(socketQueue))\n *         block();\n *     else\n *         dispatch_sync(socketQueue, block);\n *     \n *     return result;\n * }\n * \n * What happens if you call this method from the socketTargetQueue? The result is deadlock.\n * This is because the GCD API offers no mechanism to discover a queue's targetQueue.\n * Thus we have no idea if our socketQueue is configured with a targetQueue.\n * If we had this information, we could easily avoid deadlock.\n * But, since these API's are missing or unfeasible, you'll have to explicitly set it.\n * \n * IF you pass a socketQueue via the init method,\n * AND you've configured the passed socketQueue with a targetQueue,\n * THEN you should pass the end queue in the target hierarchy.\n * \n * For example, consider the following queue hierarchy:\n * socketQueue -> ipQueue -> moduleQueue\n *\n * This example demonstrates priority shaping within some server.\n * All incoming client connections from the same IP address are executed on the same target queue.\n * And all connections for a particular module are executed on the same target queue.\n * Thus, the priority of all networking for the entire module can be changed on the fly.\n * Additionally, networking traffic from a single IP cannot monopolize the module.\n * \n * Here's how you would accomplish something like that:\n * - (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(GCDAsyncSocket *)sock\n * {\n *     dispatch_queue_t socketQueue = dispatch_queue_create(\"\", NULL);\n *     dispatch_queue_t ipQueue = [self ipQueueForAddress:address];\n *     \n *     dispatch_set_target_queue(socketQueue, ipQueue);\n *     dispatch_set_target_queue(iqQueue, moduleQueue);\n *     \n *     return socketQueue;\n * }\n * - (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket\n * {\n *     [clientConnections addObject:newSocket];\n *     [newSocket markSocketQueueTargetQueue:moduleQueue];\n * }\n * \n * Note: This workaround is ONLY needed if you intend to execute code directly on the ipQueue or moduleQueue.\n * This is often NOT the case, as such queues are used solely for execution shaping.\n**/\n- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreConfiguredTargetQueue;\n- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreviouslyConfiguredTargetQueue;\n\n/**\n * It's not thread-safe to access certain variables from outside the socket's internal queue.\n * \n * For example, the socket file descriptor.\n * File descriptors are simply integers which reference an index in the per-process file table.\n * However, when one requests a new file descriptor (by opening a file or socket),\n * the file descriptor returned is guaranteed to be the lowest numbered unused descriptor.\n * So if we're not careful, the following could be possible:\n * \n * - Thread A invokes a method which returns the socket's file descriptor.\n * - The socket is closed via the socket's internal queue on thread B.\n * - Thread C opens a file, and subsequently receives the file descriptor that was previously the socket's FD.\n * - Thread A is now accessing/altering the file instead of the socket.\n * \n * In addition to this, other variables are not actually objects,\n * and thus cannot be retained/released or even autoreleased.\n * An example is the sslContext, of type SSLContextRef, which is actually a malloc'd struct.\n * \n * Although there are internal variables that make it difficult to maintain thread-safety,\n * it is important to provide access to these variables\n * to ensure this class can be used in a wide array of environments.\n * This method helps to accomplish this by invoking the current block on the socket's internal queue.\n * The methods below can be invoked from within the block to access\n * those generally thread-unsafe internal variables in a thread-safe manner.\n * The given block will be invoked synchronously on the socket's internal queue.\n * \n * If you save references to any protected variables and use them outside the block, you do so at your own peril.\n**/\n- (void)performBlock:(dispatch_block_t)block;\n\n/**\n * These methods are only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Provides access to the socket's file descriptor(s).\n * If the socket is a server socket (is accepting incoming connections),\n * it might actually have multiple internal socket file descriptors - one for IPv4 and one for IPv6.\n**/\n- (int)socketFD;\n- (int)socket4FD;\n- (int)socket6FD;\n\n#if TARGET_OS_IPHONE\n\n/**\n * These methods are only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Provides access to the socket's internal CFReadStream/CFWriteStream.\n * \n * These streams are only used as workarounds for specific iOS shortcomings:\n * \n * - Apple has decided to keep the SecureTransport framework private is iOS.\n *   This means the only supplied way to do SSL/TLS is via CFStream or some other API layered on top of it.\n *   Thus, in order to provide SSL/TLS support on iOS we are forced to rely on CFStream,\n *   instead of the preferred and faster and more powerful SecureTransport.\n * \n * - If a socket doesn't have backgrounding enabled, and that socket is closed while the app is backgrounded,\n *   Apple only bothers to notify us via the CFStream API.\n *   The faster and more powerful GCD API isn't notified properly in this case.\n * \n * See also: (BOOL)enableBackgroundingOnSocket\n**/\n- (CFReadStreamRef)readStream;\n- (CFWriteStreamRef)writeStream;\n\n/**\n * This method is only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Configures the socket to allow it to operate when the iOS application has been backgrounded.\n * In other words, this method creates a read & write stream, and invokes:\n * \n * CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n * \n * Returns YES if successful, NO otherwise.\n * \n * Note: Apple does not officially support backgrounding server sockets.\n * That is, if your socket is accepting incoming connections, Apple does not officially support\n * allowing iOS applications to accept incoming connections while an app is backgrounded.\n * \n * Example usage:\n * \n * - (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port\n * {\n *     [asyncSocket performBlock:^{\n *         [asyncSocket enableBackgroundingOnSocket];\n *     }];\n * }\n**/\n- (BOOL)enableBackgroundingOnSocket;\n\n#endif\n\n#if SECURE_TRANSPORT_MAYBE_AVAILABLE\n\n/**\n * This method is only available from within the context of a performBlock: invocation.\n * See the documentation for the performBlock: method above.\n * \n * Provides access to the socket's SSLContext, if SSL/TLS has been started on the socket.\n**/\n- (SSLContextRef)sslContext;\n\n#endif\n\n#pragma mark Utilities\n\n/**\n * Extracting host and port information from raw address data.\n**/\n+ (NSString *)hostFromAddress:(NSData *)address;\n+ (uint16_t)portFromAddress:(NSData *)address;\n+ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSData *)address;\n\n/**\n * A few common line separators, for use with the readDataToData:... methods.\n**/\n+ (NSData *)CRLFData;   // 0x0D0A\n+ (NSData *)CRData;     // 0x0D\n+ (NSData *)LFData;     // 0x0A\n+ (NSData *)ZeroData;   // 0x00\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@protocol GCDAsyncSocketDelegate\n@optional\n\n/**\n * This method is called immediately prior to socket:didAcceptNewSocket:.\n * It optionally allows a listening socket to specify the socketQueue for a new accepted socket.\n * If this method is not implemented, or returns NULL, the new accepted socket will create its own default queue.\n * \n * Since you cannot autorelease a dispatch_queue,\n * this method uses the \"new\" prefix in its name to specify that the returned queue has been retained.\n * \n * Thus you could do something like this in the implementation:\n * return dispatch_queue_create(\"MyQueue\", NULL);\n * \n * If you are placing multiple sockets on the same queue,\n * then care should be taken to increment the retain count each time this method is invoked.\n * \n * For example, your implementation might look something like this:\n * dispatch_retain(myExistingQueue);\n * return myExistingQueue;\n**/\n- (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(GCDAsyncSocket *)sock;\n\n/**\n * Called when a socket accepts a connection.\n * Another socket is automatically spawned to handle it.\n * \n * You must retain the newSocket if you wish to handle the connection.\n * Otherwise the newSocket instance will be released and the spawned connection will be closed.\n * \n * By default the new socket will have the same delegate and delegateQueue.\n * You may, of course, change this at any time.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket;\n\n/**\n * Called when a socket connects and is ready for reading and writing.\n * The host parameter will be an IP address, not a DNS name.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port;\n\n/**\n * Called when a socket has completed reading the requested data into memory.\n * Not called if there is an error.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag;\n\n/**\n * Called when a socket has read in data, but has not yet completed the read.\n * This would occur if using readToData: or readToLength: methods.\n * It may be used to for things such as updating progress bars.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didReadPartialDataOfLength:(NSUInteger)partialLength tag:(long)tag;\n\n/**\n * Called when a socket has completed writing the requested data. Not called if there is an error.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag;\n\n/**\n * Called when a socket has written some data, but has not yet completed the entire write.\n * It may be used to for things such as updating progress bars.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didWritePartialDataOfLength:(NSUInteger)partialLength tag:(long)tag;\n\n/**\n * Called if a read operation has reached its timeout without completing.\n * This method allows you to optionally extend the timeout.\n * If you return a positive time interval (> 0) the read's timeout will be extended by the given amount.\n * If you don't implement this method, or return a non-positive time interval (<= 0) the read will timeout as usual.\n * \n * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method.\n * The length parameter is the number of bytes that have been read so far for the read operation.\n * \n * Note that this method may be called multiple times for a single read if you return positive numbers.\n**/\n- (NSTimeInterval)socket:(GCDAsyncSocket *)sock shouldTimeoutReadWithTag:(long)tag\n                                                                 elapsed:(NSTimeInterval)elapsed\n                                                               bytesDone:(NSUInteger)length;\n\n/**\n * Called if a write operation has reached its timeout without completing.\n * This method allows you to optionally extend the timeout.\n * If you return a positive time interval (> 0) the write's timeout will be extended by the given amount.\n * If you don't implement this method, or return a non-positive time interval (<= 0) the write will timeout as usual.\n * \n * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method.\n * The length parameter is the number of bytes that have been written so far for the write operation.\n * \n * Note that this method may be called multiple times for a single write if you return positive numbers.\n**/\n- (NSTimeInterval)socket:(GCDAsyncSocket *)sock shouldTimeoutWriteWithTag:(long)tag\n                                                                  elapsed:(NSTimeInterval)elapsed\n                                                                bytesDone:(NSUInteger)length;\n\n/**\n * Conditionally called if the read stream closes, but the write stream may still be writeable.\n * \n * This delegate method is only called if autoDisconnectOnClosedReadStream has been set to NO.\n * See the discussion on the autoDisconnectOnClosedReadStream method for more information.\n**/\n- (void)socketDidCloseReadStream:(GCDAsyncSocket *)sock;\n\n/**\n * Called when a socket disconnects with or without error.\n * \n * If you call the disconnect method, and the socket wasn't already disconnected,\n * this delegate method will be called before the disconnect method returns.\n**/\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err;\n\n/**\n * Called after the socket has successfully completed SSL/TLS negotiation.\n * This method is not called unless you use the provided startTLS method.\n * \n * If a SSL/TLS negotiation fails (invalid certificate, etc) then the socket will immediately close,\n * and the socketDidDisconnect:withError: delegate method will be called with the specific SSL error code.\n**/\n- (void)socketDidSecure:(GCDAsyncSocket *)sock;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaAsyncSocket/GCDAsyncSocket.m",
    "content": "//\n//  GCDAsyncSocket.m\n//  \n//  This class is in the public domain.\n//  Originally created by Robbie Hanson in Q4 2010.\n//  Updated and maintained by Deusty LLC and the Apple development community.\n//\n//  https://github.com/robbiehanson/CocoaAsyncSocket\n//\n\n#import \"GCDAsyncSocket.h\"\n\n#if TARGET_OS_IPHONE\n#import <CFNetwork/CFNetwork.h>\n#endif\n\n#import <arpa/inet.h>\n#import <fcntl.h>\n#import <ifaddrs.h>\n#import <netdb.h>\n#import <netinet/in.h>\n#import <net/if.h>\n#import <sys/socket.h>\n#import <sys/types.h>\n#import <sys/ioctl.h>\n#import <sys/poll.h>\n#import <sys/uio.h>\n#import <unistd.h>\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n// For more information see: https://github.com/robbiehanson/CocoaAsyncSocket/wiki/ARC\n#endif\n\n/**\n * Does ARC support support GCD objects?\n * It does if the minimum deployment target is iOS 6+ or Mac OS X 10.8+\n**/\n#if TARGET_OS_IPHONE\n\n  // Compiling for iOS\n\n  #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 // iOS 6.0 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else                                         // iOS 5.X or earlier\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1\n  #endif\n\n#else\n\n  // Compiling for Mac OS X\n\n  #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080     // Mac OS X 10.8 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1     // Mac OS X 10.7 or earlier\n  #endif\n\n#endif\n\n\n#if 0\n\n// Logging Enabled - See log level below\n\n// Logging uses the CocoaLumberjack framework (which is also GCD based).\n// https://github.com/CocoaLumberjack/CocoaLumberjack\n// \n// It allows us to do a lot of logging without significantly slowing down the code.\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n#define LogAsync   YES\n#define LogContext 65535\n\n#define LogObjc(flg, frmt, ...) LOG_MAYBE(LogAsync, logLevel, flg, LogContext, frmt, ##__VA_ARGS__)\n\n#define LogError(frmt, ...)     LogObjc(DDLogFlagError,   (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogWarn(frmt, ...)      LogObjc(DDLogFlagWarning, (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogInfo(frmt, ...)      LogObjc(DDLogFlagInfo,    (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n#define LogVerbose(frmt, ...)   LogObjc(DDLogFlagVerbose, (@\"%@: \" frmt), THIS_FILE, ##__VA_ARGS__)\n\n#define LogTrace()              LogObjc(DDLogFlagVerbose, @\"%@: %@\", THIS_FILE, THIS_METHOD)\n\n// Log levels : off, error, warn, info, verbose\nstatic const int logLevel = DDLogLevelVerbose;\n\n#else\n\n// Logging Disabled\n\n#define LogError(frmt, ...)     {}\n#define LogWarn(frmt, ...)      {}\n#define LogInfo(frmt, ...)      {}\n#define LogVerbose(frmt, ...)   {}\n\n#define LogTrace()              {}\n\n#endif\n\n/**\n * Seeing a return statements within an inner block\n * can sometimes be mistaken for a return point of the enclosing method.\n * This makes inline blocks a bit easier to read.\n**/\n#define return_from_block  return\n\n/**\n * A socket file descriptor is really just an integer.\n * It represents the index of the socket within the kernel.\n * This makes invalid file descriptor comparisons easier to read.\n**/\n#define SOCKET_NULL -1\n\n\nNSString *const GCDAsyncSocketException = @\"GCDAsyncSocketException\";\nNSString *const GCDAsyncSocketErrorDomain = @\"GCDAsyncSocketErrorDomain\";\n\nNSString *const GCDAsyncSocketQueueName = @\"GCDAsyncSocket\";\nNSString *const GCDAsyncSocketThreadName = @\"GCDAsyncSocket-CFStream\";\n\n#if SECURE_TRANSPORT_MAYBE_AVAILABLE\nNSString *const GCDAsyncSocketSSLCipherSuites = @\"GCDAsyncSocketSSLCipherSuites\";\n#if TARGET_OS_IPHONE\nNSString *const GCDAsyncSocketSSLProtocolVersionMin = @\"GCDAsyncSocketSSLProtocolVersionMin\";\nNSString *const GCDAsyncSocketSSLProtocolVersionMax = @\"GCDAsyncSocketSSLProtocolVersionMax\";\n#else\nNSString *const GCDAsyncSocketSSLDiffieHellmanParameters = @\"GCDAsyncSocketSSLDiffieHellmanParameters\";\n#endif\n#endif\n\nenum GCDAsyncSocketFlags\n{\n    kSocketStarted                 = 1 <<  0,  // If set, socket has been started (accepting/connecting)\n    kConnected                     = 1 <<  1,  // If set, the socket is connected\n    kForbidReadsWrites             = 1 <<  2,  // If set, no new reads or writes are allowed\n    kReadsPaused                   = 1 <<  3,  // If set, reads are paused due to possible timeout\n    kWritesPaused                  = 1 <<  4,  // If set, writes are paused due to possible timeout\n    kDisconnectAfterReads          = 1 <<  5,  // If set, disconnect after no more reads are queued\n    kDisconnectAfterWrites         = 1 <<  6,  // If set, disconnect after no more writes are queued\n    kSocketCanAcceptBytes          = 1 <<  7,  // If set, we know socket can accept bytes. If unset, it's unknown.\n    kReadSourceSuspended           = 1 <<  8,  // If set, the read source is suspended\n    kWriteSourceSuspended          = 1 <<  9,  // If set, the write source is suspended\n    kQueuedTLS                     = 1 << 10,  // If set, we've queued an upgrade to TLS\n    kStartingReadTLS               = 1 << 11,  // If set, we're waiting for TLS negotiation to complete\n    kStartingWriteTLS              = 1 << 12,  // If set, we're waiting for TLS negotiation to complete\n    kSocketSecure                  = 1 << 13,  // If set, socket is using secure communication via SSL/TLS\n    kSocketHasReadEOF              = 1 << 14,  // If set, we have read EOF from socket\n    kReadStreamClosed              = 1 << 15,  // If set, we've read EOF plus prebuffer has been drained\n#if TARGET_OS_IPHONE\n    kAddedStreamsToRunLoop         = 1 << 16,  // If set, CFStreams have been added to listener thread\n    kUsingCFStreamForTLS           = 1 << 17,  // If set, we're forced to use CFStream instead of SecureTransport\n    kSecureSocketHasBytesAvailable = 1 << 18,  // If set, CFReadStream has notified us of bytes available\n#endif\n};\n\nenum GCDAsyncSocketConfig\n{\n    kIPv4Disabled              = 1 << 0,  // If set, IPv4 is disabled\n    kIPv6Disabled              = 1 << 1,  // If set, IPv6 is disabled\n    kPreferIPv6                = 1 << 2,  // If set, IPv6 is preferred over IPv4\n    kAllowHalfDuplexConnection = 1 << 3,  // If set, the socket will stay open even if the read stream closes\n};\n\n#if TARGET_OS_IPHONE\n  static NSThread *cfstreamThread;  // Used for CFStreams\n#endif\n\n@interface GCDAsyncSocket ()\n{\n    uint32_t flags;\n    uint16_t config;\n    \n#if __has_feature(objc_arc_weak)\n    __weak id delegate;\n#else\n    __unsafe_unretained id delegate;\n#endif\n    dispatch_queue_t delegateQueue;\n    \n    int socket4FD;\n    int socket6FD;\n    int connectIndex;\n    NSData * connectInterface4;\n    NSData * connectInterface6;\n    \n    dispatch_queue_t socketQueue;\n    \n    dispatch_source_t accept4Source;\n    dispatch_source_t accept6Source;\n    dispatch_source_t connectTimer;\n    dispatch_source_t readSource;\n    dispatch_source_t writeSource;\n    dispatch_source_t readTimer;\n    dispatch_source_t writeTimer;\n    \n    NSMutableArray *readQueue;\n    NSMutableArray *writeQueue;\n    \n    GCDAsyncReadPacket *currentRead;\n    GCDAsyncWritePacket *currentWrite;\n    \n    unsigned long socketFDBytesAvailable;\n    \n    GCDAsyncSocketPreBuffer *preBuffer;\n        \n#if TARGET_OS_IPHONE\n    CFStreamClientContext streamContext;\n    CFReadStreamRef readStream;\n    CFWriteStreamRef writeStream;\n#endif\n#if SECURE_TRANSPORT_MAYBE_AVAILABLE\n    SSLContextRef sslContext;\n    GCDAsyncSocketPreBuffer *sslPreBuffer;\n    size_t sslWriteCachedLength;\n    OSStatus sslErrCode;\n#endif\n    \n    void *IsOnSocketQueueOrTargetQueueKey;\n    \n    id userData;\n}\n// Accepting\n- (BOOL)doAccept:(int)socketFD;\n\n// Connecting\n- (void)startConnectTimeout:(NSTimeInterval)timeout;\n- (void)endConnectTimeout;\n- (void)doConnectTimeout;\n- (void)lookup:(int)aConnectIndex host:(NSString *)host port:(uint16_t)port;\n- (void)lookup:(int)aConnectIndex didSucceedWithAddress4:(NSData *)address4 address6:(NSData *)address6;\n- (void)lookup:(int)aConnectIndex didFail:(NSError *)error;\n- (BOOL)connectWithAddress4:(NSData *)address4 address6:(NSData *)address6 error:(NSError **)errPtr;\n- (void)didConnect:(int)aConnectIndex;\n- (void)didNotConnect:(int)aConnectIndex error:(NSError *)error;\n\n// Disconnect\n- (void)closeWithError:(NSError *)error;\n- (void)maybeClose;\n\n// Errors\n- (NSError *)badConfigError:(NSString *)msg;\n- (NSError *)badParamError:(NSString *)msg;\n- (NSError *)gaiError:(int)gai_error;\n- (NSError *)errnoError;\n- (NSError *)errnoErrorWithReason:(NSString *)reason;\n- (NSError *)connectTimeoutError;\n- (NSError *)otherError:(NSString *)msg;\n\n// Diagnostics\n- (NSString *)connectedHost4;\n- (NSString *)connectedHost6;\n- (uint16_t)connectedPort4;\n- (uint16_t)connectedPort6;\n- (NSString *)localHost4;\n- (NSString *)localHost6;\n- (uint16_t)localPort4;\n- (uint16_t)localPort6;\n- (NSString *)connectedHostFromSocket4:(int)socketFD;\n- (NSString *)connectedHostFromSocket6:(int)socketFD;\n- (uint16_t)connectedPortFromSocket4:(int)socketFD;\n- (uint16_t)connectedPortFromSocket6:(int)socketFD;\n- (NSString *)localHostFromSocket4:(int)socketFD;\n- (NSString *)localHostFromSocket6:(int)socketFD;\n- (uint16_t)localPortFromSocket4:(int)socketFD;\n- (uint16_t)localPortFromSocket6:(int)socketFD;\n\n// Utilities\n- (void)getInterfaceAddress4:(NSMutableData **)addr4Ptr\n                    address6:(NSMutableData **)addr6Ptr\n             fromDescription:(NSString *)interfaceDescription\n                        port:(uint16_t)port;\n- (void)setupReadAndWriteSourcesForNewlyConnectedSocket:(int)socketFD;\n- (void)suspendReadSource;\n- (void)resumeReadSource;\n- (void)suspendWriteSource;\n- (void)resumeWriteSource;\n\n// Reading\n- (void)maybeDequeueRead;\n- (void)flushSSLBuffers;\n- (void)doReadData;\n- (void)doReadEOF;\n- (void)completeCurrentRead;\n- (void)endCurrentRead;\n- (void)setupReadTimerWithTimeout:(NSTimeInterval)timeout;\n- (void)doReadTimeout;\n- (void)doReadTimeoutWithExtension:(NSTimeInterval)timeoutExtension;\n\n// Writing\n- (void)maybeDequeueWrite;\n- (void)doWriteData;\n- (void)completeCurrentWrite;\n- (void)endCurrentWrite;\n- (void)setupWriteTimerWithTimeout:(NSTimeInterval)timeout;\n- (void)doWriteTimeout;\n- (void)doWriteTimeoutWithExtension:(NSTimeInterval)timeoutExtension;\n\n// Security\n- (void)maybeStartTLS;\n#if SECURE_TRANSPORT_MAYBE_AVAILABLE\n- (void)ssl_startTLS;\n- (void)ssl_continueSSLHandshake;\n#endif\n#if TARGET_OS_IPHONE\n- (void)cf_startTLS;\n#endif\n\n// CFStream\n#if TARGET_OS_IPHONE\n+ (void)startCFStreamThreadIfNeeded;\n- (BOOL)createReadAndWriteStream;\n- (BOOL)registerForStreamCallbacksIncludingReadWrite:(BOOL)includeReadWrite;\n- (BOOL)addStreamsToRunLoop;\n- (BOOL)openStreams;\n- (void)removeStreamsFromRunLoop;\n#endif\n\n// Class Methods\n+ (NSString *)hostFromSockaddr4:(const struct sockaddr_in *)pSockaddr4;\n+ (NSString *)hostFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6;\n+ (uint16_t)portFromSockaddr4:(const struct sockaddr_in *)pSockaddr4;\n+ (uint16_t)portFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A PreBuffer is used when there is more data available on the socket\n * than is being requested by current read request.\n * In this case we slurp up all data from the socket (to minimize sys calls),\n * and store additional yet unread data in a \"prebuffer\".\n * \n * The prebuffer is entirely drained before we read from the socket again.\n * In other words, a large chunk of data is written is written to the prebuffer.\n * The prebuffer is then drained via a series of one or more reads (for subsequent read request(s)).\n * \n * A ring buffer was once used for this purpose.\n * But a ring buffer takes up twice as much memory as needed (double the size for mirroring).\n * In fact, it generally takes up more than twice the needed size as everything has to be rounded up to vm_page_size.\n * And since the prebuffer is always completely drained after being written to, a full ring buffer isn't needed.\n * \n * The current design is very simple and straight-forward, while also keeping memory requirements lower.\n**/\n\n@interface GCDAsyncSocketPreBuffer : NSObject\n{\n    uint8_t *preBuffer;\n    size_t preBufferSize;\n    \n    uint8_t *readPointer;\n    uint8_t *writePointer;\n}\n\n- (id)initWithCapacity:(size_t)numBytes;\n\n- (void)ensureCapacityForWrite:(size_t)numBytes;\n\n- (size_t)availableBytes;\n- (uint8_t *)readBuffer;\n\n- (void)getReadBuffer:(uint8_t **)bufferPtr availableBytes:(size_t *)availableBytesPtr;\n\n- (size_t)availableSpace;\n- (uint8_t *)writeBuffer;\n\n- (void)getWriteBuffer:(uint8_t **)bufferPtr availableSpace:(size_t *)availableSpacePtr;\n\n- (void)didRead:(size_t)bytesRead;\n- (void)didWrite:(size_t)bytesWritten;\n\n- (void)reset;\n\n@end\n\n@implementation GCDAsyncSocketPreBuffer\n\n- (id)initWithCapacity:(size_t)numBytes\n{\n    if ((self = [super init]))\n    {\n        preBufferSize = numBytes;\n        preBuffer = malloc(preBufferSize);\n        \n        readPointer = preBuffer;\n        writePointer = preBuffer;\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    if (preBuffer)\n        free(preBuffer);\n}\n\n- (void)ensureCapacityForWrite:(size_t)numBytes\n{\n    size_t availableSpace = preBufferSize - (writePointer - readPointer);\n    \n    if (numBytes > availableSpace)\n    {\n        size_t additionalBytes = numBytes - availableSpace;\n        \n        size_t newPreBufferSize = preBufferSize + additionalBytes;\n        uint8_t *newPreBuffer = realloc(preBuffer, newPreBufferSize);\n        \n        size_t readPointerOffset = readPointer - preBuffer;\n        size_t writePointerOffset = writePointer - preBuffer;\n        \n        preBuffer = newPreBuffer;\n        preBufferSize = newPreBufferSize;\n        \n        readPointer = preBuffer + readPointerOffset;\n        writePointer = preBuffer + writePointerOffset;\n    }\n}\n\n- (size_t)availableBytes\n{\n    return writePointer - readPointer;\n}\n\n- (uint8_t *)readBuffer\n{\n    return readPointer;\n}\n\n- (void)getReadBuffer:(uint8_t **)bufferPtr availableBytes:(size_t *)availableBytesPtr\n{\n    if (bufferPtr) *bufferPtr = readPointer;\n    if (availableBytesPtr) *availableBytesPtr = writePointer - readPointer;\n}\n\n- (void)didRead:(size_t)bytesRead\n{\n    readPointer += bytesRead;\n    \n    if (readPointer == writePointer)\n    {\n        // The prebuffer has been drained. Reset pointers.\n        readPointer  = preBuffer;\n        writePointer = preBuffer;\n    }\n}\n\n- (size_t)availableSpace\n{\n    return preBufferSize - (writePointer - readPointer);\n}\n\n- (uint8_t *)writeBuffer\n{\n    return writePointer;\n}\n\n- (void)getWriteBuffer:(uint8_t **)bufferPtr availableSpace:(size_t *)availableSpacePtr\n{\n    if (bufferPtr) *bufferPtr = writePointer;\n    if (availableSpacePtr) *availableSpacePtr = preBufferSize - (writePointer - readPointer);\n}\n\n- (void)didWrite:(size_t)bytesWritten\n{\n    writePointer += bytesWritten;\n}\n\n- (void)reset\n{\n    readPointer  = preBuffer;\n    writePointer = preBuffer;\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The GCDAsyncReadPacket encompasses the instructions for any given read.\n * The content of a read packet allows the code to determine if we're:\n *  - reading to a certain length\n *  - reading to a certain separator\n *  - or simply reading the first chunk of available data\n**/\n@interface GCDAsyncReadPacket : NSObject\n{\n  @public\n    NSMutableData *buffer;\n    NSUInteger startOffset;\n    NSUInteger bytesDone;\n    NSUInteger maxLength;\n    NSTimeInterval timeout;\n    NSUInteger readLength;\n    NSData *term;\n    BOOL bufferOwner;\n    NSUInteger originalBufferLength;\n    long tag;\n}\n- (id)initWithData:(NSMutableData *)d\n       startOffset:(NSUInteger)s\n         maxLength:(NSUInteger)m\n           timeout:(NSTimeInterval)t\n        readLength:(NSUInteger)l\n        terminator:(NSData *)e\n               tag:(long)i;\n\n- (void)ensureCapacityForAdditionalDataOfLength:(NSUInteger)bytesToRead;\n\n- (NSUInteger)optimalReadLengthWithDefault:(NSUInteger)defaultValue shouldPreBuffer:(BOOL *)shouldPreBufferPtr;\n\n- (NSUInteger)readLengthForNonTermWithHint:(NSUInteger)bytesAvailable;\n- (NSUInteger)readLengthForTermWithHint:(NSUInteger)bytesAvailable shouldPreBuffer:(BOOL *)shouldPreBufferPtr;\n- (NSUInteger)readLengthForTermWithPreBuffer:(GCDAsyncSocketPreBuffer *)preBuffer found:(BOOL *)foundPtr;\n\n- (NSInteger)searchForTermAfterPreBuffering:(ssize_t)numBytes;\n\n@end\n\n@implementation GCDAsyncReadPacket\n\n- (id)initWithData:(NSMutableData *)d\n       startOffset:(NSUInteger)s\n         maxLength:(NSUInteger)m\n           timeout:(NSTimeInterval)t\n        readLength:(NSUInteger)l\n        terminator:(NSData *)e\n               tag:(long)i\n{\n    if((self = [super init]))\n    {\n        bytesDone = 0;\n        maxLength = m;\n        timeout = t;\n        readLength = l;\n        term = [e copy];\n        tag = i;\n        \n        if (d)\n        {\n            buffer = d;\n            startOffset = s;\n            bufferOwner = NO;\n            originalBufferLength = [d length];\n        }\n        else\n        {\n            if (readLength > 0)\n                buffer = [[NSMutableData alloc] initWithLength:readLength];\n            else\n                buffer = [[NSMutableData alloc] initWithLength:0];\n            \n            startOffset = 0;\n            bufferOwner = YES;\n            originalBufferLength = 0;\n        }\n    }\n    return self;\n}\n\n/**\n * Increases the length of the buffer (if needed) to ensure a read of the given size will fit.\n**/\n- (void)ensureCapacityForAdditionalDataOfLength:(NSUInteger)bytesToRead\n{\n    NSUInteger buffSize = [buffer length];\n    NSUInteger buffUsed = startOffset + bytesDone;\n    \n    NSUInteger buffSpace = buffSize - buffUsed;\n    \n    if (bytesToRead > buffSpace)\n    {\n        NSUInteger buffInc = bytesToRead - buffSpace;\n        \n        [buffer increaseLengthBy:buffInc];\n    }\n}\n\n/**\n * This method is used when we do NOT know how much data is available to be read from the socket.\n * This method returns the default value unless it exceeds the specified readLength or maxLength.\n * \n * Furthermore, the shouldPreBuffer decision is based upon the packet type,\n * and whether the returned value would fit in the current buffer without requiring a resize of the buffer.\n**/\n- (NSUInteger)optimalReadLengthWithDefault:(NSUInteger)defaultValue shouldPreBuffer:(BOOL *)shouldPreBufferPtr\n{\n    NSUInteger result;\n    \n    if (readLength > 0)\n    {\n        // Read a specific length of data\n        \n        result = MIN(defaultValue, (readLength - bytesDone));\n        \n        // There is no need to prebuffer since we know exactly how much data we need to read.\n        // Even if the buffer isn't currently big enough to fit this amount of data,\n        // it would have to be resized eventually anyway.\n        \n        if (shouldPreBufferPtr)\n            *shouldPreBufferPtr = NO;\n    }\n    else\n    {\n        // Either reading until we find a specified terminator,\n        // or we're simply reading all available data.\n        // \n        // In other words, one of:\n        // \n        // - readDataToData packet\n        // - readDataWithTimeout packet\n        \n        if (maxLength > 0)\n            result =  MIN(defaultValue, (maxLength - bytesDone));\n        else\n            result = defaultValue;\n        \n        // Since we don't know the size of the read in advance,\n        // the shouldPreBuffer decision is based upon whether the returned value would fit\n        // in the current buffer without requiring a resize of the buffer.\n        // \n        // This is because, in all likelyhood, the amount read from the socket will be less than the default value.\n        // Thus we should avoid over-allocating the read buffer when we can simply use the pre-buffer instead.\n        \n        if (shouldPreBufferPtr)\n        {\n            NSUInteger buffSize = [buffer length];\n            NSUInteger buffUsed = startOffset + bytesDone;\n            \n            NSUInteger buffSpace = buffSize - buffUsed;\n            \n            if (buffSpace >= result)\n                *shouldPreBufferPtr = NO;\n            else\n                *shouldPreBufferPtr = YES;\n        }\n    }\n    \n    return result;\n}\n\n/**\n * For read packets without a set terminator, returns the amount of data\n * that can be read without exceeding the readLength or maxLength.\n * \n * The given parameter indicates the number of bytes estimated to be available on the socket,\n * which is taken into consideration during the calculation.\n * \n * The given hint MUST be greater than zero.\n**/\n- (NSUInteger)readLengthForNonTermWithHint:(NSUInteger)bytesAvailable\n{\n    NSAssert(term == nil, @\"This method does not apply to term reads\");\n    NSAssert(bytesAvailable > 0, @\"Invalid parameter: bytesAvailable\");\n    \n    if (readLength > 0)\n    {\n        // Read a specific length of data\n        \n        return MIN(bytesAvailable, (readLength - bytesDone));\n        \n        // No need to avoid resizing the buffer.\n        // If the user provided their own buffer,\n        // and told us to read a certain length of data that exceeds the size of the buffer,\n        // then it is clear that our code will resize the buffer during the read operation.\n        // \n        // This method does not actually do any resizing.\n        // The resizing will happen elsewhere if needed.\n    }\n    else\n    {\n        // Read all available data\n        \n        NSUInteger result = bytesAvailable;\n        \n        if (maxLength > 0)\n        {\n            result = MIN(result, (maxLength - bytesDone));\n        }\n        \n        // No need to avoid resizing the buffer.\n        // If the user provided their own buffer,\n        // and told us to read all available data without giving us a maxLength,\n        // then it is clear that our code might resize the buffer during the read operation.\n        // \n        // This method does not actually do any resizing.\n        // The resizing will happen elsewhere if needed.\n        \n        return result;\n    }\n}\n\n/**\n * For read packets with a set terminator, returns the amount of data\n * that can be read without exceeding the maxLength.\n * \n * The given parameter indicates the number of bytes estimated to be available on the socket,\n * which is taken into consideration during the calculation.\n * \n * To optimize memory allocations, mem copies, and mem moves\n * the shouldPreBuffer boolean value will indicate if the data should be read into a prebuffer first,\n * or if the data can be read directly into the read packet's buffer.\n**/\n- (NSUInteger)readLengthForTermWithHint:(NSUInteger)bytesAvailable shouldPreBuffer:(BOOL *)shouldPreBufferPtr\n{\n    NSAssert(term != nil, @\"This method does not apply to non-term reads\");\n    NSAssert(bytesAvailable > 0, @\"Invalid parameter: bytesAvailable\");\n    \n    \n    NSUInteger result = bytesAvailable;\n    \n    if (maxLength > 0)\n    {\n        result = MIN(result, (maxLength - bytesDone));\n    }\n    \n    // Should the data be read into the read packet's buffer, or into a pre-buffer first?\n    // \n    // One would imagine the preferred option is the faster one.\n    // So which one is faster?\n    // \n    // Reading directly into the packet's buffer requires:\n    // 1. Possibly resizing packet buffer (malloc/realloc)\n    // 2. Filling buffer (read)\n    // 3. Searching for term (memcmp)\n    // 4. Possibly copying overflow into prebuffer (malloc/realloc, memcpy)\n    // \n    // Reading into prebuffer first:\n    // 1. Possibly resizing prebuffer (malloc/realloc)\n    // 2. Filling buffer (read)\n    // 3. Searching for term (memcmp)\n    // 4. Copying underflow into packet buffer (malloc/realloc, memcpy)\n    // 5. Removing underflow from prebuffer (memmove)\n    // \n    // Comparing the performance of the two we can see that reading\n    // data into the prebuffer first is slower due to the extra memove.\n    // \n    // However:\n    // The implementation of NSMutableData is open source via core foundation's CFMutableData.\n    // Decreasing the length of a mutable data object doesn't cause a realloc.\n    // In other words, the capacity of a mutable data object can grow, but doesn't shrink.\n    // \n    // This means the prebuffer will rarely need a realloc.\n    // The packet buffer, on the other hand, may often need a realloc.\n    // This is especially true if we are the buffer owner.\n    // Furthermore, if we are constantly realloc'ing the packet buffer,\n    // and then moving the overflow into the prebuffer,\n    // then we're consistently over-allocating memory for each term read.\n    // And now we get into a bit of a tradeoff between speed and memory utilization.\n    // \n    // The end result is that the two perform very similarly.\n    // And we can answer the original question very simply by another means.\n    // \n    // If we can read all the data directly into the packet's buffer without resizing it first,\n    // then we do so. Otherwise we use the prebuffer.\n    \n    if (shouldPreBufferPtr)\n    {\n        NSUInteger buffSize = [buffer length];\n        NSUInteger buffUsed = startOffset + bytesDone;\n        \n        if ((buffSize - buffUsed) >= result)\n            *shouldPreBufferPtr = NO;\n        else\n            *shouldPreBufferPtr = YES;\n    }\n    \n    return result;\n}\n\n/**\n * For read packets with a set terminator,\n * returns the amount of data that can be read from the given preBuffer,\n * without going over a terminator or the maxLength.\n * \n * It is assumed the terminator has not already been read.\n**/\n- (NSUInteger)readLengthForTermWithPreBuffer:(GCDAsyncSocketPreBuffer *)preBuffer found:(BOOL *)foundPtr\n{\n    NSAssert(term != nil, @\"This method does not apply to non-term reads\");\n    NSAssert([preBuffer availableBytes] > 0, @\"Invoked with empty pre buffer!\");\n    \n    // We know that the terminator, as a whole, doesn't exist in our own buffer.\n    // But it is possible that a _portion_ of it exists in our buffer.\n    // So we're going to look for the terminator starting with a portion of our own buffer.\n    // \n    // Example:\n    // \n    // term length      = 3 bytes\n    // bytesDone        = 5 bytes\n    // preBuffer length = 5 bytes\n    // \n    // If we append the preBuffer to our buffer,\n    // it would look like this:\n    // \n    // ---------------------\n    // |B|B|B|B|B|P|P|P|P|P|\n    // ---------------------\n    // \n    // So we start our search here:\n    // \n    // ---------------------\n    // |B|B|B|B|B|P|P|P|P|P|\n    // -------^-^-^---------\n    // \n    // And move forwards...\n    // \n    // ---------------------\n    // |B|B|B|B|B|P|P|P|P|P|\n    // ---------^-^-^-------\n    // \n    // Until we find the terminator or reach the end.\n    // \n    // ---------------------\n    // |B|B|B|B|B|P|P|P|P|P|\n    // ---------------^-^-^-\n    \n    BOOL found = NO;\n    \n    NSUInteger termLength = [term length];\n    NSUInteger preBufferLength = [preBuffer availableBytes];\n    \n    if ((bytesDone + preBufferLength) < termLength)\n    {\n        // Not enough data for a full term sequence yet\n        return preBufferLength;\n    }\n    \n    NSUInteger maxPreBufferLength;\n    if (maxLength > 0) {\n        maxPreBufferLength = MIN(preBufferLength, (maxLength - bytesDone));\n        \n        // Note: maxLength >= termLength\n    }\n    else {\n        maxPreBufferLength = preBufferLength;\n    }\n    \n    uint8_t seq[termLength];\n    const void *termBuf = [term bytes];\n    \n    NSUInteger bufLen = MIN(bytesDone, (termLength - 1));\n    uint8_t *buf = (uint8_t *)[buffer mutableBytes] + startOffset + bytesDone - bufLen;\n    \n    NSUInteger preLen = termLength - bufLen;\n    const uint8_t *pre = [preBuffer readBuffer];\n    \n    NSUInteger loopCount = bufLen + maxPreBufferLength - termLength + 1; // Plus one. See example above.\n    \n    NSUInteger result = maxPreBufferLength;\n    \n    NSUInteger i;\n    for (i = 0; i < loopCount; i++)\n    {\n        if (bufLen > 0)\n        {\n            // Combining bytes from buffer and preBuffer\n            \n            memcpy(seq, buf, bufLen);\n            memcpy(seq + bufLen, pre, preLen);\n            \n            if (memcmp(seq, termBuf, termLength) == 0)\n            {\n                result = preLen;\n                found = YES;\n                break;\n            }\n            \n            buf++;\n            bufLen--;\n            preLen++;\n        }\n        else\n        {\n            // Comparing directly from preBuffer\n            \n            if (memcmp(pre, termBuf, termLength) == 0)\n            {\n                NSUInteger preOffset = pre - [preBuffer readBuffer]; // pointer arithmetic\n                \n                result = preOffset + termLength;\n                found = YES;\n                break;\n            }\n            \n            pre++;\n        }\n    }\n    \n    // There is no need to avoid resizing the buffer in this particular situation.\n    \n    if (foundPtr) *foundPtr = found;\n    return result;\n}\n\n/**\n * For read packets with a set terminator, scans the packet buffer for the term.\n * It is assumed the terminator had not been fully read prior to the new bytes.\n * \n * If the term is found, the number of excess bytes after the term are returned.\n * If the term is not found, this method will return -1.\n * \n * Note: A return value of zero means the term was found at the very end.\n * \n * Prerequisites:\n * The given number of bytes have been added to the end of our buffer.\n * Our bytesDone variable has NOT been changed due to the prebuffered bytes.\n**/\n- (NSInteger)searchForTermAfterPreBuffering:(ssize_t)numBytes\n{\n    NSAssert(term != nil, @\"This method does not apply to non-term reads\");\n    \n    // The implementation of this method is very similar to the above method.\n    // See the above method for a discussion of the algorithm used here.\n    \n    uint8_t *buff = [buffer mutableBytes];\n    NSUInteger buffLength = bytesDone + numBytes;\n    \n    const void *termBuff = [term bytes];\n    NSUInteger termLength = [term length];\n    \n    // Note: We are dealing with unsigned integers,\n    // so make sure the math doesn't go below zero.\n    \n    NSUInteger i = ((buffLength - numBytes) >= termLength) ? (buffLength - numBytes - termLength + 1) : 0;\n    \n    while (i + termLength <= buffLength)\n    {\n        uint8_t *subBuffer = buff + startOffset + i;\n        \n        if (memcmp(subBuffer, termBuff, termLength) == 0)\n        {\n            return buffLength - (i + termLength);\n        }\n        \n        i++;\n    }\n    \n    return -1;\n}\n\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The GCDAsyncWritePacket encompasses the instructions for any given write.\n**/\n@interface GCDAsyncWritePacket : NSObject\n{\n  @public\n    NSData *buffer;\n    NSUInteger bytesDone;\n    long tag;\n    NSTimeInterval timeout;\n}\n- (id)initWithData:(NSData *)d timeout:(NSTimeInterval)t tag:(long)i;\n@end\n\n@implementation GCDAsyncWritePacket\n\n- (id)initWithData:(NSData *)d timeout:(NSTimeInterval)t tag:(long)i\n{\n    if((self = [super init]))\n    {\n        buffer = d; // Retain not copy. For performance as documented in header file.\n        bytesDone = 0;\n        timeout = t;\n        tag = i;\n    }\n    return self;\n}\n\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The GCDAsyncSpecialPacket encompasses special instructions for interruptions in the read/write queues.\n * This class my be altered to support more than just TLS in the future.\n**/\n@interface GCDAsyncSpecialPacket : NSObject\n{\n  @public\n    NSDictionary *tlsSettings;\n}\n- (id)initWithTLSSettings:(NSDictionary *)settings;\n@end\n\n@implementation GCDAsyncSpecialPacket\n\n- (id)initWithTLSSettings:(NSDictionary *)settings\n{\n    if((self = [super init]))\n    {\n        tlsSettings = [settings copy];\n    }\n    return self;\n}\n\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation GCDAsyncSocket\n\n- (id)init\n{\n    return [self initWithDelegate:nil delegateQueue:NULL socketQueue:NULL];\n}\n\n- (id)initWithSocketQueue:(dispatch_queue_t)sq\n{\n    return [self initWithDelegate:nil delegateQueue:NULL socketQueue:sq];\n}\n\n- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq\n{\n    return [self initWithDelegate:aDelegate delegateQueue:dq socketQueue:NULL];\n}\n\n- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq socketQueue:(dispatch_queue_t)sq\n{\n    if((self = [super init]))\n    {\n        delegate = aDelegate;\n        delegateQueue = dq;\n        \n        #if NEEDS_DISPATCH_RETAIN_RELEASE\n        if (dq) dispatch_retain(dq);\n        #endif\n        \n        socket4FD = SOCKET_NULL;\n        socket6FD = SOCKET_NULL;\n        connectIndex = 0;\n        \n        if (sq)\n        {\n            NSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0),\n                     @\"The given socketQueue parameter must not be a concurrent queue.\");\n            NSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0),\n                     @\"The given socketQueue parameter must not be a concurrent queue.\");\n            NSAssert(sq != dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),\n                     @\"The given socketQueue parameter must not be a concurrent queue.\");\n            \n            socketQueue = sq;\n            #if NEEDS_DISPATCH_RETAIN_RELEASE\n            dispatch_retain(sq);\n            #endif\n        }\n        else\n        {\n            socketQueue = dispatch_queue_create([GCDAsyncSocketQueueName UTF8String], NULL);\n        }\n        \n        // The dispatch_queue_set_specific() and dispatch_get_specific() functions take a \"void *key\" parameter.\n        // From the documentation:\n        //\n        // > Keys are only compared as pointers and are never dereferenced.\n        // > Thus, you can use a pointer to a static variable for a specific subsystem or\n        // > any other value that allows you to identify the value uniquely.\n        //\n        // We're just going to use the memory address of an ivar.\n        // Specifically an ivar that is explicitly named for our purpose to make the code more readable.\n        //\n        // However, it feels tedious (and less readable) to include the \"&\" all the time:\n        // dispatch_get_specific(&IsOnSocketQueueOrTargetQueueKey)\n        //\n        // So we're going to make it so it doesn't matter if we use the '&' or not,\n        // by assigning the value of the ivar to the address of the ivar.\n        // Thus: IsOnSocketQueueOrTargetQueueKey == &IsOnSocketQueueOrTargetQueueKey;\n        \n        IsOnSocketQueueOrTargetQueueKey = &IsOnSocketQueueOrTargetQueueKey;\n        \n        void *nonNullUnusedPointer = (__bridge void *)self;\n        dispatch_queue_set_specific(socketQueue, IsOnSocketQueueOrTargetQueueKey, nonNullUnusedPointer, NULL);\n        \n        readQueue = [[NSMutableArray alloc] initWithCapacity:5];\n        currentRead = nil;\n        \n        writeQueue = [[NSMutableArray alloc] initWithCapacity:5];\n        currentWrite = nil;\n        \n        preBuffer = [[GCDAsyncSocketPreBuffer alloc] initWithCapacity:(1024 * 4)];\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    LogInfo(@\"%@ - %@ (start)\", THIS_METHOD, self);\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        [self closeWithError:nil];\n    }\n    else\n    {\n        dispatch_sync(socketQueue, ^{\n            [self closeWithError:nil];\n        });\n    }\n    \n    delegate = nil;\n    \n    #if NEEDS_DISPATCH_RETAIN_RELEASE\n    if (delegateQueue) dispatch_release(delegateQueue);\n    #endif\n    delegateQueue = NULL;\n    \n    #if NEEDS_DISPATCH_RETAIN_RELEASE\n    if (socketQueue) dispatch_release(socketQueue);\n    #endif\n    socketQueue = NULL;\n    \n    LogInfo(@\"%@ - %@ (finish)\", THIS_METHOD, self);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (id)delegate\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        return delegate;\n    }\n    else\n    {\n        __block id result;\n        \n        dispatch_sync(socketQueue, ^{\n            result = delegate;\n        });\n        \n        return result;\n    }\n}\n\n- (void)setDelegate:(id)newDelegate synchronously:(BOOL)synchronously\n{\n    dispatch_block_t block = ^{\n        delegate = newDelegate;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) {\n        block();\n    }\n    else {\n        if (synchronously)\n            dispatch_sync(socketQueue, block);\n        else\n            dispatch_async(socketQueue, block);\n    }\n}\n\n- (void)setDelegate:(id)newDelegate\n{\n    [self setDelegate:newDelegate synchronously:NO];\n}\n\n- (void)synchronouslySetDelegate:(id)newDelegate\n{\n    [self setDelegate:newDelegate synchronously:YES];\n}\n\n- (dispatch_queue_t)delegateQueue\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        return delegateQueue;\n    }\n    else\n    {\n        __block dispatch_queue_t result;\n        \n        dispatch_sync(socketQueue, ^{\n            result = delegateQueue;\n        });\n        \n        return result;\n    }\n}\n\n- (void)setDelegateQueue:(dispatch_queue_t)newDelegateQueue synchronously:(BOOL)synchronously\n{\n    dispatch_block_t block = ^{\n        \n        #if NEEDS_DISPATCH_RETAIN_RELEASE\n        if (delegateQueue) dispatch_release(delegateQueue);\n        if (newDelegateQueue) dispatch_retain(newDelegateQueue);\n        #endif\n        \n        delegateQueue = newDelegateQueue;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) {\n        block();\n    }\n    else {\n        if (synchronously)\n            dispatch_sync(socketQueue, block);\n        else\n            dispatch_async(socketQueue, block);\n    }\n}\n\n- (void)setDelegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n    [self setDelegateQueue:newDelegateQueue synchronously:NO];\n}\n\n- (void)synchronouslySetDelegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n    [self setDelegateQueue:newDelegateQueue synchronously:YES];\n}\n\n- (void)getDelegate:(id *)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        if (delegatePtr) *delegatePtr = delegate;\n        if (delegateQueuePtr) *delegateQueuePtr = delegateQueue;\n    }\n    else\n    {\n        __block id dPtr = NULL;\n        __block dispatch_queue_t dqPtr = NULL;\n        \n        dispatch_sync(socketQueue, ^{\n            dPtr = delegate;\n            dqPtr = delegateQueue;\n        });\n        \n        if (delegatePtr) *delegatePtr = dPtr;\n        if (delegateQueuePtr) *delegateQueuePtr = dqPtr;\n    }\n}\n\n- (void)setDelegate:(id)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue synchronously:(BOOL)synchronously\n{\n    dispatch_block_t block = ^{\n        \n        delegate = newDelegate;\n        \n        #if NEEDS_DISPATCH_RETAIN_RELEASE\n        if (delegateQueue) dispatch_release(delegateQueue);\n        if (newDelegateQueue) dispatch_retain(newDelegateQueue);\n        #endif\n        \n        delegateQueue = newDelegateQueue;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey)) {\n        block();\n    }\n    else {\n        if (synchronously)\n            dispatch_sync(socketQueue, block);\n        else\n            dispatch_async(socketQueue, block);\n    }\n}\n\n- (void)setDelegate:(id)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n    [self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:NO];\n}\n\n- (void)synchronouslySetDelegate:(id)newDelegate delegateQueue:(dispatch_queue_t)newDelegateQueue\n{\n    [self setDelegate:newDelegate delegateQueue:newDelegateQueue synchronously:YES];\n}\n\n- (BOOL)isIPv4Enabled\n{\n    // Note: YES means kIPv4Disabled is OFF\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        return ((config & kIPv4Disabled) == 0);\n    }\n    else\n    {\n        __block BOOL result;\n        \n        dispatch_sync(socketQueue, ^{\n            result = ((config & kIPv4Disabled) == 0);\n        });\n        \n        return result;\n    }\n}\n\n- (void)setIPv4Enabled:(BOOL)flag\n{\n    // Note: YES means kIPv4Disabled is OFF\n    \n    dispatch_block_t block = ^{\n        \n        if (flag)\n            config &= ~kIPv4Disabled;\n        else\n            config |= kIPv4Disabled;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_async(socketQueue, block);\n}\n\n- (BOOL)isIPv6Enabled\n{\n    // Note: YES means kIPv6Disabled is OFF\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        return ((config & kIPv6Disabled) == 0);\n    }\n    else\n    {\n        __block BOOL result;\n        \n        dispatch_sync(socketQueue, ^{\n            result = ((config & kIPv6Disabled) == 0);\n        });\n        \n        return result;\n    }\n}\n\n- (void)setIPv6Enabled:(BOOL)flag\n{\n    // Note: YES means kIPv6Disabled is OFF\n    \n    dispatch_block_t block = ^{\n        \n        if (flag)\n            config &= ~kIPv6Disabled;\n        else\n            config |= kIPv6Disabled;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_async(socketQueue, block);\n}\n\n- (BOOL)isIPv4PreferredOverIPv6\n{\n    // Note: YES means kPreferIPv6 is OFF\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        return ((config & kPreferIPv6) == 0);\n    }\n    else\n    {\n        __block BOOL result;\n        \n        dispatch_sync(socketQueue, ^{\n            result = ((config & kPreferIPv6) == 0);\n        });\n        \n        return result;\n    }\n}\n\n- (void)setPreferIPv4OverIPv6:(BOOL)flag\n{\n    // Note: YES means kPreferIPv6 is OFF\n    \n    dispatch_block_t block = ^{\n        \n        if (flag)\n            config &= ~kPreferIPv6;\n        else\n            config |= kPreferIPv6;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_async(socketQueue, block);\n}\n\n- (id)userData\n{\n    __block id result = nil;\n    \n    dispatch_block_t block = ^{\n        \n        result = userData;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    return result;\n}\n\n- (void)setUserData:(id)arbitraryUserData\n{\n    dispatch_block_t block = ^{\n        \n        if (userData != arbitraryUserData)\n        {\n            userData = arbitraryUserData;\n        }\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_async(socketQueue, block);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Accepting\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)acceptOnPort:(uint16_t)port error:(NSError **)errPtr\n{\n    return [self acceptOnInterface:nil port:port error:errPtr];\n}\n\n- (BOOL)acceptOnInterface:(NSString *)inInterface port:(uint16_t)port error:(NSError **)errPtr\n{\n    LogTrace();\n    \n    // Just in-case interface parameter is immutable.\n    NSString *interface = [inInterface copy];\n    \n    __block BOOL result = NO;\n    __block NSError *err = nil;\n    \n    // CreateSocket Block\n    // This block will be invoked within the dispatch block below.\n    \n    int(^createSocket)(int, NSData*) = ^int (int domain, NSData *interfaceAddr) {\n        \n        int socketFD = socket(domain, SOCK_STREAM, 0);\n        \n        if (socketFD == SOCKET_NULL)\n        {\n            NSString *reason = @\"Error in socket() function\";\n            err = [self errnoErrorWithReason:reason];\n            \n            return SOCKET_NULL;\n        }\n        \n        int status;\n        \n        // Set socket options\n        \n        status = fcntl(socketFD, F_SETFL, O_NONBLOCK);\n        if (status == -1)\n        {\n            NSString *reason = @\"Error enabling non-blocking IO on socket (fcntl)\";\n            err = [self errnoErrorWithReason:reason];\n            \n            LogVerbose(@\"close(socketFD)\");\n            close(socketFD);\n            return SOCKET_NULL;\n        }\n        \n        int reuseOn = 1;\n        status = setsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, &reuseOn, sizeof(reuseOn));\n        if (status == -1)\n        {\n            NSString *reason = @\"Error enabling address reuse (setsockopt)\";\n            err = [self errnoErrorWithReason:reason];\n            \n            LogVerbose(@\"close(socketFD)\");\n            close(socketFD);\n            return SOCKET_NULL;\n        }\n        \n        // Bind socket\n        \n        status = bind(socketFD, (const struct sockaddr *)[interfaceAddr bytes], (socklen_t)[interfaceAddr length]);\n        if (status == -1)\n        {\n            NSString *reason = @\"Error in bind() function\";\n            err = [self errnoErrorWithReason:reason];\n            \n            LogVerbose(@\"close(socketFD)\");\n            close(socketFD);\n            return SOCKET_NULL;\n        }\n        \n        // Listen\n        \n        status = listen(socketFD, 1024);\n        if (status == -1)\n        {\n            NSString *reason = @\"Error in listen() function\";\n            err = [self errnoErrorWithReason:reason];\n            \n            LogVerbose(@\"close(socketFD)\");\n            close(socketFD);\n            return SOCKET_NULL;\n        }\n        \n        return socketFD;\n    };\n    \n    // Create dispatch block and run on socketQueue\n    \n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        if (delegate == nil) // Must have delegate set\n        {\n            NSString *msg = @\"Attempting to accept without a delegate. Set a delegate first.\";\n            err = [self badConfigError:msg];\n            \n            return_from_block;\n        }\n        \n        if (delegateQueue == NULL) // Must have delegate queue set\n        {\n            NSString *msg = @\"Attempting to accept without a delegate queue. Set a delegate queue first.\";\n            err = [self badConfigError:msg];\n            \n            return_from_block;\n        }\n        \n        BOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO;\n        BOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO;\n        \n        if (isIPv4Disabled && isIPv6Disabled) // Must have IPv4 or IPv6 enabled\n        {\n            NSString *msg = @\"Both IPv4 and IPv6 have been disabled. Must enable at least one protocol first.\";\n            err = [self badConfigError:msg];\n            \n            return_from_block;\n        }\n        \n        if (![self isDisconnected]) // Must be disconnected\n        {\n            NSString *msg = @\"Attempting to accept while connected or accepting connections. Disconnect first.\";\n            err = [self badConfigError:msg];\n            \n            return_from_block;\n        }\n        \n        // Clear queues (spurious read/write requests post disconnect)\n        [readQueue removeAllObjects];\n        [writeQueue removeAllObjects];\n        \n        // Resolve interface from description\n        \n        NSMutableData *interface4 = nil;\n        NSMutableData *interface6 = nil;\n        \n        [self getInterfaceAddress4:&interface4 address6:&interface6 fromDescription:interface port:port];\n        \n        if ((interface4 == nil) && (interface6 == nil))\n        {\n            NSString *msg = @\"Unknown interface. Specify valid interface by name (e.g. \\\"en1\\\") or IP address.\";\n            err = [self badParamError:msg];\n            \n            return_from_block;\n        }\n        \n        if (isIPv4Disabled && (interface6 == nil))\n        {\n            NSString *msg = @\"IPv4 has been disabled and specified interface doesn't support IPv6.\";\n            err = [self badParamError:msg];\n            \n            return_from_block;\n        }\n        \n        if (isIPv6Disabled && (interface4 == nil))\n        {\n            NSString *msg = @\"IPv6 has been disabled and specified interface doesn't support IPv4.\";\n            err = [self badParamError:msg];\n            \n            return_from_block;\n        }\n        \n        BOOL enableIPv4 = !isIPv4Disabled && (interface4 != nil);\n        BOOL enableIPv6 = !isIPv6Disabled && (interface6 != nil);\n        \n        // Create sockets, configure, bind, and listen\n        \n        if (enableIPv4)\n        {\n            LogVerbose(@\"Creating IPv4 socket\");\n            socket4FD = createSocket(AF_INET, interface4);\n            \n            if (socket4FD == SOCKET_NULL)\n            {\n                return_from_block;\n            }\n        }\n        \n        if (enableIPv6)\n        {\n            LogVerbose(@\"Creating IPv6 socket\");\n            \n            if (enableIPv4 && (port == 0))\n            {\n                // No specific port was specified, so we allowed the OS to pick an available port for us.\n                // Now we need to make sure the IPv6 socket listens on the same port as the IPv4 socket.\n                \n                struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)[interface6 mutableBytes];\n                addr6->sin6_port = htons([self localPort4]);\n            }\n            \n            socket6FD = createSocket(AF_INET6, interface6);\n            \n            if (socket6FD == SOCKET_NULL)\n            {\n                if (socket4FD != SOCKET_NULL)\n                {\n                    LogVerbose(@\"close(socket4FD)\");\n                    close(socket4FD);\n                }\n                \n                return_from_block;\n            }\n        }\n        \n        // Create accept sources\n        \n        if (enableIPv4)\n        {\n            accept4Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, socket4FD, 0, socketQueue);\n            \n            int socketFD = socket4FD;\n            dispatch_source_t acceptSource = accept4Source;\n            \n            dispatch_source_set_event_handler(accept4Source, ^{ @autoreleasepool {\n                \n                LogVerbose(@\"event4Block\");\n                \n                unsigned long i = 0;\n                unsigned long numPendingConnections = dispatch_source_get_data(acceptSource);\n                \n                LogVerbose(@\"numPendingConnections: %lu\", numPendingConnections);\n                \n                while ([self doAccept:socketFD] && (++i < numPendingConnections));\n            }});\n            \n            dispatch_source_set_cancel_handler(accept4Source, ^{\n                \n                #if NEEDS_DISPATCH_RETAIN_RELEASE\n                LogVerbose(@\"dispatch_release(accept4Source)\");\n                dispatch_release(acceptSource);\n                #endif\n                \n                LogVerbose(@\"close(socket4FD)\");\n                close(socketFD);\n            });\n            \n            LogVerbose(@\"dispatch_resume(accept4Source)\");\n            dispatch_resume(accept4Source);\n        }\n        \n        if (enableIPv6)\n        {\n            accept6Source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, socket6FD, 0, socketQueue);\n            \n            int socketFD = socket6FD;\n            dispatch_source_t acceptSource = accept6Source;\n            \n            dispatch_source_set_event_handler(accept6Source, ^{ @autoreleasepool {\n                \n                LogVerbose(@\"event6Block\");\n                \n                unsigned long i = 0;\n                unsigned long numPendingConnections = dispatch_source_get_data(acceptSource);\n                \n                LogVerbose(@\"numPendingConnections: %lu\", numPendingConnections);\n                \n                while ([self doAccept:socketFD] && (++i < numPendingConnections));\n            }});\n            \n            dispatch_source_set_cancel_handler(accept6Source, ^{\n                \n                #if NEEDS_DISPATCH_RETAIN_RELEASE\n                LogVerbose(@\"dispatch_release(accept6Source)\");\n                dispatch_release(acceptSource);\n                #endif\n                \n                LogVerbose(@\"close(socket6FD)\");\n                close(socketFD);\n            });\n            \n            LogVerbose(@\"dispatch_resume(accept6Source)\");\n            dispatch_resume(accept6Source);\n        }\n        \n        flags |= kSocketStarted;\n        \n        result = YES;\n    }};\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    if (result == NO)\n    {\n        LogInfo(@\"Error in accept: %@\", err);\n        \n        if (errPtr)\n            *errPtr = err;\n    }\n    \n    return result;\n}\n\n- (BOOL)doAccept:(int)parentSocketFD\n{\n    LogTrace();\n    \n    BOOL isIPv4;\n    int childSocketFD;\n    NSData *childSocketAddress;\n    \n    if (parentSocketFD == socket4FD)\n    {\n        isIPv4 = YES;\n        \n        struct sockaddr_in addr;\n        socklen_t addrLen = sizeof(addr);\n        \n        childSocketFD = accept(parentSocketFD, (struct sockaddr *)&addr, &addrLen);\n        \n        if (childSocketFD == -1)\n        {\n            LogWarn(@\"Accept failed with error: %@\", [self errnoError]);\n            return NO;\n        }\n        \n        childSocketAddress = [NSData dataWithBytes:&addr length:addrLen];\n    }\n    else // if (parentSocketFD == socket6FD)\n    {\n        isIPv4 = NO;\n        \n        struct sockaddr_in6 addr;\n        socklen_t addrLen = sizeof(addr);\n        \n        childSocketFD = accept(parentSocketFD, (struct sockaddr *)&addr, &addrLen);\n        \n        if (childSocketFD == -1)\n        {\n            LogWarn(@\"Accept failed with error: %@\", [self errnoError]);\n            return NO;\n        }\n        \n        childSocketAddress = [NSData dataWithBytes:&addr length:addrLen];\n    }\n    \n    // Enable non-blocking IO on the socket\n    \n    int result = fcntl(childSocketFD, F_SETFL, O_NONBLOCK);\n    if (result == -1)\n    {\n        LogWarn(@\"Error enabling non-blocking IO on accepted socket (fcntl)\");\n        return NO;\n    }\n    \n    // Prevent SIGPIPE signals\n    \n    int nosigpipe = 1;\n    setsockopt(childSocketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe));\n    \n    // Notify delegate\n    \n    if (delegateQueue)\n    {\n        __strong id theDelegate = delegate;\n        \n        dispatch_async(delegateQueue, ^{ @autoreleasepool {\n            \n            // Query delegate for custom socket queue\n            \n            dispatch_queue_t childSocketQueue = NULL;\n            \n            if ([theDelegate respondsToSelector:@selector(newSocketQueueForConnectionFromAddress:onSocket:)])\n            {\n                childSocketQueue = [theDelegate newSocketQueueForConnectionFromAddress:childSocketAddress\n                                                                              onSocket:self];\n            }\n            \n            // Create GCDAsyncSocket instance for accepted socket\n            \n            GCDAsyncSocket *acceptedSocket = [[GCDAsyncSocket alloc] initWithDelegate:theDelegate\n                                                                        delegateQueue:delegateQueue\n                                                                          socketQueue:childSocketQueue];\n            \n            if (isIPv4)\n                acceptedSocket->socket4FD = childSocketFD;\n            else\n                acceptedSocket->socket6FD = childSocketFD;\n            \n            acceptedSocket->flags = (kSocketStarted | kConnected);\n            \n            // Setup read and write sources for accepted socket\n            \n            dispatch_async(acceptedSocket->socketQueue, ^{ @autoreleasepool {\n                \n                [acceptedSocket setupReadAndWriteSourcesForNewlyConnectedSocket:childSocketFD];\n            }});\n            \n            // Notify delegate\n            \n            if ([theDelegate respondsToSelector:@selector(socket:didAcceptNewSocket:)])\n            {\n                [theDelegate socket:self didAcceptNewSocket:acceptedSocket];\n            }\n            \n            // Release the socket queue returned from the delegate (it was retained by acceptedSocket)\n            #if NEEDS_DISPATCH_RETAIN_RELEASE\n            if (childSocketQueue) dispatch_release(childSocketQueue);\n            #endif\n            \n            // The accepted socket should have been retained by the delegate.\n            // Otherwise it gets properly released when exiting the block.\n        }});\n    }\n    \n    return YES;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Connecting\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method runs through the various checks required prior to a connection attempt.\n * It is shared between the connectToHost and connectToAddress methods.\n * \n**/\n- (BOOL)preConnectWithInterface:(NSString *)interface error:(NSError **)errPtr\n{\n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    if (delegate == nil) // Must have delegate set\n    {\n        if (errPtr)\n        {\n            NSString *msg = @\"Attempting to connect without a delegate. Set a delegate first.\";\n            *errPtr = [self badConfigError:msg];\n        }\n        return NO;\n    }\n    \n    if (delegateQueue == NULL) // Must have delegate queue set\n    {\n        if (errPtr)\n        {\n            NSString *msg = @\"Attempting to connect without a delegate queue. Set a delegate queue first.\";\n            *errPtr = [self badConfigError:msg];\n        }\n        return NO;\n    }\n    \n    if (![self isDisconnected]) // Must be disconnected\n    {\n        if (errPtr)\n        {\n            NSString *msg = @\"Attempting to connect while connected or accepting connections. Disconnect first.\";\n            *errPtr = [self badConfigError:msg];\n        }\n        return NO;\n    }\n    \n    BOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO;\n    BOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO;\n    \n    if (isIPv4Disabled && isIPv6Disabled) // Must have IPv4 or IPv6 enabled\n    {\n        if (errPtr)\n        {\n            NSString *msg = @\"Both IPv4 and IPv6 have been disabled. Must enable at least one protocol first.\";\n            *errPtr = [self badConfigError:msg];\n        }\n        return NO;\n    }\n    \n    if (interface)\n    {\n        NSMutableData *interface4 = nil;\n        NSMutableData *interface6 = nil;\n        \n        [self getInterfaceAddress4:&interface4 address6:&interface6 fromDescription:interface port:0];\n        \n        if ((interface4 == nil) && (interface6 == nil))\n        {\n            if (errPtr)\n            {\n                NSString *msg = @\"Unknown interface. Specify valid interface by name (e.g. \\\"en1\\\") or IP address.\";\n                *errPtr = [self badParamError:msg];\n            }\n            return NO;\n        }\n        \n        if (isIPv4Disabled && (interface6 == nil))\n        {\n            if (errPtr)\n            {\n                NSString *msg = @\"IPv4 has been disabled and specified interface doesn't support IPv6.\";\n                *errPtr = [self badParamError:msg];\n            }\n            return NO;\n        }\n        \n        if (isIPv6Disabled && (interface4 == nil))\n        {\n            if (errPtr)\n            {\n                NSString *msg = @\"IPv6 has been disabled and specified interface doesn't support IPv4.\";\n                *errPtr = [self badParamError:msg];\n            }\n            return NO;\n        }\n        \n        connectInterface4 = interface4;\n        connectInterface6 = interface6;\n    }\n    \n    // Clear queues (spurious read/write requests post disconnect)\n    [readQueue removeAllObjects];\n    [writeQueue removeAllObjects];\n    \n    return YES;\n}\n\n- (BOOL)connectToHost:(NSString*)host onPort:(uint16_t)port error:(NSError **)errPtr\n{\n    return [self connectToHost:host onPort:port withTimeout:-1 error:errPtr];\n}\n\n- (BOOL)connectToHost:(NSString *)host\n               onPort:(uint16_t)port\n          withTimeout:(NSTimeInterval)timeout\n                error:(NSError **)errPtr\n{\n    return [self connectToHost:host onPort:port viaInterface:nil withTimeout:timeout error:errPtr];\n}\n\n- (BOOL)connectToHost:(NSString *)inHost\n               onPort:(uint16_t)port\n         viaInterface:(NSString *)inInterface\n          withTimeout:(NSTimeInterval)timeout\n                error:(NSError **)errPtr\n{\n    LogTrace();\n    \n    // Just in case immutable objects were passed\n    NSString *host = [inHost copy];\n    NSString *interface = [inInterface copy];\n    \n    __block BOOL result = NO;\n    __block NSError *err = nil;\n    \n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        // Check for problems with host parameter\n        \n        if ([host length] == 0)\n        {\n            NSString *msg = @\"Invalid host parameter (nil or \\\"\\\"). Should be a domain name or IP address string.\";\n            err = [self badParamError:msg];\n            \n            return_from_block;\n        }\n        \n        // Run through standard pre-connect checks\n        \n        if (![self preConnectWithInterface:interface error:&err])\n        {\n            return_from_block;\n        }\n        \n        // We've made it past all the checks.\n        // It's time to start the connection process.\n        \n        flags |= kSocketStarted;\n        \n        LogVerbose(@\"Dispatching DNS lookup...\");\n        \n        // It's possible that the given host parameter is actually a NSMutableString.\n        // So we want to copy it now, within this block that will be executed synchronously.\n        // This way the asynchronous lookup block below doesn't have to worry about it changing.\n        \n        int aConnectIndex = connectIndex;\n        NSString *hostCpy = [host copy];\n        \n        dispatch_queue_t globalConcurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n        dispatch_async(globalConcurrentQueue, ^{ @autoreleasepool {\n            \n            [self lookup:aConnectIndex host:hostCpy port:port];\n        }});\n        \n        [self startConnectTimeout:timeout];\n        \n        result = YES;\n    }};\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    if (result == NO)\n    {\n        if (errPtr)\n            *errPtr = err;\n    }\n    \n    return result;\n}\n\n- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr\n{\n    return [self connectToAddress:remoteAddr viaInterface:nil withTimeout:-1 error:errPtr];\n}\n\n- (BOOL)connectToAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr\n{\n    return [self connectToAddress:remoteAddr viaInterface:nil withTimeout:timeout error:errPtr];\n}\n\n- (BOOL)connectToAddress:(NSData *)inRemoteAddr\n            viaInterface:(NSString *)inInterface\n             withTimeout:(NSTimeInterval)timeout\n                   error:(NSError **)errPtr\n{\n    LogTrace();\n    \n    // Just in case immutable objects were passed\n    NSData *remoteAddr = [inRemoteAddr copy];\n    NSString *interface = [inInterface copy];\n    \n    __block BOOL result = NO;\n    __block NSError *err = nil;\n    \n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        // Check for problems with remoteAddr parameter\n        \n        NSData *address4 = nil;\n        NSData *address6 = nil;\n        \n        if ([remoteAddr length] >= sizeof(struct sockaddr))\n        {\n            const struct sockaddr *sockaddr = (const struct sockaddr *)[remoteAddr bytes];\n            \n            if (sockaddr->sa_family == AF_INET)\n            {\n                if ([remoteAddr length] == sizeof(struct sockaddr_in))\n                {\n                    address4 = remoteAddr;\n                }\n            }\n            else if (sockaddr->sa_family == AF_INET6)\n            {\n                if ([remoteAddr length] == sizeof(struct sockaddr_in6))\n                {\n                    address6 = remoteAddr;\n                }\n            }\n        }\n        \n        if ((address4 == nil) && (address6 == nil))\n        {\n            NSString *msg = @\"A valid IPv4 or IPv6 address was not given\";\n            err = [self badParamError:msg];\n            \n            return_from_block;\n        }\n        \n        BOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO;\n        BOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO;\n        \n        if (isIPv4Disabled && (address4 != nil))\n        {\n            NSString *msg = @\"IPv4 has been disabled and an IPv4 address was passed.\";\n            err = [self badParamError:msg];\n            \n            return_from_block;\n        }\n        \n        if (isIPv6Disabled && (address6 != nil))\n        {\n            NSString *msg = @\"IPv6 has been disabled and an IPv6 address was passed.\";\n            err = [self badParamError:msg];\n            \n            return_from_block;\n        }\n        \n        // Run through standard pre-connect checks\n        \n        if (![self preConnectWithInterface:interface error:&err])\n        {\n            return_from_block;\n        }\n        \n        // We've made it past all the checks.\n        // It's time to start the connection process.\n        \n        if (![self connectWithAddress4:address4 address6:address6 error:&err])\n        {\n            return_from_block;\n        }\n        \n        flags |= kSocketStarted;\n        \n        [self startConnectTimeout:timeout];\n        \n        result = YES;\n    }};\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    if (result == NO)\n    {\n        if (errPtr)\n            *errPtr = err;\n    }\n    \n    return result;\n}\n\n- (void)lookup:(int)aConnectIndex host:(NSString *)host port:(uint16_t)port\n{\n    LogTrace();\n    \n    // This method is executed on a global concurrent queue.\n    // It posts the results back to the socket queue.\n    // The lookupIndex is used to ignore the results if the connect operation was cancelled or timed out.\n    \n    NSError *error = nil;\n    \n    NSData *address4 = nil;\n    NSData *address6 = nil;\n    \n    \n    if ([host isEqualToString:@\"localhost\"] || [host isEqualToString:@\"loopback\"])\n    {\n        // Use LOOPBACK address\n        struct sockaddr_in nativeAddr;\n        nativeAddr.sin_len         = sizeof(struct sockaddr_in);\n        nativeAddr.sin_family      = AF_INET;\n        nativeAddr.sin_port        = htons(port);\n        nativeAddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n        memset(&(nativeAddr.sin_zero), 0, sizeof(nativeAddr.sin_zero));\n        \n        struct sockaddr_in6 nativeAddr6;\n        nativeAddr6.sin6_len       = sizeof(struct sockaddr_in6);\n        nativeAddr6.sin6_family    = AF_INET6;\n        nativeAddr6.sin6_port      = htons(port);\n        nativeAddr6.sin6_flowinfo  = 0;\n        nativeAddr6.sin6_addr      = in6addr_loopback;\n        nativeAddr6.sin6_scope_id  = 0;\n        \n        // Wrap the native address structures\n        address4 = [NSData dataWithBytes:&nativeAddr length:sizeof(nativeAddr)];\n        address6 = [NSData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)];\n    }\n    else\n    {\n        NSString *portStr = [NSString stringWithFormat:@\"%hu\", port];\n        \n        struct addrinfo hints, *res, *res0;\n        \n        memset(&hints, 0, sizeof(hints));\n        hints.ai_family   = PF_UNSPEC;\n        hints.ai_socktype = SOCK_STREAM;\n        hints.ai_protocol = IPPROTO_TCP;\n        \n        int gai_error = getaddrinfo([host UTF8String], [portStr UTF8String], &hints, &res0);\n        \n        if (gai_error)\n        {\n            error = [self gaiError:gai_error];\n        }\n        else\n        {\n            for(res = res0; res; res = res->ai_next)\n            {\n                if ((address4 == nil) && (res->ai_family == AF_INET))\n                {\n                    // Found IPv4 address\n                    // Wrap the native address structure\n                    address4 = [NSData dataWithBytes:res->ai_addr length:res->ai_addrlen];\n                }\n                else if ((address6 == nil) && (res->ai_family == AF_INET6))\n                {\n                    // Found IPv6 address\n                    // Wrap the native address structure\n                    address6 = [NSData dataWithBytes:res->ai_addr length:res->ai_addrlen];\n                }\n            }\n            freeaddrinfo(res0);\n            \n            if ((address4 == nil) && (address6 == nil))\n            {\n                error = [self gaiError:EAI_FAIL];\n            }\n        }\n    }\n    \n    if (error)\n    {\n        dispatch_async(socketQueue, ^{ @autoreleasepool {\n            \n            [self lookup:aConnectIndex didFail:error];\n        }});\n    }\n    else\n    {\n        dispatch_async(socketQueue, ^{ @autoreleasepool {\n            \n            [self lookup:aConnectIndex didSucceedWithAddress4:address4 address6:address6];\n        }});\n    }\n}\n\n- (void)lookup:(int)aConnectIndex didSucceedWithAddress4:(NSData *)address4 address6:(NSData *)address6\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    NSAssert(address4 || address6, @\"Expected at least one valid address\");\n    \n    if (aConnectIndex != connectIndex)\n    {\n        LogInfo(@\"Ignoring lookupDidSucceed, already disconnected\");\n        \n        // The connect operation has been cancelled.\n        // That is, socket was disconnected, or connection has already timed out.\n        return;\n    }\n    \n    // Check for problems\n    \n    BOOL isIPv4Disabled = (config & kIPv4Disabled) ? YES : NO;\n    BOOL isIPv6Disabled = (config & kIPv6Disabled) ? YES : NO;\n    \n    if (isIPv4Disabled && (address6 == nil))\n    {\n        NSString *msg = @\"IPv4 has been disabled and DNS lookup found no IPv6 address.\";\n        \n        [self closeWithError:[self otherError:msg]];\n        return;\n    }\n    \n    if (isIPv6Disabled && (address4 == nil))\n    {\n        NSString *msg = @\"IPv6 has been disabled and DNS lookup found no IPv4 address.\";\n        \n        [self closeWithError:[self otherError:msg]];\n        return;\n    }\n    \n    // Start the normal connection process\n    \n    NSError *err = nil;\n    if (![self connectWithAddress4:address4 address6:address6 error:&err])\n    {\n        [self closeWithError:err];\n    }\n}\n\n/**\n * This method is called if the DNS lookup fails.\n * This method is executed on the socketQueue.\n * \n * Since the DNS lookup executed synchronously on a global concurrent queue,\n * the original connection request may have already been cancelled or timed-out by the time this method is invoked.\n * The lookupIndex tells us whether the lookup is still valid or not.\n**/\n- (void)lookup:(int)aConnectIndex didFail:(NSError *)error\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    \n    if (aConnectIndex != connectIndex)\n    {\n        LogInfo(@\"Ignoring lookup:didFail: - already disconnected\");\n        \n        // The connect operation has been cancelled.\n        // That is, socket was disconnected, or connection has already timed out.\n        return;\n    }\n    \n    [self endConnectTimeout];\n    [self closeWithError:error];\n}\n\n- (BOOL)connectWithAddress4:(NSData *)address4 address6:(NSData *)address6 error:(NSError **)errPtr\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    LogVerbose(@\"IPv4: %@:%hu\", [[self class] hostFromAddress:address4], [[self class] portFromAddress:address4]);\n    LogVerbose(@\"IPv6: %@:%hu\", [[self class] hostFromAddress:address6], [[self class] portFromAddress:address6]);\n    \n    // Determine socket type\n    \n    BOOL preferIPv6 = (config & kPreferIPv6) ? YES : NO;\n    \n    BOOL useIPv6 = ((preferIPv6 && address6) || (address4 == nil));\n    \n    // Create the socket\n    \n    int socketFD;\n    NSData *address;\n    NSData *connectInterface;\n    \n    if (useIPv6)\n    {\n        LogVerbose(@\"Creating IPv6 socket\");\n        \n        socket6FD = socket(AF_INET6, SOCK_STREAM, 0);\n        \n        socketFD = socket6FD;\n        address = address6;\n        connectInterface = connectInterface6;\n    }\n    else\n    {\n        LogVerbose(@\"Creating IPv4 socket\");\n        \n        socket4FD = socket(AF_INET, SOCK_STREAM, 0);\n        \n        socketFD = socket4FD;\n        address = address4;\n        connectInterface = connectInterface4;\n    }\n    \n    if (socketFD == SOCKET_NULL)\n    {\n        if (errPtr)\n            *errPtr = [self errnoErrorWithReason:@\"Error in socket() function\"];\n        \n        return NO;\n    }\n    \n    // Bind the socket to the desired interface (if needed)\n    \n    if (connectInterface)\n    {\n        LogVerbose(@\"Binding socket...\");\n        \n        if ([[self class] portFromAddress:connectInterface] > 0)\n        {\n            // Since we're going to be binding to a specific port,\n            // we should turn on reuseaddr to allow us to override sockets in time_wait.\n            \n            int reuseOn = 1;\n            setsockopt(socketFD, SOL_SOCKET, SO_REUSEADDR, &reuseOn, sizeof(reuseOn));\n        }\n        \n        const struct sockaddr *interfaceAddr = (const struct sockaddr *)[connectInterface bytes];\n        \n        int result = bind(socketFD, interfaceAddr, (socklen_t)[connectInterface length]);\n        if (result != 0)\n        {\n            if (errPtr)\n                *errPtr = [self errnoErrorWithReason:@\"Error in bind() function\"];\n            \n            return NO;\n        }\n    }\n    \n    // Prevent SIGPIPE signals\n    \n    int nosigpipe = 1;\n    setsockopt(socketFD, SOL_SOCKET, SO_NOSIGPIPE, &nosigpipe, sizeof(nosigpipe));\n    \n    // Start the connection process in a background queue\n    \n    int aConnectIndex = connectIndex;\n    \n    dispatch_queue_t globalConcurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);\n    dispatch_async(globalConcurrentQueue, ^{\n        \n        int result = connect(socketFD, (const struct sockaddr *)[address bytes], (socklen_t)[address length]);\n        if (result == 0)\n        {\n            dispatch_async(socketQueue, ^{ @autoreleasepool {\n                \n                [self didConnect:aConnectIndex];\n            }});\n        }\n        else\n        {\n            NSError *error = [self errnoErrorWithReason:@\"Error in connect() function\"];\n            \n            dispatch_async(socketQueue, ^{ @autoreleasepool {\n                \n                [self didNotConnect:aConnectIndex error:error];\n            }});\n        }\n    });\n    \n    LogVerbose(@\"Connecting...\");\n    \n    return YES;\n}\n\n- (void)didConnect:(int)aConnectIndex\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    \n    if (aConnectIndex != connectIndex)\n    {\n        LogInfo(@\"Ignoring didConnect, already disconnected\");\n        \n        // The connect operation has been cancelled.\n        // That is, socket was disconnected, or connection has already timed out.\n        return;\n    }\n    \n    flags |= kConnected;\n    \n    [self endConnectTimeout];\n    \n    #if TARGET_OS_IPHONE\n    // The endConnectTimeout method executed above incremented the connectIndex.\n    aConnectIndex = connectIndex;\n    #endif\n    \n    // Setup read/write streams (as workaround for specific shortcomings in the iOS platform)\n    // \n    // Note:\n    // There may be configuration options that must be set by the delegate before opening the streams.\n    // The primary example is the kCFStreamNetworkServiceTypeVoIP flag, which only works on an unopened stream.\n    // \n    // Thus we wait until after the socket:didConnectToHost:port: delegate method has completed.\n    // This gives the delegate time to properly configure the streams if needed.\n    \n    dispatch_block_t SetupStreamsPart1 = ^{\n        #if TARGET_OS_IPHONE\n        \n        if (![self createReadAndWriteStream])\n        {\n            [self closeWithError:[self otherError:@\"Error creating CFStreams\"]];\n            return;\n        }\n        \n        if (![self registerForStreamCallbacksIncludingReadWrite:NO])\n        {\n            [self closeWithError:[self otherError:@\"Error in CFStreamSetClient\"]];\n            return;\n        }\n        \n        #endif\n    };\n    dispatch_block_t SetupStreamsPart2 = ^{\n        #if TARGET_OS_IPHONE\n        \n        if (aConnectIndex != connectIndex)\n        {\n            // The socket has been disconnected.\n            return;\n        }\n        \n        if (![self addStreamsToRunLoop])\n        {\n            [self closeWithError:[self otherError:@\"Error in CFStreamScheduleWithRunLoop\"]];\n            return;\n        }\n        \n        if (![self openStreams])\n        {\n            [self closeWithError:[self otherError:@\"Error creating CFStreams\"]];\n            return;\n        }\n        \n        #endif\n    };\n    \n    // Notify delegate\n    \n    NSString *host = [self connectedHost];\n    uint16_t port = [self connectedPort];\n    \n    if (delegateQueue && [delegate respondsToSelector:@selector(socket:didConnectToHost:port:)])\n    {\n        SetupStreamsPart1();\n        \n        __strong id theDelegate = delegate;\n        \n        dispatch_async(delegateQueue, ^{ @autoreleasepool {\n            \n            [theDelegate socket:self didConnectToHost:host port:port];\n            \n            dispatch_async(socketQueue, ^{ @autoreleasepool {\n                \n                SetupStreamsPart2();\n            }});\n        }});\n    }\n    else\n    {\n        SetupStreamsPart1();\n        SetupStreamsPart2();\n    }\n        \n    // Get the connected socket\n    \n    int socketFD = (socket4FD != SOCKET_NULL) ? socket4FD : socket6FD;\n    \n    // Enable non-blocking IO on the socket\n    \n    int result = fcntl(socketFD, F_SETFL, O_NONBLOCK);\n    if (result == -1)\n    {\n        NSString *errMsg = @\"Error enabling non-blocking IO on socket (fcntl)\";\n        [self closeWithError:[self otherError:errMsg]];\n        \n        return;\n    }\n    \n    // Setup our read/write sources\n    \n    [self setupReadAndWriteSourcesForNewlyConnectedSocket:socketFD];\n    \n    // Dequeue any pending read/write requests\n    \n    [self maybeDequeueRead];\n    [self maybeDequeueWrite];\n}\n\n- (void)didNotConnect:(int)aConnectIndex error:(NSError *)error\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    \n    if (aConnectIndex != connectIndex)\n    {\n        LogInfo(@\"Ignoring didNotConnect, already disconnected\");\n        \n        // The connect operation has been cancelled.\n        // That is, socket was disconnected, or connection has already timed out.\n        return;\n    }\n    \n    [self closeWithError:error];\n}\n\n- (void)startConnectTimeout:(NSTimeInterval)timeout\n{\n    if (timeout >= 0.0)\n    {\n        connectTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue);\n        \n        dispatch_source_set_event_handler(connectTimer, ^{ @autoreleasepool {\n            \n            [self doConnectTimeout];\n        }});\n        \n        #if NEEDS_DISPATCH_RETAIN_RELEASE\n        dispatch_source_t theConnectTimer = connectTimer;\n        dispatch_source_set_cancel_handler(connectTimer, ^{\n            LogVerbose(@\"dispatch_release(connectTimer)\");\n            dispatch_release(theConnectTimer);\n        });\n        #endif\n        \n        dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeout * NSEC_PER_SEC));\n        dispatch_source_set_timer(connectTimer, tt, DISPATCH_TIME_FOREVER, 0);\n        \n        dispatch_resume(connectTimer);\n    }\n}\n\n- (void)endConnectTimeout\n{\n    LogTrace();\n    \n    if (connectTimer)\n    {\n        dispatch_source_cancel(connectTimer);\n        connectTimer = NULL;\n    }\n    \n    // Increment connectIndex.\n    // This will prevent us from processing results from any related background asynchronous operations.\n    // \n    // Note: This should be called from close method even if connectTimer is NULL.\n    // This is because one might disconnect a socket prior to a successful connection which had no timeout.\n    \n    connectIndex++;\n    \n    if (connectInterface4)\n    {\n        connectInterface4 = nil;\n    }\n    if (connectInterface6)\n    {\n        connectInterface6 = nil;\n    }\n}\n\n- (void)doConnectTimeout\n{\n    LogTrace();\n    \n    [self endConnectTimeout];\n    [self closeWithError:[self connectTimeoutError]];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Disconnecting\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)closeWithError:(NSError *)error\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    \n    [self endConnectTimeout];\n    \n    if (currentRead != nil)  [self endCurrentRead];\n    if (currentWrite != nil) [self endCurrentWrite];\n    \n    [readQueue removeAllObjects];\n    [writeQueue removeAllObjects];\n    \n    [preBuffer reset];\n    \n    #if TARGET_OS_IPHONE\n    {\n        if (readStream || writeStream)\n        {\n            [self removeStreamsFromRunLoop];\n            \n            if (readStream)\n            {\n                CFReadStreamSetClient(readStream, kCFStreamEventNone, NULL, NULL);\n                CFReadStreamClose(readStream);\n                CFRelease(readStream);\n                readStream = NULL;\n            }\n            if (writeStream)\n            {\n                CFWriteStreamSetClient(writeStream, kCFStreamEventNone, NULL, NULL);\n                CFWriteStreamClose(writeStream);\n                CFRelease(writeStream);\n                writeStream = NULL;\n            }\n        }\n    }\n    #endif\n    #if SECURE_TRANSPORT_MAYBE_AVAILABLE\n    {\n        [sslPreBuffer reset];\n        sslErrCode = noErr;\n        \n        if (sslContext)\n        {\n            // Getting a linker error here about the SSLx() functions?\n            // You need to add the Security Framework to your application.\n            \n            SSLClose(sslContext);\n            \n            #if TARGET_OS_IPHONE\n            CFRelease(sslContext);\n            #else\n            SSLDisposeContext(sslContext);\n            #endif\n            \n            sslContext = NULL;\n        }\n    }\n    #endif\n    \n    // For some crazy reason (in my opinion), cancelling a dispatch source doesn't\n    // invoke the cancel handler if the dispatch source is paused.\n    // So we have to unpause the source if needed.\n    // This allows the cancel handler to be run, which in turn releases the source and closes the socket.\n    \n    if (!accept4Source && !accept6Source && !readSource && !writeSource)\n    {\n        LogVerbose(@\"manually closing close\");\n\n        if (socket4FD != SOCKET_NULL)\n        {\n            LogVerbose(@\"close(socket4FD)\");\n            close(socket4FD);\n            socket4FD = SOCKET_NULL;\n        }\n\n        if (socket6FD != SOCKET_NULL)\n        {\n            LogVerbose(@\"close(socket6FD)\");\n            close(socket6FD);\n            socket6FD = SOCKET_NULL;\n        }\n    }\n    else\n    {\n        if (accept4Source)\n        {\n            LogVerbose(@\"dispatch_source_cancel(accept4Source)\");\n            dispatch_source_cancel(accept4Source);\n            \n            // We never suspend accept4Source\n            \n            accept4Source = NULL;\n        }\n        \n        if (accept6Source)\n        {\n            LogVerbose(@\"dispatch_source_cancel(accept6Source)\");\n            dispatch_source_cancel(accept6Source);\n            \n            // We never suspend accept6Source\n            \n            accept6Source = NULL;\n        }\n    \n        if (readSource)\n        {\n            LogVerbose(@\"dispatch_source_cancel(readSource)\");\n            dispatch_source_cancel(readSource);\n            \n            [self resumeReadSource];\n            \n            readSource = NULL;\n        }\n        \n        if (writeSource)\n        {\n            LogVerbose(@\"dispatch_source_cancel(writeSource)\");\n            dispatch_source_cancel(writeSource);\n            \n            [self resumeWriteSource];\n            \n            writeSource = NULL;\n        }\n        \n        // The sockets will be closed by the cancel handlers of the corresponding source\n        \n        socket4FD = SOCKET_NULL;\n        socket6FD = SOCKET_NULL;\n    }\n    \n    // If the client has passed the connect/accept method, then the connection has at least begun.\n    // Notify delegate that it is now ending.\n    BOOL shouldCallDelegate = (flags & kSocketStarted);\n    \n    // Clear stored socket info and all flags (config remains as is)\n    socketFDBytesAvailable = 0;\n    flags = 0;\n    \n    if (shouldCallDelegate)\n    {\n        if (delegateQueue && [delegate respondsToSelector: @selector(socketDidDisconnect:withError:)])\n        {\n            __strong id theDelegate = delegate;\n            \n            dispatch_async(delegateQueue, ^{ @autoreleasepool {\n                \n                [theDelegate socketDidDisconnect:self withError:error];\n            }});\n        }   \n    }\n}\n\n- (void)disconnect\n{\n    dispatch_block_t block = ^{ @autoreleasepool {\n        \n        if (flags & kSocketStarted)\n        {\n            [self closeWithError:nil];\n        }\n    }};\n    \n    // Synchronous disconnection, as documented in the header file\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n}\n\n- (void)disconnectAfterReading\n{\n    dispatch_async(socketQueue, ^{ @autoreleasepool {\n        \n        if (flags & kSocketStarted)\n        {\n            flags |= (kForbidReadsWrites | kDisconnectAfterReads);\n            [self maybeClose];\n        }\n    }});\n}\n\n- (void)disconnectAfterWriting\n{\n    dispatch_async(socketQueue, ^{ @autoreleasepool {\n        \n        if (flags & kSocketStarted)\n        {\n            flags |= (kForbidReadsWrites | kDisconnectAfterWrites);\n            [self maybeClose];\n        }\n    }});\n}\n\n- (void)disconnectAfterReadingAndWriting\n{\n    dispatch_async(socketQueue, ^{ @autoreleasepool {\n        \n        if (flags & kSocketStarted)\n        {\n            flags |= (kForbidReadsWrites | kDisconnectAfterReads | kDisconnectAfterWrites);\n            [self maybeClose];\n        }\n    }});\n}\n\n/**\n * Closes the socket if possible.\n * That is, if all writes have completed, and we're set to disconnect after writing,\n * or if all reads have completed, and we're set to disconnect after reading.\n**/\n- (void)maybeClose\n{\n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    BOOL shouldClose = NO;\n    \n    if (flags & kDisconnectAfterReads)\n    {\n        if (([readQueue count] == 0) && (currentRead == nil))\n        {\n            if (flags & kDisconnectAfterWrites)\n            {\n                if (([writeQueue count] == 0) && (currentWrite == nil))\n                {\n                    shouldClose = YES;\n                }\n            }\n            else\n            {\n                shouldClose = YES;\n            }\n        }\n    }\n    else if (flags & kDisconnectAfterWrites)\n    {\n        if (([writeQueue count] == 0) && (currentWrite == nil))\n        {\n            shouldClose = YES;\n        }\n    }\n    \n    if (shouldClose)\n    {\n        [self closeWithError:nil];\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Errors\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (NSError *)badConfigError:(NSString *)errMsg\n{\n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketBadConfigError userInfo:userInfo];\n}\n\n- (NSError *)badParamError:(NSString *)errMsg\n{\n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketBadParamError userInfo:userInfo];\n}\n\n- (NSError *)gaiError:(int)gai_error\n{\n    NSString *errMsg = [NSString stringWithCString:gai_strerror(gai_error) encoding:NSASCIIStringEncoding];\n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:@\"kCFStreamErrorDomainNetDB\" code:gai_error userInfo:userInfo];\n}\n\n- (NSError *)errnoErrorWithReason:(NSString *)reason\n{\n    NSString *errMsg = [NSString stringWithUTF8String:strerror(errno)];\n    NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:errMsg, NSLocalizedDescriptionKey,\n                                                                        reason, NSLocalizedFailureReasonErrorKey, nil];\n    \n    return [NSError errorWithDomain:NSPOSIXErrorDomain code:errno userInfo:userInfo];\n}\n\n- (NSError *)errnoError\n{\n    NSString *errMsg = [NSString stringWithUTF8String:strerror(errno)];\n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:NSPOSIXErrorDomain code:errno userInfo:userInfo];\n}\n\n- (NSError *)sslError:(OSStatus)ssl_error\n{\n    NSString *msg = @\"Error code definition can be found in Apple's SecureTransport.h\";\n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:msg forKey:NSLocalizedRecoverySuggestionErrorKey];\n    \n    return [NSError errorWithDomain:@\"kCFStreamErrorDomainSSL\" code:ssl_error userInfo:userInfo];\n}\n\n- (NSError *)connectTimeoutError\n{\n    NSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketConnectTimeoutError\",\n                                                         @\"GCDAsyncSocket\", [NSBundle mainBundle],\n                                                         @\"Attempt to connect to host timed out\", nil);\n    \n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketConnectTimeoutError userInfo:userInfo];\n}\n\n/**\n * Returns a standard AsyncSocket maxed out error.\n**/\n- (NSError *)readMaxedOutError\n{\n    NSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketReadMaxedOutError\",\n                                                         @\"GCDAsyncSocket\", [NSBundle mainBundle],\n                                                         @\"Read operation reached set maximum length\", nil);\n    \n    NSDictionary *info = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketReadMaxedOutError userInfo:info];\n}\n\n/**\n * Returns a standard AsyncSocket write timeout error.\n**/\n- (NSError *)readTimeoutError\n{\n    NSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketReadTimeoutError\",\n                                                         @\"GCDAsyncSocket\", [NSBundle mainBundle],\n                                                         @\"Read operation timed out\", nil);\n    \n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketReadTimeoutError userInfo:userInfo];\n}\n\n/**\n * Returns a standard AsyncSocket write timeout error.\n**/\n- (NSError *)writeTimeoutError\n{\n    NSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketWriteTimeoutError\",\n                                                         @\"GCDAsyncSocket\", [NSBundle mainBundle],\n                                                         @\"Write operation timed out\", nil);\n    \n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketWriteTimeoutError userInfo:userInfo];\n}\n\n- (NSError *)connectionClosedError\n{\n    NSString *errMsg = NSLocalizedStringWithDefaultValue(@\"GCDAsyncSocketClosedError\",\n                                                         @\"GCDAsyncSocket\", [NSBundle mainBundle],\n                                                         @\"Socket closed by remote peer\", nil);\n    \n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketClosedError userInfo:userInfo];\n}\n\n- (NSError *)otherError:(NSString *)errMsg\n{\n    NSDictionary *userInfo = [NSDictionary dictionaryWithObject:errMsg forKey:NSLocalizedDescriptionKey];\n    \n    return [NSError errorWithDomain:GCDAsyncSocketErrorDomain code:GCDAsyncSocketOtherError userInfo:userInfo];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Diagnostics\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)isDisconnected\n{\n    __block BOOL result = NO;\n    \n    dispatch_block_t block = ^{\n        result = (flags & kSocketStarted) ? NO : YES;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    return result;\n}\n\n- (BOOL)isConnected\n{\n    __block BOOL result = NO;\n    \n    dispatch_block_t block = ^{\n        result = (flags & kConnected) ? YES : NO;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    return result;\n}\n\n- (NSString *)connectedHost\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        if (socket4FD != SOCKET_NULL)\n            return [self connectedHostFromSocket4:socket4FD];\n        if (socket6FD != SOCKET_NULL)\n            return [self connectedHostFromSocket6:socket6FD];\n        \n        return nil;\n    }\n    else\n    {\n        __block NSString *result = nil;\n        \n        dispatch_sync(socketQueue, ^{ @autoreleasepool {\n            \n            if (socket4FD != SOCKET_NULL)\n                result = [self connectedHostFromSocket4:socket4FD];\n            else if (socket6FD != SOCKET_NULL)\n                result = [self connectedHostFromSocket6:socket6FD];\n        }});\n        \n        return result;\n    }\n}\n\n- (uint16_t)connectedPort\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        if (socket4FD != SOCKET_NULL)\n            return [self connectedPortFromSocket4:socket4FD];\n        if (socket6FD != SOCKET_NULL)\n            return [self connectedPortFromSocket6:socket6FD];\n        \n        return 0;\n    }\n    else\n    {\n        __block uint16_t result = 0;\n        \n        dispatch_sync(socketQueue, ^{\n            // No need for autorelease pool\n            \n            if (socket4FD != SOCKET_NULL)\n                result = [self connectedPortFromSocket4:socket4FD];\n            else if (socket6FD != SOCKET_NULL)\n                result = [self connectedPortFromSocket6:socket6FD];\n        });\n        \n        return result;\n    }\n}\n\n- (NSString *)localHost\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        if (socket4FD != SOCKET_NULL)\n            return [self localHostFromSocket4:socket4FD];\n        if (socket6FD != SOCKET_NULL)\n            return [self localHostFromSocket6:socket6FD];\n        \n        return nil;\n    }\n    else\n    {\n        __block NSString *result = nil;\n        \n        dispatch_sync(socketQueue, ^{ @autoreleasepool {\n            \n            if (socket4FD != SOCKET_NULL)\n                result = [self localHostFromSocket4:socket4FD];\n            else if (socket6FD != SOCKET_NULL)\n                result = [self localHostFromSocket6:socket6FD];\n        }});\n        \n        return result;\n    }\n}\n\n- (uint16_t)localPort\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        if (socket4FD != SOCKET_NULL)\n            return [self localPortFromSocket4:socket4FD];\n        if (socket6FD != SOCKET_NULL)\n            return [self localPortFromSocket6:socket6FD];\n        \n        return 0;\n    }\n    else\n    {\n        __block uint16_t result = 0;\n        \n        dispatch_sync(socketQueue, ^{\n            // No need for autorelease pool\n            \n            if (socket4FD != SOCKET_NULL)\n                result = [self localPortFromSocket4:socket4FD];\n            else if (socket6FD != SOCKET_NULL)\n                result = [self localPortFromSocket6:socket6FD];\n        });\n        \n        return result;\n    }\n}\n\n- (NSString *)connectedHost4\n{\n    if (socket4FD != SOCKET_NULL)\n        return [self connectedHostFromSocket4:socket4FD];\n    \n    return nil;\n}\n\n- (NSString *)connectedHost6\n{\n    if (socket6FD != SOCKET_NULL)\n        return [self connectedHostFromSocket6:socket6FD];\n    \n    return nil;\n}\n\n- (uint16_t)connectedPort4\n{\n    if (socket4FD != SOCKET_NULL)\n        return [self connectedPortFromSocket4:socket4FD];\n    \n    return 0;\n}\n\n- (uint16_t)connectedPort6\n{\n    if (socket6FD != SOCKET_NULL)\n        return [self connectedPortFromSocket6:socket6FD];\n    \n    return 0;\n}\n\n- (NSString *)localHost4\n{\n    if (socket4FD != SOCKET_NULL)\n        return [self localHostFromSocket4:socket4FD];\n    \n    return nil;\n}\n\n- (NSString *)localHost6\n{\n    if (socket6FD != SOCKET_NULL)\n        return [self localHostFromSocket6:socket6FD];\n    \n    return nil;\n}\n\n- (uint16_t)localPort4\n{\n    if (socket4FD != SOCKET_NULL)\n        return [self localPortFromSocket4:socket4FD];\n    \n    return 0;\n}\n\n- (uint16_t)localPort6\n{\n    if (socket6FD != SOCKET_NULL)\n        return [self localPortFromSocket6:socket6FD];\n    \n    return 0;\n}\n\n- (NSString *)connectedHostFromSocket4:(int)socketFD\n{\n    struct sockaddr_in sockaddr4;\n    socklen_t sockaddr4len = sizeof(sockaddr4);\n    \n    if (getpeername(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0)\n    {\n        return nil;\n    }\n    return [[self class] hostFromSockaddr4:&sockaddr4];\n}\n\n- (NSString *)connectedHostFromSocket6:(int)socketFD\n{\n    struct sockaddr_in6 sockaddr6;\n    socklen_t sockaddr6len = sizeof(sockaddr6);\n    \n    if (getpeername(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0)\n    {\n        return nil;\n    }\n    return [[self class] hostFromSockaddr6:&sockaddr6];\n}\n\n- (uint16_t)connectedPortFromSocket4:(int)socketFD\n{\n    struct sockaddr_in sockaddr4;\n    socklen_t sockaddr4len = sizeof(sockaddr4);\n    \n    if (getpeername(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0)\n    {\n        return 0;\n    }\n    return [[self class] portFromSockaddr4:&sockaddr4];\n}\n\n- (uint16_t)connectedPortFromSocket6:(int)socketFD\n{\n    struct sockaddr_in6 sockaddr6;\n    socklen_t sockaddr6len = sizeof(sockaddr6);\n    \n    if (getpeername(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0)\n    {\n        return 0;\n    }\n    return [[self class] portFromSockaddr6:&sockaddr6];\n}\n\n- (NSString *)localHostFromSocket4:(int)socketFD\n{\n    struct sockaddr_in sockaddr4;\n    socklen_t sockaddr4len = sizeof(sockaddr4);\n    \n    if (getsockname(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0)\n    {\n        return nil;\n    }\n    return [[self class] hostFromSockaddr4:&sockaddr4];\n}\n\n- (NSString *)localHostFromSocket6:(int)socketFD\n{\n    struct sockaddr_in6 sockaddr6;\n    socklen_t sockaddr6len = sizeof(sockaddr6);\n    \n    if (getsockname(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0)\n    {\n        return nil;\n    }\n    return [[self class] hostFromSockaddr6:&sockaddr6];\n}\n\n- (uint16_t)localPortFromSocket4:(int)socketFD\n{\n    struct sockaddr_in sockaddr4;\n    socklen_t sockaddr4len = sizeof(sockaddr4);\n    \n    if (getsockname(socketFD, (struct sockaddr *)&sockaddr4, &sockaddr4len) < 0)\n    {\n        return 0;\n    }\n    return [[self class] portFromSockaddr4:&sockaddr4];\n}\n\n- (uint16_t)localPortFromSocket6:(int)socketFD\n{\n    struct sockaddr_in6 sockaddr6;\n    socklen_t sockaddr6len = sizeof(sockaddr6);\n    \n    if (getsockname(socketFD, (struct sockaddr *)&sockaddr6, &sockaddr6len) < 0)\n    {\n        return 0;\n    }\n    return [[self class] portFromSockaddr6:&sockaddr6];\n}\n\n- (NSData *)connectedAddress\n{\n    __block NSData *result = nil;\n    \n    dispatch_block_t block = ^{\n        if (socket4FD != SOCKET_NULL)\n        {\n            struct sockaddr_in sockaddr4;\n            socklen_t sockaddr4len = sizeof(sockaddr4);\n            \n            if (getpeername(socket4FD, (struct sockaddr *)&sockaddr4, &sockaddr4len) == 0)\n            {\n                result = [[NSData alloc] initWithBytes:&sockaddr4 length:sockaddr4len];\n            }\n        }\n        \n        if (socket6FD != SOCKET_NULL)\n        {\n            struct sockaddr_in6 sockaddr6;\n            socklen_t sockaddr6len = sizeof(sockaddr6);\n            \n            if (getpeername(socket6FD, (struct sockaddr *)&sockaddr6, &sockaddr6len) == 0)\n            {\n                result = [[NSData alloc] initWithBytes:&sockaddr6 length:sockaddr6len];\n            }\n        }\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    return result;\n}\n\n- (NSData *)localAddress\n{\n    __block NSData *result = nil;\n    \n    dispatch_block_t block = ^{\n        if (socket4FD != SOCKET_NULL)\n        {\n            struct sockaddr_in sockaddr4;\n            socklen_t sockaddr4len = sizeof(sockaddr4);\n            \n            if (getsockname(socket4FD, (struct sockaddr *)&sockaddr4, &sockaddr4len) == 0)\n            {\n                result = [[NSData alloc] initWithBytes:&sockaddr4 length:sockaddr4len];\n            }\n        }\n        \n        if (socket6FD != SOCKET_NULL)\n        {\n            struct sockaddr_in6 sockaddr6;\n            socklen_t sockaddr6len = sizeof(sockaddr6);\n            \n            if (getsockname(socket6FD, (struct sockaddr *)&sockaddr6, &sockaddr6len) == 0)\n            {\n                result = [[NSData alloc] initWithBytes:&sockaddr6 length:sockaddr6len];\n            }\n        }\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    return result;\n}\n\n- (BOOL)isIPv4\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        return (socket4FD != SOCKET_NULL);\n    }\n    else\n    {\n        __block BOOL result = NO;\n        \n        dispatch_sync(socketQueue, ^{\n            result = (socket4FD != SOCKET_NULL);\n        });\n        \n        return result;\n    }\n}\n\n- (BOOL)isIPv6\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        return (socket6FD != SOCKET_NULL);\n    }\n    else\n    {\n        __block BOOL result = NO;\n        \n        dispatch_sync(socketQueue, ^{\n            result = (socket6FD != SOCKET_NULL);\n        });\n        \n        return result;\n    }\n}\n\n- (BOOL)isSecure\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        return (flags & kSocketSecure) ? YES : NO;\n    }\n    else\n    {\n        __block BOOL result;\n        \n        dispatch_sync(socketQueue, ^{\n            result = (flags & kSocketSecure) ? YES : NO;\n        });\n        \n        return result;\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Utilities\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Finds the address of an interface description.\n * An inteface description may be an interface name (en0, en1, lo0) or corresponding IP (192.168.4.34).\n * \n * The interface description may optionally contain a port number at the end, separated by a colon.\n * If a non-zero port parameter is provided, any port number in the interface description is ignored.\n * \n * The returned value is a 'struct sockaddr' wrapped in an NSMutableData object.\n**/\n- (void)getInterfaceAddress4:(NSMutableData **)interfaceAddr4Ptr\n                    address6:(NSMutableData **)interfaceAddr6Ptr\n             fromDescription:(NSString *)interfaceDescription\n                        port:(uint16_t)port\n{\n    NSMutableData *addr4 = nil;\n    NSMutableData *addr6 = nil;\n    \n    NSString *interface = nil;\n    \n    NSArray *components = [interfaceDescription componentsSeparatedByString:@\":\"];\n    if ([components count] > 0)\n    {\n        NSString *temp = [components objectAtIndex:0];\n        if ([temp length] > 0)\n        {\n            interface = temp;\n        }\n    }\n    if ([components count] > 1 && port == 0)\n    {\n        long portL = strtol([[components objectAtIndex:1] UTF8String], NULL, 10);\n        \n        if (portL > 0 && portL <= UINT16_MAX)\n        {\n            port = (uint16_t)portL;\n        }\n    }\n    \n    if (interface == nil)\n    {\n        // ANY address\n        \n        struct sockaddr_in sockaddr4;\n        memset(&sockaddr4, 0, sizeof(sockaddr4));\n        \n        sockaddr4.sin_len         = sizeof(sockaddr4);\n        sockaddr4.sin_family      = AF_INET;\n        sockaddr4.sin_port        = htons(port);\n        sockaddr4.sin_addr.s_addr = htonl(INADDR_ANY);\n        \n        struct sockaddr_in6 sockaddr6;\n        memset(&sockaddr6, 0, sizeof(sockaddr6));\n        \n        sockaddr6.sin6_len       = sizeof(sockaddr6);\n        sockaddr6.sin6_family    = AF_INET6;\n        sockaddr6.sin6_port      = htons(port);\n        sockaddr6.sin6_addr      = in6addr_any;\n        \n        addr4 = [NSMutableData dataWithBytes:&sockaddr4 length:sizeof(sockaddr4)];\n        addr6 = [NSMutableData dataWithBytes:&sockaddr6 length:sizeof(sockaddr6)];\n    }\n    else if ([interface isEqualToString:@\"localhost\"] || [interface isEqualToString:@\"loopback\"])\n    {\n        // LOOPBACK address\n        \n        struct sockaddr_in sockaddr4;\n        memset(&sockaddr4, 0, sizeof(sockaddr4));\n        \n        sockaddr4.sin_len         = sizeof(sockaddr4);\n        sockaddr4.sin_family      = AF_INET;\n        sockaddr4.sin_port        = htons(port);\n        sockaddr4.sin_addr.s_addr = htonl(INADDR_LOOPBACK);\n        \n        struct sockaddr_in6 sockaddr6;\n        memset(&sockaddr6, 0, sizeof(sockaddr6));\n        \n        sockaddr6.sin6_len       = sizeof(sockaddr6);\n        sockaddr6.sin6_family    = AF_INET6;\n        sockaddr6.sin6_port      = htons(port);\n        sockaddr6.sin6_addr      = in6addr_loopback;\n        \n        addr4 = [NSMutableData dataWithBytes:&sockaddr4 length:sizeof(sockaddr4)];\n        addr6 = [NSMutableData dataWithBytes:&sockaddr6 length:sizeof(sockaddr6)];\n    }\n    else\n    {\n        const char *iface = [interface UTF8String];\n        \n        struct ifaddrs *addrs;\n        const struct ifaddrs *cursor;\n        \n        if ((getifaddrs(&addrs) == 0))\n        {\n            cursor = addrs;\n            while (cursor != NULL)\n            {\n                if ((addr4 == nil) && (cursor->ifa_addr->sa_family == AF_INET))\n                {\n                    // IPv4\n                    \n                    struct sockaddr_in nativeAddr4;\n                    memcpy(&nativeAddr4, cursor->ifa_addr, sizeof(nativeAddr4));\n                    \n                    if (strcmp(cursor->ifa_name, iface) == 0)\n                    {\n                        // Name match\n                        \n                        nativeAddr4.sin_port = htons(port);\n                        \n                        addr4 = [NSMutableData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)];\n                    }\n                    else\n                    {\n                        char ip[INET_ADDRSTRLEN];\n                        \n                        const char *conversion = inet_ntop(AF_INET, &nativeAddr4.sin_addr, ip, sizeof(ip));\n                        \n                        if ((conversion != NULL) && (strcmp(ip, iface) == 0))\n                        {\n                            // IP match\n                            \n                            nativeAddr4.sin_port = htons(port);\n                            \n                            addr4 = [NSMutableData dataWithBytes:&nativeAddr4 length:sizeof(nativeAddr4)];\n                        }\n                    }\n                }\n                else if ((addr6 == nil) && (cursor->ifa_addr->sa_family == AF_INET6))\n                {\n                    // IPv6\n                    \n                    struct sockaddr_in6 nativeAddr6;\n                    memcpy(&nativeAddr6, cursor->ifa_addr, sizeof(nativeAddr6));\n                    \n                    if (strcmp(cursor->ifa_name, iface) == 0)\n                    {\n                        // Name match\n                        \n                        nativeAddr6.sin6_port = htons(port);\n                        \n                        addr6 = [NSMutableData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)];\n                    }\n                    else\n                    {\n                        char ip[INET6_ADDRSTRLEN];\n                        \n                        const char *conversion = inet_ntop(AF_INET6, &nativeAddr6.sin6_addr, ip, sizeof(ip));\n                        \n                        if ((conversion != NULL) && (strcmp(ip, iface) == 0))\n                        {\n                            // IP match\n                            \n                            nativeAddr6.sin6_port = htons(port);\n                            \n                            addr6 = [NSMutableData dataWithBytes:&nativeAddr6 length:sizeof(nativeAddr6)];\n                        }\n                    }\n                }\n                \n                cursor = cursor->ifa_next;\n            }\n            \n            freeifaddrs(addrs);\n        }\n    }\n    \n    if (interfaceAddr4Ptr) *interfaceAddr4Ptr = addr4;\n    if (interfaceAddr6Ptr) *interfaceAddr6Ptr = addr6;\n}\n\n- (void)setupReadAndWriteSourcesForNewlyConnectedSocket:(int)socketFD\n{\n    readSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, socketFD, 0, socketQueue);\n    writeSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_WRITE, socketFD, 0, socketQueue);\n    \n    // Setup event handlers\n    \n    dispatch_source_set_event_handler(readSource, ^{ @autoreleasepool {\n        \n        LogVerbose(@\"readEventBlock\");\n        \n        socketFDBytesAvailable = dispatch_source_get_data(readSource);\n        LogVerbose(@\"socketFDBytesAvailable: %lu\", socketFDBytesAvailable);\n        \n        if (socketFDBytesAvailable > 0)\n            [self doReadData];\n        else\n            [self doReadEOF];\n    }});\n    \n    dispatch_source_set_event_handler(writeSource, ^{ @autoreleasepool {\n        \n        LogVerbose(@\"writeEventBlock\");\n        \n        flags |= kSocketCanAcceptBytes;\n        [self doWriteData];\n    }});\n    \n    // Setup cancel handlers\n    \n    __block int socketFDRefCount = 2;\n    \n    #if NEEDS_DISPATCH_RETAIN_RELEASE\n    dispatch_source_t theReadSource = readSource;\n    dispatch_source_t theWriteSource = writeSource;\n    #endif\n    \n    dispatch_source_set_cancel_handler(readSource, ^{\n        \n        LogVerbose(@\"readCancelBlock\");\n        \n        #if NEEDS_DISPATCH_RETAIN_RELEASE\n        LogVerbose(@\"dispatch_release(readSource)\");\n        dispatch_release(theReadSource);\n        #endif\n        \n        if (--socketFDRefCount == 0)\n        {\n            LogVerbose(@\"close(socketFD)\");\n            close(socketFD);\n        }\n    });\n    \n    dispatch_source_set_cancel_handler(writeSource, ^{\n        \n        LogVerbose(@\"writeCancelBlock\");\n        \n        #if NEEDS_DISPATCH_RETAIN_RELEASE\n        LogVerbose(@\"dispatch_release(writeSource)\");\n        dispatch_release(theWriteSource);\n        #endif\n        \n        if (--socketFDRefCount == 0)\n        {\n            LogVerbose(@\"close(socketFD)\");\n            close(socketFD);\n        }\n    });\n    \n    // We will not be able to read until data arrives.\n    // But we should be able to write immediately.\n    \n    socketFDBytesAvailable = 0;\n    flags &= ~kReadSourceSuspended;\n    \n    LogVerbose(@\"dispatch_resume(readSource)\");\n    dispatch_resume(readSource);\n    \n    flags |= kSocketCanAcceptBytes;\n    flags |= kWriteSourceSuspended;\n}\n\n- (BOOL)usingCFStreamForTLS\n{\n    #if TARGET_OS_IPHONE\n    {   \n        if ((flags & kSocketSecure) && (flags & kUsingCFStreamForTLS))\n        {\n            // Due to the fact that Apple doesn't give us the full power of SecureTransport on iOS,\n            // we are relegated to using the slower, less powerful, and RunLoop based CFStream API. :( Boo!\n            // \n            // Thus we're not able to use the GCD read/write sources in this particular scenario.\n            \n            return YES;\n        }\n    }\n    #endif\n    \n    return NO;\n}\n\n- (BOOL)usingSecureTransportForTLS\n{\n    #if TARGET_OS_IPHONE\n    {\n        return ![self usingCFStreamForTLS];\n    }\n    #endif\n    \n    return YES;\n}\n\n- (void)suspendReadSource\n{\n    if (!(flags & kReadSourceSuspended))\n    {\n        LogVerbose(@\"dispatch_suspend(readSource)\");\n        \n        dispatch_suspend(readSource);\n        flags |= kReadSourceSuspended;\n    }\n}\n\n- (void)resumeReadSource\n{\n    if (flags & kReadSourceSuspended)\n    {\n        LogVerbose(@\"dispatch_resume(readSource)\");\n        \n        dispatch_resume(readSource);\n        flags &= ~kReadSourceSuspended;\n    }\n}\n\n- (void)suspendWriteSource\n{\n    if (!(flags & kWriteSourceSuspended))\n    {\n        LogVerbose(@\"dispatch_suspend(writeSource)\");\n        \n        dispatch_suspend(writeSource);\n        flags |= kWriteSourceSuspended;\n    }\n}\n\n- (void)resumeWriteSource\n{\n    if (flags & kWriteSourceSuspended)\n    {\n        LogVerbose(@\"dispatch_resume(writeSource)\");\n        \n        dispatch_resume(writeSource);\n        flags &= ~kWriteSourceSuspended;\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Reading\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n    [self readDataWithTimeout:timeout buffer:nil bufferOffset:0 maxLength:0 tag:tag];\n}\n\n- (void)readDataWithTimeout:(NSTimeInterval)timeout\n                     buffer:(NSMutableData *)buffer\n               bufferOffset:(NSUInteger)offset\n                        tag:(long)tag\n{\n    [self readDataWithTimeout:timeout buffer:buffer bufferOffset:offset maxLength:0 tag:tag];\n}\n\n- (void)readDataWithTimeout:(NSTimeInterval)timeout\n                     buffer:(NSMutableData *)buffer\n               bufferOffset:(NSUInteger)offset\n                  maxLength:(NSUInteger)length\n                        tag:(long)tag\n{\n    if (offset > [buffer length]) {\n        LogWarn(@\"Cannot read: offset > [buffer length]\");\n        return;\n    }\n    \n    GCDAsyncReadPacket *packet = [[GCDAsyncReadPacket alloc] initWithData:buffer\n                                                              startOffset:offset\n                                                                maxLength:length\n                                                                  timeout:timeout\n                                                               readLength:0\n                                                               terminator:nil\n                                                                      tag:tag];\n    \n    dispatch_async(socketQueue, ^{ @autoreleasepool {\n        \n        LogTrace();\n        \n        if ((flags & kSocketStarted) && !(flags & kForbidReadsWrites))\n        {\n            [readQueue addObject:packet];\n            [self maybeDequeueRead];\n        }\n    }});\n    \n    // Do not rely on the block being run in order to release the packet,\n    // as the queue might get released without the block completing.\n}\n\n- (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n    [self readDataToLength:length withTimeout:timeout buffer:nil bufferOffset:0 tag:tag];\n}\n\n- (void)readDataToLength:(NSUInteger)length\n             withTimeout:(NSTimeInterval)timeout\n                  buffer:(NSMutableData *)buffer\n            bufferOffset:(NSUInteger)offset\n                     tag:(long)tag\n{\n    if (length == 0) {\n        LogWarn(@\"Cannot read: length == 0\");\n        return;\n    }\n    if (offset > [buffer length]) {\n        LogWarn(@\"Cannot read: offset > [buffer length]\");\n        return;\n    }\n    \n    GCDAsyncReadPacket *packet = [[GCDAsyncReadPacket alloc] initWithData:buffer\n                                                              startOffset:offset\n                                                                maxLength:0\n                                                                  timeout:timeout\n                                                               readLength:length\n                                                               terminator:nil\n                                                                      tag:tag];\n    \n    dispatch_async(socketQueue, ^{ @autoreleasepool {\n        \n        LogTrace();\n        \n        if ((flags & kSocketStarted) && !(flags & kForbidReadsWrites))\n        {\n            [readQueue addObject:packet];\n            [self maybeDequeueRead];\n        }\n    }});\n    \n    // Do not rely on the block being run in order to release the packet,\n    // as the queue might get released without the block completing.\n}\n\n- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n    [self readDataToData:data withTimeout:timeout buffer:nil bufferOffset:0 maxLength:0 tag:tag];\n}\n\n- (void)readDataToData:(NSData *)data\n           withTimeout:(NSTimeInterval)timeout\n                buffer:(NSMutableData *)buffer\n          bufferOffset:(NSUInteger)offset\n                   tag:(long)tag\n{\n    [self readDataToData:data withTimeout:timeout buffer:buffer bufferOffset:offset maxLength:0 tag:tag];\n}\n\n- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout maxLength:(NSUInteger)length tag:(long)tag\n{\n    [self readDataToData:data withTimeout:timeout buffer:nil bufferOffset:0 maxLength:length tag:tag];\n}\n\n- (void)readDataToData:(NSData *)data\n           withTimeout:(NSTimeInterval)timeout\n                buffer:(NSMutableData *)buffer\n          bufferOffset:(NSUInteger)offset\n             maxLength:(NSUInteger)maxLength\n                   tag:(long)tag\n{\n    if ([data length] == 0) {\n        LogWarn(@\"Cannot read: [data length] == 0\");\n        return;\n    }\n    if (offset > [buffer length]) {\n        LogWarn(@\"Cannot read: offset > [buffer length]\");\n        return;\n    }\n    if (maxLength > 0 && maxLength < [data length]) {\n        LogWarn(@\"Cannot read: maxLength > 0 && maxLength < [data length]\");\n        return;\n    }\n    \n    GCDAsyncReadPacket *packet = [[GCDAsyncReadPacket alloc] initWithData:buffer\n                                                              startOffset:offset\n                                                                maxLength:maxLength\n                                                                  timeout:timeout\n                                                               readLength:0\n                                                               terminator:data\n                                                                      tag:tag];\n    \n    dispatch_async(socketQueue, ^{ @autoreleasepool {\n        \n        LogTrace();\n        \n        if ((flags & kSocketStarted) && !(flags & kForbidReadsWrites))\n        {\n            [readQueue addObject:packet];\n            [self maybeDequeueRead];\n        }\n    }});\n    \n    // Do not rely on the block being run in order to release the packet,\n    // as the queue might get released without the block completing.\n}\n\n- (float)progressOfReadReturningTag:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(NSUInteger *)totalPtr\n{\n    __block float result = 0.0F;\n    \n    dispatch_block_t block = ^{\n        \n        if (!currentRead || ![currentRead isKindOfClass:[GCDAsyncReadPacket class]])\n        {\n            // We're not reading anything right now.\n            \n            if (tagPtr != NULL)   *tagPtr = 0;\n            if (donePtr != NULL)  *donePtr = 0;\n            if (totalPtr != NULL) *totalPtr = 0;\n            \n            result = NAN;\n        }\n        else\n        {\n            // It's only possible to know the progress of our read if we're reading to a certain length.\n            // If we're reading to data, we of course have no idea when the data will arrive.\n            // If we're reading to timeout, then we have no idea when the next chunk of data will arrive.\n            \n            NSUInteger done = currentRead->bytesDone;\n            NSUInteger total = currentRead->readLength;\n            \n            if (tagPtr != NULL)   *tagPtr = currentRead->tag;\n            if (donePtr != NULL)  *donePtr = done;\n            if (totalPtr != NULL) *totalPtr = total;\n            \n            if (total > 0)\n                result = (float)done / (float)total;\n            else\n                result = 1.0F;\n        }\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    return result;\n}\n\n/**\n * This method starts a new read, if needed.\n * \n * It is called when:\n * - a user requests a read\n * - after a read request has finished (to handle the next request)\n * - immediately after the socket opens to handle any pending requests\n * \n * This method also handles auto-disconnect post read/write completion.\n**/\n- (void)maybeDequeueRead\n{\n    LogTrace();\n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    // If we're not currently processing a read AND we have an available read stream\n    if ((currentRead == nil) && (flags & kConnected))\n    {\n        if ([readQueue count] > 0)\n        {\n            // Dequeue the next object in the write queue\n            currentRead = [readQueue objectAtIndex:0];\n            [readQueue removeObjectAtIndex:0];\n            \n            \n            if ([currentRead isKindOfClass:[GCDAsyncSpecialPacket class]])\n            {\n                LogVerbose(@\"Dequeued GCDAsyncSpecialPacket\");\n                \n                // Attempt to start TLS\n                flags |= kStartingReadTLS;\n                \n                // This method won't do anything unless both kStartingReadTLS and kStartingWriteTLS are set\n                [self maybeStartTLS];\n            }\n            else\n            {\n                LogVerbose(@\"Dequeued GCDAsyncReadPacket\");\n                \n                // Setup read timer (if needed)\n                [self setupReadTimerWithTimeout:currentRead->timeout];\n                \n                // Immediately read, if possible\n                [self doReadData];\n            }\n        }\n        else if (flags & kDisconnectAfterReads)\n        {\n            if (flags & kDisconnectAfterWrites)\n            {\n                if (([writeQueue count] == 0) && (currentWrite == nil))\n                {\n                    [self closeWithError:nil];\n                }\n            }\n            else\n            {\n                [self closeWithError:nil];\n            }\n        }\n        else if (flags & kSocketSecure)\n        {\n            [self flushSSLBuffers];\n            \n            // Edge case:\n            // \n            // We just drained all data from the ssl buffers,\n            // and all known data from the socket (socketFDBytesAvailable).\n            // \n            // If we didn't get any data from this process,\n            // then we may have reached the end of the TCP stream.\n            // \n            // Be sure callbacks are enabled so we're notified about a disconnection.\n            \n            if ([preBuffer availableBytes] == 0)\n            {\n                if ([self usingCFStreamForTLS]) {\n                    // Callbacks never disabled\n                }\n                else {\n                    [self resumeReadSource];\n                }\n            }\n        }\n    }\n}\n\n- (void)flushSSLBuffers\n{\n    LogTrace();\n    \n    NSAssert((flags & kSocketSecure), @\"Cannot flush ssl buffers on non-secure socket\");\n    \n    if ([preBuffer availableBytes] > 0)\n    {\n        // Only flush the ssl buffers if the prebuffer is empty.\n        // This is to avoid growing the prebuffer inifinitely large.\n        \n        return;\n    }\n    \n#if TARGET_OS_IPHONE\n    \n    if ([self usingCFStreamForTLS])\n    {\n        if ((flags & kSecureSocketHasBytesAvailable) && CFReadStreamHasBytesAvailable(readStream))\n        {\n            LogVerbose(@\"%@ - Flushing ssl buffers into prebuffer...\", THIS_METHOD);\n            \n            CFIndex defaultBytesToRead = (1024 * 4);\n            \n            [preBuffer ensureCapacityForWrite:defaultBytesToRead];\n            \n            uint8_t *buffer = [preBuffer writeBuffer];\n            \n            CFIndex result = CFReadStreamRead(readStream, buffer, defaultBytesToRead);\n            LogVerbose(@\"%@ - CFReadStreamRead(): result = %i\", THIS_METHOD, (int)result);\n            \n            if (result > 0)\n            {\n                [preBuffer didWrite:result];\n            }\n            \n            flags &= ~kSecureSocketHasBytesAvailable;\n        }\n        \n        return;\n    }\n    \n#endif\n#if SECURE_TRANSPORT_MAYBE_AVAILABLE\n    \n    __block NSUInteger estimatedBytesAvailable = 0;\n    \n    dispatch_block_t updateEstimatedBytesAvailable = ^{\n        \n        // Figure out if there is any data available to be read\n        // \n        // socketFDBytesAvailable        <- Number of encrypted bytes we haven't read from the bsd socket\n        // [sslPreBuffer availableBytes] <- Number of encrypted bytes we've buffered from bsd socket\n        // sslInternalBufSize            <- Number of decrypted bytes SecureTransport has buffered\n        // \n        // We call the variable \"estimated\" because we don't know how many decrypted bytes we'll get\n        // from the encrypted bytes in the sslPreBuffer.\n        // However, we do know this is an upper bound on the estimation.\n        \n        estimatedBytesAvailable = socketFDBytesAvailable + [sslPreBuffer availableBytes];\n        \n        size_t sslInternalBufSize = 0;\n        SSLGetBufferedReadSize(sslContext, &sslInternalBufSize);\n        \n        estimatedBytesAvailable += sslInternalBufSize;\n    };\n    \n    updateEstimatedBytesAvailable();\n    \n    if (estimatedBytesAvailable > 0)\n    {\n        LogVerbose(@\"%@ - Flushing ssl buffers into prebuffer...\", THIS_METHOD);\n        \n        BOOL done = NO;\n        do\n        {\n            LogVerbose(@\"%@ - estimatedBytesAvailable = %lu\", THIS_METHOD, (unsigned long)estimatedBytesAvailable);\n            \n            // Make sure there's enough room in the prebuffer\n            \n            [preBuffer ensureCapacityForWrite:estimatedBytesAvailable];\n            \n            // Read data into prebuffer\n            \n            uint8_t *buffer = [preBuffer writeBuffer];\n            size_t bytesRead = 0;\n            \n            OSStatus result = SSLRead(sslContext, buffer, (size_t)estimatedBytesAvailable, &bytesRead);\n            LogVerbose(@\"%@ - read from secure socket = %u\", THIS_METHOD, (unsigned)bytesRead);\n            \n            if (bytesRead > 0)\n            {\n                [preBuffer didWrite:bytesRead];\n            }\n            \n            LogVerbose(@\"%@ - prebuffer.length = %zu\", THIS_METHOD, [preBuffer availableBytes]);\n            \n            if (result != noErr)\n            {\n                done = YES;\n            }\n            else\n            {\n                updateEstimatedBytesAvailable();\n            }\n            \n        } while (!done && estimatedBytesAvailable > 0);\n    }\n    \n#endif\n}\n\n- (void)doReadData\n{\n    LogTrace();\n    \n    // This method is called on the socketQueue.\n    // It might be called directly, or via the readSource when data is available to be read.\n    \n    if ((currentRead == nil) || (flags & kReadsPaused))\n    {\n        LogVerbose(@\"No currentRead or kReadsPaused\");\n        \n        // Unable to read at this time\n        \n        if (flags & kSocketSecure)\n        {\n            // Here's the situation:\n            // \n            // We have an established secure connection.\n            // There may not be a currentRead, but there might be encrypted data sitting around for us.\n            // When the user does get around to issuing a read, that encrypted data will need to be decrypted.\n            // \n            // So why make the user wait?\n            // We might as well get a head start on decrypting some data now.\n            // \n            // The other reason we do this has to do with detecting a socket disconnection.\n            // The SSL/TLS protocol has it's own disconnection handshake.\n            // So when a secure socket is closed, a \"goodbye\" packet comes across the wire.\n            // We want to make sure we read the \"goodbye\" packet so we can properly detect the TCP disconnection.\n            \n            [self flushSSLBuffers];\n        }\n        \n        if ([self usingCFStreamForTLS])\n        {\n            // CFReadStream only fires once when there is available data.\n            // It won't fire again until we've invoked CFReadStreamRead.\n        }\n        else\n        {\n            // If the readSource is firing, we need to pause it\n            // or else it will continue to fire over and over again.\n            // \n            // If the readSource is not firing,\n            // we want it to continue monitoring the socket.\n            \n            if (socketFDBytesAvailable > 0)\n            {\n                [self suspendReadSource];\n            }\n        }\n        return;\n    }\n    \n    BOOL hasBytesAvailable = NO;\n    unsigned long estimatedBytesAvailable = 0;\n    \n    if ([self usingCFStreamForTLS])\n    {\n        #if TARGET_OS_IPHONE\n        \n        // Relegated to using CFStream... :( Boo! Give us a full SecureTransport stack Apple!\n        \n        estimatedBytesAvailable = 0;\n        if ((flags & kSecureSocketHasBytesAvailable) && CFReadStreamHasBytesAvailable(readStream))\n            hasBytesAvailable = YES;\n        else\n            hasBytesAvailable = NO;\n        \n        #endif\n    }\n    else\n    {\n        #if SECURE_TRANSPORT_MAYBE_AVAILABLE\n        \n        estimatedBytesAvailable = socketFDBytesAvailable;\n        \n        if (flags & kSocketSecure)\n        {\n            // There are 2 buffers to be aware of here.\n            // \n            // We are using SecureTransport, a TLS/SSL security layer which sits atop TCP.\n            // We issue a read to the SecureTranport API, which in turn issues a read to our SSLReadFunction.\n            // Our SSLReadFunction then reads from the BSD socket and returns the encrypted data to SecureTransport.\n            // SecureTransport then decrypts the data, and finally returns the decrypted data back to us.\n            // \n            // The first buffer is one we create.\n            // SecureTransport often requests small amounts of data.\n            // This has to do with the encypted packets that are coming across the TCP stream.\n            // But it's non-optimal to do a bunch of small reads from the BSD socket.\n            // So our SSLReadFunction reads all available data from the socket (optimizing the sys call)\n            // and may store excess in the sslPreBuffer.\n            \n            estimatedBytesAvailable += [sslPreBuffer availableBytes];\n            \n            // The second buffer is within SecureTransport.\n            // As mentioned earlier, there are encrypted packets coming across the TCP stream.\n            // SecureTransport needs the entire packet to decrypt it.\n            // But if the entire packet produces X bytes of decrypted data,\n            // and we only asked SecureTransport for X/2 bytes of data,\n            // it must store the extra X/2 bytes of decrypted data for the next read.\n            // \n            // The SSLGetBufferedReadSize function will tell us the size of this internal buffer.\n            // From the documentation:\n            // \n            // \"This function does not block or cause any low-level read operations to occur.\"\n            \n            size_t sslInternalBufSize = 0;\n            SSLGetBufferedReadSize(sslContext, &sslInternalBufSize);\n            \n            estimatedBytesAvailable += sslInternalBufSize;\n        }\n        \n        hasBytesAvailable = (estimatedBytesAvailable > 0);\n        \n        #endif\n    }\n    \n    if ((hasBytesAvailable == NO) && ([preBuffer availableBytes] == 0))\n    {\n        LogVerbose(@\"No data available to read...\");\n        \n        // No data available to read.\n        \n        if (![self usingCFStreamForTLS])\n        {\n            // Need to wait for readSource to fire and notify us of\n            // available data in the socket's internal read buffer.\n            \n            [self resumeReadSource];\n        }\n        return;\n    }\n    \n    if (flags & kStartingReadTLS)\n    {\n        LogVerbose(@\"Waiting for SSL/TLS handshake to complete\");\n        \n        // The readQueue is waiting for SSL/TLS handshake to complete.\n        \n        if (flags & kStartingWriteTLS)\n        {\n            if ([self usingSecureTransportForTLS])\n            {\n                #if SECURE_TRANSPORT_MAYBE_AVAILABLE\n            \n                // We are in the process of a SSL Handshake.\n                // We were waiting for incoming data which has just arrived.\n                \n                [self ssl_continueSSLHandshake];\n            \n                #endif\n            }\n        }\n        else\n        {\n            // We are still waiting for the writeQueue to drain and start the SSL/TLS process.\n            // We now know data is available to read.\n            \n            if (![self usingCFStreamForTLS])\n            {\n                // Suspend the read source or else it will continue to fire nonstop.\n                \n                [self suspendReadSource];\n            }\n        }\n        \n        return;\n    }\n    \n    BOOL done        = NO;  // Completed read operation\n    NSError *error   = nil; // Error occured\n    \n    NSUInteger totalBytesReadForCurrentRead = 0;\n    \n    // \n    // STEP 1 - READ FROM PREBUFFER\n    // \n    \n    if ([preBuffer availableBytes] > 0)\n    {\n        // There are 3 types of read packets:\n        // \n        // 1) Read all available data.\n        // 2) Read a specific length of data.\n        // 3) Read up to a particular terminator.\n        \n        NSUInteger bytesToCopy;\n        \n        if (currentRead->term != nil)\n        {\n            // Read type #3 - read up to a terminator\n            \n            bytesToCopy = [currentRead readLengthForTermWithPreBuffer:preBuffer found:&done];\n        }\n        else\n        {\n            // Read type #1 or #2\n            \n            bytesToCopy = [currentRead readLengthForNonTermWithHint:[preBuffer availableBytes]];\n        }\n        \n        // Make sure we have enough room in the buffer for our read.\n        \n        [currentRead ensureCapacityForAdditionalDataOfLength:bytesToCopy];\n        \n        // Copy bytes from prebuffer into packet buffer\n        \n        uint8_t *buffer = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset +\n                                                                          currentRead->bytesDone;\n        \n        memcpy(buffer, [preBuffer readBuffer], bytesToCopy);\n        \n        // Remove the copied bytes from the preBuffer\n        [preBuffer didRead:bytesToCopy];\n        \n        LogVerbose(@\"copied(%lu) preBufferLength(%zu)\", (unsigned long)bytesToCopy, [preBuffer availableBytes]);\n        \n        // Update totals\n        \n        currentRead->bytesDone += bytesToCopy;\n        totalBytesReadForCurrentRead += bytesToCopy;\n        \n        // Check to see if the read operation is done\n        \n        if (currentRead->readLength > 0)\n        {\n            // Read type #2 - read a specific length of data\n            \n            done = (currentRead->bytesDone == currentRead->readLength);\n        }\n        else if (currentRead->term != nil)\n        {\n            // Read type #3 - read up to a terminator\n            \n            // Our 'done' variable was updated via the readLengthForTermWithPreBuffer:found: method\n            \n            if (!done && currentRead->maxLength > 0)\n            {\n                // We're not done and there's a set maxLength.\n                // Have we reached that maxLength yet?\n                \n                if (currentRead->bytesDone >= currentRead->maxLength)\n                {\n                    error = [self readMaxedOutError];\n                }\n            }\n        }\n        else\n        {\n            // Read type #1 - read all available data\n            // \n            // We're done as soon as\n            // - we've read all available data (in prebuffer and socket)\n            // - we've read the maxLength of read packet.\n            \n            done = ((currentRead->maxLength > 0) && (currentRead->bytesDone == currentRead->maxLength));\n        }\n        \n    }\n    \n    // \n    // STEP 2 - READ FROM SOCKET\n    // \n    \n    BOOL socketEOF = (flags & kSocketHasReadEOF) ? YES : NO;  // Nothing more to via socket (end of file)\n    BOOL waiting   = !done && !error && !socketEOF && !hasBytesAvailable; // Ran out of data, waiting for more\n    \n    if (!done && !error && !socketEOF && !waiting && hasBytesAvailable)\n    {\n        NSAssert(([preBuffer availableBytes] == 0), @\"Invalid logic\");\n        \n        // There are 3 types of read packets:\n        // \n        // 1) Read all available data.\n        // 2) Read a specific length of data.\n        // 3) Read up to a particular terminator.\n        \n        BOOL readIntoPreBuffer = NO;\n        NSUInteger bytesToRead;\n        \n        if ([self usingCFStreamForTLS])\n        {\n            // Since Apple hasn't made the full power of SecureTransport available on iOS,\n            // we are relegated to using the slower, less powerful, RunLoop based CFStream API.\n            // \n            // This API doesn't tell us how much data is available on the socket to be read.\n            // If we had that information we could optimize our memory allocations, and sys calls.\n            // \n            // But alas...\n            // So we do it old school, and just read as much data from the socket as we can.\n            \n            NSUInteger defaultReadLength = (1024 * 32);\n            \n            bytesToRead = [currentRead optimalReadLengthWithDefault:defaultReadLength\n                                                    shouldPreBuffer:&readIntoPreBuffer];\n        }\n        else\n        {\n            if (currentRead->term != nil)\n            {\n                // Read type #3 - read up to a terminator\n                \n                bytesToRead = [currentRead readLengthForTermWithHint:estimatedBytesAvailable\n                                                     shouldPreBuffer:&readIntoPreBuffer];\n            }\n            else\n            {\n                // Read type #1 or #2\n                \n                bytesToRead = [currentRead readLengthForNonTermWithHint:estimatedBytesAvailable];\n            }\n        }\n        \n        if (bytesToRead > SIZE_MAX) // NSUInteger may be bigger than size_t (read param 3)\n        {\n            bytesToRead = SIZE_MAX;\n        }\n        \n        // Make sure we have enough room in the buffer for our read.\n        // \n        // We are either reading directly into the currentRead->buffer,\n        // or we're reading into the temporary preBuffer.\n        \n        uint8_t *buffer;\n        \n        if (readIntoPreBuffer)\n        {\n            [preBuffer ensureCapacityForWrite:bytesToRead];\n                        \n            buffer = [preBuffer writeBuffer];\n        }\n        else\n        {\n            [currentRead ensureCapacityForAdditionalDataOfLength:bytesToRead];\n            \n            buffer = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset + currentRead->bytesDone;\n        }\n        \n        // Read data into buffer\n        \n        size_t bytesRead = 0;\n        \n        if (flags & kSocketSecure)\n        {\n            if ([self usingCFStreamForTLS])\n            {\n                #if TARGET_OS_IPHONE\n                \n                CFIndex result = CFReadStreamRead(readStream, buffer, (CFIndex)bytesToRead);\n                LogVerbose(@\"CFReadStreamRead(): result = %i\", (int)result);\n                \n                if (result < 0)\n                {\n                    error = (__bridge_transfer NSError *)CFReadStreamCopyError(readStream);\n                }\n                else if (result == 0)\n                {\n                    socketEOF = YES;\n                }\n                else\n                {\n                    waiting = YES;\n                    bytesRead = (size_t)result;\n                }\n                \n                // We only know how many decrypted bytes were read.\n                // The actual number of bytes read was likely more due to the overhead of the encryption.\n                // So we reset our flag, and rely on the next callback to alert us of more data.\n                flags &= ~kSecureSocketHasBytesAvailable;\n                \n                #endif\n            }\n            else\n            {\n                #if SECURE_TRANSPORT_MAYBE_AVAILABLE\n                    \n                // The documentation from Apple states:\n                // \n                //     \"a read operation might return errSSLWouldBlock,\n                //      indicating that less data than requested was actually transferred\"\n                // \n                // However, starting around 10.7, the function will sometimes return noErr,\n                // even if it didn't read as much data as requested. So we need to watch out for that.\n                \n                OSStatus result;\n                do\n                {\n                    void *loop_buffer = buffer + bytesRead;\n                    size_t loop_bytesToRead = (size_t)bytesToRead - bytesRead;\n                    size_t loop_bytesRead = 0;\n                    \n                    result = SSLRead(sslContext, loop_buffer, loop_bytesToRead, &loop_bytesRead);\n                    LogVerbose(@\"read from secure socket = %u\", (unsigned)bytesRead);\n                    \n                    bytesRead += loop_bytesRead;\n                    \n                } while ((result == noErr) && (bytesRead < bytesToRead));\n                \n                \n                if (result != noErr)\n                {\n                    if (result == errSSLWouldBlock)\n                        waiting = YES;\n                    else\n                    {\n                        if (result == errSSLClosedGraceful || result == errSSLClosedAbort)\n                        {\n                            // We've reached the end of the stream.\n                            // Handle this the same way we would an EOF from the socket.\n                            socketEOF = YES;\n                            sslErrCode = result;\n                        }\n                        else\n                        {\n                            error = [self sslError:result];\n                        }\n                    }\n                    // It's possible that bytesRead > 0, even if the result was errSSLWouldBlock.\n                    // This happens when the SSLRead function is able to read some data,\n                    // but not the entire amount we requested.\n                    \n                    if (bytesRead <= 0)\n                    {\n                        bytesRead = 0;\n                    }\n                }\n                \n                // Do not modify socketFDBytesAvailable.\n                // It will be updated via the SSLReadFunction().\n                \n                #endif\n            }\n        }\n        else\n        {\n            int socketFD = (socket4FD == SOCKET_NULL) ? socket6FD : socket4FD;\n            \n            ssize_t result = read(socketFD, buffer, (size_t)bytesToRead);\n            LogVerbose(@\"read from socket = %i\", (int)result);\n            \n            if (result < 0)\n            {\n                if (errno == EWOULDBLOCK)\n                    waiting = YES;\n                else\n                    error = [self errnoErrorWithReason:@\"Error in read() function\"];\n                \n                socketFDBytesAvailable = 0;\n            }\n            else if (result == 0)\n            {\n                socketEOF = YES;\n                socketFDBytesAvailable = 0;\n            }\n            else\n            {\n                bytesRead = result;\n                \n                if (bytesRead < bytesToRead)\n                {\n                    // The read returned less data than requested.\n                    // This means socketFDBytesAvailable was a bit off due to timing,\n                    // because we read from the socket right when the readSource event was firing.\n                    socketFDBytesAvailable = 0;\n                }\n                else\n                {\n                    if (socketFDBytesAvailable <= bytesRead)\n                        socketFDBytesAvailable = 0;\n                    else\n                        socketFDBytesAvailable -= bytesRead;\n                }\n                \n                if (socketFDBytesAvailable == 0)\n                {\n                    waiting = YES;\n                }\n            }\n        }\n        \n        if (bytesRead > 0)\n        {\n            // Check to see if the read operation is done\n            \n            if (currentRead->readLength > 0)\n            {\n                // Read type #2 - read a specific length of data\n                // \n                // Note: We should never be using a prebuffer when we're reading a specific length of data.\n                \n                NSAssert(readIntoPreBuffer == NO, @\"Invalid logic\");\n                \n                currentRead->bytesDone += bytesRead;\n                totalBytesReadForCurrentRead += bytesRead;\n                \n                done = (currentRead->bytesDone == currentRead->readLength);\n            }\n            else if (currentRead->term != nil)\n            {\n                // Read type #3 - read up to a terminator\n                \n                if (readIntoPreBuffer)\n                {\n                    // We just read a big chunk of data into the preBuffer\n                    \n                    [preBuffer didWrite:bytesRead];\n                    LogVerbose(@\"read data into preBuffer - preBuffer.length = %zu\", [preBuffer availableBytes]);\n                    \n                    // Search for the terminating sequence\n                    \n                    bytesToRead = [currentRead readLengthForTermWithPreBuffer:preBuffer found:&done];\n                    LogVerbose(@\"copying %lu bytes from preBuffer\", (unsigned long)bytesToRead);\n                    \n                    // Ensure there's room on the read packet's buffer\n                    \n                    [currentRead ensureCapacityForAdditionalDataOfLength:bytesToRead];\n                    \n                    // Copy bytes from prebuffer into read buffer\n                    \n                    uint8_t *readBuf = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset\n                                                                                     + currentRead->bytesDone;\n                    \n                    memcpy(readBuf, [preBuffer readBuffer], bytesToRead);\n                    \n                    // Remove the copied bytes from the prebuffer\n                    [preBuffer didRead:bytesToRead];\n                    LogVerbose(@\"preBuffer.length = %zu\", [preBuffer availableBytes]);\n                    \n                    // Update totals\n                    currentRead->bytesDone += bytesToRead;\n                    totalBytesReadForCurrentRead += bytesToRead;\n                    \n                    // Our 'done' variable was updated via the readLengthForTermWithPreBuffer:found: method above\n                }\n                else\n                {\n                    // We just read a big chunk of data directly into the packet's buffer.\n                    // We need to move any overflow into the prebuffer.\n                    \n                    NSInteger overflow = [currentRead searchForTermAfterPreBuffering:bytesRead];\n                    \n                    if (overflow == 0)\n                    {\n                        // Perfect match!\n                        // Every byte we read stays in the read buffer,\n                        // and the last byte we read was the last byte of the term.\n                        \n                        currentRead->bytesDone += bytesRead;\n                        totalBytesReadForCurrentRead += bytesRead;\n                        done = YES;\n                    }\n                    else if (overflow > 0)\n                    {\n                        // The term was found within the data that we read,\n                        // and there are extra bytes that extend past the end of the term.\n                        // We need to move these excess bytes out of the read packet and into the prebuffer.\n                        \n                        NSInteger underflow = bytesRead - overflow;\n                        \n                        // Copy excess data into preBuffer\n                        \n                        LogVerbose(@\"copying %ld overflow bytes into preBuffer\", (long)overflow);\n                        [preBuffer ensureCapacityForWrite:overflow];\n                        \n                        uint8_t *overflowBuffer = buffer + underflow;\n                        memcpy([preBuffer writeBuffer], overflowBuffer, overflow);\n                        \n                        [preBuffer didWrite:overflow];\n                        LogVerbose(@\"preBuffer.length = %zu\", [preBuffer availableBytes]);\n                        \n                        // Note: The completeCurrentRead method will trim the buffer for us.\n                        \n                        currentRead->bytesDone += underflow;\n                        totalBytesReadForCurrentRead += underflow;\n                        done = YES;\n                    }\n                    else\n                    {\n                        // The term was not found within the data that we read.\n                        \n                        currentRead->bytesDone += bytesRead;\n                        totalBytesReadForCurrentRead += bytesRead;\n                        done = NO;\n                    }\n                }\n                \n                if (!done && currentRead->maxLength > 0)\n                {\n                    // We're not done and there's a set maxLength.\n                    // Have we reached that maxLength yet?\n                    \n                    if (currentRead->bytesDone >= currentRead->maxLength)\n                    {\n                        error = [self readMaxedOutError];\n                    }\n                }\n            }\n            else\n            {\n                // Read type #1 - read all available data\n                \n                if (readIntoPreBuffer)\n                {\n                    // We just read a chunk of data into the preBuffer\n                    \n                    [preBuffer didWrite:bytesRead];\n                    \n                    // Now copy the data into the read packet.\n                    // \n                    // Recall that we didn't read directly into the packet's buffer to avoid\n                    // over-allocating memory since we had no clue how much data was available to be read.\n                    // \n                    // Ensure there's room on the read packet's buffer\n                    \n                    [currentRead ensureCapacityForAdditionalDataOfLength:bytesRead];\n                    \n                    // Copy bytes from prebuffer into read buffer\n                    \n                    uint8_t *readBuf = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset\n                                                                                     + currentRead->bytesDone;\n                    \n                    memcpy(readBuf, [preBuffer readBuffer], bytesRead);\n                    \n                    // Remove the copied bytes from the prebuffer\n                    [preBuffer didRead:bytesRead];\n                    \n                    // Update totals\n                    currentRead->bytesDone += bytesRead;\n                    totalBytesReadForCurrentRead += bytesRead;\n                }\n                else\n                {\n                    currentRead->bytesDone += bytesRead;\n                    totalBytesReadForCurrentRead += bytesRead;\n                }\n                \n                done = YES;\n            }\n            \n        } // if (bytesRead > 0)\n        \n    } // if (!done && !error && !socketEOF && !waiting && hasBytesAvailable)\n    \n    \n    if (!done && currentRead->readLength == 0 && currentRead->term == nil)\n    {\n        // Read type #1 - read all available data\n        // \n        // We might arrive here if we read data from the prebuffer but not from the socket.\n        \n        done = (totalBytesReadForCurrentRead > 0);\n    }\n    \n    // Check to see if we're done, or if we've made progress\n    \n    if (done)\n    {\n        [self completeCurrentRead];\n        \n        if (!error && (!socketEOF || [preBuffer availableBytes] > 0))\n        {\n            [self maybeDequeueRead];\n        }\n    }\n    else if (totalBytesReadForCurrentRead > 0)\n    {\n        // We're not done read type #2 or #3 yet, but we have read in some bytes\n        \n        if (delegateQueue && [delegate respondsToSelector:@selector(socket:didReadPartialDataOfLength:tag:)])\n        {\n            __strong id theDelegate = delegate;\n            long theReadTag = currentRead->tag;\n            \n            dispatch_async(delegateQueue, ^{ @autoreleasepool {\n                \n                [theDelegate socket:self didReadPartialDataOfLength:totalBytesReadForCurrentRead tag:theReadTag];\n            }});\n        }\n    }\n    \n    // Check for errors\n    \n    if (error)\n    {\n        [self closeWithError:error];\n    }\n    else if (socketEOF)\n    {\n        [self doReadEOF];\n    }\n    else if (waiting)\n    {\n        if (![self usingCFStreamForTLS])\n        {\n            // Monitor the socket for readability (if we're not already doing so)\n            [self resumeReadSource];\n        }\n    }\n    \n    // Do not add any code here without first adding return statements in the error cases above.\n}\n\n- (void)doReadEOF\n{\n    LogTrace();\n    \n    // This method may be called more than once.\n    // If the EOF is read while there is still data in the preBuffer,\n    // then this method may be called continually after invocations of doReadData to see if it's time to disconnect.\n    \n    flags |= kSocketHasReadEOF;\n    \n    if (flags & kSocketSecure)\n    {\n        // If the SSL layer has any buffered data, flush it into the preBuffer now.\n        \n        [self flushSSLBuffers];\n    }\n    \n    BOOL shouldDisconnect;\n    NSError *error = nil;\n    \n    if ((flags & kStartingReadTLS) || (flags & kStartingWriteTLS))\n    {\n        // We received an EOF during or prior to startTLS.\n        // The SSL/TLS handshake is now impossible, so this is an unrecoverable situation.\n        \n        shouldDisconnect = YES;\n        \n        if ([self usingSecureTransportForTLS])\n        {\n            #if SECURE_TRANSPORT_MAYBE_AVAILABLE\n            error = [self sslError:errSSLClosedAbort];\n            #endif\n        }\n    }\n    else if (flags & kReadStreamClosed)\n    {\n        // The preBuffer has already been drained.\n        // The config allows half-duplex connections.\n        // We've previously checked the socket, and it appeared writeable.\n        // So we marked the read stream as closed and notified the delegate.\n        // \n        // As per the half-duplex contract, the socket will be closed when a write fails,\n        // or when the socket is manually closed.\n        \n        shouldDisconnect = NO;\n    }\n    else if ([preBuffer availableBytes] > 0)\n    {\n        LogVerbose(@\"Socket reached EOF, but there is still data available in prebuffer\");\n        \n        // Although we won't be able to read any more data from the socket,\n        // there is existing data that has been prebuffered that we can read.\n        \n        shouldDisconnect = NO;\n    }\n    else if (config & kAllowHalfDuplexConnection)\n    {\n        // We just received an EOF (end of file) from the socket's read stream.\n        // This means the remote end of the socket (the peer we're connected to)\n        // has explicitly stated that it will not be sending us any more data.\n        // \n        // Query the socket to see if it is still writeable. (Perhaps the peer will continue reading data from us)\n        \n        int socketFD = (socket4FD == SOCKET_NULL) ? socket6FD : socket4FD;\n        \n        struct pollfd pfd[1];\n        pfd[0].fd = socketFD;\n        pfd[0].events = POLLOUT;\n        pfd[0].revents = 0;\n        \n        poll(pfd, 1, 0);\n        \n        if (pfd[0].revents & POLLOUT)\n        {\n            // Socket appears to still be writeable\n            \n            shouldDisconnect = NO;\n            flags |= kReadStreamClosed;\n            \n            // Notify the delegate that we're going half-duplex\n            \n            if (delegateQueue && [delegate respondsToSelector:@selector(socketDidCloseReadStream:)])\n            {\n                __strong id theDelegate = delegate;\n                \n                dispatch_async(delegateQueue, ^{ @autoreleasepool {\n                    \n                    [theDelegate socketDidCloseReadStream:self];\n                }});\n            }\n        }\n        else\n        {\n            shouldDisconnect = YES;\n        }\n    }\n    else\n    {\n        shouldDisconnect = YES;\n    }\n    \n    \n    if (shouldDisconnect)\n    {\n        if (error == nil)\n        {\n            if ([self usingSecureTransportForTLS])\n            {\n                #if SECURE_TRANSPORT_MAYBE_AVAILABLE\n                if (sslErrCode != noErr && sslErrCode != errSSLClosedGraceful)\n                {\n                    error = [self sslError:sslErrCode];\n                }\n                else\n                {\n                    error = [self connectionClosedError];\n                }\n                #endif\n            }\n            else\n            {\n                error = [self connectionClosedError];\n            }\n        }\n        [self closeWithError:error];\n    }\n    else\n    {\n        if (![self usingCFStreamForTLS])\n        {\n            // Suspend the read source (if needed)\n            \n            [self suspendReadSource];\n        }\n    }\n}\n\n- (void)completeCurrentRead\n{\n    LogTrace();\n    \n    NSAssert(currentRead, @\"Trying to complete current read when there is no current read.\");\n    \n    \n    NSData *result;\n    \n    if (currentRead->bufferOwner)\n    {\n        // We created the buffer on behalf of the user.\n        // Trim our buffer to be the proper size.\n        [currentRead->buffer setLength:currentRead->bytesDone];\n        \n        result = currentRead->buffer;\n    }\n    else\n    {\n        // We did NOT create the buffer.\n        // The buffer is owned by the caller.\n        // Only trim the buffer if we had to increase its size.\n        \n        if ([currentRead->buffer length] > currentRead->originalBufferLength)\n        {\n            NSUInteger readSize = currentRead->startOffset + currentRead->bytesDone;\n            NSUInteger origSize = currentRead->originalBufferLength;\n            \n            NSUInteger buffSize = MAX(readSize, origSize);\n            \n            [currentRead->buffer setLength:buffSize];\n        }\n        \n        uint8_t *buffer = (uint8_t *)[currentRead->buffer mutableBytes] + currentRead->startOffset;\n        \n        result = [NSData dataWithBytesNoCopy:buffer length:currentRead->bytesDone freeWhenDone:NO];\n    }\n    \n    if (delegateQueue && [delegate respondsToSelector:@selector(socket:didReadData:withTag:)])\n    {\n        __strong id theDelegate = delegate;\n        GCDAsyncReadPacket *theRead = currentRead; // Ensure currentRead retained since result may not own buffer\n        \n        dispatch_async(delegateQueue, ^{ @autoreleasepool {\n            \n            [theDelegate socket:self didReadData:result withTag:theRead->tag];\n        }});\n    }\n    \n    [self endCurrentRead];\n}\n\n- (void)endCurrentRead\n{\n    if (readTimer)\n    {\n        dispatch_source_cancel(readTimer);\n        readTimer = NULL;\n    }\n    \n    currentRead = nil;\n}\n\n- (void)setupReadTimerWithTimeout:(NSTimeInterval)timeout\n{\n    if (timeout >= 0.0)\n    {\n        readTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue);\n        \n        dispatch_source_set_event_handler(readTimer, ^{ @autoreleasepool {\n            \n            [self doReadTimeout];\n        }});\n        \n        #if NEEDS_DISPATCH_RETAIN_RELEASE\n        dispatch_source_t theReadTimer = readTimer;\n        dispatch_source_set_cancel_handler(readTimer, ^{\n            LogVerbose(@\"dispatch_release(readTimer)\");\n            dispatch_release(theReadTimer);\n        });\n        #endif\n        \n        dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeout * NSEC_PER_SEC));\n        \n        dispatch_source_set_timer(readTimer, tt, DISPATCH_TIME_FOREVER, 0);\n        dispatch_resume(readTimer);\n    }\n}\n\n- (void)doReadTimeout\n{\n    // This is a little bit tricky.\n    // Ideally we'd like to synchronously query the delegate about a timeout extension.\n    // But if we do so synchronously we risk a possible deadlock.\n    // So instead we have to do so asynchronously, and callback to ourselves from within the delegate block.\n    \n    flags |= kReadsPaused;\n    \n    if (delegateQueue && [delegate respondsToSelector:@selector(socket:shouldTimeoutReadWithTag:elapsed:bytesDone:)])\n    {\n        __strong id theDelegate = delegate;\n        GCDAsyncReadPacket *theRead = currentRead;\n        \n        dispatch_async(delegateQueue, ^{ @autoreleasepool {\n            \n            NSTimeInterval timeoutExtension = 0.0;\n            \n            timeoutExtension = [theDelegate socket:self shouldTimeoutReadWithTag:theRead->tag\n                                                                         elapsed:theRead->timeout\n                                                                       bytesDone:theRead->bytesDone];\n            \n            dispatch_async(socketQueue, ^{ @autoreleasepool {\n                \n                [self doReadTimeoutWithExtension:timeoutExtension];\n            }});\n        }});\n    }\n    else\n    {\n        [self doReadTimeoutWithExtension:0.0];\n    }\n}\n\n- (void)doReadTimeoutWithExtension:(NSTimeInterval)timeoutExtension\n{\n    if (currentRead)\n    {\n        if (timeoutExtension > 0.0)\n        {\n            currentRead->timeout += timeoutExtension;\n            \n            // Reschedule the timer\n            dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeoutExtension * NSEC_PER_SEC));\n            dispatch_source_set_timer(readTimer, tt, DISPATCH_TIME_FOREVER, 0);\n            \n            // Unpause reads, and continue\n            flags &= ~kReadsPaused;\n            [self doReadData];\n        }\n        else\n        {\n            LogVerbose(@\"ReadTimeout\");\n            \n            [self closeWithError:[self readTimeoutError]];\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Writing\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag\n{\n    if ([data length] == 0) return;\n    \n    GCDAsyncWritePacket *packet = [[GCDAsyncWritePacket alloc] initWithData:data timeout:timeout tag:tag];\n    \n    dispatch_async(socketQueue, ^{ @autoreleasepool {\n        \n        LogTrace();\n        \n        if ((flags & kSocketStarted) && !(flags & kForbidReadsWrites))\n        {\n            [writeQueue addObject:packet];\n            [self maybeDequeueWrite];\n        }\n    }});\n    \n    // Do not rely on the block being run in order to release the packet,\n    // as the queue might get released without the block completing.\n}\n\n- (float)progressOfWriteReturningTag:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(NSUInteger *)totalPtr\n{\n    __block float result = 0.0F;\n    \n    dispatch_block_t block = ^{\n        \n        if (!currentWrite || ![currentWrite isKindOfClass:[GCDAsyncWritePacket class]])\n        {\n            // We're not writing anything right now.\n            \n            if (tagPtr != NULL)   *tagPtr = 0;\n            if (donePtr != NULL)  *donePtr = 0;\n            if (totalPtr != NULL) *totalPtr = 0;\n            \n            result = NAN;\n        }\n        else\n        {\n            NSUInteger done = currentWrite->bytesDone;\n            NSUInteger total = [currentWrite->buffer length];\n            \n            if (tagPtr != NULL)   *tagPtr = currentWrite->tag;\n            if (donePtr != NULL)  *donePtr = done;\n            if (totalPtr != NULL) *totalPtr = total;\n            \n            result = (float)done / (float)total;\n        }\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n    \n    return result;\n}\n\n/**\n * Conditionally starts a new write.\n * \n * It is called when:\n * - a user requests a write\n * - after a write request has finished (to handle the next request)\n * - immediately after the socket opens to handle any pending requests\n * \n * This method also handles auto-disconnect post read/write completion.\n**/\n- (void)maybeDequeueWrite\n{\n    LogTrace();\n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    \n    // If we're not currently processing a write AND we have an available write stream\n    if ((currentWrite == nil) && (flags & kConnected))\n    {\n        if ([writeQueue count] > 0)\n        {\n            // Dequeue the next object in the write queue\n            currentWrite = [writeQueue objectAtIndex:0];\n            [writeQueue removeObjectAtIndex:0];\n            \n            \n            if ([currentWrite isKindOfClass:[GCDAsyncSpecialPacket class]])\n            {\n                LogVerbose(@\"Dequeued GCDAsyncSpecialPacket\");\n                \n                // Attempt to start TLS\n                flags |= kStartingWriteTLS;\n                \n                // This method won't do anything unless both kStartingReadTLS and kStartingWriteTLS are set\n                [self maybeStartTLS];\n            }\n            else\n            {\n                LogVerbose(@\"Dequeued GCDAsyncWritePacket\");\n                \n                // Setup write timer (if needed)\n                [self setupWriteTimerWithTimeout:currentWrite->timeout];\n                \n                // Immediately write, if possible\n                [self doWriteData];\n            }\n        }\n        else if (flags & kDisconnectAfterWrites)\n        {\n            if (flags & kDisconnectAfterReads)\n            {\n                if (([readQueue count] == 0) && (currentRead == nil))\n                {\n                    [self closeWithError:nil];\n                }\n            }\n            else\n            {\n                [self closeWithError:nil];\n            }\n        }\n    }\n}\n\n- (void)doWriteData\n{\n    LogTrace();\n    \n    // This method is called by the writeSource via the socketQueue\n    \n    if ((currentWrite == nil) || (flags & kWritesPaused))\n    {\n        LogVerbose(@\"No currentWrite or kWritesPaused\");\n        \n        // Unable to write at this time\n        \n        if ([self usingCFStreamForTLS])\n        {\n            // CFWriteStream only fires once when there is available data.\n            // It won't fire again until we've invoked CFWriteStreamWrite.\n        }\n        else\n        {\n            // If the writeSource is firing, we need to pause it\n            // or else it will continue to fire over and over again.\n            \n            if (flags & kSocketCanAcceptBytes)\n            {\n                [self suspendWriteSource];\n            }\n        }\n        return;\n    }\n    \n    if (!(flags & kSocketCanAcceptBytes))\n    {\n        LogVerbose(@\"No space available to write...\");\n        \n        // No space available to write.\n        \n        if (![self usingCFStreamForTLS])\n        {\n            // Need to wait for writeSource to fire and notify us of\n            // available space in the socket's internal write buffer.\n            \n            [self resumeWriteSource];\n        }\n        return;\n    }\n    \n    if (flags & kStartingWriteTLS)\n    {\n        LogVerbose(@\"Waiting for SSL/TLS handshake to complete\");\n        \n        // The writeQueue is waiting for SSL/TLS handshake to complete.\n        \n        if (flags & kStartingReadTLS)\n        {\n            if ([self usingSecureTransportForTLS])\n            {\n                #if SECURE_TRANSPORT_MAYBE_AVAILABLE\n            \n                // We are in the process of a SSL Handshake.\n                // We were waiting for available space in the socket's internal OS buffer to continue writing.\n            \n                [self ssl_continueSSLHandshake];\n            \n                #endif\n            }\n        }\n        else\n        {\n            // We are still waiting for the readQueue to drain and start the SSL/TLS process.\n            // We now know we can write to the socket.\n            \n            if (![self usingCFStreamForTLS])\n            {\n                // Suspend the write source or else it will continue to fire nonstop.\n                \n                [self suspendWriteSource];\n            }\n        }\n        \n        return;\n    }\n    \n    // Note: This method is not called if currentWrite is a GCDAsyncSpecialPacket (startTLS packet)\n    \n    BOOL waiting = NO;\n    NSError *error = nil;\n    size_t bytesWritten = 0;\n    \n    if (flags & kSocketSecure)\n    {\n        if ([self usingCFStreamForTLS])\n        {\n            #if TARGET_OS_IPHONE\n            \n            // \n            // Writing data using CFStream (over internal TLS)\n            // \n            \n            const uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes] + currentWrite->bytesDone;\n            \n            NSUInteger bytesToWrite = [currentWrite->buffer length] - currentWrite->bytesDone;\n            \n            if (bytesToWrite > SIZE_MAX) // NSUInteger may be bigger than size_t (write param 3)\n            {\n                bytesToWrite = SIZE_MAX;\n            }\n        \n            CFIndex result = CFWriteStreamWrite(writeStream, buffer, (CFIndex)bytesToWrite);\n            LogVerbose(@\"CFWriteStreamWrite(%lu) = %li\", (unsigned long)bytesToWrite, result);\n        \n            if (result < 0)\n            {\n                error = (__bridge_transfer NSError *)CFWriteStreamCopyError(writeStream);\n            }\n            else\n            {\n                bytesWritten = (size_t)result;\n                \n                // We always set waiting to true in this scenario.\n                // CFStream may have altered our underlying socket to non-blocking.\n                // Thus if we attempt to write without a callback, we may end up blocking our queue.\n                waiting = YES;\n            }\n            \n            #endif\n        }\n        else\n        {\n            #if SECURE_TRANSPORT_MAYBE_AVAILABLE\n            \n            // We're going to use the SSLWrite function.\n            // \n            // OSStatus SSLWrite(SSLContextRef context, const void *data, size_t dataLength, size_t *processed)\n            // \n            // Parameters:\n            // context     - An SSL session context reference.\n            // data        - A pointer to the buffer of data to write.\n            // dataLength  - The amount, in bytes, of data to write.\n            // processed   - On return, the length, in bytes, of the data actually written.\n            // \n            // It sounds pretty straight-forward,\n            // but there are a few caveats you should be aware of.\n            // \n            // The SSLWrite method operates in a non-obvious (and rather annoying) manner.\n            // According to the documentation:\n            // \n            //   Because you may configure the underlying connection to operate in a non-blocking manner,\n            //   a write operation might return errSSLWouldBlock, indicating that less data than requested\n            //   was actually transferred. In this case, you should repeat the call to SSLWrite until some\n            //   other result is returned.\n            // \n            // This sounds perfect, but when our SSLWriteFunction returns errSSLWouldBlock,\n            // then the SSLWrite method returns (with the proper errSSLWouldBlock return value),\n            // but it sets processed to dataLength !!\n            // \n            // In other words, if the SSLWrite function doesn't completely write all the data we tell it to,\n            // then it doesn't tell us how many bytes were actually written. So, for example, if we tell it to\n            // write 256 bytes then it might actually write 128 bytes, but then report 0 bytes written.\n            // \n            // You might be wondering:\n            // If the SSLWrite function doesn't tell us how many bytes were written,\n            // then how in the world are we supposed to update our parameters (buffer & bytesToWrite)\n            // for the next time we invoke SSLWrite?\n            // \n            // The answer is that SSLWrite cached all the data we told it to write,\n            // and it will push out that data next time we call SSLWrite.\n            // If we call SSLWrite with new data, it will push out the cached data first, and then the new data.\n            // If we call SSLWrite with empty data, then it will simply push out the cached data.\n            // \n            // For this purpose we're going to break large writes into a series of smaller writes.\n            // This allows us to report progress back to the delegate.\n            \n            OSStatus result;\n            \n            BOOL hasCachedDataToWrite = (sslWriteCachedLength > 0);\n            BOOL hasNewDataToWrite = YES;\n            \n            if (hasCachedDataToWrite)\n            {\n                size_t processed = 0;\n                \n                result = SSLWrite(sslContext, NULL, 0, &processed);\n                \n                if (result == noErr)\n                {\n                    bytesWritten = sslWriteCachedLength;\n                    sslWriteCachedLength = 0;\n                    \n                    if ([currentWrite->buffer length] == (currentWrite->bytesDone + bytesWritten))\n                    {\n                        // We've written all data for the current write.\n                        hasNewDataToWrite = NO;\n                    }\n                }\n                else\n                {\n                    if (result == errSSLWouldBlock)\n                    {\n                        waiting = YES;\n                    }\n                    else\n                    {\n                        error = [self sslError:result];\n                    }\n                    \n                    // Can't write any new data since we were unable to write the cached data.\n                    hasNewDataToWrite = NO;\n                }\n            }\n            \n            if (hasNewDataToWrite)\n            {\n                const uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes]\n                                                        + currentWrite->bytesDone\n                                                        + bytesWritten;\n                \n                NSUInteger bytesToWrite = [currentWrite->buffer length] - currentWrite->bytesDone - bytesWritten;\n                \n                if (bytesToWrite > SIZE_MAX) // NSUInteger may be bigger than size_t (write param 3)\n                {\n                    bytesToWrite = SIZE_MAX;\n                }\n                \n                size_t bytesRemaining = bytesToWrite;\n                \n                BOOL keepLooping = YES;\n                while (keepLooping)\n                {\n                    size_t sslBytesToWrite = MIN(bytesRemaining, 32768);\n                    size_t sslBytesWritten = 0;\n                    \n                    result = SSLWrite(sslContext, buffer, sslBytesToWrite, &sslBytesWritten);\n                    \n                    if (result == noErr)\n                    {\n                        buffer += sslBytesWritten;\n                        bytesWritten += sslBytesWritten;\n                        bytesRemaining -= sslBytesWritten;\n                        \n                        keepLooping = (bytesRemaining > 0);\n                    }\n                    else\n                    {\n                        if (result == errSSLWouldBlock)\n                        {\n                            waiting = YES;\n                            sslWriteCachedLength = sslBytesToWrite;\n                        }\n                        else\n                        {\n                            error = [self sslError:result];\n                        }\n                        \n                        keepLooping = NO;\n                    }\n                    \n                } // while (keepLooping)\n                \n            } // if (hasNewDataToWrite)\n        \n            #endif\n        }\n    }\n    else\n    {\n        // \n        // Writing data directly over raw socket\n        // \n        \n        int socketFD = (socket4FD == SOCKET_NULL) ? socket6FD : socket4FD;\n        \n        const uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes] + currentWrite->bytesDone;\n        \n        NSUInteger bytesToWrite = [currentWrite->buffer length] - currentWrite->bytesDone;\n        \n        if (bytesToWrite > SIZE_MAX) // NSUInteger may be bigger than size_t (write param 3)\n        {\n            bytesToWrite = SIZE_MAX;\n        }\n        \n        ssize_t result = write(socketFD, buffer, (size_t)bytesToWrite);\n        LogVerbose(@\"wrote to socket = %zd\", result);\n        \n        // Check results\n        if (result < 0)\n        {\n            if (errno == EWOULDBLOCK)\n            {\n                waiting = YES;\n            }\n            else\n            {\n                error = [self errnoErrorWithReason:@\"Error in write() function\"];\n            }\n        }\n        else\n        {\n            bytesWritten = result;\n        }\n    }\n    \n    // We're done with our writing.\n    // If we explictly ran into a situation where the socket told us there was no room in the buffer,\n    // then we immediately resume listening for notifications.\n    // \n    // We must do this before we dequeue another write,\n    // as that may in turn invoke this method again.\n    // \n    // Note that if CFStream is involved, it may have maliciously put our socket in blocking mode.\n    \n    if (waiting)\n    {\n        flags &= ~kSocketCanAcceptBytes;\n        \n        if (![self usingCFStreamForTLS])\n        {\n            [self resumeWriteSource];\n        }\n    }\n    \n    // Check our results\n    \n    BOOL done = NO;\n    \n    if (bytesWritten > 0)\n    {\n        // Update total amount read for the current write\n        currentWrite->bytesDone += bytesWritten;\n        LogVerbose(@\"currentWrite->bytesDone = %lu\", (unsigned long)currentWrite->bytesDone);\n        \n        // Is packet done?\n        done = (currentWrite->bytesDone == [currentWrite->buffer length]);\n    }\n    \n    if (done)\n    {\n        [self completeCurrentWrite];\n        \n        if (!error)\n        {\n            [self maybeDequeueWrite];\n        }\n    }\n    else\n    {\n        // We were unable to finish writing the data,\n        // so we're waiting for another callback to notify us of available space in the lower-level output buffer.\n        \n        if (!waiting & !error)\n        {\n            // This would be the case if our write was able to accept some data, but not all of it.\n            \n            flags &= ~kSocketCanAcceptBytes;\n            \n            if (![self usingCFStreamForTLS])\n            {\n                [self resumeWriteSource];\n            }\n        }\n        \n        if (bytesWritten > 0)\n        {\n            // We're not done with the entire write, but we have written some bytes\n            \n            if (delegateQueue && [delegate respondsToSelector:@selector(socket:didWritePartialDataOfLength:tag:)])\n            {\n                __strong id theDelegate = delegate;\n                long theWriteTag = currentWrite->tag;\n                \n                dispatch_async(delegateQueue, ^{ @autoreleasepool {\n                    \n                    [theDelegate socket:self didWritePartialDataOfLength:bytesWritten tag:theWriteTag];\n                }});\n            }\n        }\n    }\n    \n    // Check for errors\n    \n    if (error)\n    {\n        [self closeWithError:[self errnoErrorWithReason:@\"Error in write() function\"]];\n    }\n    \n    // Do not add any code here without first adding a return statement in the error case above.\n}\n\n- (void)completeCurrentWrite\n{\n    LogTrace();\n    \n    NSAssert(currentWrite, @\"Trying to complete current write when there is no current write.\");\n    \n    \n    if (delegateQueue && [delegate respondsToSelector:@selector(socket:didWriteDataWithTag:)])\n    {\n        __strong id theDelegate = delegate;\n        long theWriteTag = currentWrite->tag;\n        \n        dispatch_async(delegateQueue, ^{ @autoreleasepool {\n            \n            [theDelegate socket:self didWriteDataWithTag:theWriteTag];\n        }});\n    }\n    \n    [self endCurrentWrite];\n}\n\n- (void)endCurrentWrite\n{\n    if (writeTimer)\n    {\n        dispatch_source_cancel(writeTimer);\n        writeTimer = NULL;\n    }\n    \n    currentWrite = nil;\n}\n\n- (void)setupWriteTimerWithTimeout:(NSTimeInterval)timeout\n{\n    if (timeout >= 0.0)\n    {\n        writeTimer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, socketQueue);\n        \n        dispatch_source_set_event_handler(writeTimer, ^{ @autoreleasepool {\n            \n            [self doWriteTimeout];\n        }});\n        \n        #if NEEDS_DISPATCH_RETAIN_RELEASE\n        dispatch_source_t theWriteTimer = writeTimer;\n        dispatch_source_set_cancel_handler(writeTimer, ^{\n            LogVerbose(@\"dispatch_release(writeTimer)\");\n            dispatch_release(theWriteTimer);\n        });\n        #endif\n        \n        dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeout * NSEC_PER_SEC));\n        \n        dispatch_source_set_timer(writeTimer, tt, DISPATCH_TIME_FOREVER, 0);\n        dispatch_resume(writeTimer);\n    }\n}\n\n- (void)doWriteTimeout\n{\n    // This is a little bit tricky.\n    // Ideally we'd like to synchronously query the delegate about a timeout extension.\n    // But if we do so synchronously we risk a possible deadlock.\n    // So instead we have to do so asynchronously, and callback to ourselves from within the delegate block.\n    \n    flags |= kWritesPaused;\n    \n    if (delegateQueue && [delegate respondsToSelector:@selector(socket:shouldTimeoutWriteWithTag:elapsed:bytesDone:)])\n    {\n        __strong id theDelegate = delegate;\n        GCDAsyncWritePacket *theWrite = currentWrite;\n        \n        dispatch_async(delegateQueue, ^{ @autoreleasepool {\n            \n            NSTimeInterval timeoutExtension = 0.0;\n            \n            timeoutExtension = [theDelegate socket:self shouldTimeoutWriteWithTag:theWrite->tag\n                                                                          elapsed:theWrite->timeout\n                                                                        bytesDone:theWrite->bytesDone];\n            \n            dispatch_async(socketQueue, ^{ @autoreleasepool {\n                \n                [self doWriteTimeoutWithExtension:timeoutExtension];\n            }});\n        }});\n    }\n    else\n    {\n        [self doWriteTimeoutWithExtension:0.0];\n    }\n}\n\n- (void)doWriteTimeoutWithExtension:(NSTimeInterval)timeoutExtension\n{\n    if (currentWrite)\n    {\n        if (timeoutExtension > 0.0)\n        {\n            currentWrite->timeout += timeoutExtension;\n            \n            // Reschedule the timer\n            dispatch_time_t tt = dispatch_time(DISPATCH_TIME_NOW, (timeoutExtension * NSEC_PER_SEC));\n            dispatch_source_set_timer(writeTimer, tt, DISPATCH_TIME_FOREVER, 0);\n            \n            // Unpause writes, and continue\n            flags &= ~kWritesPaused;\n            [self doWriteData];\n        }\n        else\n        {\n            LogVerbose(@\"WriteTimeout\");\n            \n            [self closeWithError:[self writeTimeoutError]];\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Security\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)startTLS:(NSDictionary *)tlsSettings\n{\n    LogTrace();\n    \n    if (tlsSettings == nil)\n    {\n        // Passing nil/NULL to CFReadStreamSetProperty will appear to work the same as passing an empty dictionary,\n        // but causes problems if we later try to fetch the remote host's certificate.\n        // \n        // To be exact, it causes the following to return NULL instead of the normal result:\n        // CFReadStreamCopyProperty(readStream, kCFStreamPropertySSLPeerCertificates)\n        // \n        // So we use an empty dictionary instead, which works perfectly.\n        \n        tlsSettings = [NSDictionary dictionary];\n    }\n    \n    GCDAsyncSpecialPacket *packet = [[GCDAsyncSpecialPacket alloc] initWithTLSSettings:tlsSettings];\n    \n    dispatch_async(socketQueue, ^{ @autoreleasepool {\n        \n        if ((flags & kSocketStarted) && !(flags & kQueuedTLS) && !(flags & kForbidReadsWrites))\n        {\n            [readQueue addObject:packet];\n            [writeQueue addObject:packet];\n            \n            flags |= kQueuedTLS;\n            \n            [self maybeDequeueRead];\n            [self maybeDequeueWrite];\n        }\n    }});\n    \n}\n\n- (void)maybeStartTLS\n{\n    // We can't start TLS until:\n    // - All queued reads prior to the user calling startTLS are complete\n    // - All queued writes prior to the user calling startTLS are complete\n    // \n    // We'll know these conditions are met when both kStartingReadTLS and kStartingWriteTLS are set\n    \n    if ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS))\n    {\n        BOOL canUseSecureTransport = YES;\n        \n        #if TARGET_OS_IPHONE\n        {\n            GCDAsyncSpecialPacket *tlsPacket = (GCDAsyncSpecialPacket *)currentRead;\n            NSDictionary *tlsSettings = tlsPacket->tlsSettings;\n            \n            NSNumber *value;\n            \n            value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLAllowsAnyRoot];\n            if (value && [value boolValue] == YES)\n                canUseSecureTransport = NO;\n            \n            value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLAllowsExpiredRoots];\n            if (value && [value boolValue] == YES)\n                canUseSecureTransport = NO;\n            \n            value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLValidatesCertificateChain];\n            if (value && [value boolValue] == NO)\n                canUseSecureTransport = NO;\n            \n            value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLAllowsExpiredCertificates];\n            if (value && [value boolValue] == YES)\n                canUseSecureTransport = NO;\n        }\n        #endif\n        \n        if (IS_SECURE_TRANSPORT_AVAILABLE && canUseSecureTransport)\n        {\n        #if SECURE_TRANSPORT_MAYBE_AVAILABLE\n            [self ssl_startTLS];\n        #endif\n        }\n        else\n        {\n        #if TARGET_OS_IPHONE\n            [self cf_startTLS];\n        #endif\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Security via SecureTransport\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if SECURE_TRANSPORT_MAYBE_AVAILABLE\n\n- (OSStatus)sslReadWithBuffer:(void *)buffer length:(size_t *)bufferLength\n{\n    LogVerbose(@\"sslReadWithBuffer:%p length:%lu\", buffer, (unsigned long)*bufferLength);\n    \n    if ((socketFDBytesAvailable == 0) && ([sslPreBuffer availableBytes] == 0))\n    {\n        LogVerbose(@\"%@ - No data available to read...\", THIS_METHOD);\n        \n        // No data available to read.\n        // \n        // Need to wait for readSource to fire and notify us of\n        // available data in the socket's internal read buffer.\n        \n        [self resumeReadSource];\n        \n        *bufferLength = 0;\n        return errSSLWouldBlock;\n    }\n    \n    size_t totalBytesRead = 0;\n    size_t totalBytesLeftToBeRead = *bufferLength;\n    \n    BOOL done = NO;\n    BOOL socketError = NO;\n    \n    // \n    // STEP 1 : READ FROM SSL PRE BUFFER\n    // \n    \n    size_t sslPreBufferLength = [sslPreBuffer availableBytes];\n    \n    if (sslPreBufferLength > 0)\n    {\n        LogVerbose(@\"%@: Reading from SSL pre buffer...\", THIS_METHOD);\n        \n        size_t bytesToCopy;\n        if (sslPreBufferLength > totalBytesLeftToBeRead)\n            bytesToCopy = totalBytesLeftToBeRead;\n        else\n            bytesToCopy = sslPreBufferLength;\n        \n        LogVerbose(@\"%@: Copying %zu bytes from sslPreBuffer\", THIS_METHOD, bytesToCopy);\n        \n        memcpy(buffer, [sslPreBuffer readBuffer], bytesToCopy);\n        [sslPreBuffer didRead:bytesToCopy];\n        \n        LogVerbose(@\"%@: sslPreBuffer.length = %zu\", THIS_METHOD, [sslPreBuffer availableBytes]);\n        \n        totalBytesRead += bytesToCopy;\n        totalBytesLeftToBeRead -= bytesToCopy;\n        \n        done = (totalBytesLeftToBeRead == 0);\n        \n        if (done) LogVerbose(@\"%@: Complete\", THIS_METHOD);\n    }\n    \n    // \n    // STEP 2 : READ FROM SOCKET\n    // \n    \n    if (!done && (socketFDBytesAvailable > 0))\n    {\n        LogVerbose(@\"%@: Reading from socket...\", THIS_METHOD);\n        \n        int socketFD = (socket6FD == SOCKET_NULL) ? socket4FD : socket6FD;\n        \n        BOOL readIntoPreBuffer;\n        size_t bytesToRead;\n        uint8_t *buf;\n        \n        if (socketFDBytesAvailable > totalBytesLeftToBeRead)\n        {\n            // Read all available data from socket into sslPreBuffer.\n            // Then copy requested amount into dataBuffer.\n            \n            LogVerbose(@\"%@: Reading into sslPreBuffer...\", THIS_METHOD);\n            \n            [sslPreBuffer ensureCapacityForWrite:socketFDBytesAvailable];\n            \n            readIntoPreBuffer = YES;\n            bytesToRead = (size_t)socketFDBytesAvailable;\n            buf = [sslPreBuffer writeBuffer];\n        }\n        else\n        {\n            // Read available data from socket directly into dataBuffer.\n            \n            LogVerbose(@\"%@: Reading directly into dataBuffer...\", THIS_METHOD);\n            \n            readIntoPreBuffer = NO;\n            bytesToRead = totalBytesLeftToBeRead;\n            buf = (uint8_t *)buffer + totalBytesRead;\n        }\n        \n        ssize_t result = read(socketFD, buf, bytesToRead);\n        LogVerbose(@\"%@: read from socket = %zd\", THIS_METHOD, result);\n        \n        if (result < 0)\n        {\n            LogVerbose(@\"%@: read errno = %i\", THIS_METHOD, errno);\n            \n            if (errno != EWOULDBLOCK)\n            {\n                socketError = YES;\n            }\n            \n            socketFDBytesAvailable = 0;\n        }\n        else if (result == 0)\n        {\n            LogVerbose(@\"%@: read EOF\", THIS_METHOD);\n            \n            socketError = YES;\n            socketFDBytesAvailable = 0;\n        }\n        else\n        {\n            size_t bytesReadFromSocket = result;\n            \n            if (socketFDBytesAvailable > bytesReadFromSocket)\n                socketFDBytesAvailable -= bytesReadFromSocket;\n            else\n                socketFDBytesAvailable = 0;\n            \n            if (readIntoPreBuffer)\n            {\n                [sslPreBuffer didWrite:bytesReadFromSocket];\n                \n                size_t bytesToCopy = MIN(totalBytesLeftToBeRead, bytesReadFromSocket);\n                \n                LogVerbose(@\"%@: Copying %zu bytes out of sslPreBuffer\", THIS_METHOD, bytesToCopy);\n                \n                memcpy((uint8_t *)buffer + totalBytesRead, [sslPreBuffer readBuffer], bytesToCopy);\n                [sslPreBuffer didRead:bytesToCopy];\n                \n                totalBytesRead += bytesToCopy;\n                totalBytesLeftToBeRead -= bytesToCopy;\n                \n                LogVerbose(@\"%@: sslPreBuffer.length = %zu\", THIS_METHOD, [sslPreBuffer availableBytes]);\n            }\n            else\n            {\n                totalBytesRead += bytesReadFromSocket;\n                totalBytesLeftToBeRead -= bytesReadFromSocket;\n            }\n            \n            done = (totalBytesLeftToBeRead == 0);\n            \n            if (done) LogVerbose(@\"%@: Complete\", THIS_METHOD);\n        }\n    }\n    \n    *bufferLength = totalBytesRead;\n    \n    if (done)\n        return noErr;\n    \n    if (socketError)\n        return errSSLClosedAbort;\n    \n    return errSSLWouldBlock;\n}\n\n- (OSStatus)sslWriteWithBuffer:(const void *)buffer length:(size_t *)bufferLength\n{\n    if (!(flags & kSocketCanAcceptBytes))\n    {\n        // Unable to write.\n        // \n        // Need to wait for writeSource to fire and notify us of\n        // available space in the socket's internal write buffer.\n        \n        [self resumeWriteSource];\n        \n        *bufferLength = 0;\n        return errSSLWouldBlock;\n    }\n    \n    size_t bytesToWrite = *bufferLength;\n    size_t bytesWritten = 0;\n    \n    BOOL done = NO;\n    BOOL socketError = NO;\n    \n    int socketFD = (socket4FD == SOCKET_NULL) ? socket6FD : socket4FD;\n    \n    ssize_t result = write(socketFD, buffer, bytesToWrite);\n    \n    if (result < 0)\n    {\n        if (errno != EWOULDBLOCK)\n        {\n            socketError = YES;\n        }\n        \n        flags &= ~kSocketCanAcceptBytes;\n    }\n    else if (result == 0)\n    {\n        flags &= ~kSocketCanAcceptBytes;\n    }\n    else\n    {\n        bytesWritten = result;\n        \n        done = (bytesWritten == bytesToWrite);\n    }\n    \n    *bufferLength = bytesWritten;\n    \n    if (done)\n        return noErr;\n    \n    if (socketError)\n        return errSSLClosedAbort;\n    \n    return errSSLWouldBlock;\n}\n\nstatic OSStatus SSLReadFunction(SSLConnectionRef connection, void *data, size_t *dataLength)\n{\n    GCDAsyncSocket *asyncSocket = (__bridge GCDAsyncSocket *)connection;\n    \n    NSCAssert(dispatch_get_specific(asyncSocket->IsOnSocketQueueOrTargetQueueKey), @\"What the deuce?\");\n    \n    return [asyncSocket sslReadWithBuffer:data length:dataLength];\n}\n\nstatic OSStatus SSLWriteFunction(SSLConnectionRef connection, const void *data, size_t *dataLength)\n{\n    GCDAsyncSocket *asyncSocket = (__bridge GCDAsyncSocket *)connection;\n    \n    NSCAssert(dispatch_get_specific(asyncSocket->IsOnSocketQueueOrTargetQueueKey), @\"What the deuce?\");\n    \n    return [asyncSocket sslWriteWithBuffer:data length:dataLength];\n}\n\n- (void)ssl_startTLS\n{\n    LogTrace();\n    \n    LogVerbose(@\"Starting TLS (via SecureTransport)...\");\n        \n    OSStatus status;\n    \n    GCDAsyncSpecialPacket *tlsPacket = (GCDAsyncSpecialPacket *)currentRead;\n    NSDictionary *tlsSettings = tlsPacket->tlsSettings;\n    \n    // Create SSLContext, and setup IO callbacks and connection ref\n    \n    BOOL isServer = [[tlsSettings objectForKey:(NSString *)kCFStreamSSLIsServer] boolValue];\n    \n    #if TARGET_OS_IPHONE\n    {\n        if (isServer)\n            sslContext = SSLCreateContext(kCFAllocatorDefault, kSSLServerSide, kSSLStreamType);\n        else\n            sslContext = SSLCreateContext(kCFAllocatorDefault, kSSLClientSide, kSSLStreamType);\n        \n        if (sslContext == NULL)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLCreateContext\"]];\n            return;\n        }\n    }\n    #else\n    {\n        status = SSLNewContext(isServer, &sslContext);\n        if (status != noErr)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLNewContext\"]];\n            return;\n        }\n    }\n    #endif\n    \n    status = SSLSetIOFuncs(sslContext, &SSLReadFunction, &SSLWriteFunction);\n    if (status != noErr)\n    {\n        [self closeWithError:[self otherError:@\"Error in SSLSetIOFuncs\"]];\n        return;\n    }\n    \n    status = SSLSetConnection(sslContext, (__bridge SSLConnectionRef)self);\n    if (status != noErr)\n    {\n        [self closeWithError:[self otherError:@\"Error in SSLSetConnection\"]];\n        return;\n    }\n    \n    // Configure SSLContext from given settings\n    // \n    // Checklist:\n    // 1. kCFStreamSSLPeerName\n    // 2. kCFStreamSSLAllowsAnyRoot\n    // 3. kCFStreamSSLAllowsExpiredRoots\n    // 4. kCFStreamSSLValidatesCertificateChain\n    // 5. kCFStreamSSLAllowsExpiredCertificates\n    // 6. kCFStreamSSLCertificates\n    // 7. kCFStreamSSLLevel (GCDAsyncSocketSSLProtocolVersionMin / GCDAsyncSocketSSLProtocolVersionMax)\n    // 8. GCDAsyncSocketSSLCipherSuites\n    // 9. GCDAsyncSocketSSLDiffieHellmanParameters (Mac)\n    \n    id value;\n    \n    // 1. kCFStreamSSLPeerName\n    \n    value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLPeerName];\n    if ([value isKindOfClass:[NSString class]])\n    {\n        NSString *peerName = (NSString *)value;\n        \n        const char *peer = [peerName UTF8String];\n        size_t peerLen = strlen(peer);\n        \n        status = SSLSetPeerDomainName(sslContext, peer, peerLen);\n        if (status != noErr)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLSetPeerDomainName\"]];\n            return;\n        }\n    }\n    \n    // 2. kCFStreamSSLAllowsAnyRoot\n    \n    value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLAllowsAnyRoot];\n    if (value)\n    {\n        #if TARGET_OS_IPHONE\n        NSAssert(NO, @\"Security option unavailable via SecureTransport in iOS - kCFStreamSSLAllowsAnyRoot\");\n        #else\n        \n        BOOL allowsAnyRoot = [value boolValue];\n        \n        status = SSLSetAllowsAnyRoot(sslContext, allowsAnyRoot);\n        if (status != noErr)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLSetAllowsAnyRoot\"]];\n            return;\n        }\n        \n        #endif\n    }\n    \n    // 3. kCFStreamSSLAllowsExpiredRoots\n    \n    value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLAllowsExpiredRoots];\n    if (value)\n    {\n        #if TARGET_OS_IPHONE\n        NSAssert(NO, @\"Security option unavailable via SecureTransport in iOS - kCFStreamSSLAllowsExpiredRoots\");\n        #else\n        \n        BOOL allowsExpiredRoots = [value boolValue];\n        \n        status = SSLSetAllowsExpiredRoots(sslContext, allowsExpiredRoots);\n        if (status != noErr)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLSetAllowsExpiredRoots\"]];\n            return;\n        }\n        \n        #endif\n    }\n    \n    // 4. kCFStreamSSLValidatesCertificateChain\n    \n    value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLValidatesCertificateChain];\n    if (value)\n    {\n        #if TARGET_OS_IPHONE\n        NSAssert(NO, @\"Security option unavailable via SecureTransport in iOS - kCFStreamSSLValidatesCertificateChain\");\n        #else\n        \n        BOOL validatesCertChain = [value boolValue];\n        \n        status = SSLSetEnableCertVerify(sslContext, validatesCertChain);\n        if (status != noErr)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLSetEnableCertVerify\"]];\n            return;\n        }\n        \n        #endif\n    }\n    \n    // 5. kCFStreamSSLAllowsExpiredCertificates\n    \n    value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLAllowsExpiredCertificates];\n    if (value)\n    {\n        #if TARGET_OS_IPHONE\n        NSAssert(NO, @\"Security option unavailable via SecureTransport in iOS - kCFStreamSSLAllowsExpiredCertificates\");\n        #else\n        \n        BOOL allowsExpiredCerts = [value boolValue];\n        \n        status = SSLSetAllowsExpiredCerts(sslContext, allowsExpiredCerts);\n        if (status != noErr)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLSetAllowsExpiredCerts\"]];\n            return;\n        }\n        \n        #endif\n    }\n    \n    // 6. kCFStreamSSLCertificates\n    \n    value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLCertificates];\n    if (value)\n    {\n        CFArrayRef certs = (__bridge CFArrayRef)value;\n        \n        status = SSLSetCertificate(sslContext, certs);\n        if (status != noErr)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLSetCertificate\"]];\n            return;\n        }\n    }\n    \n    // 7. kCFStreamSSLLevel\n    \n    #if TARGET_OS_IPHONE\n    {\n        NSString *sslLevel = [tlsSettings objectForKey:(NSString *)kCFStreamSSLLevel];\n        \n        NSString *sslMinLevel = [tlsSettings objectForKey:GCDAsyncSocketSSLProtocolVersionMin];\n        NSString *sslMaxLevel = [tlsSettings objectForKey:GCDAsyncSocketSSLProtocolVersionMax];\n        \n        if (sslLevel)\n        {\n            if (sslMinLevel || sslMaxLevel)\n            {\n                LogWarn(@\"kCFStreamSSLLevel security option ignored. Overriden by \"\n                        @\"GCDAsyncSocketSSLProtocolVersionMin and/or GCDAsyncSocketSSLProtocolVersionMax\");\n            }\n            else\n            {\n                if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelSSLv3])\n                {\n                    sslMinLevel = sslMaxLevel = @\"kSSLProtocol3\";\n                }\n                else if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelTLSv1])\n                {\n                    sslMinLevel = sslMaxLevel = @\"kTLSProtocol1\";\n                }\n                else\n                {\n                    LogWarn(@\"Unable to match kCFStreamSSLLevel security option to valid SSL protocol min/max\");\n                }\n            }\n        }\n        \n        if (sslMinLevel || sslMaxLevel)\n        {\n            OSStatus status1 = noErr;\n            OSStatus status2 = noErr;\n            \n            SSLProtocol (^sslProtocolForString)(NSString*) = ^SSLProtocol (NSString *protocolStr) {\n                \n                if ([protocolStr isEqualToString:@\"kSSLProtocol3\"])  return kSSLProtocol3;\n                if ([protocolStr isEqualToString:@\"kTLSProtocol1\"])  return kTLSProtocol1;\n                if ([protocolStr isEqualToString:@\"kTLSProtocol11\"]) return kTLSProtocol11;\n                if ([protocolStr isEqualToString:@\"kTLSProtocol12\"]) return kTLSProtocol12;\n                \n                return kSSLProtocolUnknown;\n            };\n            \n            SSLProtocol minProtocol = sslProtocolForString(sslMinLevel);\n            SSLProtocol maxProtocol = sslProtocolForString(sslMaxLevel);\n            \n            if (minProtocol != kSSLProtocolUnknown)\n            {\n                status1 = SSLSetProtocolVersionMin(sslContext, minProtocol);\n            }\n            if (maxProtocol != kSSLProtocolUnknown)\n            {\n                status2 = SSLSetProtocolVersionMax(sslContext, maxProtocol);\n            }\n            \n            if (status1 != noErr || status2 != noErr)\n            {\n                [self closeWithError:[self otherError:@\"Error in SSLSetProtocolVersionMinMax\"]];\n                return;\n            }\n        }\n    }\n    #else\n    {\n        value = [tlsSettings objectForKey:(NSString *)kCFStreamSSLLevel];\n        if (value)\n        {\n            NSString *sslLevel = (NSString *)value;\n            \n            OSStatus status1 = noErr;\n            OSStatus status2 = noErr;\n            OSStatus status3 = noErr;\n            \n            if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelSSLv2])\n            {\n                // kCFStreamSocketSecurityLevelSSLv2:\n                // \n                // Specifies that SSL version 2 be set as the security protocol.\n                \n                status1 = SSLSetProtocolVersionEnabled(sslContext, kSSLProtocolAll, NO);\n                status2 = SSLSetProtocolVersionEnabled(sslContext, kSSLProtocol2,   YES);\n            }\n            else if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelSSLv3])\n            {\n                // kCFStreamSocketSecurityLevelSSLv3:\n                // \n                // Specifies that SSL version 3 be set as the security protocol.\n                // If SSL version 3 is not available, specifies that SSL version 2 be set as the security protocol.\n                \n                status1 = SSLSetProtocolVersionEnabled(sslContext, kSSLProtocolAll, NO);\n                status2 = SSLSetProtocolVersionEnabled(sslContext, kSSLProtocol2,   YES);\n                status3 = SSLSetProtocolVersionEnabled(sslContext, kSSLProtocol3,   YES);\n            }\n            else if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelTLSv1])\n            {\n                // kCFStreamSocketSecurityLevelTLSv1:\n                // \n                // Specifies that TLS version 1 be set as the security protocol.\n                \n                status1 = SSLSetProtocolVersionEnabled(sslContext, kSSLProtocolAll, NO);\n                status2 = SSLSetProtocolVersionEnabled(sslContext, kTLSProtocol1,   YES);\n            }\n            else if ([sslLevel isEqualToString:(NSString *)kCFStreamSocketSecurityLevelNegotiatedSSL])\n            {\n                // kCFStreamSocketSecurityLevelNegotiatedSSL:\n                // \n                // Specifies that the highest level security protocol that can be negotiated be used.\n                \n                status1 = SSLSetProtocolVersionEnabled(sslContext, kSSLProtocolAll, YES);\n            }\n            \n            if (status1 != noErr || status2 != noErr || status3 != noErr)\n            {\n                [self closeWithError:[self otherError:@\"Error in SSLSetProtocolVersionEnabled\"]];\n                return;\n            }\n        }\n    }\n    #endif\n    \n    // 8. GCDAsyncSocketSSLCipherSuites\n    \n    value = [tlsSettings objectForKey:GCDAsyncSocketSSLCipherSuites];\n    if (value)\n    {\n        NSArray *cipherSuites = (NSArray *)value;\n        NSUInteger numberCiphers = [cipherSuites count];\n        SSLCipherSuite ciphers[numberCiphers];\n        \n        NSUInteger cipherIndex;\n        for (cipherIndex = 0; cipherIndex < numberCiphers; cipherIndex++)\n        {\n            NSNumber *cipherObject = [cipherSuites objectAtIndex:cipherIndex];\n            ciphers[cipherIndex] = [cipherObject shortValue];\n        }\n        \n        status = SSLSetEnabledCiphers(sslContext, ciphers, numberCiphers);\n        if (status != noErr)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLSetEnabledCiphers\"]];\n            return;\n        }\n    }\n    \n    // 9. GCDAsyncSocketSSLDiffieHellmanParameters\n    \n    #if !TARGET_OS_IPHONE\n    value = [tlsSettings objectForKey:GCDAsyncSocketSSLDiffieHellmanParameters];\n    if (value)\n    {\n        NSData *diffieHellmanData = (NSData *)value;\n        \n        status = SSLSetDiffieHellmanParams(sslContext, [diffieHellmanData bytes], [diffieHellmanData length]);\n        if (status != noErr)\n        {\n            [self closeWithError:[self otherError:@\"Error in SSLSetDiffieHellmanParams\"]];\n            return;\n        }\n    }\n    #endif\n    \n    // Setup the sslPreBuffer\n    // \n    // Any data in the preBuffer needs to be moved into the sslPreBuffer,\n    // as this data is now part of the secure read stream.\n    \n    sslPreBuffer = [[GCDAsyncSocketPreBuffer alloc] initWithCapacity:(1024 * 4)];\n    \n    size_t preBufferLength  = [preBuffer availableBytes];\n    \n    if (preBufferLength > 0)\n    {\n        [sslPreBuffer ensureCapacityForWrite:preBufferLength];\n        \n        memcpy([sslPreBuffer writeBuffer], [preBuffer readBuffer], preBufferLength);\n        [preBuffer didRead:preBufferLength];\n        [sslPreBuffer didWrite:preBufferLength];\n    }\n    \n    sslErrCode = noErr;\n    \n    // Start the SSL Handshake process\n    \n    [self ssl_continueSSLHandshake];\n}\n\n- (void)ssl_continueSSLHandshake\n{\n    LogTrace();\n    \n    // If the return value is noErr, the session is ready for normal secure communication.\n    // If the return value is errSSLWouldBlock, the SSLHandshake function must be called again.\n    // Otherwise, the return value indicates an error code.\n    \n    OSStatus status = SSLHandshake(sslContext);\n    \n    if (status == noErr)\n    {\n        LogVerbose(@\"SSLHandshake complete\");\n        \n        flags &= ~kStartingReadTLS;\n        flags &= ~kStartingWriteTLS;\n        \n        flags |=  kSocketSecure;\n        \n        if (delegateQueue && [delegate respondsToSelector:@selector(socketDidSecure:)])\n        {\n            __strong id theDelegate = delegate;\n            \n            dispatch_async(delegateQueue, ^{ @autoreleasepool {\n                \n                [theDelegate socketDidSecure:self];\n            }});\n        }\n        \n        [self endCurrentRead];\n        [self endCurrentWrite];\n        \n        [self maybeDequeueRead];\n        [self maybeDequeueWrite];\n    }\n    else if (status == errSSLWouldBlock)\n    {\n        LogVerbose(@\"SSLHandshake continues...\");\n        \n        // Handshake continues...\n        // \n        // This method will be called again from doReadData or doWriteData.\n    }\n    else\n    {\n        [self closeWithError:[self sslError:status]];\n    }\n}\n\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Security via CFStream\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if TARGET_OS_IPHONE\n\n- (void)cf_finishSSLHandshake\n{\n    LogTrace();\n    \n    if ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS))\n    {\n        flags &= ~kStartingReadTLS;\n        flags &= ~kStartingWriteTLS;\n        \n        flags |= kSocketSecure;\n        \n        if (delegateQueue && [delegate respondsToSelector:@selector(socketDidSecure:)])\n        {\n            __strong id theDelegate = delegate;\n        \n            dispatch_async(delegateQueue, ^{ @autoreleasepool {\n                \n                [theDelegate socketDidSecure:self];\n            }});\n        }\n        \n        [self endCurrentRead];\n        [self endCurrentWrite];\n        \n        [self maybeDequeueRead];\n        [self maybeDequeueWrite];\n    }\n}\n\n- (void)cf_abortSSLHandshake:(NSError *)error\n{\n    LogTrace();\n    \n    if ((flags & kStartingReadTLS) && (flags & kStartingWriteTLS))\n    {\n        flags &= ~kStartingReadTLS;\n        flags &= ~kStartingWriteTLS;\n        \n        [self closeWithError:error];\n    }\n}\n\n- (void)cf_startTLS\n{\n    LogTrace();\n    \n    LogVerbose(@\"Starting TLS (via CFStream)...\");\n    \n    if ([preBuffer availableBytes] > 0)\n    {\n        NSString *msg = @\"Invalid TLS transition. Handshake has already been read from socket.\";\n        \n        [self closeWithError:[self otherError:msg]];\n        return;\n    }\n    \n    [self suspendReadSource];\n    [self suspendWriteSource];\n    \n    socketFDBytesAvailable = 0;\n    flags &= ~kSocketCanAcceptBytes;\n    flags &= ~kSecureSocketHasBytesAvailable;\n    \n    flags |=  kUsingCFStreamForTLS;\n    \n    if (![self createReadAndWriteStream])\n    {\n        [self closeWithError:[self otherError:@\"Error in CFStreamCreatePairWithSocket\"]];\n        return;\n    }\n    \n    if (![self registerForStreamCallbacksIncludingReadWrite:YES])\n    {\n        [self closeWithError:[self otherError:@\"Error in CFStreamSetClient\"]];\n        return;\n    }\n    \n    if (![self addStreamsToRunLoop])\n    {\n        [self closeWithError:[self otherError:@\"Error in CFStreamScheduleWithRunLoop\"]];\n        return;\n    }\n    \n    NSAssert([currentRead isKindOfClass:[GCDAsyncSpecialPacket class]], @\"Invalid read packet for startTLS\");\n    NSAssert([currentWrite isKindOfClass:[GCDAsyncSpecialPacket class]], @\"Invalid write packet for startTLS\");\n    \n    GCDAsyncSpecialPacket *tlsPacket = (GCDAsyncSpecialPacket *)currentRead;\n    CFDictionaryRef tlsSettings = (__bridge CFDictionaryRef)tlsPacket->tlsSettings;\n    \n    // Getting an error concerning kCFStreamPropertySSLSettings ?\n    // You need to add the CFNetwork framework to your iOS application.\n    \n    BOOL r1 = CFReadStreamSetProperty(readStream, kCFStreamPropertySSLSettings, tlsSettings);\n    BOOL r2 = CFWriteStreamSetProperty(writeStream, kCFStreamPropertySSLSettings, tlsSettings);\n    \n    // For some reason, starting around the time of iOS 4.3,\n    // the first call to set the kCFStreamPropertySSLSettings will return true,\n    // but the second will return false.\n    // \n    // Order doesn't seem to matter.\n    // So you could call CFReadStreamSetProperty and then CFWriteStreamSetProperty, or you could reverse the order.\n    // Either way, the first call will return true, and the second returns false.\n    // \n    // Interestingly, this doesn't seem to affect anything.\n    // Which is not altogether unusual, as the documentation seems to suggest that (for many settings)\n    // setting it on one side of the stream automatically sets it for the other side of the stream.\n    // \n    // Although there isn't anything in the documentation to suggest that the second attempt would fail.\n    // \n    // Furthermore, this only seems to affect streams that are negotiating a security upgrade.\n    // In other words, the socket gets connected, there is some back-and-forth communication over the unsecure\n    // connection, and then a startTLS is issued.\n    // So this mostly affects newer protocols (XMPP, IMAP) as opposed to older protocols (HTTPS).\n    \n    if (!r1 && !r2) // Yes, the && is correct - workaround for apple bug.\n    {\n        [self closeWithError:[self otherError:@\"Error in CFStreamSetProperty\"]];\n        return;\n    }\n    \n    if (![self openStreams])\n    {\n        [self closeWithError:[self otherError:@\"Error in CFStreamOpen\"]];\n        return;\n    }\n    \n    LogVerbose(@\"Waiting for SSL Handshake to complete...\");\n}\n\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark CFStream\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n#if TARGET_OS_IPHONE\n\n+ (void)startCFStreamThreadIfNeeded\n{\n    static dispatch_once_t predicate;\n    dispatch_once(&predicate, ^{\n        \n        cfstreamThread = [[NSThread alloc] initWithTarget:self\n                                                 selector:@selector(cfstreamThread)\n                                                   object:nil];\n        [cfstreamThread start];\n    });\n}\n\n+ (void)cfstreamThread { @autoreleasepool\n{\n    [[NSThread currentThread] setName:GCDAsyncSocketThreadName];\n    \n    LogInfo(@\"CFStreamThread: Started\");\n    \n    // We can't run the run loop unless it has an associated input source or a timer.\n    // So we'll just create a timer that will never fire - unless the server runs for decades.\n    [NSTimer scheduledTimerWithTimeInterval:[[NSDate distantFuture] timeIntervalSinceNow]\n                                     target:self\n                                   selector:@selector(doNothingAtAll:)\n                                   userInfo:nil\n                                    repeats:YES];\n    \n    [[NSRunLoop currentRunLoop] run];\n    \n    LogInfo(@\"CFStreamThread: Stopped\");\n}}\n\n- (void)doNothingAtAll:(NSTimer *)timer\n{\n}\n\n+ (void)scheduleCFStreams:(GCDAsyncSocket *)asyncSocket\n{\n    LogTrace();\n    NSAssert([NSThread currentThread] == cfstreamThread, @\"Invoked on wrong thread\");\n    \n    CFRunLoopRef runLoop = CFRunLoopGetCurrent();\n    \n    if (asyncSocket->readStream)\n        CFReadStreamScheduleWithRunLoop(asyncSocket->readStream, runLoop, kCFRunLoopDefaultMode);\n    \n    if (asyncSocket->writeStream)\n        CFWriteStreamScheduleWithRunLoop(asyncSocket->writeStream, runLoop, kCFRunLoopDefaultMode);\n}\n\n+ (void)unscheduleCFStreams:(GCDAsyncSocket *)asyncSocket\n{\n    LogTrace();\n    NSAssert([NSThread currentThread] == cfstreamThread, @\"Invoked on wrong thread\");\n    \n    CFRunLoopRef runLoop = CFRunLoopGetCurrent();\n    \n    if (asyncSocket->readStream)\n        CFReadStreamUnscheduleFromRunLoop(asyncSocket->readStream, runLoop, kCFRunLoopDefaultMode);\n    \n    if (asyncSocket->writeStream)\n        CFWriteStreamUnscheduleFromRunLoop(asyncSocket->writeStream, runLoop, kCFRunLoopDefaultMode);\n}\n\nstatic void CFReadStreamCallback (CFReadStreamRef stream, CFStreamEventType type, void *pInfo)\n{\n    GCDAsyncSocket *asyncSocket = (__bridge GCDAsyncSocket *)pInfo;\n    \n    switch(type)\n    {\n        case kCFStreamEventHasBytesAvailable:\n        {\n            dispatch_async(asyncSocket->socketQueue, ^{ @autoreleasepool {\n                \n                LogVerbose(@\"CFReadStreamCallback - HasBytesAvailable\");\n                \n                if (asyncSocket->readStream != stream)\n                    return_from_block;\n                \n                if ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS))\n                {\n                    // If we set kCFStreamPropertySSLSettings before we opened the streams, this might be a lie.\n                    // (A callback related to the tcp stream, but not to the SSL layer).\n                    \n                    if (CFReadStreamHasBytesAvailable(asyncSocket->readStream))\n                    {\n                        asyncSocket->flags |= kSecureSocketHasBytesAvailable;\n                        [asyncSocket cf_finishSSLHandshake];\n                    }\n                }\n                else\n                {\n                    asyncSocket->flags |= kSecureSocketHasBytesAvailable;\n                    [asyncSocket doReadData];\n                }\n            }});\n            \n            break;\n        }\n        default:\n        {\n            NSError *error = (__bridge_transfer  NSError *)CFReadStreamCopyError(stream);\n            \n            if (error == nil && type == kCFStreamEventEndEncountered)\n            {\n                error = [asyncSocket connectionClosedError];\n            }\n            \n            dispatch_async(asyncSocket->socketQueue, ^{ @autoreleasepool {\n                \n                LogVerbose(@\"CFReadStreamCallback - Other\");\n                \n                if (asyncSocket->readStream != stream)\n                    return_from_block;\n                \n                if ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS))\n                {\n                    [asyncSocket cf_abortSSLHandshake:error];\n                }\n                else\n                {\n                    [asyncSocket closeWithError:error];\n                }\n            }});\n            \n            break;\n        }\n    }\n    \n}\n\nstatic void CFWriteStreamCallback (CFWriteStreamRef stream, CFStreamEventType type, void *pInfo)\n{\n    GCDAsyncSocket *asyncSocket = (__bridge GCDAsyncSocket *)pInfo;\n    \n    switch(type)\n    {\n        case kCFStreamEventCanAcceptBytes:\n        {\n            dispatch_async(asyncSocket->socketQueue, ^{ @autoreleasepool {\n                \n                LogVerbose(@\"CFWriteStreamCallback - CanAcceptBytes\");\n                \n                if (asyncSocket->writeStream != stream)\n                    return_from_block;\n                \n                if ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS))\n                {\n                    // If we set kCFStreamPropertySSLSettings before we opened the streams, this might be a lie.\n                    // (A callback related to the tcp stream, but not to the SSL layer).\n                    \n                    if (CFWriteStreamCanAcceptBytes(asyncSocket->writeStream))\n                    {\n                        asyncSocket->flags |= kSocketCanAcceptBytes;\n                        [asyncSocket cf_finishSSLHandshake];\n                    }\n                }\n                else\n                {\n                    asyncSocket->flags |= kSocketCanAcceptBytes;\n                    [asyncSocket doWriteData];\n                }\n            }});\n            \n            break;\n        }\n        default:\n        {\n            NSError *error = (__bridge_transfer NSError *)CFWriteStreamCopyError(stream);\n            \n            if (error == nil && type == kCFStreamEventEndEncountered)\n            {\n                error = [asyncSocket connectionClosedError];\n            }\n            \n            dispatch_async(asyncSocket->socketQueue, ^{ @autoreleasepool {\n                \n                LogVerbose(@\"CFWriteStreamCallback - Other\");\n                \n                if (asyncSocket->writeStream != stream)\n                    return_from_block;\n                \n                if ((asyncSocket->flags & kStartingReadTLS) && (asyncSocket->flags & kStartingWriteTLS))\n                {\n                    [asyncSocket cf_abortSSLHandshake:error];\n                }\n                else\n                {\n                    [asyncSocket closeWithError:error];\n                }\n            }});\n            \n            break;\n        }\n    }\n    \n}\n\n- (BOOL)createReadAndWriteStream\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    \n    \n    if (readStream || writeStream)\n    {\n        // Streams already created\n        return YES;\n    }\n    \n    int socketFD = (socket6FD == SOCKET_NULL) ? socket4FD : socket6FD;\n    \n    if (socketFD == SOCKET_NULL)\n    {\n        // Cannot create streams without a file descriptor\n        return NO;\n    }\n    \n    if (![self isConnected])\n    {\n        // Cannot create streams until file descriptor is connected\n        return NO;\n    }\n    \n    LogVerbose(@\"Creating read and write stream...\");\n    \n    CFStreamCreatePairWithSocket(NULL, (CFSocketNativeHandle)socketFD, &readStream, &writeStream);\n    \n    // The kCFStreamPropertyShouldCloseNativeSocket property should be false by default (for our case).\n    // But let's not take any chances.\n    \n    if (readStream)\n        CFReadStreamSetProperty(readStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);\n    if (writeStream)\n        CFWriteStreamSetProperty(writeStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanFalse);\n    \n    if ((readStream == NULL) || (writeStream == NULL))\n    {\n        LogWarn(@\"Unable to create read and write stream...\");\n        \n        if (readStream)\n        {\n            CFReadStreamClose(readStream);\n            CFRelease(readStream);\n            readStream = NULL;\n        }\n        if (writeStream)\n        {\n            CFWriteStreamClose(writeStream);\n            CFRelease(writeStream);\n            writeStream = NULL;\n        }\n        \n        return NO;\n    }\n    \n    return YES;\n}\n\n- (BOOL)registerForStreamCallbacksIncludingReadWrite:(BOOL)includeReadWrite\n{\n    LogVerbose(@\"%@ %@\", THIS_METHOD, (includeReadWrite ? @\"YES\" : @\"NO\"));\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    NSAssert((readStream != NULL && writeStream != NULL), @\"Read/Write stream is null\");\n    \n    streamContext.version = 0;\n    streamContext.info = (__bridge void *)(self);\n    streamContext.retain = nil;\n    streamContext.release = nil;\n    streamContext.copyDescription = nil;\n    \n    CFOptionFlags readStreamEvents = kCFStreamEventErrorOccurred | kCFStreamEventEndEncountered;\n    if (includeReadWrite)\n        readStreamEvents |= kCFStreamEventHasBytesAvailable;\n    \n    if (!CFReadStreamSetClient(readStream, readStreamEvents, &CFReadStreamCallback, &streamContext))\n    {\n        return NO;\n    }\n    \n    CFOptionFlags writeStreamEvents = kCFStreamEventErrorOccurred | kCFStreamEventEndEncountered;\n    if (includeReadWrite)\n        writeStreamEvents |= kCFStreamEventCanAcceptBytes;\n    \n    if (!CFWriteStreamSetClient(writeStream, writeStreamEvents, &CFWriteStreamCallback, &streamContext))\n    {\n        return NO;\n    }\n    \n    return YES;\n}\n\n- (BOOL)addStreamsToRunLoop\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    NSAssert((readStream != NULL && writeStream != NULL), @\"Read/Write stream is null\");\n    \n    if (!(flags & kAddedStreamsToRunLoop))\n    {\n        LogVerbose(@\"Adding streams to runloop...\");\n        \n        [[self class] startCFStreamThreadIfNeeded];\n        [[self class] performSelector:@selector(scheduleCFStreams:)\n                             onThread:cfstreamThread\n                           withObject:self\n                        waitUntilDone:YES];\n        \n        flags |= kAddedStreamsToRunLoop;\n    }\n    \n    return YES;\n}\n\n- (void)removeStreamsFromRunLoop\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    NSAssert((readStream != NULL && writeStream != NULL), @\"Read/Write stream is null\");\n    \n    if (flags & kAddedStreamsToRunLoop)\n    {\n        LogVerbose(@\"Removing streams from runloop...\");\n        \n        [[self class] performSelector:@selector(unscheduleCFStreams:)\n                             onThread:cfstreamThread\n                           withObject:self\n                        waitUntilDone:YES];\n        \n        flags &= ~kAddedStreamsToRunLoop;\n    }\n}\n\n- (BOOL)openStreams\n{\n    LogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey), @\"Must be dispatched on socketQueue\");\n    NSAssert((readStream != NULL && writeStream != NULL), @\"Read/Write stream is null\");\n    \n    CFStreamStatus readStatus = CFReadStreamGetStatus(readStream);\n    CFStreamStatus writeStatus = CFWriteStreamGetStatus(writeStream);\n    \n    if ((readStatus == kCFStreamStatusNotOpen) || (writeStatus == kCFStreamStatusNotOpen))\n    {\n        LogVerbose(@\"Opening read and write stream...\");\n        \n        BOOL r1 = CFReadStreamOpen(readStream);\n        BOOL r2 = CFWriteStreamOpen(writeStream);\n        \n        if (!r1 || !r2)\n        {\n            LogError(@\"Error in CFStreamOpen\");\n            return NO;\n        }\n    }\n    \n    return YES;\n}\n\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Advanced\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * See header file for big discussion of this method.\n**/\n- (BOOL)autoDisconnectOnClosedReadStream\n{\n    // Note: YES means kAllowHalfDuplexConnection is OFF\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        return ((config & kAllowHalfDuplexConnection) == 0);\n    }\n    else\n    {\n        __block BOOL result;\n        \n        dispatch_sync(socketQueue, ^{\n            result = ((config & kAllowHalfDuplexConnection) == 0);\n        });\n        \n        return result;\n    }\n}\n\n/**\n * See header file for big discussion of this method.\n**/\n- (void)setAutoDisconnectOnClosedReadStream:(BOOL)flag\n{\n    // Note: YES means kAllowHalfDuplexConnection is OFF\n    \n    dispatch_block_t block = ^{\n        \n        if (flag)\n            config &= ~kAllowHalfDuplexConnection;\n        else\n            config |= kAllowHalfDuplexConnection;\n    };\n    \n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_async(socketQueue, block);\n}\n\n\n/**\n * See header file for big discussion of this method.\n**/\n- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketNewTargetQueue\n{\n    void *nonNullUnusedPointer = (__bridge void *)self;\n    dispatch_queue_set_specific(socketNewTargetQueue, IsOnSocketQueueOrTargetQueueKey, nonNullUnusedPointer, NULL);\n}\n\n/**\n * See header file for big discussion of this method.\n**/\n- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketOldTargetQueue\n{\n    dispatch_queue_set_specific(socketOldTargetQueue, IsOnSocketQueueOrTargetQueueKey, NULL, NULL);\n}\n\n/**\n * See header file for big discussion of this method.\n**/\n- (void)performBlock:(dispatch_block_t)block\n{\n    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n        block();\n    else\n        dispatch_sync(socketQueue, block);\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (int)socketFD\n{\n    if (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        LogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n        return SOCKET_NULL;\n    }\n    \n    if (socket4FD != SOCKET_NULL)\n        return socket4FD;\n    else\n        return socket6FD;\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (int)socket4FD\n{\n    if (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        LogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n        return SOCKET_NULL;\n    }\n    \n    return socket4FD;\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (int)socket6FD\n{\n    if (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        LogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n        return SOCKET_NULL;\n    }\n    \n    return socket6FD;\n}\n\n#if TARGET_OS_IPHONE\n\n/**\n * Questions? Have you read the header file?\n**/\n- (CFReadStreamRef)readStream\n{\n    if (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        LogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n        return NULL;\n    }\n    \n    if (readStream == NULL)\n        [self createReadAndWriteStream];\n    \n    return readStream;\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (CFWriteStreamRef)writeStream\n{\n    if (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        LogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n        return NULL;\n    }\n    \n    if (writeStream == NULL)\n        [self createReadAndWriteStream];\n    \n    return writeStream;\n}\n\n- (BOOL)enableBackgroundingOnSocketWithCaveat:(BOOL)caveat\n{\n    if (![self createReadAndWriteStream])\n    {\n        // Error occured creating streams (perhaps socket isn't open)\n        return NO;\n    }\n    \n    BOOL r1, r2;\n    \n    LogVerbose(@\"Enabling backgrouding on socket\");\n    \n    r1 = CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n    r2 = CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);\n    \n    if (!r1 || !r2)\n    {\n        return NO;\n    }\n    \n    if (!caveat)\n    {\n        if (![self openStreams])\n        {\n            return NO;\n        }\n    }\n    \n    return YES;\n}\n\n/**\n * Questions? Have you read the header file?\n**/\n- (BOOL)enableBackgroundingOnSocket\n{\n    LogTrace();\n    \n    if (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        LogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n        return NO;\n    }\n    \n    return [self enableBackgroundingOnSocketWithCaveat:NO];\n}\n\n- (BOOL)enableBackgroundingOnSocketWithCaveat // Deprecated in iOS 4.???\n{\n    // This method was created as a workaround for a bug in iOS.\n    // Apple has since fixed this bug.\n    // I'm not entirely sure which version of iOS they fixed it in...\n    \n    LogTrace();\n    \n    if (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        LogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n        return NO;\n    }\n    \n    return [self enableBackgroundingOnSocketWithCaveat:YES];\n}\n\n#endif\n\n#if SECURE_TRANSPORT_MAYBE_AVAILABLE\n\n- (SSLContextRef)sslContext\n{\n    if (!dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))\n    {\n        LogWarn(@\"%@ - Method only available from within the context of a performBlock: invocation\", THIS_METHOD);\n        return NULL;\n    }\n    \n    return sslContext;\n}\n\n#endif\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Class Methods\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n+ (NSString *)hostFromSockaddr4:(const struct sockaddr_in *)pSockaddr4\n{\n    char addrBuf[INET_ADDRSTRLEN];\n    \n    if (inet_ntop(AF_INET, &pSockaddr4->sin_addr, addrBuf, (socklen_t)sizeof(addrBuf)) == NULL)\n    {\n        addrBuf[0] = '\\0';\n    }\n    \n    return [NSString stringWithCString:addrBuf encoding:NSASCIIStringEncoding];\n}\n\n+ (NSString *)hostFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6\n{\n    char addrBuf[INET6_ADDRSTRLEN];\n    \n    if (inet_ntop(AF_INET6, &pSockaddr6->sin6_addr, addrBuf, (socklen_t)sizeof(addrBuf)) == NULL)\n    {\n        addrBuf[0] = '\\0';\n    }\n    \n    return [NSString stringWithCString:addrBuf encoding:NSASCIIStringEncoding];\n}\n\n+ (uint16_t)portFromSockaddr4:(const struct sockaddr_in *)pSockaddr4\n{\n    return ntohs(pSockaddr4->sin_port);\n}\n\n+ (uint16_t)portFromSockaddr6:(const struct sockaddr_in6 *)pSockaddr6\n{\n    return ntohs(pSockaddr6->sin6_port);\n}\n\n+ (NSString *)hostFromAddress:(NSData *)address\n{\n    NSString *host;\n    \n    if ([self getHost:&host port:NULL fromAddress:address])\n        return host;\n    else\n        return nil;\n}\n\n+ (uint16_t)portFromAddress:(NSData *)address\n{\n    uint16_t port;\n    \n    if ([self getHost:NULL port:&port fromAddress:address])\n        return port;\n    else\n        return 0;\n}\n\n+ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSData *)address\n{\n    if ([address length] >= sizeof(struct sockaddr))\n    {\n        const struct sockaddr *sockaddrX = [address bytes];\n        \n        if (sockaddrX->sa_family == AF_INET)\n        {\n            if ([address length] >= sizeof(struct sockaddr_in))\n            {\n                struct sockaddr_in sockaddr4;\n                memcpy(&sockaddr4, sockaddrX, sizeof(sockaddr4));\n                \n                if (hostPtr) *hostPtr = [self hostFromSockaddr4:&sockaddr4];\n                if (portPtr) *portPtr = [self portFromSockaddr4:&sockaddr4];\n                \n                return YES;\n            }\n        }\n        else if (sockaddrX->sa_family == AF_INET6)\n        {\n            if ([address length] >= sizeof(struct sockaddr_in6))\n            {\n                struct sockaddr_in6 sockaddr6;\n                memcpy(&sockaddr6, sockaddrX, sizeof(sockaddr6));\n                \n                if (hostPtr) *hostPtr = [self hostFromSockaddr6:&sockaddr6];\n                if (portPtr) *portPtr = [self portFromSockaddr6:&sockaddr6];\n                \n                return YES;\n            }\n        }\n    }\n    \n    return NO;\n}\n\n+ (NSData *)CRLFData\n{\n    return [NSData dataWithBytes:\"\\x0D\\x0A\" length:2];\n}\n\n+ (NSData *)CRData\n{\n    return [NSData dataWithBytes:\"\\x0D\" length:1];\n}\n\n+ (NSData *)LFData\n{\n    return [NSData dataWithBytes:\"\\x0A\" length:1];\n}\n\n+ (NSData *)ZeroData\n{\n    return [NSData dataWithBytes:\"\" length:1];\n}\n\n@end    \n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Categories/DDData.h",
    "content": "#import <Foundation/Foundation.h>\n\n@interface NSData (DDData)\n\n- (NSData *)md5Digest;\n\n- (NSData *)sha1Digest;\n\n- (NSString *)hexStringValue;\n\n- (NSString *)base64Encoded;\n- (NSData *)base64Decoded;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Categories/DDData.m",
    "content": "#import \"DDData.h\"\n#import <CommonCrypto/CommonDigest.h>\n\n\n@implementation NSData (DDData)\n\nstatic char encodingTable[64] = {\n'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',\n'Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f',\n'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v',\n'w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/' };\n\n- (NSData *)md5Digest\n{\n    unsigned char result[CC_MD5_DIGEST_LENGTH];\n    \n    CC_MD5([self bytes], (CC_LONG)[self length], result);\n    return [NSData dataWithBytes:result length:CC_MD5_DIGEST_LENGTH];\n}\n\n- (NSData *)sha1Digest\n{\n    unsigned char result[CC_SHA1_DIGEST_LENGTH];\n    \n    CC_SHA1([self bytes], (CC_LONG)[self length], result);\n    return [NSData dataWithBytes:result length:CC_SHA1_DIGEST_LENGTH];\n}\n\n- (NSString *)hexStringValue\n{\n    NSMutableString *stringBuffer = [NSMutableString stringWithCapacity:([self length] * 2)];\n    \n    const unsigned char *dataBuffer = [self bytes];\n    int i;\n    \n    for (i = 0; i < [self length]; ++i)\n    {\n        [stringBuffer appendFormat:@\"%02x\", (unsigned int)dataBuffer[i]];\n    }\n    \n    return [stringBuffer copy];\n}\n\n- (NSString *)base64Encoded\n{\n    const unsigned char *bytes = [self bytes];\n    NSMutableString *result = [NSMutableString stringWithCapacity:[self length]];\n    unsigned long ixtext = 0;\n    unsigned long lentext = [self length];\n    long ctremaining = 0;\n    unsigned char inbuf[3], outbuf[4];\n    unsigned short i = 0;\n    unsigned short charsonline = 0, ctcopy = 0;\n    unsigned long ix = 0;\n    \n    while( YES )\n    {\n        ctremaining = lentext - ixtext;\n        if( ctremaining <= 0 ) break;\n        \n        for( i = 0; i < 3; i++ ) {\n            ix = ixtext + i;\n            if( ix < lentext ) inbuf[i] = bytes[ix];\n            else inbuf [i] = 0;\n        }\n        \n        outbuf [0] = (inbuf [0] & 0xFC) >> 2;\n        outbuf [1] = ((inbuf [0] & 0x03) << 4) | ((inbuf [1] & 0xF0) >> 4);\n        outbuf [2] = ((inbuf [1] & 0x0F) << 2) | ((inbuf [2] & 0xC0) >> 6);\n        outbuf [3] = inbuf [2] & 0x3F;\n        ctcopy = 4;\n        \n        switch( ctremaining )\n        {\n            case 1:\n                ctcopy = 2;\n                break;\n            case 2:\n                ctcopy = 3;\n                break;\n        }\n        \n        for( i = 0; i < ctcopy; i++ )\n            [result appendFormat:@\"%c\", encodingTable[outbuf[i]]];\n        \n        for( i = ctcopy; i < 4; i++ )\n            [result appendString:@\"=\"];\n        \n        ixtext += 3;\n        charsonline += 4;\n    }\n    \n    return [NSString stringWithString:result];\n}\n\n- (NSData *)base64Decoded\n{\n    const unsigned char *bytes = [self bytes];\n    NSMutableData *result = [NSMutableData dataWithCapacity:[self length]];\n    \n    unsigned long ixtext = 0;\n    unsigned long lentext = [self length];\n    unsigned char ch = 0;\n    unsigned char inbuf[4] = {0, 0, 0, 0};\n    unsigned char outbuf[3] = {0, 0, 0};\n    short i = 0, ixinbuf = 0;\n    BOOL flignore = NO;\n    BOOL flendtext = NO;\n    \n    while( YES )\n    {\n        if( ixtext >= lentext ) break;\n        ch = bytes[ixtext++];\n        flignore = NO;\n        \n        if( ( ch >= 'A' ) && ( ch <= 'Z' ) ) ch = ch - 'A';\n        else if( ( ch >= 'a' ) && ( ch <= 'z' ) ) ch = ch - 'a' + 26;\n        else if( ( ch >= '0' ) && ( ch <= '9' ) ) ch = ch - '0' + 52;\n        else if( ch == '+' ) ch = 62;\n        else if( ch == '=' ) flendtext = YES;\n        else if( ch == '/' ) ch = 63;\n        else flignore = YES;\n        \n        if( ! flignore )\n        {\n            short ctcharsinbuf = 3;\n            BOOL flbreak = NO;\n            \n            if( flendtext )\n            {\n                if( ! ixinbuf ) break;\n                if( ( ixinbuf == 1 ) || ( ixinbuf == 2 ) ) ctcharsinbuf = 1;\n                else ctcharsinbuf = 2;\n                ixinbuf = 3;\n                flbreak = YES;\n            }\n            \n            inbuf [ixinbuf++] = ch;\n            \n            if( ixinbuf == 4 )\n            {\n                ixinbuf = 0;\n                outbuf [0] = ( inbuf[0] << 2 ) | ( ( inbuf[1] & 0x30) >> 4 );\n                outbuf [1] = ( ( inbuf[1] & 0x0F ) << 4 ) | ( ( inbuf[2] & 0x3C ) >> 2 );\n                outbuf [2] = ( ( inbuf[2] & 0x03 ) << 6 ) | ( inbuf[3] & 0x3F );\n                \n                for( i = 0; i < ctcharsinbuf; i++ )\n                    [result appendBytes:&outbuf[i] length:1];\n            }\n            \n            if( flbreak )  break;\n        }\n    }\n    \n    return [NSData dataWithData:result];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Categories/DDNumber.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@interface NSNumber (DDNumber)\n\n+ (BOOL)parseString:(NSString *)str intoSInt64:(SInt64 *)pNum;\n+ (BOOL)parseString:(NSString *)str intoUInt64:(UInt64 *)pNum;\n\n+ (BOOL)parseString:(NSString *)str intoNSInteger:(NSInteger *)pNum;\n+ (BOOL)parseString:(NSString *)str intoNSUInteger:(NSUInteger *)pNum;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Categories/DDNumber.m",
    "content": "#import \"DDNumber.h\"\n\n\n@implementation NSNumber (DDNumber)\n\n+ (BOOL)parseString:(NSString *)str intoSInt64:(SInt64 *)pNum\n{\n    if(str == nil)\n    {\n        *pNum = 0;\n        return NO;\n    }\n    \n    errno = 0;\n    \n    // On both 32-bit and 64-bit machines, long long = 64 bit\n    \n    *pNum = strtoll([str UTF8String], NULL, 10);\n    \n    if(errno != 0)\n        return NO;\n    else\n        return YES;\n}\n\n+ (BOOL)parseString:(NSString *)str intoUInt64:(UInt64 *)pNum\n{\n    if(str == nil)\n    {\n        *pNum = 0;\n        return NO;\n    }\n    \n    errno = 0;\n    \n    // On both 32-bit and 64-bit machines, unsigned long long = 64 bit\n    \n    *pNum = strtoull([str UTF8String], NULL, 10);\n    \n    if(errno != 0)\n        return NO;\n    else\n        return YES;\n}\n\n+ (BOOL)parseString:(NSString *)str intoNSInteger:(NSInteger *)pNum\n{\n    if(str == nil)\n    {\n        *pNum = 0;\n        return NO;\n    }\n    \n    errno = 0;\n    \n    // On LP64, NSInteger = long = 64 bit\n    // Otherwise, NSInteger = int = long = 32 bit\n    \n    *pNum = strtol([str UTF8String], NULL, 10);\n    \n    if(errno != 0)\n        return NO;\n    else\n        return YES;\n}\n\n+ (BOOL)parseString:(NSString *)str intoNSUInteger:(NSUInteger *)pNum\n{\n    if(str == nil)\n    {\n        *pNum = 0;\n        return NO;\n    }\n    \n    errno = 0;\n    \n    // On LP64, NSUInteger = unsigned long = 64 bit\n    // Otherwise, NSUInteger = unsigned int = unsigned long = 32 bit\n    \n    *pNum = strtoul([str UTF8String], NULL, 10);\n    \n    if(errno != 0)\n        return NO;\n    else\n        return YES;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Categories/DDRange.h",
    "content": "/**\n * DDRange is the functional equivalent of a 64 bit NSRange.\n * The HTTP Server is designed to support very large files.\n * On 32 bit architectures (ppc, i386) NSRange uses unsigned 32 bit integers.\n * This only supports a range of up to 4 gigabytes.\n * By defining our own variant, we can support a range up to 16 exabytes.\n * \n * All effort is given such that DDRange functions EXACTLY the same as NSRange.\n**/\n\n#import <Foundation/NSValue.h>\n#import <Foundation/NSObjCRuntime.h>\n\n@class NSString;\n\ntypedef struct _DDRange {\n    UInt64 location;\n    UInt64 length;\n} DDRange;\n\ntypedef DDRange *DDRangePointer;\n\nNS_INLINE DDRange DDMakeRange(UInt64 loc, UInt64 len) {\n    DDRange r;\n    r.location = loc;\n    r.length = len;\n    return r;\n}\n\nNS_INLINE UInt64 DDMaxRange(DDRange range) {\n    return (range.location + range.length);\n}\n\nNS_INLINE BOOL DDLocationInRange(UInt64 loc, DDRange range) {\n    return (loc - range.location < range.length);\n}\n\nNS_INLINE BOOL DDEqualRanges(DDRange range1, DDRange range2) {\n    return ((range1.location == range2.location) && (range1.length == range2.length));\n}\n\nFOUNDATION_EXPORT DDRange DDUnionRange(DDRange range1, DDRange range2);\nFOUNDATION_EXPORT DDRange DDIntersectionRange(DDRange range1, DDRange range2);\nFOUNDATION_EXPORT NSString *DDStringFromRange(DDRange range);\nFOUNDATION_EXPORT DDRange DDRangeFromString(NSString *aString);\n\nNSInteger DDRangeCompare(DDRangePointer pDDRange1, DDRangePointer pDDRange2);\n\n@interface NSValue (NSValueDDRangeExtensions)\n\n+ (NSValue *)valueWithDDRange:(DDRange)range;\n- (DDRange)ddrangeValue;\n\n- (NSInteger)ddrangeCompare:(NSValue *)ddrangeValue;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Categories/DDRange.m",
    "content": "#import \"DDRange.h\"\n#import \"DDNumber.h\"\n\nDDRange DDUnionRange(DDRange range1, DDRange range2)\n{\n    DDRange result;\n    \n    result.location = MIN(range1.location, range2.location);\n    result.length   = MAX(DDMaxRange(range1), DDMaxRange(range2)) - result.location;\n    \n    return result;\n}\n\nDDRange DDIntersectionRange(DDRange range1, DDRange range2)\n{\n    DDRange result;\n    \n    if((DDMaxRange(range1) < range2.location) || (DDMaxRange(range2) < range1.location))\n    {\n        return DDMakeRange(0, 0);\n    }\n    \n    result.location = MAX(range1.location, range2.location);\n    result.length   = MIN(DDMaxRange(range1), DDMaxRange(range2)) - result.location;\n    \n    return result;\n}\n\nNSString *DDStringFromRange(DDRange range)\n{\n    return [NSString stringWithFormat:@\"{%qu, %qu}\", range.location, range.length];\n}\n\nDDRange DDRangeFromString(NSString *aString)\n{\n    DDRange result = DDMakeRange(0, 0);\n    \n    // NSRange will ignore '-' characters, but not '+' characters\n    NSCharacterSet *cset = [NSCharacterSet characterSetWithCharactersInString:@\"+0123456789\"];\n    \n    NSScanner *scanner = [NSScanner scannerWithString:aString];\n    [scanner setCharactersToBeSkipped:[cset invertedSet]];\n    \n    NSString *str1 = nil;\n    NSString *str2 = nil;\n    \n    BOOL found1 = [scanner scanCharactersFromSet:cset intoString:&str1];\n    BOOL found2 = [scanner scanCharactersFromSet:cset intoString:&str2];\n    \n    if(found1) [NSNumber parseString:str1 intoUInt64:&result.location];\n    if(found2) [NSNumber parseString:str2 intoUInt64:&result.length];\n    \n    return result;\n}\n\nNSInteger DDRangeCompare(DDRangePointer pDDRange1, DDRangePointer pDDRange2)\n{\n    // Comparison basis:\n    // Which range would you encouter first if you started at zero, and began walking towards infinity.\n    // If you encouter both ranges at the same time, which range would end first.\n    \n    if(pDDRange1->location < pDDRange2->location)\n    {\n        return NSOrderedAscending;\n    }\n    if(pDDRange1->location > pDDRange2->location)\n    {\n        return NSOrderedDescending;\n    }\n    if(pDDRange1->length < pDDRange2->length)\n    {\n        return NSOrderedAscending;\n    }\n    if(pDDRange1->length > pDDRange2->length)\n    {\n        return NSOrderedDescending;\n    }\n    \n    return NSOrderedSame;\n}\n\n@implementation NSValue (NSValueDDRangeExtensions)\n\n+ (NSValue *)valueWithDDRange:(DDRange)range\n{\n    return [NSValue valueWithBytes:&range objCType:@encode(DDRange)];\n}\n\n- (DDRange)ddrangeValue\n{\n    DDRange result;\n    [self getValue:&result];\n    return result;\n}\n\n- (NSInteger)ddrangeCompare:(NSValue *)other\n{\n    DDRange r1 = [self ddrangeValue];\n    DDRange r2 = [other ddrangeValue];\n    \n    return DDRangeCompare(&r1, &r2);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPAuthenticationRequest.h",
    "content": "#import <Foundation/Foundation.h>\n\n#if TARGET_OS_IPHONE\n  // Note: You may need to add the CFNetwork Framework to your project\n  #import <CFNetwork/CFNetwork.h>\n#endif\n\n@class HTTPMessage;\n\n\n@interface HTTPAuthenticationRequest : NSObject\n{\n    BOOL isBasic;\n    BOOL isDigest;\n    \n    NSString *base64Credentials;\n    \n    NSString *username;\n    NSString *realm;\n    NSString *nonce;\n    NSString *uri;\n    NSString *qop;\n    NSString *nc;\n    NSString *cnonce;\n    NSString *response;\n}\n- (id)initWithRequest:(HTTPMessage *)request;\n\n- (BOOL)isBasic;\n- (BOOL)isDigest;\n\n// Basic\n- (NSString *)base64Credentials;\n\n// Digest\n- (NSString *)username;\n- (NSString *)realm;\n- (NSString *)nonce;\n- (NSString *)uri;\n- (NSString *)qop;\n- (NSString *)nc;\n- (NSString *)cnonce;\n- (NSString *)response;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPAuthenticationRequest.m",
    "content": "#import \"HTTPAuthenticationRequest.h\"\n#import \"HTTPMessage.h\"\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n@interface HTTPAuthenticationRequest (PrivateAPI)\n- (NSString *)quotedSubHeaderFieldValue:(NSString *)param fromHeaderFieldValue:(NSString *)header;\n- (NSString *)nonquotedSubHeaderFieldValue:(NSString *)param fromHeaderFieldValue:(NSString *)header;\n@end\n\n\n@implementation HTTPAuthenticationRequest\n\n- (id)initWithRequest:(HTTPMessage *)request\n{\n    if ((self = [super init]))\n    {\n        NSString *authInfo = [request headerField:@\"Authorization\"];\n        \n        isBasic = NO;\n        if ([authInfo length] >= 6)\n        {\n            isBasic = [[authInfo substringToIndex:6] caseInsensitiveCompare:@\"Basic \"] == NSOrderedSame;\n        }\n        \n        isDigest = NO;\n        if ([authInfo length] >= 7)\n        {\n            isDigest = [[authInfo substringToIndex:7] caseInsensitiveCompare:@\"Digest \"] == NSOrderedSame;\n        }\n        \n        if (isBasic)\n        {\n            NSMutableString *temp = [[authInfo substringFromIndex:6] mutableCopy];\n            CFStringTrimWhitespace((__bridge CFMutableStringRef)temp);\n            \n            base64Credentials = [temp copy];\n        }\n        \n        if (isDigest)\n        {\n            username = [self quotedSubHeaderFieldValue:@\"username\" fromHeaderFieldValue:authInfo];\n            realm    = [self quotedSubHeaderFieldValue:@\"realm\" fromHeaderFieldValue:authInfo];\n            nonce    = [self quotedSubHeaderFieldValue:@\"nonce\" fromHeaderFieldValue:authInfo];\n            uri      = [self quotedSubHeaderFieldValue:@\"uri\" fromHeaderFieldValue:authInfo];\n            \n            // It appears from RFC 2617 that the qop is to be given unquoted\n            // Tests show that Firefox performs this way, but Safari does not\n            // Thus we'll attempt to retrieve the value as nonquoted, but we'll verify it doesn't start with a quote\n            qop      = [self nonquotedSubHeaderFieldValue:@\"qop\" fromHeaderFieldValue:authInfo];\n            if(qop && ([qop characterAtIndex:0] == '\"'))\n            {\n                qop  = [self quotedSubHeaderFieldValue:@\"qop\" fromHeaderFieldValue:authInfo];\n            }\n            \n            nc       = [self nonquotedSubHeaderFieldValue:@\"nc\" fromHeaderFieldValue:authInfo];\n            cnonce   = [self quotedSubHeaderFieldValue:@\"cnonce\" fromHeaderFieldValue:authInfo];\n            response = [self quotedSubHeaderFieldValue:@\"response\" fromHeaderFieldValue:authInfo];\n        }\n    }\n    return self;\n}\n\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Accessors:\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)isBasic {\n    return isBasic;\n}\n\n- (BOOL)isDigest {\n    return isDigest;\n}\n\n- (NSString *)base64Credentials {\n    return base64Credentials;\n}\n\n- (NSString *)username {\n    return username;\n}\n\n- (NSString *)realm {\n    return realm;\n}\n\n- (NSString *)nonce {\n    return nonce;\n}\n\n- (NSString *)uri {\n    return uri;\n}\n\n- (NSString *)qop {\n    return qop;\n}\n\n- (NSString *)nc {\n    return nc;\n}\n\n- (NSString *)cnonce {\n    return cnonce;\n}\n\n- (NSString *)response {\n    return response;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Private API:\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Retrieves a \"Sub Header Field Value\" from a given header field value.\n * The sub header field is expected to be quoted.\n * \n * In the following header field:\n * Authorization: Digest username=\"Mufasa\", qop=auth, response=\"6629fae4939\"\n * The sub header field titled 'username' is quoted, and this method would return the value @\"Mufasa\".\n**/\n- (NSString *)quotedSubHeaderFieldValue:(NSString *)param fromHeaderFieldValue:(NSString *)header\n{\n    NSRange startRange = [header rangeOfString:[NSString stringWithFormat:@\"%@=\\\"\", param]];\n    if(startRange.location == NSNotFound)\n    {\n        // The param was not found anywhere in the header\n        return nil;\n    }\n    \n    NSUInteger postStartRangeLocation = startRange.location + startRange.length;\n    NSUInteger postStartRangeLength = [header length] - postStartRangeLocation;\n    NSRange postStartRange = NSMakeRange(postStartRangeLocation, postStartRangeLength);\n    \n    NSRange endRange = [header rangeOfString:@\"\\\"\" options:0 range:postStartRange];\n    if(endRange.location == NSNotFound)\n    {\n        // The ending double-quote was not found anywhere in the header\n        return nil;\n    }\n    \n    NSRange subHeaderRange = NSMakeRange(postStartRangeLocation, endRange.location - postStartRangeLocation);\n    return [header substringWithRange:subHeaderRange];\n}\n\n/**\n * Retrieves a \"Sub Header Field Value\" from a given header field value.\n * The sub header field is expected to not be quoted.\n * \n * In the following header field:\n * Authorization: Digest username=\"Mufasa\", qop=auth, response=\"6629fae4939\"\n * The sub header field titled 'qop' is nonquoted, and this method would return the value @\"auth\".\n**/\n- (NSString *)nonquotedSubHeaderFieldValue:(NSString *)param fromHeaderFieldValue:(NSString *)header\n{\n    NSRange startRange = [header rangeOfString:[NSString stringWithFormat:@\"%@=\", param]];\n    if(startRange.location == NSNotFound)\n    {\n        // The param was not found anywhere in the header\n        return nil;\n    }\n    \n    NSUInteger postStartRangeLocation = startRange.location + startRange.length;\n    NSUInteger postStartRangeLength = [header length] - postStartRangeLocation;\n    NSRange postStartRange = NSMakeRange(postStartRangeLocation, postStartRangeLength);\n    \n    NSRange endRange = [header rangeOfString:@\",\" options:0 range:postStartRange];\n    if(endRange.location == NSNotFound)\n    {\n        // The ending comma was not found anywhere in the header\n        // However, if the nonquoted param is at the end of the string, there would be no comma\n        // This is only possible if there are no spaces anywhere\n        NSRange endRange2 = [header rangeOfString:@\" \" options:0 range:postStartRange];\n        if(endRange2.location != NSNotFound)\n        {\n            return nil;\n        }\n        else\n        {\n            return [header substringWithRange:postStartRange];\n        }\n    }\n    else\n    {\n        NSRange subHeaderRange = NSMakeRange(postStartRangeLocation, endRange.location - postStartRangeLocation);\n        return [header substringWithRange:subHeaderRange];\n    }\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPConnection.h",
    "content": "#import <Foundation/Foundation.h>\n\n@class GCDAsyncSocket;\n@class HTTPMessage;\n@class HTTPServer;\n@class WebSocket;\n@protocol HTTPResponse;\n\n\n#define HTTPConnectionDidDieNotification  @\"HTTPConnectionDidDie\"\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface HTTPConfig : NSObject\n{\n    HTTPServer __unsafe_unretained *server;\n    NSString __strong *documentRoot;\n    dispatch_queue_t queue;\n}\n\n- (id)initWithServer:(HTTPServer *)server documentRoot:(NSString *)documentRoot;\n- (id)initWithServer:(HTTPServer *)server documentRoot:(NSString *)documentRoot queue:(dispatch_queue_t)q;\n\n@property (nonatomic, unsafe_unretained, readonly) HTTPServer *server;\n@property (nonatomic, strong, readonly) NSString *documentRoot;\n@property (nonatomic, readonly) dispatch_queue_t queue;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@interface HTTPConnection : NSObject\n{\n    dispatch_queue_t connectionQueue;\n    GCDAsyncSocket *asyncSocket;\n    HTTPConfig *config;\n    \n    BOOL started;\n    \n    HTTPMessage *request;\n    unsigned int numHeaderLines;\n    \n    BOOL sentResponseHeaders;\n    \n    NSString *nonce;\n    long lastNC;\n    \n    NSObject<HTTPResponse> *httpResponse;\n    \n    NSMutableArray *ranges;\n    NSMutableArray *ranges_headers;\n    NSString *ranges_boundry;\n    int rangeIndex;\n    \n    UInt64 requestContentLength;\n    UInt64 requestContentLengthReceived;\n    UInt64 requestChunkSize;\n    UInt64 requestChunkSizeReceived;\n  \n    NSMutableArray *responseDataSizes;\n}\n\n- (id)initWithAsyncSocket:(GCDAsyncSocket *)newSocket configuration:(HTTPConfig *)aConfig;\n\n- (void)start;\n- (void)stop;\n\n- (void)startConnection;\n\n- (BOOL)supportsMethod:(NSString *)method atPath:(NSString *)path;\n- (BOOL)expectsRequestBodyFromMethod:(NSString *)method atPath:(NSString *)path;\n\n- (BOOL)isSecureServer;\n- (NSArray *)sslIdentityAndCertificates;\n\n- (BOOL)isPasswordProtected:(NSString *)path;\n- (BOOL)useDigestAccessAuthentication;\n- (NSString *)realm;\n- (NSString *)passwordForUser:(NSString *)username;\n\n- (NSDictionary *)parseParams:(NSString *)query;\n- (NSDictionary *)parseGetParams;\n\n- (NSString *)requestURI;\n\n- (NSArray *)directoryIndexFileNames;\n- (NSString *)filePathForURI:(NSString *)path;\n- (NSString *)filePathForURI:(NSString *)path allowDirectory:(BOOL)allowDirectory;\n- (NSObject<HTTPResponse> *)httpResponseForMethod:(NSString *)method URI:(NSString *)path;\n- (WebSocket *)webSocketForURI:(NSString *)path;\n\n- (void)prepareForBodyWithSize:(UInt64)contentLength;\n- (void)processBodyData:(NSData *)postDataChunk;\n- (void)finishBody;\n\n- (void)handleVersionNotSupported:(NSString *)version;\n- (void)handleAuthenticationFailed;\n- (void)handleResourceNotFound;\n- (void)handleInvalidRequest:(NSData *)data;\n- (void)handleUnknownMethod:(NSString *)method;\n\n- (NSData *)preprocessResponse:(HTTPMessage *)response;\n- (NSData *)preprocessErrorResponse:(HTTPMessage *)response;\n\n- (void)finishResponse;\n\n- (BOOL)shouldDie;\n- (void)die;\n\n@end\n\n@interface HTTPConnection (AsynchronousHTTPResponse)\n- (void)responseHasAvailableData:(NSObject<HTTPResponse> *)sender;\n- (void)responseDidAbort:(NSObject<HTTPResponse> *)sender;\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPConnection.m",
    "content": "#import \"GCDAsyncSocket.h\"\n#import \"HTTPServer.h\"\n#import \"HTTPConnection.h\"\n#import \"HTTPMessage.h\"\n#import \"HTTPResponse.h\"\n#import \"HTTPAuthenticationRequest.h\"\n#import \"DDNumber.h\"\n#import \"DDRange.h\"\n#import \"DDData.h\"\n#import \"HTTPFileResponse.h\"\n#import \"HTTPAsyncFileResponse.h\"\n#import \"WebSocket.h\"\n#import \"HTTPLogging.h\"\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// Does ARC support support GCD objects?\n// It does if the minimum deployment target is iOS 6+ or Mac OS X 8+\n\n#if TARGET_OS_IPHONE\n\n  // Compiling for iOS\n\n  #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 // iOS 6.0 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else                                         // iOS 5.X or earlier\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1\n  #endif\n\n#else\n\n  // Compiling for Mac OS X\n\n  #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080     // Mac OS X 10.8 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1     // Mac OS X 10.7 or earlier\n  #endif\n\n#endif\n\n// Log levels: off, error, warn, info, verbose\n// Other flags: trace\nstatic const DDLogLevel httpLogLevel = DDLogLevelWarning; // | HTTP_LOG_FLAG_TRACE;\n\n// Define chunk size used to read in data for responses\n// This is how much data will be read from disk into RAM at a time\n#if TARGET_OS_IPHONE\n  #define READ_CHUNKSIZE  (1024 * /*128*/256)\n#else\n  #define READ_CHUNKSIZE  (1024 * 512)\n#endif\n\n// Define chunk size used to read in POST upload data\n#if TARGET_OS_IPHONE\n  #define POST_CHUNKSIZE  (1024 * /*32*/256)\n#else\n  #define POST_CHUNKSIZE  (1024 * /*128*/512)\n#endif\n\n// Define the various timeouts (in seconds) for various parts of the HTTP process\n#define TIMEOUT_READ_FIRST_HEADER_LINE       30\n#define TIMEOUT_READ_SUBSEQUENT_HEADER_LINE  30\n#define TIMEOUT_READ_BODY                    -1\n#define TIMEOUT_WRITE_HEAD                   30\n#define TIMEOUT_WRITE_BODY                   -1\n#define TIMEOUT_WRITE_ERROR                  30\n#define TIMEOUT_NONCE                       300\n\n// Define the various limits\n// MAX_HEADER_LINE_LENGTH: Max length (in bytes) of any single line in a header (including \\r\\n)\n// MAX_HEADER_LINES      : Max number of lines in a single header (including first GET line)\n#define MAX_HEADER_LINE_LENGTH  8190\n#define MAX_HEADER_LINES         100\n// MAX_CHUNK_LINE_LENGTH : For accepting chunked transfer uploads, max length of chunk size line (including \\r\\n)\n#define MAX_CHUNK_LINE_LENGTH    200\n\n// Define the various tags we'll use to differentiate what it is we're currently doing\n#define HTTP_REQUEST_HEADER                10\n#define HTTP_REQUEST_BODY                  11\n#define HTTP_REQUEST_CHUNK_SIZE            12\n#define HTTP_REQUEST_CHUNK_DATA            13\n#define HTTP_REQUEST_CHUNK_TRAILER         14\n#define HTTP_REQUEST_CHUNK_FOOTER          15\n#define HTTP_PARTIAL_RESPONSE              20\n#define HTTP_PARTIAL_RESPONSE_HEADER       21\n#define HTTP_PARTIAL_RESPONSE_BODY         22\n#define HTTP_CHUNKED_RESPONSE_HEADER       30\n#define HTTP_CHUNKED_RESPONSE_BODY         31\n#define HTTP_CHUNKED_RESPONSE_FOOTER       32\n#define HTTP_PARTIAL_RANGE_RESPONSE_BODY   40\n#define HTTP_PARTIAL_RANGES_RESPONSE_BODY  50\n#define HTTP_RESPONSE                      90\n#define HTTP_FINAL_RESPONSE                91\n\n// A quick note about the tags:\n// \n// The HTTP_RESPONSE and HTTP_FINAL_RESPONSE are designated tags signalling that the response is completely sent.\n// That is, in the onSocket:didWriteDataWithTag: method, if the tag is HTTP_RESPONSE or HTTP_FINAL_RESPONSE,\n// it is assumed that the response is now completely sent.\n// Use HTTP_RESPONSE if it's the end of a response, and you want to start reading more requests afterwards.\n// Use HTTP_FINAL_RESPONSE if you wish to terminate the connection after sending the response.\n// \n// If you are sending multiple data segments in a custom response, make sure that only the last segment has\n// the HTTP_RESPONSE tag. For all other segments prior to the last segment use HTTP_PARTIAL_RESPONSE, or some other\n// tag of your own invention.\n\n@interface HTTPConnection (PrivateAPI)\n- (void)startReadingRequest;\n- (void)sendResponseHeadersAndBody;\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation HTTPConnection\n\nstatic dispatch_queue_t recentNonceQueue;\nstatic NSMutableArray *recentNonces;\n\n/**\n * This method is automatically called (courtesy of Cocoa) before the first instantiation of this class.\n * We use it to initialize any static variables.\n**/\n+ (void)initialize\n{\n    static dispatch_once_t onceToken;\n    dispatch_once(&onceToken, ^{\n        \n        // Initialize class variables\n        recentNonceQueue = dispatch_queue_create(\"HTTPConnection-Nonce\", NULL);\n        recentNonces = [[NSMutableArray alloc] initWithCapacity:5];\n    });\n}\n\n/**\n * Generates and returns an authentication nonce.\n * A nonce is a  server-specified string uniquely generated for each 401 response.\n * The default implementation uses a single nonce for each session.\n**/\n+ (NSString *)generateNonce\n{\n    // We use the Core Foundation UUID class to generate a nonce value for us\n    // UUIDs (Universally Unique Identifiers) are 128-bit values guaranteed to be unique.\n    CFUUIDRef theUUID = CFUUIDCreate(NULL);\n    NSString *newNonce = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, theUUID);\n    CFRelease(theUUID);\n    \n    // We have to remember that the HTTP protocol is stateless.\n    // Even though with version 1.1 persistent connections are the norm, they are not guaranteed.\n    // Thus if we generate a nonce for this connection,\n    // it should be honored for other connections in the near future.\n    // \n    // In fact, this is absolutely necessary in order to support QuickTime.\n    // When QuickTime makes it's initial connection, it will be unauthorized, and will receive a nonce.\n    // It then disconnects, and creates a new connection with the nonce, and proper authentication.\n    // If we don't honor the nonce for the second connection, QuickTime will repeat the process and never connect.\n    \n    dispatch_async(recentNonceQueue, ^{ @autoreleasepool {\n        \n        [recentNonces addObject:newNonce];\n    }});\n    \n    double delayInSeconds = TIMEOUT_NONCE;\n    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);\n    dispatch_after(popTime, recentNonceQueue, ^{ @autoreleasepool {\n        \n        [recentNonces removeObject:newNonce];\n    }});\n    \n    return newNonce;\n}\n\n/**\n * Returns whether or not the given nonce is in the list of recently generated nonce's.\n**/\n+ (BOOL)hasRecentNonce:(NSString *)recentNonce\n{\n    __block BOOL result = NO;\n    \n    dispatch_sync(recentNonceQueue, ^{ @autoreleasepool {\n        \n        result = [recentNonces containsObject:recentNonce];\n    }});\n    \n    return result;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Init, Dealloc:\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Sole Constructor.\n * Associates this new HTTP connection with the given AsyncSocket.\n * This HTTP connection object will become the socket's delegate and take over responsibility for the socket.\n**/\n- (id)initWithAsyncSocket:(GCDAsyncSocket *)newSocket configuration:(HTTPConfig *)aConfig\n{\n    if ((self = [super init]))\n    {\n        HTTPLogTrace();\n        \n        if (aConfig.queue)\n        {\n            connectionQueue = aConfig.queue;\n            #if NEEDS_DISPATCH_RETAIN_RELEASE\n            dispatch_retain(connectionQueue);\n            #endif\n        }\n        else\n        {\n            connectionQueue = dispatch_queue_create(\"HTTPConnection\", NULL);\n        }\n        \n        // Take over ownership of the socket\n        asyncSocket = newSocket;\n        [asyncSocket setDelegate:self delegateQueue:connectionQueue];\n        \n        // Store configuration\n        config = aConfig;\n        \n        // Initialize lastNC (last nonce count).\n        // Used with digest access authentication.\n        // These must increment for each request from the client.\n        lastNC = 0;\n        \n        // Create a new HTTP message\n        request = [[HTTPMessage alloc] initEmptyRequest];\n        \n        numHeaderLines = 0;\n        \n        responseDataSizes = [[NSMutableArray alloc] initWithCapacity:5];\n    }\n    return self;\n}\n\n/**\n * Standard Deconstructor.\n**/\n- (void)dealloc\n{\n    HTTPLogTrace();\n    \n    #if NEEDS_DISPATCH_RETAIN_RELEASE\n    dispatch_release(connectionQueue);\n    #endif\n    \n    [asyncSocket setDelegate:nil delegateQueue:NULL];\n    [asyncSocket disconnect];\n    \n    if ([httpResponse respondsToSelector:@selector(connectionDidClose)])\n    {\n        [httpResponse connectionDidClose];\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Method Support\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns whether or not the server will accept messages of a given method\n * at a particular URI.\n**/\n- (BOOL)supportsMethod:(NSString *)method atPath:(NSString *)path\n{\n    HTTPLogTrace();\n    \n    // Override me to support methods such as POST.\n    // \n    // Things you may want to consider:\n    // - Does the given path represent a resource that is designed to accept this method?\n    // - If accepting an upload, is the size of the data being uploaded too big?\n    //   To do this you can check the requestContentLength variable.\n    // \n    // For more information, you can always access the HTTPMessage request variable.\n    // \n    // You should fall through with a call to [super supportsMethod:method atPath:path]\n    // \n    // See also: expectsRequestBodyFromMethod:atPath:\n    \n    if ([method isEqualToString:@\"GET\"])\n        return YES;\n    \n    if ([method isEqualToString:@\"HEAD\"])\n        return YES;\n        \n    return NO;\n}\n\n/**\n * Returns whether or not the server expects a body from the given method.\n * \n * In other words, should the server expect a content-length header and associated body from this method.\n * This would be true in the case of a POST, where the client is sending data,\n * or for something like PUT where the client is supposed to be uploading a file.\n**/\n- (BOOL)expectsRequestBodyFromMethod:(NSString *)method atPath:(NSString *)path\n{\n    HTTPLogTrace();\n    \n    // Override me to add support for other methods that expect the client\n    // to send a body along with the request header.\n    // \n    // You should fall through with a call to [super expectsRequestBodyFromMethod:method atPath:path]\n    // \n    // See also: supportsMethod:atPath:\n    \n    if ([method isEqualToString:@\"POST\"])\n        return YES;\n    \n    if ([method isEqualToString:@\"PUT\"])\n        return YES;\n    \n    return NO;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark HTTPS\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns whether or not the server is configured to be a secure server.\n * In other words, all connections to this server are immediately secured, thus only secure connections are allowed.\n * This is the equivalent of having an https server, where it is assumed that all connections must be secure.\n * If this is the case, then unsecure connections will not be allowed on this server, and a separate unsecure server\n * would need to be run on a separate port in order to support unsecure connections.\n * \n * Note: In order to support secure connections, the sslIdentityAndCertificates method must be implemented.\n**/\n- (BOOL)isSecureServer\n{\n    HTTPLogTrace();\n    \n    // Override me to create an https server...\n    \n    return NO;\n}\n\n/**\n * This method is expected to returns an array appropriate for use in kCFStreamSSLCertificates SSL Settings.\n * It should be an array of SecCertificateRefs except for the first element in the array, which is a SecIdentityRef.\n**/\n- (NSArray *)sslIdentityAndCertificates\n{\n    HTTPLogTrace();\n    \n    // Override me to provide the proper required SSL identity.\n    \n    return nil;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Password Protection\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns whether or not the requested resource is password protected.\n * In this generic implementation, nothing is password protected.\n**/\n- (BOOL)isPasswordProtected:(NSString *)path\n{\n    HTTPLogTrace();\n    \n    // Override me to provide password protection...\n    // You can configure it for the entire server, or based on the current request\n    \n    return NO;\n}\n\n/**\n * Returns whether or not the authentication challenge should use digest access authentication.\n * The alternative is basic authentication.\n * \n * If at all possible, digest access authentication should be used because it's more secure.\n * Basic authentication sends passwords in the clear and should be avoided unless using SSL/TLS.\n**/\n- (BOOL)useDigestAccessAuthentication\n{\n    HTTPLogTrace();\n    \n    // Override me to customize the authentication scheme\n    // Make sure you understand the security risks of using the weaker basic authentication\n    \n    return YES;\n}\n\n/**\n * Returns the authentication realm.\n * In this generic implmentation, a default realm is used for the entire server.\n**/\n- (NSString *)realm\n{\n    HTTPLogTrace();\n    \n    // Override me to provide a custom realm...\n    // You can configure it for the entire server, or based on the current request\n    \n    return @\"defaultRealm@host.com\";\n}\n\n/**\n * Returns the password for the given username.\n**/\n- (NSString *)passwordForUser:(NSString *)username\n{\n    HTTPLogTrace();\n    \n    // Override me to provide proper password authentication\n    // You can configure a password for the entire server, or custom passwords for users and/or resources\n    \n    // Security Note:\n    // A nil password means no access at all. (Such as for user doesn't exist)\n    // An empty string password is allowed, and will be treated as any other password. (To support anonymous access)\n    \n    return nil;\n}\n\n/**\n * Returns whether or not the user is properly authenticated.\n**/\n- (BOOL)isAuthenticated\n{\n    HTTPLogTrace();\n    \n    // Extract the authentication information from the Authorization header\n    HTTPAuthenticationRequest *auth = [[HTTPAuthenticationRequest alloc] initWithRequest:request];\n    \n    if ([self useDigestAccessAuthentication])\n    {\n        // Digest Access Authentication (RFC 2617)\n        \n        if(![auth isDigest])\n        {\n            // User didn't send proper digest access authentication credentials\n            return NO;\n        }\n        \n        if ([auth username] == nil)\n        {\n            // The client didn't provide a username\n            // Most likely they didn't provide any authentication at all\n            return NO;\n        }\n        \n        NSString *password = [self passwordForUser:[auth username]];\n        if (password == nil)\n        {\n            // No access allowed (username doesn't exist in system)\n            return NO;\n        }\n        \n        NSString *url = [[request url] relativeString];\n        \n        if (![url isEqualToString:[auth uri]])\n        {\n            // Requested URL and Authorization URI do not match\n            // This could be a replay attack\n            // IE - attacker provides same authentication information, but requests a different resource\n            return NO;\n        }\n        \n        // The nonce the client provided will most commonly be stored in our local (cached) nonce variable\n        if (![nonce isEqualToString:[auth nonce]])\n        {\n            // The given nonce may be from another connection\n            // We need to search our list of recent nonce strings that have been recently distributed\n            if ([[self class] hasRecentNonce:[auth nonce]])\n            {\n                // Store nonce in local (cached) nonce variable to prevent array searches in the future\n                nonce = [[auth nonce] copy];\n                \n                // The client has switched to using a different nonce value\n                // This may happen if the client tries to get a file in a directory with different credentials.\n                // The previous credentials wouldn't work, and the client would receive a 401 error\n                // along with a new nonce value. The client then uses this new nonce value and requests the file again.\n                // Whatever the case may be, we need to reset lastNC, since that variable is on a per nonce basis.\n                lastNC = 0;\n            }\n            else\n            {\n                // We have no knowledge of ever distributing such a nonce.\n                // This could be a replay attack from a previous connection in the past.\n                return NO;\n            }\n        }\n        \n        long authNC = strtol([[auth nc] UTF8String], NULL, 16);\n        \n        if (authNC <= lastNC)\n        {\n            // The nc value (nonce count) hasn't been incremented since the last request.\n            // This could be a replay attack.\n            return NO;\n        }\n        lastNC = authNC;\n        \n        NSString *HA1str = [NSString stringWithFormat:@\"%@:%@:%@\", [auth username], [auth realm], password];\n        NSString *HA2str = [NSString stringWithFormat:@\"%@:%@\", [request method], [auth uri]];\n        \n        NSString *HA1 = [[[HA1str dataUsingEncoding:NSUTF8StringEncoding] md5Digest] hexStringValue];\n        \n        NSString *HA2 = [[[HA2str dataUsingEncoding:NSUTF8StringEncoding] md5Digest] hexStringValue];\n        \n        NSString *responseStr = [NSString stringWithFormat:@\"%@:%@:%@:%@:%@:%@\",\n                                 HA1, [auth nonce], [auth nc], [auth cnonce], [auth qop], HA2];\n        \n        NSString *response = [[[responseStr dataUsingEncoding:NSUTF8StringEncoding] md5Digest] hexStringValue];\n        \n        return [response isEqualToString:[auth response]];\n    }\n    else\n    {\n        // Basic Authentication\n        \n        if (![auth isBasic])\n        {\n            // User didn't send proper base authentication credentials\n            return NO;\n        }\n        \n        // Decode the base 64 encoded credentials\n        NSString *base64Credentials = [auth base64Credentials];\n        \n        NSData *temp = [[base64Credentials dataUsingEncoding:NSUTF8StringEncoding] base64Decoded];\n        \n        NSString *credentials = [[NSString alloc] initWithData:temp encoding:NSUTF8StringEncoding];\n        \n        // The credentials should be of the form \"username:password\"\n        // The username is not allowed to contain a colon\n        \n        NSRange colonRange = [credentials rangeOfString:@\":\"];\n        \n        if (colonRange.length == 0)\n        {\n            // Malformed credentials\n            return NO;\n        }\n        \n        NSString *credUsername = [credentials substringToIndex:colonRange.location];\n        NSString *credPassword = [credentials substringFromIndex:(colonRange.location + colonRange.length)];\n        \n        NSString *password = [self passwordForUser:credUsername];\n        if (password == nil)\n        {\n            // No access allowed (username doesn't exist in system)\n            return NO;\n        }\n        \n        return [password isEqualToString:credPassword];\n    }\n}\n\n/**\n * Adds a digest access authentication challenge to the given response.\n**/\n- (void)addDigestAuthChallenge:(HTTPMessage *)response\n{\n    HTTPLogTrace();\n    \n    NSString *authFormat = @\"Digest realm=\\\"%@\\\", qop=\\\"auth\\\", nonce=\\\"%@\\\"\";\n    NSString *authInfo = [NSString stringWithFormat:authFormat, [self realm], [[self class] generateNonce]];\n    \n    [response setHeaderField:@\"WWW-Authenticate\" value:authInfo];\n}\n\n/**\n * Adds a basic authentication challenge to the given response.\n**/\n- (void)addBasicAuthChallenge:(HTTPMessage *)response\n{\n    HTTPLogTrace();\n    \n    NSString *authFormat = @\"Basic realm=\\\"%@\\\"\";\n    NSString *authInfo = [NSString stringWithFormat:authFormat, [self realm]];\n    \n    [response setHeaderField:@\"WWW-Authenticate\" value:authInfo];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Core\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Starting point for the HTTP connection after it has been fully initialized (including subclasses).\n * This method is called by the HTTP server.\n**/\n- (void)start\n{\n    dispatch_async(connectionQueue, ^{ @autoreleasepool {\n        \n        if (!started)\n        {\n            started = YES;\n            [self startConnection];\n        }\n    }});\n}\n\n/**\n * This method is called by the HTTPServer if it is asked to stop.\n * The server, in turn, invokes stop on each HTTPConnection instance.\n**/\n- (void)stop\n{\n    dispatch_async(connectionQueue, ^{ @autoreleasepool {\n        \n        // Disconnect the socket.\n        // The socketDidDisconnect delegate method will handle everything else.\n        [asyncSocket disconnect];\n    }});\n}\n\n/**\n * Starting point for the HTTP connection.\n**/\n- (void)startConnection\n{\n    // Override me to do any custom work before the connection starts.\n    // \n    // Be sure to invoke [super startConnection] when you're done.\n    \n    HTTPLogTrace();\n    \n    if ([self isSecureServer])\n    {\n        // We are configured to be an HTTPS server.\n        // That is, we secure via SSL/TLS the connection prior to any communication.\n        \n        NSArray *certificates = [self sslIdentityAndCertificates];\n        \n        if ([certificates count] > 0)\n        {\n            // All connections are assumed to be secure. Only secure connections are allowed on this server.\n            NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:3];\n            \n            // Configure this connection as the server\n            [settings setObject:[NSNumber numberWithBool:YES]\n                         forKey:(NSString *)kCFStreamSSLIsServer];\n            \n            [settings setObject:certificates\n                         forKey:(NSString *)kCFStreamSSLCertificates];\n            \n            // Configure this connection to use the highest possible SSL level\n            [settings setObject:(NSString *)kCFStreamSocketSecurityLevelNegotiatedSSL\n                         forKey:(NSString *)kCFStreamSSLLevel];\n            \n            [asyncSocket startTLS:settings];\n        }\n    }\n    \n    [self startReadingRequest];\n}\n\n/**\n * Starts reading an HTTP request.\n**/\n- (void)startReadingRequest\n{\n    HTTPLogTrace();\n    \n    [asyncSocket readDataToData:[GCDAsyncSocket CRLFData]\n                    withTimeout:TIMEOUT_READ_FIRST_HEADER_LINE\n                      maxLength:MAX_HEADER_LINE_LENGTH\n                            tag:HTTP_REQUEST_HEADER];\n}\n\n/**\n * Parses the given query string.\n * \n * For example, if the query is \"q=John%20Mayer%20Trio&num=50\"\n * then this method would return the following dictionary:\n * { \n *   q = \"John Mayer Trio\" \n *   num = \"50\" \n * }\n**/\n- (NSDictionary *)parseParams:(NSString *)query\n{\n    NSArray *components = [query componentsSeparatedByString:@\"&\"];\n    NSMutableDictionary *result = [NSMutableDictionary dictionaryWithCapacity:[components count]];\n    \n    NSUInteger i;\n    for (i = 0; i < [components count]; i++)\n    { \n        NSString *component = [components objectAtIndex:i];\n        if ([component length] > 0)\n        {\n            NSRange range = [component rangeOfString:@\"=\"];\n            if (range.location != NSNotFound)\n            { \n                NSString *escapedKey = [component substringToIndex:(range.location + 0)]; \n                NSString *escapedValue = [component substringFromIndex:(range.location + 1)];\n                \n                if ([escapedKey length] > 0)\n                {\n                    CFStringRef k, v;\n                    \n                    k = CFURLCreateStringByReplacingPercentEscapes(NULL, (__bridge CFStringRef)escapedKey, CFSTR(\"\"));\n                    v = CFURLCreateStringByReplacingPercentEscapes(NULL, (__bridge CFStringRef)escapedValue, CFSTR(\"\"));\n                    \n                    NSString *key, *value;\n                    \n                    key   = (__bridge_transfer NSString *)k;\n                    value = (__bridge_transfer NSString *)v;\n                    \n                    if (key)\n                    {\n                        if (value)\n                            [result setObject:value forKey:key]; \n                        else \n                            [result setObject:[NSNull null] forKey:key]; \n                    }\n                }\n            }\n        }\n    }\n    \n    return result;\n}\n\n/** \n * Parses the query variables in the request URI. \n * \n * For example, if the request URI was \"/search.html?q=John%20Mayer%20Trio&num=50\" \n * then this method would return the following dictionary: \n * { \n *   q = \"John Mayer Trio\" \n *   num = \"50\" \n * } \n**/ \n- (NSDictionary *)parseGetParams \n{\n    if(![request isHeaderComplete]) return nil;\n    \n    NSDictionary *result = nil;\n    \n    NSURL *url = [request url];\n    if(url)\n    {\n        NSString *query = [url query];\n        if (query)\n        {\n            result = [self parseParams:query];\n        }\n    }\n    \n    return result; \n}\n\n/**\n * Attempts to parse the given range header into a series of sequential non-overlapping ranges.\n * If successfull, the variables 'ranges' and 'rangeIndex' will be updated, and YES will be returned.\n * Otherwise, NO is returned, and the range request should be ignored.\n **/\n- (BOOL)parseRangeRequest:(NSString *)rangeHeader withContentLength:(UInt64)contentLength\n{\n    HTTPLogTrace();\n    \n    // Examples of byte-ranges-specifier values (assuming an entity-body of length 10000):\n    // \n    // - The first 500 bytes (byte offsets 0-499, inclusive):  bytes=0-499\n    // \n    // - The second 500 bytes (byte offsets 500-999, inclusive): bytes=500-999\n    // \n    // - The final 500 bytes (byte offsets 9500-9999, inclusive): bytes=-500\n    // \n    // - Or bytes=9500-\n    // \n    // - The first and last bytes only (bytes 0 and 9999):  bytes=0-0,-1\n    // \n    // - Several legal but not canonical specifications of the second 500 bytes (byte offsets 500-999, inclusive):\n    // bytes=500-600,601-999\n    // bytes=500-700,601-999\n    // \n    \n    NSRange eqsignRange = [rangeHeader rangeOfString:@\"=\"];\n    \n    if(eqsignRange.location == NSNotFound) return NO;\n    \n    NSUInteger tIndex = eqsignRange.location;\n    NSUInteger fIndex = eqsignRange.location + eqsignRange.length;\n    \n    NSMutableString *rangeType  = [[rangeHeader substringToIndex:tIndex] mutableCopy];\n    NSMutableString *rangeValue = [[rangeHeader substringFromIndex:fIndex] mutableCopy];\n    \n    CFStringTrimWhitespace((__bridge CFMutableStringRef)rangeType);\n    CFStringTrimWhitespace((__bridge CFMutableStringRef)rangeValue);\n    \n    if([rangeType caseInsensitiveCompare:@\"bytes\"] != NSOrderedSame) return NO;\n    \n    NSArray *rangeComponents = [rangeValue componentsSeparatedByString:@\",\"];\n    \n    if([rangeComponents count] == 0) return NO;\n    \n    ranges = [[NSMutableArray alloc] initWithCapacity:[rangeComponents count]];\n    \n    rangeIndex = 0;\n    \n    // Note: We store all range values in the form of DDRange structs, wrapped in NSValue objects.\n    // Since DDRange consists of UInt64 values, the range extends up to 16 exabytes.\n    \n    NSUInteger i;\n    for (i = 0; i < [rangeComponents count]; i++)\n    {\n        NSString *rangeComponent = [rangeComponents objectAtIndex:i];\n        \n        NSRange dashRange = [rangeComponent rangeOfString:@\"-\"];\n        \n        if (dashRange.location == NSNotFound)\n        {\n            // We're dealing with an individual byte number\n            \n            UInt64 byteIndex;\n            if(![NSNumber parseString:rangeComponent intoUInt64:&byteIndex]) return NO;\n            \n            if(byteIndex >= contentLength) return NO;\n            \n            [ranges addObject:[NSValue valueWithDDRange:DDMakeRange(byteIndex, 1)]];\n        }\n        else\n        {\n            // We're dealing with a range of bytes\n            \n            tIndex = dashRange.location;\n            fIndex = dashRange.location + dashRange.length;\n            \n            NSString *r1str = [rangeComponent substringToIndex:tIndex];\n            NSString *r2str = [rangeComponent substringFromIndex:fIndex];\n            \n            UInt64 r1, r2;\n            \n            BOOL hasR1 = [NSNumber parseString:r1str intoUInt64:&r1];\n            BOOL hasR2 = [NSNumber parseString:r2str intoUInt64:&r2];\n            \n            if (!hasR1)\n            {\n                // We're dealing with a \"-[#]\" range\n                // \n                // r2 is the number of ending bytes to include in the range\n                \n                if(!hasR2) return NO;\n                if(r2 > contentLength) return NO;\n                \n                UInt64 startIndex = contentLength - r2;\n                \n                [ranges addObject:[NSValue valueWithDDRange:DDMakeRange(startIndex, r2)]];\n            }\n            else if (!hasR2)\n            {\n                // We're dealing with a \"[#]-\" range\n                // \n                // r1 is the starting index of the range, which goes all the way to the end\n                \n                if(r1 >= contentLength) return NO;\n                \n                [ranges addObject:[NSValue valueWithDDRange:DDMakeRange(r1, contentLength - r1)]];\n            }\n            else\n            {\n                // We're dealing with a normal \"[#]-[#]\" range\n                // \n                // Note: The range is inclusive. So 0-1 has a length of 2 bytes.\n                \n                if(r1 > r2) return NO;\n                if(r2 >= contentLength) return NO;\n                \n                [ranges addObject:[NSValue valueWithDDRange:DDMakeRange(r1, r2 - r1 + 1)]];\n            }\n        }\n    }\n    \n    if([ranges count] == 0) return NO;\n    \n    // Now make sure none of the ranges overlap\n    \n    for (i = 0; i < [ranges count] - 1; i++)\n    {\n        DDRange range1 = [[ranges objectAtIndex:i] ddrangeValue];\n        \n        NSUInteger j;\n        for (j = i+1; j < [ranges count]; j++)\n        {\n            DDRange range2 = [[ranges objectAtIndex:j] ddrangeValue];\n            \n            DDRange iRange = DDIntersectionRange(range1, range2);\n            \n            if(iRange.length != 0)\n            {\n                return NO;\n            }\n        }\n    }\n    \n    // Sort the ranges\n    \n    [ranges sortUsingSelector:@selector(ddrangeCompare:)];\n    \n    return YES;\n}\n\n- (NSString *)requestURI\n{\n    if(request == nil) return nil;\n    \n    return [[request url] relativeString];\n}\n\n/**\n * This method is called after a full HTTP request has been received.\n * The current request is in the HTTPMessage request variable.\n**/\n- (void)replyToHTTPRequest\n{\n    HTTPLogTrace();\n    \n    if (httpLogLevel & DDLogFlagVerbose)\n    {\n        NSData *tempData = [request messageData];\n        \n        NSString *tempStr = [[NSString alloc] initWithData:tempData encoding:NSUTF8StringEncoding];\n        HTTPLogVerbose(@\"%@[%p]: Received HTTP request:\\n%@\", THIS_FILE, self, tempStr);\n    }\n    \n    // Check the HTTP version\n    // We only support version 1.0 and 1.1\n    \n    NSString *version = [request version];\n    if (![version isEqualToString:HTTPVersion1_1] && ![version isEqualToString:HTTPVersion1_0])\n    {\n        [self handleVersionNotSupported:version];\n        return;\n    }\n    \n    // Extract requested URI\n    NSString *uri = [self requestURI];\n    \n    // Check for WebSocket request\n    if ([WebSocket isWebSocketRequest:request])\n    {\n        HTTPLogVerbose(@\"isWebSocket\");\n        \n        WebSocket *ws = [self webSocketForURI:uri];\n        \n        if (ws == nil)\n        {\n            [self handleResourceNotFound];\n        }\n        else\n        {\n            [ws start];\n            \n            [[config server] addWebSocket:ws];\n            \n            // The WebSocket should now be the delegate of the underlying socket.\n            // But gracefully handle the situation if it forgot.\n            if ([asyncSocket delegate] == self)\n            {\n                HTTPLogWarn(@\"%@[%p]: WebSocket forgot to set itself as socket delegate\", THIS_FILE, self);\n                \n                // Disconnect the socket.\n                // The socketDidDisconnect delegate method will handle everything else.\n                [asyncSocket disconnect];\n            }\n            else\n            {\n                // The WebSocket is using the socket,\n                // so make sure we don't disconnect it in the dealloc method.\n                asyncSocket = nil;\n                \n                [self die];\n                \n                // Note: There is a timing issue here that should be pointed out.\n                // \n                // A bug that existed in previous versions happend like so:\n                // - We invoked [self die]\n                // - This caused us to get released, and our dealloc method to start executing\n                // - Meanwhile, AsyncSocket noticed a disconnect, and began to dispatch a socketDidDisconnect at us\n                // - The dealloc method finishes execution, and our instance gets freed\n                // - The socketDidDisconnect gets run, and a crash occurs\n                // \n                // So the issue we want to avoid is releasing ourself when there is a possibility\n                // that AsyncSocket might be gearing up to queue a socketDidDisconnect for us.\n                // \n                // In this particular situation notice that we invoke [asyncSocket delegate].\n                // This method is synchronous concerning AsyncSocket's internal socketQueue.\n                // Which means we can be sure, when it returns, that AsyncSocket has already\n                // queued any delegate methods for us if it was going to.\n                // And if the delegate methods are queued, then we've been properly retained.\n                // Meaning we won't get released / dealloc'd until the delegate method has finished executing.\n                // \n                // In this rare situation, the die method will get invoked twice.\n            }\n        }\n        \n        return;\n    }\n    \n    // Check Authentication (if needed)\n    // If not properly authenticated for resource, issue Unauthorized response\n    if ([self isPasswordProtected:uri] && ![self isAuthenticated])\n    {\n        [self handleAuthenticationFailed];\n        return;\n    }\n    \n    // Extract the method\n    NSString *method = [request method];\n    \n    // Note: We already checked to ensure the method was supported in onSocket:didReadData:withTag:\n    \n    // Respond properly to HTTP 'GET' and 'HEAD' commands\n    httpResponse = [self httpResponseForMethod:method URI:uri];\n    \n    if (httpResponse == nil)\n    {\n        [self handleResourceNotFound];\n        return;\n    }\n    \n    [self sendResponseHeadersAndBody];\n}\n\n/**\n * Prepares a single-range response.\n * \n * Note: The returned HTTPMessage is owned by the sender, who is responsible for releasing it.\n**/\n- (HTTPMessage *)newUniRangeResponse:(UInt64)contentLength\n{\n    HTTPLogTrace();\n    \n    // Status Code 206 - Partial Content\n    HTTPMessage *response = [[HTTPMessage alloc] initResponseWithStatusCode:206 description:nil version:HTTPVersion1_1];\n    \n    DDRange range = [[ranges objectAtIndex:0] ddrangeValue];\n    \n    NSString *contentLengthStr = [NSString stringWithFormat:@\"%qu\", range.length];\n    [response setHeaderField:@\"Content-Length\" value:contentLengthStr];\n    \n    NSString *rangeStr = [NSString stringWithFormat:@\"%qu-%qu\", range.location, DDMaxRange(range) - 1];\n    NSString *contentRangeStr = [NSString stringWithFormat:@\"bytes %@/%qu\", rangeStr, contentLength];\n    [response setHeaderField:@\"Content-Range\" value:contentRangeStr];\n    \n    return response;\n}\n\n/**\n * Prepares a multi-range response.\n * \n * Note: The returned HTTPMessage is owned by the sender, who is responsible for releasing it.\n**/\n- (HTTPMessage *)newMultiRangeResponse:(UInt64)contentLength\n{\n    HTTPLogTrace();\n    \n    // Status Code 206 - Partial Content\n    HTTPMessage *response = [[HTTPMessage alloc] initResponseWithStatusCode:206 description:nil version:HTTPVersion1_1];\n    \n    // We have to send each range using multipart/byteranges\n    // So each byterange has to be prefix'd and suffix'd with the boundry\n    // Example:\n    // \n    // HTTP/1.1 206 Partial Content\n    // Content-Length: 220\n    // Content-Type: multipart/byteranges; boundary=4554d24e986f76dd6\n    // \n    // \n    // --4554d24e986f76dd6\n    // Content-Range: bytes 0-25/4025\n    // \n    // [...]\n    // --4554d24e986f76dd6\n    // Content-Range: bytes 3975-4024/4025\n    // \n    // [...]\n    // --4554d24e986f76dd6--\n    \n    ranges_headers = [[NSMutableArray alloc] initWithCapacity:[ranges count]];\n    \n    CFUUIDRef theUUID = CFUUIDCreate(NULL);\n    ranges_boundry = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, theUUID);\n    CFRelease(theUUID);\n    \n    NSString *startingBoundryStr = [NSString stringWithFormat:@\"\\r\\n--%@\\r\\n\", ranges_boundry];\n    NSString *endingBoundryStr = [NSString stringWithFormat:@\"\\r\\n--%@--\\r\\n\", ranges_boundry];\n    \n    UInt64 actualContentLength = 0;\n    \n    NSUInteger i;\n    for (i = 0; i < [ranges count]; i++)\n    {\n        DDRange range = [[ranges objectAtIndex:i] ddrangeValue];\n        \n        NSString *rangeStr = [NSString stringWithFormat:@\"%qu-%qu\", range.location, DDMaxRange(range) - 1];\n        NSString *contentRangeVal = [NSString stringWithFormat:@\"bytes %@/%qu\", rangeStr, contentLength];\n        NSString *contentRangeStr = [NSString stringWithFormat:@\"Content-Range: %@\\r\\n\\r\\n\", contentRangeVal];\n        \n        NSString *fullHeader = [startingBoundryStr stringByAppendingString:contentRangeStr];\n        NSData *fullHeaderData = [fullHeader dataUsingEncoding:NSUTF8StringEncoding];\n        \n        [ranges_headers addObject:fullHeaderData];\n        \n        actualContentLength += [fullHeaderData length];\n        actualContentLength += range.length;\n    }\n    \n    NSData *endingBoundryData = [endingBoundryStr dataUsingEncoding:NSUTF8StringEncoding];\n    \n    actualContentLength += [endingBoundryData length];\n    \n    NSString *contentLengthStr = [NSString stringWithFormat:@\"%qu\", actualContentLength];\n    [response setHeaderField:@\"Content-Length\" value:contentLengthStr];\n    \n    NSString *contentTypeStr = [NSString stringWithFormat:@\"multipart/byteranges; boundary=%@\", ranges_boundry];\n    [response setHeaderField:@\"Content-Type\" value:contentTypeStr];\n    \n    return response;\n}\n\n/**\n * Returns the chunk size line that must precede each chunk of data when using chunked transfer encoding.\n * This consists of the size of the data, in hexadecimal, followed by a CRLF.\n**/\n- (NSData *)chunkedTransferSizeLineForLength:(NSUInteger)length\n{\n    return [[NSString stringWithFormat:@\"%lx\\r\\n\", (unsigned long)length] dataUsingEncoding:NSUTF8StringEncoding];\n}\n\n/**\n * Returns the data that signals the end of a chunked transfer.\n**/\n- (NSData *)chunkedTransferFooter\n{\n    // Each data chunk is preceded by a size line (in hex and including a CRLF),\n    // followed by the data itself, followed by another CRLF.\n    // After every data chunk has been sent, a zero size line is sent,\n    // followed by optional footer (which are just more headers),\n    // and followed by a CRLF on a line by itself.\n    \n    return [@\"\\r\\n0\\r\\n\\r\\n\" dataUsingEncoding:NSUTF8StringEncoding];\n}\n\n- (void)sendResponseHeadersAndBody\n{\n    if ([httpResponse respondsToSelector:@selector(delayResponseHeaders)])\n    {\n        if ([httpResponse delayResponseHeaders])\n        {\n            return;\n        }\n    }\n    \n    BOOL isChunked = NO;\n    \n    if ([httpResponse respondsToSelector:@selector(isChunked)])\n    {\n        isChunked = [httpResponse isChunked];\n    }\n    \n    // If a response is \"chunked\", this simply means the HTTPResponse object\n    // doesn't know the content-length in advance.\n    \n    UInt64 contentLength = 0;\n    \n    if (!isChunked)\n    {\n        contentLength = [httpResponse contentLength];\n    }\n    \n    // Check for specific range request\n    NSString *rangeHeader = [request headerField:@\"Range\"];\n    \n    BOOL isRangeRequest = NO;\n    \n    // If the response is \"chunked\" then we don't know the exact content-length.\n    // This means we'll be unable to process any range requests.\n    // This is because range requests might include a range like \"give me the last 100 bytes\"\n    \n    if (!isChunked && rangeHeader)\n    {\n        if ([self parseRangeRequest:rangeHeader withContentLength:contentLength])\n        {\n            isRangeRequest = YES;\n        }\n    }\n    \n    HTTPMessage *response;\n    \n    if (!isRangeRequest)\n    {\n        // Create response\n        // Default status code: 200 - OK\n        NSInteger status = 200;\n        \n        if ([httpResponse respondsToSelector:@selector(status)])\n        {\n            status = [httpResponse status];\n        }\n        response = [[HTTPMessage alloc] initResponseWithStatusCode:status description:nil version:HTTPVersion1_1];\n        \n        if (isChunked)\n        {\n            [response setHeaderField:@\"Transfer-Encoding\" value:@\"chunked\"];\n        }\n        else\n        {\n            NSString *contentLengthStr = [NSString stringWithFormat:@\"%qu\", contentLength];\n            [response setHeaderField:@\"Content-Length\" value:contentLengthStr];\n        }\n    }\n    else\n    {\n        if ([ranges count] == 1)\n        {\n            response = [self newUniRangeResponse:contentLength];\n        }\n        else\n        {\n            response = [self newMultiRangeResponse:contentLength];\n        }\n    }\n    \n    BOOL isZeroLengthResponse = !isChunked && (contentLength == 0);\n    \n    // If they issue a 'HEAD' command, we don't have to include the file\n    // If they issue a 'GET' command, we need to include the file\n    \n    if ([[request method] isEqualToString:@\"HEAD\"] || isZeroLengthResponse)\n    {\n        NSData *responseData = [self preprocessResponse:response];\n        [asyncSocket writeData:responseData withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_RESPONSE];\n        \n        sentResponseHeaders = YES;\n    }\n    else\n    {\n        // Write the header response\n        NSData *responseData = [self preprocessResponse:response];\n        [asyncSocket writeData:responseData withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_PARTIAL_RESPONSE_HEADER];\n        \n        sentResponseHeaders = YES;\n        \n        // Now we need to send the body of the response\n        if (!isRangeRequest)\n        {\n            // Regular request\n            NSData *data = [httpResponse readDataOfLength:READ_CHUNKSIZE];\n            \n            if ([data length] > 0)\n            {\n                [responseDataSizes addObject:[NSNumber numberWithUnsignedInteger:[data length]]];\n                \n                if (isChunked)\n                {\n                    NSData *chunkSize = [self chunkedTransferSizeLineForLength:[data length]];\n                    [asyncSocket writeData:chunkSize withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_CHUNKED_RESPONSE_HEADER];\n                    \n                    [asyncSocket writeData:data withTimeout:TIMEOUT_WRITE_BODY tag:HTTP_CHUNKED_RESPONSE_BODY];\n                    \n                    if ([httpResponse isDone])\n                    {\n                        NSData *footer = [self chunkedTransferFooter];\n                        [asyncSocket writeData:footer withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_RESPONSE];\n                    }\n                    else\n                    {\n                        NSData *footer = [GCDAsyncSocket CRLFData];\n                        [asyncSocket writeData:footer withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_CHUNKED_RESPONSE_FOOTER];\n                    }\n                }\n                else\n                {\n                    long tag = [httpResponse isDone] ? HTTP_RESPONSE : HTTP_PARTIAL_RESPONSE_BODY;\n                    [asyncSocket writeData:data withTimeout:TIMEOUT_WRITE_BODY tag:tag];\n                }\n            }\n        }\n        else\n        {\n            // Client specified a byte range in request\n            \n            if ([ranges count] == 1)\n            {\n                // Client is requesting a single range\n                DDRange range = [[ranges objectAtIndex:0] ddrangeValue];\n                \n                [httpResponse setOffset:range.location];\n                \n                NSUInteger bytesToRead = range.length < READ_CHUNKSIZE ? (NSUInteger)range.length : READ_CHUNKSIZE;\n                \n                NSData *data = [httpResponse readDataOfLength:bytesToRead];\n                \n                if ([data length] > 0)\n                {\n                    [responseDataSizes addObject:[NSNumber numberWithUnsignedInteger:[data length]]];\n                    \n                    long tag = [data length] == range.length ? HTTP_RESPONSE : HTTP_PARTIAL_RANGE_RESPONSE_BODY;\n                    [asyncSocket writeData:data withTimeout:TIMEOUT_WRITE_BODY tag:tag];\n                }\n            }\n            else\n            {\n                // Client is requesting multiple ranges\n                // We have to send each range using multipart/byteranges\n                \n                // Write range header\n                NSData *rangeHeaderData = [ranges_headers objectAtIndex:0];\n                [asyncSocket writeData:rangeHeaderData withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_PARTIAL_RESPONSE_HEADER];\n                \n                // Start writing range body\n                DDRange range = [[ranges objectAtIndex:0] ddrangeValue];\n                \n                [httpResponse setOffset:range.location];\n                \n                NSUInteger bytesToRead = range.length < READ_CHUNKSIZE ? (NSUInteger)range.length : READ_CHUNKSIZE;\n                \n                NSData *data = [httpResponse readDataOfLength:bytesToRead];\n                \n                if ([data length] > 0)\n                {\n                    [responseDataSizes addObject:[NSNumber numberWithUnsignedInteger:[data length]]];\n                    \n                    [asyncSocket writeData:data withTimeout:TIMEOUT_WRITE_BODY tag:HTTP_PARTIAL_RANGES_RESPONSE_BODY];\n                }\n            }\n        }\n    }\n    \n}\n\n/**\n * Returns the number of bytes of the http response body that are sitting in asyncSocket's write queue.\n * \n * We keep track of this information in order to keep our memory footprint low while\n * working with asynchronous HTTPResponse objects.\n**/\n- (NSUInteger)writeQueueSize\n{\n    NSUInteger result = 0;\n    \n    NSUInteger i;\n    for(i = 0; i < [responseDataSizes count]; i++)\n    {\n        result += [[responseDataSizes objectAtIndex:i] unsignedIntegerValue];\n    }\n    \n    return result;\n}\n\n/**\n * Sends more data, if needed, without growing the write queue over its approximate size limit.\n * The last chunk of the response body will be sent with a tag of HTTP_RESPONSE.\n * \n * This method should only be called for standard (non-range) responses.\n**/\n- (void)continueSendingStandardResponseBody\n{\n    HTTPLogTrace();\n    \n    // This method is called when either asyncSocket has finished writing one of the response data chunks,\n    // or when an asynchronous HTTPResponse object informs us that it has more available data for us to send.\n    // In the case of the asynchronous HTTPResponse, we don't want to blindly grab the new data,\n    // and shove it onto asyncSocket's write queue.\n    // Doing so could negatively affect the memory footprint of the application.\n    // Instead, we always ensure that we place no more than READ_CHUNKSIZE bytes onto the write queue.\n    // \n    // Note that this does not affect the rate at which the HTTPResponse object may generate data.\n    // The HTTPResponse is free to do as it pleases, and this is up to the application's developer.\n    // If the memory footprint is a concern, the developer creating the custom HTTPResponse object may freely\n    // use the calls to readDataOfLength as an indication to start generating more data.\n    // This provides an easy way for the HTTPResponse object to throttle its data allocation in step with the rate\n    // at which the socket is able to send it.\n    \n    NSUInteger writeQueueSize = [self writeQueueSize];\n    \n    if(writeQueueSize >= READ_CHUNKSIZE) return;\n    \n    NSUInteger available = READ_CHUNKSIZE - writeQueueSize;\n    NSData *data = [httpResponse readDataOfLength:available];\n    \n    if ([data length] > 0)\n    {\n        [responseDataSizes addObject:[NSNumber numberWithUnsignedInteger:[data length]]];\n        \n        BOOL isChunked = NO;\n        \n        if ([httpResponse respondsToSelector:@selector(isChunked)])\n        {\n            isChunked = [httpResponse isChunked];\n        }\n        \n        if (isChunked)\n        {\n            NSData *chunkSize = [self chunkedTransferSizeLineForLength:[data length]];\n            [asyncSocket writeData:chunkSize withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_CHUNKED_RESPONSE_HEADER];\n            \n            [asyncSocket writeData:data withTimeout:TIMEOUT_WRITE_BODY tag:HTTP_CHUNKED_RESPONSE_BODY];\n            \n            if([httpResponse isDone])\n            {\n                NSData *footer = [self chunkedTransferFooter];\n                [asyncSocket writeData:footer withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_RESPONSE];\n            }\n            else\n            {\n                NSData *footer = [GCDAsyncSocket CRLFData];\n                [asyncSocket writeData:footer withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_CHUNKED_RESPONSE_FOOTER];\n            }\n        }\n        else\n        {\n            long tag = [httpResponse isDone] ? HTTP_RESPONSE : HTTP_PARTIAL_RESPONSE_BODY;\n            [asyncSocket writeData:data withTimeout:TIMEOUT_WRITE_BODY tag:tag];\n        }\n    }\n}\n\n/**\n * Sends more data, if needed, without growing the write queue over its approximate size limit.\n * The last chunk of the response body will be sent with a tag of HTTP_RESPONSE.\n * \n * This method should only be called for single-range responses.\n**/\n- (void)continueSendingSingleRangeResponseBody\n{\n    HTTPLogTrace();\n    \n    // This method is called when either asyncSocket has finished writing one of the response data chunks,\n    // or when an asynchronous response informs us that is has more available data for us to send.\n    // In the case of the asynchronous response, we don't want to blindly grab the new data,\n    // and shove it onto asyncSocket's write queue.\n    // Doing so could negatively affect the memory footprint of the application.\n    // Instead, we always ensure that we place no more than READ_CHUNKSIZE bytes onto the write queue.\n    // \n    // Note that this does not affect the rate at which the HTTPResponse object may generate data.\n    // The HTTPResponse is free to do as it pleases, and this is up to the application's developer.\n    // If the memory footprint is a concern, the developer creating the custom HTTPResponse object may freely\n    // use the calls to readDataOfLength as an indication to start generating more data.\n    // This provides an easy way for the HTTPResponse object to throttle its data allocation in step with the rate\n    // at which the socket is able to send it.\n    \n    NSUInteger writeQueueSize = [self writeQueueSize];\n    \n    if(writeQueueSize >= READ_CHUNKSIZE) return;\n    \n    DDRange range = [[ranges objectAtIndex:0] ddrangeValue];\n    \n    UInt64 offset = [httpResponse offset];\n    UInt64 bytesRead = offset - range.location;\n    UInt64 bytesLeft = range.length - bytesRead;\n    \n    if (bytesLeft > 0)\n    {\n        NSUInteger available = READ_CHUNKSIZE - writeQueueSize;\n        NSUInteger bytesToRead = bytesLeft < available ? (NSUInteger)bytesLeft : available;\n        \n        NSData *data = [httpResponse readDataOfLength:bytesToRead];\n        \n        if ([data length] > 0)\n        {\n            [responseDataSizes addObject:[NSNumber numberWithUnsignedInteger:[data length]]];\n            \n            long tag = [data length] == bytesLeft ? HTTP_RESPONSE : HTTP_PARTIAL_RANGE_RESPONSE_BODY;\n            [asyncSocket writeData:data withTimeout:TIMEOUT_WRITE_BODY tag:tag];\n        }\n    }\n}\n\n/**\n * Sends more data, if needed, without growing the write queue over its approximate size limit.\n * The last chunk of the response body will be sent with a tag of HTTP_RESPONSE.\n * \n * This method should only be called for multi-range responses.\n**/\n- (void)continueSendingMultiRangeResponseBody\n{\n    HTTPLogTrace();\n    \n    // This method is called when either asyncSocket has finished writing one of the response data chunks,\n    // or when an asynchronous HTTPResponse object informs us that is has more available data for us to send.\n    // In the case of the asynchronous HTTPResponse, we don't want to blindly grab the new data,\n    // and shove it onto asyncSocket's write queue.\n    // Doing so could negatively affect the memory footprint of the application.\n    // Instead, we always ensure that we place no more than READ_CHUNKSIZE bytes onto the write queue.\n    // \n    // Note that this does not affect the rate at which the HTTPResponse object may generate data.\n    // The HTTPResponse is free to do as it pleases, and this is up to the application's developer.\n    // If the memory footprint is a concern, the developer creating the custom HTTPResponse object may freely\n    // use the calls to readDataOfLength as an indication to start generating more data.\n    // This provides an easy way for the HTTPResponse object to throttle its data allocation in step with the rate\n    // at which the socket is able to send it.\n    \n    NSUInteger writeQueueSize = [self writeQueueSize];\n    \n    if(writeQueueSize >= READ_CHUNKSIZE) return;\n    \n    DDRange range = [[ranges objectAtIndex:rangeIndex] ddrangeValue];\n    \n    UInt64 offset = [httpResponse offset];\n    UInt64 bytesRead = offset - range.location;\n    UInt64 bytesLeft = range.length - bytesRead;\n    \n    if (bytesLeft > 0)\n    {\n        NSUInteger available = READ_CHUNKSIZE - writeQueueSize;\n        NSUInteger bytesToRead = bytesLeft < available ? (NSUInteger)bytesLeft : available;\n        \n        NSData *data = [httpResponse readDataOfLength:bytesToRead];\n        \n        if ([data length] > 0)\n        {\n            [responseDataSizes addObject:[NSNumber numberWithUnsignedInteger:[data length]]];\n            \n            [asyncSocket writeData:data withTimeout:TIMEOUT_WRITE_BODY tag:HTTP_PARTIAL_RANGES_RESPONSE_BODY];\n        }\n    }\n    else\n    {\n        if (++rangeIndex < [ranges count])\n        {\n            // Write range header\n            NSData *rangeHeader = [ranges_headers objectAtIndex:rangeIndex];\n            [asyncSocket writeData:rangeHeader withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_PARTIAL_RESPONSE_HEADER];\n            \n            // Start writing range body\n            range = [[ranges objectAtIndex:rangeIndex] ddrangeValue];\n            \n            [httpResponse setOffset:range.location];\n            \n            NSUInteger available = READ_CHUNKSIZE - writeQueueSize;\n            NSUInteger bytesToRead = range.length < available ? (NSUInteger)range.length : available;\n            \n            NSData *data = [httpResponse readDataOfLength:bytesToRead];\n            \n            if ([data length] > 0)\n            {\n                [responseDataSizes addObject:[NSNumber numberWithUnsignedInteger:[data length]]];\n                \n                [asyncSocket writeData:data withTimeout:TIMEOUT_WRITE_BODY tag:HTTP_PARTIAL_RANGES_RESPONSE_BODY];\n            }\n        }\n        else\n        {\n            // We're not done yet - we still have to send the closing boundry tag\n            NSString *endingBoundryStr = [NSString stringWithFormat:@\"\\r\\n--%@--\\r\\n\", ranges_boundry];\n            NSData *endingBoundryData = [endingBoundryStr dataUsingEncoding:NSUTF8StringEncoding];\n            \n            [asyncSocket writeData:endingBoundryData withTimeout:TIMEOUT_WRITE_HEAD tag:HTTP_RESPONSE];\n        }\n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Responses\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns an array of possible index pages.\n * For example: {\"index.html\", \"index.htm\"}\n**/\n- (NSArray *)directoryIndexFileNames\n{\n    HTTPLogTrace();\n    \n    // Override me to support other index pages.\n    \n    return [NSArray arrayWithObjects:@\"index.html\", @\"index.htm\", nil];\n}\n\n- (NSString *)filePathForURI:(NSString *)path\n{\n    return [self filePathForURI:path allowDirectory:NO];\n}\n\n/**\n * Converts relative URI path into full file-system path.\n**/\n- (NSString *)filePathForURI:(NSString *)path allowDirectory:(BOOL)allowDirectory\n{\n    HTTPLogTrace();\n    \n    // Override me to perform custom path mapping.\n    // For example you may want to use a default file other than index.html, or perhaps support multiple types.\n    \n    NSString *documentRoot = [config documentRoot];\n    \n    // Part 0: Validate document root setting.\n    // \n    // If there is no configured documentRoot,\n    // then it makes no sense to try to return anything.\n    \n    if (documentRoot == nil)\n    {\n        HTTPLogWarn(@\"%@[%p]: No configured document root\", THIS_FILE, self);\n        return nil;\n    }\n    \n    // Part 1: Strip parameters from the url\n    // \n    // E.g.: /page.html?q=22&var=abc -> /page.html\n    \n    NSURL *docRoot = [NSURL fileURLWithPath:documentRoot isDirectory:YES];\n    if (docRoot == nil)\n    {\n        HTTPLogWarn(@\"%@[%p]: Document root is invalid file path\", THIS_FILE, self);\n        return nil;\n    }\n    \n    NSString *relativePath = [[NSURL URLWithString:path relativeToURL:docRoot] relativePath];\n    \n    // Part 2: Append relative path to document root (base path)\n    // \n    // E.g.: relativePath=\"/images/icon.png\"\n    //       documentRoot=\"/Users/robbie/Sites\"\n    //           fullPath=\"/Users/robbie/Sites/images/icon.png\"\n    // \n    // We also standardize the path.\n    // \n    // E.g.: \"Users/robbie/Sites/images/../index.html\" -> \"/Users/robbie/Sites/index.html\"\n    \n    NSString *fullPath = [[documentRoot stringByAppendingPathComponent:relativePath] stringByStandardizingPath];\n    \n    if ([relativePath isEqualToString:@\"/\"])\n    {\n        fullPath = [fullPath stringByAppendingString:@\"/\"];\n    }\n    \n    // Part 3: Prevent serving files outside the document root.\n    // \n    // Sneaky requests may include \"..\" in the path.\n    // \n    // E.g.: relativePath=\"../Documents/TopSecret.doc\"\n    //       documentRoot=\"/Users/robbie/Sites\"\n    //           fullPath=\"/Users/robbie/Documents/TopSecret.doc\"\n    // \n    // E.g.: relativePath=\"../Sites_Secret/TopSecret.doc\"\n    //       documentRoot=\"/Users/robbie/Sites\"\n    //           fullPath=\"/Users/robbie/Sites_Secret/TopSecret\"\n    \n    if (![documentRoot hasSuffix:@\"/\"])\n    {\n        documentRoot = [documentRoot stringByAppendingString:@\"/\"];\n    }\n    \n    if (![fullPath hasPrefix:documentRoot])\n    {\n        HTTPLogWarn(@\"%@[%p]: Request for file outside document root\", THIS_FILE, self);\n        return nil;\n    }\n    \n    // Part 4: Search for index page if path is pointing to a directory\n    if (!allowDirectory)\n    {\n        BOOL isDir = NO;\n        if ([[NSFileManager defaultManager] fileExistsAtPath:fullPath isDirectory:&isDir] && isDir)\n        {\n            NSArray *indexFileNames = [self directoryIndexFileNames];\n\n            for (NSString *indexFileName in indexFileNames)\n            {\n                NSString *indexFilePath = [fullPath stringByAppendingPathComponent:indexFileName];\n\n                if ([[NSFileManager defaultManager] fileExistsAtPath:indexFilePath isDirectory:&isDir] && !isDir)\n                {\n                    return indexFilePath;\n                }\n            }\n\n            // No matching index files found in directory\n            return nil;\n        }\n    }\n\n    return fullPath;\n}\n\n/**\n * This method is called to get a response for a request.\n * You may return any object that adopts the HTTPResponse protocol.\n * The HTTPServer comes with two such classes: HTTPFileResponse and HTTPDataResponse.\n * HTTPFileResponse is a wrapper for an NSFileHandle object, and is the preferred way to send a file response.\n * HTTPDataResponse is a wrapper for an NSData object, and may be used to send a custom response.\n**/\n- (NSObject<HTTPResponse> *)httpResponseForMethod:(NSString *)method URI:(NSString *)path\n{\n    HTTPLogTrace();\n    \n    // Override me to provide custom responses.\n    \n    NSString *filePath = [self filePathForURI:path allowDirectory:NO];\n    \n    BOOL isDir = NO;\n    \n    if (filePath && [[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:&isDir] && !isDir)\n    {\n        return [[HTTPFileResponse alloc] initWithFilePath:filePath forConnection:self];\n    \n        // Use me instead for asynchronous file IO.\n        // Generally better for larger files.\n        \n    //  return [[[HTTPAsyncFileResponse alloc] initWithFilePath:filePath forConnection:self] autorelease];\n    }\n    \n    return nil;\n}\n\n- (WebSocket *)webSocketForURI:(NSString *)path\n{\n    HTTPLogTrace();\n    \n    // Override me to provide custom WebSocket responses.\n    // To do so, simply override the base WebSocket implementation, and add your custom functionality.\n    // Then return an instance of your custom WebSocket here.\n    // \n    // For example:\n    // \n    // if ([path isEqualToString:@\"/myAwesomeWebSocketStream\"])\n    // {\n    //     return [[[MyWebSocket alloc] initWithRequest:request socket:asyncSocket] autorelease];\n    // }\n    // \n    // return [super webSocketForURI:path];\n    \n    return nil;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Uploads\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method is called after receiving all HTTP headers, but before reading any of the request body.\n**/\n- (void)prepareForBodyWithSize:(UInt64)contentLength\n{\n    // Override me to allocate buffers, file handles, etc.\n}\n\n/**\n * This method is called to handle data read from a POST / PUT.\n * The given data is part of the request body.\n**/\n- (void)processBodyData:(NSData *)postDataChunk\n{\n    // Override me to do something useful with a POST / PUT.\n    // If the post is small, such as a simple form, you may want to simply append the data to the request.\n    // If the post is big, such as a file upload, you may want to store the file to disk.\n    // \n    // Remember: In order to support LARGE POST uploads, the data is read in chunks.\n    // This prevents a 50 MB upload from being stored in RAM.\n    // The size of the chunks are limited by the POST_CHUNKSIZE definition.\n    // Therefore, this method may be called multiple times for the same POST request.\n}\n\n/**\n * This method is called after the request body has been fully read but before the HTTP request is processed.\n**/\n- (void)finishBody\n{\n    // Override me to perform any final operations on an upload.\n    // For example, if you were saving the upload to disk this would be\n    // the hook to flush any pending data to disk and maybe close the file.\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Errors\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Called if the HTML version is other than what is supported\n**/\n- (void)handleVersionNotSupported:(NSString *)version\n{\n    // Override me for custom error handling of unsupported http version responses\n    // If you simply want to add a few extra header fields, see the preprocessErrorResponse: method.\n    // You can also use preprocessErrorResponse: to add an optional HTML body.\n    \n    HTTPLogWarn(@\"HTTP Server: Error 505 - Version Not Supported: %@ (%@)\", version, [self requestURI]);\n    \n    HTTPMessage *response = [[HTTPMessage alloc] initResponseWithStatusCode:505 description:nil version:HTTPVersion1_1];\n    [response setHeaderField:@\"Content-Length\" value:@\"0\"];\n    \n    NSData *responseData = [self preprocessErrorResponse:response];\n    [asyncSocket writeData:responseData withTimeout:TIMEOUT_WRITE_ERROR tag:HTTP_RESPONSE];\n    \n}\n\n/**\n * Called if the authentication information was required and absent, or if authentication failed.\n**/\n- (void)handleAuthenticationFailed\n{\n    // Override me for custom handling of authentication challenges\n    // If you simply want to add a few extra header fields, see the preprocessErrorResponse: method.\n    // You can also use preprocessErrorResponse: to add an optional HTML body.\n    \n    HTTPLogInfo(@\"HTTP Server: Error 401 - Unauthorized (%@)\", [self requestURI]);\n        \n    // Status Code 401 - Unauthorized\n    HTTPMessage *response = [[HTTPMessage alloc] initResponseWithStatusCode:401 description:nil version:HTTPVersion1_1];\n    [response setHeaderField:@\"Content-Length\" value:@\"0\"];\n    \n    if ([self useDigestAccessAuthentication])\n    {\n        [self addDigestAuthChallenge:response];\n    }\n    else\n    {\n        [self addBasicAuthChallenge:response];\n    }\n    \n    NSData *responseData = [self preprocessErrorResponse:response];\n    [asyncSocket writeData:responseData withTimeout:TIMEOUT_WRITE_ERROR tag:HTTP_RESPONSE];\n    \n}\n\n/**\n * Called if we receive some sort of malformed HTTP request.\n * The data parameter is the invalid HTTP header line, including CRLF, as read from GCDAsyncSocket.\n * The data parameter may also be nil if the request as a whole was invalid, such as a POST with no Content-Length.\n**/\n- (void)handleInvalidRequest:(NSData *)data\n{\n    // Override me for custom error handling of invalid HTTP requests\n    // If you simply want to add a few extra header fields, see the preprocessErrorResponse: method.\n    // You can also use preprocessErrorResponse: to add an optional HTML body.\n    \n    HTTPLogWarn(@\"HTTP Server: Error 400 - Bad Request (%@)\", [self requestURI]);\n    \n    // Status Code 400 - Bad Request\n    HTTPMessage *response = [[HTTPMessage alloc] initResponseWithStatusCode:400 description:nil version:HTTPVersion1_1];\n    [response setHeaderField:@\"Content-Length\" value:@\"0\"];\n    [response setHeaderField:@\"Connection\" value:@\"close\"];\n    \n    NSData *responseData = [self preprocessErrorResponse:response];\n    [asyncSocket writeData:responseData withTimeout:TIMEOUT_WRITE_ERROR tag:HTTP_FINAL_RESPONSE];\n    \n    \n    // Note: We used the HTTP_FINAL_RESPONSE tag to disconnect after the response is sent.\n    // We do this because we couldn't parse the request,\n    // so we won't be able to recover and move on to another request afterwards.\n    // In other words, we wouldn't know where the first request ends and the second request begins.\n}\n\n/**\n * Called if we receive a HTTP request with a method other than GET or HEAD.\n**/\n- (void)handleUnknownMethod:(NSString *)method\n{\n    // Override me for custom error handling of 405 method not allowed responses.\n    // If you simply want to add a few extra header fields, see the preprocessErrorResponse: method.\n    // You can also use preprocessErrorResponse: to add an optional HTML body.\n    // \n    // See also: supportsMethod:atPath:\n    \n    HTTPLogWarn(@\"HTTP Server: Error 405 - Method Not Allowed: %@ (%@)\", method, [self requestURI]);\n    \n    // Status code 405 - Method Not Allowed\n    HTTPMessage *response = [[HTTPMessage alloc] initResponseWithStatusCode:405 description:nil version:HTTPVersion1_1];\n    [response setHeaderField:@\"Content-Length\" value:@\"0\"];\n    [response setHeaderField:@\"Connection\" value:@\"close\"];\n    \n    NSData *responseData = [self preprocessErrorResponse:response];\n    [asyncSocket writeData:responseData withTimeout:TIMEOUT_WRITE_ERROR tag:HTTP_FINAL_RESPONSE];\n    \n    \n    // Note: We used the HTTP_FINAL_RESPONSE tag to disconnect after the response is sent.\n    // We do this because the method may include an http body.\n    // Since we can't be sure, we should close the connection.\n}\n\n/**\n * Called if we're unable to find the requested resource.\n**/\n- (void)handleResourceNotFound\n{\n    // Override me for custom error handling of 404 not found responses\n    // If you simply want to add a few extra header fields, see the preprocessErrorResponse: method.\n    // You can also use preprocessErrorResponse: to add an optional HTML body.\n    \n    HTTPLogInfo(@\"HTTP Server: Error 404 - Not Found (%@)\", [self requestURI]);\n    \n    // Status Code 404 - Not Found\n    HTTPMessage *response = [[HTTPMessage alloc] initResponseWithStatusCode:404 description:nil version:HTTPVersion1_1];\n    [response setHeaderField:@\"Content-Length\" value:@\"0\"];\n    \n    NSData *responseData = [self preprocessErrorResponse:response];\n    [asyncSocket writeData:responseData withTimeout:TIMEOUT_WRITE_ERROR tag:HTTP_RESPONSE];\n    \n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Headers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Gets the current date and time, formatted properly (according to RFC) for insertion into an HTTP header.\n**/\n- (NSString *)dateAsString:(NSDate *)date\n{\n    // From Apple's Documentation (Data Formatting Guide -> Date Formatters -> Cache Formatters for Efficiency):\n    // \n    // \"Creating a date formatter is not a cheap operation. If you are likely to use a formatter frequently,\n    // it is typically more efficient to cache a single instance than to create and dispose of multiple instances.\n    // One approach is to use a static variable.\"\n    // \n    // This was discovered to be true in massive form via issue #46:\n    // \n    // \"Was doing some performance benchmarking using instruments and httperf. Using this single optimization\n    // I got a 26% speed improvement - from 1000req/sec to 3800req/sec. Not insignificant.\n    // The culprit? Why, NSDateFormatter, of course!\"\n    // \n    // Thus, we are using a static NSDateFormatter here.\n    \n    static NSDateFormatter *df;\n    \n    static dispatch_once_t onceToken;\n    dispatch_once(&onceToken, ^{\n        \n        // Example: Sun, 06 Nov 1994 08:49:37 GMT\n        \n        df = [[NSDateFormatter alloc] init];\n        [df setFormatterBehavior:NSDateFormatterBehavior10_4];\n        [df setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@\"GMT\"]];\n        [df setDateFormat:@\"EEE, dd MMM y HH:mm:ss 'GMT'\"];\n        [df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@\"en_US\"]];\n        \n        // For some reason, using zzz in the format string produces GMT+00:00\n    });\n    \n    return [df stringFromDate:date];\n}\n\n/**\n * This method is called immediately prior to sending the response headers.\n * This method adds standard header fields, and then converts the response to an NSData object.\n**/\n- (NSData *)preprocessResponse:(HTTPMessage *)response\n{\n    HTTPLogTrace();\n    \n    // Override me to customize the response headers\n    // You'll likely want to add your own custom headers, and then return [super preprocessResponse:response]\n    \n    // Add standard headers\n    NSString *now = [self dateAsString:[NSDate date]];\n    [response setHeaderField:@\"Date\" value:now];\n    \n    // Add server capability headers\n    [response setHeaderField:@\"Accept-Ranges\" value:@\"bytes\"];\n    \n    // Add optional response headers\n    if ([httpResponse respondsToSelector:@selector(httpHeaders)])\n    {\n        NSDictionary *responseHeaders = [httpResponse httpHeaders];\n        \n        NSEnumerator *keyEnumerator = [responseHeaders keyEnumerator];\n        NSString *key;\n        \n        while ((key = [keyEnumerator nextObject]))\n        {\n            NSString *value = [responseHeaders objectForKey:key];\n            \n            [response setHeaderField:key value:value];\n        }\n    }\n    \n    return [response messageData];\n}\n\n/**\n * This method is called immediately prior to sending the response headers (for an error).\n * This method adds standard header fields, and then converts the response to an NSData object.\n**/\n- (NSData *)preprocessErrorResponse:(HTTPMessage *)response\n{\n    HTTPLogTrace();\n    \n    // Override me to customize the error response headers\n    // You'll likely want to add your own custom headers, and then return [super preprocessErrorResponse:response]\n    // \n    // Notes:\n    // You can use [response statusCode] to get the type of error.\n    // You can use [response setBody:data] to add an optional HTML body.\n    // If you add a body, don't forget to update the Content-Length.\n    // \n    // if ([response statusCode] == 404)\n    // {\n    //     NSString *msg = @\"<html><body>Error 404 - Not Found</body></html>\";\n    //     NSData *msgData = [msg dataUsingEncoding:NSUTF8StringEncoding];\n    //     \n    //     [response setBody:msgData];\n    //     \n    //     NSString *contentLengthStr = [NSString stringWithFormat:@\"%lu\", (unsigned long)[msgData length]];\n    //     [response setHeaderField:@\"Content-Length\" value:contentLengthStr];\n    // }\n    \n    // Add standard headers\n    NSString *now = [self dateAsString:[NSDate date]];\n    [response setHeaderField:@\"Date\" value:now];\n    \n    // Add server capability headers\n    [response setHeaderField:@\"Accept-Ranges\" value:@\"bytes\"];\n    \n    // Add optional response headers\n    if ([httpResponse respondsToSelector:@selector(httpHeaders)])\n    {\n        NSDictionary *responseHeaders = [httpResponse httpHeaders];\n        \n        NSEnumerator *keyEnumerator = [responseHeaders keyEnumerator];\n        NSString *key;\n        \n        while((key = [keyEnumerator nextObject]))\n        {\n            NSString *value = [responseHeaders objectForKey:key];\n            \n            [response setHeaderField:key value:value];\n        }\n    }\n    \n    return [response messageData];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark GCDAsyncSocket Delegate\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method is called after the socket has successfully read data from the stream.\n * Remember that this method will only be called after the socket reaches a CRLF, or after it's read the proper length.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData*)data withTag:(long)tag\n{\n    if (tag == HTTP_REQUEST_HEADER)\n    {\n        // Append the header line to the http message\n        BOOL result = [request appendData:data];\n        if (!result)\n        {\n            HTTPLogWarn(@\"%@[%p]: Malformed request\", THIS_FILE, self);\n            \n            [self handleInvalidRequest:data];\n        }\n        else if (![request isHeaderComplete])\n        {\n            // We don't have a complete header yet\n            // That is, we haven't yet received a CRLF on a line by itself, indicating the end of the header\n            if (++numHeaderLines > MAX_HEADER_LINES)\n            {\n                // Reached the maximum amount of header lines in a single HTTP request\n                // This could be an attempted DOS attack\n                [asyncSocket disconnect];\n                \n                // Explictly return to ensure we don't do anything after the socket disconnect\n                return;\n            }\n            else\n            {\n                [asyncSocket readDataToData:[GCDAsyncSocket CRLFData]\n                                withTimeout:TIMEOUT_READ_SUBSEQUENT_HEADER_LINE\n                                  maxLength:MAX_HEADER_LINE_LENGTH\n                                        tag:HTTP_REQUEST_HEADER];\n            }\n        }\n        else\n        {\n            // We have an entire HTTP request header from the client\n            \n            // Extract the method (such as GET, HEAD, POST, etc)\n            NSString *method = [request method];\n            \n            // Extract the uri (such as \"/index.html\")\n            NSString *uri = [self requestURI];\n            \n            // Check for a Transfer-Encoding field\n            NSString *transferEncoding = [request headerField:@\"Transfer-Encoding\"];\n      \n            // Check for a Content-Length field\n            NSString *contentLength = [request headerField:@\"Content-Length\"];\n            \n            // Content-Length MUST be present for upload methods (such as POST or PUT)\n            // and MUST NOT be present for other methods.\n            BOOL expectsUpload = [self expectsRequestBodyFromMethod:method atPath:uri];\n            \n            if (expectsUpload)\n            {\n                if (transferEncoding && ![transferEncoding caseInsensitiveCompare:@\"Chunked\"])\n                {\n                    requestContentLength = -1;\n                }\n                else\n                {\n                    if (contentLength == nil)\n                    {\n                        HTTPLogWarn(@\"%@[%p]: Method expects request body, but had no specified Content-Length\",\n                                    THIS_FILE, self);\n                        \n                        [self handleInvalidRequest:nil];\n                        return;\n                    }\n                    \n                    if (![NSNumber parseString:(NSString *)contentLength intoUInt64:&requestContentLength])\n                    {\n                        HTTPLogWarn(@\"%@[%p]: Unable to parse Content-Length header into a valid number\",\n                                    THIS_FILE, self);\n                        \n                        [self handleInvalidRequest:nil];\n                        return;\n                    }\n                }\n            }\n            else\n            {\n                if (contentLength != nil)\n                {\n                    // Received Content-Length header for method not expecting an upload.\n                    // This better be zero...\n                    \n                    if (![NSNumber parseString:(NSString *)contentLength intoUInt64:&requestContentLength])\n                    {\n                        HTTPLogWarn(@\"%@[%p]: Unable to parse Content-Length header into a valid number\",\n                                    THIS_FILE, self);\n                        \n                        [self handleInvalidRequest:nil];\n                        return;\n                    }\n                    \n                    if (requestContentLength > 0)\n                    {\n                        HTTPLogWarn(@\"%@[%p]: Method not expecting request body had non-zero Content-Length\",\n                                    THIS_FILE, self);\n                        \n                        [self handleInvalidRequest:nil];\n                        return;\n                    }\n                }\n                \n                requestContentLength = 0;\n                requestContentLengthReceived = 0;\n            }\n            \n            // Check to make sure the given method is supported\n            if (![self supportsMethod:method atPath:uri])\n            {\n                // The method is unsupported - either in general, or for this specific request\n                // Send a 405 - Method not allowed response\n                [self handleUnknownMethod:method];\n                return;\n            }\n            \n            if (expectsUpload)\n            {\n                // Reset the total amount of data received for the upload\n                requestContentLengthReceived = 0;\n                \n                // Prepare for the upload\n                [self prepareForBodyWithSize:requestContentLength];\n                \n                if (requestContentLength > 0)\n                {\n                    // Start reading the request body\n                    if (requestContentLength == -1)\n                    {\n                        // Chunked transfer\n                        \n                        [asyncSocket readDataToData:[GCDAsyncSocket CRLFData]\n                                        withTimeout:TIMEOUT_READ_BODY\n                                          maxLength:MAX_CHUNK_LINE_LENGTH\n                                                tag:HTTP_REQUEST_CHUNK_SIZE];\n                    }\n                    else\n                    {\n                        NSUInteger bytesToRead;\n                        if (requestContentLength < POST_CHUNKSIZE)\n                            bytesToRead = (NSUInteger)requestContentLength;\n                        else\n                            bytesToRead = POST_CHUNKSIZE;\n                        \n                        [asyncSocket readDataToLength:bytesToRead\n                                          withTimeout:TIMEOUT_READ_BODY\n                                                  tag:HTTP_REQUEST_BODY];\n                    }\n                }\n                else\n                {\n                    // Empty upload\n                    [self finishBody];\n                    [self replyToHTTPRequest];\n                }\n            }\n            else\n            {\n                // Now we need to reply to the request\n                [self replyToHTTPRequest];\n            }\n        }\n    }\n    else\n    {\n        BOOL doneReadingRequest = NO;\n        \n        // A chunked message body contains a series of chunks,\n        // followed by a line with \"0\" (zero),\n        // followed by optional footers (just like headers),\n        // and a blank line.\n        // \n        // Each chunk consists of two parts:\n        // \n        // 1. A line with the size of the chunk data, in hex,\n        //    possibly followed by a semicolon and extra parameters you can ignore (none are currently standard),\n        //    and ending with CRLF.\n        // 2. The data itself, followed by CRLF.\n        // \n        // Part 1 is represented by HTTP_REQUEST_CHUNK_SIZE\n        // Part 2 is represented by HTTP_REQUEST_CHUNK_DATA and HTTP_REQUEST_CHUNK_TRAILER\n        // where the trailer is the CRLF that follows the data.\n        // \n        // The optional footers and blank line are represented by HTTP_REQUEST_CHUNK_FOOTER.\n        \n        if (tag == HTTP_REQUEST_CHUNK_SIZE)\n        {\n            // We have just read in a line with the size of the chunk data, in hex, \n            // possibly followed by a semicolon and extra parameters that can be ignored,\n            // and ending with CRLF.\n            \n            NSString *sizeLine = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];\n            \n            errno = 0;  // Reset errno before calling strtoull() to ensure it is always zero on success\n            requestChunkSize = (UInt64)strtoull([sizeLine UTF8String], NULL, 16);\n            requestChunkSizeReceived = 0;\n            \n            if (errno != 0)\n            {\n                HTTPLogWarn(@\"%@[%p]: Method expects chunk size, but received something else\", THIS_FILE, self);\n                \n                [self handleInvalidRequest:nil];\n                return;\n            }\n            \n            if (requestChunkSize > 0)\n            {\n                NSUInteger bytesToRead;\n                bytesToRead = (requestChunkSize < POST_CHUNKSIZE) ? (NSUInteger)requestChunkSize : POST_CHUNKSIZE;\n                \n                [asyncSocket readDataToLength:bytesToRead\n                                  withTimeout:TIMEOUT_READ_BODY\n                                          tag:HTTP_REQUEST_CHUNK_DATA];\n            }\n            else\n            {\n                // This is the \"0\" (zero) line,\n                // which is to be followed by optional footers (just like headers) and finally a blank line.\n                \n                [asyncSocket readDataToData:[GCDAsyncSocket CRLFData]\n                                withTimeout:TIMEOUT_READ_BODY\n                                  maxLength:MAX_HEADER_LINE_LENGTH\n                                        tag:HTTP_REQUEST_CHUNK_FOOTER];\n            }\n            \n            return;\n        }\n        else if (tag == HTTP_REQUEST_CHUNK_DATA)\n        {\n            // We just read part of the actual data.\n            \n            requestContentLengthReceived += [data length];\n            requestChunkSizeReceived += [data length];\n            \n            [self processBodyData:data];\n            \n            UInt64 bytesLeft = requestChunkSize - requestChunkSizeReceived;\n            if (bytesLeft > 0)\n            {\n                NSUInteger bytesToRead = (bytesLeft < POST_CHUNKSIZE) ? (NSUInteger)bytesLeft : POST_CHUNKSIZE;\n                \n                [asyncSocket readDataToLength:bytesToRead\n                                  withTimeout:TIMEOUT_READ_BODY\n                                          tag:HTTP_REQUEST_CHUNK_DATA];\n            }\n            else\n            {\n                // We've read in all the data for this chunk.\n                // The data is followed by a CRLF, which we need to read (and basically ignore)\n                \n                [asyncSocket readDataToLength:2\n                                  withTimeout:TIMEOUT_READ_BODY\n                                          tag:HTTP_REQUEST_CHUNK_TRAILER];\n            }\n            \n            return;\n        }\n        else if (tag == HTTP_REQUEST_CHUNK_TRAILER)\n        {\n            // This should be the CRLF following the data.\n            // Just ensure it's a CRLF.\n            \n            if (![data isEqualToData:[GCDAsyncSocket CRLFData]])\n            {\n                HTTPLogWarn(@\"%@[%p]: Method expects chunk trailer, but is missing\", THIS_FILE, self);\n                \n                [self handleInvalidRequest:nil];\n                return;\n            }\n            \n            // Now continue with the next chunk\n            \n            [asyncSocket readDataToData:[GCDAsyncSocket CRLFData]\n                            withTimeout:TIMEOUT_READ_BODY\n                              maxLength:MAX_CHUNK_LINE_LENGTH\n                                    tag:HTTP_REQUEST_CHUNK_SIZE];\n            \n        }\n        else if (tag == HTTP_REQUEST_CHUNK_FOOTER)\n        {\n            if (++numHeaderLines > MAX_HEADER_LINES)\n            {\n                // Reached the maximum amount of header lines in a single HTTP request\n                // This could be an attempted DOS attack\n                [asyncSocket disconnect];\n                \n                // Explictly return to ensure we don't do anything after the socket disconnect\n                return;\n            }\n            \n            if ([data length] > 2)\n            {\n                // We read in a footer.\n                // In the future we may want to append these to the request.\n                // For now we ignore, and continue reading the footers, waiting for the final blank line.\n                \n                [asyncSocket readDataToData:[GCDAsyncSocket CRLFData]\n                                withTimeout:TIMEOUT_READ_BODY\n                                  maxLength:MAX_HEADER_LINE_LENGTH\n                                        tag:HTTP_REQUEST_CHUNK_FOOTER];\n            }\n            else\n            {\n                doneReadingRequest = YES;\n            }\n        }\n        else  // HTTP_REQUEST_BODY\n        {\n            // Handle a chunk of data from the POST body\n            \n            requestContentLengthReceived += [data length];\n            [self processBodyData:data];\n            \n            if (requestContentLengthReceived < requestContentLength)\n            {\n                // We're not done reading the post body yet...\n                \n                UInt64 bytesLeft = requestContentLength - requestContentLengthReceived;\n                \n                NSUInteger bytesToRead = bytesLeft < POST_CHUNKSIZE ? (NSUInteger)bytesLeft : POST_CHUNKSIZE;\n                \n                [asyncSocket readDataToLength:bytesToRead\n                                  withTimeout:TIMEOUT_READ_BODY\n                                          tag:HTTP_REQUEST_BODY];\n            }\n            else\n            {\n                doneReadingRequest = YES;\n            }\n        }\n        \n        // Now that the entire body has been received, we need to reply to the request\n        \n        if (doneReadingRequest)\n        {\n            [self finishBody];\n            [self replyToHTTPRequest];\n        }\n    }\n}\n\n/**\n * This method is called after the socket has successfully written data to the stream.\n**/\n- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag\n{\n    BOOL doneSendingResponse = NO;\n    \n    if (tag == HTTP_PARTIAL_RESPONSE_BODY)\n    {\n        // Update the amount of data we have in asyncSocket's write queue\n        [responseDataSizes removeObjectAtIndex:0];\n        \n        // We only wrote a part of the response - there may be more\n        [self continueSendingStandardResponseBody];\n    }\n    else if (tag == HTTP_CHUNKED_RESPONSE_BODY)\n    {\n        // Update the amount of data we have in asyncSocket's write queue.\n        // This will allow asynchronous responses to continue sending more data.\n        [responseDataSizes removeObjectAtIndex:0];\n        \n        // Don't continue sending the response yet.\n        // The chunked footer that was sent after the body will tell us if we have more data to send.\n    }\n    else if (tag == HTTP_CHUNKED_RESPONSE_FOOTER)\n    {\n        // Normal chunked footer indicating we have more data to send (non final footer).\n        [self continueSendingStandardResponseBody];\n    }\n    else if (tag == HTTP_PARTIAL_RANGE_RESPONSE_BODY)\n    {\n        // Update the amount of data we have in asyncSocket's write queue\n        [responseDataSizes removeObjectAtIndex:0];\n        \n        // We only wrote a part of the range - there may be more\n        [self continueSendingSingleRangeResponseBody];\n    }\n    else if (tag == HTTP_PARTIAL_RANGES_RESPONSE_BODY)\n    {\n        // Update the amount of data we have in asyncSocket's write queue\n        [responseDataSizes removeObjectAtIndex:0];\n        \n        // We only wrote part of the range - there may be more, or there may be more ranges\n        [self continueSendingMultiRangeResponseBody];\n    }\n    else if (tag == HTTP_RESPONSE || tag == HTTP_FINAL_RESPONSE)\n    {\n        // Update the amount of data we have in asyncSocket's write queue\n        if ([responseDataSizes count] > 0)\n        {\n            [responseDataSizes removeObjectAtIndex:0];\n        }\n        \n        doneSendingResponse = YES;\n    }\n    \n    if (doneSendingResponse)\n    {\n        // Inform the http response that we're done\n        if ([httpResponse respondsToSelector:@selector(connectionDidClose)])\n        {\n            [httpResponse connectionDidClose];\n        }\n        \n        \n        if (tag == HTTP_FINAL_RESPONSE)\n        {\n            // Cleanup after the last request\n            [self finishResponse];\n            \n            // Terminate the connection\n            [asyncSocket disconnect];\n            \n            // Explictly return to ensure we don't do anything after the socket disconnects\n            return;\n        }\n        else\n        {\n            if ([self shouldDie])\n            {\n                // Cleanup after the last request\n                // Note: Don't do this before calling shouldDie, as it needs the request object still.\n                [self finishResponse];\n                \n                // The only time we should invoke [self die] is from socketDidDisconnect,\n                // or if the socket gets taken over by someone else like a WebSocket.\n                \n                [asyncSocket disconnect];\n            }\n            else\n            {\n                // Cleanup after the last request\n                [self finishResponse];\n                \n                // Prepare for the next request\n                \n                // If this assertion fails, it likely means you overrode the\n                // finishBody method and forgot to call [super finishBody].\n                NSAssert(request == nil, @\"Request not properly released in finishBody\");\n                \n                request = [[HTTPMessage alloc] initEmptyRequest];\n                \n                numHeaderLines = 0;\n                sentResponseHeaders = NO;\n                \n                // And start listening for more requests\n                [self startReadingRequest];\n            }\n        }\n    }\n}\n\n/**\n * Sent after the socket has been disconnected.\n**/\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err\n{\n    HTTPLogTrace();\n    \n    asyncSocket = nil;\n    \n    [self die];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark HTTPResponse Notifications\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method may be called by asynchronous HTTPResponse objects.\n * That is, HTTPResponse objects that return YES in their \"- (BOOL)isAsynchronous\" method.\n * \n * This informs us that the response object has generated more data that we may be able to send.\n**/\n- (void)responseHasAvailableData:(NSObject<HTTPResponse> *)sender\n{\n    HTTPLogTrace();\n    \n    // We always dispatch this asynchronously onto our connectionQueue,\n    // even if the connectionQueue is the current queue.\n    // \n    // We do this to give the HTTPResponse classes the flexibility to call\n    // this method whenever they want, even from within a readDataOfLength method.\n    \n    dispatch_async(connectionQueue, ^{ @autoreleasepool {\n        \n        if (sender != httpResponse)\n        {\n            HTTPLogWarn(@\"%@[%p]: %@ - Sender is not current httpResponse\", THIS_FILE, self, THIS_METHOD);\n            return;\n        }\n        \n        if (!sentResponseHeaders)\n        {\n            [self sendResponseHeadersAndBody];\n        }\n        else\n        {\n            if (ranges == nil)\n            {\n                [self continueSendingStandardResponseBody];\n            }\n            else\n            {\n                if ([ranges count] == 1)\n                    [self continueSendingSingleRangeResponseBody];\n                else\n                    [self continueSendingMultiRangeResponseBody];\n            }\n        }\n    }});\n}\n\n/**\n * This method is called if the response encounters some critical error,\n * and it will be unable to fullfill the request.\n**/\n- (void)responseDidAbort:(NSObject<HTTPResponse> *)sender\n{\n    HTTPLogTrace();\n    \n    // We always dispatch this asynchronously onto our connectionQueue,\n    // even if the connectionQueue is the current queue.\n    // \n    // We do this to give the HTTPResponse classes the flexibility to call\n    // this method whenever they want, even from within a readDataOfLength method.\n    \n    dispatch_async(connectionQueue, ^{ @autoreleasepool {\n        \n        if (sender != httpResponse)\n        {\n            HTTPLogWarn(@\"%@[%p]: %@ - Sender is not current httpResponse\", THIS_FILE, self, THIS_METHOD);\n            return;\n        }\n        \n        [asyncSocket disconnectAfterWriting];\n    }});\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Post Request\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method is called after each response has been fully sent.\n * Since a single connection may handle multiple request/responses, this method may be called multiple times.\n * That is, it will be called after completion of each response.\n**/\n- (void)finishResponse\n{\n    HTTPLogTrace();\n    \n    // Override me if you want to perform any custom actions after a response has been fully sent.\n    // This is the place to release memory or resources associated with the last request.\n    // \n    // If you override this method, you should take care to invoke [super finishResponse] at some point.\n    \n    request = nil;\n    \n    httpResponse = nil;\n    \n    ranges = nil;\n    ranges_headers = nil;\n    ranges_boundry = nil;\n}\n\n/**\n * This method is called after each successful response has been fully sent.\n * It determines whether the connection should stay open and handle another request.\n**/\n- (BOOL)shouldDie\n{\n    HTTPLogTrace();\n    \n    // Override me if you have any need to force close the connection.\n    // You may do so by simply returning YES.\n    // \n    // If you override this method, you should take care to fall through with [super shouldDie]\n    // instead of returning NO.\n    \n    \n    BOOL shouldDie = NO;\n    \n    NSString *version = [request version];\n    if ([version isEqualToString:HTTPVersion1_1])\n    {\n        // HTTP version 1.1\n        // Connection should only be closed if request included \"Connection: close\" header\n        \n        NSString *connection = [request headerField:@\"Connection\"];\n        \n        shouldDie = (connection && ([connection caseInsensitiveCompare:@\"close\"] == NSOrderedSame));\n    }\n    else if ([version isEqualToString:HTTPVersion1_0])\n    {\n        // HTTP version 1.0\n        // Connection should be closed unless request included \"Connection: Keep-Alive\" header\n        \n        NSString *connection = [request headerField:@\"Connection\"];\n        \n        if (connection == nil)\n            shouldDie = YES;\n        else\n            shouldDie = [connection caseInsensitiveCompare:@\"Keep-Alive\"] != NSOrderedSame;\n    }\n    \n    return shouldDie;\n}\n\n- (void)die\n{\n    HTTPLogTrace();\n    \n    // Override me if you want to perform any custom actions when a connection is closed.\n    // Then call [super die] when you're done.\n    // \n    // See also the finishResponse method.\n    // \n    // Important: There is a rare timing condition where this method might get invoked twice.\n    // If you override this method, you should be prepared for this situation.\n    \n    // Inform the http response that we're done\n    if ([httpResponse respondsToSelector:@selector(connectionDidClose)])\n    {\n        [httpResponse connectionDidClose];\n    }\n    \n    // Release the http response so we don't call it's connectionDidClose method again in our dealloc method\n    httpResponse = nil;\n    \n    // Post notification of dead connection\n    // This will allow our server to release us from its array of connections\n    [[NSNotificationCenter defaultCenter] postNotificationName:HTTPConnectionDidDieNotification object:self];\n}\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation HTTPConfig\n\n@synthesize server;\n@synthesize documentRoot;\n@synthesize queue;\n\n- (id)initWithServer:(HTTPServer *)aServer documentRoot:(NSString *)aDocumentRoot\n{\n    if ((self = [super init]))\n    {\n        server = aServer;\n        documentRoot = aDocumentRoot;\n    }\n    return self;\n}\n\n- (id)initWithServer:(HTTPServer *)aServer documentRoot:(NSString *)aDocumentRoot queue:(dispatch_queue_t)q\n{\n    if ((self = [super init]))\n    {\n        server = aServer;\n        \n        documentRoot = [aDocumentRoot stringByStandardizingPath];\n        if ([documentRoot hasSuffix:@\"/\"])\n        {\n            documentRoot = [documentRoot stringByAppendingString:@\"/\"];\n        }\n        \n        if (q)\n        {\n            queue = q;\n            #if NEEDS_DISPATCH_RETAIN_RELEASE\n            dispatch_retain(queue);\n            #endif\n        }\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    #if NEEDS_DISPATCH_RETAIN_RELEASE\n    if (queue) dispatch_release(queue);\n    #endif\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPLogging.h",
    "content": "/**\n * In order to provide fast and flexible logging, this project uses Cocoa Lumberjack.\n * \n * The Google Code page has a wealth of documentation if you have any questions.\n * https://github.com/CocoaLumberjack/CocoaLumberjack\n * \n * Here's what you need to know concerning how logging is setup for CocoaHTTPServer:\n * \n * There are 4 log levels:\n * - Error\n * - Warning\n * - Info\n * - Verbose\n * \n * In addition to this, there is a Trace flag that can be enabled.\n * When tracing is enabled, it spits out the methods that are being called.\n * \n * Please note that tracing is separate from the log levels.\n * For example, one could set the log level to warning, and enable tracing.\n * \n * All logging is asynchronous, except errors.\n * To use logging within your own custom files, follow the steps below.\n * \n * Step 1:\n * Import this header in your implementation file:\n * \n * #import \"HTTPLogging.h\"\n * \n * Step 2:\n * Define your logging level in your implementation file:\n * \n * // Log levels: off, error, warn, info, verbose\n * static const DDLogLevel httpLogLevel = DDLogLevelVerbose;\n * \n * If you wish to enable tracing, you could do something like this:\n * \n * // Debug levels: off, error, warn, info, verbose\n * static const DDLogLevel httpLogLevel = DDLogLevelInfo | HTTP_LOG_FLAG_TRACE;\n * \n * Step 3:\n * Replace your NSLog statements with HTTPLog statements according to the severity of the message.\n * \n * NSLog(@\"Fatal error, no dohickey found!\"); -> HTTPLogError(@\"Fatal error, no dohickey found!\");\n * \n * HTTPLog works exactly the same as NSLog.\n * This means you can pass it multiple variables just like NSLog.\n**/\n\n#import <CocoaLumberjack/CocoaLumberjack.h>\n\n// Define logging context for every log message coming from the HTTP server.\n// The logging context can be extracted from the DDLogMessage from within the logging framework,\n// which gives loggers, formatters, and filters the ability to optionally process them differently.\n\n#define HTTP_LOG_CONTEXT 80\n\n// Setup fine grained logging.\n// The first 4 bits are being used by the standard log levels (0 - 3)\n// \n// We're going to add tracing, but NOT as a log level.\n// Tracing can be turned on and off independently of log level.\n\n#define HTTP_LOG_FLAG_TRACE   (1 << 4) // 0...10000\n\n// Configure asynchronous logging.\n// We follow the default configuration,\n// but we reserve a special macro to easily disable asynchronous logging for debugging purposes.\n\n#define HTTP_LOG_ASYNC_ENABLED   YES\n\n// Define logging primitives.\n#define HTTPLogError(frmt, ...)    LOG_MAYBE(NO,                     httpLogLevel, DDLogFlagError,      HTTP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n#define HTTPLogWarn(frmt, ...)     LOG_MAYBE(HTTP_LOG_ASYNC_ENABLED, httpLogLevel, DDLogFlagWarning,    HTTP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n#define HTTPLogInfo(frmt, ...)     LOG_MAYBE(HTTP_LOG_ASYNC_ENABLED, httpLogLevel, DDLogFlagInfo,       HTTP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n#define HTTPLogVerbose(frmt, ...)  LOG_MAYBE(HTTP_LOG_ASYNC_ENABLED, httpLogLevel, DDLogFlagVerbose,    HTTP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n#define HTTPLogTrace()             LOG_MAYBE(HTTP_LOG_ASYNC_ENABLED, httpLogLevel, HTTP_LOG_FLAG_TRACE, HTTP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, @\"%@[%p]: %@\", THIS_FILE, self, THIS_METHOD)\n\n#define HTTPLogTrace2(frmt, ...)   LOG_MAYBE(HTTP_LOG_ASYNC_ENABLED, httpLogLevel, HTTP_LOG_FLAG_TRACE, HTTP_LOG_CONTEXT, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPMessage.h",
    "content": "/**\n * The HTTPMessage class is a simple Objective-C wrapper around Apple's CFHTTPMessage class.\n**/\n\n#import <Foundation/Foundation.h>\n\n#if TARGET_OS_IPHONE\n  // Note: You may need to add the CFNetwork Framework to your project\n  #import <CFNetwork/CFNetwork.h>\n#endif\n\n#define HTTPVersion1_0  ((NSString *)kCFHTTPVersion1_0)\n#define HTTPVersion1_1  ((NSString *)kCFHTTPVersion1_1)\n\n\n@interface HTTPMessage : NSObject\n{\n    CFHTTPMessageRef message;\n}\n\n- (id)initEmptyRequest;\n\n- (id)initRequestWithMethod:(NSString *)method URL:(NSURL *)url version:(NSString *)version;\n\n- (id)initResponseWithStatusCode:(NSInteger)code description:(NSString *)description version:(NSString *)version;\n\n- (BOOL)appendData:(NSData *)data;\n\n- (BOOL)isHeaderComplete;\n\n- (NSString *)version;\n\n- (NSString *)method;\n- (NSURL *)url;\n\n- (NSInteger)statusCode;\n\n- (NSDictionary *)allHeaderFields;\n- (NSString *)headerField:(NSString *)headerField;\n\n- (void)setHeaderField:(NSString *)headerField value:(NSString *)headerFieldValue;\n\n- (NSData *)messageData;\n\n- (NSData *)body;\n- (void)setBody:(NSData *)body;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPMessage.m",
    "content": "#import \"HTTPMessage.h\"\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n\n@implementation HTTPMessage\n\n- (id)initEmptyRequest\n{\n    if ((self = [super init]))\n    {\n        message = CFHTTPMessageCreateEmpty(NULL, YES);\n    }\n    return self;\n}\n\n- (id)initRequestWithMethod:(NSString *)method URL:(NSURL *)url version:(NSString *)version\n{\n    if ((self = [super init]))\n    {\n        message = CFHTTPMessageCreateRequest(NULL,\n                                            (__bridge CFStringRef)method,\n                                            (__bridge CFURLRef)url,\n                                            (__bridge CFStringRef)version);\n    }\n    return self;\n}\n\n- (id)initResponseWithStatusCode:(NSInteger)code description:(NSString *)description version:(NSString *)version\n{\n    if ((self = [super init]))\n    {\n        message = CFHTTPMessageCreateResponse(NULL,\n                                              (CFIndex)code,\n                                              (__bridge CFStringRef)description,\n                                              (__bridge CFStringRef)version);\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    if (message)\n    {\n        CFRelease(message);\n    }\n}\n\n- (BOOL)appendData:(NSData *)data\n{\n    return CFHTTPMessageAppendBytes(message, [data bytes], [data length]);\n}\n\n- (BOOL)isHeaderComplete\n{\n    return CFHTTPMessageIsHeaderComplete(message);\n}\n\n- (NSString *)version\n{\n    return (__bridge_transfer NSString *)CFHTTPMessageCopyVersion(message);\n}\n\n- (NSString *)method\n{\n    return (__bridge_transfer NSString *)CFHTTPMessageCopyRequestMethod(message);\n}\n\n- (NSURL *)url\n{\n    return (__bridge_transfer NSURL *)CFHTTPMessageCopyRequestURL(message);\n}\n\n- (NSInteger)statusCode\n{\n    return (NSInteger)CFHTTPMessageGetResponseStatusCode(message);\n}\n\n- (NSDictionary *)allHeaderFields\n{\n    return (__bridge_transfer NSDictionary *)CFHTTPMessageCopyAllHeaderFields(message);\n}\n\n- (NSString *)headerField:(NSString *)headerField\n{\n    return (__bridge_transfer NSString *)CFHTTPMessageCopyHeaderFieldValue(message, (__bridge CFStringRef)headerField);\n}\n\n- (void)setHeaderField:(NSString *)headerField value:(NSString *)headerFieldValue\n{\n    CFHTTPMessageSetHeaderFieldValue(message,\n                                     (__bridge CFStringRef)headerField,\n                                     (__bridge CFStringRef)headerFieldValue);\n}\n\n- (NSData *)messageData\n{\n    return (__bridge_transfer NSData *)CFHTTPMessageCopySerializedMessage(message);\n}\n\n- (NSData *)body\n{\n    return (__bridge_transfer NSData *)CFHTTPMessageCopyBody(message);\n}\n\n- (void)setBody:(NSData *)body\n{\n    CFHTTPMessageSetBody(message, (__bridge CFDataRef)body);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPResponse.h",
    "content": "#import <Foundation/Foundation.h>\n\n\n@protocol HTTPResponse\n\n/**\n * Returns the length of the data in bytes.\n * If you don't know the length in advance, implement the isChunked method and have it return YES.\n**/\n- (UInt64)contentLength;\n\n/**\n * The HTTP server supports range requests in order to allow things like\n * file download resumption and optimized streaming on mobile devices.\n**/\n- (UInt64)offset;\n- (void)setOffset:(UInt64)offset;\n\n/**\n * Returns the data for the response.\n * You do not have to return data of the exact length that is given.\n * You may optionally return data of a lesser length.\n * However, you must never return data of a greater length than requested.\n * Doing so could disrupt proper support for range requests.\n * \n * To support asynchronous responses, read the discussion at the bottom of this header.\n**/\n- (NSData *)readDataOfLength:(NSUInteger)length;\n\n/**\n * Should only return YES after the HTTPConnection has read all available data.\n * That is, all data for the response has been returned to the HTTPConnection via the readDataOfLength method.\n**/\n- (BOOL)isDone;\n\n@optional\n\n/**\n * If you need time to calculate any part of the HTTP response headers (status code or header fields),\n * this method allows you to delay sending the headers so that you may asynchronously execute the calculations.\n * Simply implement this method and return YES until you have everything you need concerning the headers.\n * \n * This method ties into the asynchronous response architecture of the HTTPConnection.\n * You should read the full discussion at the bottom of this header.\n * \n * If you return YES from this method,\n * the HTTPConnection will wait for you to invoke the responseHasAvailableData method.\n * After you do, the HTTPConnection will again invoke this method to see if the response is ready to send the headers.\n * \n * You should only delay sending the headers until you have everything you need concerning just the headers.\n * Asynchronously generating the body of the response is not an excuse to delay sending the headers.\n * Instead you should tie into the asynchronous response architecture, and use techniques such as the isChunked method.\n * \n * Important: You should read the discussion at the bottom of this header.\n**/\n- (BOOL)delayResponseHeaders;\n\n/**\n * Status code for response.\n * Allows for responses such as redirect (301), etc.\n**/\n- (NSInteger)status;\n\n/**\n * If you want to add any extra HTTP headers to the response,\n * simply return them in a dictionary in this method.\n**/\n- (NSDictionary *)httpHeaders;\n\n/**\n * If you don't know the content-length in advance,\n * implement this method in your custom response class and return YES.\n * \n * Important: You should read the discussion at the bottom of this header.\n**/\n- (BOOL)isChunked;\n\n/**\n * This method is called from the HTTPConnection class when the connection is closed,\n * or when the connection is finished with the response.\n * If your response is asynchronous, you should implement this method so you know not to\n * invoke any methods on the HTTPConnection after this method is called (as the connection may be deallocated).\n**/\n- (void)connectionDidClose;\n\n@end\n\n\n/**\n * Important notice to those implementing custom asynchronous and/or chunked responses:\n * \n * HTTPConnection supports asynchronous responses.  All you have to do in your custom response class is\n * asynchronously generate the response, and invoke HTTPConnection's responseHasAvailableData method.\n * You don't have to wait until you have all of the response ready to invoke this method.  For example, if you\n * generate the response in incremental chunks, you could call responseHasAvailableData after generating\n * each chunk.  Please see the HTTPAsyncFileResponse class for an example of how to do this.\n * \n * The normal flow of events for an HTTPConnection while responding to a request is like this:\n *  - Send http resopnse headers\n *  - Get data from response via readDataOfLength method.\n *  - Add data to asyncSocket's write queue.\n *  - Wait for asyncSocket to notify it that the data has been sent.\n *  - Get more data from response via readDataOfLength method.\n *  - ... continue this cycle until the entire response has been sent.\n * \n * With an asynchronous response, the flow is a little different.\n * \n * First the HTTPResponse is given the opportunity to postpone sending the HTTP response headers.\n * This allows the response to asynchronously execute any code needed to calculate a part of the header.\n * An example might be the response needs to generate some custom header fields,\n * or perhaps the response needs to look for a resource on network-attached storage.\n * Since the network-attached storage may be slow, the response doesn't know whether to send a 200 or 404 yet.\n * In situations such as this, the HTTPResponse simply implements the delayResponseHeaders method and returns YES.\n * After returning YES from this method, the HTTPConnection will wait until the response invokes its\n * responseHasAvailableData method. After this occurs, the HTTPConnection will again query the delayResponseHeaders\n * method to see if the response is ready to send the headers.\n * This cycle will continue until the delayResponseHeaders method returns NO.\n * \n * You should only delay sending the response headers until you have everything you need concerning just the headers.\n * Asynchronously generating the body of the response is not an excuse to delay sending the headers.\n * \n * After the response headers have been sent, the HTTPConnection calls your readDataOfLength method.\n * You may or may not have any available data at this point. If you don't, then simply return nil.\n * You should later invoke HTTPConnection's responseHasAvailableData when you have data to send.\n * \n * You don't have to keep track of when you return nil in the readDataOfLength method, or how many times you've invoked\n * responseHasAvailableData. Just simply call responseHasAvailableData whenever you've generated new data, and\n * return nil in your readDataOfLength whenever you don't have any available data in the requested range.\n * HTTPConnection will automatically detect when it should be requesting new data and will act appropriately.\n * \n * It's important that you also keep in mind that the HTTP server supports range requests.\n * The setOffset method is mandatory, and should not be ignored.\n * Make sure you take into account the offset within the readDataOfLength method.\n * You should also be aware that the HTTPConnection automatically sorts any range requests.\n * So if your setOffset method is called with a value of 100, then you can safely release bytes 0-99.\n * \n * HTTPConnection can also help you keep your memory footprint small.\n * Imagine you're dynamically generating a 10 MB response.  You probably don't want to load all this data into\n * RAM, and sit around waiting for HTTPConnection to slowly send it out over the network.  All you need to do\n * is pay attention to when HTTPConnection requests more data via readDataOfLength.  This is because HTTPConnection\n * will never allow asyncSocket's write queue to get much bigger than READ_CHUNKSIZE bytes.  You should\n * consider how you might be able to take advantage of this fact to generate your asynchronous response on demand,\n * while at the same time keeping your memory footprint small, and your application lightning fast.\n * \n * If you don't know the content-length in advanced, you should also implement the isChunked method.\n * This means the response will not include a Content-Length header, and will instead use \"Transfer-Encoding: chunked\".\n * There's a good chance that if your response is asynchronous and dynamic, it's also chunked.\n * If your response is chunked, you don't need to worry about range requests.\n**/\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPServer.h",
    "content": "#import <Foundation/Foundation.h>\n\n@class GCDAsyncSocket;\n@class WebSocket;\n\n#if TARGET_OS_IPHONE\n  #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 40000 // iPhone 4.0\n    #define IMPLEMENTED_PROTOCOLS <NSNetServiceDelegate>\n  #else\n    #define IMPLEMENTED_PROTOCOLS \n  #endif\n#else\n  #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 // Mac OS X 10.6\n    #define IMPLEMENTED_PROTOCOLS <NSNetServiceDelegate>\n  #else\n    #define IMPLEMENTED_PROTOCOLS \n  #endif\n#endif\n\n\n@interface HTTPServer : NSObject IMPLEMENTED_PROTOCOLS\n{\n    // Underlying asynchronous TCP/IP socket\n    GCDAsyncSocket *asyncSocket;\n    \n    // Dispatch queues\n    dispatch_queue_t serverQueue;\n    dispatch_queue_t connectionQueue;\n    void *IsOnServerQueueKey;\n    void *IsOnConnectionQueueKey;\n    \n    // HTTP server configuration\n    NSString *documentRoot;\n    Class connectionClass;\n    NSString *interface;\n    UInt16 port;\n    \n    // NSNetService and related variables\n    NSNetService *netService;\n    NSString *domain;\n    NSString *type;\n    NSString *name;\n    NSString *publishedName;\n    NSDictionary *txtRecordDictionary;\n    \n    // Connection management\n    NSMutableArray *connections;\n    NSMutableArray *webSockets;\n    NSLock *connectionsLock;\n    NSLock *webSocketsLock;\n    \n    BOOL isRunning;\n}\n\n/**\n * Specifies the document root to serve files from.\n * For example, if you set this to \"/Users/<your_username>/Sites\",\n * then it will serve files out of the local Sites directory (including subdirectories).\n * \n * The default value is nil.\n * The default server configuration will not serve any files until this is set.\n * \n * If you change the documentRoot while the server is running,\n * the change will affect future incoming http connections.\n**/\n- (NSString *)documentRoot;\n- (void)setDocumentRoot:(NSString *)value;\n\n/**\n * The connection class is the class used to handle incoming HTTP connections.\n * \n * The default value is [HTTPConnection class].\n * You can override HTTPConnection, and then set this to [MyHTTPConnection class].\n * \n * If you change the connectionClass while the server is running,\n * the change will affect future incoming http connections.\n**/\n- (Class)connectionClass;\n- (void)setConnectionClass:(Class)value;\n\n/**\n * Set what interface you'd like the server to listen on.\n * By default this is nil, which causes the server to listen on all available interfaces like en1, wifi etc.\n * \n * The interface may be specified by name (e.g. \"en1\" or \"lo0\") or by IP address (e.g. \"192.168.4.34\").\n * You may also use the special strings \"localhost\" or \"loopback\" to specify that\n * the socket only accept connections from the local machine.\n**/\n- (NSString *)interface;\n- (void)setInterface:(NSString *)value;\n\n/**\n * The port number to run the HTTP server on.\n * \n * The default port number is zero, meaning the server will automatically use any available port.\n * This is the recommended port value, as it avoids possible port conflicts with other applications.\n * Technologies such as Bonjour can be used to allow other applications to automatically discover the port number.\n * \n * Note: As is common on most OS's, you need root privledges to bind to port numbers below 1024.\n * \n * You can change the port property while the server is running, but it won't affect the running server.\n * To actually change the port the server is listening for connections on you'll need to restart the server.\n * \n * The listeningPort method will always return the port number the running server is listening for connections on.\n * If the server is not running this method returns 0.\n**/\n- (UInt16)port;\n- (UInt16)listeningPort;\n- (void)setPort:(UInt16)value;\n\n/**\n * Bonjour domain for publishing the service.\n * The default value is \"local.\".\n * \n * Note: Bonjour publishing requires you set a type.\n * \n * If you change the domain property after the bonjour service has already been published (server already started),\n * you'll need to invoke the republishBonjour method to update the broadcasted bonjour service.\n**/\n- (NSString *)domain;\n- (void)setDomain:(NSString *)value;\n\n/**\n * Bonjour name for publishing the service.\n * The default value is \"\".\n * \n * If using an empty string (\"\") for the service name when registering,\n * the system will automatically use the \"Computer Name\".\n * Using an empty string will also handle name conflicts\n * by automatically appending a digit to the end of the name.\n * \n * Note: Bonjour publishing requires you set a type.\n * \n * If you change the name after the bonjour service has already been published (server already started),\n * you'll need to invoke the republishBonjour method to update the broadcasted bonjour service.\n * \n * The publishedName method will always return the actual name that was published via the bonjour service.\n * If the service is not running this method returns nil.\n**/\n- (NSString *)name;\n- (NSString *)publishedName;\n- (void)setName:(NSString *)value;\n\n/**\n * Bonjour type for publishing the service.\n * The default value is nil.\n * The service will not be published via bonjour unless the type is set.\n * \n * If you wish to publish the service as a traditional HTTP server, you should set the type to be \"_http._tcp.\".\n * \n * If you change the type after the bonjour service has already been published (server already started),\n * you'll need to invoke the republishBonjour method to update the broadcasted bonjour service.\n**/\n- (NSString *)type;\n- (void)setType:(NSString *)value;\n\n/**\n * Republishes the service via bonjour if the server is running.\n * If the service was not previously published, this method will publish it (if the server is running).\n**/\n- (void)republishBonjour;\n\n/**\n * \n**/\n- (NSDictionary *)TXTRecordDictionary;\n- (void)setTXTRecordDictionary:(NSDictionary *)dict;\n\n/**\n * Attempts to starts the server on the configured port, interface, etc.\n * \n * If an error occurs, this method returns NO and sets the errPtr (if given).\n * Otherwise returns YES on success.\n * \n * Some examples of errors that might occur:\n * - You specified the server listen on a port which is already in use by another application.\n * - You specified the server listen on a port number below 1024, which requires root priviledges.\n * \n * Code Example:\n * \n * NSError *err = nil;\n * if (![httpServer start:&err])\n * {\n *     NSLog(@\"Error starting http server: %@\", err);\n * }\n**/\n- (BOOL)start:(NSError **)errPtr;\n\n/**\n * Stops the server, preventing it from accepting any new connections.\n * You may specify whether or not you want to close the existing client connections.\n * \n * The default stop method (with no arguments) will close any existing connections. (It invokes [self stop:NO])\n**/\n- (void)stop;\n- (void)stop:(BOOL)keepExistingConnections;\n\n- (BOOL)isRunning;\n\n- (void)addWebSocket:(WebSocket *)ws;\n\n- (NSUInteger)numberOfHTTPConnections;\n- (NSUInteger)numberOfWebSocketConnections;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/HTTPServer.m",
    "content": "#import \"HTTPServer.h\"\n#import \"GCDAsyncSocket.h\"\n#import \"HTTPConnection.h\"\n#import \"WebSocket.h\"\n#import \"HTTPLogging.h\"\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// Does ARC support support GCD objects?\n// It does if the minimum deployment target is iOS 6+ or Mac OS X 8+\n\n#if TARGET_OS_IPHONE\n\n  // Compiling for iOS\n\n  #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 // iOS 6.0 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else                                         // iOS 5.X or earlier\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1\n  #endif\n\n#else\n\n  // Compiling for Mac OS X\n\n  #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080     // Mac OS X 10.8 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1     // Mac OS X 10.7 or earlier\n  #endif\n\n#endif\n\n// Log levels: off, error, warn, info, verbose\n// Other flags: trace\nstatic const DDLogLevel httpLogLevel = DDLogLevelInfo; // | HTTP_LOG_FLAG_TRACE;\n\n@interface HTTPServer (PrivateAPI)\n\n- (void)unpublishBonjour;\n- (void)publishBonjour;\n\n+ (void)startBonjourThreadIfNeeded;\n+ (void)performBonjourBlock:(dispatch_block_t)block;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation HTTPServer\n\n/**\n * Standard Constructor.\n * Instantiates an HTTP server, but does not start it.\n**/\n- (id)init\n{\n    if ((self = [super init]))\n    {\n        HTTPLogTrace();\n        \n        // Setup underlying dispatch queues\n        serverQueue = dispatch_queue_create(\"HTTPServer\", NULL);\n        connectionQueue = dispatch_queue_create(\"HTTPConnection\", NULL);\n        \n        IsOnServerQueueKey = &IsOnServerQueueKey;\n        IsOnConnectionQueueKey = &IsOnConnectionQueueKey;\n        \n        void *nonNullUnusedPointer = (__bridge void *)self; // Whatever, just not null\n        \n        dispatch_queue_set_specific(serverQueue, IsOnServerQueueKey, nonNullUnusedPointer, NULL);\n        dispatch_queue_set_specific(connectionQueue, IsOnConnectionQueueKey, nonNullUnusedPointer, NULL);\n        \n        // Initialize underlying GCD based tcp socket\n        asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:serverQueue];\n        \n        // Use default connection class of HTTPConnection\n        connectionClass = [HTTPConnection self];\n        \n        // By default bind on all available interfaces, en1, wifi etc\n        interface = nil;\n        \n        // Use a default port of 0\n        // This will allow the kernel to automatically pick an open port for us\n        port = 0;\n        \n        // Configure default values for bonjour service\n        \n        // Bonjour domain. Use the local domain by default\n        domain = @\"local.\";\n        \n        // If using an empty string (\"\") for the service name when registering,\n        // the system will automatically use the \"Computer Name\".\n        // Passing in an empty string will also handle name conflicts\n        // by automatically appending a digit to the end of the name.\n        name = @\"\";\n        \n        // Initialize arrays to hold all the HTTP and webSocket connections\n        connections = [[NSMutableArray alloc] init];\n        webSockets  = [[NSMutableArray alloc] init];\n        \n        connectionsLock = [[NSLock alloc] init];\n        webSocketsLock  = [[NSLock alloc] init];\n        \n        // Register for notifications of closed connections\n        [[NSNotificationCenter defaultCenter] addObserver:self\n                                                 selector:@selector(connectionDidDie:)\n                                                     name:HTTPConnectionDidDieNotification\n                                                   object:nil];\n        \n        // Register for notifications of closed websocket connections\n        [[NSNotificationCenter defaultCenter] addObserver:self\n                                                 selector:@selector(webSocketDidDie:)\n                                                     name:WebSocketDidDieNotification\n                                                   object:nil];\n        \n        isRunning = NO;\n    }\n    return self;\n}\n\n/**\n * Standard Deconstructor.\n * Stops the server, and clients, and releases any resources connected with this instance.\n**/\n- (void)dealloc\n{\n    HTTPLogTrace();\n    \n    // Remove notification observer\n    [[NSNotificationCenter defaultCenter] removeObserver:self];\n    \n    // Stop the server if it's running\n    [self stop];\n    \n    // Release all instance variables\n    \n    #if NEEDS_DISPATCH_RETAIN_RELEASE\n    dispatch_release(serverQueue);\n    dispatch_release(connectionQueue);\n    #endif\n    \n    [asyncSocket setDelegate:nil delegateQueue:NULL];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Server Configuration\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * The document root is filesystem root for the webserver.\n * Thus requests for /index.html will be referencing the index.html file within the document root directory.\n * All file requests are relative to this document root.\n**/\n- (NSString *)documentRoot\n{\n    __block NSString *result;\n    \n    dispatch_sync(serverQueue, ^{\n        result = documentRoot;\n    });\n    \n    return result;\n}\n\n- (void)setDocumentRoot:(NSString *)value\n{\n    HTTPLogTrace();\n    \n    // Document root used to be of type NSURL.\n    // Add type checking for early warning to developers upgrading from older versions.\n    \n    if (value && ![value isKindOfClass:[NSString class]])\n    {\n        HTTPLogWarn(@\"%@: %@ - Expecting NSString parameter, received %@ parameter\",\n                    THIS_FILE, THIS_METHOD, NSStringFromClass([value class]));\n        return;\n    }\n    \n    NSString *valueCopy = [value copy];\n    \n    dispatch_async(serverQueue, ^{\n        documentRoot = valueCopy;\n    });\n    \n}\n\n/**\n * The connection class is the class that will be used to handle connections.\n * That is, when a new connection is created, an instance of this class will be intialized.\n * The default connection class is HTTPConnection.\n * If you use a different connection class, it is assumed that the class extends HTTPConnection\n**/\n- (Class)connectionClass\n{\n    __block Class result;\n    \n    dispatch_sync(serverQueue, ^{\n        result = connectionClass;\n    });\n    \n    return result;\n}\n\n- (void)setConnectionClass:(Class)value\n{\n    HTTPLogTrace();\n    \n    dispatch_async(serverQueue, ^{\n        connectionClass = value;\n    });\n}\n\n/**\n * What interface to bind the listening socket to.\n**/\n- (NSString *)interface\n{\n    __block NSString *result;\n    \n    dispatch_sync(serverQueue, ^{\n        result = interface;\n    });\n    \n    return result;\n}\n\n- (void)setInterface:(NSString *)value\n{\n    NSString *valueCopy = [value copy];\n    \n    dispatch_async(serverQueue, ^{\n        interface = valueCopy;\n    });\n    \n}\n\n/**\n * The port to listen for connections on.\n * By default this port is initially set to zero, which allows the kernel to pick an available port for us.\n * After the HTTP server has started, the port being used may be obtained by this method.\n**/\n- (UInt16)port\n{\n    __block UInt16 result;\n    \n    dispatch_sync(serverQueue, ^{\n        result = port;\n    });\n    \n    return result;\n}\n\n- (UInt16)listeningPort\n{\n    __block UInt16 result;\n    \n    dispatch_sync(serverQueue, ^{\n        if (isRunning)\n            result = [asyncSocket localPort];\n        else\n            result = 0;\n    });\n    \n    return result;\n}\n\n- (void)setPort:(UInt16)value\n{\n    HTTPLogTrace();\n    \n    dispatch_async(serverQueue, ^{\n        port = value;\n    });\n}\n\n/**\n * Domain on which to broadcast this service via Bonjour.\n * The default domain is @\"local\".\n**/\n- (NSString *)domain\n{\n    __block NSString *result;\n    \n    dispatch_sync(serverQueue, ^{\n        result = domain;\n    });\n    \n    return result;\n}\n\n- (void)setDomain:(NSString *)value\n{\n    HTTPLogTrace();\n    \n    NSString *valueCopy = [value copy];\n    \n    dispatch_async(serverQueue, ^{\n        domain = valueCopy;\n    });\n    \n}\n\n/**\n * The name to use for this service via Bonjour.\n * The default name is an empty string,\n * which should result in the published name being the host name of the computer.\n**/\n- (NSString *)name\n{\n    __block NSString *result;\n    \n    dispatch_sync(serverQueue, ^{\n        result = name;\n    });\n    \n    return result;\n}\n\n- (NSString *)publishedName\n{\n    __block NSString *result;\n    \n    dispatch_sync(serverQueue, ^{\n        \n        if (netService == nil)\n        {\n            result = nil;\n        }\n        else\n        {\n            \n            dispatch_block_t bonjourBlock = ^{\n                result = [[netService name] copy];\n            };\n            \n            [[self class] performBonjourBlock:bonjourBlock];\n        }\n    });\n    \n    return result;\n}\n\n- (void)setName:(NSString *)value\n{\n    NSString *valueCopy = [value copy];\n    \n    dispatch_async(serverQueue, ^{\n        name = valueCopy;\n    });\n    \n}\n\n/**\n * The type of service to publish via Bonjour.\n * No type is set by default, and one must be set in order for the service to be published.\n**/\n- (NSString *)type\n{\n    __block NSString *result;\n    \n    dispatch_sync(serverQueue, ^{\n        result = type;\n    });\n    \n    return result;\n}\n\n- (void)setType:(NSString *)value\n{\n    NSString *valueCopy = [value copy];\n    \n    dispatch_async(serverQueue, ^{\n        type = valueCopy;\n    });\n    \n}\n\n/**\n * The extra data to use for this service via Bonjour.\n**/\n- (NSDictionary *)TXTRecordDictionary\n{\n    __block NSDictionary *result;\n    \n    dispatch_sync(serverQueue, ^{\n        result = txtRecordDictionary;\n    });\n    \n    return result;\n}\n\n- (void)setTXTRecordDictionary:(NSDictionary *)value\n{\n    HTTPLogTrace();\n    \n    NSDictionary *valueCopy = [value copy];\n    \n    dispatch_async(serverQueue, ^{\n    \n        txtRecordDictionary = valueCopy;\n        \n        // Update the txtRecord of the netService if it has already been published\n        if (netService)\n        {\n            NSNetService *theNetService = netService;\n            NSData *txtRecordData = nil;\n            if (txtRecordDictionary)\n                txtRecordData = [NSNetService dataFromTXTRecordDictionary:txtRecordDictionary];\n            \n            dispatch_block_t bonjourBlock = ^{\n                [theNetService setTXTRecordData:txtRecordData];\n            };\n            \n            [[self class] performBonjourBlock:bonjourBlock];\n        }\n    });\n    \n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Server Control\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (BOOL)start:(NSError **)errPtr\n{\n    HTTPLogTrace();\n    \n    __block BOOL success = YES;\n    __block NSError *err = nil;\n    \n    dispatch_sync(serverQueue, ^{ @autoreleasepool {\n        \n        success = [asyncSocket acceptOnInterface:interface port:port error:&err];\n        if (success)\n        {\n            HTTPLogInfo(@\"%@: Started HTTP server on port %hu\", THIS_FILE, [asyncSocket localPort]);\n            \n            isRunning = YES;\n            [self publishBonjour];\n        }\n        else\n        {\n            HTTPLogError(@\"%@: Failed to start HTTP Server: %@\", THIS_FILE, err);\n        }\n    }});\n    \n    if (errPtr)\n        *errPtr = err;\n    \n    return success;\n}\n\n- (void)stop\n{\n    [self stop:NO];\n}\n\n- (void)stop:(BOOL)keepExistingConnections\n{\n    HTTPLogTrace();\n    \n    dispatch_sync(serverQueue, ^{ @autoreleasepool {\n        \n        // First stop publishing the service via bonjour\n        [self unpublishBonjour];\n        \n        // Stop listening / accepting incoming connections\n        [asyncSocket disconnect];\n        isRunning = NO;\n        \n        if (!keepExistingConnections)\n        {\n            // Stop all HTTP connections the server owns\n            [connectionsLock lock];\n            for (HTTPConnection *connection in connections)\n            {\n                [connection stop];\n            }\n            [connections removeAllObjects];\n            [connectionsLock unlock];\n            \n            // Stop all WebSocket connections the server owns\n            [webSocketsLock lock];\n            for (WebSocket *webSocket in webSockets)\n            {\n                [webSocket stop];\n            }\n            [webSockets removeAllObjects];\n            [webSocketsLock unlock];\n        }\n    }});\n}\n\n- (BOOL)isRunning\n{\n    __block BOOL result;\n    \n    dispatch_sync(serverQueue, ^{\n        result = isRunning;\n    });\n    \n    return result;\n}\n\n- (void)addWebSocket:(WebSocket *)ws\n{\n    [webSocketsLock lock];\n    \n    HTTPLogTrace();\n    [webSockets addObject:ws];\n    \n    [webSocketsLock unlock];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Server Status\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the number of http client connections that are currently connected to the server.\n**/\n- (NSUInteger)numberOfHTTPConnections\n{\n    NSUInteger result = 0;\n    \n    [connectionsLock lock];\n    result = [connections count];\n    [connectionsLock unlock];\n    \n    return result;\n}\n\n/**\n * Returns the number of websocket client connections that are currently connected to the server.\n**/\n- (NSUInteger)numberOfWebSocketConnections\n{\n    NSUInteger result = 0;\n    \n    [webSocketsLock lock];\n    result = [webSockets count];\n    [webSocketsLock unlock];\n    \n    return result;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Incoming Connections\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (HTTPConfig *)config\n{\n    // Override me if you want to provide a custom config to the new connection.\n    // \n    // Generally this involves overriding the HTTPConfig class to include any custom settings,\n    // and then having this method return an instance of 'MyHTTPConfig'.\n    \n    // Note: Think you can make the server faster by putting each connection on its own queue?\n    // Then benchmark it before and after and discover for yourself the shocking truth!\n    // \n    // Try the apache benchmark tool (already installed on your Mac):\n    // $  ab -n 1000 -c 1 http://localhost:<port>/some_path.html\n    \n    return [[HTTPConfig alloc] initWithServer:self documentRoot:documentRoot queue:connectionQueue];\n}\n\n- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket\n{\n    HTTPConnection *newConnection = (HTTPConnection *)[[connectionClass alloc] initWithAsyncSocket:newSocket\n                                                                                     configuration:[self config]];\n    [connectionsLock lock];\n    [connections addObject:newConnection];\n    [connectionsLock unlock];\n    \n    [newConnection start];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Bonjour\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)publishBonjour\n{\n    HTTPLogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnServerQueueKey) != NULL, @\"Must be on serverQueue\");\n    \n    if (type)\n    {\n        netService = [[NSNetService alloc] initWithDomain:domain type:type name:name port:[asyncSocket localPort]];\n        [netService setDelegate:self];\n        \n        NSNetService *theNetService = netService;\n        NSData *txtRecordData = nil;\n        if (txtRecordDictionary)\n            txtRecordData = [NSNetService dataFromTXTRecordDictionary:txtRecordDictionary];\n        \n        dispatch_block_t bonjourBlock = ^{\n            \n            [theNetService removeFromRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];\n            [theNetService scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];\n            [theNetService publish];\n            \n            // Do not set the txtRecordDictionary prior to publishing!!!\n            // This will cause the OS to crash!!!\n            if (txtRecordData)\n            {\n                [theNetService setTXTRecordData:txtRecordData];\n            }\n        };\n        \n        [[self class] startBonjourThreadIfNeeded];\n        [[self class] performBonjourBlock:bonjourBlock];\n    }\n}\n\n- (void)unpublishBonjour\n{\n    HTTPLogTrace();\n    \n    NSAssert(dispatch_get_specific(IsOnServerQueueKey) != NULL, @\"Must be on serverQueue\");\n    \n    if (netService)\n    {\n        NSNetService *theNetService = netService;\n        \n        dispatch_block_t bonjourBlock = ^{\n            \n            [theNetService stop];\n        };\n        \n        [[self class] performBonjourBlock:bonjourBlock];\n        \n        netService = nil;\n    }\n}\n\n/**\n * Republishes the service via bonjour if the server is running.\n * If the service was not previously published, this method will publish it (if the server is running).\n**/\n- (void)republishBonjour\n{\n    HTTPLogTrace();\n    \n    dispatch_async(serverQueue, ^{\n        \n        [self unpublishBonjour];\n        [self publishBonjour];\n    });\n}\n\n/**\n * Called when our bonjour service has been successfully published.\n * This method does nothing but output a log message telling us about the published service.\n**/\n- (void)netServiceDidPublish:(NSNetService *)ns\n{\n    // Override me to do something here...\n    // \n    // Note: This method is invoked on our bonjour thread.\n    \n    HTTPLogInfo(@\"Bonjour Service Published: domain(%@) type(%@) name(%@)\", [ns domain], [ns type], [ns name]);\n}\n\n/**\n * Called if our bonjour service failed to publish itself.\n * This method does nothing but output a log message telling us about the published service.\n**/\n- (void)netService:(NSNetService *)ns didNotPublish:(NSDictionary *)errorDict\n{\n    // Override me to do something here...\n    // \n    // Note: This method in invoked on our bonjour thread.\n    \n    HTTPLogWarn(@\"Failed to Publish Service: domain(%@) type(%@) name(%@) - %@\",\n                                             [ns domain], [ns type], [ns name], errorDict);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Notifications\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * This method is automatically called when a notification of type HTTPConnectionDidDieNotification is posted.\n * It allows us to remove the connection from our array.\n**/\n- (void)connectionDidDie:(NSNotification *)notification\n{\n    // Note: This method is called on the connection queue that posted the notification\n    \n    [connectionsLock lock];\n    \n    HTTPLogTrace();\n    [connections removeObject:[notification object]];\n    \n    [connectionsLock unlock];\n}\n\n/**\n * This method is automatically called when a notification of type WebSocketDidDieNotification is posted.\n * It allows us to remove the websocket from our array.\n**/\n- (void)webSocketDidDie:(NSNotification *)notification\n{\n    // Note: This method is called on the connection queue that posted the notification\n    \n    [webSocketsLock lock];\n    \n    HTTPLogTrace();\n    [webSockets removeObject:[notification object]];\n    \n    [webSocketsLock unlock];\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Bonjour Thread\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * NSNetService is runloop based, so it requires a thread with a runloop.\n * This gives us two options:\n * \n * - Use the main thread\n * - Setup our own dedicated thread\n * \n * Since we have various blocks of code that need to synchronously access the netservice objects,\n * using the main thread becomes troublesome and a potential for deadlock.\n**/\n\nstatic NSThread *bonjourThread;\n\n+ (void)startBonjourThreadIfNeeded\n{\n    HTTPLogTrace();\n    \n    static dispatch_once_t predicate;\n    dispatch_once(&predicate, ^{\n        \n        HTTPLogVerbose(@\"%@: Starting bonjour thread...\", THIS_FILE);\n        \n        bonjourThread = [[NSThread alloc] initWithTarget:self\n                                                selector:@selector(bonjourThread)\n                                                  object:nil];\n        [bonjourThread start];\n    });\n}\n\n+ (void)bonjourThread\n{\n    @autoreleasepool {\n    \n        HTTPLogVerbose(@\"%@: BonjourThread: Started\", THIS_FILE);\n        \n        // We can't run the run loop unless it has an associated input source or a timer.\n        // So we'll just create a timer that will never fire - unless the server runs for 10,000 years.\n        [NSTimer scheduledTimerWithTimeInterval:[[NSDate distantFuture] timeIntervalSinceNow]\n                                         target:self\n                                       selector:@selector(doNothingAtAll:)\n                                       userInfo:nil\n                                        repeats:YES];\n        [[NSRunLoop currentRunLoop] run];\n        \n        HTTPLogVerbose(@\"%@: BonjourThread: Aborted\", THIS_FILE);\n    \n    }\n}\n\n- (void)doNothingAtAll:(NSTimer *)timer\n{\n}\n\n+ (void)executeBonjourBlock:(dispatch_block_t)block\n{\n    HTTPLogTrace();\n    \n    NSAssert([NSThread currentThread] == bonjourThread, @\"Executed on incorrect thread\");\n    \n    block();\n}\n\n+ (void)performBonjourBlock:(dispatch_block_t)block\n{\n    HTTPLogTrace();\n    \n    [self performSelector:@selector(executeBonjourBlock:)\n                 onThread:bonjourThread\n               withObject:block\n            waitUntilDone:YES];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Mime/MultipartFormDataParser.h",
    "content": "\n#import \"MultipartMessageHeader.h\"\n\n/* \nPart one: http://tools.ietf.org/html/rfc2045 (Format of Internet Message Bodies)\nPart two: http://tools.ietf.org/html/rfc2046 (Media Types)\nPart three: http://tools.ietf.org/html/rfc2047 (Message Header Extensions for Non-ASCII Text)\nPart four: http://tools.ietf.org/html/rfc4289 (Registration Procedures) \nPart five: http://tools.ietf.org/html/rfc2049 (Conformance Criteria and Examples) \n \nInternet message format:  http://tools.ietf.org/html/rfc2822\n\nMultipart/form-data http://tools.ietf.org/html/rfc2388\n*/\n\n@class MultipartFormDataParser;\n\n//-----------------------------------------------------------------\n// protocol MultipartFormDataParser\n//-----------------------------------------------------------------\n\n@protocol MultipartFormDataParserDelegate <NSObject> \n@optional\n- (void) processContent:(NSData*) data WithHeader:(MultipartMessageHeader*) header;\n- (void) processEndOfPartWithHeader:(MultipartMessageHeader*) header;\n- (void) processPreambleData:(NSData*) data;\n- (void) processEpilogueData:(NSData*) data;\n- (void) processStartOfPartWithHeader:(MultipartMessageHeader*) header;\n@end\n\n//-----------------------------------------------------------------\n// interface MultipartFormDataParser\n//-----------------------------------------------------------------\n\n@interface MultipartFormDataParser : NSObject {\nNSMutableData*                      pendingData;\n    NSData*                         boundaryData;\n    MultipartMessageHeader*         currentHeader;\n\n    BOOL                            waitingForCRLF;\n    BOOL                            reachedEpilogue;\n    BOOL                            processedPreamble;\n    BOOL                            checkForContentEnd;\n\n#if __has_feature(objc_arc_weak)\n    __weak id<MultipartFormDataParserDelegate>                  delegate;\n#else\n    __unsafe_unretained id<MultipartFormDataParserDelegate>     delegate;\n#endif  \n    int                                 currentEncoding;\n    NSStringEncoding                    formEncoding;\n}\n\n- (BOOL) appendData:(NSData*) data;\n\n- (id) initWithBoundary:(NSString*) boundary formEncoding:(NSStringEncoding) formEncoding;\n\n#if __has_feature(objc_arc_weak)\n    @property(weak, readwrite) id delegate;\n#else\n    @property(unsafe_unretained, readwrite) id delegate;\n#endif\n@property(readwrite) NSStringEncoding   formEncoding;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Mime/MultipartFormDataParser.m",
    "content": "\n#import \"MultipartFormDataParser.h\"\n#import \"DDData.h\"\n#import \"HTTPLogging.h\"\n\n#pragma mark log level\n\n#ifdef DEBUG\nstatic const int httpLogLevel = HTTP_LOG_LEVEL_WARN;\n#else\nstatic const int httpLogLevel = HTTP_LOG_LEVEL_WARN;\n#endif\n\n#ifdef __x86_64__\n#define FMTNSINT \"li\"\n#else\n#define FMTNSINT \"i\"\n#endif\n\n\n//-----------------------------------------------------------------\n// interface MultipartFormDataParser (private)\n//-----------------------------------------------------------------\n\n\n@interface MultipartFormDataParser (private)\n+ (NSData*) decodedDataFromData:(NSData*) data encoding:(int) encoding;\n\n- (int) findHeaderEnd:(NSData*) workingData fromOffset:(int) offset;\n- (int) findContentEnd:(NSData*) data fromOffset:(int) offset;\n\n- (int) numberOfBytesToLeavePendingWithData:(NSData*) data length:(NSUInteger) length encoding:(int) encoding;\n- (int) offsetTillNewlineSinceOffset:(int) offset inData:(NSData*) data;\n\n- (int) processPreamble:(NSData*) workingData;\n\n@end\n\n\n//-----------------------------------------------------------------\n// implementation MultipartFormDataParser\n//-----------------------------------------------------------------\n\n\n@implementation MultipartFormDataParser \n@synthesize delegate,formEncoding;\n\n- (id) initWithBoundary:(NSString*) boundary formEncoding:(NSStringEncoding) _formEncoding {\n    if( nil == (self = [super init]) ){\n        return self;\n    }\n    if( nil == boundary ) {\n        HTTPLogWarn(@\"MultipartFormDataParser: init with zero boundary\");\n        return nil;\n    }\n    boundaryData = [[@\"\\r\\n--\" stringByAppendingString:boundary] dataUsingEncoding:NSASCIIStringEncoding];\n\n    pendingData = [[NSMutableData alloc] init];\n    currentEncoding = contentTransferEncoding_binary;\n    currentHeader = nil;\n\n    formEncoding = _formEncoding;\n    reachedEpilogue = NO;\n    processedPreamble = NO;\n\n    return self;\n}\n\n\n- (BOOL) appendData:(NSData *)data { \n    // Can't parse without boundary;\n    if( nil == boundaryData ) {\n        HTTPLogError(@\"MultipartFormDataParser: Trying to parse multipart without specifying a valid boundary\");\n        assert(false);\n        return NO;\n    }\n    NSData* workingData = data;\n\n    if( pendingData.length ) {\n        [pendingData appendData:data];\n        workingData = pendingData;\n    }\n\n    // the parser saves parse stat in the offset variable, which indicates offset of unhandled part in \n    // currently received chunk. Before returning, we always drop all data up to offset, leaving \n    // only unhandled for the next call\n\n    int offset = 0;\n\n    // don't parse data unless its size is greater then boundary length, so we couldn't\n    // misfind the boundary, if it got split into different data chunks\n    NSUInteger sizeToLeavePending = boundaryData.length;\n\n    if( !reachedEpilogue && workingData.length <= sizeToLeavePending )  {\n        // not enough data even to start parsing.\n        // save to pending data.\n        if( !pendingData.length ) {\n            [pendingData appendData:data];\n        }\n        if( checkForContentEnd ) {\n            if( pendingData.length >= 2 ) {\n                if( *(uint16_t*)(pendingData.bytes + offset) == 0x2D2D ) {\n                    // we found the multipart end. all coming next is an epilogue.\n                    HTTPLogVerbose(@\"MultipartFormDataParser: End of multipart message\");\n                    waitingForCRLF = YES;\n                    reachedEpilogue = YES;\n                    offset+= 2;\n                }\n                else {\n                    checkForContentEnd = NO;\n                    waitingForCRLF = YES;\n                    return YES;\n                }\n            } else {\n                return YES;\n            }\n            \n        }\n        else {\n            return YES;\n        }\n    }\n    while( true ) {\n        if( checkForContentEnd ) {\n            // the flag will be raised to check if the last part was the last one.\n            if( offset < workingData.length -1 ) {\n                char* bytes = (char*) workingData.bytes;\n                if( *(uint16_t*)(bytes + offset) == 0x2D2D ) {\n                    // we found the multipart end. all coming next is an epilogue.\n                    HTTPLogVerbose(@\"MultipartFormDataParser: End of multipart message\");\n                    checkForContentEnd = NO;\n                    reachedEpilogue = YES;\n                    // still wait for CRLF, that comes after boundary, but before epilogue.\n                    waitingForCRLF = YES;\n                    offset += 2;\n                }\n                else {\n                    // it's not content end, we have to wait till separator line end before next part comes\n                    waitingForCRLF = YES;\n                    checkForContentEnd = NO;\n                }\n            }\n            else {\n                // we haven't got enough data to check for content end.\n                // save current unhandled data (it may be 1 byte) to pending and recheck on next chunk received\n                if( offset < workingData.length ) {\n                    [pendingData setData:[NSData dataWithBytes:workingData.bytes + workingData.length-1 length:1]];\n                }\n                else {\n                    // there is no unhandled data now, wait for more chunks\n                    [pendingData setData:[NSData data]];\n                }\n                return YES;\n            }\n        }\n        if( waitingForCRLF ) {\n\n            // the flag will be raised in the code below, meaning, we've read the boundary, but\n            // didnt find the end of boundary line yet.\n\n            offset = [self offsetTillNewlineSinceOffset:offset inData:workingData];\n            if( -1 == offset ) {\n                // didnt find the endl again.\n                if( offset ) {\n                    // we still have to save the unhandled data (maybe it's 1 byte CR)\n                    if( *((char*)workingData.bytes + workingData.length -1) == '\\r' ) {\n                        [pendingData setData:[NSData dataWithBytes:workingData.bytes + workingData.length-1 length:1]];\n                    }\n                    else {\n                        // or save nothing if it wasnt \n                        [pendingData setData:[NSData data]];\n                    }\n                }\n                return YES;\n            }\n            waitingForCRLF = NO;\n        }\n        if( !processedPreamble ) {\n            // got to find the first boundary before the actual content begins.\n            offset = [self processPreamble:workingData];\n            // wait for more data for preamble\n            if( -1 == offset ) \n                return YES;\n            // invoke continue to skip newline after boundary.\n            continue;\n        }\n\n        if( reachedEpilogue ) {\n            // parse all epilogue data to delegate.\n            if( [delegate respondsToSelector:@selector(processEpilogueData:)] ) {\n                NSData* epilogueData = [NSData dataWithBytesNoCopy: (char*) workingData.bytes + offset length: workingData.length - offset freeWhenDone:NO];\n                [delegate processEpilogueData: epilogueData];\n            }\n            return YES;\n        }\n\n        if( nil == currentHeader ) {\n            // nil == currentHeader is a state flag, indicating we are waiting for header now.\n            // whenever part is over, currentHeader is set to nil.\n\n            // try to find CRLFCRLF bytes in the data, which indicates header end.\n            // we won't parse header parts, as they won't be too large.\n            int headerEnd = [self findHeaderEnd:workingData fromOffset:offset];\n            if( -1 == headerEnd ) {\n                // didn't recieve the full header yet.\n                if( !pendingData.length) {\n                    // store the unprocessed data till next chunks come\n                    [pendingData appendBytes:data.bytes + offset length:data.length - offset];\n                }\n                else {\n                    if( offset ) {\n                        // save the current parse state; drop all handled data and save unhandled only.\n                        pendingData = [[NSMutableData alloc] initWithBytes: (char*) workingData.bytes + offset length:workingData.length - offset];\n                    }\n                }\n                return  YES;\n            }\n            else {\n\n                // let the header parser do it's job from now on.\n                NSData * headerData = [NSData dataWithBytesNoCopy: (char*) workingData.bytes + offset length:headerEnd + 2 - offset freeWhenDone:NO];\n                currentHeader = [[MultipartMessageHeader alloc] initWithData:headerData formEncoding:formEncoding];\n\n                if( nil == currentHeader ) {\n                    // we've found the data is in wrong format.\n                    HTTPLogError(@\"MultipartFormDataParser: MultipartFormDataParser: wrong input format, coulnd't get a valid header\");\n                    return NO;\n                }\n                if( [delegate respondsToSelector:@selector(processStartOfPartWithHeader:)] ) {\n                    [delegate processStartOfPartWithHeader:currentHeader];\n                }\n\n                HTTPLogVerbose(@\"MultipartFormDataParser: MultipartFormDataParser: Retrieved part header.\");\n            }\n            // skip the two trailing \\r\\n, in addition to the whole header.\n            offset = headerEnd + 4; \n        }\n        // after we've got the header, we try to\n        // find the boundary in the data.\n        int contentEnd = [self findContentEnd:workingData fromOffset:offset];\n        \n        if( contentEnd == -1 ) {\n\n            // this case, we didn't find the boundary, so the data is related to the current part.\n            // we leave the sizeToLeavePending amount of bytes to make sure we don't include \n            // boundary part in processed data.\n            NSUInteger sizeToPass = workingData.length - offset - sizeToLeavePending;\n\n            // if we parse BASE64 encoded data, or Quoted-Printable data, we will make sure we don't break the format\n            int leaveTrailing = [self numberOfBytesToLeavePendingWithData:data length:sizeToPass encoding:currentEncoding];\n            sizeToPass -= leaveTrailing;\n            \n            if( sizeToPass <= 0 ) {\n                // wait for more data!\n                if( offset ) {\n                    [pendingData setData:[NSData dataWithBytes:(char*) workingData.bytes + offset length:workingData.length - offset]];\n                }\n                return YES;\n            }\n            // decode the chunk and let the delegate use it (store in a file, for example)\n            NSData* decodedData = [MultipartFormDataParser decodedDataFromData:[NSData dataWithBytesNoCopy:(char*)workingData.bytes + offset length:workingData.length - offset - sizeToLeavePending freeWhenDone:NO] encoding:currentEncoding];\n            \n            if( [delegate respondsToSelector:@selector(processContent:WithHeader:)] ) {\n                HTTPLogVerbose(@\"MultipartFormDataParser: Processed %\"FMTNSINT\" bytes of body\",sizeToPass);\n\n                [delegate processContent: decodedData WithHeader:currentHeader];\n            }\n\n            // store the unprocessed data till the next chunks come.\n            [pendingData setData:[NSData dataWithBytes:(char*)workingData.bytes + workingData.length - sizeToLeavePending length:sizeToLeavePending]];\n            return YES;\n        }\n        else {\n\n            // Here we found the boundary.\n            // let the delegate process it, and continue going to the next parts.\n            if( [delegate respondsToSelector:@selector(processContent:WithHeader:)] ) {\n                [delegate processContent:[NSData dataWithBytesNoCopy:(char*) workingData.bytes + offset length:contentEnd - offset freeWhenDone:NO] WithHeader:currentHeader];\n            }\n\n            if( [delegate respondsToSelector:@selector(processEndOfPartWithHeader:)] ){\n                [delegate processEndOfPartWithHeader:currentHeader];\n                HTTPLogVerbose(@\"MultipartFormDataParser: End of body part\");\n            }\n            currentHeader = nil;\n\n            // set up offset to continue with the remaining data (if any)\n            // cast to int because above comment suggests a small number\n            offset = contentEnd + (int)boundaryData.length;\n            checkForContentEnd = YES;\n            // setting the flag tells the parser to skip all the data till CRLF\n        }\n    }\n    return YES;\n}\n\n\n//-----------------------------------------------------------------\n#pragma mark private methods\n\n- (int) offsetTillNewlineSinceOffset:(int) offset inData:(NSData*) data {\n    char* bytes = (char*) data.bytes;\n    NSUInteger length = data.length;\n    if( offset >= length - 1 ) \n        return -1;\n\n    while ( *(uint16_t*)(bytes + offset) != 0x0A0D ) {\n        // find the trailing \\r\\n after the boundary. The boundary line might have any number of whitespaces before CRLF, according to rfc2046\n\n        // in debug, we might also want to know, if the file is somehow misformatted.\n#ifdef DEBUG\n        if( !isspace(*(bytes+offset)) ) {\n            HTTPLogWarn(@\"MultipartFormDataParser: Warning, non-whitespace character '%c' between boundary bytes and CRLF in boundary line\",*(bytes+offset) );\n        }\n        if( !isspace(*(bytes+offset+1)) ) {\n            HTTPLogWarn(@\"MultipartFormDataParser: Warning, non-whitespace character '%c' between boundary bytes and CRLF in boundary line\",*(bytes+offset+1) );\n        }\n#endif\n        offset++;\n        if( offset >= length ) {\n            // no endl found within current data\n            return -1;\n        }\n    }\n\n    offset += 2;\n    return offset;\n}\n\n\n- (int) processPreamble:(NSData*) data {\n    int offset = 0;\n    \n    char* boundaryBytes = (char*) boundaryData.bytes + 2; // the first boundary won't have CRLF preceding.\n    char* dataBytes = (char*) data.bytes;\n    NSUInteger boundaryLength = boundaryData.length - 2;\n    NSUInteger dataLength = data.length;\n    \n    // find the boundary without leading CRLF.\n    while( offset < dataLength - boundaryLength +1 ) {\n        int i;\n        for( i = 0;i < boundaryLength; i++ ) {\n            if( boundaryBytes[i] != dataBytes[offset + i] )\n                break;\n        }\n        if( i == boundaryLength ) {\n            break;\n        }\n        offset++;\n    }\n    \n    if( offset == dataLength ) {\n        // the end of preamble wasn't found in this chunk\n        NSUInteger sizeToProcess = dataLength - boundaryLength;\n        if( sizeToProcess > 0) {\n            if( [delegate respondsToSelector:@selector(processPreambleData:)] ) {\n                NSData* preambleData = [NSData dataWithBytesNoCopy: (char*) data.bytes length: data.length - offset - boundaryLength freeWhenDone:NO];\n                [delegate processPreambleData:preambleData];\n                HTTPLogVerbose(@\"MultipartFormDataParser: processed preamble\");\n            }\n            pendingData = [NSMutableData dataWithBytes: data.bytes + data.length - boundaryLength length:boundaryLength];\n        }\n        return -1;\n    }\n    else {\n        if ( offset && [delegate respondsToSelector:@selector(processPreambleData:)] ) {\n            NSData* preambleData = [NSData dataWithBytesNoCopy: (char*) data.bytes length: offset freeWhenDone:NO];\n            [delegate processPreambleData:preambleData];\n        }\n        offset +=boundaryLength;\n        // tells to skip CRLF after the boundary.\n        processedPreamble = YES;\n        waitingForCRLF = YES;\n    }\n    return offset;\n}\n\n\n\n- (int) findHeaderEnd:(NSData*) workingData fromOffset:(int)offset {\n    char* bytes = (char*) workingData.bytes; \n    NSUInteger inputLength = workingData.length;\n    uint16_t separatorBytes = 0x0A0D;\n\n    while( true ) {\n        if(inputLength < offset + 3 ) {\n            // wait for more data\n            return -1;\n        }\n        if( (*((uint16_t*) (bytes+offset)) == separatorBytes) && (*((uint16_t*) (bytes+offset)+1) == separatorBytes) ) {\n            return offset;\n        }\n        offset++;\n    }\n    return -1;\n}\n\n\n- (int) findContentEnd:(NSData*) data fromOffset:(int) offset {\n    char* boundaryBytes = (char*) boundaryData.bytes;\n    char* dataBytes = (char*) data.bytes;\n    NSUInteger boundaryLength = boundaryData.length;\n    NSUInteger dataLength = data.length;\n    \n    while( offset < dataLength - boundaryLength +1 ) {\n        int i;\n        for( i = 0;i < boundaryLength; i++ ) {\n            if( boundaryBytes[i] != dataBytes[offset + i] )\n                break;\n        }\n        if( i == boundaryLength ) {\n            return offset;\n        }\n        offset++;\n    }\n    return -1;\n}\n\n\n- (int) numberOfBytesToLeavePendingWithData:(NSData*) data length:(int) length encoding:(int) encoding {\n    // If we have BASE64 or Quoted-Printable encoded data, we have to be sure\n    // we don't break the format.\n    int sizeToLeavePending = 0;\n    \n    if( encoding == contentTransferEncoding_base64 ) {  \n        char* bytes = (char*) data.bytes;\n        int i;\n        for( i = length - 1; i > 0; i++ ) {\n            if( * (uint16_t*) (bytes + i) == 0x0A0D ) {\n                break;\n            }\n        }\n        // now we've got to be sure that the length of passed data since last line\n        // is multiplier of 4.\n        sizeToLeavePending = (length - i) & ~0x11; // size to leave pending = length-i - (length-i) %4;\n        return sizeToLeavePending;\n    }\n    \n    if( encoding == contentTransferEncoding_quotedPrintable ) {\n        // we don't pass more less then 3 bytes anyway.\n        if( length <= 2 ) \n            return length;\n        // check the last bytes to be start of encoded symbol.\n        const char* bytes = data.bytes + length - 2;\n        if( bytes[0] == '=' )\n            return 2;\n        if( bytes[1] == '=' )\n            return 1;\n        return 0;\n    }\n    return 0;\n}\n\n\n//-----------------------------------------------------------------\n#pragma mark decoding\n\n\n+ (NSData*) decodedDataFromData:(NSData*) data encoding:(int) encoding {\n    switch (encoding) {\n        case contentTransferEncoding_base64: {\n            return [data base64Decoded]; \n        } break;\n\n        case contentTransferEncoding_quotedPrintable: {\n            return [self decodedDataFromQuotedPrintableData:data];\n        } break;\n\n        default: {\n            return data;\n        } break;\n    }\n}\n\n\n+ (NSData*) decodedDataFromQuotedPrintableData:(NSData *)data {\n//  http://tools.ietf.org/html/rfc2045#section-6.7\n\n    const char hex []  = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', };\n\n    NSMutableData* result = [[NSMutableData alloc] initWithLength:data.length];\n    const char* bytes = (const char*) data.bytes;\n    int count = 0;\n    NSUInteger length = data.length;\n    while( count < length ) {\n        if( bytes[count] == '=' ) {\n            [result appendBytes:bytes length:count];\n            bytes = bytes + count + 1;\n            length -= count + 1;\n            count = 0;\n\n            if( length < 3 ) {\n                HTTPLogWarn(@\"MultipartFormDataParser: warning, trailing '=' in quoted printable data\");\n            }\n            // soft newline\n            if( bytes[0] == '\\r' ) {\n                bytes += 1;\n                if(bytes[1] == '\\n' ) {\n                    bytes += 2;\n                }\n                continue;\n            }\n            char encodedByte = 0;\n\n            for( int i = 0; i < sizeof(hex); i++ ) {\n                if( hex[i] == bytes[0] ) {\n                    encodedByte += i << 4;\n                }\n                if( hex[i] == bytes[1] ) {\n                    encodedByte += i;\n                }\n            }\n            [result appendBytes:&encodedByte length:1];\n            bytes += 2;\n        }\n\n#ifdef DEBUG\n        if( (unsigned char) bytes[count] > 126 ) {\n            HTTPLogWarn(@\"MultipartFormDataParser: Warning, character with code above 126 appears in quoted printable encoded data\");\n        }\n#endif\n        \n        count++;\n    }\n    return result;\n}\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Mime/MultipartMessageHeader.h",
    "content": "//\n//  MultipartMessagePart.h\n//  HttpServer\n//\n//  Created by Валерий Гаврилов on 29.03.12.\n//  Copyright (c) 2012 LLC \"Online Publishing Partners\" (onlinepp.ru). All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n\n\n//-----------------------------------------------------------------\n// interface MultipartMessageHeader\n//-----------------------------------------------------------------\nenum {\n    contentTransferEncoding_unknown,\n    contentTransferEncoding_7bit,\n    contentTransferEncoding_8bit,\n    contentTransferEncoding_binary,\n    contentTransferEncoding_base64,\n    contentTransferEncoding_quotedPrintable,    \n};\n\n@interface MultipartMessageHeader : NSObject {\n    NSMutableDictionary*                    fields;\n    int                                     encoding;\n    NSString*                               contentDispositionName;\n}\n@property (strong,readonly) NSDictionary* fields;\n@property (readonly) int encoding;\n\n- (id) initWithData:(NSData*) data formEncoding:(NSStringEncoding) encoding;\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Mime/MultipartMessageHeader.m",
    "content": "//\n//  MultipartMessagePart.m\n//  HttpServer\n//\n//  Created by Валерий Гаврилов on 29.03.12.\n//  Copyright (c) 2012 LLC \"Online Publishing Partners\" (onlinepp.ru). All rights reserved.\n\n#import \"MultipartMessageHeader.h\"\n#import \"MultipartMessageHeaderField.h\"\n\n#import \"HTTPLogging.h\"\n\n//-----------------------------------------------------------------\n#pragma mark log level\n\n#ifdef DEBUG\nstatic const int httpLogLevel = HTTP_LOG_LEVEL_WARN;\n#else\nstatic const int httpLogLevel = HTTP_LOG_LEVEL_WARN;\n#endif\n\n//-----------------------------------------------------------------\n// implementation MultipartMessageHeader\n//-----------------------------------------------------------------\n\n\n@implementation MultipartMessageHeader\n@synthesize fields,encoding;\n\n\n- (id) initWithData:(NSData *)data formEncoding:(NSStringEncoding) formEncoding {\n    if( nil == (self = [super init]) ) {\n        return self;\n    }\n    \n    fields = [[NSMutableDictionary alloc] initWithCapacity:1];\n\n    // In case encoding is not mentioned,\n    encoding = contentTransferEncoding_unknown;\n\n    char* bytes = (char*)data.bytes;\n    NSUInteger length = data.length;\n    int offset = 0;\n\n    // split header into header fields, separated by \\r\\n\n    uint16_t fields_separator = 0x0A0D; // \\r\\n\n    while( offset < length - 2 ) {\n\n        // the !isspace condition is to support header unfolding\n        if( (*(uint16_t*) (bytes+offset)  == fields_separator) && ((offset == length - 2) || !(isspace(bytes[offset+2])) )) {\n            NSData* fieldData = [NSData dataWithBytesNoCopy:bytes length:offset freeWhenDone:NO];\n            MultipartMessageHeaderField* field = [[MultipartMessageHeaderField alloc] initWithData: fieldData  contentEncoding:formEncoding];\n            if( field ) {\n                [fields setObject:field forKey:field.name];\n                HTTPLogVerbose(@\"MultipartFormDataParser: Processed Header field '%@'\",field.name);\n            }\n            else {\n                NSString* fieldStr = [[NSString  alloc] initWithData:fieldData encoding:NSASCIIStringEncoding];\n                HTTPLogWarn(@\"MultipartFormDataParser: Failed to parse MIME header field. Input ASCII string:%@\",fieldStr);\n            }\n\n            // move to the next header field\n            bytes += offset + 2;\n            length -= offset + 2;\n            offset = 0;\n            continue;\n        }\n        ++ offset;\n    }\n    \n    if( !fields.count ) {\n        // it was an empty header.\n        // we have to set default values.\n        // default header.\n        [fields setObject:@\"text/plain\" forKey:@\"Content-Type\"];\n    }\n\n    return self;\n}\n\n- (NSString *)description { \n    return [NSString stringWithFormat:@\"%@\",fields];\n}\n\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Mime/MultipartMessageHeaderField.h",
    "content": "\n#import <Foundation/Foundation.h>\n\n//-----------------------------------------------------------------\n// interface MultipartMessageHeaderField\n//-----------------------------------------------------------------\n\n@interface MultipartMessageHeaderField : NSObject {\n    NSString*                       name;\n    NSString*                       value;\n    NSMutableDictionary*            params;\n}\n\n@property (strong, readonly) NSString*      value;\n@property (strong, readonly) NSDictionary*  params;\n@property (strong, readonly) NSString*      name;\n\n//- (id) initWithLine:(NSString*) line;\n//- (id) initWithName:(NSString*) paramName value:(NSString*) paramValue;\n\n- (id) initWithData:(NSData*) data contentEncoding:(NSStringEncoding) encoding;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Mime/MultipartMessageHeaderField.m",
    "content": "\n#import \"MultipartMessageHeaderField.h\"\n#import \"HTTPLogging.h\"\n\n//-----------------------------------------------------------------\n#pragma mark log level\n\n#ifdef DEBUG\nstatic const int httpLogLevel = HTTP_LOG_LEVEL_WARN;\n#else\nstatic const int httpLogLevel = HTTP_LOG_LEVEL_WARN;\n#endif\n\n\n// helpers\nint findChar(const char* str,NSUInteger length, char c);\nNSString* extractParamValue(const char* bytes, NSUInteger length, NSStringEncoding encoding);\n\n//-----------------------------------------------------------------\n// interface MultipartMessageHeaderField (private)\n//-----------------------------------------------------------------\n\n\n@interface MultipartMessageHeaderField (private)\n-(BOOL) parseHeaderValueBytes:(char*) bytes length:(NSUInteger) length encoding:(NSStringEncoding) encoding;\n@end\n\n\n//-----------------------------------------------------------------\n// implementation MultipartMessageHeaderField\n//-----------------------------------------------------------------\n\n@implementation MultipartMessageHeaderField\n@synthesize name,value,params;\n\n- (id) initWithData:(NSData *)data contentEncoding:(NSStringEncoding)encoding {\n    params = [[NSMutableDictionary alloc] initWithCapacity:1];\n\n    char* bytes = (char*)data.bytes;\n    NSUInteger length = data.length;\n\n    int separatorOffset = findChar(bytes, length, ':');\n    if( (-1 == separatorOffset) || (separatorOffset >= length-2) ) {\n        HTTPLogError(@\"MultipartFormDataParser: Bad format.No colon in field header.\");\n        // tear down\n        return nil;\n    }\n    \n    // header name is always ascii encoded;\n    name = [[NSString alloc] initWithBytes: bytes length: separatorOffset encoding: NSASCIIStringEncoding];\n    if( nil == name ) {\n        HTTPLogError(@\"MultipartFormDataParser: Bad MIME header name.\");\n        // tear down\n        return nil;     \n    }\n    \n    // skip the separator and the next ' ' symbol\n    bytes += separatorOffset + 2;\n    length -= separatorOffset + 2;\n\n    separatorOffset = findChar(bytes, length, ';');\n    if( separatorOffset == -1 ) {\n        // couldn't find ';', means we don't have extra params here. \n        value = [[NSString alloc] initWithBytes:bytes length: length encoding:encoding];\n\n        if( nil == value ) {\n            HTTPLogError(@\"MultipartFormDataParser: Bad MIME header value for header name: '%@'\",name);\n            // tear down\n            return nil;     \n        }\n        return self;\n    }\n    \n    value = [[NSString alloc] initWithBytes:bytes length: separatorOffset encoding:encoding];\n    HTTPLogVerbose(@\"MultipartFormDataParser: Processing  header field '%@' : '%@'\",name,value);\n    // skipe the separator and the next ' ' symbol\n    bytes += separatorOffset + 2;\n    length -= separatorOffset + 2;\n\n    // parse the \"params\" part of the header\n    if( ![self parseHeaderValueBytes:bytes length:length encoding:encoding] ) {\n        NSString* paramsStr = [[NSString alloc] initWithBytes:bytes length:length encoding:NSASCIIStringEncoding];\n        HTTPLogError(@\"MultipartFormDataParser: Bad params for header with name '%@' and value '%@'\",name,value);\n        HTTPLogError(@\"MultipartFormDataParser: Params str: %@\",paramsStr);\n\n        return nil;     \n    }\n    return self;\n}\n\n-(BOOL) parseHeaderValueBytes:(char*) bytes length:(NSUInteger) length encoding:(NSStringEncoding) encoding {\n    int offset = 0;\n    NSString* currentParam = nil;\n    BOOL insideQuote = NO;\n    while( offset < length ) {\n        if( bytes[offset] == '\\\"' ) {\n            if( !offset || bytes[offset-1] != '\\\\' ) {\n               insideQuote = !insideQuote;\n            }\n        }\n\n        // skip quoted symbols\n        if( insideQuote ) {\n            ++ offset;\n            continue; \n        }\n        if( bytes[offset] == '=' ) {\n            if( currentParam ) {\n                // found '=' before terminating previous param.\n                return NO;\n            }\n            currentParam = [[NSString alloc] initWithBytes:bytes length:offset encoding:NSASCIIStringEncoding];\n\n            bytes+=offset + 1;\n            length -= offset + 1;\n            offset = 0;\n            continue;\n        }\n        if( bytes[offset] == ';' ) {\n            if( !currentParam ) {\n                // found ; before stating '='.\n                HTTPLogError(@\"MultipartFormDataParser: Unexpected ';' when parsing header\");\n                return NO;\n            }\n            NSString* paramValue = extractParamValue(bytes, offset,encoding);\n             if( nil == paramValue ) {\n                HTTPLogWarn(@\"MultipartFormDataParser: Failed to exctract paramValue for key %@ in header %@\",currentParam,name);\n            }\n            else {\n#ifdef DEBUG\n                if( [params objectForKey:currentParam] ) {\n                    HTTPLogWarn(@\"MultipartFormDataParser: param %@ mentioned more then once in header %@\",currentParam,name);\n                }\n#endif\n                [params setObject:paramValue forKey:currentParam];\n                HTTPLogVerbose(@\"MultipartFormDataParser: header param: %@ = %@\",currentParam,paramValue);\n            }\n\n            currentParam = nil;\n\n            // ';' separator has ' ' following, skip them.\n            bytes+=offset + 2;\n            length -= offset + 2;\n            offset = 0;\n        }\n        ++ offset;\n    }\n\n    // add last param\n    if( insideQuote ) {\n        HTTPLogWarn(@\"MultipartFormDataParser: unterminated quote in header %@\",name);\n//      return YES;\n    }\n    if( currentParam ) {\n        NSString* paramValue = extractParamValue(bytes, length, encoding);\n\n        if( nil == paramValue ) {\n            HTTPLogError(@\"MultipartFormDataParser: Failed to exctract paramValue for key %@ in header %@\",currentParam,name);\n        }\n\n#ifdef DEBUG\n        if( [params objectForKey:currentParam] ) {\n            HTTPLogWarn(@\"MultipartFormDataParser: param %@ mentioned more then once in one header\",currentParam);\n        }\n#endif\n        [params setObject:paramValue forKey:currentParam];\n        HTTPLogVerbose(@\"MultipartFormDataParser: header param: %@ = %@\",currentParam,paramValue);\n        currentParam = nil;\n    }\n    \n    return YES;\n}\n\n- (NSString *)description {\n    return [NSString stringWithFormat:@\"%@:%@\\n params: %@\",name,value,params];\n}\n\n@end\n\nint findChar(const char* str, NSUInteger length, char c) {\n    int offset = 0;\n    while( offset < length ) {\n        if( str[offset] == c )\n            return offset;\n        ++ offset;\n    }\n    return -1;\n}\n\nNSString* extractParamValue(const char* bytes, NSUInteger length, NSStringEncoding encoding) {\n    if( !length ) \n        return nil;\n    NSMutableString* value = nil;\n    \n    if( bytes[0] == '\"' ) {\n        // values may be quoted. Strip the quotes to get what we need.\n        value = [[NSMutableString alloc] initWithBytes:bytes + 1 length: length - 2 encoding:encoding]; \n    }\n    else {\n        value = [[NSMutableString alloc] initWithBytes:bytes length: length encoding:encoding];\n    }\n    // restore escaped symbols\n    NSRange range= [value rangeOfString:@\"\\\\\"];\n    while ( range.length ) {\n        [value deleteCharactersInRange:range];\n        range.location ++;\n        range = [value rangeOfString:@\"\\\\\" options:NSLiteralSearch range: range];\n    }\n    return value;\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPAsyncFileResponse.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"HTTPResponse.h\"\n\n@class HTTPConnection;\n\n/**\n * This is an asynchronous version of HTTPFileResponse.\n * It reads data from the given file asynchronously via GCD.\n * \n * It may be overriden to allow custom post-processing of the data that has been read from the file.\n * An example of this is the HTTPDynamicFileResponse class.\n**/\n\n@interface HTTPAsyncFileResponse : NSObject <HTTPResponse>\n{   \n    HTTPConnection *connection;\n    \n    NSString *filePath;\n    UInt64 fileLength;\n    UInt64 fileOffset;  // File offset as pertains to data given to connection\n    UInt64 readOffset;  // File offset as pertains to data read from file (but maybe not returned to connection)\n    \n    BOOL aborted;\n    \n    NSData *data;\n    \n    int fileFD;\n    void *readBuffer;\n    NSUInteger readBufferSize;     // Malloced size of readBuffer\n    NSUInteger readBufferOffset;   // Offset within readBuffer where the end of existing data is\n    NSUInteger readRequestLength;\n    dispatch_queue_t readQueue;\n    dispatch_source_t readSource;\n    BOOL readSourceSuspended;\n}\n\n- (id)initWithFilePath:(NSString *)filePath forConnection:(HTTPConnection *)connection;\n- (NSString *)filePath;\n\n@end\n\n/**\n * Explanation of Variables (excluding those that are obvious)\n * \n * fileOffset\n *   This is the number of bytes that have been returned to the connection via the readDataOfLength method.\n *   If 1KB of data has been read from the file, but none of that data has yet been returned to the connection,\n *   then the fileOffset variable remains at zero.\n *   This variable is used in the calculation of the isDone method.\n *   Only after all data has been returned to the connection are we actually done.\n * \n * readOffset\n *   Represents the offset of the file descriptor.\n *   In other words, the file position indidcator for our read stream.\n *   It might be easy to think of it as the total number of bytes that have been read from the file.\n *   However, this isn't entirely accurate, as the setOffset: method may have caused us to\n *   jump ahead in the file (lseek).\n * \n * readBuffer\n *   Malloc'd buffer to hold data read from the file.\n * \n * readBufferSize\n *   Total allocation size of malloc'd buffer.\n * \n * readBufferOffset\n *   Represents the position in the readBuffer where we should store new bytes.\n * \n * readRequestLength\n *   The total number of bytes that were requested from the connection.\n *   It's OK if we return a lesser number of bytes to the connection.\n *   It's NOT OK if we return a greater number of bytes to the connection.\n *   Doing so would disrupt proper support for range requests.\n *   If, however, the response is chunked then we don't need to worry about this.\n *   Chunked responses inheritly don't support range requests.\n**/\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPAsyncFileResponse.m",
    "content": "#import \"HTTPAsyncFileResponse.h\"\n#import \"HTTPConnection.h\"\n#import \"HTTPLogging.h\"\n\n#import <unistd.h>\n#import <fcntl.h>\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n/**\n * Does ARC support support GCD objects?\n * It does if the minimum deployment target is iOS 6+ or Mac OS X 8+\n**/\n#if TARGET_OS_IPHONE\n\n  // Compiling for iOS\n\n  #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 // iOS 6.0 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else                                         // iOS 5.X or earlier\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1\n  #endif\n\n#else\n\n  // Compiling for Mac OS X\n\n  #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080     // Mac OS X 10.8 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1     // Mac OS X 10.7 or earlier\n  #endif\n\n#endif\n\n// Log levels : off, error, warn, info, verbose\n// Other flags: trace\nstatic const DDLogLevel httpLogLevel = DDLogLevelWarning; // | HTTP_LOG_FLAG_TRACE;\n\n#define NULL_FD  -1\n\n/**\n * Architecure overview:\n * \n * HTTPConnection will invoke our readDataOfLength: method to fetch data.\n * We will return nil, and then proceed to read the data via our readSource on our readQueue.\n * Once the requested amount of data has been read, we then pause our readSource,\n * and inform the connection of the available data.\n * \n * While our read is in progress, we don't have to worry about the connection calling any other methods,\n * except the connectionDidClose method, which would be invoked if the remote end closed the socket connection.\n * To safely handle this, we do a synchronous dispatch on the readQueue,\n * and nilify the connection as well as cancel our readSource.\n * \n * In order to minimize resource consumption during a HEAD request,\n * we don't open the file until we have to (until the connection starts requesting data).\n**/\n\n@implementation HTTPAsyncFileResponse\n\n- (id)initWithFilePath:(NSString *)fpath forConnection:(HTTPConnection *)parent\n{\n    if ((self = [super init]))\n    {\n        HTTPLogTrace();\n        \n        connection = parent; // Parents retain children, children do NOT retain parents\n        \n        fileFD = NULL_FD;\n        filePath = [fpath copy];\n        if (filePath == nil)\n        {\n            HTTPLogWarn(@\"%@: Init failed - Nil filePath\", THIS_FILE);\n            \n            return nil;\n        }\n        \n        NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:NULL];\n        if (fileAttributes == nil)\n        {\n            HTTPLogWarn(@\"%@: Init failed - Unable to get file attributes. filePath: %@\", THIS_FILE, filePath);\n            \n            return nil;\n        }\n        \n        fileLength = (UInt64)[[fileAttributes objectForKey:NSFileSize] unsignedLongLongValue];\n        fileOffset = 0;\n        \n        aborted = NO;\n        \n        // We don't bother opening the file here.\n        // If this is a HEAD request we only need to know the fileLength.\n    }\n    return self;\n}\n\n- (void)abort\n{\n    HTTPLogTrace();\n    \n    [connection responseDidAbort:self];\n    aborted = YES;\n}\n\n- (void)processReadBuffer\n{\n    // This method is here to allow superclasses to perform post-processing of the data.\n    // For an example, see the HTTPDynamicFileResponse class.\n    // \n    // At this point, the readBuffer has readBufferOffset bytes available.\n    // This method is in charge of updating the readBufferOffset.\n    // Failure to do so will cause the readBuffer to grow to fileLength. (Imagine a 1 GB file...)\n    \n    // Copy the data out of the temporary readBuffer.\n    data = [[NSData alloc] initWithBytes:readBuffer length:readBufferOffset];\n    \n    // Reset the read buffer.\n    readBufferOffset = 0;\n    \n    // Notify the connection that we have data available for it.\n    [connection responseHasAvailableData:self];\n}\n\n- (void)pauseReadSource\n{\n    if (!readSourceSuspended)\n    {\n        HTTPLogVerbose(@\"%@[%p]: Suspending readSource\", THIS_FILE, self);\n        \n        readSourceSuspended = YES;\n        dispatch_suspend(readSource);\n    }\n}\n\n- (void)resumeReadSource\n{\n    if (readSourceSuspended)\n    {\n        HTTPLogVerbose(@\"%@[%p]: Resuming readSource\", THIS_FILE, self);\n        \n        readSourceSuspended = NO;\n        dispatch_resume(readSource);\n    }\n}\n\n- (void)cancelReadSource\n{\n    HTTPLogVerbose(@\"%@[%p]: Canceling readSource\", THIS_FILE, self);\n    \n    dispatch_source_cancel(readSource);\n    \n    // Cancelling a dispatch source doesn't\n    // invoke the cancel handler if the dispatch source is paused.\n    \n    if (readSourceSuspended)\n    {\n        readSourceSuspended = NO;\n        dispatch_resume(readSource);\n    }\n}\n\n- (BOOL)openFileAndSetupReadSource\n{\n    HTTPLogTrace();\n    \n    fileFD = open([filePath UTF8String], (O_RDONLY | O_NONBLOCK));\n    if (fileFD == NULL_FD)\n    {\n        HTTPLogError(@\"%@: Unable to open file. filePath: %@\", THIS_FILE, filePath);\n        \n        return NO;\n    }\n    \n    HTTPLogVerbose(@\"%@[%p]: Open fd[%i] -> %@\", THIS_FILE, self, fileFD, filePath);\n    \n    readQueue = dispatch_queue_create(\"HTTPAsyncFileResponse\", NULL);\n    readSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, fileFD, 0, readQueue);\n    \n    \n    dispatch_source_set_event_handler(readSource, ^{\n        \n        HTTPLogTrace2(@\"%@: eventBlock - fd[%i]\", THIS_FILE, fileFD);\n        \n        // Determine how much data we should read.\n        // \n        // It is OK if we ask to read more bytes than exist in the file.\n        // It is NOT OK to over-allocate the buffer.\n        \n        unsigned long long _bytesAvailableOnFD = dispatch_source_get_data(readSource);\n        \n        UInt64 _bytesLeftInFile = fileLength - readOffset;\n        \n        NSUInteger bytesAvailableOnFD;\n        NSUInteger bytesLeftInFile;\n        \n        bytesAvailableOnFD = (_bytesAvailableOnFD > NSUIntegerMax) ? NSUIntegerMax : (NSUInteger)_bytesAvailableOnFD;\n        bytesLeftInFile    = (_bytesLeftInFile    > NSUIntegerMax) ? NSUIntegerMax : (NSUInteger)_bytesLeftInFile;\n        \n        NSUInteger bytesLeftInRequest = readRequestLength - readBufferOffset;\n        \n        NSUInteger bytesLeft = MIN(bytesLeftInRequest, bytesLeftInFile);\n        \n        NSUInteger bytesToRead = MIN(bytesAvailableOnFD, bytesLeft);\n        \n        // Make sure buffer is big enough for read request.\n        // Do not over-allocate.\n        \n        if (readBuffer == NULL || bytesToRead > (readBufferSize - readBufferOffset))\n        {\n            readBufferSize = bytesToRead;\n            readBuffer = reallocf(readBuffer, (size_t)bytesToRead);\n            \n            if (readBuffer == NULL)\n            {\n                HTTPLogError(@\"%@[%p]: Unable to allocate buffer\", THIS_FILE, self);\n                \n                [self pauseReadSource];\n                [self abort];\n                \n                return;\n            }\n        }\n        \n        // Perform the read\n        \n        HTTPLogVerbose(@\"%@[%p]: Attempting to read %lu bytes from file\", THIS_FILE, self, (unsigned long)bytesToRead);\n        \n        ssize_t result = read(fileFD, readBuffer + readBufferOffset, (size_t)bytesToRead);\n        \n        // Check the results\n        if (result < 0)\n        {\n            HTTPLogError(@\"%@: Error(%i) reading file(%@)\", THIS_FILE, errno, filePath);\n            \n            [self pauseReadSource];\n            [self abort];\n        }\n        else if (result == 0)\n        {\n            HTTPLogError(@\"%@: Read EOF on file(%@)\", THIS_FILE, filePath);\n            \n            [self pauseReadSource];\n            [self abort];\n        }\n        else // (result > 0)\n        {\n            HTTPLogVerbose(@\"%@[%p]: Read %lu bytes from file\", THIS_FILE, self, (unsigned long)result);\n            \n            readOffset += result;\n            readBufferOffset += result;\n            \n            [self pauseReadSource];\n            [self processReadBuffer];\n        }\n        \n    });\n    \n    int theFileFD = fileFD;\n    #if NEEDS_DISPATCH_RETAIN_RELEASE\n    dispatch_source_t theReadSource = readSource;\n    #endif\n    \n    dispatch_source_set_cancel_handler(readSource, ^{\n        \n        // Do not access self from within this block in any way, shape or form.\n        // \n        // Note: You access self if you reference an iVar.\n        \n        HTTPLogTrace2(@\"%@: cancelBlock - Close fd[%i]\", THIS_FILE, theFileFD);\n        \n        #if NEEDS_DISPATCH_RETAIN_RELEASE\n        dispatch_release(theReadSource);\n        #endif\n        close(theFileFD);\n    });\n    \n    readSourceSuspended = YES;\n    \n    return YES;\n}\n\n- (BOOL)openFileIfNeeded\n{\n    if (aborted)\n    {\n        // The file operation has been aborted.\n        // This could be because we failed to open the file,\n        // or the reading process failed.\n        return NO;\n    }\n    \n    if (fileFD != NULL_FD)\n    {\n        // File has already been opened.\n        return YES;\n    }\n    \n    return [self openFileAndSetupReadSource];\n}   \n\n- (UInt64)contentLength\n{\n    HTTPLogTrace2(@\"%@[%p]: contentLength - %llu\", THIS_FILE, self, fileLength);\n    \n    return fileLength;\n}\n\n- (UInt64)offset\n{\n    HTTPLogTrace();\n    \n    return fileOffset;\n}\n\n- (void)setOffset:(UInt64)offset\n{\n    HTTPLogTrace2(@\"%@[%p]: setOffset:%llu\", THIS_FILE, self, offset);\n    \n    if (![self openFileIfNeeded])\n    {\n        // File opening failed,\n        // or response has been aborted due to another error.\n        return;\n    }\n    \n    fileOffset = offset;\n    readOffset = offset;\n    \n    off_t result = lseek(fileFD, (off_t)offset, SEEK_SET);\n    if (result == -1)\n    {\n        HTTPLogError(@\"%@[%p]: lseek failed - errno(%i) filePath(%@)\", THIS_FILE, self, errno, filePath);\n        \n        [self abort];\n    }\n}\n\n- (NSData *)readDataOfLength:(NSUInteger)length\n{\n    HTTPLogTrace2(@\"%@[%p]: readDataOfLength:%lu\", THIS_FILE, self, (unsigned long)length);\n    \n    if (data)\n    {\n        NSUInteger dataLength = [data length];\n        \n        HTTPLogVerbose(@\"%@[%p]: Returning data of length %lu\", THIS_FILE, self, (unsigned long)dataLength);\n        \n        fileOffset += dataLength;\n        \n        NSData *result = data;\n        data = nil;\n        \n        return result;\n    }\n    else\n    {\n        if (![self openFileIfNeeded])\n        {\n            // File opening failed,\n            // or response has been aborted due to another error.\n            return nil;\n        }\n        \n        dispatch_sync(readQueue, ^{\n            \n            NSAssert(readSourceSuspended, @\"Invalid logic - perhaps HTTPConnection has changed.\");\n            \n            readRequestLength = length;\n            [self resumeReadSource];\n        });\n        \n        return nil;\n    }\n}\n\n- (BOOL)isDone\n{\n    BOOL result = (fileOffset == fileLength);\n    \n    HTTPLogTrace2(@\"%@[%p]: isDone - %@\", THIS_FILE, self, (result ? @\"YES\" : @\"NO\"));\n    \n    return result;\n}\n\n- (NSString *)filePath\n{\n    return filePath;\n}\n\n- (BOOL)isAsynchronous\n{\n    HTTPLogTrace();\n    \n    return YES;\n}\n\n- (void)connectionDidClose\n{\n    HTTPLogTrace();\n    \n    if (fileFD != NULL_FD)\n    {\n        dispatch_sync(readQueue, ^{\n            \n            // Prevent any further calls to the connection\n            connection = nil;\n            \n            // Cancel the readSource.\n            // We do this here because the readSource's eventBlock has retained self.\n            // In other words, if we don't cancel the readSource, we will never get deallocated.\n            \n            [self cancelReadSource];\n        });\n    }\n}\n\n- (void)dealloc\n{\n    HTTPLogTrace();\n    \n    #if NEEDS_DISPATCH_RETAIN_RELEASE\n    if (readQueue) dispatch_release(readQueue);\n    #endif\n    \n    if (readBuffer)\n        free(readBuffer);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPDataResponse.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"HTTPResponse.h\"\n\n\n@interface HTTPDataResponse : NSObject <HTTPResponse>\n{\n    NSUInteger offset;\n    NSData *data;\n}\n\n- (id)initWithData:(NSData *)data;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPDataResponse.m",
    "content": "#import \"HTTPDataResponse.h\"\n#import \"HTTPLogging.h\"\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// Log levels : off, error, warn, info, verbose\n// Other flags: trace\nstatic const DDLogLevel httpLogLevel = DDLogLevelOff; // | HTTP_LOG_FLAG_TRACE;\n\n\n@implementation HTTPDataResponse\n\n- (id)initWithData:(NSData *)dataParam\n{\n    if((self = [super init]))\n    {\n        HTTPLogTrace();\n        \n        offset = 0;\n        data = dataParam;\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    HTTPLogTrace();\n    \n}\n\n- (UInt64)contentLength\n{\n    UInt64 result = (UInt64)[data length];\n    \n    HTTPLogTrace2(@\"%@[%p]: contentLength - %llu\", THIS_FILE, self, result);\n    \n    return result;\n}\n\n- (UInt64)offset\n{\n    HTTPLogTrace();\n    \n    return offset;\n}\n\n- (void)setOffset:(UInt64)offsetParam\n{\n    HTTPLogTrace2(@\"%@[%p]: setOffset:%lu\", THIS_FILE, self, (unsigned long)offset);\n    \n    offset = (NSUInteger)offsetParam;\n}\n\n- (NSData *)readDataOfLength:(NSUInteger)lengthParameter\n{\n    HTTPLogTrace2(@\"%@[%p]: readDataOfLength:%lu\", THIS_FILE, self, (unsigned long)lengthParameter);\n    \n    NSUInteger remaining = [data length] - offset;\n    NSUInteger length = lengthParameter < remaining ? lengthParameter : remaining;\n    \n    void *bytes = (void *)([data bytes] + offset);\n    \n    offset += length;\n    \n    return [NSData dataWithBytesNoCopy:bytes length:length freeWhenDone:NO];\n}\n\n- (BOOL)isDone\n{\n    BOOL result = (offset == [data length]);\n    \n    HTTPLogTrace2(@\"%@[%p]: isDone - %@\", THIS_FILE, self, (result ? @\"YES\" : @\"NO\"));\n    \n    return result;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPDynamicFileResponse.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"HTTPResponse.h\"\n#import \"HTTPAsyncFileResponse.h\"\n\n/**\n * This class is designed to assist with dynamic content.\n * Imagine you have a file that you want to make dynamic:\n * \n * <html>\n * <body>\n *   <h1>ComputerName Control Panel</h1>\n *   ...\n *   <li>System Time: SysTime</li>\n * </body>\n * </html>\n * \n * Now you could generate the entire file in Objective-C,\n * but this would be a horribly tedious process.\n * Beside, you want to design the file with professional tools to make it look pretty.\n * \n * So all you have to do is escape your dynamic content like this:\n * \n * ...\n *   <h1>%%ComputerName%% Control Panel</h1>\n * ...\n *   <li>System Time: %%SysTime%%</li>\n * \n * And then you create an instance of this class with:\n * \n * - separator = @\"%%\"\n * - replacementDictionary = { \"ComputerName\"=\"Black MacBook\", \"SysTime\"=\"2010-04-30 03:18:24\" }\n * \n * This class will then perform the replacements for you, on the fly, as it reads the file data.\n * This class is also asynchronous, so it will perform the file IO using its own GCD queue.\n * \n * All keys for the replacementDictionary must be NSString's.\n * Values for the replacementDictionary may be NSString's, or any object that\n * returns what you want when its description method is invoked.\n**/\n\n@interface HTTPDynamicFileResponse : HTTPAsyncFileResponse\n{\n    NSData *separator;\n    NSDictionary *replacementDict;\n}\n\n- (id)initWithFilePath:(NSString *)filePath\n         forConnection:(HTTPConnection *)connection\n             separator:(NSString *)separatorStr\n replacementDictionary:(NSDictionary *)dictionary;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPDynamicFileResponse.m",
    "content": "#import \"HTTPDynamicFileResponse.h\"\n#import \"HTTPConnection.h\"\n#import \"HTTPLogging.h\"\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// Log levels : off, error, warn, info, verbose\n// Other flags: trace\nstatic const DDLogLevel httpLogLevel = DDLogLevelWarning; // | HTTP_LOG_FLAG_TRACE;\n\n#define NULL_FD  -1\n\n\n@implementation HTTPDynamicFileResponse\n\n- (id)initWithFilePath:(NSString *)fpath\n         forConnection:(HTTPConnection *)parent\n             separator:(NSString *)separatorStr\n replacementDictionary:(NSDictionary *)dict\n{\n    if ((self = [super initWithFilePath:fpath forConnection:parent]))\n    {\n        HTTPLogTrace();\n        \n        separator = [separatorStr dataUsingEncoding:NSUTF8StringEncoding];\n        replacementDict = dict;\n    }\n    return self;\n}\n\n- (BOOL)isChunked\n{\n    HTTPLogTrace();\n    \n    return YES;\n}\n\n- (UInt64)contentLength\n{\n    // This method shouldn't be called since we're using a chunked response.\n    // We override it just to be safe.\n    \n    HTTPLogTrace();\n    \n    return 0;\n}\n\n- (void)setOffset:(UInt64)offset\n{\n    // This method shouldn't be called since we're using a chunked response.\n    // We override it just to be safe.\n    \n    HTTPLogTrace();\n}\n\n- (BOOL)isDone\n{\n    BOOL result = (readOffset == fileLength) && (readBufferOffset == 0);\n    \n    HTTPLogTrace2(@\"%@[%p]: isDone - %@\", THIS_FILE, self, (result ? @\"YES\" : @\"NO\"));\n    \n    return result;\n}\n\n- (void)processReadBuffer\n{\n    HTTPLogTrace();\n    \n    // At this point, the readBuffer has readBufferOffset bytes available.\n    // This method is in charge of updating the readBufferOffset.\n    \n    NSUInteger bufLen = readBufferOffset;\n    NSUInteger sepLen = [separator length];\n    \n    // We're going to start looking for the separator at the beginning of the buffer,\n    // and stop when we get to the point where the separator would no longer fit in the buffer.\n    \n    NSUInteger offset = 0;\n    NSUInteger stopOffset = (bufLen > sepLen) ? bufLen - sepLen + 1 : 0;\n    \n    // In order to do the replacement, we need to find the starting and ending separator.\n    // For example:\n    // \n    // %%USER_NAME%%\n    // \n    // Where \"%%\" is the separator.\n    \n    BOOL found1 = NO;\n    BOOL found2 = NO;\n    \n    NSUInteger s1 = 0;\n    NSUInteger s2 = 0;\n    \n    const void *sep = [separator bytes];\n    \n    while (offset < stopOffset)\n    {\n        const void *subBuffer = readBuffer + offset;\n        \n        if (memcmp(subBuffer, sep, sepLen) == 0)\n        {\n            if (!found1)\n            {\n                // Found the first separator\n                \n                found1 = YES;\n                s1 = offset;\n                offset += sepLen;\n                \n                HTTPLogVerbose(@\"%@[%p]: Found s1 at %lu\", THIS_FILE, self, (unsigned long)s1);\n            }\n            else\n            {\n                // Found the second separator\n                \n                found2 = YES;\n                s2 = offset;\n                offset += sepLen;\n                \n                HTTPLogVerbose(@\"%@[%p]: Found s2 at %lu\", THIS_FILE, self, (unsigned long)s2);\n            }\n            \n            if (found1 && found2)\n            {\n                // We found our separators.\n                // Now extract the string between the two separators.\n                \n                NSRange fullRange = NSMakeRange(s1, (s2 - s1 + sepLen));\n                NSRange strRange = NSMakeRange(s1 + sepLen, (s2 - s1 - sepLen));\n                \n                // Wish we could use the simple subdataWithRange method.\n                // But that method copies the bytes...\n                // So for performance reasons, we need to use the methods that don't copy the bytes.\n                \n                void *strBuf = readBuffer + strRange.location;\n                NSUInteger strLen = strRange.length;\n                \n                NSString *key = [[NSString alloc] initWithBytes:strBuf length:strLen encoding:NSUTF8StringEncoding];\n                if (key)\n                {\n                    // Is there a given replacement for this key?\n                    \n                    id value = [replacementDict objectForKey:key];\n                    if (value)\n                    {\n                        // Found the replacement value.\n                        // Now perform the replacement in the buffer.\n                        \n                        HTTPLogVerbose(@\"%@[%p]: key(%@) -> value(%@)\", THIS_FILE, self, key, value);\n                        \n                        NSData *v = [[value description] dataUsingEncoding:NSUTF8StringEncoding];\n                        NSUInteger vLength = [v length];\n                        \n                        if (fullRange.length == vLength)\n                        {\n                            // Replacement is exactly the same size as what it is replacing\n                            \n                            // memcpy(void *restrict dst, const void *restrict src, size_t n);\n                            \n                            memcpy(readBuffer + fullRange.location, [v bytes], vLength);\n                        }\n                        else // (fullRange.length != vLength)\n                        {\n                            NSInteger diff = (NSInteger)vLength - (NSInteger)fullRange.length;\n                            \n                            if (diff > 0)\n                            {\n                                // Replacement is bigger than what it is replacing.\n                                // Make sure there is room in the buffer for the replacement.\n                                \n                                if (diff > (readBufferSize - bufLen))\n                                {\n                                    NSUInteger inc = MAX(diff, 256);\n                                    \n                                    readBufferSize += inc;\n                                    readBuffer = reallocf(readBuffer, readBufferSize);\n                                }\n                            }\n                            \n                            // Move the data that comes after the replacement.\n                            // \n                            // If replacement is smaller than what it is replacing,\n                            // then we are shifting the data toward the beginning of the buffer.\n                            // \n                            // If replacement is bigger than what it is replacing,\n                            // then we are shifting the data toward the end of the buffer.\n                            // \n                            // memmove(void *dst, const void *src, size_t n);\n                            // \n                            // The memmove() function copies n bytes from src to dst.\n                            // The two areas may overlap; the copy is always done in a non-destructive manner.\n                            \n                            void *src = readBuffer + fullRange.location + fullRange.length;\n                            void *dst = readBuffer + fullRange.location + vLength;\n                            \n                            NSUInteger remaining = bufLen - (fullRange.location + fullRange.length);\n                            \n                            memmove(dst, src, remaining);\n                            \n                            // Now copy the replacement into its location.\n                            // \n                            // memcpy(void *restrict dst, const void *restrict src, size_t n)\n                            // \n                            // The memcpy() function copies n bytes from src to dst.\n                            // If the two areas overlap, behavior is undefined.\n                            \n                            memcpy(readBuffer + fullRange.location, [v bytes], vLength);\n                            \n                            // And don't forget to update our indices.\n                            \n                            bufLen     += diff;\n                            offset     += diff;\n                            stopOffset += diff;\n                        }\n                    }\n                    \n                }\n                \n                found1 = found2 = NO;\n            }\n        }\n        else\n        {\n            offset++;\n        }\n    }\n    \n    // We've gone through our buffer now, and performed all the replacements that we could.\n    // It's now time to update the amount of available data we have.\n    \n    if (readOffset == fileLength)\n    {\n        // We've read in the entire file.\n        // So there can be no more replacements.\n        \n        data = [[NSData alloc] initWithBytes:readBuffer length:bufLen];\n        readBufferOffset = 0;\n    }\n    else\n    {\n        // There are a couple different situations that we need to take into account here.\n        // \n        // Imagine the following file:\n        // My name is %%USER_NAME%%\n        // \n        // Situation 1:\n        // The first chunk of data we read was \"My name is %%\".\n        // So we found the first separator, but not the second.\n        // In this case we can only return the data that precedes the first separator.\n        // \n        // Situation 2:\n        // The first chunk of data we read was \"My name is %\".\n        // So we didn't find any separators, but part of a separator may be included in our buffer.\n        \n        NSUInteger available;\n        if (found1)\n        {\n            // Situation 1\n            available = s1;\n        }\n        else\n        {\n            // Situation 2\n            available = stopOffset;\n        }\n        \n        // Copy available data\n        \n        data = [[NSData alloc] initWithBytes:readBuffer length:available];\n        \n        // Remove the copied data from the buffer.\n        // We do this by shifting the remaining data toward the beginning of the buffer.\n        \n        NSUInteger remaining = bufLen - available;\n        \n        memmove(readBuffer, readBuffer + available, remaining);\n        readBufferOffset = remaining;\n    }\n    \n    [connection responseHasAvailableData:self];\n}\n\n- (void)dealloc\n{\n    HTTPLogTrace();\n    \n    \n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPErrorResponse.h",
    "content": "#import \"HTTPResponse.h\"\n\n@interface HTTPErrorResponse : NSObject <HTTPResponse> {\n    NSInteger _status;\n}\n\n- (id)initWithErrorCode:(int)httpErrorCode;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPErrorResponse.m",
    "content": "#import \"HTTPErrorResponse.h\"\n\n@implementation HTTPErrorResponse\n\n-(id)initWithErrorCode:(int)httpErrorCode\n{\n    if ((self = [super init]))\n    {\n        _status = httpErrorCode;\n    }\n\n    return self;\n}\n\n- (UInt64) contentLength {\n    return 0;\n}\n\n- (UInt64) offset {\n    return 0;\n}\n\n- (void)setOffset:(UInt64)offset {\n    ;\n}\n\n- (NSData*) readDataOfLength:(NSUInteger)length {\n    return nil;\n}\n\n- (BOOL) isDone {\n    return YES;\n}\n\n- (NSInteger) status {\n    return _status;\n}\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPFileResponse.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"HTTPResponse.h\"\n\n@class HTTPConnection;\n\n\n@interface HTTPFileResponse : NSObject <HTTPResponse>\n{\n    HTTPConnection *connection;\n    \n    NSString *filePath;\n    UInt64 fileLength;\n    UInt64 fileOffset;\n    \n    BOOL aborted;\n    \n    int fileFD;\n    void *buffer;\n    NSUInteger bufferSize;\n}\n\n- (id)initWithFilePath:(NSString *)filePath forConnection:(HTTPConnection *)connection;\n- (NSString *)filePath;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPFileResponse.m",
    "content": "#import \"HTTPFileResponse.h\"\n#import \"HTTPConnection.h\"\n#import \"HTTPLogging.h\"\n\n#import <unistd.h>\n#import <fcntl.h>\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// Log levels : off, error, warn, info, verbose\n// Other flags: trace\nstatic const DDLogLevel httpLogLevel = DDLogLevelWarning; // | HTTP_LOG_FLAG_TRACE;\n\n#define NULL_FD  -1\n\n\n@implementation HTTPFileResponse\n\n- (id)initWithFilePath:(NSString *)fpath forConnection:(HTTPConnection *)parent\n{\n    if((self = [super init]))\n    {\n        HTTPLogTrace();\n        \n        connection = parent; // Parents retain children, children do NOT retain parents\n        \n        fileFD = NULL_FD;\n        filePath = [[fpath copy] stringByResolvingSymlinksInPath];\n        if (filePath == nil)\n        {\n            HTTPLogWarn(@\"%@: Init failed - Nil filePath\", THIS_FILE);\n            \n            return nil;\n        }\n        \n        NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil];\n        if (fileAttributes == nil)\n        {\n            HTTPLogWarn(@\"%@: Init failed - Unable to get file attributes. filePath: %@\", THIS_FILE, filePath);\n            \n            return nil;\n        }\n        \n        fileLength = (UInt64)[[fileAttributes objectForKey:NSFileSize] unsignedLongLongValue];\n        fileOffset = 0;\n        \n        aborted = NO;\n        \n        // We don't bother opening the file here.\n        // If this is a HEAD request we only need to know the fileLength.\n    }\n    return self;\n}\n\n- (void)abort\n{\n    HTTPLogTrace();\n    \n    [connection responseDidAbort:self];\n    aborted = YES;\n}\n\n- (BOOL)openFile\n{\n    HTTPLogTrace();\n    \n    fileFD = open([filePath UTF8String], O_RDONLY);\n    if (fileFD == NULL_FD)\n    {\n        HTTPLogError(@\"%@[%p]: Unable to open file. filePath: %@\", THIS_FILE, self, filePath);\n        \n        [self abort];\n        return NO;\n    }\n    \n    HTTPLogVerbose(@\"%@[%p]: Open fd[%i] -> %@\", THIS_FILE, self, fileFD, filePath);\n    \n    return YES;\n}\n\n- (BOOL)openFileIfNeeded\n{\n    if (aborted)\n    {\n        // The file operation has been aborted.\n        // This could be because we failed to open the file,\n        // or the reading process failed.\n        return NO;\n    }\n    \n    if (fileFD != NULL_FD)\n    {\n        // File has already been opened.\n        return YES;\n    }\n    \n    return [self openFile];\n}\n\n- (UInt64)contentLength\n{\n    HTTPLogTrace();\n    \n    return fileLength;\n}\n\n- (UInt64)offset\n{\n    HTTPLogTrace();\n    \n    return fileOffset;\n}\n\n- (void)setOffset:(UInt64)offset\n{\n    HTTPLogTrace2(@\"%@[%p]: setOffset:%llu\", THIS_FILE, self, offset);\n    \n    if (![self openFileIfNeeded])\n    {\n        // File opening failed,\n        // or response has been aborted due to another error.\n        return;\n    }\n    \n    fileOffset = offset;\n    \n    off_t result = lseek(fileFD, (off_t)offset, SEEK_SET);\n    if (result == -1)\n    {\n        HTTPLogError(@\"%@[%p]: lseek failed - errno(%i) filePath(%@)\", THIS_FILE, self, errno, filePath);\n        \n        [self abort];\n    }\n}\n\n- (NSData *)readDataOfLength:(NSUInteger)length\n{\n    HTTPLogTrace2(@\"%@[%p]: readDataOfLength:%lu\", THIS_FILE, self, (unsigned long)length);\n    \n    if (![self openFileIfNeeded])\n    {\n        // File opening failed,\n        // or response has been aborted due to another error.\n        return nil;\n    }\n    \n    // Determine how much data we should read.\n    // \n    // It is OK if we ask to read more bytes than exist in the file.\n    // It is NOT OK to over-allocate the buffer.\n    \n    UInt64 bytesLeftInFile = fileLength - fileOffset;\n    \n    NSUInteger bytesToRead = (NSUInteger)MIN(length, bytesLeftInFile);\n    \n    // Make sure buffer is big enough for read request.\n    // Do not over-allocate.\n    \n    if (buffer == NULL || bufferSize < bytesToRead)\n    {\n        bufferSize = bytesToRead;\n        buffer = reallocf(buffer, (size_t)bufferSize);\n        \n        if (buffer == NULL)\n        {\n            HTTPLogError(@\"%@[%p]: Unable to allocate buffer\", THIS_FILE, self);\n            \n            [self abort];\n            return nil;\n        }\n    }\n    \n    // Perform the read\n    \n    HTTPLogVerbose(@\"%@[%p]: Attempting to read %lu bytes from file\", THIS_FILE, self, (unsigned long)bytesToRead);\n    \n    ssize_t result = read(fileFD, buffer, bytesToRead);\n    \n    // Check the results\n    \n    if (result < 0)\n    {\n        HTTPLogError(@\"%@: Error(%i) reading file(%@)\", THIS_FILE, errno, filePath);\n        \n        [self abort];\n        return nil;\n    }\n    else if (result == 0)\n    {\n        HTTPLogError(@\"%@: Read EOF on file(%@)\", THIS_FILE, filePath);\n        \n        [self abort];\n        return nil;\n    }\n    else // (result > 0)\n    {\n        HTTPLogVerbose(@\"%@[%p]: Read %ld bytes from file\", THIS_FILE, self, (long)result);\n        \n        fileOffset += result;\n        \n        return [NSData dataWithBytes:buffer length:result];\n    }\n}\n\n- (BOOL)isDone\n{\n    BOOL result = (fileOffset == fileLength);\n    \n    HTTPLogTrace2(@\"%@[%p]: isDone - %@\", THIS_FILE, self, (result ? @\"YES\" : @\"NO\"));\n    \n    return result;\n}\n\n- (NSString *)filePath\n{\n    return filePath;\n}\n\n- (void)dealloc\n{\n    HTTPLogTrace();\n    \n    if (fileFD != NULL_FD)\n    {\n        HTTPLogVerbose(@\"%@[%p]: Close fd[%i]\", THIS_FILE, self, fileFD);\n        \n        close(fileFD);\n    }\n    \n    if (buffer)\n        free(buffer);\n    \n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPRedirectResponse.h",
    "content": "#import <Foundation/Foundation.h>\n#import \"HTTPResponse.h\"\n\n\n@interface HTTPRedirectResponse : NSObject <HTTPResponse>\n{\n    NSString *redirectPath;\n}\n\n- (id)initWithPath:(NSString *)redirectPath;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/Responses/HTTPRedirectResponse.m",
    "content": "#import \"HTTPRedirectResponse.h\"\n#import \"HTTPLogging.h\"\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// Log levels : off, error, warn, info, verbose\n// Other flags: trace\nstatic const DDLogLevel httpLogLevel = DDLogLevelOff; // | HTTP_LOG_FLAG_TRACE;\n\n\n@implementation HTTPRedirectResponse\n\n- (id)initWithPath:(NSString *)path\n{\n    if ((self = [super init]))\n    {\n        HTTPLogTrace();\n        \n        redirectPath = [path copy];\n    }\n    return self;\n}\n\n- (UInt64)contentLength\n{\n    return 0;\n}\n\n- (UInt64)offset\n{\n    return 0;\n}\n\n- (void)setOffset:(UInt64)offset\n{\n    // Nothing to do\n}\n\n- (NSData *)readDataOfLength:(NSUInteger)length\n{\n    HTTPLogTrace();\n    \n    return nil;\n}\n\n- (BOOL)isDone\n{\n    return YES;\n}\n\n- (NSDictionary *)httpHeaders\n{\n    HTTPLogTrace();\n    \n    return [NSDictionary dictionaryWithObject:redirectPath forKey:@\"Location\"];\n}\n\n- (NSInteger)status\n{\n    HTTPLogTrace();\n    \n    return 302;\n}\n\n- (void)dealloc\n{\n    HTTPLogTrace();\n    \n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/WebSocket.h",
    "content": "#import <Foundation/Foundation.h>\n\n@class HTTPMessage;\n@class GCDAsyncSocket;\n\n\n#define WebSocketDidDieNotification  @\"WebSocketDidDie\"\n\n@interface WebSocket : NSObject\n{\n    dispatch_queue_t websocketQueue;\n    \n    HTTPMessage *request;\n    GCDAsyncSocket *asyncSocket;\n    \n    NSData *term;\n    \n    BOOL isStarted;\n    BOOL isOpen;\n    BOOL isVersion76;\n    \n    id __unsafe_unretained delegate;\n}\n\n+ (BOOL)isWebSocketRequest:(HTTPMessage *)request;\n\n- (id)initWithRequest:(HTTPMessage *)request socket:(GCDAsyncSocket *)socket;\n\n/**\n * Delegate option.\n * \n * In most cases it will be easier to subclass WebSocket,\n * but some circumstances may lead one to prefer standard delegate callbacks instead.\n**/\n@property (/* atomic */ unsafe_unretained) id delegate;\n\n/**\n * The WebSocket class is thread-safe, generally via it's GCD queue.\n * All public API methods are thread-safe,\n * and the subclass API methods are thread-safe as they are all invoked on the same GCD queue.\n**/\n@property (nonatomic, readonly) dispatch_queue_t websocketQueue;\n\n/**\n * Public API\n * \n * These methods are automatically called by the HTTPServer.\n * You may invoke the stop method yourself to close the WebSocket manually.\n**/\n- (void)start;\n- (void)stop;\n\n/**\n * Public API\n *\n * Sends a message over the WebSocket.\n * This method is thread-safe.\n **/\n- (void)sendMessage:(NSString *)msg;\n\n/**\n * Public API\n *\n * Sends a message over the WebSocket.\n * This method is thread-safe.\n **/\n- (void)sendData:(NSData *)msg;\n\n/**\n * Subclass API\n * \n * These methods are designed to be overriden by subclasses.\n**/\n- (void)didOpen;\n- (void)didReceiveMessage:(NSString *)msg;\n- (void)didClose;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * There are two ways to create your own custom WebSocket:\n * \n * - Subclass it and override the methods you're interested in.\n * - Use traditional delegate paradigm along with your own custom class.\n * \n * They both exist to allow for maximum flexibility.\n * In most cases it will be easier to subclass WebSocket.\n * However some circumstances may lead one to prefer standard delegate callbacks instead.\n * One such example, you're already subclassing another class, so subclassing WebSocket isn't an option.\n**/\n\n@protocol WebSocketDelegate\n@optional\n\n- (void)webSocketDidOpen:(WebSocket *)ws;\n\n- (void)webSocket:(WebSocket *)ws didReceiveMessage:(NSString *)msg;\n\n- (void)webSocketDidClose:(WebSocket *)ws;\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Vendor/CocoaHTTPServer/WebSocket.m",
    "content": "#import \"WebSocket.h\"\n#import \"HTTPMessage.h\"\n#import \"GCDAsyncSocket.h\"\n#import \"DDNumber.h\"\n#import \"DDData.h\"\n#import \"HTTPLogging.h\"\n\n#if ! __has_feature(objc_arc)\n#warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).\n#endif\n\n// Does ARC support support GCD objects?\n// It does if the minimum deployment target is iOS 6+ or Mac OS X 8+\n\n#if TARGET_OS_IPHONE\n\n  // Compiling for iOS\n\n  #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000 // iOS 6.0 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else                                         // iOS 5.X or earlier\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1\n  #endif\n\n#else\n\n  // Compiling for Mac OS X\n\n  #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080     // Mac OS X 10.8 or later\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 0\n  #else\n    #define NEEDS_DISPATCH_RETAIN_RELEASE 1     // Mac OS X 10.7 or earlier\n  #endif\n\n#endif\n\n// Log levels: off, error, warn, info, verbose\n// Other flags : trace\nstatic const DDLogLevel httpLogLevel = DDLogLevelWarning; // | HTTP_LOG_FLAG_TRACE;\n\n#define TIMEOUT_NONE          -1\n#define TIMEOUT_REQUEST_BODY  10\n\n#define TAG_HTTP_REQUEST_BODY      100\n#define TAG_HTTP_RESPONSE_HEADERS  200\n#define TAG_HTTP_RESPONSE_BODY     201\n\n#define TAG_PREFIX                 300\n#define TAG_MSG_PLUS_SUFFIX        301\n#define TAG_MSG_WITH_LENGTH        302\n#define TAG_MSG_MASKING_KEY        303\n#define TAG_PAYLOAD_PREFIX         304\n#define TAG_PAYLOAD_LENGTH         305\n#define TAG_PAYLOAD_LENGTH16       306\n#define TAG_PAYLOAD_LENGTH64       307\n\n#define WS_OP_CONTINUATION_FRAME   0\n#define WS_OP_TEXT_FRAME           1\n#define WS_OP_BINARY_FRAME         2\n#define WS_OP_CONNECTION_CLOSE     8\n#define WS_OP_PING                 9\n#define WS_OP_PONG                 10\n\nstatic inline BOOL WS_OP_IS_FINAL_FRAGMENT(UInt8 frame)\n{\n    return (frame & 0x80) ? YES : NO;\n}\n\nstatic inline BOOL WS_PAYLOAD_IS_MASKED(UInt8 frame)\n{\n    return (frame & 0x80) ? YES : NO;\n}\n\nstatic inline NSUInteger WS_PAYLOAD_LENGTH(UInt8 frame)\n{\n    return frame & 0x7F;\n}\n\n@interface WebSocket (PrivateAPI)\n\n- (void)readRequestBody;\n- (void)sendResponseBody;\n- (void)sendResponseHeaders;\n\n@end\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark -\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@implementation WebSocket\n{\n    BOOL isRFC6455;\n    BOOL nextFrameMasked;\n    NSUInteger nextOpCode;\n    NSData *maskingKey;\n}\n\n+ (BOOL)isWebSocketRequest:(HTTPMessage *)request\n{\n    // Request (Draft 75):\n    // \n    // GET /demo HTTP/1.1\n    // Upgrade: WebSocket\n    // Connection: Upgrade\n    // Host: example.com\n    // Origin: http://example.com\n    // WebSocket-Protocol: sample\n    // \n    // \n    // Request (Draft 76):\n    //\n    // GET /demo HTTP/1.1\n    // Upgrade: WebSocket\n    // Connection: Upgrade\n    // Host: example.com\n    // Origin: http://example.com\n    // Sec-WebSocket-Protocol: sample\n    // Sec-WebSocket-Key1: 4 @1  46546xW%0l 1 5\n    // Sec-WebSocket-Key2: 12998 5 Y3 1  .P00\n    // \n    // ^n:ds[4U\n    \n    // Look for Upgrade: and Connection: headers.\n    // If we find them, and they have the proper value,\n    // we can safely assume this is a websocket request.\n    \n    NSString *upgradeHeaderValue = [request headerField:@\"Upgrade\"];\n    NSString *connectionHeaderValue = [request headerField:@\"Connection\"];\n    \n    BOOL isWebSocket = YES;\n    \n    if (!upgradeHeaderValue || !connectionHeaderValue) {\n        isWebSocket = NO;\n    }\n    else if (!([upgradeHeaderValue caseInsensitiveCompare:@\"WebSocket\"] == NSOrderedSame)) {\n        isWebSocket = NO;\n    }\n    else if ([connectionHeaderValue rangeOfString:@\"Upgrade\" options:NSCaseInsensitiveSearch].location == NSNotFound) {\n        isWebSocket = NO;\n    }\n    \n    HTTPLogTrace2(@\"%@: %@ - %@\", THIS_FILE, THIS_METHOD, (isWebSocket ? @\"YES\" : @\"NO\"));\n    \n    return isWebSocket;\n}\n\n+ (BOOL)isVersion76Request:(HTTPMessage *)request\n{\n    NSString *key1 = [request headerField:@\"Sec-WebSocket-Key1\"];\n    NSString *key2 = [request headerField:@\"Sec-WebSocket-Key2\"];\n    \n    BOOL isVersion76;\n    \n    if (!key1 || !key2) {\n        isVersion76 = NO;\n    }\n    else {\n        isVersion76 = YES;\n    }\n    \n    HTTPLogTrace2(@\"%@: %@ - %@\", THIS_FILE, THIS_METHOD, (isVersion76 ? @\"YES\" : @\"NO\"));\n    \n    return isVersion76;\n}\n\n+ (BOOL)isRFC6455Request:(HTTPMessage *)request\n{\n    NSString *key = [request headerField:@\"Sec-WebSocket-Key\"];\n    BOOL isRFC6455 = (key != nil);\n\n    HTTPLogTrace2(@\"%@: %@ - %@\", THIS_FILE, THIS_METHOD, (isRFC6455 ? @\"YES\" : @\"NO\"));\n\n    return isRFC6455;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Setup and Teardown\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n@synthesize websocketQueue;\n\n- (id)initWithRequest:(HTTPMessage *)aRequest socket:(GCDAsyncSocket *)socket\n{\n    HTTPLogTrace();\n    \n    if (aRequest == nil)\n    {\n        return nil;\n    }\n    \n    if ((self = [super init]))\n    {\n        if (httpLogLevel & DDLogFlagVerbose)\n        {\n            NSData *requestHeaders = [aRequest messageData];\n            \n            NSString *temp = [[NSString alloc] initWithData:requestHeaders encoding:NSUTF8StringEncoding];\n            HTTPLogVerbose(@\"%@[%p] Request Headers:\\n%@\", THIS_FILE, self, temp);\n        }\n        \n        websocketQueue = dispatch_queue_create(\"WebSocket\", NULL);\n        request = aRequest;\n        \n        asyncSocket = socket;\n        [asyncSocket setDelegate:self delegateQueue:websocketQueue];\n        \n        isOpen = NO;\n        isVersion76 = [[self class] isVersion76Request:request];\n        isRFC6455 = [[self class] isRFC6455Request:request];\n        \n        term = [[NSData alloc] initWithBytes:\"\\xFF\" length:1];\n    }\n    return self;\n}\n\n- (void)dealloc\n{\n    HTTPLogTrace();\n    \n    #if NEEDS_DISPATCH_RETAIN_RELEASE\n    dispatch_release(websocketQueue);\n    #endif\n    \n    [asyncSocket setDelegate:nil delegateQueue:NULL];\n    [asyncSocket disconnect];\n}\n\n- (id)delegate\n{\n    __block id result = nil;\n    \n    dispatch_sync(websocketQueue, ^{\n        result = delegate;\n    });\n    \n    return result;\n}\n\n- (void)setDelegate:(id)newDelegate\n{\n    dispatch_async(websocketQueue, ^{\n        delegate = newDelegate;\n    });\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Start and Stop\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Starting point for the WebSocket after it has been fully initialized (including subclasses).\n * This method is called by the HTTPConnection it is spawned from.\n**/\n- (void)start\n{\n    // This method is not exactly designed to be overriden.\n    // Subclasses are encouraged to override the didOpen method instead.\n    \n    dispatch_async(websocketQueue, ^{ @autoreleasepool {\n        \n        if (isStarted) return;\n        isStarted = YES;\n        \n        if (isVersion76)\n        {\n            [self readRequestBody];\n        }\n        else\n        {\n            [self sendResponseHeaders];\n            [self didOpen];\n        }\n    }});\n}\n\n/**\n * This method is called by the HTTPServer if it is asked to stop.\n * The server, in turn, invokes stop on each WebSocket instance.\n**/\n- (void)stop\n{\n    // This method is not exactly designed to be overriden.\n    // Subclasses are encouraged to override the didClose method instead.\n    \n    dispatch_async(websocketQueue, ^{ @autoreleasepool {\n        \n        [asyncSocket disconnect];\n    }});\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark HTTP Response\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)readRequestBody\n{\n    HTTPLogTrace();\n    \n    NSAssert(isVersion76, @\"WebSocket version 75 doesn't contain a request body\");\n    \n    [asyncSocket readDataToLength:8 withTimeout:TIMEOUT_NONE tag:TAG_HTTP_REQUEST_BODY];\n}\n\n- (NSString *)originResponseHeaderValue\n{\n    HTTPLogTrace();\n    \n    NSString *origin = [request headerField:@\"Origin\"];\n    \n    if (origin == nil)\n    {\n        NSString *port = [NSString stringWithFormat:@\"%hu\", [asyncSocket localPort]];\n        \n        return [NSString stringWithFormat:@\"http://localhost:%@\", port];\n    }\n    else\n    {\n        return origin;\n    }\n}\n\n- (NSString *)locationResponseHeaderValue\n{\n    HTTPLogTrace();\n    \n    NSString *location;\n    \n    NSString *scheme = [asyncSocket isSecure] ? @\"wss\" : @\"ws\";\n    NSString *host = [request headerField:@\"Host\"];\n    \n    NSString *requestUri = [[request url] relativeString];\n    \n    if (host == nil)\n    {\n        NSString *port = [NSString stringWithFormat:@\"%hu\", [asyncSocket localPort]];\n        \n        location = [NSString stringWithFormat:@\"%@://localhost:%@%@\", scheme, port, requestUri];\n    }\n    else\n    {\n        location = [NSString stringWithFormat:@\"%@://%@%@\", scheme, host, requestUri];\n    }\n    \n    return location;\n}\n\n- (NSString *)secWebSocketKeyResponseHeaderValue {\n    NSString *key = [request headerField: @\"Sec-WebSocket-Key\"];\n    NSString *guid = @\"258EAFA5-E914-47DA-95CA-C5AB0DC85B11\";\n    return [[key stringByAppendingString: guid] dataUsingEncoding: NSUTF8StringEncoding].sha1Digest.base64Encoded;\n}\n\n- (void)sendResponseHeaders\n{\n    HTTPLogTrace();\n    \n    // Request (Draft 75):\n    // \n    // GET /demo HTTP/1.1\n    // Upgrade: WebSocket\n    // Connection: Upgrade\n    // Host: example.com\n    // Origin: http://example.com\n    // WebSocket-Protocol: sample\n    // \n    // \n    // Request (Draft 76):\n    //\n    // GET /demo HTTP/1.1\n    // Upgrade: WebSocket\n    // Connection: Upgrade\n    // Host: example.com\n    // Origin: http://example.com\n    // Sec-WebSocket-Protocol: sample\n    // Sec-WebSocket-Key2: 12998 5 Y3 1  .P00\n    // Sec-WebSocket-Key1: 4 @1  46546xW%0l 1 5\n    // \n    // ^n:ds[4U\n\n    \n    // Response (Draft 75):\n    // \n    // HTTP/1.1 101 Web Socket Protocol Handshake\n    // Upgrade: WebSocket\n    // Connection: Upgrade\n    // WebSocket-Origin: http://example.com\n    // WebSocket-Location: ws://example.com/demo\n    // WebSocket-Protocol: sample\n    // \n    // \n    // Response (Draft 76):\n    //\n    // HTTP/1.1 101 WebSocket Protocol Handshake\n    // Upgrade: WebSocket\n    // Connection: Upgrade\n    // Sec-WebSocket-Origin: http://example.com\n    // Sec-WebSocket-Location: ws://example.com/demo\n    // Sec-WebSocket-Protocol: sample\n    // \n    // 8jKS'y:G*Co,Wxa-\n\n    \n    HTTPMessage *wsResponse = [[HTTPMessage alloc] initResponseWithStatusCode:101\n                                                                  description:@\"Web Socket Protocol Handshake\"\n                                                                      version:HTTPVersion1_1];\n    \n    [wsResponse setHeaderField:@\"Upgrade\" value:@\"WebSocket\"];\n    [wsResponse setHeaderField:@\"Connection\" value:@\"Upgrade\"];\n    \n    // Note: It appears that WebSocket-Origin and WebSocket-Location\n    // are required for Google's Chrome implementation to work properly.\n    // \n    // If we don't send either header, Chrome will never report the WebSocket as open.\n    // If we only send one of the two, Chrome will immediately close the WebSocket.\n    // \n    // In addition to this it appears that Chrome's implementation is very picky of the values of the headers.\n    // They have to match exactly with what Chrome sent us or it will close the WebSocket.\n    \n    NSString *originValue = [self originResponseHeaderValue];\n    NSString *locationValue = [self locationResponseHeaderValue];\n    \n    NSString *originField = isVersion76 ? @\"Sec-WebSocket-Origin\" : @\"WebSocket-Origin\";\n    NSString *locationField = isVersion76 ? @\"Sec-WebSocket-Location\" : @\"WebSocket-Location\";\n    \n    [wsResponse setHeaderField:originField value:originValue];\n    [wsResponse setHeaderField:locationField value:locationValue];\n    \n    NSString *acceptValue = [self secWebSocketKeyResponseHeaderValue];\n    if (acceptValue) {\n        [wsResponse setHeaderField: @\"Sec-WebSocket-Accept\" value: acceptValue];\n    }\n\n    NSData *responseHeaders = [wsResponse messageData];\n    \n    \n    if (httpLogLevel & DDLogFlagVerbose)\n    {\n        NSString *temp = [[NSString alloc] initWithData:responseHeaders encoding:NSUTF8StringEncoding];\n        HTTPLogVerbose(@\"%@[%p] Response Headers:\\n%@\", THIS_FILE, self, temp);\n    }\n    \n    [asyncSocket writeData:responseHeaders withTimeout:TIMEOUT_NONE tag:TAG_HTTP_RESPONSE_HEADERS];\n}\n\n- (NSData *)processKey:(NSString *)key\n{\n    HTTPLogTrace();\n    \n    unichar c;\n    NSUInteger i;\n    NSUInteger length = [key length];\n    \n    // Concatenate the digits into a string,\n    // and count the number of spaces.\n    \n    NSMutableString *numStr = [NSMutableString stringWithCapacity:10];\n    long long numSpaces = 0;\n    \n    for (i = 0; i < length; i++)\n    {\n        c = [key characterAtIndex:i];\n        \n        if (c >= '0' && c <= '9')\n        {\n            [numStr appendFormat:@\"%C\", c];\n        }\n        else if (c == ' ')\n        {\n            numSpaces++;\n        }\n    }\n    \n    long long num = strtoll([numStr UTF8String], NULL, 10);\n    \n    long long resultHostNum;\n    \n    if (numSpaces == 0)\n        resultHostNum = 0;\n    else\n        resultHostNum = num / numSpaces;\n    \n    HTTPLogVerbose(@\"key(%@) -> %qi / %qi = %qi\", key, num, numSpaces, resultHostNum);\n    \n    // Convert result to 4 byte big-endian (network byte order)\n    // and then convert to raw data.\n    \n    UInt32 result = OSSwapHostToBigInt32((uint32_t)resultHostNum);\n    \n    return [NSData dataWithBytes:&result length:4];\n}\n\n- (void)sendResponseBody:(NSData *)d3\n{\n    HTTPLogTrace();\n    \n    NSAssert(isVersion76, @\"WebSocket version 75 doesn't contain a response body\");\n    NSAssert([d3 length] == 8, @\"Invalid requestBody length\");\n    \n    NSString *key1 = [request headerField:@\"Sec-WebSocket-Key1\"];\n    NSString *key2 = [request headerField:@\"Sec-WebSocket-Key2\"];\n    \n    NSData *d1 = [self processKey:key1];\n    NSData *d2 = [self processKey:key2];\n    \n    // Concatenated d1, d2 & d3\n    \n    NSMutableData *d0 = [NSMutableData dataWithCapacity:(4+4+8)];\n    [d0 appendData:d1];\n    [d0 appendData:d2];\n    [d0 appendData:d3];\n    \n    // Hash the data using MD5\n    \n    NSData *responseBody = [d0 md5Digest];\n    \n    [asyncSocket writeData:responseBody withTimeout:TIMEOUT_NONE tag:TAG_HTTP_RESPONSE_BODY];\n    \n    if (httpLogLevel & DDLogFlagVerbose)\n    {\n        NSString *s1 = [[NSString alloc] initWithData:d1 encoding:NSASCIIStringEncoding];\n        NSString *s2 = [[NSString alloc] initWithData:d2 encoding:NSASCIIStringEncoding];\n        NSString *s3 = [[NSString alloc] initWithData:d3 encoding:NSASCIIStringEncoding];\n        \n        NSString *s0 = [[NSString alloc] initWithData:d0 encoding:NSASCIIStringEncoding];\n        \n        NSString *sH = [[NSString alloc] initWithData:responseBody encoding:NSASCIIStringEncoding];\n        \n        HTTPLogVerbose(@\"key1 result : raw(%@) str(%@)\", d1, s1);\n        HTTPLogVerbose(@\"key2 result : raw(%@) str(%@)\", d2, s2);\n        HTTPLogVerbose(@\"key3 passed : raw(%@) str(%@)\", d3, s3);\n        HTTPLogVerbose(@\"key0 concat : raw(%@) str(%@)\", d0, s0);\n        HTTPLogVerbose(@\"responseBody: raw(%@) str(%@)\", responseBody, sH);\n        \n    }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark Core Functionality\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n- (void)didOpen\n{\n    HTTPLogTrace();\n    \n    // Override me to perform any custom actions once the WebSocket has been opened.\n    // This method is invoked on the websocketQueue.\n    // \n    // Don't forget to invoke [super didOpen] in your method.\n    \n    // Start reading for messages\n    [asyncSocket readDataToLength:1 withTimeout:TIMEOUT_NONE tag:(isRFC6455 ? TAG_PAYLOAD_PREFIX : TAG_PREFIX)];\n    \n    // Notify delegate\n    if ([delegate respondsToSelector:@selector(webSocketDidOpen:)])\n    {\n        [delegate webSocketDidOpen:self];\n    }\n}\n\n- (void)sendMessage:(NSString *)msg\n{   \n    NSData *msgData = [msg dataUsingEncoding:NSUTF8StringEncoding];\n    [self sendData:msgData];\n}\n\n- (void)sendData:(NSData *)msgData\n{\n    HTTPLogTrace();\n    \n    NSMutableData *data = nil;\n    \n    if (isRFC6455)\n    {\n        NSUInteger length = msgData.length;\n        if (length <= 125)\n        {\n            data = [NSMutableData dataWithCapacity:(length + 2)];\n            [data appendBytes: \"\\x81\" length:1];\n            UInt8 len = (UInt8)length;\n            [data appendBytes: &len length:1];\n            [data appendData:msgData];\n        }\n        else if (length <= 0xFFFF)\n        {\n            data = [NSMutableData dataWithCapacity:(length + 4)];\n            [data appendBytes: \"\\x81\\x7E\" length:2];\n            UInt16 len = (UInt16)length;\n            [data appendBytes: (UInt8[]){len >> 8, len & 0xFF} length:2];\n            [data appendData:msgData];\n        }\n        else\n        {\n            data = [NSMutableData dataWithCapacity:(length + 10)];\n            [data appendBytes: \"\\x81\\x7F\" length:2];\n            [data appendBytes: (UInt8[]){0, 0, 0, 0, (UInt8)(length >> 24), (UInt8)(length >> 16), (UInt8)(length >> 8), length & 0xFF} length:8];\n            [data appendData:msgData];\n        }\n    }\n    else\n    {\n        data = [NSMutableData dataWithCapacity:([msgData length] + 2)];\n        \n        [data appendBytes:\"\\x00\" length:1];\n        [data appendData:msgData];\n        [data appendBytes:\"\\xFF\" length:1];\n    }\n    \n    // Remember: GCDAsyncSocket is thread-safe\n    \n    [asyncSocket writeData:data withTimeout:TIMEOUT_NONE tag:0];\n}\n\n- (void)didReceiveMessage:(NSString *)msg\n{\n    HTTPLogTrace();\n    \n    // Override me to process incoming messages.\n    // This method is invoked on the websocketQueue.\n    // \n    // For completeness, you should invoke [super didReceiveMessage:msg] in your method.\n    \n    // Notify delegate\n    if ([delegate respondsToSelector:@selector(webSocket:didReceiveMessage:)])\n    {\n        [delegate webSocket:self didReceiveMessage:msg];\n    }\n}\n\n- (void)didClose\n{\n    HTTPLogTrace();\n    \n    // Override me to perform any cleanup when the socket is closed\n    // This method is invoked on the websocketQueue.\n    // \n    // Don't forget to invoke [super didClose] at the end of your method.\n    \n    // Notify delegate\n    if ([delegate respondsToSelector:@selector(webSocketDidClose:)])\n    {\n        [delegate webSocketDidClose:self];\n    }\n    \n    // Notify HTTPServer\n    [[NSNotificationCenter defaultCenter] postNotificationName:WebSocketDidDieNotification object:self];\n}\n\n#pragma mark WebSocket Frame\n\n- (BOOL)isValidWebSocketFrame:(UInt8)frame\n{\n    NSUInteger rsv =  frame & 0x70;\n    NSUInteger opcode = frame & 0x0F;\n    if (rsv || (3 <= opcode && opcode <= 7) || (0xB <= opcode && opcode <= 0xF))\n    {\n        return NO;\n    }\n    return YES;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#pragma mark AsyncSocket Delegate\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// 0                   1                   2                   3\n// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n// +-+-+-+-+-------+-+-------------+-------------------------------+\n// |F|R|R|R| opcode|M| Payload len |    Extended payload length    |\n// |I|S|S|S|  (4)  |A|     (7)     |             (16/64)           |\n// |N|V|V|V|       |S|             |   (if payload len==126/127)   |\n// | |1|2|3|       |K|             |                               |\n// +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +\n// |     Extended payload length continued, if payload len == 127  |\n// + - - - - - - - - - - - - - - - +-------------------------------+\n// |                               |Masking-key, if MASK set to 1  |\n// +-------------------------------+-------------------------------+\n// | Masking-key (continued)       |          Payload Data         |\n// +-------------------------------- - - - - - - - - - - - - - - - +\n// :                     Payload Data continued ...                :\n// + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +\n// |                     Payload Data continued ...                |\n// +---------------------------------------------------------------+\n\n- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag\n{\n    HTTPLogTrace();\n    \n    if (tag == TAG_HTTP_REQUEST_BODY)\n    {\n        [self sendResponseHeaders];\n        [self sendResponseBody:data];\n        [self didOpen];\n    }\n    else if (tag == TAG_PREFIX)\n    {\n        UInt8 *pFrame = (UInt8 *)[data bytes];\n        UInt8 frame = *pFrame;\n        \n        if (frame <= 0x7F)\n        {\n            [asyncSocket readDataToData:term withTimeout:TIMEOUT_NONE tag:TAG_MSG_PLUS_SUFFIX];\n        }\n        else\n        {\n            // Unsupported frame type\n            [self didClose];\n        }\n    }\n    else if (tag == TAG_PAYLOAD_PREFIX)\n    {\n        UInt8 *pFrame = (UInt8 *)[data bytes];\n        UInt8 frame = *pFrame;\n\n        if ([self isValidWebSocketFrame: frame])\n        {\n            nextOpCode = (frame & 0x0F);\n            [asyncSocket readDataToLength:1 withTimeout:TIMEOUT_NONE tag:TAG_PAYLOAD_LENGTH];\n        }\n        else\n        {\n            // Unsupported frame type\n            [self didClose];\n        }\n    }\n    else if (tag == TAG_PAYLOAD_LENGTH)\n    {\n        UInt8 frame = *(UInt8 *)[data bytes];\n        BOOL masked = WS_PAYLOAD_IS_MASKED(frame);\n        NSUInteger length = WS_PAYLOAD_LENGTH(frame);\n        nextFrameMasked = masked;\n        maskingKey = nil;\n        if (length <= 125)\n        {\n            if (nextFrameMasked)\n            {\n                [asyncSocket readDataToLength:4 withTimeout:TIMEOUT_NONE tag:TAG_MSG_MASKING_KEY];\n            }\n            [asyncSocket readDataToLength:length withTimeout:TIMEOUT_NONE tag:TAG_MSG_WITH_LENGTH];\n        }\n        else if (length == 126)\n        {\n            [asyncSocket readDataToLength:2 withTimeout:TIMEOUT_NONE tag:TAG_PAYLOAD_LENGTH16];\n        }\n        else\n        {\n            [asyncSocket readDataToLength:8 withTimeout:TIMEOUT_NONE tag:TAG_PAYLOAD_LENGTH64];\n        }\n    }\n    else if (tag == TAG_PAYLOAD_LENGTH16)\n    {\n        UInt8 *pFrame = (UInt8 *)[data bytes];\n        NSUInteger length = ((NSUInteger)pFrame[0] << 8) | (NSUInteger)pFrame[1];\n        if (nextFrameMasked) {\n            [asyncSocket readDataToLength:4 withTimeout:TIMEOUT_NONE tag:TAG_MSG_MASKING_KEY];\n        }\n        [asyncSocket readDataToLength:length withTimeout:TIMEOUT_NONE tag:TAG_MSG_WITH_LENGTH];\n    }\n    else if (tag == TAG_PAYLOAD_LENGTH64)\n    {\n        // FIXME: 64bit data size in memory?\n        [self didClose];\n    }\n    else if (tag == TAG_MSG_WITH_LENGTH)\n    {\n        NSUInteger msgLength = [data length];\n        if (nextFrameMasked && maskingKey) {\n            NSMutableData *masked = data.mutableCopy;\n            UInt8 *pData = (UInt8 *)masked.mutableBytes;\n            UInt8 *pMask = (UInt8 *)maskingKey.bytes;\n            for (NSUInteger i = 0; i < msgLength; i++)\n            {\n                pData[i] = pData[i] ^ pMask[i % 4];\n            }\n            data = masked;\n        }\n        if (nextOpCode == WS_OP_TEXT_FRAME)\n        {\n            NSString *msg = [[NSString alloc] initWithBytes:[data bytes] length:msgLength encoding:NSUTF8StringEncoding];\n            [self didReceiveMessage:msg];\n        }\n        else\n        {\n            [self didClose];\n            return;\n        }\n\n        // Read next frame\n        [asyncSocket readDataToLength:1 withTimeout:TIMEOUT_NONE tag:TAG_PAYLOAD_PREFIX];\n    }\n    else if (tag == TAG_MSG_MASKING_KEY)\n    {\n        maskingKey = data.copy;\n    }\n    else\n    {\n        NSUInteger msgLength = [data length] - 1; // Excluding ending 0xFF frame\n        \n        NSString *msg = [[NSString alloc] initWithBytes:[data bytes] length:msgLength encoding:NSUTF8StringEncoding];\n        \n        [self didReceiveMessage:msg];\n        \n        \n        // Read next message\n        [asyncSocket readDataToLength:1 withTimeout:TIMEOUT_NONE tag:TAG_PREFIX];\n    }\n}\n\n- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)error\n{\n    HTTPLogTrace2(@\"%@[%p]: socketDidDisconnect:withError: %@\", THIS_FILE, self, error);\n    \n    [self didClose];\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Web/index.html",
    "content": "<html>\n<head>\n<title>Lumberjack Logging Framework</title>\n<style type=\"text/css\">@import url('styles.css');</style>\n</head>\n<body>\n<h1>Lumberjack Logging Framework</h1>\n<ul>\n<li><a href=\"logs.html\">View log files on device</a></li>\n<li><a href=\"socket.html\">View logging in real time</a></li>\n</ul>\n</body>\n</html>"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Web/socket.html",
    "content": "<html>\n<head>\n<title>SimpleWebSocketServer</title>\n<style type=\"text/css\">@import url('styles.css');</style>\n<script src=\"jquery-1.4.2.min.js\"></script>\n<script type=\"text/javascript\">\n\n$(document).ready(main);\n\n// Run when document.ready fires\nfunction main() {\n\n\t// Reference to the websocket object\n\tvar ws;\n\t\n\t// Make sure sockets are supported\n\ttestSocket();\n\n\t// Event handlers for buttons\n\t$('#btnStart').click(function() {\n\t\tstartSocket();\n\t});\n\n\t$('#btnStop').click(function() {\n\t\tstopSocket();\n\t});\n\t\n\t$('#btnClear').click(function() {\n\t\t$('#results').html('');\n\t});\t\n\t\n}\n\n// Make sure the browser supports sockets\nfunction testSocket()\n{\n\tif (\"WebSocket\" in window) \n\t{\n\t\t$('#status').hide();\n\t\t$('#btnStart').removeAttr(\"disabled\");\n\t\t//$('#status').css({'background-color': 'green'}).html('Websockets are supported');\n\t}\n\telse\n\t{\n\t\t$('#status').show();\n\t\t$('#status').css({'background-color': 'red'}).html('Websockets NOT supported');\t\t\n\t\t$('#btnStart').attr(\"disabled\",\"disabled\");\n\t}\n}\n\n// Close the websocket\nfunction stopSocket() \n{\n\tws.close();\n}\n\n// Create the websocket\nfunction startSocket() \n{\n\tif (\"WebSocket\" in window)\n\t{\n\t\tws = new WebSocket(\"%%WEBSOCKET_URL%%\");\n\t\t\n\t\t// Called when the websocket is opened\n\t\tws.onopen = function()\n\t\t{\n\t\t\t// Web Socket is connected\n\t\t\t$('#status').css({'background-color': 'green'}).html('Websocket opened');\t\n\t\t\t\n\t\t\t// Clear the results window\n\t\t\t$('#results').html('');\n\t\t\n\t\t\t// Disable Start Button\n\t\t\t$('#btnStart').attr(\"disabled\",\"disabled\");\n\t\t\t\n\t\t\t// Enable Stop Button\n\t\t\t$('#btnStop').removeAttr(\"disabled\");\n\n\t\t\t// You can send data now\n\t\t\t//ws.send(\"Hey man, you got the time?\");\n\t\t};\n\n\t\t// Called when the websocket receives data\n\t\tws.onmessage = function(evt) \n\t\t{ \n\t\t    $('#results').append(evt.data + '<br/>');  \n\t\t};\n\t\n\t\t// Called when the websocket is closed\n\t\tws.onclose = function() { \n\t\t\t$('#status').css({'background-color': 'orange'}).html('Websocket closed');\t\t\t\n\t\t\t$('#btnStart').removeAttr(\"disabled\");\n\t\t\t$('#btnStop').attr(\"disabled\", \"disabled\");\n\t\t};\n\t}\n\telse\n\t{\n\t\talert(\"Browser doesn't support WebSockets!\");\n\t}\n}\n\n</script>\n\n<style type=\"text/css\">\n\nbody {\n\tmargin: 0px;\n}\n\n#status {\n\theight: 20px;\n\twidth: 100%;\n\tcolor: #fff;\n\tbackground-color: orange;\n\tfont-weight: bold;\n\tpadding: 5px;\n\ttext-align: center;\n}\n\n#container {\n\tpadding: 20px;\n}\n\n</style>\n\n</head>\n\n<body bgcolor=\"#FFFFFF\">\n\n<div id=\"status\">Testing Websocket</div>\n\n<h1>Live Logging</h1>\n\n<div id=\"container\">\n\n<input type=\"button\" id=\"btnStart\" value=\"Start Listening\" disabled=\"disabled\">\n<input type=\"button\" id=\"btnStop\" value=\"Stop Listening\" disabled=\"disabled\">\n<input type=\"button\" id=\"btnClear\" value=\"Clear Results\">\n\n<p><strong>Received Messages:</strong></p>\n<div id=\"results\"></div>\n\n</div>\n\n</body>\n</html>"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/Web/styles.css",
    "content": "table {\n\tmargin-left: 10px;\n}\n\ntd {\n\tbackground-color: pink;\n\tpadding: 5px;\n}\n\nbody {\n\tmargin: 0px;\n}\n\n#status {\n\theight: 20px;\n\twidth: 100%;\n\tcolor: #fff;\n\tbackground-color: orange;\n\tfont-weight: bold;\n\tpadding: 5px;\n\ttext-align: center;\n}\n\n#container {\n\tpadding: 20px;\n}\n\nul {\n    margin-top: 25px;\n}\n\nh1 {\n    font-size: 2em;\n\tfont-family: helvetica;\n\tmargin: 10px;\n}\n\nul a:link, ul a:visited {\n\tfont-size: 1.5em;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/WebServerIPhone-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1.0</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSMainNibFile</key>\n\t<string>MainWindow</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/WebServerIPhone.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t1D3623260D0F684500981E51 /* WebServerIPhoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* WebServerIPhoneAppDelegate.m */; };\n\t\t1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };\n\t\t1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };\n\t\t1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };\n\t\t288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };\n\t\t2899E5220DE3E06400AC0155 /* WebServerIPhoneViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* WebServerIPhoneViewController.xib */; };\n\t\t28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };\n\t\t28D7ACF80DDB3853001CB0EB /* WebServerIPhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* WebServerIPhoneViewController.m */; };\n\t\tA4E86A7764FB92E3B251792E /* Pods_WebServerIPhone.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 308072BF76BA9BEAB210A371 /* Pods_WebServerIPhone.framework */; };\n\t\tDC588A1F158DF014007AFCFC /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC588A1E158DF014007AFCFC /* Security.framework */; };\n\t\tDC987C90119294FD0020FF52 /* MyHTTPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = DC987C8B119294FD0020FF52 /* MyHTTPConnection.m */; };\n\t\tDC987C92119294FD0020FF52 /* WebSocketLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC987C8F119294FD0020FF52 /* WebSocketLogger.m */; };\n\t\tDC987C96119295650020FF52 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC987C95119295650020FF52 /* CFNetwork.framework */; };\n\t\tDC987CC4119296760020FF52 /* Web in Resources */ = {isa = PBXBuildFile; fileRef = DC987CBE119296760020FF52 /* Web */; };\n\t\tDCA67DBF146B4DB4003411EE /* DDData.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DA3146B4DB4003411EE /* DDData.m */; };\n\t\tDCA67DC0146B4DB4003411EE /* DDNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DA5146B4DB4003411EE /* DDNumber.m */; };\n\t\tDCA67DC1146B4DB4003411EE /* DDRange.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DA7146B4DB4003411EE /* DDRange.m */; };\n\t\tDCA67DC2146B4DB4003411EE /* HTTPAuthenticationRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DA9146B4DB4003411EE /* HTTPAuthenticationRequest.m */; };\n\t\tDCA67DC3146B4DB4003411EE /* HTTPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DAB146B4DB4003411EE /* HTTPConnection.m */; };\n\t\tDCA67DC4146B4DB4003411EE /* HTTPMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DAE146B4DB4003411EE /* HTTPMessage.m */; };\n\t\tDCA67DC5146B4DB4003411EE /* HTTPServer.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DB1146B4DB4003411EE /* HTTPServer.m */; };\n\t\tDCA67DC6146B4DB4003411EE /* HTTPAsyncFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DB4146B4DB4003411EE /* HTTPAsyncFileResponse.m */; };\n\t\tDCA67DC7146B4DB4003411EE /* HTTPDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DB6146B4DB4003411EE /* HTTPDataResponse.m */; };\n\t\tDCA67DC8146B4DB4003411EE /* HTTPDynamicFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DB8146B4DB4003411EE /* HTTPDynamicFileResponse.m */; };\n\t\tDCA67DC9146B4DB4003411EE /* HTTPFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DBA146B4DB4003411EE /* HTTPFileResponse.m */; };\n\t\tDCA67DCA146B4DB4003411EE /* HTTPRedirectResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DBC146B4DB4003411EE /* HTTPRedirectResponse.m */; };\n\t\tDCA67DCB146B4DB4003411EE /* WebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DBE146B4DB4003411EE /* WebSocket.m */; };\n\t\tDCA67DCF146B4E3C003411EE /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DCE146B4E3C003411EE /* GCDAsyncSocket.m */; };\n\t\tDCD6EAD016FFC50000710668 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DCD6EACF16FFC50000710668 /* Default-568h@2x.png */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\t1D3623240D0F684500981E51 /* WebServerIPhoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebServerIPhoneAppDelegate.h; sourceTree = \"<group>\"; };\n\t\t1D3623250D0F684500981E51 /* WebServerIPhoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebServerIPhoneAppDelegate.m; sourceTree = \"<group>\"; };\n\t\t1D6058910D05DD3D006BFB54 /* WebServerIPhone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WebServerIPhone.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };\n\t\t288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };\n\t\t2899E5210DE3E06400AC0155 /* WebServerIPhoneViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WebServerIPhoneViewController.xib; sourceTree = \"<group>\"; };\n\t\t28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = \"<group>\"; };\n\t\t28B2DB56B4126FE857EBBBFF /* Pods-WebServerIPhone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-WebServerIPhone.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-WebServerIPhone/Pods-WebServerIPhone.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t28D7ACF60DDB3853001CB0EB /* WebServerIPhoneViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebServerIPhoneViewController.h; sourceTree = \"<group>\"; };\n\t\t28D7ACF70DDB3853001CB0EB /* WebServerIPhoneViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebServerIPhoneViewController.m; sourceTree = \"<group>\"; };\n\t\t29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t308072BF76BA9BEAB210A371 /* Pods_WebServerIPhone.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WebServerIPhone.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t32CA4F630368D1EE00C91783 /* WebServerIPhone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebServerIPhone_Prefix.pch; sourceTree = \"<group>\"; };\n\t\t8D1107310486CEB800E47090 /* WebServerIPhone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = \"WebServerIPhone-Info.plist\"; plistStructureDefinitionIdentifier = \"com.apple.xcode.plist.structure-definition.iphone.info-plist\"; sourceTree = \"<group>\"; };\n\t\tC641A1893290064A330C99A9 /* Pods-WebServerIPhone.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-WebServerIPhone.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-WebServerIPhone/Pods-WebServerIPhone.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tDC588A1E158DF014007AFCFC /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };\n\t\tDC987C8A119294FD0020FF52 /* MyHTTPConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MyHTTPConnection.h; path = Classes/MyHTTPConnection.h; sourceTree = \"<group>\"; };\n\t\tDC987C8B119294FD0020FF52 /* MyHTTPConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MyHTTPConnection.m; path = Classes/MyHTTPConnection.m; sourceTree = \"<group>\"; };\n\t\tDC987C8E119294FD0020FF52 /* WebSocketLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebSocketLogger.h; path = Classes/WebSocketLogger.h; sourceTree = \"<group>\"; };\n\t\tDC987C8F119294FD0020FF52 /* WebSocketLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WebSocketLogger.m; path = Classes/WebSocketLogger.m; sourceTree = \"<group>\"; };\n\t\tDC987C95119295650020FF52 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };\n\t\tDC987CBE119296760020FF52 /* Web */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Web; sourceTree = \"<group>\"; };\n\t\tDCA67DA2146B4DB4003411EE /* DDData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDData.h; sourceTree = \"<group>\"; };\n\t\tDCA67DA3146B4DB4003411EE /* DDData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDData.m; sourceTree = \"<group>\"; };\n\t\tDCA67DA4146B4DB4003411EE /* DDNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDNumber.h; sourceTree = \"<group>\"; };\n\t\tDCA67DA5146B4DB4003411EE /* DDNumber.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDNumber.m; sourceTree = \"<group>\"; };\n\t\tDCA67DA6146B4DB4003411EE /* DDRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDRange.h; sourceTree = \"<group>\"; };\n\t\tDCA67DA7146B4DB4003411EE /* DDRange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDRange.m; sourceTree = \"<group>\"; };\n\t\tDCA67DA8146B4DB4003411EE /* HTTPAuthenticationRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPAuthenticationRequest.h; sourceTree = \"<group>\"; };\n\t\tDCA67DA9146B4DB4003411EE /* HTTPAuthenticationRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPAuthenticationRequest.m; sourceTree = \"<group>\"; };\n\t\tDCA67DAA146B4DB4003411EE /* HTTPConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPConnection.h; sourceTree = \"<group>\"; };\n\t\tDCA67DAB146B4DB4003411EE /* HTTPConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPConnection.m; sourceTree = \"<group>\"; };\n\t\tDCA67DAC146B4DB4003411EE /* HTTPLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPLogging.h; sourceTree = \"<group>\"; };\n\t\tDCA67DAD146B4DB4003411EE /* HTTPMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPMessage.h; sourceTree = \"<group>\"; };\n\t\tDCA67DAE146B4DB4003411EE /* HTTPMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPMessage.m; sourceTree = \"<group>\"; };\n\t\tDCA67DAF146B4DB4003411EE /* HTTPResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPResponse.h; sourceTree = \"<group>\"; };\n\t\tDCA67DB0146B4DB4003411EE /* HTTPServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPServer.h; sourceTree = \"<group>\"; };\n\t\tDCA67DB1146B4DB4003411EE /* HTTPServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPServer.m; sourceTree = \"<group>\"; };\n\t\tDCA67DB3146B4DB4003411EE /* HTTPAsyncFileResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPAsyncFileResponse.h; sourceTree = \"<group>\"; };\n\t\tDCA67DB4146B4DB4003411EE /* HTTPAsyncFileResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPAsyncFileResponse.m; sourceTree = \"<group>\"; };\n\t\tDCA67DB5146B4DB4003411EE /* HTTPDataResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPDataResponse.h; sourceTree = \"<group>\"; };\n\t\tDCA67DB6146B4DB4003411EE /* HTTPDataResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPDataResponse.m; sourceTree = \"<group>\"; };\n\t\tDCA67DB7146B4DB4003411EE /* HTTPDynamicFileResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPDynamicFileResponse.h; sourceTree = \"<group>\"; };\n\t\tDCA67DB8146B4DB4003411EE /* HTTPDynamicFileResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPDynamicFileResponse.m; sourceTree = \"<group>\"; };\n\t\tDCA67DB9146B4DB4003411EE /* HTTPFileResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPFileResponse.h; sourceTree = \"<group>\"; };\n\t\tDCA67DBA146B4DB4003411EE /* HTTPFileResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPFileResponse.m; sourceTree = \"<group>\"; };\n\t\tDCA67DBB146B4DB4003411EE /* HTTPRedirectResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPRedirectResponse.h; sourceTree = \"<group>\"; };\n\t\tDCA67DBC146B4DB4003411EE /* HTTPRedirectResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPRedirectResponse.m; sourceTree = \"<group>\"; };\n\t\tDCA67DBD146B4DB4003411EE /* WebSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSocket.h; sourceTree = \"<group>\"; };\n\t\tDCA67DBE146B4DB4003411EE /* WebSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebSocket.m; sourceTree = \"<group>\"; };\n\t\tDCA67DCD146B4E3C003411EE /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCDAsyncSocket.h; sourceTree = \"<group>\"; };\n\t\tDCA67DCE146B4E3C003411EE /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDAsyncSocket.m; sourceTree = \"<group>\"; };\n\t\tDCD6EACF16FFC50000710668 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = \"Default-568h@2x.png\"; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t1D60588F0D05DD3D006BFB54 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDC588A1F158DF014007AFCFC /* Security.framework in Frameworks */,\n\t\t\t\t1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,\n\t\t\t\t1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,\n\t\t\t\t288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,\n\t\t\t\tDC987C96119295650020FF52 /* CFNetwork.framework in Frameworks */,\n\t\t\t\tA4E86A7764FB92E3B251792E /* Pods_WebServerIPhone.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t080E96DDFE201D6D7F000001 /* Classes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1D3623240D0F684500981E51 /* WebServerIPhoneAppDelegate.h */,\n\t\t\t\t1D3623250D0F684500981E51 /* WebServerIPhoneAppDelegate.m */,\n\t\t\t\t28D7ACF60DDB3853001CB0EB /* WebServerIPhoneViewController.h */,\n\t\t\t\t28D7ACF70DDB3853001CB0EB /* WebServerIPhoneViewController.m */,\n\t\t\t);\n\t\t\tpath = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19C28FACFE9D520D11CA2CBB /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1D6058910D05DD3D006BFB54 /* WebServerIPhone.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCD6EACF16FFC50000710668 /* Default-568h@2x.png */,\n\t\t\t\tDCA67DCC146B4E3C003411EE /* CocoaAsyncSocket */,\n\t\t\t\tDCA67DA0146B4DB4003411EE /* CocoaHTTPServer */,\n\t\t\t\tDC987C89119294E10020FF52 /* MyHTTP */,\n\t\t\t\t080E96DDFE201D6D7F000001 /* Classes */,\n\t\t\t\t29B97315FDCFA39411CA2CEA /* Other Sources */,\n\t\t\t\t29B97317FDCFA39411CA2CEA /* Resources */,\n\t\t\t\t29B97323FDCFA39411CA2CEA /* Frameworks */,\n\t\t\t\t19C28FACFE9D520D11CA2CBB /* Products */,\n\t\t\t\tCA1467B01C4D304BA1029BB7 /* Pods */,\n\t\t\t);\n\t\t\tname = CustomTemplate;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97315FDCFA39411CA2CEA /* Other Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t32CA4F630368D1EE00C91783 /* WebServerIPhone_Prefix.pch */,\n\t\t\t\t29B97316FDCFA39411CA2CEA /* main.m */,\n\t\t\t);\n\t\t\tname = \"Other Sources\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97317FDCFA39411CA2CEA /* Resources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC987CBE119296760020FF52 /* Web */,\n\t\t\t\t2899E5210DE3E06400AC0155 /* WebServerIPhoneViewController.xib */,\n\t\t\t\t28AD733E0D9D9553002E5188 /* MainWindow.xib */,\n\t\t\t\t8D1107310486CEB800E47090 /* WebServerIPhone-Info.plist */,\n\t\t\t);\n\t\t\tname = Resources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t29B97323FDCFA39411CA2CEA /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,\n\t\t\t\t1D30AB110D05D00D00671497 /* Foundation.framework */,\n\t\t\t\t288765A40DF7441C002DB57D /* CoreGraphics.framework */,\n\t\t\t\tDC987C95119295650020FF52 /* CFNetwork.framework */,\n\t\t\t\tDC588A1E158DF014007AFCFC /* Security.framework */,\n\t\t\t\t308072BF76BA9BEAB210A371 /* Pods_WebServerIPhone.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tCA1467B01C4D304BA1029BB7 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t28B2DB56B4126FE857EBBBFF /* Pods-WebServerIPhone.debug.xcconfig */,\n\t\t\t\tC641A1893290064A330C99A9 /* Pods-WebServerIPhone.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDC987C89119294E10020FF52 /* MyHTTP */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDC987C8A119294FD0020FF52 /* MyHTTPConnection.h */,\n\t\t\t\tDC987C8B119294FD0020FF52 /* MyHTTPConnection.m */,\n\t\t\t\tDC987C8E119294FD0020FF52 /* WebSocketLogger.h */,\n\t\t\t\tDC987C8F119294FD0020FF52 /* WebSocketLogger.m */,\n\t\t\t);\n\t\t\tname = MyHTTP;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DA0146B4DB4003411EE /* CocoaHTTPServer */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DA1146B4DB4003411EE /* Categories */,\n\t\t\t\tDCA67DA8146B4DB4003411EE /* HTTPAuthenticationRequest.h */,\n\t\t\t\tDCA67DA9146B4DB4003411EE /* HTTPAuthenticationRequest.m */,\n\t\t\t\tDCA67DAA146B4DB4003411EE /* HTTPConnection.h */,\n\t\t\t\tDCA67DAB146B4DB4003411EE /* HTTPConnection.m */,\n\t\t\t\tDCA67DAC146B4DB4003411EE /* HTTPLogging.h */,\n\t\t\t\tDCA67DAD146B4DB4003411EE /* HTTPMessage.h */,\n\t\t\t\tDCA67DAE146B4DB4003411EE /* HTTPMessage.m */,\n\t\t\t\tDCA67DAF146B4DB4003411EE /* HTTPResponse.h */,\n\t\t\t\tDCA67DB0146B4DB4003411EE /* HTTPServer.h */,\n\t\t\t\tDCA67DB1146B4DB4003411EE /* HTTPServer.m */,\n\t\t\t\tDCA67DB2146B4DB4003411EE /* Responses */,\n\t\t\t\tDCA67DBD146B4DB4003411EE /* WebSocket.h */,\n\t\t\t\tDCA67DBE146B4DB4003411EE /* WebSocket.m */,\n\t\t\t);\n\t\t\tname = CocoaHTTPServer;\n\t\t\tpath = Vendor/CocoaHTTPServer;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DA1146B4DB4003411EE /* Categories */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DA2146B4DB4003411EE /* DDData.h */,\n\t\t\t\tDCA67DA3146B4DB4003411EE /* DDData.m */,\n\t\t\t\tDCA67DA4146B4DB4003411EE /* DDNumber.h */,\n\t\t\t\tDCA67DA5146B4DB4003411EE /* DDNumber.m */,\n\t\t\t\tDCA67DA6146B4DB4003411EE /* DDRange.h */,\n\t\t\t\tDCA67DA7146B4DB4003411EE /* DDRange.m */,\n\t\t\t);\n\t\t\tpath = Categories;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DB2146B4DB4003411EE /* Responses */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DB3146B4DB4003411EE /* HTTPAsyncFileResponse.h */,\n\t\t\t\tDCA67DB4146B4DB4003411EE /* HTTPAsyncFileResponse.m */,\n\t\t\t\tDCA67DB5146B4DB4003411EE /* HTTPDataResponse.h */,\n\t\t\t\tDCA67DB6146B4DB4003411EE /* HTTPDataResponse.m */,\n\t\t\t\tDCA67DB7146B4DB4003411EE /* HTTPDynamicFileResponse.h */,\n\t\t\t\tDCA67DB8146B4DB4003411EE /* HTTPDynamicFileResponse.m */,\n\t\t\t\tDCA67DB9146B4DB4003411EE /* HTTPFileResponse.h */,\n\t\t\t\tDCA67DBA146B4DB4003411EE /* HTTPFileResponse.m */,\n\t\t\t\tDCA67DBB146B4DB4003411EE /* HTTPRedirectResponse.h */,\n\t\t\t\tDCA67DBC146B4DB4003411EE /* HTTPRedirectResponse.m */,\n\t\t\t);\n\t\t\tpath = Responses;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCA67DCC146B4E3C003411EE /* CocoaAsyncSocket */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCA67DCD146B4E3C003411EE /* GCDAsyncSocket.h */,\n\t\t\t\tDCA67DCE146B4E3C003411EE /* GCDAsyncSocket.m */,\n\t\t\t);\n\t\t\tname = CocoaAsyncSocket;\n\t\t\tpath = Vendor/CocoaAsyncSocket;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t1D6058900D05DD3D006BFB54 /* WebServerIPhone */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget \"WebServerIPhone\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t833F2869D00C4CEB893D794B /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t1D60588D0D05DD3D006BFB54 /* Resources */,\n\t\t\t\t1D60588E0D05DD3D006BFB54 /* Sources */,\n\t\t\t\t1D60588F0D05DD3D006BFB54 /* Frameworks */,\n\t\t\t\t11E83A5BF1654451A82BCD59 /* [CP] Copy Pods Resources */,\n\t\t\t\t8C26FF3E48D5BAA1BD87B943 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = WebServerIPhone;\n\t\t\tproductName = WebServerIPhone;\n\t\t\tproductReference = 1D6058910D05DD3D006BFB54 /* WebServerIPhone.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t29B97313FDCFA39411CA2CEA /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0900;\n\t\t\t};\n\t\t\tbuildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject \"WebServerIPhone\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 1;\n\t\t\tknownRegions = (\n\t\t\t\tEnglish,\n\t\t\t\tJapanese,\n\t\t\t\tFrench,\n\t\t\t\tGerman,\n\t\t\t);\n\t\t\tmainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;\n\t\t\tproductRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t1D6058900D05DD3D006BFB54 /* WebServerIPhone */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t1D60588D0D05DD3D006BFB54 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,\n\t\t\t\t2899E5220DE3E06400AC0155 /* WebServerIPhoneViewController.xib in Resources */,\n\t\t\t\tDC987CC4119296760020FF52 /* Web in Resources */,\n\t\t\t\tDCD6EAD016FFC50000710668 /* Default-568h@2x.png in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t11E83A5BF1654451A82BCD59 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-WebServerIPhone/Pods-WebServerIPhone-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t833F2869D00C4CEB893D794B /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-WebServerIPhone-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t8C26FF3E48D5BAA1BD87B943 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-WebServerIPhone/Pods-WebServerIPhone-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-WebServerIPhone/Pods-WebServerIPhone-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t1D60588E0D05DD3D006BFB54 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t1D60589B0D05DD56006BFB54 /* main.m in Sources */,\n\t\t\t\t1D3623260D0F684500981E51 /* WebServerIPhoneAppDelegate.m in Sources */,\n\t\t\t\t28D7ACF80DDB3853001CB0EB /* WebServerIPhoneViewController.m in Sources */,\n\t\t\t\tDC987C90119294FD0020FF52 /* MyHTTPConnection.m in Sources */,\n\t\t\t\tDC987C92119294FD0020FF52 /* WebSocketLogger.m in Sources */,\n\t\t\t\tDCA67DBF146B4DB4003411EE /* DDData.m in Sources */,\n\t\t\t\tDCA67DC0146B4DB4003411EE /* DDNumber.m in Sources */,\n\t\t\t\tDCA67DC1146B4DB4003411EE /* DDRange.m in Sources */,\n\t\t\t\tDCA67DC2146B4DB4003411EE /* HTTPAuthenticationRequest.m in Sources */,\n\t\t\t\tDCA67DC3146B4DB4003411EE /* HTTPConnection.m in Sources */,\n\t\t\t\tDCA67DC4146B4DB4003411EE /* HTTPMessage.m in Sources */,\n\t\t\t\tDCA67DC5146B4DB4003411EE /* HTTPServer.m in Sources */,\n\t\t\t\tDCA67DC6146B4DB4003411EE /* HTTPAsyncFileResponse.m in Sources */,\n\t\t\t\tDCA67DC7146B4DB4003411EE /* HTTPDataResponse.m in Sources */,\n\t\t\t\tDCA67DC8146B4DB4003411EE /* HTTPDynamicFileResponse.m in Sources */,\n\t\t\t\tDCA67DC9146B4DB4003411EE /* HTTPFileResponse.m in Sources */,\n\t\t\t\tDCA67DCA146B4DB4003411EE /* HTTPRedirectResponse.m in Sources */,\n\t\t\t\tDCA67DCB146B4DB4003411EE /* WebSocket.m in Sources */,\n\t\t\t\tDCA67DCF146B4E3C003411EE /* GCDAsyncSocket.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\t1D6058940D05DD3E006BFB54 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 28B2DB56B4126FE857EBBBFF /* Pods-WebServerIPhone.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = WebServerIPhone_Prefix.pch;\n\t\t\t\tINFOPLIST_FILE = \"WebServerIPhone-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.voalte.test.slimlog;\n\t\t\t\tPRODUCT_NAME = WebServerIPhone;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t1D6058950D05DD3E006BFB54 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = C641A1893290064A330C99A9 /* Pods-WebServerIPhone.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = WebServerIPhone_Prefix.pch;\n\t\t\t\tINFOPLIST_FILE = \"WebServerIPhone-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.voalte.test.slimlog;\n\t\t\t\tPRODUCT_NAME = WebServerIPhone;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tC01FCF4F08A954540054247B /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = c99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tC01FCF5008A954540054247B /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = c99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget \"WebServerIPhone\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t1D6058940D05DD3E006BFB54 /* Debug */,\n\t\t\t\t1D6058950D05DD3E006BFB54 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tC01FCF4E08A954540054247B /* Build configuration list for PBXProject \"WebServerIPhone\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tC01FCF4F08A954540054247B /* Debug */,\n\t\t\t\tC01FCF5008A954540054247B /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 29B97313FDCFA39411CA2CEA /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/WebServerIPhone.xcodeproj/xcshareddata/xcschemes/WebServerIPhone.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0900\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n               BuildableName = \"WebServerIPhone.app\"\n               BlueprintName = \"WebServerIPhone\"\n               ReferencedContainer = \"container:WebServerIPhone.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n            BuildableName = \"WebServerIPhone.app\"\n            BlueprintName = \"WebServerIPhone\"\n            ReferencedContainer = \"container:WebServerIPhone.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      language = \"\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n            BuildableName = \"WebServerIPhone.app\"\n            BlueprintName = \"WebServerIPhone\"\n            ReferencedContainer = \"container:WebServerIPhone.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"1D6058900D05DD3D006BFB54\"\n            BuildableName = \"WebServerIPhone.app\"\n            BlueprintName = \"WebServerIPhone\"\n            ReferencedContainer = \"container:WebServerIPhone.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/WebServerIPhoneViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"7.10\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">784</int>\n\t\t<string key=\"IBDocument.SystemVersion\">10A394</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">732</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1027.1</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">430.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t<string key=\"NS.object.0\">60</string>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.EditedObjectIDs\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<integer value=\"6\"/>\n\t\t</object>\n\t\t<object class=\"NSArray\" key=\"IBDocument.PluginDependencies\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t</object>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\" id=\"0\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1000\">\n\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t<object class=\"IBProxyObject\" id=\"372490531\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFilesOwner</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBProxyObject\" id=\"843779117\">\n\t\t\t\t<string key=\"IBProxiedObjectIdentifier\">IBFirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"IBUIView\" id=\"774585933\">\n\t\t\t\t<reference key=\"NSNextResponder\"/>\n\t\t\t\t<int key=\"NSvFlags\">274</int>\n\t\t\t\t<string key=\"NSFrameSize\">{320, 460}</string>\n\t\t\t\t<reference key=\"NSSuperview\"/>\n\t\t\t\t<object class=\"NSColor\" key=\"IBUIBackgroundColor\">\n\t\t\t\t\t<int key=\"NSColorSpace\">3</int>\n\t\t\t\t\t<bytes key=\"NSWhite\">MC43NQA</bytes>\n\t\t\t\t\t<object class=\"NSColorSpace\" key=\"NSCustomColorSpace\">\n\t\t\t\t\t\t<int key=\"NSID\">2</int>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<bool key=\"IBUIClearsContextBeforeDrawing\">NO</bool>\n\t\t\t\t<object class=\"IBUISimulatedStatusBarMetrics\" key=\"IBUISimulatedStatusBarMetrics\"/>\n\t\t\t</object>\n\t\t</object>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<object class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBCocoaTouchOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">view</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"774585933\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">7</int>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<object class=\"NSArray\" key=\"orderedObjects\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1000\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"372490531\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"843779117\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">6</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"774585933\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"NSArray\" key=\"dict.sortedKeys\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>-1.CustomClassName</string>\n\t\t\t\t\t<string>-2.CustomClassName</string>\n\t\t\t\t\t<string>6.IBEditorWindowLastContentRect</string>\n\t\t\t\t\t<string>6.IBPluginDependency</string>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t\t<string>WebServerIPhoneViewController</string>\n\t\t\t\t\t<string>UIResponder</string>\n\t\t\t\t\t<string>{{438, 347}, {320, 480}}</string>\n\t\t\t\t\t<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"unlocalizedProperties\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<object class=\"NSMutableDictionary\" key=\"localizations\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<reference key=\"dict.sortedKeys\" ref=\"0\"/>\n\t\t\t\t<object class=\"NSMutableArray\" key=\"dict.values\">\n\t\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">7</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<object class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<bool key=\"EncodedWithXMLCoder\">YES</bool>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebServerIPhoneViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">UIViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">Classes/WebServerIPhoneViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</object>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginDeclaredDevelopmentDependencies\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>\n\t\t\t<integer value=\"3100\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<string key=\"IBDocument.LastKnownRelativeProjectPath\">WebServerIPhone.xcodeproj</string>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<string key=\"IBCocoaTouchPluginVersion\">3.1</string>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/WebServerIPhone_Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'WebServerIPhone' target in the 'WebServerIPhone' project\n//\n\n#ifdef __OBJC__\n    #import <Foundation/Foundation.h>\n    #import <UIKit/UIKit.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Demos/WebServerIPhone/main.m",
    "content": "//\n//  main.m\n//  WebServerIPhone\n//\n//  Created by Robbie Hanson on 5/6/10.\n//\n\n#import <UIKit/UIKit.h>\n\nint main(int argc, char *argv[]) {\n    \n    @autoreleasepool {\n        int retVal = UIApplicationMain(argc, argv, nil, nil);\n        return retVal;\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/ARC.md",
    "content": "[Automatic Reference Counting](http://clang.llvm.org/docs/AutomaticReferenceCounting.html) (ARC) is an amazing new technology. It makes life easier for developers and speeds up your code at the same time. However, since it's such a radical change, it requires some new tools (Xcode 4.4+, Apple LLVM 3.0+ compiler) and some code changes (remove `retain`/`release`/`autorelease`, etc). This leaves library developers in a tough position: To ARC, or not to ARC? If the library is converted to ARC, those who haven't converted their apps will complain. If the library isn't converted to ARC, those who have converted their apps will complain! What to do?\n\nOne possibility is to maintain 2 branches: arc & non-arc. These would have to be kept in sync for every new commit and every push. Obviously this is a large burden. And library developers, especially those who actively develop and improve their libraries, don't consider this a solution. So ultimately, a decision must be made.\n\nWe believe that ARC will quickly become the defacto standard. Manual memory management has long been the single largest entrance barrier to the language, and the most common complaint. It required sometimes tedious balancing of retain/release statements, and even seasoned professionals were known to occasionally leak an object or forget a release in a dealloc method. Garbage collection was tried and largely rejected (for apparent performance reasons). But know ARC has arrived. And we believe it is the future.\n\nIf you've already adopted ARC, then you can just drop in Lumberjack and go. If not, then read on.\n\n## Older Non-ARC versions of Lumberjack\n\nThe project was converted to ARC in version 1.3. If you are unable to use the ARC versions due to requirements, then you can grab the latest 1.2.X release.\n\n_Note_ - The 1.2.X branch is deprecated, and no longer maintained.\n\n## Supporting ARC versions of Lumberjack in Non-ARC projects\n\nThe first thing to note is the requirements for supporting ARC in any capacity in your project.\n\n**Development requirements for ARC**\n\n- Xcode 4.4\n- Apple LLVM compiler 3.0+ (Build Setting)\n\n**Minimum Deployment Targets for ARC**\n\n- iOS: iOS 4.0 or newer\n- Mac: 64-Bit processor running Snow Leopard 10.6 or newer.\n\nIf you attempt to compile the latest versions of Lumberjack in a non-arc project, you'll receive a warning:\n\n<a href=\"http://www.flickr.com/photos/100714763@N06/9575917959/\" title=\"CocoaLumberjack_arc1 by robbiehanson, on Flickr\"><img src=\"http://farm4.staticflickr.com/3802/9575917959_308e718f03_c.jpg\" width=\"800\" height=\"438\" alt=\"CocoaLumberjack_arc1\"></a>\n\nDon't ignore these warnings! You'll leak memory like crazy if you do!\n\n(If it weren't for complications when using Xcode's \"Convert to Objective-C ARC\" tool, the warnings would be errors.)\n\nFirst ensure you're using the Apple LLVM compiler (version 3.0 or newer):\n\n<a href=\"http://www.flickr.com/photos/100714763@N06/9578711976/\" title=\"CocoaLumberjack_arc2 by robbiehanson, on Flickr\"><img src=\"http://farm8.staticflickr.com/7425/9578711976_29271ff45e_c.jpg\" width=\"800\" height=\"438\" alt=\"CocoaLumberjack_arc2\"></a>\n\nThen tell the compiler that the Lumberjack files are ARC:\n\n<a href=\"http://www.flickr.com/photos/100714763@N06/9578712266/\" title=\"CocoaLumberjack_arc3 by robbiehanson, on Flickr\"><img src=\"http://farm8.staticflickr.com/7355/9578712266_8752306de7_c.jpg\" width=\"800\" height=\"491\" alt=\"CocoaLumberjack_arc3\"></a>\n\nThe warnings will go away, and the compiler will automatically add all the proper retain/release/autorelease calls to the ARC files during compilation."
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/AppCode-support.md",
    "content": "CocoaLumberjack works by default in AppCode, but colours are not supported out of the box. To enable colours:\n\n1. Install the 'Grep Console' plugin (http://plugins.jetbrains.com/plugin/7125)\n2. Enable ANSI colouring (Settings > Grep Console)\n3. Go to Run > Edit configurations...\n4. Add TERM=color to the 'Environment variables' (edit them by clicking on the ellipsis)\n5. `[[DDTTYLogger sharedInstance] setColorsEnabled:YES];`\n\nKudos to @davidlawson for this documentation."
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/Architecture.md",
    "content": "Architecture of the lumberjack framework.\n\n## Introduction\n\nIf you're familiar with other logging frameworks (such as the popular [log4j](http://logging.apache.org/log4j/1.2/index.html)) then you'll quickly recognize the concepts. If logging is new to you, that's OK because lumberjack was designed to be simple to use.\n\nIf you haven't already done so, you may want to read the [getting started](GettingStarted.md) page.\n\n### Overview\n\nAt the heart of the framework is the `DDLog` file. This file provides the various `DDLog` macros that will replace your `NSLog` statements. For example:<br/>\n``` DDLogWarn(@\"Specified file does not exist\"); ```\n\nDuring compilation these macros get expanded to something akin to:<br/>\n``` if(LOG_WARN) /* Execute log statement */ ```\n\nWhat this means is that the compiler has the ability to automatically prune log statements that will never get executed. (For more information see the [getting started](GettingStarted.md) page. You may also choose to use [dynamic log levels](DynamicLogLevels.md).)\n\nWhen a log statement is executed, `DDLog` forwards the log message to every logger.\n\n### Loggers\n\nA logger is a class that does something with a log message. The lumberjack framework comes with several different loggers. (You can also [create your own](CustomLoggers.md).) Loggers such as `DDASLLogger` and `DDTTYLogger` can be used to duplicate the functionality of `NSLog`. And `DDFileLogger` can be used to write log messages to a log file.\n\nYou can have multiple simultaneous loggers. So you could, for example, log to the console and a file at the same time. You can add and remove loggers at any time.\n\nWhen your application first starts, the lumberjack framework has no loggers. So you'll want to add at least one logger if you want your log statements to go anywhere. (For information on how to add a logger, see the [getting started](GettingStarted.md) page.)\n\nLoggers may have certain settings that you can configure. For example, the `DDFileLogger` has options for controlling how often to roll log files.\n\nAll loggers will also support an optional formatter.\n\n### Formatters\n\nFormatters allow you to format a log message before the logger logs it. For example, there is no need to add a timestamp to normal console log messages because the console automatically does that. However, if you are logging to a file, you would likely want to prepend a timestamp to the log message.\n\nSo you could add a formatter to `DDFileLogger` to automatically prepend a timestamp to every log message.\n\nFormatters can also be used to filter log messages.\n\nAnd remember that formatters are applied individually to loggers. So you can format and/or filter on a per-logger basis.\n\n[Learn how to write your own custom formatters](CustomFormatters.md)\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/CocoaLumberjack.mdj",
    "content": "{\n\t\"_type\": \"Project\",\n\t\"_id\": \"AAAAAAFF+h6SjaM2Hec=\",\n\t\"name\": \"Logging component\",\n\t\"ownedElements\": [\n\t\t{\n\t\t\t\"_type\": \"UMLModel\",\n\t\t\t\"_id\": \"AAAAAAFF+qBWK6M3Z8Y=\",\n\t\t\t\"_parent\": {\n\t\t\t\t\"$ref\": \"AAAAAAFF+h6SjaM2Hec=\"\n\t\t\t},\n\t\t\t\"name\": \"Model\",\n\t\t\t\"ownedElements\": [\n\t\t\t\t{\n\t\t\t\t\t\"_type\": \"UMLClassDiagram\",\n\t\t\t\t\t\"_id\": \"AAAAAAFF+qBtyKM79qY=\",\n\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBWK6M3Z8Y=\"\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"ClassDiagram\",\n\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\"defaultDiagram\": true,\n\t\t\t\t\t\"ownedViews\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2PK0J0m8=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2PK0Kk/4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0J0m8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2PK0Lv+o=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0Kk/4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -514,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 166,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2PK0Mxu0=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0Kk/4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 263,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 202,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDLog\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2PK0NUE8=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0Kk/4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 278,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 202,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2PK0OjmY=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0Kk/4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -514,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 166,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 176,\n\t\t\t\t\t\t\t\t\t\"top\": 256,\n\t\t\t\t\t\t\t\t\t\"width\": 212,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0Lv+o=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0Mxu0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0NUE8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0OjmY=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2PK0PVQo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0J0m8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2Rq0vUK4=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0PVQo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcC0PavoeNk=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 301,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 202,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+loggingQueue\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTUWpzMEs8+dk=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0PVQo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUWpzHUs5hn8=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 316,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 202,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"-loggers: [DDLogger]\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 176,\n\t\t\t\t\t\t\t\t\t\"top\": 296,\n\t\t\t\t\t\t\t\t\t\"width\": 212,\n\t\t\t\t\t\t\t\t\t\"height\": 38,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2Pa0QJn4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0J0m8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2R60yBkA=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2Pa0QJn4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQbt/PKuBaDQ=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 339,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 202,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+log:()\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2R601yaI=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2Pa0QJn4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQbw7AquIOPo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 354,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 202,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+addLogger:(logger: DDLogger)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2Sa04jbg=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2Pa0QJn4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQbyeA6uTw6s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 369,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 202,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+removeLogger:(logger: DDLogger)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2Sa07WQg=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2Pa0QJn4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcErxav2uJ8=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 384,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 202,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+allLoggers()\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2Sa0+iYA=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2Pa0QJn4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcEAiKvvGFk=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 399,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 202,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+removeAllLoggers()\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 176,\n\t\t\t\t\t\t\t\t\t\"top\": 334,\n\t\t\t\t\t\t\t\t\t\"width\": 212,\n\t\t\t\t\t\t\t\t\t\"height\": 83,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2Pa0Rn3Q=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0J0m8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -257,\n\t\t\t\t\t\t\t\t\t\"top\": 83,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcZ2Pa0Soa8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0J0m8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -257,\n\t\t\t\t\t\t\t\t\t\"top\": 83,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 176,\n\t\t\t\t\t\t\t\"top\": 256,\n\t\t\t\t\t\t\t\"width\": 212,\n\t\t\t\t\t\t\t\"height\": 161,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0Kk/4=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0PVQo=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2Pa0QJn4=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2Pa0Rn3Q=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2Pa0Soa8=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNOq4OFig=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNOq4Pogk=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNOq4Q6pY=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4Pogk=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -70,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 754,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNOq4RqgM=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4Pogk=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;3\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 589,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 671,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDAbstractLogger\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNOq4SgYs=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4Pogk=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 589,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 686,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNOq4T0hI=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4Pogk=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -70,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 754,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 584,\n\t\t\t\t\t\t\t\t\t\"top\": 664,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4Q6pY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4RqgM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4SgYs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4T0hI=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNOq4UuvA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 584,\n\t\t\t\t\t\t\t\t\t\"top\": 704,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNOq4Vn4I=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 584,\n\t\t\t\t\t\t\t\t\t\"top\": 714,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNO64WsmE=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -35,\n\t\t\t\t\t\t\t\t\t\"top\": 377,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfNO64Xqjo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -35,\n\t\t\t\t\t\t\t\t\t\"top\": 377,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 584,\n\t\t\t\t\t\t\t\"top\": 664,\n\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\"height\": 60,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4Pogk=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4UuvA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4Vn4I=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNO64WsmE=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNO64Xqjo=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLInterfaceView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a41+cc=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a426kg=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a41+cc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a43Auw=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a426kg=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 325,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"«interface»\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a440L8=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a426kg=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 340,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDLogger\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a45Ei8=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a426kg=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 355,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a46JwM=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a426kg=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -258,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 282,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 496,\n\t\t\t\t\t\t\t\t\t\"top\": 320,\n\t\t\t\t\t\t\t\t\t\"width\": 249,\n\t\t\t\t\t\t\t\t\t\"height\": 53,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a43Auw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a440L8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a45Ei8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a46JwM=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a47ojU=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a41+cc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc22JbCX3BY=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a47ojU=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc22ELCUq+k=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 378,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+logFormatter: DDLogFormatter\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdSfGrcG/XM=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a47ojU=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdSfBLcDZnI=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 393,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+loggerQueue\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdTFZbdVXYM=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a47ojU=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdTFVLdS0MM=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 408,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+loggerName\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 496,\n\t\t\t\t\t\t\t\t\t\"top\": 373,\n\t\t\t\t\t\t\t\t\t\"width\": 249,\n\t\t\t\t\t\t\t\t\t\"height\": 53,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a48M/U=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a41+cc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW4a5bVIg=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a48M/U=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcLQX6w4sEw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 431,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+logMessage(message: DDLogMessage)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdOE37Xjabs=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a48M/U=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdOEy7XgiKs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 446,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+didAddLogger()\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdOyFrYyMiI=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a48M/U=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdOyBLYv5cg=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 461,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+willRemoveLogger()\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdR72baZR1k=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a48M/U=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdR7xbaWT4s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 476,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 239,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+flush()\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 496,\n\t\t\t\t\t\t\t\t\t\"top\": 426,\n\t\t\t\t\t\t\t\t\t\"width\": 249,\n\t\t\t\t\t\t\t\t\t\"height\": 68,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a490A8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a41+cc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -25,\n\t\t\t\t\t\t\t\t\t\"top\": 53,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcfW2a4+DSs=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a41+cc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -25,\n\t\t\t\t\t\t\t\t\t\"top\": 53,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 496,\n\t\t\t\t\t\t\t\"top\": 320,\n\t\t\t\t\t\t\t\"width\": 249,\n\t\t\t\t\t\t\t\"height\": 174,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a426kg=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a47ojU=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a48M/U=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a490A8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a4+DSs=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLInterfaceRealizationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQckQy66DNWg=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66CFMc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQckQzK6EGjM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66DNWg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66CFMc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 612,\n\t\t\t\t\t\t\t\t\t\"top\": 571,\n\t\t\t\t\t\t\t\t\t\"width\": 75,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66DNWg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"text\": \"+implements\",\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQckQzK6FITc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66DNWg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66CFMc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 634,\n\t\t\t\t\t\t\t\t\t\"top\": 571,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66DNWg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQckQzK6G3iU=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66DNWg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66CFMc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 678,\n\t\t\t\t\t\t\t\t\t\"top\": 572,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQy66DNWg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a41+cc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"664:664;664:493\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQzK6EGjM=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQzK6FITc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQckQzK6G3iU=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLAssociationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp8q6ogBU=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6kDCM=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp866paz4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6kDCM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 417,\n\t\t\t\t\t\t\t\t\t\"top\": 353,\n\t\t\t\t\t\t\t\t\t\"width\": 46,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"text\": \"-loggers\",\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp866q+DQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6kDCM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 440,\n\t\t\t\t\t\t\t\t\t\"top\": 368,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp866rlZo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6kDCM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 441,\n\t\t\t\t\t\t\t\t\t\"top\": 323,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp866sqo4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6lXOI=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 470,\n\t\t\t\t\t\t\t\t\t\"top\": 352,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 0.5235987755982988,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 2,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp866tK4Q=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6lXOI=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 467,\n\t\t\t\t\t\t\t\t\t\"top\": 366,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 0.7853981633974483,\n\t\t\t\t\t\t\t\t\t\"distance\": 40,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 2,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp866uSJI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6lXOI=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 472,\n\t\t\t\t\t\t\t\t\t\"top\": 325,\n\t\t\t\t\t\t\t\t\t\"width\": 5,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -0.5235987755982988,\n\t\t\t\t\t\t\t\t\t\"distance\": 25,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 2,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"text\": \"*\",\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp866vCXQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6m4wQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 412,\n\t\t\t\t\t\t\t\t\t\"top\": 352,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -0.5235987755982988,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 0,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp866w1TA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6m4wQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 415,\n\t\t\t\t\t\t\t\t\t\"top\": 366,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -0.7853981633974483,\n\t\t\t\t\t\t\t\t\t\"distance\": 40,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 0,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp866xGdI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6m4wQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 405,\n\t\t\t\t\t\t\t\t\t\"top\": 325,\n\t\t\t\t\t\t\t\t\t\"width\": 7,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 0.5235987755982988,\n\t\t\t\t\t\t\t\t\t\"distance\": 25,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 0,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"text\": \"1\",\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLQualifierCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp9K6yQgM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6lXOI=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -32,\n\t\t\t\t\t\t\t\t\t\"top\": 0,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLQualifierCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp9K6z31Y=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8q6ogBU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6m4wQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -32,\n\t\t\t\t\t\t\t\t\t\"top\": 0,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcZ2PK0J0m8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a41+cc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"496:344;387:344\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp866paz4=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp866q+DQ=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp866rlZo=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"tailRoleNameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp866sqo4=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tailPropertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp866tK4Q=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tailMultiplicityLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp866uSJI=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"headRoleNameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp866vCXQ=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"headPropertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp866w1TA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"headMultiplicityLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp866xGdI=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tailQualifiersCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp9K6yQgM=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"headQualifiersCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp9K6z31Y=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLInterfaceView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+R7Gvjn8=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+R7GwODo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+R7Gxi7U=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7GwODo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 861,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 357,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 343,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"«interface»\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+SLGyMkI=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7GwODo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 861,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 372,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 343,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDLogFormatter\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+SLGzf/Y=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7GwODo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 861,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 387,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 343,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+SLG0xDk=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7GwODo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 70,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 56,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 856,\n\t\t\t\t\t\t\t\t\t\"top\": 352,\n\t\t\t\t\t\t\t\t\t\"width\": 353,\n\t\t\t\t\t\t\t\t\t\"height\": 53,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gxi7U=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SLGyMkI=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SLGzf/Y=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SLG0xDk=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+SLG1TEY=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 856,\n\t\t\t\t\t\t\t\t\t\"top\": 405,\n\t\t\t\t\t\t\t\t\t\"width\": 353,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+SLG2hzw=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+WbHYP7A=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SLG2hzw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcIlpawppWo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 861,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 420,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 343,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+formatLogMessage(logMessage: DDLogMessage): String\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdBHA7Shwqg=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SLG2hzw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdBG4rSb4DA=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 861,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 435,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 343,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+didAddToLogger()\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdBx9rTwgRE=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SLG2hzw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdBx5bTqGpU=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 861,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 450,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 343,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+willRemoveFromLogger()\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 856,\n\t\t\t\t\t\t\t\t\t\"top\": 415,\n\t\t\t\t\t\t\t\t\t\"width\": 353,\n\t\t\t\t\t\t\t\t\t\"height\": 53,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+SbG39wA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 35,\n\t\t\t\t\t\t\t\t\t\"top\": 20,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc6+SbG4vLQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 35,\n\t\t\t\t\t\t\t\t\t\"top\": 20,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 856,\n\t\t\t\t\t\t\t\"top\": 352,\n\t\t\t\t\t\t\t\"width\": 353,\n\t\t\t\t\t\t\t\"height\": 116,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7GwODo=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SLG1TEY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SLG2hzw=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SbG39wA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+SbG4vLQ=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLAssociationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymbIq1dw=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7ImwsE=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymbIrEZA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7ImwsE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 759,\n\t\t\t\t\t\t\t\t\t\"top\": 393,\n\t\t\t\t\t\t\t\t\t\"width\": 81,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"text\": \"+logFormatter\",\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymbIs0zE=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7ImwsE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 799,\n\t\t\t\t\t\t\t\t\t\"top\": 408,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymrItoXY=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7ImwsE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 800,\n\t\t\t\t\t\t\t\t\t\"top\": 363,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymrIuIpg=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7InemA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 823,\n\t\t\t\t\t\t\t\t\t\"top\": 392,\n\t\t\t\t\t\t\t\t\t\"width\": 15,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 0.5235987755982988,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 2,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"text\": \"+a\",\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymrIvcJ0=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7InemA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 827,\n\t\t\t\t\t\t\t\t\t\"top\": 406,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 0.7853981633974483,\n\t\t\t\t\t\t\t\t\t\"distance\": 40,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 2,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymrIwQCI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7InemA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 823,\n\t\t\t\t\t\t\t\t\t\"top\": 365,\n\t\t\t\t\t\t\t\t\t\"width\": 22,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -0.5235987755982988,\n\t\t\t\t\t\t\t\t\t\"distance\": 25,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 2,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"text\": \"0..1\",\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymrIx2kg=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7IoNK0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 769,\n\t\t\t\t\t\t\t\t\t\"top\": 392,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -0.5235987755982988,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 0,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymrIyvyk=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7IoNK0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 772,\n\t\t\t\t\t\t\t\t\t\"top\": 406,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -0.7853981633974483,\n\t\t\t\t\t\t\t\t\t\"distance\": 40,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 0,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymrIzCmU=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7IoNK0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 754,\n\t\t\t\t\t\t\t\t\t\"top\": 365,\n\t\t\t\t\t\t\t\t\t\"width\": 22,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 0.5235987755982988,\n\t\t\t\t\t\t\t\t\t\"distance\": 25,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 0,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"text\": \"0..1\",\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLQualifierCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymrI0KJI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7InemA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 0,\n\t\t\t\t\t\t\t\t\t\"top\": 0,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLQualifierCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8ymrI14Dg=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIq1dw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7IoNK0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 0,\n\t\t\t\t\t\t\t\t\t\"top\": 0,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a41+cc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"856:384;744:384\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIrEZA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymbIs0zE=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymrItoXY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"tailRoleNameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymrIuIpg=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tailPropertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymrIvcJ0=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tailMultiplicityLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymrIwQCI=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"headRoleNameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymrIx2kg=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"headPropertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymrIyvyk=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"headMultiplicityLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymrIzCmU=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tailQualifiersCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymrI0KJI=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"headQualifiersCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8ymrI14Dg=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8E7gnfX0=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8FLgoYo4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8E7gnfX0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8FLgp3Ms=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FLgoYo4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -320,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -554,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8FLgqEWU=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FLgoYo4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 439,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDLogMessage\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8FLgr19U=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FLgoYo4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 454,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8FLgs344=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FLgoYo4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -320,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -554,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 176,\n\t\t\t\t\t\t\t\t\t\"top\": 432,\n\t\t\t\t\t\t\t\t\t\"width\": 209,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FLgp3Ms=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FLgqEWU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FLgr19U=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FLgs344=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8FbgtUvs=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8E7gnfX0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdV9pril1cU=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdV9jbicNCQ=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 477,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+message: String\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdXC+7kNjKE=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdXC57kEgKE=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 492,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+level: DDLogLevel\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdYkBrl14z8=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdYj8LlsCYQ=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 507,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+flag: DDLogFlag\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdZjabndz5U=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdZjWLnUYu4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 522,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+context: Int\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdaKtLpF5Lo=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdaKoro8pXc=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 537,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+file: String\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQda90bqt0+4=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQda9vrqkaOQ=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 552,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+function: String\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdb1PbsV8nU=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdb1KbsMFu4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 567,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+line: Int\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdc1MLt9X5k=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdc1Grt0EBk=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 582,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+tag\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQddQm7veaGg=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQddQhrvV9wQ=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 597,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+options: DDLogMessageOptions\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdiDz7xSXyk=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdiDtrxJGDY=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 612,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+timestamp: Date\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdivk7y6OeI=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdiveryxWHw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 627,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+threadID: String\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdjk0r0ih2c=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdjkvL0ZfwQ=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 642,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+threadName: String\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdkKhr2KTCM=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdkKcL2BSyI=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 181,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 657,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 199,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"+queueLabel: String\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 176,\n\t\t\t\t\t\t\t\t\t\"top\": 472,\n\t\t\t\t\t\t\t\t\t\"width\": 209,\n\t\t\t\t\t\t\t\t\t\"height\": 203,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8FbguTHA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8E7gnfX0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 176,\n\t\t\t\t\t\t\t\t\t\"top\": 675,\n\t\t\t\t\t\t\t\t\t\"width\": 209,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8FbgvHZM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8E7gnfX0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -160,\n\t\t\t\t\t\t\t\t\t\"top\": -277,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdU8FrgwDwM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8E7gnfX0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -160,\n\t\t\t\t\t\t\t\t\t\"top\": -277,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 176,\n\t\t\t\t\t\t\t\"top\": 432,\n\t\t\t\t\t\t\t\"width\": 209,\n\t\t\t\t\t\t\t\"height\": 253,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FLgoYo4=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgtUvs=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbguTHA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FbgvHZM=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8FrgwDwM=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hMsXa+04=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdp91b7JZFg=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hM8XbII8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hMsXa+04=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdp91b7JZFg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hM8XcRUE=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8XbII8=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -192,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 128,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hM8XdTbU=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8XbII8=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 421,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 815,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDTTYLogger\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hM8Xet+Q=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8XbII8=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 421,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 830,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hM8Xf/w4=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8XbII8=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -192,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 128,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 416,\n\t\t\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8XcRUE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8XdTbU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8Xet+Q=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8Xf/w4=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hM8XguZM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hMsXa+04=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdp91b7JZFg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 416,\n\t\t\t\t\t\t\t\t\t\"top\": 848,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hNMXhXNA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hMsXa+04=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdp91b7JZFg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 416,\n\t\t\t\t\t\t\t\t\t\"top\": 858,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hNMXiDo4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hMsXa+04=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdp91b7JZFg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -96,\n\t\t\t\t\t\t\t\t\t\"top\": 64,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd3hNMXj/68=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hMsXa+04=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdp91b7JZFg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -96,\n\t\t\t\t\t\t\t\t\t\"top\": 64,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 416,\n\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\"height\": 60,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8XbII8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hM8XguZM=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hNMXhXNA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hNMXiDo4=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hNMXj/68=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K58jRla0=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsEb78Kg3c=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K58jS+Os=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jRla0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsEb78Kg3c=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K58jTp8Y=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jS+Os=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -140,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 124,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K6MjUwW0=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jS+Os=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 589,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 815,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDASLLogger\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K6MjVtBQ=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jS+Os=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 589,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 830,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K6MjW/YI=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jS+Os=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -140,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 124,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 584,\n\t\t\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jTp8Y=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K6MjUwW0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K6MjVtBQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K6MjW/YI=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K6MjXTnc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jRla0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsEb78Kg3c=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 584,\n\t\t\t\t\t\t\t\t\t\"top\": 848,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K6MjYAsY=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jRla0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsEb78Kg3c=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 584,\n\t\t\t\t\t\t\t\t\t\"top\": 858,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K6cjZDOc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jRla0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsEb78Kg3c=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -70,\n\t\t\t\t\t\t\t\t\t\"top\": 62,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7K6cja9U0=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jRla0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsEb78Kg3c=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -70,\n\t\t\t\t\t\t\t\t\t\"top\": 62,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 584,\n\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\"height\": 60,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jS+Os=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K6MjXTnc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K6MjYAsY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K6cjZDOc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K6cja9U0=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7njclu8cE=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsvJr8+Ur8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7njclvM28=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclu8cE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsvJr8+Ur8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7njclwiXc=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclvM28=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -72,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 124,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7njslxJW4=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclvM28=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 749,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 815,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDFileLogger\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7njsly1wI=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclvM28=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 749,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 830,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7njslzEDE=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclvM28=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -72,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 124,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 744,\n\t\t\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclwiXc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njslxJW4=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njsly1wI=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njslzEDE=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7njsl09YQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclu8cE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsvJr8+Ur8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 744,\n\t\t\t\t\t\t\t\t\t\"top\": 848,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7njsl1p4c=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclu8cE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsvJr8+Ur8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 744,\n\t\t\t\t\t\t\t\t\t\"top\": 858,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7njsl2L5s=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclu8cE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsvJr8+Ur8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -36,\n\t\t\t\t\t\t\t\t\t\"top\": 62,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQd7nj8l3NXE=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclu8cE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsvJr8+Ur8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -36,\n\t\t\t\t\t\t\t\t\t\"top\": 62,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 744,\n\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\"height\": 60,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclvM28=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njsl09YQ=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njsl1p4c=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njsl2L5s=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7nj8l3NXE=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLDependencyView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTUYaAHJxajVY=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxYZr8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTUYaAHJxbcCQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxajVY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxYZr8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 486,\n\t\t\t\t\t\t\t\t\t\"top\": 445,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxajVY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTUYaAHJxcoQw=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxajVY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxYZr8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 501,\n\t\t\t\t\t\t\t\t\t\"top\": 445,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxajVY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTUYaAHJxdeNA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxajVY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxYZr8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 457,\n\t\t\t\t\t\t\t\t\t\"top\": 446,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxajVY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdU8E7gnfX0=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfW2a41+cc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"496:440;472:440;472:464;384:464\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxbcCQ=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxcoQw=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTUYaAHJxdeNA=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLGeneralizationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFcUVuxFLpU=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxDXic=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFcUVuxGIyE=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxFLpU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxDXic=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 553,\n\t\t\t\t\t\t\t\t\t\"top\": 767,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxFLpU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFcUVuxHg34=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxFLpU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxDXic=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 553,\n\t\t\t\t\t\t\t\t\t\"top\": 752,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxFLpU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFcUVuxIzok=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxFLpU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxDXic=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 553,\n\t\t\t\t\t\t\t\t\t\"top\": 797,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxFLpU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd3hMsXa+04=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"491:808;491:788;616:788;616:723\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxGIyE=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxHg34=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFcUVuxIzok=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLGeneralizationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFdQDuzKSd0=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDezIIfU=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFdQDuzLSvM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDuzKSd0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDezIIfU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 641,\n\t\t\t\t\t\t\t\t\t\"top\": 758,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDuzKSd0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFdQDuzM36s=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDuzKSd0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDezIIfU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 626,\n\t\t\t\t\t\t\t\t\t\"top\": 758,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDuzKSd0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFdQDuzNQbA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDuzKSd0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDezIIfU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 670,\n\t\t\t\t\t\t\t\t\t\"top\": 759,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDuzKSd0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7K58jRla0=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"656:808;656:723\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDuzLSvM=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDuzM36s=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFdQDuzNQbA=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLGeneralizationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFd+r+1cP9M=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1a6vg=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFd+r+1duXA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1cP9M=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1a6vg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 756,\n\t\t\t\t\t\t\t\t\t\"top\": 797,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1cP9M=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFd+r+1eZTs=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1cP9M=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1a6vg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 756,\n\t\t\t\t\t\t\t\t\t\"top\": 812,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1cP9M=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFd+r+1f7A8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1cP9M=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1a6vg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 757,\n\t\t\t\t\t\t\t\t\t\"top\": 767,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1cP9M=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQd7njclu8cE=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"819:808;819:788;696:788;696:723\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1duXA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1eZTs=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFd+r+1f7A8=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvHu7JJxo=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFltuu6ycXs=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvHu7KDt0=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7JJxo=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFltuu6ycXs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvHu7L96Q=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7KDt0=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -14,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 148,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvH+7MVUg=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7KDt0=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 933,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 815,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 185.78955078125,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDAbstractDatabaseLogger\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvH+7NjVQ=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7KDt0=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 933,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 830,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 185.78955078125,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvH+7O8Js=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7KDt0=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -14,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 148,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 928,\n\t\t\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\t\t\"width\": 195.78955078125,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7L96Q=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvH+7MVUg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvH+7NjVQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvH+7O8Js=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvH+7PTyI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7JJxo=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFltuu6ycXs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 928,\n\t\t\t\t\t\t\t\t\t\"top\": 848,\n\t\t\t\t\t\t\t\t\t\"width\": 195.78955078125,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvH+7QrPg=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7JJxo=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFltuu6ycXs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 928,\n\t\t\t\t\t\t\t\t\t\"top\": 858,\n\t\t\t\t\t\t\t\t\t\"width\": 195.78955078125,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvIO7RaAg=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7JJxo=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFltuu6ycXs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -7,\n\t\t\t\t\t\t\t\t\t\"top\": 74,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFmvIO7S00I=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7JJxo=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFltuu6ycXs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -7,\n\t\t\t\t\t\t\t\t\t\"top\": 74,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#c6c6c6\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 928,\n\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\"width\": 195.78955078125,\n\t\t\t\t\t\t\t\"height\": 60,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7KDt0=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvH+7PTyI=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvH+7QrPg=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvIO7RaAg=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvIO7S00I=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLGeneralizationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFp2Ju/5TOA=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/3Y54=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFp2Ju/6dI4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/5TOA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/3Y54=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 999,\n\t\t\t\t\t\t\t\t\t\"top\": 713,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/5TOA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFp2J+/7oT0=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/5TOA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/3Y54=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 999,\n\t\t\t\t\t\t\t\t\t\"top\": 728,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/5TOA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFp2J+/8I5w=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/5TOA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/3Y54=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1000,\n\t\t\t\t\t\t\t\t\t\"top\": 683,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/5TOA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcfNOq4OFig=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFmvHu7JJxo=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"1000:808;1000:704;735:704\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2Ju/6dI4=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2J+/7oT0=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFp2J+/8I5w=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq6/D8Vss=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtKePDlB+o=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq6/D9R7g=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D8Vss=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtKePDlB+o=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq6/D+TOs=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D9R7g=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -682,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -14,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq7PD/Zgo=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D9R7g=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 781,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 615,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 212.93212890625,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDDispatchQueueLogFormatter\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq7PEAhTw=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D9R7g=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 781,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 630,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 212.93212890625,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq7PEBPC8=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D9R7g=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -682,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -14,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 776,\n\t\t\t\t\t\t\t\t\t\"top\": 608,\n\t\t\t\t\t\t\t\t\t\"width\": 222.93212890625,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D+TOs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq7PD/Zgo=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq7PEAhTw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq7PEBPC8=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq7PEC+/U=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D8Vss=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtKePDlB+o=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 776,\n\t\t\t\t\t\t\t\t\t\"top\": 648,\n\t\t\t\t\t\t\t\t\t\"width\": 222.93212890625,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq7PEDe5w=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D8Vss=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtKePDlB+o=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 776,\n\t\t\t\t\t\t\t\t\t\"top\": 658,\n\t\t\t\t\t\t\t\t\t\"width\": 222.93212890625,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq7fEEYFw=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D8Vss=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtKePDlB+o=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -341,\n\t\t\t\t\t\t\t\t\t\"top\": -7,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtq7fEFKVM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D8Vss=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtKePDlB+o=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -341,\n\t\t\t\t\t\t\t\t\t\"top\": -7,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 776,\n\t\t\t\t\t\t\t\"top\": 608,\n\t\t\t\t\t\t\t\"width\": 222.93212890625,\n\t\t\t\t\t\t\t\"height\": 60,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D9R7g=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq7PEC+/U=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq7PEDe5w=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq7fEEYFw=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq7fEFKVM=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLInterfaceRealizationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFvnTvHBrZM=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFvnT/HCxyI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHBrZM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 889,\n\t\t\t\t\t\t\t\t\t\"top\": 530,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHBrZM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFvnT/HDEkc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHBrZM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 874,\n\t\t\t\t\t\t\t\t\t\"top\": 530,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHBrZM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFvnT/HE1W0=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHBrZM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 918,\n\t\t\t\t\t\t\t\t\t\"top\": 531,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHBrZM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFtq6/D8Vss=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"904:608;904:467\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnT/HCxyI=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnT/HDEkc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnT/HE1W0=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZe/KZ/AQ=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyKSPKCtKA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZe/Ka1nA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/KZ/AQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyKSPKCtKA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZe/KblrQ=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/Ka1nA=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -538,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -38,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZe/KcQf4=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/Ka1nA=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 1037,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 615,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDMultiFormatter\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZfPKdnUM=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/Ka1nA=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 1037,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 630,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZfPKePck=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/Ka1nA=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -538,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -38,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1032,\n\t\t\t\t\t\t\t\t\t\"top\": 608,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/KblrQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/KcQf4=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZfPKdnUM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZfPKePck=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZfPKfVAI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/KZ/AQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyKSPKCtKA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1032,\n\t\t\t\t\t\t\t\t\t\"top\": 648,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZfPKgc/w=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/KZ/AQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyKSPKCtKA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1032,\n\t\t\t\t\t\t\t\t\t\"top\": 658,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZfPKh7eg=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/KZ/AQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyKSPKCtKA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -269,\n\t\t\t\t\t\t\t\t\t\"top\": -19,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyZffKinT4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/KZ/AQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyKSPKCtKA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -269,\n\t\t\t\t\t\t\t\t\t\"top\": -19,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 1032,\n\t\t\t\t\t\t\t\"top\": 608,\n\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\"height\": 60,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/Ka1nA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZfPKfVAI=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZfPKgc/w=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZfPKh7eg=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZffKinT4=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLInterfaceRealizationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFypRABBJB0=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFypRgBC6Qw=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFypRABBJB0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1081,\n\t\t\t\t\t\t\t\t\t\"top\": 530,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFypRABBJB0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFypRgBDq50=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFypRABBJB0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1066,\n\t\t\t\t\t\t\t\t\t\"top\": 530,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFypRABBJB0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFypRgBE0nc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFypRABBJB0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1110,\n\t\t\t\t\t\t\t\t\t\"top\": 531,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFypRABBJB0=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFyZe/KZ/AQ=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"1096:608;1096:467\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFypRgBC6Qw=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFypRgBDq50=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFypRgBE0nc=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJfPqhHE=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF0b6POxqos=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJvPrjTw=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJfPqhHE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF0b6POxqos=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJvPsTKk=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPrjTw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 126,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -240,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJvPtEmo=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPrjTw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 1221,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 615,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 256.17236328125,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDContextWhitelistFilterLogFormatter\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJvPudYo=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPrjTw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 1221,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 630,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 256.17236328125,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJvPv1Gw=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPrjTw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 126,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -240,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1216,\n\t\t\t\t\t\t\t\t\t\"top\": 608,\n\t\t\t\t\t\t\t\t\t\"width\": 266.17236328125,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPsTKk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPtEmo=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPudYo=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPv1Gw=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJvPwkbE=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJfPqhHE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF0b6POxqos=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1216,\n\t\t\t\t\t\t\t\t\t\"top\": 648,\n\t\t\t\t\t\t\t\t\t\"width\": 266.17236328125,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJ/Pxhks=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJfPqhHE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF0b6POxqos=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1216,\n\t\t\t\t\t\t\t\t\t\"top\": 658,\n\t\t\t\t\t\t\t\t\t\"width\": 266.17236328125,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJ/Py2Ao=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJfPqhHE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF0b6POxqos=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 63,\n\t\t\t\t\t\t\t\t\t\"top\": -120,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1eJ/Pzxzs=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJfPqhHE=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF0b6POxqos=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 63,\n\t\t\t\t\t\t\t\t\t\"top\": -120,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 1216,\n\t\t\t\t\t\t\t\"top\": 608,\n\t\t\t\t\t\t\t\"width\": 266.17236328125,\n\t\t\t\t\t\t\t\"height\": 60,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPrjTw=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJvPwkbE=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJ/Pxhks=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJ/Py2Ao=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJ/Pzxzs=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClassView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQvT80=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1LgPPNuhU=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQwO0s=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQvT80=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1LgPPNuhU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQxWqs=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQwO0s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -580,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -128,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQy2FM=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQwO0s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 1197,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 695,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 253.97607421875,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDContextBlacklistFilterLogFormatter\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQzFbo=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQwO0s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 1197,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 710,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 253.97607421875,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQ0Dcs=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQwO0s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -580,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": -128,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1192,\n\t\t\t\t\t\t\t\t\t\"top\": 688,\n\t\t\t\t\t\t\t\t\t\"width\": 263.97607421875,\n\t\t\t\t\t\t\t\t\t\"height\": 40,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQxWqs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQy2FM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQzFbo=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQ0Dcs=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQ1jPo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQvT80=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1LgPPNuhU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1192,\n\t\t\t\t\t\t\t\t\t\"top\": 728,\n\t\t\t\t\t\t\t\t\t\"width\": 263.97607421875,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQ2xJI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQvT80=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1LgPPNuhU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1192,\n\t\t\t\t\t\t\t\t\t\"top\": 738,\n\t\t\t\t\t\t\t\t\t\"width\": 263.97607421875,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQ3IKA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQvT80=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1LgPPNuhU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -290,\n\t\t\t\t\t\t\t\t\t\"top\": -64,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1nXPQ4828=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQvT80=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1LgPPNuhU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -290,\n\t\t\t\t\t\t\t\t\t\"top\": -64,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 1192,\n\t\t\t\t\t\t\t\"top\": 688,\n\t\t\t\t\t\t\t\"width\": 263.97607421875,\n\t\t\t\t\t\t\t\"height\": 60,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQwO0s=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": false,\n\t\t\t\t\t\t\t\"suppressOperations\": false,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQ1jPo=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQ2xJI=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQ3IKA=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQ4828=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLInterfaceRealizationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF4aawBFKtY=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF4abABGsIM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF4aawBFKtY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1343,\n\t\t\t\t\t\t\t\t\t\"top\": 449,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF4aawBFKtY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF4abABHQpQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF4aawBFKtY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1343,\n\t\t\t\t\t\t\t\t\t\"top\": 464,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF4aawBFKtY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF4abABId0s=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF4aawBFKtY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1344,\n\t\t\t\t\t\t\t\t\t\"top\": 419,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF4aawBFKtY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1eJfPqhHE=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"1344:608;1344:440;1208:440\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF4abABGsIM=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF4abABHQpQ=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF4abABId0s=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLInterfaceRealizationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF5AcgBJG/A=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF5AcwBKa30=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF5AcgBJG/A=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1185,\n\t\t\t\t\t\t\t\t\t\"top\": 570,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF5AcgBJG/A=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF5AcwBLbSc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF5AcgBJG/A=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": null,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1170,\n\t\t\t\t\t\t\t\t\t\"top\": 570,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": 1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 30,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF5AcgBJG/A=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"EdgeLabelView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF5AcwBMSr8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF5AcgBJG/A=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFvnTvHA3Fc=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 1215,\n\t\t\t\t\t\t\t\t\t\"top\": 571,\n\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"alpha\": -1.5707963267948966,\n\t\t\t\t\t\t\t\t\t\"distance\": 15,\n\t\t\t\t\t\t\t\t\t\"hostEdge\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF5AcgBJG/A=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"edgePosition\": 1,\n\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#ffffff\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"head\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc6+R7Gvjn8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"tail\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1nXPQvT80=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"lineStyle\": 0,\n\t\t\t\t\t\t\t\"points\": \"1200:688;1200:467\",\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF5AcwBKa30=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF5AcwBLbSc=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF5AcwBMSr8=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyw4qc8Tg=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyw4qdJVo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qc8Tg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyw4qeYFw=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qdJVo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 101,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 725,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"«enumeration»\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyxIqfEUY=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qdJVo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 101,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 740,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDLogFlag\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyxIqgEGQ=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qdJVo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 101,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 755,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyxIqh9rU=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qdJVo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -2874,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 674,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 96,\n\t\t\t\t\t\t\t\t\t\"top\": 720,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 53,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qeYFw=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxIqfEUY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxIqgEGQ=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxIqh9rU=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyxIqisiY=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qc8Tg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -1437,\n\t\t\t\t\t\t\t\t\t\"top\": 337,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyxIqjTy8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qc8Tg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -1437,\n\t\t\t\t\t\t\t\t\t\"top\": 337,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyxYqkO3s=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qc8Tg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -1437,\n\t\t\t\t\t\t\t\t\t\"top\": 337,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyxYqlvK8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qc8Tg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -1437,\n\t\t\t\t\t\t\t\t\t\"top\": 337,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJyxYqmF+Q=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qc8Tg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJy1YrMMT0=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxYqmF+Q=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqv8v9Fnc=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 101,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 778,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Error\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJy1orPdbU=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxYqmF+Q=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqv8v+nk8=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 101,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 793,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Warn\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJy14rSLWU=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxYqmF+Q=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqv8v/6zI=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 101,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Info\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJy14rVWpo=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxYqmF+Q=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqv8wAKBU=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 101,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 823,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Debug\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGJy14rYzEY=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxYqmF+Q=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqv8wBRIk=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 101,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 838,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Verbose\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 96,\n\t\t\t\t\t\t\t\t\t\"top\": 773,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 83,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 96,\n\t\t\t\t\t\t\t\"top\": 720,\n\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\"height\": 136,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyw4qdJVo=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": true,\n\t\t\t\t\t\t\t\"suppressOperations\": true,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxIqisiY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxIqjTy8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxYqkO3s=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxYqlvK8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"suppressLiterals\": false,\n\t\t\t\t\t\t\t\"enumerationLiteralCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGJyxYqmF+Q=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationView\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOIr07EY=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBtyKM79qY=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLNameCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOIr1BPU=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr07EY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOIr2FbY=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr1BPU=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 725,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"«enumeration»\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOIr3tVg=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr1BPU=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;1\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 740,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"DDLogLevel\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOIr4JGU=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr1BPU=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 755,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"(from CocoaLumberjack)\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 2,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"LabelView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOIr5/9U=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr1BPU=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": -2550,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 136,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 1,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 256,\n\t\t\t\t\t\t\t\t\t\"top\": 720,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 53,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\"stereotypeLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr2FbY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"nameLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr3tVg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"namespaceLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr4JGU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"propertyLabel\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr5/9U=\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttributeCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOIr6DNo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr07EY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -1275,\n\t\t\t\t\t\t\t\t\t\"top\": 68,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperationCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOYr7m+8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr07EY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -1275,\n\t\t\t\t\t\t\t\t\t\"top\": 68,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLReceptionCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOYr8YiQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr07EY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -1275,\n\t\t\t\t\t\t\t\t\t\"top\": 68,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLTemplateParameterCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOYr9Vx4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr07EY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visible\": false,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": -1275,\n\t\t\t\t\t\t\t\t\t\"top\": 68,\n\t\t\t\t\t\t\t\t\t\"width\": 10,\n\t\t\t\t\t\t\t\t\t\"height\": 10,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralCompartmentView\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKEOYr+b7s=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr07EY=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"subViews\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKER4skRrw=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr+b7s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswFcIY=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 778,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Off\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKESIsnzAU=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr+b7s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswGC5Y=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 793,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Error\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKESIsqQCk=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr+b7s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswHHTY=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 808,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Warn\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKESYst2Ug=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr+b7s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswIDrE=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 823,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Info\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKESYswHOg=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr+b7s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswJsDY=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 838,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Debug\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKESYszkno=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr+b7s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswKwo4=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 853,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"Verbose\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteralView\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGKESos2tQs=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr+b7s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"model\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswLSu8=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"left\": 261,\n\t\t\t\t\t\t\t\t\t\t\t\"top\": 868,\n\t\t\t\t\t\t\t\t\t\t\t\"width\": 142,\n\t\t\t\t\t\t\t\t\t\t\t\"height\": 13,\n\t\t\t\t\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"underline\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"text\": \"All\",\n\t\t\t\t\t\t\t\t\t\t\t\"horizontalAlignment\": 0,\n\t\t\t\t\t\t\t\t\t\t\t\"verticalAlignment\": 5\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\t\t\"containerChangeable\": false,\n\t\t\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\t\t\"left\": 256,\n\t\t\t\t\t\t\t\t\t\"top\": 773,\n\t\t\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\t\t\"height\": 113,\n\t\t\t\t\t\t\t\t\t\"autoResize\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visible\": true,\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\t\"lineColor\": \"#000000\",\n\t\t\t\t\t\t\t\"fillColor\": \"#cccccc\",\n\t\t\t\t\t\t\t\"fontColor\": \"#000000\",\n\t\t\t\t\t\t\t\"font\": \"Arial;13;0\",\n\t\t\t\t\t\t\t\"showShadow\": true,\n\t\t\t\t\t\t\t\"containerChangeable\": true,\n\t\t\t\t\t\t\t\"containerExtending\": false,\n\t\t\t\t\t\t\t\"left\": 256,\n\t\t\t\t\t\t\t\"top\": 720,\n\t\t\t\t\t\t\t\"width\": 152,\n\t\t\t\t\t\t\t\"height\": 166,\n\t\t\t\t\t\t\t\"autoResize\": false,\n\t\t\t\t\t\t\t\"stereotypeDisplay\": \"label\",\n\t\t\t\t\t\t\t\"showVisibility\": true,\n\t\t\t\t\t\t\t\"showNamespace\": true,\n\t\t\t\t\t\t\t\"showProperty\": true,\n\t\t\t\t\t\t\t\"showType\": true,\n\t\t\t\t\t\t\t\"nameCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr1BPU=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"wordWrap\": false,\n\t\t\t\t\t\t\t\"suppressAttributes\": true,\n\t\t\t\t\t\t\t\"suppressOperations\": true,\n\t\t\t\t\t\t\t\"suppressReceptions\": true,\n\t\t\t\t\t\t\t\"showMultiplicity\": true,\n\t\t\t\t\t\t\t\"showOperationSignature\": true,\n\t\t\t\t\t\t\t\"attributeCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOIr6DNo=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"operationCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr7m+8=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"receptionCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr8YiQ=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"templateParameterCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr9Vx4=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"suppressLiterals\": false,\n\t\t\t\t\t\t\t\"enumerationLiteralCompartment\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGKEOYr+b7s=\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"_type\": \"UMLPackage\",\n\t\t\t\t\t\"_id\": \"AAAAAAFTQPLgP6rUTww=\",\n\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\"$ref\": \"AAAAAAFF+qBWK6M3Z8Y=\"\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"CocoaLumberjack\",\n\t\t\t\t\t\"ownedElements\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQboi3atOLvk=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDLog\",\n\t\t\t\t\t\t\t\"ownedElements\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp8K6kDCM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"loggers\",\n\t\t\t\t\t\t\t\t\t\"end1\": {\n\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociationEnd\",\n\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp8K6lXOI=\",\n\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6kDCM=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"reference\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\"navigable\": true,\n\t\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\t\"multiplicity\": \"*\",\n\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end2\": {\n\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociationEnd\",\n\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcqp8K6m4wQ=\",\n\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcqp8K6kDCM=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"reference\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\"navigable\": true,\n\t\t\t\t\t\t\t\t\t\t\"aggregation\": \"shared\",\n\t\t\t\t\t\t\t\t\t\t\"multiplicity\": \"1\",\n\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"private\",\n\t\t\t\t\t\t\t\t\t\"isDerived\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"attributes\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcC0PavoeNk=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"loggingQueue\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTUWpzHUs5hn8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"loggers\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"private\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"[DDLogger]\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"operations\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQbt/PKuBaDQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"log:\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQbw7AquIOPo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"addLogger:\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLParameter\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQb4NMKvHXYs=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQbw7AquIOPo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"logger\",\n\t\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"direction\": \"in\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQbyeA6uTw6s=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"removeLogger:\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLParameter\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQb5VH6vMJW4=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQbyeA6uTw6s=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"logger\",\n\t\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"direction\": \"in\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcErxav2uJ8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"allLoggers\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcEAiKvvGFk=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQboi3atOLvk=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"removeAllLoggers\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLInterface\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQb0M+auaawA=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDLogger\",\n\t\t\t\t\t\t\t\"ownedElements\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLGeneralization\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQchXhK5iUkk=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"source\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"target\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLInterfaceRealization\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQckQy66CFMc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"source\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"target\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8yl7ImwsE=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"logFormatter\",\n\t\t\t\t\t\t\t\t\t\"end1\": {\n\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociationEnd\",\n\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8yl7InemA=\",\n\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7ImwsE=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"reference\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\"navigable\": true,\n\t\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\t\"multiplicity\": \"0..1\",\n\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end2\": {\n\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociationEnd\",\n\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc8yl7IoNK0=\",\n\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQc8yl7ImwsE=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"reference\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\"navigable\": true,\n\t\t\t\t\t\t\t\t\t\t\"aggregation\": \"shared\",\n\t\t\t\t\t\t\t\t\t\t\"multiplicity\": \"0..1\",\n\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isDerived\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdycNsFZyWM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end1\": {\n\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociationEnd\",\n\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdycNsFa7a0=\",\n\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdycNsFZyWM=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"reference\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\"navigable\": false,\n\t\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end2\": {\n\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociationEnd\",\n\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdycNsFbQbM=\",\n\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdycNsFZyWM=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"reference\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\"navigable\": true,\n\t\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isDerived\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLDependency\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTUYaAHJxYZr8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"source\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"target\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"attributes\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQc22ELCUq+k=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"logFormatter\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdSfBLcDZnI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"loggerQueue\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdTFVLdS0MM=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"loggerName\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"operations\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcLQX6w4sEw=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"logMessage\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLParameter\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdMlbrV1tlg=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcLQX6w4sEw=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"message\",\n\t\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"direction\": \"in\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdOEy7XgiKs=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"didAddLogger\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdOyBLYv5cg=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"willRemoveLogger\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdR7xbaWT4s=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQb0M+auaawA=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"flush\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLInterface\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcG+a6v+1oM=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDLogFormatter\",\n\t\t\t\t\t\t\t\"ownedElements\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLInterfaceRealization\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFvnTvHA3Fc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"source\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDF1LgPPNuhU=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"target\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"operations\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcIlpawppWo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"formatLogMessage\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLParameter\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTUX3Z1oeAdC0=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcIlpawppWo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"logMessage\",\n\t\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"direction\": \"in\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLParameter\",\n\t\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTUYMKl4xK4MY=\",\n\t\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcIlpawppWo=\"\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"type\": \"String\",\n\t\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\t\"direction\": \"return\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdBG4rSb4DA=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"didAddToLogger\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLOperation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdBx5bTqGpU=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcG+a6v+1oM=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"willRemoveFromLogger\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"concurrency\": \"sequential\",\n\t\t\t\t\t\t\t\t\t\"isQuery\": false,\n\t\t\t\t\t\t\t\t\t\"isAbstract\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcVwIKyu1No=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDLogMessage\",\n\t\t\t\t\t\t\t\"ownedElements\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociation\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGOL+43YGVo=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end1\": {\n\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociationEnd\",\n\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGOL+43ZqbI=\",\n\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGOL+43YGVo=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"reference\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\"navigable\": true,\n\t\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end2\": {\n\t\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAssociationEnd\",\n\t\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGOL+43asYM=\",\n\t\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGOL+43YGVo=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"reference\": {\n\t\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\t\"navigable\": true,\n\t\t\t\t\t\t\t\t\t\t\"aggregation\": \"shared\",\n\t\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isDerived\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"attributes\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdV9jbicNCQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"message\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"String\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdXC57kEgKE=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"level\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"DDLogLevel\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdYj8LlsCYQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"flag\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"DDLogFlag\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdZjWLnUYu4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"context\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"Int\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdaKoro8pXc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"file\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"String\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQda9vrqkaOQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"function\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"String\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdb1KbsMFu4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"line\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"Int\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdc1Grt0EBk=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"tag\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQddQhrvV9wQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"options\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"DDLogMessageOptions\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdiDtrxJGDY=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"timestamp\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"Date\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdiveryxWHw=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"threadID\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"String\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdjkvL0ZfwQ=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"threadName\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"String\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLAttribute\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdkKcL2BSyI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcVwIKyu1No=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"queueLabel\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\t\t\"isStatic\": false,\n\t\t\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\t\t\"type\": \"String\",\n\t\t\t\t\t\t\t\t\t\"isReadOnly\": false,\n\t\t\t\t\t\t\t\t\t\"isOrdered\": false,\n\t\t\t\t\t\t\t\t\t\"isUnique\": false,\n\t\t\t\t\t\t\t\t\t\"isDerived\": false,\n\t\t\t\t\t\t\t\t\t\"aggregation\": \"none\",\n\t\t\t\t\t\t\t\t\t\"isID\": false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQcd7qa4I83s=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDAbstractLogger\",\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": true,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdp91b7JZFg=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDTTYLogger\",\n\t\t\t\t\t\t\t\"ownedElements\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLGeneralization\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFcUVuxDXic=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdp91b7JZFg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"source\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdp91b7JZFg=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"target\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdsEb78Kg3c=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDASLLogger\",\n\t\t\t\t\t\t\t\"ownedElements\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLGeneralization\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFdQDezIIfU=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsEb78Kg3c=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"source\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsEb78Kg3c=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"target\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFTQdsvJr8+Ur8=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDFileLogger\",\n\t\t\t\t\t\t\t\"ownedElements\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLGeneralization\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFd+r+1a6vg=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsvJr8+Ur8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"source\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQdsvJr8+Ur8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"target\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFltuu6ycXs=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDAbstractDatabaseLogger\",\n\t\t\t\t\t\t\t\"ownedElements\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLGeneralization\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFp2Ju/3Y54=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFltuu6ycXs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"source\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDFltuu6ycXs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"target\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQcd7qa4I83s=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFtKePDlB+o=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDDispatchQueueLogFormatter\",\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDFyKSPKCtKA=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDMultiFormatter\",\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF0b6POxqos=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDContextWhitelistFilterLogFormatter\",\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLClass\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDF1LgPPNuhU=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDContextBlacklistFilterLogFormatter\",\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"isActive\": false\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLEnumeration\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGCqvsvwtWs=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDLogFlag\",\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"literals\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGCqv8v9Fnc=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Error\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGCqv8v+nk8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Warn\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGCqv8v/6zI=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Info\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGCqv8wAKBU=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Debug\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGCqv8wBRIk=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGCqvsvwtWs=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Verbose\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"_type\": \"UMLEnumeration\",\n\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGEwKswCgX8=\",\n\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFTQPLgP6rUTww=\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"DDLogLevel\",\n\t\t\t\t\t\t\t\"visibility\": \"public\",\n\t\t\t\t\t\t\t\"isAbstract\": false,\n\t\t\t\t\t\t\t\"isFinalSpecialization\": false,\n\t\t\t\t\t\t\t\"isLeaf\": false,\n\t\t\t\t\t\t\t\"literals\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGEwKswFcIY=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Off\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGEwKswGC5Y=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Error\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGEwKswHHTY=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Warn\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGEwKswIDrE=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Info\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGEwKswJsDY=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Debug\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGEwKswKwo4=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"Verbose\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"_type\": \"UMLEnumerationLiteral\",\n\t\t\t\t\t\t\t\t\t\"_id\": \"AAAAAAFVDGEwKswLSu8=\",\n\t\t\t\t\t\t\t\t\t\"_parent\": {\n\t\t\t\t\t\t\t\t\t\t\"$ref\": \"AAAAAAFVDGEwKswCgX8=\"\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"All\",\n\t\t\t\t\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"visibility\": \"public\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"visibility\": \"public\"\n\t\t}\n\t],\n\t\"author\": \"Bogdan Poplauschi\",\n\t\"company\": \"Yardi\"\n}"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/CustomContext.md",
    "content": "Taking advantage of logging contexts.\n\n# Introduction\n\nLogging contexts allow you to define a particular context for a log message. This context is simply an integer that is transmitted to the logging framework along with the log message. Thus, you are free to define a context however you want.\n\nContexts can be used in a wide variety of ways. Here are a few examples.\n\n#### Example 1:\n\nSome applications are rather modular, and can easily be broken into several logical components. If each separate component of the application uses a different logging context, then it would be easy for the logging framework to detect which log messages are coming from which components. What you do with such information is entirely up to you. Perhaps you want to format them differently. Or perhaps you want to use a filter, such that only log messages from your widget component get saved to disk. The sky is the limit.\n\n#### Example 2:\n\nYou are developing a framework for other developers to use in their application. Being a forward-thinking engineer, you wish to include exemplary logging. This will allow others to quickly learn how your framework operates (less questions), as well as easily diagnose and debug any problems they might encounter (more free patches). So you use Lumberjack, and ensure that your log messages have a custom context. This will allow application developers to easily manage the log statements coming from your framework.\n\n# Details\n\nEvery log message that goes through the Lumberjack framework is turned into a DDLogMessage object. This object contains all kinds of juicy information:\n\n```objective-c\n@interface DDLogMessage : NSObject <NSCopying>\n{\n    // Direct accessors to be used only for performance\n    ...\n}\n\n@property (readonly, nonatomic) NSString *message;\n@property (readonly, nonatomic) DDLogLevel level;\n@property (readonly, nonatomic) DDLogFlag flag;\n@property (readonly, nonatomic) NSInteger context;\n@property (readonly, nonatomic) NSString *file;\n@property (readonly, nonatomic) NSString *fileName;\n@property (readonly, nonatomic) NSString *function;\n@property (readonly, nonatomic) NSUInteger line;\n@property (readonly, nonatomic) id tag;\n@property (readonly, nonatomic) DDLogMessageOptions options;\n@property (readonly, nonatomic) NSDate *timestamp;\n@property (readonly, nonatomic) NSString *threadID; // ID as it appears in NSLog calculated from the machThreadID\n@property (readonly, nonatomic) NSString *threadName;\n@property (readonly, nonatomic) NSString *queueLabel;\n\n```\n\nYou can use all this information to customize the format of your log messages. For more information, see the [Custom Formatters](CustomFormatters.md) page.\n\nYou'll also notice there is a `context` method/ivar. Now, by default, the log context of every message is zero. However, this can easily be customized.\n\nExample 2 above mentioned using Lumberjack in third party frameworks. A great example of this is the [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) project. This open-source library provides an embeddable and customizable HTTP server for Mac and iOS applications. Since the project is sizable, it includes extensive logging which enables its functionality to be very transparent for those using the project. Debugging a complex problem becomes a lot easier when you can crank up the log level and see exactly how HTTP requests are coming into the system and being processed.\n\nThe HTTP server project then defines its own log messages, using a custom context:\n\n```objective-c\n#define HTTP_LOG_CONTEXT 80\n\n#define HTTPLogError(frmt, ...)     SYNC_LOG_OBJC_MAYBE(httpLogLevel, LOG_FLAG_ERROR,   HTTP_LOG_CONTEXT, frmt, ##__VA_ARGS__)\n#define HTTPLogWarn(frmt, ...)     ASYNC_LOG_OBJC_MAYBE(httpLogLevel, LOG_FLAG_WARN,    HTTP_LOG_CONTEXT, frmt, ##__VA_ARGS__)\n#define HTTPLogInfo(frmt, ...)     ASYNC_LOG_OBJC_MAYBE(httpLogLevel, LOG_FLAG_INFO,    HTTP_LOG_CONTEXT, frmt, ##__VA_ARGS__)\n#define HTTPLogDebug(frmt, ...)    ASYNC_LOG_OBJC_MAYBE(httpLogLevel, LOG_FLAG_DEBUG,   HTTP_LOG_CONTEXT, frmt, ##__VA_ARGS__)\n#define HTTPLogVerbose(frmt, ...)  ASYNC_LOG_OBJC_MAYBE(httpLogLevel, LOG_FLAG_VERBOSE, HTTP_LOG_CONTEXT, frmt, ##__VA_ARGS__)\n```\n\n*You may notice how easy it is to define your own custom log functions. For more information see the [Custom Log Levels](CustomLogLevels.md) page. If you want to get really advanced, see the [Fine Grained Logging](FineGrainedLogging.md) page.*\n\nNow HTTP log messages are clearly identifiable in the code:\n\n```objective-c\nHTTPLogError(@\"File not found - %@\", filePath);\n```\n\nAnd further, each HTTP log message is identifiable outside the framework because every HTTP log message has a logging context of ` HTTP_LOG_CONTEXT `."
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/CustomFormatters.md",
    "content": "How to write your own custom formatters.\n\n# Introduction\n\n**Formatters may optionally be added to any logger.** For example, a formatter which prepends the log level (error, warn, info, etc) to log messages being written to a file. To achieve this you may simply create and add a formatter to a file logger. Using formatters gives you the ability to customize the log message appearance without having to rewrite your log messages (or any component of the logging framework).\n\n**Formatters can also be used to filter log messages.** That is, you can determine that certain log messages be excluded from a particular logger. For example, you could have a verbose console log, but a concise log file by filtering all but errors and warnings going to a file logger. The criteria for filtering is entirely up to you.\n\nAnd remember that **formatters are applied individually to loggers**. So you can format and/or filter on a per-logger basis.\n\n# Details\n\nIt is incredibly simple to create your own custom formatter. The protocol for `DDLogFormatter` is defined in `DDLog.h`, and there is only a single required method:\n```objective-c\n@protocol DDLogFormatter <NSObject>\n@required\n\n/**\n * Formatters may optionally be added to any logger.\n * This allows for increased flexibility in the logging environment.\n * For example, log messages for log files may be formatted differently than log messages for the console.\n *\n * For more information about formatters, see the \"Custom Formatters\" page:\n * Documentation/CustomFormatters.md\n *\n * The formatter may also optionally filter the log message by returning nil,\n * in which case the logger will not log the message.\n **/\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage;\n\n@optional\n// ...\n@end\n```\n\nIt's pretty straight-forward. The single method takes, as a parameter, an instance of `DDLogMessage` which contains all the information related to the log message including:\n\n-  `message` - original log message\n-  `file` - full path to the file the log message came from\n-  `fileName` - name of the file the log message came from (without extension)\n-  `function` - method the log message came from\n-  `line` - line number in file where the log message came from\n-  `timestamp` - when the log message was executed\n-  `level` - log level of message (bitmask of flags, e.g. 0111)\n-  `flag` - log flag of message (individual flag that allowed log message to fire, e.g. 0010)\n-  `threadID` - which thread issued the log message\n-  `queueLabel` - name of gcd queue (if applicable)\n\nLet's write a simple formatter that automatically simply prepends the log level before every log message.  \n\nThe idea is to get log messages like this:\n\n```objective-c\nDDLogError(@\"Paper Jam!\");       // E | Paper Jam!\nDDLogWarn(@\"Low toner.\");        // W | Low toner.\nDDLogInfo(@\"Doc printed.\");      // I | Doc printed.\nDDLogDebug(@\"Debugging\");        // D | Debugging\nDDLogVerbose(@\"Init doc_parse\"); // V | Init doc_parse.\n```\n\nMyCustomFormatter.h\n```objective-c\n#import <Foundation/Foundation.h>\n#import \"DDLog.h\"\n\n@interface MyCustomFormatter : NSObject <DDLogFormatter>\n\n@end\n```\n\nMyCustomFormatter.m\n```objective-c\n#import \"MyCustomFormatter.h\"\n\n@implementation MyCustomFormatter\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {\n    NSString *logLevel;\n    switch (logMessage->_flag) {\n        case DDLogFlagError    : logLevel = @\"E\"; break;\n        case DDLogFlagWarning  : logLevel = @\"W\"; break;\n        case DDLogFlagInfo     : logLevel = @\"I\"; break;\n        case DDLogFlagDebug    : logLevel = @\"D\"; break;\n        default                : logLevel = @\"V\"; break;\n    }\n    \n    return [NSString stringWithFormat:@\"%@ | %@\", logLevel, logMessage->_message];\n}\n\n@end\n```\n\nNow, just add the custom formatter to your logger:\n```\n[DDTTYLogger sharedInstance].logFormatter = [[MyCustomFormatter alloc] init];\n```\n# Thread-safety (simple)\n\nLet's update our example formatter to also include the timestamp. To do this we'll use `NSDateFormatter`. But... `NSDateFormatter` is NOT thread-safe (unless you're targeting iOS 7+, or OSX 10.9+ with modern behavior on 64-bit architecture, see [NSDateFormatter](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/])). Does this pose any problems for us?\n\nLog formatters are applied individually to loggers. If you instantiate a log formatter instance, **and apply it to a single logger**, then you don't have to worry about thread-safety. All log messages are sent to the logger (and thus to its log formatter) via the serial dispatch queue of the logger. Thus, in this scenario, the formatLogMessage method is guaranteed to run on only a single thread at a time.\n\nIt is very often the case that developers write custom formatters specifically for a particular logger. Thus it is often the case that thread-safety won't be a concern. However, defensive programming is encouraged. There are a few simple hooks that one can use to ensure their thread-unsafe log formatter isn't used inappropriately.\n\n```objective-c\n@protocol DDLogFormatter <NSObject>\n@required\n\n/**\n * Formatters may optionally be added to any logger.\n * This allows for increased flexibility in the logging environment.\n * For example, log messages for log files may be formatted differently than log messages for the console.\n *\n * For more information about formatters, see the \"Custom Formatters\" page:\n * Documentation/CustomFormatters.md\n *\n * The formatter may also optionally filter the log message by returning nil,\n * in which case the logger will not log the message.\n **/\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage;\n\n@optional\n\n/**\n * A single formatter instance can be added to multiple loggers.\n * These methods provides hooks to notify the formatter of when it's added/removed.\n *\n * This is primarily for thread-safety.\n * If a formatter is explicitly not thread-safe, it may wish to throw an exception if added to multiple loggers.\n * Or if a formatter has potentially thread-unsafe code (e.g. NSDateFormatter),\n * it could possibly use these hooks to switch to thread-safe versions of the code.\n **/\n- (void)didAddToLogger:(id <DDLogger>)logger;\n- (void)willRemoveFromLogger:(id <DDLogger>)logger;\n\n@end\n```\n\nUsing these hooks, we can add a very simple measure to ensure we don't accidentally shoot ourself in the foot in the future.\n\nThis time the idea is to get log messages like this:\n\n```objective-c\nDDLogError(@\"Paper Jam!\");       // E 2010/05/20 15:33:18:621 | Paper Jam!\nDDLogWarn(@\"Low toner.\");        // W 2010/05/20 15:33:18:621 | Low toner.\nDDLogInfo(@\"Doc printed.\");      // I 2010/05/20 15:33:18:621 | Doc printed.\nDDLogDebug(@\"Debugging\");        // D 2010/05/20 15:33:18:621 | Debugging\nDDLogVerbose(@\"Init doc_parse\"); // V 2010/05/20 15:33:18:621 | Init doc_parse.\n```\n\nMyCustomFormatter.h\n```objective-c\n#import <Foundation/Foundation.h>\n#import \"DDLog.h\"\n\n@interface MyCustomFormatter : NSObject <DDLogFormatter> {\n    int loggerCount;\n    NSDateFormatter *threadUnsafeDateFormatter;\n}\n@end\n```\n\nMyCustomFormatter.m\n```objective-c\n#import \"MyCustomFormatter.h\"\n\n@implementation MyCustomFormatter\n\n- (id)init {\n    if((self = [super init])) {\n        threadUnsafeDateFormatter = [[NSDateFormatter alloc] init];\n        [threadUnsafeDateFormatter setDateFormat:@\"yyyy/MM/dd HH:mm:ss:SSS\"];\n    }\n    return self;\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {\n    NSString *logLevel;\n    switch (logMessage->_flag) {\n        case DDLogFlagError    : logLevel = @\"E\"; break;\n        case DDLogFlagWarning  : logLevel = @\"W\"; break;\n        case DDLogFlagInfo     : logLevel = @\"I\"; break;\n        case DDLogFlagDebug    : logLevel = @\"D\"; break;\n        default                : logLevel = @\"V\"; break;\n    }\n\n    NSString *dateAndTime = [threadUnsafeDateFormatter stringFromDate:(logMessage->_timestamp)];\n    NSString *logMsg = logMessage->_message;\n    \n    return [NSString stringWithFormat:@\"%@ %@ | %@\", logLevel, dateAndTime, logMsg];\n}\n\n- (void)didAddToLogger:(id <DDLogger>)logger {\n    loggerCount++;\n    NSAssert(loggerCount <= 1, @\"This logger isn't thread-safe\");\n}\n\n- (void)willRemoveFromLogger:(id <DDLogger>)logger {\n    loggerCount--;\n}\n\n@end\n```\n\n# Thread-safety (advanced)\n\nIf a log formatter is applied to only a single logger, then thread-safety isn't generally a concern. However, it is perfectly legal to apply a single log formatter instance to multiple loggers. In this case, thread-safety is a concern as the log formatter may be running concurrently on multiple threads. That is, multiple loggers (e.g. console logger & file logger) are run concurrently within Lumberjack, and thus a single log formatter instance attached to both would run concurrently as well.\n\nHowever, it's typically not that difficult to support multi-threading. The most common case involves NSDateFormatter. These are not thread-safe, but there is a well established work-around by storing instances of NSDateFormatter in the thread dictionary. For example:\n\n```objective-c\nNSMutableDictionary *threadDictionary = [[NSThread currentThread] threadDictionary];\nNSDateFormatter *dateFormatter = [threadDictionary objectForKey:key];\n\nif (dateFormatter == nil) {\n    dateFormatter = [[NSDateFormatter alloc] init];\n    [dateFormatter setDateFormat:dateFormatString];\n    \n    [threadDictionary setObject:dateFormatter forKey:key];\n}\n```\n\nBut what about the cost? There is fairly small overhead to extract the dateFormatter from the thread dictionary. And there may also be a small overhead to create the dateFormatter instance's on multiple threads within the GCD thread-pool. To mitigate these costs in the common case (single-thread case), while still maintaining support for the multi-thread case, a hybrid approach may be used:\n\nMyCustomFormatter.h\n```objective-c\n#import <Foundation/Foundation.h>\n#import \"DDLog.h\"\n\n@interface MyCustomFormatter : NSObject <DDLogFormatter> {\n    int atomicLoggerCount;\n    NSDateFormatter *threadUnsafeDateFormatter;\n}\n@end\n```\n\nMyCustomFormatter.m\n```objective-c\n#import \"MyCustomFormatter.h\"\n#import <libkern/OSAtomic.h>\n\n@implementation MyCustomFormatter\n\n- (NSString *)stringFromDate:(NSDate *)date {\n    int32_t loggerCount = OSAtomicAdd32(0, &atomicLoggerCount);\n    \n    if (loggerCount <= 1) {\n        // Single-threaded mode.\n        \n        if (threadUnsafeDateFormatter == nil) {\n            threadUnsafeDateFormatter = [[NSDateFormatter alloc] init];\n            [threadUnsafeDateFormatter setDateFormat:dateFormatString];\n        }\n        \n        return [threadUnsafeDateFormatter stringFromDate:date];\n    } else {\n        // Multi-threaded mode.\n        // NSDateFormatter is NOT thread-safe.\n        \n        NSString *key = @\"MyCustomFormatter_NSDateFormatter\";\n        \n        NSMutableDictionary *threadDictionary = [[NSThread currentThread] threadDictionary];\n        NSDateFormatter *dateFormatter = [threadDictionary objectForKey:key];\n        \n        if (dateFormatter == nil) {\n            dateFormatter = [[NSDateFormatter alloc] init];\n            [dateFormatter setDateFormat:dateFormatString];\n            \n            [threadDictionary setObject:dateFormatter forKey:key];\n        }\n        \n        return [dateFormatter stringFromDate:date];\n    }\n}\n\n- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {\n    NSString *logLevel;\n    switch (logMessage->_flag) {\n        case DDLogFlagError    : logLevel = @\"E\"; break;\n        case DDLogFlagWarning  : logLevel = @\"W\"; break;\n        case DDLogFlagInfo     : logLevel = @\"I\"; break;\n        case DDLogFlagDebug    : logLevel = @\"D\"; break;\n        default                : logLevel = @\"V\"; break;\n    }\n\n    NSString *dateAndTime = [self stringFromDate:(logMessage.timestamp)];\n    NSString *logMsg = logMessage->_message;\n    \n    return [NSString stringWithFormat:@\"%@ %@ | %@\", logLevel, dateAndTime, logMsg];\n}\n\n- (void)didAddToLogger:(id <DDLogger>)logger {\n    OSAtomicIncrement32(&atomicLoggerCount);\n}\n\n- (void)willRemoveFromLogger:(id <DDLogger>)logger {\n    OSAtomicDecrement32(&atomicLoggerCount);\n}\n\n@end\n```\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/CustomLogLevels.md",
    "content": "How to add or customise log levels\n\n### Introduction\n\nBy default, Lumberjack comes with 5 pre-defined log levels:\n\n- Error\n- Warn\n- Info\n- Debug\n- Verbose\n\nThe small number of levels helps those who are new to logging frameworks. (When there are 16 different log levels, it can be become difficult to choose...)\n\nHowever, this might not be the proper choice for your project. Or perhaps you're familiar with another logging framework, and you'd like to use the same notations.\n\nYou're in luck because **you can customise the log levels however you want**! In fact Lumberjack has structured its macros to make it easy to customise.\n\n### Details\n\nThe log levels are all defined in `DDLog.h`. All you have to do is create your own header (e.g. `MYLog.h`). Your project files will then import `MYLog.h` instead of `DDLog.h`.\n\nWithin MYLog.h you simply undefine the pre-defined stuff, and then set everything up however you want.\n\nThere is a sample Xcode project that comes with Lumberjack that does exactly this. It looks something like this:\n\n> **Warning**  \nSome internal methods, such as `addLogger:`, ignore custom log levels/flags.  \nTo avoid unexpected behaviors use more specific methods such as `addLogger:withLevel:`.\n\nMYLog.h:\n```objective-c\n#import \"DDLog.h\"\n\n// We want to use the following log levels:\n// \n// Fatal\n// Error\n// Warn\n// Notice\n// Info\n// Debug\n// \n// All we have to do is undefine the default values,\n// and then simply define our own however we want.\n\n// First undefine the default stuff we don't want to use.\n\n#undef LOG_FLAG_ERROR\n#undef LOG_FLAG_WARN \n#undef LOG_FLAG_INFO\n#undef LOG_FLAG_DEBUG\n#undef LOG_FLAG_VERBOSE\n\n#undef LOG_LEVEL_ERROR\n#undef LOG_LEVEL_WARN\n#undef LOG_LEVEL_INFO\n#undef LOG_LEVEL_DEBUG\n#undef LOG_LEVEL_VERBOSE\n\n#undef LOG_ERROR\n#undef LOG_WARN\n#undef LOG_INFO\n#undef LOG_DEBUG\n#undef LOG_VERBOSE\n\n#undef DDLogError\n#undef DDLogWarn\n#undef DDLogInfo\n#undef DDLogDebug\n#undef DDLogVerbose\n\n#undef DDLogCError\n#undef DDLogCWarn\n#undef DDLogCInfo\n#undef DDLogCDebug\n#undef DDLogCVerbose\n\n// Now define everything how we want it\n\n#define LOG_FLAG_FATAL   (1 << 0)  // 0...000001\n#define LOG_FLAG_ERROR   (1 << 1)  // 0...000010\n#define LOG_FLAG_WARN    (1 << 2)  // 0...000100\n#define LOG_FLAG_NOTICE  (1 << 3)  // 0...001000\n#define LOG_FLAG_INFO    (1 << 4)  // 0...010000\n#define LOG_FLAG_DEBUG   (1 << 5)  // 0...100000\n\n#define LOG_LEVEL_FATAL   (LOG_FLAG_FATAL)                     // 0...000001\n#define LOG_LEVEL_ERROR   (LOG_FLAG_ERROR  | LOG_LEVEL_FATAL ) // 0...000011\n#define LOG_LEVEL_WARN    (LOG_FLAG_WARN   | LOG_LEVEL_ERROR ) // 0...000111\n#define LOG_LEVEL_NOTICE  (LOG_FLAG_NOTICE | LOG_LEVEL_WARN  ) // 0...001111\n#define LOG_LEVEL_INFO    (LOG_FLAG_INFO   | LOG_LEVEL_NOTICE) // 0...011111\n#define LOG_LEVEL_DEBUG   (LOG_FLAG_DEBUG  | LOG_LEVEL_INFO  ) // 0...111111\n\n#define LOG_FATAL   (ddLogLevel & LOG_FLAG_FATAL )\n#define LOG_ERROR   (ddLogLevel & LOG_FLAG_ERROR )\n#define LOG_WARN    (ddLogLevel & LOG_FLAG_WARN  )\n#define LOG_NOTICE  (ddLogLevel & LOG_FLAG_NOTICE)\n#define LOG_INFO    (ddLogLevel & LOG_FLAG_INFO  )\n#define LOG_DEBUG   (ddLogLevel & LOG_FLAG_DEBUG )\n\n#define DDLogFatal(frmt, ...)    SYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_FATAL,  0, frmt, ##__VA_ARGS__)\n#define DDLogError(frmt, ...)    SYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_ERROR,  0, frmt, ##__VA_ARGS__)\n#define DDLogWarn(frmt, ...)    ASYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_WARN,   0, frmt, ##__VA_ARGS__)\n#define DDLogNotice(frmt, ...)  ASYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_NOTICE, 0, frmt, ##__VA_ARGS__)\n#define DDLogInfo(frmt, ...)    ASYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_INFO,   0, frmt, ##__VA_ARGS__)\n#define DDLogDebug(frmt, ...)   ASYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_DEBUG,  0, frmt, ##__VA_ARGS__)\n\n#define DDLogCFatal(frmt, ...)   SYNC_LOG_C_MAYBE(ddLogLevel, LOG_FLAG_FATAL,  0, frmt, ##__VA_ARGS__)\n#define DDLogCError(frmt, ...)   SYNC_LOG_C_MAYBE(ddLogLevel, LOG_FLAG_ERROR,  0, frmt, ##__VA_ARGS__)\n#define DDLogCWarn(frmt, ...)   ASYNC_LOG_C_MAYBE(ddLogLevel, LOG_FLAG_WARN,   0, frmt, ##__VA_ARGS__)\n#define DDLogCNotice(frmt, ...) ASYNC_LOG_C_MAYBE(ddLogLevel, LOG_FLAG_NOTICE, 0, frmt, ##__VA_ARGS__)\n#define DDLogCInfo(frmt, ...)   ASYNC_LOG_C_MAYBE(ddLogLevel, LOG_FLAG_INFO,   0, frmt, ##__VA_ARGS__)\n#define DDLogCDebug(frmt, ...)  ASYNC_LOG_C_MAYBE(ddLogLevel, LOG_FLAG_DEBUG,  0, frmt, ##__VA_ARGS__)\n```"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/CustomLoggers.md",
    "content": "How to write your own custom loggers.\n\n### Introduction\n\nLoggers allow you to direct log messages wherever you want. For general information about loggers, see the [architecture](Architecture.md) page. The best part is that it's relatively easy to write your own custom loggers.\n\nThe `DDLog` header file defines the `DDLogger` protocol. It consists of only 3 mandatory methods:\n\n```objective-c\n@protocol DDLogger <NSObject>\n\n- (void)logMessage:(DDLogMessage *)logMessage;\n\n/**\n * Formatters may optionally be added to any logger.\n *\n * If no formatter is set, the logger simply logs the message as it is given in logMessage,\n * or it may use its own built in formatting style.\n **/\n@property (nonatomic, strong) id <DDLogFormatter> logFormatter;\n\n@optional\n\n/**\n * Since logging is asynchronous, adding and removing loggers is also asynchronous.\n * In other words, the loggers are added and removed at appropriate times with regards to log messages.\n *\n * - Loggers will not receive log messages that were executed prior to when they were added.\n * - Loggers will not receive log messages that were executed after they were removed.\n *\n * These methods are executed in the logging thread/queue.\n * This is the same thread/queue that will execute every logMessage: invocation.\n * Loggers may use these methods for thread synchronization or other setup/teardown tasks.\n **/\n- (void)didAddLogger;\n- (void)willRemoveLogger;\n\n/**\n * Some loggers may buffer IO for optimization purposes.\n * For example, a database logger may only save occasionaly as the disk IO is slow.\n * In such loggers, this method should be implemented to flush any pending IO.\n *\n * This allows invocations of DDLog's flushLog method to be propogated to loggers that need it.\n *\n * Note that DDLog's flushLog method is invoked automatically when the application quits,\n * and it may be also invoked manually by the developer prior to application crashes, or other such reasons.\n **/\n- (void)flush;\n\n/**\n * Each logger is executed concurrently with respect to the other loggers.\n * Thus, a dedicated dispatch queue is used for each logger.\n * Logger implementations may optionally choose to provide their own dispatch queue.\n **/\n@property (nonatomic, DISPATCH_QUEUE_REFERENCE_TYPE, readonly) dispatch_queue_t loggerQueue;\n\n/**\n * If the logger implementation does not choose to provide its own queue,\n * one will automatically be created for it.\n * The created queue will receive its name from this method.\n * This may be helpful for debugging or profiling reasons.\n **/\n@property (nonatomic, readonly) NSString *loggerName;\n\n@end\n```\n<br/>\n<br/>\nFurthermore, **there is a base logger implementation one can extend** (`DDAbstractLogger`) that will automatically implement 2 of the 3 mandatory methods (`logFormatter` & `setLogFormatter:`). So implementing a logger can be pretty straight-forward.\n\n### Skeleton Implementation\n\nLet's assume we want to write a custom logger. It doesn't take much to write the skeleton code:\n\nMyCustomLogger.h:\n```objective-c\n#import <Foundation/Foundation.h>\n#import \"DDLog.h\"\n\n@interface MyCustomLogger : DDAbstractLogger <DDLogger>\n{\n}\n@end\n```\n\nMyCustomLogger.m\n```objective-c\n#import \"MyCustomLogger.h\"\n\n@implementation MyCustomLogger\n\n- (void)logMessage:(DDLogMessage *)logMessage {\n    NSString *logMsg = logMessage.message;\n\n    if (self->logFormatter)\n        logMsg = [self->logFormatter formatLogMessage:logMessage];\n\n    if (logMsg) {\n        // Write logMsg to wherever...\n    }\n}\n\n@end\n```\n\nPretty simple huh?\n\n### Details\n\nThe logFormatter is designed to be an optional component for loggers. This is for simplicity. And the separation between loggers and formatters is for reusability. A single formatter can be applied to multiple loggers.\n\nHowever, you are obviously free to do whatever you want. If it doesn't make sense to support formatters for your custom logger, you don't have to. (This may be the case with database loggers.) And if your custom logger is to use a single pre-defined format, then you can simply do the formatting directly within the logger itself, and forego the formatter. It is completely up to you.\n\nThe DDLogMessage object encapsulates the information about a log message. It is also defined in DDLog.h:\n\n```objective-c\n@interface DDLogMessage : NSObject <NSCopying>\n{\n    // Direct accessors to be used only for performance\n    ...\n}\n\n@property (readonly, nonatomic) NSString *message;\n@property (readonly, nonatomic) DDLogLevel level;\n@property (readonly, nonatomic) DDLogFlag flag;\n@property (readonly, nonatomic) NSInteger context;\n@property (readonly, nonatomic) NSString *file;\n@property (readonly, nonatomic) NSString *fileName;\n@property (readonly, nonatomic) NSString *function;\n@property (readonly, nonatomic) NSUInteger line;\n@property (readonly, nonatomic) id tag;\n@property (readonly, nonatomic) DDLogMessageOptions options;\n@property (readonly, nonatomic) NSDate *timestamp;\n@property (readonly, nonatomic) NSString *threadID; // ID as it appears in NSLog calculated from the machThreadID\n@property (readonly, nonatomic) NSString *threadName;\n@property (readonly, nonatomic) NSString *queueLabel;\n\n```\n\n### Threading\n\nAlmost all of the multi-threading issues are solved for you. The following 3 methods are **always** invoked on the same thread/gcd_dispatch_queue.\n```objective-c\n- (void)logMessage:(DDLogMessage *)logMessage;\n\n- (void)didAddLogger;\n- (void)willRemoveLogger;\n```\n\nUsing these 3 methods you can setup resources, perform logging, and teardown resources without worrying about multi-threaded complications.\n\nFurthermore, the `DDAbstractLogger` provides thread-safe implementations of `setLogFormatter:` and `logFormatter`. And it does so in such a way that allows you to access the logFormatter variable directly from within your logMessage method! (Performance win!)\n\nHowever, if your custom logger has custom configuration variables, you may need to make them atomic and/or thread-safe."
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/DynamicLogLevels.md",
    "content": "Dynamically changing log levels during run-time\n\n## Introduction\n\nWhen you define your log level, you generally define it in a manner similar to this:\n```objective-c\nstatic const DDLogLevel ddLogLevel = DDLogLevelWarn;\n```\n\nWhat this means is that your log level is declared as a constant. It cannot be changed.\\\n\nThis has the advantage that the compiler can automatically prune `DDLog` statements above the log level threshold during compilation.  However, it also has the disadvantage that you cannot change your log level during run-time.\n\nTo allow a dynamic log level, all we need to do is remove the \"const\" part:\n```objective-c\nstatic DDLogLevel ddLogLevel = DDLogLevelWarn;\n```\n\nThis means that we can change the log level when/how we want. For example, maybe we're debugging some specific part of our application.\n```objective-c\n- (void)startTask {\n    ddLogLevel = DDLogLevelVerbose;\n    [self startTaskInBackground];\n}\n\n- (void)taskDidFinish {\n    ddLogLevel = DDLogLevelWarn;\n}\n```\n\nYou will incur a tiny little performance penalty for using dynamic log levels. (A single integer comparison... gasp!) However, due to the architecture and speed of the lumberjack framework, most DDLog statements will **still be faster than NSLog**. (For more information, see the [performance](Performance.md) page.)\n\n### Crazy Awesomeness\n\nDynamic logging, as used in the example above, can be helpful for debugging.\\\n\n**But what if we wanted to take it to the next level?**\n\nImagine if you could alter log levels via the `NSUserDefaults` system...\\\n\nA user is complaining about the application not acting properly (in the preference pane somewhere). So you simply tell them to issue a\n```objective-c\ndefaults write com.yourapp.prefsLogLevel 4\n```\n\nAnd in your preference pane code, you have something like this:\n```objective-c\nstatic DDLogLevel ddLogLevel = DDLogLevelWarn;\n\n+ (void)initialize {\n    NSNumber *logLevel = [[NSUserDefaults standardUserDefaults] objectForKey:@\"prefsLogLevel\"];\n    if (logLevel) {\n        ddLogLevel = (DDLogLevel)[logLevel intValue];\n    }\n}\n```\n\nWhen they relaunch the app, your preferences UI now has verbose logging, and the user can send you the log files.\n\n**But what if we wanted to take it to the next level after that?**\n\nImagine a preference screen somewhere in your application (maybe hidden, maybe in preferences, maybe accessible via an [embedded http server](http://code.google.com/p/cocoahttpserver/)) that lists every single file in your application with a dynamic log level. With a click of the button you can change the log level of any file!\n\nJust imagine: You're at a party and a friend comes up to you and says, \"Hey, love the latest version of your app... But this part isn't working properly anymore.\" You take a look and you're not quite sure what's going on. No problem. You just toggle the log level of the buggy source code file (without restarting the app), and it immediately starts dumping all kinds of juicy debug info to the log file. You grab the log file, inspect it the next day at the office, and quickly identify the problem.\n\nThe hypothetical situation might be a bit silly, but you get the idea. Some bugs only appear on certain machines/devices. Some bugs only appear when Xcode isn't available. And some bugs mysteriously disappear when you restart the application. So it would be helpful if we could dynamically change the log level when the problem appears and as the application is still running.\n\nHow to design a user interface for something like this is entirely up to you. But the lumberjack framework can help out with the plumbing!\n\nOne of the tasks involved in such an endeavor is to create a list of all the source code files that support dynamic logging. Depending on the size of your project, this may be annoying. Not to mention that as your project grows, you would need to keep this list up-to-date. Plus, you would have to import the header of every single file that supports dynamic logging... And each header file would have to declare methods to get and set the log level.... It's just a big headache. Luckily it's a headache that can completely be avoided due to the dynamic nature of the objective-c runtime!\n\nThe lumberjack framework has something called \"registered dynamic logging\". Here's all you have to do in your source code files:\n\n```objective-c\n#import \"Sprocket.h\"\n#import \"DDLog.h\"\n\nstatic DDLogLevel ddLogLevel = DDLogLevelWarn;\n\n@implementation Sprocket\n\n+ (DDLogLevel)ddLogLevel {\n    return ddLogLevel;\n}\n\n+ (void)ddSetLogLevel:(DDLogLevel)logLevel {\n    ddLogLevel = logLevel;\n}\n\n// The rest of your code...\n\n@end\n```\n\nIn other words, just add the two class methods (ddLogLevel and ddSetLogLevel:).\n\nNow take a look at the registered dynamic logging section of DDLog:\n\n```objective-c\n/**\n * Registered Dynamic Logging\n * \n * These methods allow you to obtain a list of classes that are using registered dynamic logging,\n * and also provides methods to get and set their log level during run time.\n**/\n\n+ (NSArray *)registeredClasses;\n+ (NSArray *)registeredClassNames;\n\n+ (DDLogLevel)levelForClass:(Class)aClass;\n+ (DDLogLevel)levelForClassWithName:(NSString *)aClassName;\n\n+ (void)setLevel:(DDLogLevel)level forClass:(Class)aClass;\n+ (void)setLevel:(DDLogLevel)level forClassWithName:(NSString *)aClassName;\n```\n\nSo if you call ` [DDLog registeredClasses] `, it would return an array that contains the Sprocket class.\n\nAnd if you call ` [DDLog levelForClass:[Sprocket class]] `, it will invoke and return ` [Sprocket ddLogLevel] `.\n\nWhat this means is that you can easily enumerate through all the classes (or class names) that use registered dynamic logging. You don't have to keep a big list somewhere. Or even import all the header files. You can just enumerate a list, and the lumberjack framework takes care of the rest.\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/FAQ.md",
    "content": "Frequently asked questions.\n\n# Questions\n\n### How can it be faster than NSLog when only outputting to the console?\n\n> This simple answer is that NSLog is just slow. But the more technical answer involves the Apple System Logging (asl) facility, and the fact that the Lumberjack framework is able to reuse a single asl client connection, as opposed to opening and closing one for every single log message.\n\n> For a more detailed explanation see the section entitled \"A Better NSLog\" in the [performance page](Performance.md).\n\n### Does Lumberjack require Grand Central Dispatch?\n\n> No. In fact one of the original requirements was that the framework must support iPhone 3.X which doesn't include GCD.\n\n> And the performance of the framework without GCD is still excellent. See the [performance page](Performance.md) for a benchmark of the framework running on iPhone 3.1.3 on an iPhone 3GS.\n\n### Where should I initialize/configure the lumberjack framework?\n\n> The simple answer is that you should initialize the framework before you first use it. Since logging is one of those \"set it and forget it\" tasks, it is usually best if you do so first thing when your application launches. In most cases this means in your applicationDidFinishLaunching method. However, you may need to do so even earlier if you have custom code in init or awakeFromNib methods that executes before the application has finished launching.\n\n> For information on configuring the logging framework, see the [getting started page](GettingStarted.md).\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/FineGrainedLogging.md",
    "content": "When you need something more advanced than simple log levels.\n\n### Introduction\n\nMost of us are familiar with log levels. They are simple to understand, and they're used in almost every logging framework. However, there are times when something more advanced is desired. Something more fine grained.\n\n#### Example \\#1:\n\nYou have a large source code file that you are debugging. The code is logically separated into 7 different sub-components. One of these sub-components is having issues. So you'd like to enable some extra logging, but you don't want to see all the log statements from the other 6 sub-components. That would be too much junk to filter through. Wouldn't it be nice if your logging framework was tailored to fit the logical separations in your code?\n\n#### Example \\#2:\n\nYou're adding a new feature to your application. The implementation of this feature spans across several different files. Something isn't quite working right and you'd like to enable some extra logging, but you only want to see log statements related to this new feature. The problem is, there are a bunch of other log statements in these files. You don't want to remove them. You just want a little bit extra fine-grained control.\n\nNot a problem. Lumberjack can help!\n\n### Details\n\nIf you look closely at the definitions in the `DDLogLegacyMacros` header file, you'll notice something interesting:\n```objective-c\n#define LOG_FLAG_ERROR    (1 << 0)  // 0...00001\n#define LOG_FLAG_WARN     (1 << 1)  // 0...00010\n#define LOG_FLAG_INFO     (1 << 2)  // 0...00100\n#define LOG_FLAG_DEBUG    (1 << 3)  // 0...01000\n#define LOG_FLAG_VERBOSE  (1 << 4)  // 0...10000\n\n#define LOG_ERROR   (ddLogLevel & LOG_FLAG_ERROR) // Bitwise AND\n```\n\nLumberjack is actually using a bitmask! And it is only using 5 bits. This means that every other bit is **reserved for you**.\n\nThe Lumberjack framework actually comes with a sample Xcode project that demonstrates fine-grained logging. The demo project is based upon example \\#2 above. Here is how it works:\n\nImagine you have a series of related timers. The calculation of these timers is complicated, and are thus spread across multiple files. However, they are related. In our example we have two different categories of timers. One for \"food\" and another for \"sleep\".\n\nSo we want all of our logging related to our food timers to be grouped together. This way it can be enabled/disabled independently of the rest of the logging within the various files. And we want the same solution applied to our sleep timers as well.\n\nSo we create our own logging header file to be used by our application. We'll call it \"MYLog.h\":\n```objective-c\n#import \"DDLog.h\"\n\n// The first 5 bits are being used by the standard levels (0 - 4) \n// All other bits are fair game for us to use.\n\n#define LOG_FLAG_FOOD_TIMER    (1 << 5)  // 0...0100000\n#define LOG_FLAG_SLEEP_TIMER   (1 << 6)  // 0...1000000\n\n#define LOG_FOOD_TIMER  (ddLogLevel & LOG_FLAG_FOOD_TIMER)\n#define LOG_SLEEP_TIMER (ddLogLevel & LOG_FLAG_SLEEP_TIMER)\n\n#define DDLogFoodTimer(frmt, ...)   ASYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_FOOD_TIMER,  0, frmt, ##__VA_ARGS__)\n#define DDLogSleepTimer(frmt, ...)  ASYNC_LOG_OBJC_MAYBE(ddLogLevel, LOG_FLAG_SLEEP_TIMER, 0, frmt, ##__VA_ARGS__)\n\n// Now we decide which flags we want to enable in our application\n\n#define LOG_FLAG_TIMERS (LOG_FLAG_FOOD_TIMER | LOG_FLAG_SLEEP_TIMER))\n```\n\nNow we have two new macros that can be used in our application.\n-   DDLogFoodTimer(...)\n-   DDLogSleepTimer(...)\n\nWe also defined LOG\\_FLAG\\_TIMERS which can be used to enable both loggers. LOG\\_FLAG\\_FOOD\\_TIMER | LOG\\_FLAG\\_SLEEP\\_TIMER = 0100000 | 1000000 = 1100000\n\nThen in our source code files we just make sure that our ddLogLevel bitmask has the flags set to enable logging for our timers:\n\n```objective-c\n#import \"MYLog.h\"\n\nstatic const int ddLogLevel = LOG_LEVEL_WARN | LOG_FLAG_TIMERS;\n\n...\n\nDDLogFoodTimer(@\"TimerTwo: Hungry - Need Food\");\n```\n\n### How many fine-grained options are available?\n\nAs many as you want.\n\nThe ddLogLevel variable is declared as an int. This means that on most systems it will be 32 bits. Since the normal log level stuff is taking up 4 bits, this gives you 28 bits to work with.\n\nBut if that isn't enough, you could change it to be a 64-bit value, or you could simply add another variable. The macros have been designed to make it easy for you to plug in your own custom stuff.\n\nFor example, let's say you wanted to have 30 fine-grained log options. No problem. Just do something like this.\n\n```objective-c\n#define LOG_FLAG_CAT   (1 << 0)  // 0...00001\n#define LOG_FLAG_DOG   (1 << 1)  // 0...00010\n\n#define LOG_CAT  (ddLogLevel2 & LOG_FLAG_CAT)\n#define LOG_DOG  (ddLogLevel2 & LOG_FLAG_DOG)\n\n#define DDLogCat(frmt, ...)  ASYNC_LOG_OBJC_MAYBE(ddLogLevel2, LOG_FLAG_CAT, 0, frmt, ##__VA_ARGS__)\n#define DDLogDog(frmt, ...)  ASYNC_LOG_OBJC_MAYBE(ddLogLevel2, LOG_FLAG_DOG, 0, frmt, ##__VA_ARGS__)\n```\n\nAll we had to do was use a new variable - ddLogLevel2.\n\nYou should also note that you aren't restricted to the 4 pre-defined log levels. You can define them however you want. Learn more in the [Custom Log Levels](CustomLogLevels.md) page.\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/GettingStarted.md",
    "content": "_Getting started with the CocoaLumberjack framework._\n\n***\n\nThere are 3 steps to getting started with the logging framework:\n\n1.  Add the CocoaLumberjack files to your project\n2.  Access and configure the framework\n3.  Convert your NSLog statements to use the CocoaLumberjack macros\n\n### Add CocoaLumberjack to your project\n\n#### CocoaPods\n\n```ruby\n\tplatform :ios, '8.0'\n\tpod 'CocoaLumberjack'\n```\n\n#### Carthage\n\n* Cartfile\n```\n\tgithub \"CocoaLumberjack/CocoaLumberjack\"\n```\n\n#### Manual installation\n\n_Please note, installation via CocoaPods or Carthage is much simpler and recommended by the development team_\n\n* Add in the CocoaLumberjack files to your project using git submodules\n\n```\n\tgit submodule add https://git@github.com/CocoaLumberjack/CocoaLumberjack.git\n```\n\n* Drag `CocoaLumberjack/Lumberjack.xcodeproj` into your project\n* In your application target Build Phases\n\t* Add the framework you need\n\t\t* `CocoaLumberjack-macOS` or `CocoaLumberjackSwift-macOS` for macOS\n\t\t* `CocoaLumberjack-iOS` or `CocoaLumberjackSwift-iOS` for iOS\n\t\t* `CocoaLumberjack-tvOS` or `CocoaLumberjackSwift-tvOS` for tvOS\n\t\t* `CocoaLumberjack-watchOS` or `CocoaLumberjackSwift-watchOS` for watchOS\n* Make this CocoaLumberjack framework a dependency for your application target\n* Add a Copy Files phase to the application bundle \n\t* This needs to specify the _Frameworks_ sub-folder\n\t* Drag in the CocoaLumberjack.framework from the Lumberjack.xcodeproj products group\n\t* _Note: be careful to include only your relevant platform product_\n\n#### Manual installation (iOS static library)\n\nConsider this method if you favour static libraries over frameworks or have to use the static library.\n\n* Add in the CocoaLumberjack files to your project using git submodules\n\n```\n\tgit submodule add https://git@github.com/CocoaLumberjack/CocoaLumberjack.git\n```\n\n* Drag `CocoaLumberjack/Lumberjack.xcodeproj` into your project\n* Make the `CocoaLumberjack-iOS-Static` a dependency for your application target\n* Add the `CocoaLumberjack-iOS-Static` to the `Link Binary` phase\n* Add `\"$(BUILT_PRODUCTS_DIR)/include\"` to the `Header Search Paths`\n\n#### Even more manual installation\n\nConsider this method if you want to more easily modify target build settings, have other complex needs or simply prefer to do things by hand.\n\n* Download the CocoaLumberjack files using git clone\n\n```\n\tgit clone https://git@github.com/CocoaLumberjack/CocoaLumberjack.git\n```\n\n* Copy just the .m/.h files from CocoaLumberjack/Classes into your project\n\t* Including the .swift file if relevant\n\t* Ignore the contents of the CLI and Extensions folders for basic use\n* Add a separate CocoaLumberjack static library target\n\t* This will build e.g. a libCocoaLumberjack.a static library\n* From time-to-time, git pull, re-copy and commit the updated CocoaLumberjack files\n\n### Access and configure the framework\n\n* Access the CocoaLumberjack framework by adding the following lines to a precompiled header (.pch) file\n\t* _Note: newer Xcode projects do not create a .pch file by default but using one eases access to CocoaLumberjack through your project_\n\t* _Note: #defining LOG\\_LEVEL\\_DEF before #importing the framework is currently required, but has been under discussion in the early 2.x series_\n\n```objective-c\n#define LOG_LEVEL_DEF ddLogLevel\n#import <CocoaLumberjack/CocoaLumberjack.h>\n```\n\n* Configure CocoaLumberjack (typically in the applicationDidFinishLaunching method)\n\nA couple lines of code is all you need to get started:\n\n```objective-c\n[DDLog addLogger:[DDASLLogger sharedInstance]];\n[DDLog addLogger:[DDTTYLogger sharedInstance]];\n```\n\nThis will add a pair of \"loggers\" to the logging framework. In other words, your log statements will be sent to the Console.app and the Xcode console (just like a normal NSLog).\n\nPart of the power of the logging framework is its flexibility. If you also wanted your log statements to be written to a file, then you could add and configure a file logger:\n\n```objective-c\nDDFileLogger *fileLogger = [[DDFileLogger alloc] init];\nfileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling\nfileLogger.logFileManager.maximumNumberOfLogFiles = 7;\n\n[DDLog addLogger:fileLogger];\n```\n\nThe above code tells the application to keep a week's worth of log files on the system.\n\nYou will also need to set a global log level for your application. This can be modified in different manners later (see the bottom of this document for more information).\n\nTo do this, simply define the `ddLogLevel` constant. One example of this may be in your .pch file like so:\n\n```objective-c\nstatic const DDLogLevel ddLogLevel = DDLogLevelDebug;\n```\n\nThis global log level will be used as a default unless stated otherwise. See below for possible levels you can set this to.\n\n### Convert your NSLog statements to DDLog\n\nThe DDLog header file defines the macros that you will use to replace your NSLog statements. Essentially they look like this:\n\n```objective-c\n// Convert from this:\nNSLog(@\"Broken sprocket detected!\");\nNSLog(@\"User selected file:%@ withSize:%u\", filePath, fileSize);\n\n// To this:\nDDLogError(@\"Broken sprocket detected!\");\nDDLogVerbose(@\"User selected file:%@ withSize:%u\", filePath, fileSize);\n```\n\nAs you can see, the **DDLog macros have the exact same syntax as NSLog**.\n\nSo all you need to do is decide which log level each NSLog statement belongs to. By default, there are 5 options available:\n\n-   DDLogError\n-   DDLogWarn\n-   DDLogInfo\n-   DDLogDebug\n-   DDLogVerbose\n\n(You can also [customize the levels or the level names](CustomLogLevels.md). Or you can [add fine-grained control on top of or instead of simple levels](FineGrainedLogging.md).)\n\nWhich log level you choose per NSLog statement depends, of course, on the severity of the message.\n\nThese tie into the log level just as you would expect\n\n-   If you set the log level to DDLogLevelError, then you will only see Error statements.\n-   If you set the log level to DDLogLevelWarn, then you will only see Error and Warn statements.\n-   If you set the log level to DDLogLevelInfo, you'll see Error, Warn and Info statements.\n-   If you set the log level to DDLogLevelDebug, you'll see Error, Warn, Info and Debug statements.\n-   If you set the log level to DDLogLevelVerbose, you'll see all DDLog statements.\n-   If you set the log level to DDLogLevelOff, you won't see any DDLog statements.\n\nWhere do I set the log level? Do I have to use a single log level for my entire project?\n\nOf course not! We all know what it's like to debug or add new features. You want verbose logging just for the part that you're currently working on. The CocoaLumberjack framework gives you per file debugging control. So you can change the log level on just that file you're editing.\n\n(Of course there are many other advanced options, such as a global log level, per xcode configuration levels, per logger levels, etc. But we'll get to that in another article.)\n\nHere's all it takes to convert your log statements:\n\n```objective-c\n// CONVERT FROM THIS\n\n#import \"Sprocket.h\"\n\n@implementation Sprocket\n\n- (void)someMethod\n{\n    NSLog(@\"Meet George Jetson\");\n}\n\n@end\n\n// TO THIS\n\n#import \"Sprocket.h\"\n#import \"CocoaLumberjack.h\"\n\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n@implementation Sprocket\n\n- (void)someMethod\n{\n    DDLogVerbose(@\"Meet George Jetson\");\n}\n\n@end\n```\n\nNotice that the log level is declared as a constant. This means that DDLog statements above the log level threshold will be compiled out of your project (when your compiler has optimisations turned on, as it would for your release build).\n\n### Automatic Reference Counting (ARC)\n\nThe latest versions of CocoaLumberjack use ARC. If you're not using ARC in your project, learn how to properly flag the CocoaLumberjack files as ARC in your Xcode project on the [ARC](ARC.md) page.\n\n### Learn More about CocoaLumberjack\n\nThis is just the tip of the iceberg.\n\nFind out how to:\n\n-   [Automatically use different log levels for your debug vs release builds](XcodeTricks.md)\n-   [Tailor the log levels to suite your needs](CustomLogLevels.md)\n-   [Filter logs based on logger settings](PerLoggerLogLevels.md)\n-   [Write your own custom formatters](CustomFormatters.md)\n-   [Write your own custom loggers](CustomLoggers.md)\n-   [And more...](README.md)\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/LogFileManagement.md",
    "content": "Compress your log files, or upload them to a server.\n\n### Introduction\n\nWhen you think about it, there are two components of file logging. One component is the part that actually writes the log messages to the file, and decides when the file needs to be rolled. And the other component is the part that actually manages the log files. This is the part that actually does something with the log files once they're completed. Maybe it compresses them to save disk space. Maybe it uploads them to a server. Maybe both!\n\nThe `DDFileLogger` implementation, as you may now have guessed, is split into two components. `DDFileLogger` is the component that writes the log messages to the file. And `DDLogFileManager` is a protocol for managing log files, and deciding what to do with them after they've been rolled.\n\nThere are two ways to initialize a `DDFileLogger` instance:\n```objective-c\n@interface DDFileLogger : NSObject <DDLogger>\n...\n\n- (instancetype)init;\n- (instancetype)initWithLogFileManager:(id <DDLogFileManager>)logFileManager NS_DESIGNATED_INITIALIZER;\n\n...\n@end\n```\n\nThe default init method simply uses an instance of `DDLogFileManagerDefault`, which is a class that simply deletes old log files. (It keeps a configurable number around, but any past that amount are simply deleted.)\n\nThe alternative init method allows you to pass an instance of your own custom log file manager.\n\n### Log File Manager\n\nLet's take a look at the DDLogFileManager protocol:\n```objective-c\n@protocol DDLogFileManager <NSObject>\n@required\n\n// Public properties\n\n@property (readwrite, assign) NSUInteger maximumNumberOfLogFiles;\n\n// Public methods\n\n- (NSString *)logsDirectory;\n\n- (NSArray *)unsortedLogFilePaths;\n- (NSArray *)unsortedLogFileNames;\n- (NSArray *)unsortedLogFileInfos;\n\n- (NSArray *)sortedLogFilePaths;\n- (NSArray *)sortedLogFileNames;\n- (NSArray *)sortedLogFileInfos;\n\n// Private methods (only to be used by DDFileLogger)\n\n- (NSString *)createNewLogFile;\n\n@optional\n\n// Notifications from DDFileLogger\n\n- (void)didArchiveLogFile:(NSString *)logFilePath;\n- (void)didRollAndArchiveLogFile:(NSString *)logFilePath;\n\n@end\n```\n\nThere are methods to get the logs directory, and various methods to get the list of log files. Then there is a method to create a new log file (that returns the new log file path). And lastly, there are hooks from `DDFileLogger` to be notified of when a log file is rolled.\n\nThe hooks are designed to allow you do something with those archived log files!\n\nThe framework comes with a sample Xcode project that demonstrates compressing archived log files to save disk space. (It performs the compression using gzip.) The Xcode project name is `LogFileCompressor`. The `CompressingLogFileManager` class is ready to be used in your project, or you can use it as a template, or simply learn from it so you can do your own custom log file management.\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/PerLoggerLogLevels.md",
    "content": "### Use Log Level per Logger\n\nIf you need a different log level for every logger (i.e. if you have a custom logger like Crashlytics logger that should not log Info or Debug info), you can easily achieve this using the `DDLog.add(_, with:)` method in Swift, or `[DDLog addLogger:withLevel:]` method in Objective C.\n\n#### Swift\n```swift\nDDLog.add(DDASLLogger.sharedInstance, with: DDLogLevel.info)\nDDLog.add(DDTTYLogger.sharedInstance, with: DDLogLevel.debug)\n```\n\n#### Objective C\n```objective-c\n[DDLog addLogger:[DDASLLogger sharedInstance] withLevel:DDLogLevelInfo];\n[DDLog addLogger:[DDTTYLogger sharedInstance] withLevel:DDLogLevelDebug];\n```\n\n\nYou can still use the old method `+addLogger:`, this one uses the `DDLogLevelVerbose` as default, so no log is excluded.\n\nYou can retrieve the list of every logger and level associated to DDLog via the `[DDLog allLoggersWithLevel]` method.\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/PerUserLogLevels.md",
    "content": "When working as part of a team, different developers are working on different parts of the application. You may be adding a new feature to FileA, while your colleague is trying to track down a bug in FileB. During your development and testing, you increase the log level of FileA to verbose. This spits out a bunch of useful log statements so you can ensure that new feature is working exactly as intended. Excited to see it working, you quickly commit and push your changes. But you forgot to decrease the log level of FileA, and now your colleague sees a bunch of new log statements that don't apply to his/her current development work...\n\nIt's a typical situation. A bit annoying, with several unnecessary commits going back and forth, changing the log levels.\n\nA better solution is using **per-user** log levels:\n\n```objective-c\n// Log levels: off, error, warn, info, verbose\n#if defined(DEBUG) && defined(robbie_hanson)\n  static const DDLogLevel ddLogLevel = DDLogLevelVerbose; // Log level for robbie (debug)\n#elif defined(DEBUG)\n  static const DDLogLevel ddLogLevel = DDLogLevelInfo;    // Log level for other team members (debug)\n#else\n  static const DDLogLevel ddLogLevel = DDLogLevelWarn;    // Log level for release build\n#endif\n```\n\n(Different log levels per debug / release builds are explained in [Xcode Tricks](XcodeTricks.md))\n\nThis way, the developer who's currently working on the file can have their own log level. And everyone else just gets the normal log level. The trick is defining that full_username preprocessor macro.\n\nAn example of how to do this is included in the repository under the `Xcode/PerUserLogLevels` project. Which I'll explain here.\n\nThe first step is adding a new header file to your project. We'll call it `LumberjackUser.h`. You can leave the file completely empty. But when it's all said and done, the file will end up looking like this:\n\n```objective-c\n// This file is automatically generated\n#define robbie_hanson 1\n```\n\nOf course, when you compile the project on your computer, `robbie_hanson` will get replaced with `whatever_your_full_username_is`.\n\nNote: You should not add `LumberjackUser.h` to source control. But it does need to be added to the Xcode project.\n\nNext we're going to add a script to our project that will automatically generate/update the `LumberjackUser.h` file. I placed the script in a file named `LumberjackUser.bash`:\n\n```\n#!/bin/bash\n\n# Get full user name of current user\n# E.g. \"Robbie Hanson\"\nfull1=$(osascript -e \"tell application \\\\\"System Events\\\\\"\" -e \"get the full name of the current user\" -e \"end tell\")\n#echo $full1\n\n# Convert to lower case\n# E.g. \"robbie hanson\"\nfull2=$(echo $full1 | awk '{print tolower($0)}')\n#echo $full2\n\n# Replace spaces with underscores\n# E.g. \"robbie_hanson\"\nfull3=$(echo ${full2// /_})\n#echo $full3\n\n# Remove any characters that are illegal in a macro name\nfull4=$(echo $full3 | sed 's/[^0-9a-zA-Z_]*//g')\n#echo $full4\n\n# If we output directly to our intended file, even when nothing has changed,\n# then we'll essentially be doing a touch on the file.\n# The compiler will see this, and recompile any files that include the header.\n# This may mean recompiling every single source file, every single time we do a build!\n# So instead we're going to output to a temporary file, and use diff to detect changes.\n\ntemp_filepath=\"${SRCROOT}/PerUserLogLevels/LumberjackUser.temp.h\"\nfinal_filepath=\"${SRCROOT}/PerUserLogLevels/LumberjackUser.h\"\n\necho \"// This file is automatically generated\" > ${temp_filepath}\necho \"#define $full4 1\" >> ${temp_filepath}\n\nif [ -a ${final_filepath} ]\n\tthen\n\tDIFF=$(diff ${temp_filepath} ${final_filepath}) \n\tif [ \"$DIFF\" != \"\" ] \n\tthen\n\t\tcp -f ${temp_filepath} ${final_filepath}\n\tfi\nelse\n\tcp -f ${temp_filepath} ${final_filepath}\nfi\n```\n\nNext we're going to add a new \"Run Script\" Build Phase to our target, ensure it's run before the Compile Sources phase, and have it execute our bash script from above:\n\n![Screenshot of Xcode](http://www.deusty.com/blog/CocoaLumberjack/PerUserLogLevels1.png)\n\nFinally, you'll want to add `LumberjackUser.h` and `LumberjackUser.temp.h` to `.gitignore`\n\nAnd that's all there is to it. Happy Logging."
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/Performance.md",
    "content": "Analysis of performance with benchmarks\n\n## Introduction\n\nLumberjack was designed from the start to be fast. And fast it is! The project itself comes with a suite of benchmarking tests. With a simple build-and-go in Xcode you can run them yourself. But the main reason the benchmarking tests are there is so the project maintainers never neglect the performance factor.\n\nBut what makes lumberjack so fast?\n\n### Grand Central Dispatch\n\nLumberjack takes advantage of [grand central dispatch](http://developer.apple.com/mac/articles/cocoa/introblocksgcd.html) (GCD) if it is available on the target platform. For example, the framework will execute each individual logger concurrently. This means that the framework can write log messages to the console and a file at the same time, using multiple CPU cores. And GCD optimizes all this multi-threading for us automatically, meaning the framework can scale from 1 CPU core to 100.\n\nIf GCD is not available, Lumberjack still performs excellently using traditional multi-threaded optimizations.\n\n### Asynchronous Logging\n\nLumberjack has the ability to execute certain log statements asynchronously. (This is, of course, optional and you can disable it or fine-tune it as you see fit.)\n\nThe default philosophy for asynchronous logging is very simple:\n\n- Log messages with errors should be executed synchronously.\n> After all, an error just occurred. The application could be unstable.\\\n\n- All other log messages, such as debug output, are executed asynchronously.\n> After all, if it wasn't an error, then it was just informational output, or something the application was easily able to recover from.\n\nThis is easily configurable. And the performance of the library does not solely rely on asynchronous logging.\n\n### A Better NSLog\n\nThe simple truth is that NSLog is just plain slow.\n\nBut why? To answer that question, let's find out what NSLog does, and then how it does it.\n\nWhat does NSLog do exactly?\n\nNSLog does 2 things:\n\n1.  It writes log messages to the Apple System Logging (asl) facility. This allows log messages to show up in Console.app.\n2.  It also checks to see if the application's stderr stream is going to a terminal (such as when the application is being run via Xcode). If so it writes the log message to stderr (so that it shows up in the Xcode console).\n\nWriting to STDERR doesn't sound difficult. That can be accomplished with [fprintf](http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man3/printf.3.html) and the [stderr file descriptor reference](http://gemma.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man4/stderr.4.html). But what about asl?\n\nThe best documentation I've found about ASL is a 10 part blog post from Peter Hosey: [link](http://boredzo.org/blog/archives/2008-01-20/why-asl)\n\nWithout going into too much detail, the highlight (as it concerns performance) is this:\n\n> To send a log message to the ASL facility, you basically open a client connection to the ASL daemon and send the message. BUT - each thread must use a separate client connection. So, to be thread safe, every time NSLog is called it opens a new asl client connection, sends the message, and then closes the connection. (1) \n\nThe lumberjack framework avoids much of the cost by creating a single re-usable asl client connection for its background logging thread.\n\n^1 - Assuming that NSLog acts like its open-source cousin CFShow.\n\n## Benchmarking\n\nAs mentioned earlier, the Lumberjack framework comes with a suite of benchmarking tests. You can run these benchmark tests yourself using the \"BenchmarkMac\" or \"BenchmarkIPhone\" Xcode projects. When you build-and-go, the project will output the results to the Xcode console in a human-readable format at the end of the benchmarking process. It will also output a CSV file in case you wanted to graph the results.\n\nThere are 4 main tests. The base case for each test is a standard NSLog statement. Each test is run 20 times, from which a min, max and average time is calculated. The benchmark includes various configurations of the Lumberjack framework, such as:\n\n-   logging to the console only\n-   logging to a file only\n-   logging to the console & file at the same time\n\n#### Test \\# 1:\n\n> Asynchronous logging test. Execute 1,000 log statements. All lumberjack log statements are queued onto a background logging thread.\n\n#### Test \\#2:\n\n> Synchronous logging test. Execute 1,000 log statements. All lumberjack log statements are executed synchronously. They may still be executed on a background logging thread, but the original log statement does not return until the logging has completed.\n\n#### Test \\#3:\n\n> Real life simulation with an even spread of log statements across various levels. Execute 1,000 log statements. 25% will be above the log level and will be filtered out. 50% will be executed asynchronously. 25% will be executed synchronously.\n\n#### Test \\#4:\n\n> Real life simulation with an abundance of debug log statements. Execute 1,000 log statements. 90% will be filtered out. 10% will be error messages, executed synchronously.\n\nThe numbers for test \\#4 came from some projects that I've worked on in the past. A bit of regex revealed that 90% of my log statements were debug messages. The other 10% were spread among the various other levels, but I wanted the benchmark test to be \"worst case\" with respect to this 10%.\n\nNote that all of these benchmark test are configurable. So if you wanted to try, for example, test \\#4 with different percentages, you can easily change the test yourself.\n\n<a href=\"http://www.flickr.com/photos/100714763@N06/9575919309/\" title=\"CocoaLumberjack_benchmark_iPhone3GS by robbiehanson, on Flickr\"><img src=\"http://farm6.staticflickr.com/5465/9575919309_522d129a6b_c.jpg\" width=\"800\" height=\"567\" alt=\"CocoaLumberjack_benchmark_iPhone3GS\"></a>\n<br/><br/><br/><br/>\n<a href=\"http://www.flickr.com/photos/100714763@N06/9578712828/\" title=\"CocoaLumberjack_benchmark_iPad by robbiehanson, on Flickr\"><img src=\"http://farm6.staticflickr.com/5335/9578712828_8a1c717c4a_c.jpg\" width=\"800\" height=\"567\" alt=\"CocoaLumberjack_benchmark_iPad\"></a>\n<br/><br/><br/><br/>\n<a href=\"http://www.flickr.com/photos/100714763@N06/9575918737/\" title=\"CocoaLumberjack_benchmark_iMac by robbiehanson, on Flickr\"><img src=\"http://farm6.staticflickr.com/5541/9575918737_fd21649c6c_c.jpg\" width=\"800\" height=\"567\" alt=\"CocoaLumberjack_benchmark_iMac\"></a>\n<br/><br/><br/><br/>\n<a href=\"http://www.flickr.com/photos/100714763@N06/9575919599/\" title=\"CocoaLumberjack_benchmark_powerMac by robbiehanson, on Flickr\"><img src=\"http://farm4.staticflickr.com/3727/9575919599_c08287fefe_c.jpg\" width=\"800\" height=\"567\" alt=\"CocoaLumberjack_benchmark_powerMac\"></a>"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/ProblemSolution.md",
    "content": "Common issues you may encounter and their solutions.\n\n### Logging behavior is inconsistent in iOS Share/Other Extensions\n\nWhen using logging to evaluate issues in iOS Extensions, logging sometimes works, but some messages are not logged, particularly if the extension crashes or otherwise encounters an error. This is very frustrating when trying to use logging to track down the problem.\n\niOS Extensions are sandboxed environments hosted within the sending application. If you double-Home to view the app list, you will see for instance that a Share Extension is not listed as an application - it is just a UIViewController presented within the host application itself. For security reasons, issue handling is especially rigid in this environment, and threading/async task handling has some odd side effects.\n\nBy default, for maximum performance, CocoaLumberjack logs messages asynchronously. This can cause problems in Extensions with reliable logging of the final messages before an exception is handled. To work around this, enable this compile-time setting either at the top of your Extension's entry code file or as a Preprocessor Macro:\n\n```objective-c\n#define LOG_ASYNC_ENABLED NO\n```\n\nThis will disable asynchronous logging just for the extension, improving its reliability there.\n\n### NSConcreteStackBlock\n\nYour application fails to launch, and you see a crash message that looks something like\n> Dyld Error Message: Symbol not found: **NSConcreteStackBlock\n\nThis seems to be an issue with LLVM, and blocks in general. It seems to affect those using Xcode 3, and targeting either Mac OS X 10.5 or iOS 3.X, and perhaps using the LLVM compiler.\n\nA solution was posted to [StackOverflow](http://stackoverflow.com/questions/3313786/ios-4-app-crashes-at-startup-on-ios-3-1-3-symbol-not-found-nsconcretestackblo), and states that you should specify the linker flag\n```objective-c\n-weak_library /usr/lib/libSystem.B.dylib\n```\n\nThis was also reported in Issue \\#10 (concerning Mac OS X 10.5), and the linker flag was reported to work.\n\n### Xcode 4.4 or later required\n\n**Problem:** Your application fails to build because of the Xcode modern syntax @{} for dictionaries ...\n\n**Cause:** This is because Xcode 4.4 or later is required to process this.\n\n**Solution:** Upgrade to the latest Xcode version.\n\n**Mac OS X 10.6 solution:** If you still need to support Mac OS X 10.6, please use an older version of Lumberjack that can be built using an older Xcode\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/README.md",
    "content": "\nCocoaLumberjack Documentation \n=============================\n\n## Beginner\n\n* [Getting Started](GettingStarted.md): Get up and running using the Lumberjack Framework.\n\n* [ARC](ARC.md): Supporting ARC files in a non-ARC project.\n\n* [Xcode Tricks](XcodeTricks.md): Using different log levels for Debug and Release builds.\n\n* [Per Logger Log Levels](PerLoggerLogLevels.md): Using different log levels for each logger.\n\n* [Xcode Colors](XcodeColors.md): Use colors in the Xcode debugging console.\n\n* [Custom Formatters](CustomFormatters.md): How to write your own custom formatters.\n\n* [FAQ](FAQ.md): Frequently asked questions.\n\n* [Performance](Performance.md): Analysis of performance with benchmarks.\n\n* [Problem Solution](ProblemSolution.md): Common issues you may encounter and their solutions.\n\n* [AppCode Support](AppCode-support.md) How to use CocoaLumberjack in AppCode.\n\n## Intermediate\n\n* [Architecture](Architecture.md): Lumberjack internals & overview.\n\n* [Custom Context](CustomContext.md): Taking advantage of logging contexts.\n\n* [Custom Loggers](CustomLoggers.md): How to write your own custom loggers.\n\n* [Custom Log Levels](CustomLogLevels.md): How to add or customize log levels.\n\n* [Per User Log Levels](PerUserLogLevels.md): Different log levels per developer.\n\n## Advanced\n\n* [Dynamic Log Levels](DynamicLogLevels.md): Dynamically changing log levels during run-time.\n\n* [Fine Grained Logging](FineGrainedLogging.md): When you need something more advanced than simple log levels.\n\n* [Log File Management](LogFileManagement.md): Compress your log files, or upload them to a server.\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/XcodeColors.md",
    "content": "It's sometimes helpful to color-coordinate your log messages. For example, you may want your error messages to print in red so they stick out.  \nThis is possible with `DDTTYLogger` and **XcodeColors**.\n\n<a href=\"http://www.flickr.com/photos/100714763@N06/9576120087/\" title=\"Screen Shot 2013-08-23 at 10.30.09 AM by robbiehanson, on Flickr\"><img src=\"http://farm4.staticflickr.com/3755/9576120087_bf2a3cae91_c.jpg\" width=\"800\" height=\"568\" alt=\"Screen Shot 2013-08-23 at 10.30.09 AM\"></a>\n\n## Install XcodeColors\n\n**XcodeColors** is a simple plugin for Xcode.  \nIt allows you to use colors in the Xcode debugging console.\n\nFull installation instructions can be found on the XcodeColors project page:  \nhttps://github.com/robbiehanson/XcodeColors\n\nBut here's a summary:\n- Download the plugin\n- Slap it into the Xcode Plug-ins directory\n- Restart Xcode\n\n## Enable Colors\n\nAll it takes is one extra line of code to enable colors in Lumberjack:\n\n```objective-c\n// Standard lumberjack initialization\n[DDLog addLogger:[DDTTYLogger sharedInstance]];\n\n// And we also enable colors\n[[DDTTYLogger sharedInstance] setColorsEnabled:YES];\n```\n\nThe **default color scheme** (if you don't customize it) is:\n\n- `DDLogError` : Prints in red\n- `DDLogWarn`  : Prints in orange\n\nHowever, **you can fully customize the color schemes** however you like!  \nIn fact, you can customize the foreground and/or background colors.  \nAnd you can specify any RGB value you'd like.\n\n```objective-c\n// Let's customize our colors.\n// DDLogInfo : Pink\n\n#if TARGET_OS_IPHONE\nUIColor *pink = [UIColor colorWithRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0];\n#else\nNSColor *pink = [NSColor colorWithCalibratedRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0];\n#endif\n\n[[DDTTYLogger sharedInstance] setForegroundColor:pink backgroundColor:nil forFlag:DDLogFlagInfo];\n\nDDLogInfo(@\"Warming up printer\"); // Prints in Pink !\n```\n\n## XcodeColors and iOS\n\nYou may occasionally notice that colors don't work when you're debugging your app in the simulator. And you may also notice that your colors never work when debugging on the actual device. How do I fix it so it works everywhere, all the time?\n\nYou can fix it in a few seconds. Here's how.\n\n- In Xcode bring up the Scheme Editor (Product -> Edit Scheme...)\n- Select \"Run\" (on the left), and then the \"Arguments\" tab\n- Add a new Environment Variable named \"XcodeColors\", with a value of \"YES\"\n\n<a href=\"http://www.flickr.com/photos/100714763@N06/9578924278/\" title=\"Screen Shot 2013-08-23 at 10.32.59 AM by robbiehanson, on Flickr\"><img src=\"http://farm6.staticflickr.com/5330/9578924278_1aa7431003_c.jpg\" width=\"800\" height=\"530\" alt=\"Screen Shot 2013-08-23 at 10.32.59 AM\"></a>\n\nYour colors should now work on the simulator and on the device, every single time.\n\n### More information:\n\nThe XcodeColors plugin is automatically loaded by Xcode when Xcode launches. When XcodeColors runs, it sets the environment variable \"XcodeColors\" to \"YES\". Thus the Xcode application itself has this environment variable set.  \n\nIt is this environment variable that Lumberjack uses to detect whether XcodeColors is installed or not. Because if Lumberjack injects color information when XcodeColors isn't installed, then your log statements have a bunch of garbage characters in them.  \n\nNow any application that Xcode launches inherits the environment variables from Xcode. So if you hit build-and-go, and Xcode launches the simulator for you automatically, then the colors will work. But if you manually launch the simulator, then it doesn't inherit environment variables from Xcode (because Xcode isn't the process' parent in this case). It's a similar problem when debugging on the actual device.\n\n## Colors in the Terminal\n\nIf you ever do any debugging in the Terminal, then you're in luck! **DDTTYLogger supports color in terminals as well.**\n\nIf your shell supports color, the DDTTYLogger will automatically map your requested colors to the closest supported color by your shell. In most cases your terminal will be \"xterm-256color\", so your terminal will support 256 different colors, and you'll get a close match for whatever RGB values you configure."
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Documentation/XcodeTricks.md",
    "content": "Automatically use different log levels per xcode configuration.\n\n# Xcode 4+\n\nStarting with Xcode 4, the `DEBUG` preprocessor macro is automatically set when building for debug (as opposed to release). So you can use this to automatically get different log levels depending upon your current build configuration.\n\n```objective-c\n#ifdef DEBUG\n  static const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n#else\n  static const DDLogLevel ddLogLevel = DDLogLevelWarning;\n#endif\n```\n\nNothing else is needed. (No changes required of your xcode project.) If the DEBUG macro isn't set in your project, it likely means you originally created the project with Xcode 3 (or before the DEBUG macro became standard). In that case, read on.\n\n# Xcode 3\n\nXcode has powerful configuration tools that we can tap into to automatically use different log levels depending on whether we're compiling in Debug vs Release mode.\n\nWhen we're done we'll be able to have code like this:\n\n```objective-c\n#ifdef CONFIGURATION_DEBUG\n  static const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n#else\n  static const DDLogLevel ddLogLevel = DDLogLevelWarning;\n#endif\n```\n\n### Details\n\nOpen your Xcode project and go to:\n\nProject -\\> Edit **Project** Settings\n\nNow change the configuration to **Debug Configuration**.\n\nFilter on \"preprocessor\" so you can find the **Preprocessor Macros Not Used In Precompilation** setting.\n\nNow add a **CONFIGURATION\\_DEBUG** value to this setting.\n\nYour project settings should look like this:\n\n<a href=\"http://www.flickr.com/photos/100714763@N06/9575919913/\" title=\"CocoaLumberjack_xcode1 by robbiehanson, on Flickr\"><img src=\"http://farm8.staticflickr.com/7410/9575919913_4655514922_o.png\" width=\"653\" height=\"673\" alt=\"CocoaLumberjack_xcode1\"></a>\n\nNext, switch the configuration to **Release Configuration**.\n\nNow add a **CONFIGURATION\\_RELEASE** to the **Preprocessor Macros Not Used In Precompilation** setting.\n\nYour project settings should look like this:\n\n<a href=\"http://www.flickr.com/photos/100714763@N06/9575920131/\" title=\"CocoaLumberjack_xcode2 by robbiehanson, on Flickr\"><img src=\"http://farm4.staticflickr.com/3808/9575920131_52625d8f01_o.png\" width=\"653\" height=\"673\" alt=\"CocoaLumberjack_xcode2\"></a>\n\nAnd that's all there is to it. You're done!\n\nAnd this isn't limited to just logging.\nYou can use the `#ifdef CONFIGURATION_DEBUG` anywhere you want in your project if you feel the need to differentiate something between your debug and release builds.\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/CocoaLumberjack-iOS-Static/CocoaLumberjack_iOS_Static.h",
    "content": "//\n//  CocoaLumberjack_iOS_Static.h\n//  CocoaLumberjack-iOS-Static\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\n#import <Foundation/Foundation.h>\n\n@interface CocoaLumberjack_iOS_Static : NSObject\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/CocoaLumberjack-iOS-Static/CocoaLumberjack_iOS_Static.m",
    "content": "//\n//  CocoaLumberjack_iOS_Static.m\n//  CocoaLumberjack-iOS-Static\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\n#import \"CocoaLumberjack_iOS_Static.h\"\n\n@implementation CocoaLumberjack_iOS_Static\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/FmwkTest/AppDelegate.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n\n@interface AppDelegate : NSObject <NSApplicationDelegate>\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/FmwkTest/AppDelegate.m",
    "content": "#import \"AppDelegate.h\"\n#import <CocoaLumberjack/CocoaLumberjack.h>\n#import <CocoaLumberjack/DDTTYLogger.h>\n\n// Log levels: off, error, warn, info, verbose\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n@interface AppDelegate ()\n\n@property (weak) IBOutlet NSWindow *window;\n\n@end\n\n\n@implementation AppDelegate\n\n- (void)applicationDidFinishLaunching:(NSNotification *)aNotification\n{\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    DDLogVerbose(@\"Verbose\");\n    DDLogInfo(@\"Info\");\n    DDLogWarn(@\"Warn\");\n    DDLogError(@\"Error\");\n    \n    DDLog *aDDLogInstance = [DDLog new];\n    [aDDLogInstance addLogger:[DDTTYLogger sharedInstance]];\n    \n    DDLogVerboseToDDLog(aDDLogInstance, @\"Verbose from aDDLogInstance\");\n    DDLogInfoToDDLog(aDDLogInstance, @\"Info from aDDLogInstance\");\n    DDLogWarnToDDLog(aDDLogInstance, @\"Warn from aDDLogInstance\");\n    DDLogErrorToDDLog(aDDLogInstance, @\"Error from aDDLogInstance\");\n}\n\n- (void)applicationWillTerminate:(NSNotification *)aNotification\n{\n\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/FmwkTest/FmwkTest-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>${MACOSX_DEPLOYMENT_TARGET}</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2012 __MyCompanyName__. All rights reserved.</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/FmwkTest/FmwkTest-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'FmwkTest' target in the 'FmwkTest' project\n//\n\n#ifdef __OBJC__\n\t#import <Cocoa/Cocoa.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/FmwkTest/en.lproj/Credits.rtf",
    "content": "{\\rtf0\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\n{\\colortbl;\\red255\\green255\\blue255;}\n\\paperw9840\\paperh8400\n\\pard\\tx560\\tx1120\\tx1680\\tx2240\\tx2800\\tx3360\\tx3920\\tx4480\\tx5040\\tx5600\\tx6160\\tx6720\\ql\\qnatural\n\n\\f0\\b\\fs24 \\cf0 Engineering:\n\\b0 \\\n\tSome people\\\n\\\n\n\\b Human Interface Design:\n\\b0 \\\n\tSome other people\\\n\\\n\n\\b Testing:\n\\b0 \\\n\tHopefully not nobody\\\n\\\n\n\\b Documentation:\n\\b0 \\\n\tWhoever\\\n\\\n\n\\b With special thanks to:\n\\b0 \\\n\tMom\\\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/FmwkTest/en.lproj/InfoPlist.strings",
    "content": "/* Localized versions of Info.plist keys */\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/FmwkTest/en.lproj/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<archive type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"8.00\">\n\t<data>\n\t\t<int key=\"IBDocument.SystemTarget\">1070</int>\n\t\t<string key=\"IBDocument.SystemVersion\">11A511</string>\n\t\t<string key=\"IBDocument.InterfaceBuilderVersion\">1920</string>\n\t\t<string key=\"IBDocument.AppKitVersion\">1138</string>\n\t\t<string key=\"IBDocument.HIToolboxVersion\">566.00</string>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.PluginVersions\">\n\t\t\t<string key=\"NS.key.0\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t<string key=\"NS.object.0\">1920</string>\n\t\t</object>\n\t\t<array key=\"IBDocument.IntegratedClassDependencies\">\n\t\t\t<string>NSWindowTemplate</string>\n\t\t\t<string>NSView</string>\n\t\t\t<string>NSMenu</string>\n\t\t\t<string>NSMenuItem</string>\n\t\t\t<string>NSCustomObject</string>\n\t\t</array>\n\t\t<array key=\"IBDocument.PluginDependencies\">\n\t\t\t<string>com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t</array>\n\t\t<object class=\"NSMutableDictionary\" key=\"IBDocument.Metadata\">\n\t\t\t<string key=\"NS.key.0\">PluginDependencyRecalculationVersion</string>\n\t\t\t<integer value=\"1\" key=\"NS.object.0\"/>\n\t\t</object>\n\t\t<array class=\"NSMutableArray\" key=\"IBDocument.RootObjects\" id=\"1048\">\n\t\t\t<object class=\"NSCustomObject\" id=\"1021\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1014\">\n\t\t\t\t<string key=\"NSClassName\">FirstResponder</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"1050\">\n\t\t\t\t<string key=\"NSClassName\">NSApplication</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSMenu\" id=\"649796088\">\n\t\t\t\t<string key=\"NSTitle\">AMainMenu</string>\n\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"694149608\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">FmwkTest</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSOnImage\" id=\"35465992\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuCheckmark</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"NSCustomResource\" key=\"NSMixedImage\" id=\"502551668\">\n\t\t\t\t\t\t\t<string key=\"NSClassName\">NSImage</string>\n\t\t\t\t\t\t\t<string key=\"NSResourceName\">NSMenuMixedState</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"110575045\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">FmwkTest</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238522557\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">About FmwkTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"304266470\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"609285721\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Preferences…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">,</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"481834944\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1046388886\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"752062318\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Services</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\"/>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSServicesMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"646227648\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"755159360\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide FmwkTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"342932134\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Hide Others</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">h</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908899353\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1056857174\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"632727374\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"110575045\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Quit FmwkTest</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">q</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSAppleMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"379814623\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"720053764\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">File</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"705341025\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">New</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">n</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"722745758\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">o</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1025936716\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1065607017\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Open Recent</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"759406840\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1065607017\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Clear Menu</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSRecentDocumentsMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"425164168\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"776162233\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Close</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">w</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1023925487\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Save…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">s</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"579971712\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Revert to Saved</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1010469920\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"294629803\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Page Setup...</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">P</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSToolTip\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"49223823\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"720053764\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Print…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">p</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"952259628\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"789758025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Edit</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1058277027\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Undo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"790794224\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Redo</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">Z</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1040322652\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"296257095\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Cut</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">x</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"860595796\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"29853731\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"82994268\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste and Match Style</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">V</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"437104165\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Delete</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"583158037\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Select All</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">a</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"212016141\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"892235320\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"963351320\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"447796847\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"738670835\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find and Replace…</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">12</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"326711663\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Next</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"270902937\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Find Previous</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159080638\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Selection for Find</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">e</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">7</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"88285865\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"963351320\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Jump to Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">j</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"972420730\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"769623530\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"679648819\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Spelling and Grammar</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"96193923\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Document Now</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">;</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"859480356\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"948374510\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Spelling While Typing</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"967646866\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Check Grammar With Spelling</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"795346622\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"769623530\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Correct Spelling Automatically</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"507821607\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"698887838\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"65139061\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Substitutions</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"19036812\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"605118523\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Copy/Paste</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">f</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"197661976\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Quotes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">g</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"672708820\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Dashes</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"708854459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smart Links</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">G</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1179648</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"537092702\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"698887838\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text Replacement</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"288088188\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"579392910\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Transformations</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1060694897\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Upper Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"879586729\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Make Lower Case</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"56570060\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"579392910\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Capitalize</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"676164635\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"789758025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"785027613\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Speech</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"731782645\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Start Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"680220178\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"785027613\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Stop Speaking</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"302598603\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"941447902\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Format</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"792887677\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"786677654\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Font</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"159677712\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Fonts</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"305399458\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bold</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">b</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">2</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"814362025\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Italic</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">i</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">1</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"330926929\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Underline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">u</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"533507878\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"158063935\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bigger</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">+</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">3</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"885547335\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Smaller</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">-</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSTag\">4</int>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"901062459\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"767671776\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"175441468\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Kern</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"252969304\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"766922938\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"677519740\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Tighten</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"238351151\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"175441468\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Loosen</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"691570813\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"1058217995\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Ligature</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"706297211\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"568384683\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use None</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"663508465\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"1058217995\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use All</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"769124883\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"18263474\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Baseline</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257962622\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Use Default</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644725453\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Superscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1037576581\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Subscript</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"941806246\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Raise</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1045724900\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"18263474\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Lower</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"739652853\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1012600125\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Colors</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">C</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"214559597\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"596732606\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"393423671\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"786677654\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Style</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSName\">_NSFontMenu</string>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"215659978\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"941447902\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"446991534\">\n\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Text</string>\n\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"875092757\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Left</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">{</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"630155264\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Center</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">|</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"945678886\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Justify</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"512868991\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Align Right</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">}</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"163117631\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"31516759\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"956096989\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Writing Direction</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"257099033\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paragraph</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"551969625\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"249532473\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"607364498\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"508151438\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"981751889\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Selection</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"380031999\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CURlZmF1bHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"825984362\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CUxlZnQgdG8gUmlnaHQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"560145579\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"956096989\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string type=\"base64-UTF8\" key=\"NSTitle\">CVJpZ2h0IHRvIExlZnQ</string>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"908105787\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"644046920\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"231811626\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Copy Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">c</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"883618387\">\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"446991534\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Paste Ruler</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">v</string>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1310720</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"586577488\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"466310130\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">View</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"102151532\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Show Toolbar</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">t</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1572864</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"237841660\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"466310130\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Customize Toolbar…</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"713487014\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"835318025\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Window</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"1011231497\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Minimize</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">m</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"575023229\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Zoom</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"299356726\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsDisabled\">YES</bool>\n\t\t\t\t\t\t\t\t\t<bool key=\"NSIsSeparator\">YES</bool>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"625202149\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"835318025\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">Bring All to Front</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSWindowsMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMenuItem\" id=\"448692316\">\n\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"649796088\"/>\n\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t<string key=\"NSKeyEquiv\"/>\n\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t<string key=\"NSAction\">submenuAction:</string>\n\t\t\t\t\t\t<object class=\"NSMenu\" key=\"NSSubmenu\" id=\"992780483\">\n\t\t\t\t\t\t\t<string key=\"NSTitle\">Help</string>\n\t\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"NSMenuItems\">\n\t\t\t\t\t\t\t\t<object class=\"NSMenuItem\" id=\"105068016\">\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMenu\" ref=\"992780483\"/>\n\t\t\t\t\t\t\t\t\t<string key=\"NSTitle\">FmwkTest Help</string>\n\t\t\t\t\t\t\t\t\t<string key=\"NSKeyEquiv\">?</string>\n\t\t\t\t\t\t\t\t\t<int key=\"NSKeyEquivModMask\">1048576</int>\n\t\t\t\t\t\t\t\t\t<int key=\"NSMnemonicLoc\">2147483647</int>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSOnImage\" ref=\"35465992\"/>\n\t\t\t\t\t\t\t\t\t<reference key=\"NSMixedImage\" ref=\"502551668\"/>\n\t\t\t\t\t\t\t\t</object>\n\t\t\t\t\t\t\t</array>\n\t\t\t\t\t\t\t<string key=\"NSName\">_NSHelpMenu</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t\t<string key=\"NSName\">_NSMainMenu</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSWindowTemplate\" id=\"972006081\">\n\t\t\t\t<int key=\"NSWindowStyleMask\">15</int>\n\t\t\t\t<int key=\"NSWindowBacking\">2</int>\n\t\t\t\t<string key=\"NSWindowRect\">{{335, 390}, {480, 360}}</string>\n\t\t\t\t<int key=\"NSWTFlags\">1954021376</int>\n\t\t\t\t<string key=\"NSWindowTitle\">FmwkTest</string>\n\t\t\t\t<string key=\"NSWindowClass\">NSWindow</string>\n\t\t\t\t<nil key=\"NSViewClass\"/>\n\t\t\t\t<nil key=\"NSUserInterfaceItemIdentifier\"/>\n\t\t\t\t<object class=\"NSView\" key=\"NSWindowView\" id=\"439893737\">\n\t\t\t\t\t<nil key=\"NSNextResponder\"/>\n\t\t\t\t\t<int key=\"NSvFlags\">256</int>\n\t\t\t\t\t<string key=\"NSFrameSize\">{480, 360}</string>\n\t\t\t\t</object>\n\t\t\t\t<string key=\"NSScreenRect\">{{0, 0}, {1920, 1178}}</string>\n\t\t\t\t<string key=\"NSMaxSize\">{10000000000000, 10000000000000}</string>\n\t\t\t\t<bool key=\"NSWindowIsRestorable\">YES</bool>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"976324537\">\n\t\t\t\t<string key=\"NSClassName\">AppDelegate</string>\n\t\t\t</object>\n\t\t\t<object class=\"NSCustomObject\" id=\"755631768\">\n\t\t\t\t<string key=\"NSClassName\">NSFontManager</string>\n\t\t\t</object>\n\t\t</array>\n\t\t<object class=\"IBObjectContainer\" key=\"IBDocument.Objects\">\n\t\t\t<array class=\"NSMutableArray\" key=\"connectionRecords\">\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">terminate:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"632727374\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">449</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontStandardAboutPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238522557\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">142</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delegate</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"976324537\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">495</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performMiniaturize:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1011231497\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">37</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">arrangeInFront:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"625202149\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">39</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">print:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"49223823\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">86</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runPageLayout:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"294629803\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">87</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">clearRecentDocuments:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"759406840\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">127</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performClose:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"776162233\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">193</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleContinuousSpellChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"948374510\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">222</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">undo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1058277027\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">223</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copy:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"860595796\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">224</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">checkSpelling:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"96193923\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">225</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">paste:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"29853731\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">226</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">stopSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"680220178\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">227</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">cut:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"296257095\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">228</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showGuessPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"679648819\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">230</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">redo:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"790794224\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">231</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">selectAll:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"583158037\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">232</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">startSpeaking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"731782645\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">233</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">delete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"437104165\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">235</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performZoom:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"575023229\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">240</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"447796847\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">241</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">centerSelectionInVisibleArea:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"88285865\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">245</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleGrammarChecking:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"967646866\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">347</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleSmartInsertDelete:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"605118523\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">355</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticQuoteSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"197661976\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">356</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticLinkDetection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"708854459\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">357</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">saveDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1023925487\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">362</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"579971712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">364</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">runToolbarCustomizationPalette:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"237841660\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">365</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleToolbarShown:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"102151532\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">366</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hide:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"755159360\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">367</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">hideOtherApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"342932134\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">368</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unhideAllApplications:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"908899353\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">370</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">newDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"705341025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">373</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">openDocument:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"722745758\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">374</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">raiseBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"941806246\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">426</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowerBaseline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1045724900\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">427</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"596732606\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">428</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">subscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1037576581\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">429</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">superscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644725453\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">430</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">tightenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"677519740\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">431</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">underline:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"330926929\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">432</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontColorPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1012600125\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">433</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useAllLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"663508465\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">434</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">loosenKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"238351151\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">435</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"393423671\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">436</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">unscript:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"257962622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">437</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"252969304\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">438</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">useStandardLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"706297211\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">439</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffLigatures:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"568384683\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">440</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">turnOffKerning:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"766922938\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">441</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticSpellingCorrection:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"795346622\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">456</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontSubstitutionsPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"65139061\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">458</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticDashSubstitution:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"672708820\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">461</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleAutomaticTextReplacement:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"537092702\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">463</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">uppercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"1060694897\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">464</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">capitalizeWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"56570060\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">467</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">lowercaseWord:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"879586729\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">468</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteAsPlainText:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"82994268\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">486</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"326711663\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">487</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"270902937\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">488</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159080638\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">489</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">showHelp:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"105068016\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">493</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignCenter:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"630155264\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">518</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">pasteRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"883618387\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">519</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">toggleRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"644046920\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">520</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"512868991\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">521</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">copyRuler:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"231811626\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">522</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignJustified:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"945678886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">523</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">alignLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"875092757\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">524</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"551969625\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">525</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"249532473\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">526</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeBaseWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"607364498\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">527</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionNatural:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"380031999\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">528</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionLeftToRight:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"825984362\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">529</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">makeTextWritingDirectionRightToLeft:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"560145579\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">530</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">performFindPanelAction:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"738670835\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">535</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"305399458\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">421</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">addFontTrait:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"814362025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">422</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"885547335\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">423</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">orderFrontFontPanel:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"159677712\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">424</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBActionConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">modifyFont:</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"158063935\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">425</int>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBConnectionRecord\">\n\t\t\t\t\t<object class=\"IBOutletConnection\" key=\"connection\">\n\t\t\t\t\t\t<string key=\"label\">window</string>\n\t\t\t\t\t\t<reference key=\"source\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"destination\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<int key=\"connectionID\">532</int>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t\t<object class=\"IBMutableOrderedSet\" key=\"objectRecords\">\n\t\t\t\t<array key=\"orderedObjects\">\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">0</int>\n\t\t\t\t\t\t<array key=\"object\" id=\"0\"/>\n\t\t\t\t\t\t<reference key=\"children\" ref=\"1048\"/>\n\t\t\t\t\t\t<nil key=\"parent\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-2</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1021\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">File's Owner</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-1</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1014\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">First Responder</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">-3</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1050\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t\t<string key=\"objectName\">Application</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">29</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"649796088\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"713487014\"/>\n\t\t\t\t\t\t\t<reference ref=\"694149608\"/>\n\t\t\t\t\t\t\t<reference ref=\"952259628\"/>\n\t\t\t\t\t\t\t<reference ref=\"379814623\"/>\n\t\t\t\t\t\t\t<reference ref=\"586577488\"/>\n\t\t\t\t\t\t\t<reference ref=\"302598603\"/>\n\t\t\t\t\t\t\t<reference ref=\"448692316\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">19</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"713487014\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"835318025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">56</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"694149608\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"110575045\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">217</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"952259628\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"789758025\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">83</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"379814623\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"720053764\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">81</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"720053764\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1023925487\"/>\n\t\t\t\t\t\t\t<reference ref=\"49223823\"/>\n\t\t\t\t\t\t\t<reference ref=\"722745758\"/>\n\t\t\t\t\t\t\t<reference ref=\"705341025\"/>\n\t\t\t\t\t\t\t<reference ref=\"1025936716\"/>\n\t\t\t\t\t\t\t<reference ref=\"294629803\"/>\n\t\t\t\t\t\t\t<reference ref=\"776162233\"/>\n\t\t\t\t\t\t\t<reference ref=\"425164168\"/>\n\t\t\t\t\t\t\t<reference ref=\"579971712\"/>\n\t\t\t\t\t\t\t<reference ref=\"1010469920\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"379814623\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">75</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1023925487\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">78</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"49223823\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">72</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"722745758\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">82</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"705341025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">124</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1025936716\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1065607017\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">77</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"294629803\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">73</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"776162233\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">79</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"425164168\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">112</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579971712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">74</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1010469920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"720053764\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">125</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1065607017\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"759406840\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1025936716\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">126</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"759406840\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1065607017\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">205</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"789758025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"437104165\"/>\n\t\t\t\t\t\t\t<reference ref=\"583158037\"/>\n\t\t\t\t\t\t\t<reference ref=\"1058277027\"/>\n\t\t\t\t\t\t\t<reference ref=\"212016141\"/>\n\t\t\t\t\t\t\t<reference ref=\"296257095\"/>\n\t\t\t\t\t\t\t<reference ref=\"29853731\"/>\n\t\t\t\t\t\t\t<reference ref=\"860595796\"/>\n\t\t\t\t\t\t\t<reference ref=\"1040322652\"/>\n\t\t\t\t\t\t\t<reference ref=\"790794224\"/>\n\t\t\t\t\t\t\t<reference ref=\"892235320\"/>\n\t\t\t\t\t\t\t<reference ref=\"972420730\"/>\n\t\t\t\t\t\t\t<reference ref=\"676164635\"/>\n\t\t\t\t\t\t\t<reference ref=\"507821607\"/>\n\t\t\t\t\t\t\t<reference ref=\"288088188\"/>\n\t\t\t\t\t\t\t<reference ref=\"82994268\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"952259628\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">202</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"437104165\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">198</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"583158037\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">207</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058277027\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">214</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"212016141\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">199</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"296257095\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">203</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"29853731\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">197</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"860595796\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">206</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1040322652\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">215</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"790794224\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">218</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"892235320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"963351320\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">216</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972420730\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"769623530\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">200</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769623530\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"948374510\"/>\n\t\t\t\t\t\t\t<reference ref=\"96193923\"/>\n\t\t\t\t\t\t\t<reference ref=\"679648819\"/>\n\t\t\t\t\t\t\t<reference ref=\"967646866\"/>\n\t\t\t\t\t\t\t<reference ref=\"859480356\"/>\n\t\t\t\t\t\t\t<reference ref=\"795346622\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972420730\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">219</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"948374510\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">201</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"96193923\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">204</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"679648819\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">220</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"963351320\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"270902937\"/>\n\t\t\t\t\t\t\t<reference ref=\"88285865\"/>\n\t\t\t\t\t\t\t<reference ref=\"159080638\"/>\n\t\t\t\t\t\t\t<reference ref=\"326711663\"/>\n\t\t\t\t\t\t\t<reference ref=\"447796847\"/>\n\t\t\t\t\t\t\t<reference ref=\"738670835\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"892235320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">213</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"270902937\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">210</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"88285865\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">221</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159080638\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">208</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"326711663\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">209</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"447796847\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">57</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"110575045\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"238522557\"/>\n\t\t\t\t\t\t\t<reference ref=\"755159360\"/>\n\t\t\t\t\t\t\t<reference ref=\"908899353\"/>\n\t\t\t\t\t\t\t<reference ref=\"632727374\"/>\n\t\t\t\t\t\t\t<reference ref=\"646227648\"/>\n\t\t\t\t\t\t\t<reference ref=\"609285721\"/>\n\t\t\t\t\t\t\t<reference ref=\"481834944\"/>\n\t\t\t\t\t\t\t<reference ref=\"304266470\"/>\n\t\t\t\t\t\t\t<reference ref=\"1046388886\"/>\n\t\t\t\t\t\t\t<reference ref=\"1056857174\"/>\n\t\t\t\t\t\t\t<reference ref=\"342932134\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"694149608\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">58</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238522557\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">134</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755159360\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">150</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908899353\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">136</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"632727374\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">144</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"646227648\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">129</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"609285721\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">143</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"481834944\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">236</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"304266470\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">131</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1046388886\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"752062318\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">149</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1056857174\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">145</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"342932134\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"110575045\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">130</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"752062318\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1046388886\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">24</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"835318025\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"299356726\"/>\n\t\t\t\t\t\t\t<reference ref=\"625202149\"/>\n\t\t\t\t\t\t\t<reference ref=\"575023229\"/>\n\t\t\t\t\t\t\t<reference ref=\"1011231497\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"713487014\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">92</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"299356726\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">5</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"625202149\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">239</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"575023229\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">23</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1011231497\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"835318025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">295</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"586577488\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"466310130\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">296</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"466310130\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"102151532\"/>\n\t\t\t\t\t\t\t<reference ref=\"237841660\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"586577488\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">297</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"102151532\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">298</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"237841660\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"466310130\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">211</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"676164635\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"785027613\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">212</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"785027613\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"680220178\"/>\n\t\t\t\t\t\t\t<reference ref=\"731782645\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"676164635\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">195</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"680220178\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">196</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"731782645\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"785027613\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">346</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"967646866\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">348</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"507821607\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"698887838\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">349</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"698887838\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"605118523\"/>\n\t\t\t\t\t\t\t<reference ref=\"197661976\"/>\n\t\t\t\t\t\t\t<reference ref=\"708854459\"/>\n\t\t\t\t\t\t\t<reference ref=\"65139061\"/>\n\t\t\t\t\t\t\t<reference ref=\"19036812\"/>\n\t\t\t\t\t\t\t<reference ref=\"672708820\"/>\n\t\t\t\t\t\t\t<reference ref=\"537092702\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"507821607\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">350</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"605118523\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">351</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"197661976\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">354</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"708854459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">371</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"972006081\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"439893737\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">372</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"439893737\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"972006081\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">375</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"302598603\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"941447902\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">376</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941447902\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"792887677\"/>\n\t\t\t\t\t\t\t<reference ref=\"215659978\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"302598603\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">377</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"792887677\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"786677654\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">388</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"786677654\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"159677712\"/>\n\t\t\t\t\t\t\t<reference ref=\"305399458\"/>\n\t\t\t\t\t\t\t<reference ref=\"814362025\"/>\n\t\t\t\t\t\t\t<reference ref=\"330926929\"/>\n\t\t\t\t\t\t\t<reference ref=\"533507878\"/>\n\t\t\t\t\t\t\t<reference ref=\"158063935\"/>\n\t\t\t\t\t\t\t<reference ref=\"885547335\"/>\n\t\t\t\t\t\t\t<reference ref=\"901062459\"/>\n\t\t\t\t\t\t\t<reference ref=\"767671776\"/>\n\t\t\t\t\t\t\t<reference ref=\"691570813\"/>\n\t\t\t\t\t\t\t<reference ref=\"769124883\"/>\n\t\t\t\t\t\t\t<reference ref=\"739652853\"/>\n\t\t\t\t\t\t\t<reference ref=\"1012600125\"/>\n\t\t\t\t\t\t\t<reference ref=\"214559597\"/>\n\t\t\t\t\t\t\t<reference ref=\"596732606\"/>\n\t\t\t\t\t\t\t<reference ref=\"393423671\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"792887677\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">389</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"159677712\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">390</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"305399458\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">391</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"814362025\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">392</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"330926929\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">393</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"533507878\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">394</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"158063935\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">395</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"885547335\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">396</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"901062459\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">397</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"767671776\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"175441468\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">398</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"691570813\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1058217995\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">399</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"769124883\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"18263474\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">400</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"739652853\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">401</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1012600125\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">402</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"214559597\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">403</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"596732606\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">404</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"393423671\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"786677654\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">405</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"18263474\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257962622\"/>\n\t\t\t\t\t\t\t<reference ref=\"644725453\"/>\n\t\t\t\t\t\t\t<reference ref=\"1037576581\"/>\n\t\t\t\t\t\t\t<reference ref=\"941806246\"/>\n\t\t\t\t\t\t\t<reference ref=\"1045724900\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769124883\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">406</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257962622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">407</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644725453\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">408</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1037576581\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">409</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"941806246\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">410</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1045724900\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"18263474\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">411</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1058217995\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"706297211\"/>\n\t\t\t\t\t\t\t<reference ref=\"568384683\"/>\n\t\t\t\t\t\t\t<reference ref=\"663508465\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"691570813\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">412</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"706297211\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">413</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"568384683\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">414</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"663508465\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"1058217995\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">415</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"175441468\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"252969304\"/>\n\t\t\t\t\t\t\t<reference ref=\"766922938\"/>\n\t\t\t\t\t\t\t<reference ref=\"677519740\"/>\n\t\t\t\t\t\t\t<reference ref=\"238351151\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"767671776\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">416</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"252969304\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">417</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"766922938\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">418</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"677519740\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">419</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"238351151\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"175441468\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">420</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"755631768\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">450</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"288088188\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"579392910\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">451</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"579392910\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"1060694897\"/>\n\t\t\t\t\t\t\t<reference ref=\"879586729\"/>\n\t\t\t\t\t\t\t<reference ref=\"56570060\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"288088188\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">452</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"1060694897\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">453</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"859480356\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">454</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"795346622\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"769623530\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">457</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"65139061\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">459</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"19036812\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">460</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"672708820\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">462</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"537092702\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"698887838\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">465</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"879586729\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">466</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"56570060\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"579392910\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">485</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"82994268\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"789758025\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">490</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"448692316\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"992780483\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"649796088\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">491</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"992780483\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"105068016\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"448692316\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">492</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"105068016\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"992780483\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">494</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"976324537\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"0\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">496</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"215659978\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"446991534\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"941447902\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">497</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"446991534\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"875092757\"/>\n\t\t\t\t\t\t\t<reference ref=\"630155264\"/>\n\t\t\t\t\t\t\t<reference ref=\"945678886\"/>\n\t\t\t\t\t\t\t<reference ref=\"512868991\"/>\n\t\t\t\t\t\t\t<reference ref=\"163117631\"/>\n\t\t\t\t\t\t\t<reference ref=\"31516759\"/>\n\t\t\t\t\t\t\t<reference ref=\"908105787\"/>\n\t\t\t\t\t\t\t<reference ref=\"644046920\"/>\n\t\t\t\t\t\t\t<reference ref=\"231811626\"/>\n\t\t\t\t\t\t\t<reference ref=\"883618387\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"215659978\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">498</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"875092757\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">499</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"630155264\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">500</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"945678886\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">501</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"512868991\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">502</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"163117631\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">503</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"31516759\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"956096989\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">504</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"908105787\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">505</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"644046920\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">506</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"231811626\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">507</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"883618387\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"446991534\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">508</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"956096989\"/>\n\t\t\t\t\t\t<array class=\"NSMutableArray\" key=\"children\">\n\t\t\t\t\t\t\t<reference ref=\"257099033\"/>\n\t\t\t\t\t\t\t<reference ref=\"551969625\"/>\n\t\t\t\t\t\t\t<reference ref=\"249532473\"/>\n\t\t\t\t\t\t\t<reference ref=\"607364498\"/>\n\t\t\t\t\t\t\t<reference ref=\"508151438\"/>\n\t\t\t\t\t\t\t<reference ref=\"981751889\"/>\n\t\t\t\t\t\t\t<reference ref=\"380031999\"/>\n\t\t\t\t\t\t\t<reference ref=\"825984362\"/>\n\t\t\t\t\t\t\t<reference ref=\"560145579\"/>\n\t\t\t\t\t\t</array>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"31516759\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">509</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"257099033\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">510</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"551969625\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">511</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"249532473\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">512</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"607364498\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">513</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"508151438\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">514</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"981751889\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">515</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"380031999\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">516</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"825984362\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">517</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"560145579\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"956096989\"/>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBObjectRecord\">\n\t\t\t\t\t\t<int key=\"objectID\">534</int>\n\t\t\t\t\t\t<reference key=\"object\" ref=\"738670835\"/>\n\t\t\t\t\t\t<reference key=\"parent\" ref=\"963351320\"/>\n\t\t\t\t\t</object>\n\t\t\t\t</array>\n\t\t\t</object>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"flattenedProperties\">\n\t\t\t\t<string key=\"-1.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-2.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"-3.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"112.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"124.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"125.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"126.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"129.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"130.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"131.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"134.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"136.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"143.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"144.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"145.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"149.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"150.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"19.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"195.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"196.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"197.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"198.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"199.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"200.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"201.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"202.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"203.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"204.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"205.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"206.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"207.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"208.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"209.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"210.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"211.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"212.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"213.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"214.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"215.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"216.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"217.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"218.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"219.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"220.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"221.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"23.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"236.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"239.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"24.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"29.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"295.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"296.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"297.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"298.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"346.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"348.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"349.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"350.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"351.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"354.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"371.IBWindowTemplateEditedContentRect\">{{380, 496}, {480, 360}}</string>\n\t\t\t\t<integer value=\"1\" key=\"371.NSWindowTemplate.visibleAtLaunch\"/>\n\t\t\t\t<string key=\"372.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"375.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"376.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"377.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"388.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"389.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"390.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"391.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"392.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"393.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"394.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"395.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"396.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"397.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"398.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"399.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"400.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"401.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"402.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"403.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"404.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"405.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"406.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"407.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"408.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"409.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"410.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"411.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"412.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"413.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"414.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"415.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"416.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"417.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"418.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"419.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"420.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"450.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"451.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"452.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"453.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"454.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"457.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"459.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"460.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"462.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"465.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"466.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"485.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"490.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"491.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"492.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"494.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"496.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"497.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"498.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"499.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"5.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"500.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"501.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"502.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"503.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"504.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"505.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"506.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"507.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"508.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"509.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"510.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"511.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"512.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"513.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"514.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"515.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"516.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"517.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"534.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"56.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"57.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"58.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"72.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"73.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"74.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"75.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"77.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"78.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"79.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"81.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"82.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"83.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t\t<string key=\"92.IBPluginDependency\">com.apple.InterfaceBuilder.CocoaPlugin</string>\n\t\t\t</dictionary>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"unlocalizedProperties\"/>\n\t\t\t<nil key=\"activeLocalization\"/>\n\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"localizations\"/>\n\t\t\t<nil key=\"sourceID\"/>\n\t\t\t<int key=\"maxID\">535</int>\n\t\t</object>\n\t\t<object class=\"IBClassDescriber\" key=\"IBDocument.Classes\">\n\t\t\t<array class=\"NSMutableArray\" key=\"referencedPartialClassDescriptions\">\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addCardViewField:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"doDelete:\">id</string>\n\t\t\t\t\t\t<string key=\"find:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"saveChanges:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addCardViewField:\">\n\t\t\t\t\t\t\t<string key=\"name\">addCardViewField:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"doDelete:\">\n\t\t\t\t\t\t\t<string key=\"name\">doDelete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"find:\">\n\t\t\t\t\t\t\t<string key=\"name\">find:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveChanges:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveChanges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mCardView\">ABCardView</string>\n\t\t\t\t\t\t<string key=\"mEditButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"mManagedObjectContext\">NSManagedObjectContext</string>\n\t\t\t\t\t\t<string key=\"mSearchField\">NSSearchField</string>\n\t\t\t\t\t\t<string key=\"mStatusTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"mWindow\">NSWindow</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mCardView\">\n\t\t\t\t\t\t\t<string key=\"name\">mCardView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABCardView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mEditButton\">\n\t\t\t\t\t\t\t<string key=\"name\">mEditButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mManagedObjectContext\">\n\t\t\t\t\t\t\t<string key=\"name\">mManagedObjectContext</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSManagedObjectContext</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mSearchField\">\n\t\t\t\t\t\t\t<string key=\"name\">mSearchField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSearchField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mStatusTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">mStatusTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">mWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABCardView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"commitAndSave:\">id</string>\n\t\t\t\t\t\t<string key=\"statusImageClicked:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"commitAndSave:\">\n\t\t\t\t\t\t\t<string key=\"name\">commitAndSave:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"statusImageClicked:\">\n\t\t\t\t\t\t\t<string key=\"name\">statusImageClicked:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"mBuddyStatusImage\">NSImageView</string>\n\t\t\t\t\t\t<string key=\"mHeaderView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mNameView\">ABNameFrameView</string>\n\t\t\t\t\t\t<string key=\"mNextKeyView\">NSView</string>\n\t\t\t\t\t\t<string key=\"mUserImage\">NSImage</string>\n\t\t\t\t\t\t<string key=\"mUserImageView\">ABImageView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mBuddyStatusImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mBuddyStatusImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mHeaderView\">\n\t\t\t\t\t\t\t<string key=\"name\">mHeaderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNameView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNameView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABNameFrameView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mNextKeyView\">\n\t\t\t\t\t\t\t<string key=\"name\">mNextKeyView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImage\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSImage</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"mUserImageView\">\n\t\t\t\t\t\t\t<string key=\"name\">mUserImageView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">ABImageView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABCardView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">ABImageView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/ABImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTAutoLayoutView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTAutoLayoutView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTBorderedView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">contentView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">contentView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTBorderedView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTDelayedMenuButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTDelayedMenuButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTGradientImageButton</string>\n\t\t\t\t\t<string key=\"superclassName\">NSButton</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTGradientImageButton.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTextFieldCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTImageAndTextColumn</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableColumn</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTImageAndTextColumn.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTSplitView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSSplitView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTSplitView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTStackView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTAutoLayoutView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTStackView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">DVTViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/DVTViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">HFRepresenterTextView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">selectAll:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/HFRepresenterTextView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IBEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"changeFont:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeSelectionToFit:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"changeFont:\">\n\t\t\t\t\t\t\t<string key=\"name\">changeFont:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeSelectionToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeSelectionToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IBEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDECapsuleListView</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTStackView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">dataSource</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">dataSource</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDECapsuleListView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMArrayController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSArrayController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMArrayController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"bottomToolbarBorderView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"sourceListSplitViewPane\">NSView</string>\n\t\t\t\t\t\t<string key=\"sourceListViewController\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t<string key=\"splitView\">DVTSplitView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"bottomToolbarBorderView\">\n\t\t\t\t\t\t\t<string key=\"name\">bottomToolbarBorderView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListSplitViewPane\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListSplitViewPane</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMEditorSourceListController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"borderedView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDMEditor</string>\n\t\t\t\t\t\t<string key=\"primaryColumn\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t<string key=\"sourceListOutlineView\">DVTOutlineView</string>\n\t\t\t\t\t\t<string key=\"sourceListTreeController\">NSTreeController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"primaryColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">primaryColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTImageAndTextColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListOutlineView\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"sourceListTreeController\">\n\t\t\t\t\t\t\t<string key=\"name\">sourceListTreeController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTreeController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMEditorSourceListController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTImageAndTextCell</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDMHighlightImageAndTextCell.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"attributesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"capsuleView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"fetchedPropertiesTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"relationshipsTableViewController\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"attributesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">attributesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchedPropertiesTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchedPropertiesTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"relationshipsTableViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">relationshipsTableViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelBrowserEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"capsuleListView\">IDECapsuleListView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableController\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"capsuleListView\">\n\t\t\t\t\t\t\t<string key=\"name\">capsuleListView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableController\">\n\t\t\t\t\t\t\t<string key=\"name\">tableController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelConfigurationTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"configurationsArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationsArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationsArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelConfigurationTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"diagramView\">XDDiagramView</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramView\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDDiagramView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelDiagramEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditor</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"addEntityButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"addPropertyButton\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t<string key=\"browserDiagramSegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"configurationViewController\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t<string key=\"entityContentsViewController\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t<string key=\"fetchRequestViewController\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t<string key=\"hierarchySegmentControl\">NSSegmentedControl</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addEntityButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addEntityButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"addPropertyButton\">\n\t\t\t\t\t\t\t<string key=\"name\">addPropertyButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTDelayedMenuButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserDiagramSegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">browserDiagramSegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"configurationViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">configurationViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelConfigurationEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityContentsViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityContentsViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"fetchRequestViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">fetchRequestViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"hierarchySegmentControl\">\n\t\t\t\t\t\t\t<string key=\"name\">hierarchySegmentControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSegmentedControl</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelEntityContentsEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"browserViewController\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"diagramViewController\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tabView\">NSTabView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"browserViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">browserViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"diagramViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tabView\">\n\t\t\t\t\t\t\t<string key=\"name\">tabView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTabView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelEntityContentsEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelFetchRequestEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"entityController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelEditor</string>\n\t\t\t\t\t\t<string key=\"tableView\">IDECapsuleListView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDECapsuleListView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelFetchRequestEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDataModelPropertiesTableController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEDMEditorController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"arrayController\">IDEDMArrayController</string>\n\t\t\t\t\t\t<string key=\"entitiesColumn\">NSTableColumn</string>\n\t\t\t\t\t\t<string key=\"entityArrayController\">NSArrayController</string>\n\t\t\t\t\t\t<string key=\"parentEditor\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t<string key=\"propertyNameAndImageCell\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t<string key=\"tableView\">XDTableView</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"arrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">arrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entitiesColumn\">\n\t\t\t\t\t\t\t<string key=\"name\">entitiesColumn</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTableColumn</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"entityArrayController\">\n\t\t\t\t\t\t\t<string key=\"name\">entityArrayController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSArrayController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"parentEditor\">\n\t\t\t\t\t\t\t<string key=\"name\">parentEditor</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelBrowserEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"propertyNameAndImageCell\">\n\t\t\t\t\t\t\t<string key=\"name\">propertyNameAndImageCell</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDMHighlightImageAndTextCell</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"tableView\">\n\t\t\t\t\t\t\t<string key=\"name\">tableView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">XDTableView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDataModelPropertiesTableController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSOutlineView</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"getDocSetAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showProblemInfoForUpdate:\">id</string>\n\t\t\t\t\t\t<string key=\"subscribeToPublisherAction:\">id</string>\n\t\t\t\t\t\t<string key=\"unsubscribeFromPublisher:\">id</string>\n\t\t\t\t\t\t<string key=\"updateDocSetAction:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"getDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">getDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showProblemInfoForUpdate:\">\n\t\t\t\t\t\t\t<string key=\"name\">showProblemInfoForUpdate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscribeToPublisherAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscribeToPublisherAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unsubscribeFromPublisher:\">\n\t\t\t\t\t\t\t<string key=\"name\">unsubscribeFromPublisher:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"updateDocSetAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">updateDocSetAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDocSetOutlineView</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">docSetOutlineView</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocSetOutlineViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEDocViewingPrefPaneController</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"addSubscription:\">id</string>\n\t\t\t\t\t\t<string key=\"checkForAndInstallUpdatesNow:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeComboBoxAction:\">id</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeEnabledAction:\">id</string>\n\t\t\t\t\t\t<string key=\"showHelp:\">id</string>\n\t\t\t\t\t\t<string key=\"showSubscriptionSheet:\">id</string>\n\t\t\t\t\t\t<string key=\"subscriptionCancelAction:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleAutoCheckForAndInstallUpdates:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleDocSetInfo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"addSubscription:\">\n\t\t\t\t\t\t\t<string key=\"name\">addSubscription:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"checkForAndInstallUpdatesNow:\">\n\t\t\t\t\t\t\t<string key=\"name\">checkForAndInstallUpdatesNow:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeComboBoxAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeComboBoxAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"minimumFontSizeEnabledAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeEnabledAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showHelp:\">\n\t\t\t\t\t\t\t<string key=\"name\">showHelp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showSubscriptionSheet:\">\n\t\t\t\t\t\t\t<string key=\"name\">showSubscriptionSheet:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"subscriptionCancelAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionCancelAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleAutoCheckForAndInstallUpdates:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleAutoCheckForAndInstallUpdates:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleDocSetInfo:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleDocSetInfo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"_addButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_deleteButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_showInfoAreaButton\">DVTGradientImageButton</string>\n\t\t\t\t\t\t<string key=\"_splitView\">NSSplitView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetInfoSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"_splitViewDocSetsListSubview\">NSView</string>\n\t\t\t\t\t\t<string key=\"borderedViewAroundSplitView\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"borderedViewBelowTable\">DVTBorderedView</string>\n\t\t\t\t\t\t<string key=\"checkAndInstallNowButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"docSetInfoTextView\">NSTextView</string>\n\t\t\t\t\t\t<string key=\"docSetOutlineViewController\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t<string key=\"minimumFontSizeControl\">NSComboBox</string>\n\t\t\t\t\t\t<string key=\"noUpdatesAvailableMessage\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"showInfoButton\">NSButton</string>\n\t\t\t\t\t\t<string key=\"subscriptionTextField\">NSTextField</string>\n\t\t\t\t\t\t<string key=\"subscriptionWindow\">NSWindow</string>\n\t\t\t\t\t\t<string key=\"validateAddSubscriptionButton\">NSButton</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_addButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_addButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_deleteButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_deleteButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_showInfoAreaButton\">\n\t\t\t\t\t\t\t<string key=\"name\">_showInfoAreaButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTGradientImageButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitView\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSSplitView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetInfoSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetInfoSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"_splitViewDocSetsListSubview\">\n\t\t\t\t\t\t\t<string key=\"name\">_splitViewDocSetsListSubview</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewAroundSplitView\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewAroundSplitView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"borderedViewBelowTable\">\n\t\t\t\t\t\t\t<string key=\"name\">borderedViewBelowTable</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">DVTBorderedView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"checkAndInstallNowButton\">\n\t\t\t\t\t\t\t<string key=\"name\">checkAndInstallNowButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetInfoTextView\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetInfoTextView</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextView</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"docSetOutlineViewController\">\n\t\t\t\t\t\t\t<string key=\"name\">docSetOutlineViewController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDocSetOutlineViewController</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"minimumFontSizeControl\">\n\t\t\t\t\t\t\t<string key=\"name\">minimumFontSizeControl</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSComboBox</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"noUpdatesAvailableMessage\">\n\t\t\t\t\t\t\t<string key=\"name\">noUpdatesAvailableMessage</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"showInfoButton\">\n\t\t\t\t\t\t\t<string key=\"name\">showInfoButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionTextField\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionTextField</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSTextField</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"subscriptionWindow\">\n\t\t\t\t\t\t\t<string key=\"name\">subscriptionWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"validateAddSubscriptionButton\">\n\t\t\t\t\t\t\t<string key=\"name\">validateAddSubscriptionButton</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSButton</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEDocViewingPrefPaneController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEEditor</string>\n\t\t\t\t\t<string key=\"superclassName\">IDEViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEEditor.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IDEViewController</string>\n\t\t\t\t\t<string key=\"superclassName\">DVTViewController</string>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IDEViewController.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">IKImageView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"crop:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"crop:\">\n\t\t\t\t\t\t\t<string key=\"name\">crop:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/IKImageView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">NSDocument</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"printDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"revertDocumentToSaved:\">id</string>\n\t\t\t\t\t\t<string key=\"runPageLayout:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocument:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentAs:\">id</string>\n\t\t\t\t\t\t<string key=\"saveDocumentTo:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"printDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">printDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"revertDocumentToSaved:\">\n\t\t\t\t\t\t\t<string key=\"name\">revertDocumentToSaved:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"runPageLayout:\">\n\t\t\t\t\t\t\t<string key=\"name\">runPageLayout:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocument:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocument:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentAs:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentAs:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"saveDocumentTo:\">\n\t\t\t\t\t\t\t<string key=\"name\">saveDocumentTo:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/NSDocument.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QLPreviewBubble</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"hide:\">id</string>\n\t\t\t\t\t\t<string key=\"show:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"hide:\">\n\t\t\t\t\t\t\t<string key=\"name\">hide:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"show:\">\n\t\t\t\t\t\t\t<string key=\"name\">show:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">NSWindow</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">parentWindow</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">parentWindow</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">NSWindow</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QLPreviewBubble.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">QTMovieView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"showAll:\">id</string>\n\t\t\t\t\t\t<string key=\"showCustomButton:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleLoops:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">showAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"showCustomButton:\">\n\t\t\t\t\t\t\t<string key=\"name\">showCustomButton:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleLoops:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleLoops:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/QTMovieView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">WebView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"reloadFromOrigin:\">id</string>\n\t\t\t\t\t\t<string key=\"resetPageZoom:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageIn:\">id</string>\n\t\t\t\t\t\t<string key=\"zoomPageOut:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"reloadFromOrigin:\">\n\t\t\t\t\t\t\t<string key=\"name\">reloadFromOrigin:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"resetPageZoom:\">\n\t\t\t\t\t\t\t<string key=\"name\">resetPageZoom:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"zoomPageOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">zoomPageOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/WebView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDDiagramView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSView</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"_graphLayouterMenuItemAction:\">id</string>\n\t\t\t\t\t\t<string key=\"_zoomPopUpButtonAction:\">id</string>\n\t\t\t\t\t\t<string key=\"alignBottomEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersHorizontallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignCentersVerticallyInContainer:\">id</string>\n\t\t\t\t\t\t<string key=\"alignHorizontalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"alignLeftEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignRightEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignTopEdges:\">id</string>\n\t\t\t\t\t\t<string key=\"alignVerticalCenters:\">id</string>\n\t\t\t\t\t\t<string key=\"bringToFront:\">id</string>\n\t\t\t\t\t\t<string key=\"collapseAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"copy:\">id</string>\n\t\t\t\t\t\t<string key=\"cut:\">id</string>\n\t\t\t\t\t\t<string key=\"delete:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteBackward:\">id</string>\n\t\t\t\t\t\t<string key=\"deleteForward:\">id</string>\n\t\t\t\t\t\t<string key=\"deselectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomIn:\">id</string>\n\t\t\t\t\t\t<string key=\"diagramZoomOut:\">id</string>\n\t\t\t\t\t\t<string key=\"expandAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"flipHorizontally:\">id</string>\n\t\t\t\t\t\t<string key=\"flipVertically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsConcentrically:\">id</string>\n\t\t\t\t\t\t<string key=\"layoutGraphicsHierarchically:\">id</string>\n\t\t\t\t\t\t<string key=\"lock:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameHeight:\">id</string>\n\t\t\t\t\t\t<string key=\"makeSameWidth:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDown:\">id</string>\n\t\t\t\t\t\t<string key=\"moveDownAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeft:\">id</string>\n\t\t\t\t\t\t<string key=\"moveLeftAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRight:\">id</string>\n\t\t\t\t\t\t<string key=\"moveRightAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUp:\">id</string>\n\t\t\t\t\t\t<string key=\"moveUpAndModifySelection:\">id</string>\n\t\t\t\t\t\t<string key=\"paste:\">id</string>\n\t\t\t\t\t\t<string key=\"rollDownAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"rollUpAllCompartments:\">id</string>\n\t\t\t\t\t\t<string key=\"selectAll:\">id</string>\n\t\t\t\t\t\t<string key=\"sendToBack:\">id</string>\n\t\t\t\t\t\t<string key=\"sizeToFit:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleGridShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleHiddenGraphicsShown:\">id</string>\n\t\t\t\t\t\t<string key=\"togglePageBreaksShown:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleRuler:\">id</string>\n\t\t\t\t\t\t<string key=\"toggleSnapsToGrid:\">id</string>\n\t\t\t\t\t\t<string key=\"unlock:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_graphLayouterMenuItemAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_graphLayouterMenuItemAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"_zoomPopUpButtonAction:\">\n\t\t\t\t\t\t\t<string key=\"name\">_zoomPopUpButtonAction:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignBottomEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignBottomEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersHorizontallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersHorizontallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignCentersVerticallyInContainer:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignCentersVerticallyInContainer:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignHorizontalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignHorizontalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignLeftEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignLeftEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignRightEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignRightEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignTopEdges:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignTopEdges:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"alignVerticalCenters:\">\n\t\t\t\t\t\t\t<string key=\"name\">alignVerticalCenters:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"bringToFront:\">\n\t\t\t\t\t\t\t<string key=\"name\">bringToFront:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"collapseAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">collapseAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"copy:\">\n\t\t\t\t\t\t\t<string key=\"name\">copy:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"cut:\">\n\t\t\t\t\t\t\t<string key=\"name\">cut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"delete:\">\n\t\t\t\t\t\t\t<string key=\"name\">delete:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteBackward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteBackward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deleteForward:\">\n\t\t\t\t\t\t\t<string key=\"name\">deleteForward:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"deselectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">deselectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomIn:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomIn:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"diagramZoomOut:\">\n\t\t\t\t\t\t\t<string key=\"name\">diagramZoomOut:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"expandAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">expandAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipHorizontally:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipHorizontally:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"flipVertically:\">\n\t\t\t\t\t\t\t<string key=\"name\">flipVertically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsConcentrically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsConcentrically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"layoutGraphicsHierarchically:\">\n\t\t\t\t\t\t\t<string key=\"name\">layoutGraphicsHierarchically:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"lock:\">\n\t\t\t\t\t\t\t<string key=\"name\">lock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameHeight:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameHeight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"makeSameWidth:\">\n\t\t\t\t\t\t\t<string key=\"name\">makeSameWidth:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDown:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveDownAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveDownAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeft:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeft:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveLeftAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveLeftAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRight:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRight:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveRightAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveRightAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUp:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUp:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"moveUpAndModifySelection:\">\n\t\t\t\t\t\t\t<string key=\"name\">moveUpAndModifySelection:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"paste:\">\n\t\t\t\t\t\t\t<string key=\"name\">paste:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollDownAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollDownAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"rollUpAllCompartments:\">\n\t\t\t\t\t\t\t<string key=\"name\">rollUpAllCompartments:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"selectAll:\">\n\t\t\t\t\t\t\t<string key=\"name\">selectAll:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sendToBack:\">\n\t\t\t\t\t\t\t<string key=\"name\">sendToBack:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"sizeToFit:\">\n\t\t\t\t\t\t\t<string key=\"name\">sizeToFit:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleGridShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleGridShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleHiddenGraphicsShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleHiddenGraphicsShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"togglePageBreaksShown:\">\n\t\t\t\t\t\t\t<string key=\"name\">togglePageBreaksShown:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleRuler:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleRuler:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"toggleSnapsToGrid:\">\n\t\t\t\t\t\t\t<string key=\"name\">toggleSnapsToGrid:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"unlock:\">\n\t\t\t\t\t\t\t<string key=\"name\">unlock:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"outlets\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"toOneOutletInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">_diagramController</string>\n\t\t\t\t\t\t<object class=\"IBToOneOutletInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">_diagramController</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">IDEDataModelDiagramEditor</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDDiagramView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">XDTableView</string>\n\t\t\t\t\t<string key=\"superclassName\">NSTableView</string>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<string key=\"NS.object.0\">id</string>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<string key=\"NS.key.0\">showAllTableColumns:</string>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"NS.object.0\">\n\t\t\t\t\t\t\t<string key=\"name\">showAllTableColumns:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</object>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/XDTableView.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t\t<object class=\"IBPartialClassDescription\">\n\t\t\t\t\t<string key=\"className\">AppDelegate</string>\n\t\t\t\t\t<string key=\"superclassName\">NSObject</string>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actions\">\n\t\t\t\t\t\t<string key=\"applicationShouldTerminate:\">id</string>\n\t\t\t\t\t\t<string key=\"applicationWillFinishLaunching:\">id</string>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<dictionary class=\"NSMutableDictionary\" key=\"actionInfosByName\">\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationShouldTerminate:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationShouldTerminate:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t\t<object class=\"IBActionInfo\" key=\"applicationWillFinishLaunching:\">\n\t\t\t\t\t\t\t<string key=\"name\">applicationWillFinishLaunching:</string>\n\t\t\t\t\t\t\t<string key=\"candidateClassName\">id</string>\n\t\t\t\t\t\t</object>\n\t\t\t\t\t</dictionary>\n\t\t\t\t\t<object class=\"IBClassDescriptionSource\" key=\"sourceIdentifier\">\n\t\t\t\t\t\t<string key=\"majorKey\">IBProjectSource</string>\n\t\t\t\t\t\t<string key=\"minorKey\">./Classes/AppDelegate.h</string>\n\t\t\t\t\t</object>\n\t\t\t\t</object>\n\t\t\t</array>\n\t\t</object>\n\t\t<int key=\"IBDocument.localizationMode\">0</int>\n\t\t<string key=\"IBDocument.TargetRuntimeIdentifier\">IBCocoaFramework</string>\n\t\t<bool key=\"IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion\">YES</bool>\n\t\t<int key=\"IBDocument.defaultPropertyAccessControl\">3</int>\n\t\t<dictionary class=\"NSMutableDictionary\" key=\"IBDocument.LastKnownImageSizes\">\n\t\t\t<string key=\"NSMenuCheckmark\">{9, 8}</string>\n\t\t\t<string key=\"NSMenuMixedState\">{7, 2}</string>\n\t\t</dictionary>\n\t</data>\n</archive>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/FmwkTest/main.m",
    "content": "//\n//  main.m\n//  FmwkTest\n//\n//  Created by Robbie Hanson on 2/16/12.\n//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.\n//\n\n#import <Cocoa/Cocoa.h>\n\nint main(int argc, char *argv[])\n{\n    return NSApplicationMain(argc, (const char **)argv);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/Lumberjack/CocoaLumberjack-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>3.4.2</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/Lumberjack/CocoaLumberjack-Prefix.pch",
    "content": "//\n// Prefix header for all source files of the 'Lumberjack' target in the 'Lumberjack' project\n//\n\n#ifdef __OBJC__\n\t#import <Foundation/Foundation.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/Lumberjack/CocoaLumberjack.h",
    "content": "//\n//  CocoaLumberjack.h\n//  CocoaLumberjack\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\n#import <Foundation/Foundation.h>\n\n//! Project version number for CocoaLumberjack.\nFOUNDATION_EXPORT double CocoaLumberjackVersionNumber;\n\n//! Project version string for CocoaLumberjack.\nFOUNDATION_EXPORT const unsigned char CocoaLumberjackVersionString[];\n\n// In this header, you should import all the public headers of your framework using statements like #import <CocoaLumberjack/PublicHeader.h>\n\n\n\n// Disable legacy macros\n#ifndef DD_LEGACY_MACROS\n    #define DD_LEGACY_MACROS 0\n#endif\n\n// Core\n#import <CocoaLumberjack/DDLog.h>\n\n// Main macros\n#import <CocoaLumberjack/DDLogMacros.h>\n#import <CocoaLumberjack/DDAssertMacros.h>\n\n// Capture ASL\n#import <CocoaLumberjack/DDASLLogCapture.h>\n\n// Loggers\n#import <CocoaLumberjack/DDTTYLogger.h>\n#import <CocoaLumberjack/DDASLLogger.h>\n#import <CocoaLumberjack/DDFileLogger.h>\n#import <CocoaLumberjack/DDOSLogger.h>\n\n// CLI\n#if __has_include(<CocoaLumberjack/CLIColor.h>) && TARGET_OS_OSX\n#import <CocoaLumberjack/CLIColor.h>\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/Lumberjack/CocoaLumberjack.modulemap",
    "content": "framework module CocoaLumberjack {\n\tumbrella header \"CocoaLumberjack.h\"\n\t\n\texport *\n\tmodule * { export * }\n\t\n\ttextual header \"DDLogMacros.h\"\n\t\n\texclude header \"DDLog+LOGV.h\"\n\texclude header \"DDLegacyMacros.h\"\n\t\n\texplicit module DDContextFilterLogFormatter {\n\t\theader \"DDContextFilterLogFormatter.h\"\n\t\texport *\n\t}\n\t\n\texplicit module DDDispatchQueueLogFormatter {\n\t\theader \"DDDispatchQueueLogFormatter.h\"\n\t\texport *\n\t}\n\t\n\texplicit module DDMultiFormatter {\n\t\theader \"DDMultiFormatter.h\"\n\t\texport *\n\t}\n\t\n\texplicit module DDASLLogCapture {\n\t\theader \"DDASLLogCapture.h\"\n\t\texport *\n\t}\n\t\n\texplicit module DDAbstractDatabaseLogger {\n\t\theader \"DDAbstractDatabaseLogger.h\"\n\t\texport *\n\t}\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/Lumberjack/CocoaLumberjackSwift-Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>English</string>\n\t<key>CFBundleExecutable</key>\n\t<string>${EXECUTABLE_NAME}</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>${PRODUCT_NAME}</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>3.4.2</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/Lumberjack/CocoaLumberjackSwift.h",
    "content": "//\n//  CocoaLumberjackSwift.h\n//  Lumberjack\n//\n//  Created by C.W. Betts on 6/25/15.\n//\n//\n\n//This header is mostly blank because all of the declarations are in Swift.\n//Still, this header may still be needed so Swift doesn't complain when importing CocoaLumberjackSwift.\n\n@import CocoaLumberjack;\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/Lumberjack.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:../Classes\">\n   </FileRef>\n   <FileRef\n      location = \"group:../Documentation\">\n   </FileRef>\n   <FileRef\n      location = \"group:../CocoaLumberjack.podspec\">\n   </FileRef>\n   <FileRef\n      location = \"group:../CHANGELOG.md\">\n   </FileRef>\n   <FileRef\n      location = \"group:../LICENSE.txt\">\n   </FileRef>\n   <FileRef\n      location = \"group:../LumberjackLogo.png\">\n   </FileRef>\n   <FileRef\n      location = \"group:../README.md\">\n   </FileRef>\n   <FileRef\n      location = \"group:../uncrustify.cfg\">\n   </FileRef>\n   <FileRef\n      location = \"group:../Lumberjack.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:../Tests/CocoaLumberjack Tests.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:../Tests/Pods/Pods.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/Lumberjack.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/SwiftTest/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  SwiftTest\n//\n//  Created by C.W. Betts on 9/5/14.\n//\n//\n\nimport Cocoa\nimport CocoaLumberjack\nimport CocoaLumberjackSwift\n\nlet ourLogLevel = DDLogLevel.verbose\n\n@NSApplicationMain\nclass AppDelegate: NSObject, NSApplicationDelegate {\n\t@IBOutlet weak var window: NSWindow!\n    \n\tfunc applicationDidFinishLaunching(_ aNotification: Notification) {\n        DDLog.add(DDTTYLogger.sharedInstance)\n\t\t\n        defaultDebugLevel = .warning\n\n        DDLogVerbose(\"Verbose\");\n        DDLogInfo(\"Info\");\n        DDLogWarn(\"Warn\");\n        DDLogError(\"Error\");\n        \n        defaultDebugLevel = ourLogLevel\n        \n        DDLogVerbose(\"Verbose\");\n        DDLogInfo(\"Info\");\n        DDLogWarn(\"Warn\");\n        DDLogError(\"Error\");\n        \n        defaultDebugLevel = .off\n        \n        DDLogVerbose(\"Verbose\", level: ourLogLevel);\n        DDLogInfo(\"Info\", level: ourLogLevel);\n        DDLogWarn(\"Warn\", level: ourLogLevel);\n        DDLogError(\"Error\", level: ourLogLevel);\n        \n        DDLogError(\"Error \\(5)\", level: ourLogLevel);\n        \n        defaultDebugLevel = .verbose\n        \n        let aDDLogInstance = DDLog()\n        aDDLogInstance.add(DDTTYLogger.sharedInstance)\n        \n        DDLogVerbose(\"Verbose from aDDLogInstance\", ddlog: aDDLogInstance)\n        DDLogInfo(\"Info from aDDLogInstance\", ddlog: aDDLogInstance)\n        DDLogWarn(\"Warn from aDDLogInstance\", ddlog: aDDLogInstance)\n        DDLogError(\"Error from aDDLogInstance\", ddlog: aDDLogInstance)\n    }\n\n\tfunc applicationWillTerminate(_ aNotification: Notification) {\n\t\t// Insert code here to tear down your application\n\t}\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/SwiftTest/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIconFile</key>\n\t<string></string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSMinimumSystemVersion</key>\n\t<string>$(MACOSX_DEPLOYMENT_TARGET)</string>\n\t<key>NSMainNibFile</key>\n\t<string>MainMenu</string>\n\t<key>NSPrincipalClass</key>\n\t<string>NSApplication</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/SwiftTest/InfoPlist.strings",
    "content": "/* \n  InfoPlist.strings\n  Lumberjack\n\n  Created by C.W. Betts on 1/5/15.\n\n*/\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/SwiftTest/MainMenu.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"3.0\" toolsVersion=\"6254\" systemVersion=\"14B25\" targetRuntime=\"MacOSX.Cocoa\" propertyAccessControl=\"none\" useAutolayout=\"YES\" customObjectInstantitationMethod=\"direct\">\n    <dependencies>\n        <deployment identifier=\"macosx\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.CocoaPlugin\" version=\"6254\"/>\n    </dependencies>\n    <objects>\n        <customObject id=\"-2\" userLabel=\"File's Owner\" customClass=\"NSApplication\">\n            <connections>\n                <outlet property=\"delegate\" destination=\"iz5-hX-JHP\" id=\"XE8-kO-Yho\"/>\n            </connections>\n        </customObject>\n        <customObject id=\"-1\" userLabel=\"First Responder\" customClass=\"FirstResponder\"/>\n        <customObject id=\"-3\" userLabel=\"Application\"/>\n        <customObject id=\"YLy-65-1bz\" customClass=\"NSFontManager\"/>\n        <customObject id=\"iz5-hX-JHP\" customClass=\"AppDelegate\" customModule=\"SwiftTest\" customModuleProvider=\"target\"/>\n        <menu title=\"Main Menu\" systemMenu=\"main\" id=\"AYu-sK-qS6\">\n            <items>\n                <menuItem title=\"NewApplication\" id=\"1Xt-HY-uBw\">\n                    <modifierMask key=\"keyEquivalentModifierMask\"/>\n                    <menu key=\"submenu\" title=\"NewApplication\" systemMenu=\"apple\" id=\"uQy-DD-JDr\">\n                        <items>\n                            <menuItem title=\"About NewApplication\" id=\"5kV-Vb-QxS\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <connections>\n                                    <action selector=\"orderFrontStandardAboutPanel:\" target=\"-1\" id=\"Exp-CZ-Vem\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem isSeparatorItem=\"YES\" id=\"VOq-y0-SEH\"/>\n                            <menuItem title=\"Preferences…\" keyEquivalent=\",\" id=\"BOF-NM-1cW\"/>\n                            <menuItem isSeparatorItem=\"YES\" id=\"wFC-TO-SCJ\"/>\n                            <menuItem title=\"Services\" id=\"NMo-om-nkz\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <menu key=\"submenu\" title=\"Services\" systemMenu=\"services\" id=\"hz9-B4-Xy5\"/>\n                            </menuItem>\n                            <menuItem isSeparatorItem=\"YES\" id=\"4je-JR-u6R\"/>\n                            <menuItem title=\"Hide NewApplication\" keyEquivalent=\"h\" id=\"Olw-nP-bQN\">\n                                <connections>\n                                    <action selector=\"hide:\" target=\"-1\" id=\"PnN-Uc-m68\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Hide Others\" keyEquivalent=\"h\" id=\"Vdr-fp-XzO\">\n                                <modifierMask key=\"keyEquivalentModifierMask\" option=\"YES\" command=\"YES\"/>\n                                <connections>\n                                    <action selector=\"hideOtherApplications:\" target=\"-1\" id=\"VT4-aY-XCT\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Show All\" id=\"Kd2-mp-pUS\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <connections>\n                                    <action selector=\"unhideAllApplications:\" target=\"-1\" id=\"Dhg-Le-xox\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem isSeparatorItem=\"YES\" id=\"kCx-OE-vgT\"/>\n                            <menuItem title=\"Quit NewApplication\" keyEquivalent=\"q\" id=\"4sb-4s-VLi\">\n                                <connections>\n                                    <action selector=\"terminate:\" target=\"-1\" id=\"Te7-pn-YzF\"/>\n                                </connections>\n                            </menuItem>\n                        </items>\n                    </menu>\n                </menuItem>\n                <menuItem title=\"File\" id=\"dMs-cI-mzQ\">\n                    <modifierMask key=\"keyEquivalentModifierMask\"/>\n                    <menu key=\"submenu\" title=\"File\" id=\"bib-Uj-vzu\">\n                        <items>\n                            <menuItem title=\"New\" keyEquivalent=\"n\" id=\"Was-JA-tGl\">\n                                <connections>\n                                    <action selector=\"newDocument:\" target=\"-1\" id=\"4Si-XN-c54\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Open…\" keyEquivalent=\"o\" id=\"IAo-SY-fd9\">\n                                <connections>\n                                    <action selector=\"openDocument:\" target=\"-1\" id=\"bVn-NM-KNZ\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Open Recent\" id=\"tXI-mr-wws\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <menu key=\"submenu\" title=\"Open Recent\" systemMenu=\"recentDocuments\" id=\"oas-Oc-fiZ\">\n                                    <items>\n                                        <menuItem title=\"Clear Menu\" id=\"vNY-rz-j42\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"clearRecentDocuments:\" target=\"-1\" id=\"Daa-9d-B3U\"/>\n                                            </connections>\n                                        </menuItem>\n                                    </items>\n                                </menu>\n                            </menuItem>\n                            <menuItem isSeparatorItem=\"YES\" id=\"m54-Is-iLE\"/>\n                            <menuItem title=\"Close\" keyEquivalent=\"w\" id=\"DVo-aG-piG\">\n                                <connections>\n                                    <action selector=\"performClose:\" target=\"-1\" id=\"HmO-Ls-i7Q\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Save…\" keyEquivalent=\"s\" id=\"pxx-59-PXV\">\n                                <connections>\n                                    <action selector=\"saveDocument:\" target=\"-1\" id=\"teZ-XB-qJY\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Save As…\" keyEquivalent=\"S\" id=\"Bw7-FT-i3A\">\n                                <connections>\n                                    <action selector=\"saveDocumentAs:\" target=\"-1\" id=\"mDf-zr-I0C\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Revert to Saved\" id=\"KaW-ft-85H\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <connections>\n                                    <action selector=\"revertDocumentToSaved:\" target=\"-1\" id=\"iJ3-Pv-kwq\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem isSeparatorItem=\"YES\" id=\"aJh-i4-bef\"/>\n                            <menuItem title=\"Page Setup…\" keyEquivalent=\"P\" id=\"qIS-W8-SiK\">\n                                <modifierMask key=\"keyEquivalentModifierMask\" shift=\"YES\" command=\"YES\"/>\n                                <connections>\n                                    <action selector=\"runPageLayout:\" target=\"-1\" id=\"Din-rz-gC5\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Print…\" keyEquivalent=\"p\" id=\"aTl-1u-JFS\">\n                                <connections>\n                                    <action selector=\"print:\" target=\"-1\" id=\"qaZ-4w-aoO\"/>\n                                </connections>\n                            </menuItem>\n                        </items>\n                    </menu>\n                </menuItem>\n                <menuItem title=\"Edit\" id=\"5QF-Oa-p0T\">\n                    <modifierMask key=\"keyEquivalentModifierMask\"/>\n                    <menu key=\"submenu\" title=\"Edit\" id=\"W48-6f-4Dl\">\n                        <items>\n                            <menuItem title=\"Undo\" keyEquivalent=\"z\" id=\"dRJ-4n-Yzg\">\n                                <connections>\n                                    <action selector=\"undo:\" target=\"-1\" id=\"M6e-cu-g7V\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Redo\" keyEquivalent=\"Z\" id=\"6dh-zS-Vam\">\n                                <connections>\n                                    <action selector=\"redo:\" target=\"-1\" id=\"oIA-Rs-6OD\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem isSeparatorItem=\"YES\" id=\"WRV-NI-Exz\"/>\n                            <menuItem title=\"Cut\" keyEquivalent=\"x\" id=\"uRl-iY-unG\">\n                                <connections>\n                                    <action selector=\"cut:\" target=\"-1\" id=\"YJe-68-I9s\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Copy\" keyEquivalent=\"c\" id=\"x3v-GG-iWU\">\n                                <connections>\n                                    <action selector=\"copy:\" target=\"-1\" id=\"G1f-GL-Joy\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Paste\" keyEquivalent=\"v\" id=\"gVA-U4-sdL\">\n                                <connections>\n                                    <action selector=\"paste:\" target=\"-1\" id=\"UvS-8e-Qdg\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Paste and Match Style\" keyEquivalent=\"V\" id=\"WeT-3V-zwk\">\n                                <modifierMask key=\"keyEquivalentModifierMask\" option=\"YES\" command=\"YES\"/>\n                                <connections>\n                                    <action selector=\"pasteAsPlainText:\" target=\"-1\" id=\"cEh-KX-wJQ\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Delete\" id=\"pa3-QI-u2k\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <connections>\n                                    <action selector=\"delete:\" target=\"-1\" id=\"0Mk-Ml-PaM\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Select All\" keyEquivalent=\"a\" id=\"Ruw-6m-B2m\">\n                                <connections>\n                                    <action selector=\"selectAll:\" target=\"-1\" id=\"VNm-Mi-diN\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem isSeparatorItem=\"YES\" id=\"uyl-h8-XO2\"/>\n                            <menuItem title=\"Find\" id=\"4EN-yA-p0u\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <menu key=\"submenu\" title=\"Find\" id=\"1b7-l0-nxx\">\n                                    <items>\n                                        <menuItem title=\"Find…\" tag=\"1\" keyEquivalent=\"f\" id=\"Xz5-n4-O0W\">\n                                            <connections>\n                                                <action selector=\"performFindPanelAction:\" target=\"-1\" id=\"cD7-Qs-BN4\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Find and Replace…\" tag=\"12\" keyEquivalent=\"f\" id=\"YEy-JH-Tfz\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\" option=\"YES\" command=\"YES\"/>\n                                            <connections>\n                                                <action selector=\"performFindPanelAction:\" target=\"-1\" id=\"WD3-Gg-5AJ\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Find Next\" tag=\"2\" keyEquivalent=\"g\" id=\"q09-fT-Sye\">\n                                            <connections>\n                                                <action selector=\"performFindPanelAction:\" target=\"-1\" id=\"NDo-RZ-v9R\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Find Previous\" tag=\"3\" keyEquivalent=\"G\" id=\"OwM-mh-QMV\">\n                                            <connections>\n                                                <action selector=\"performFindPanelAction:\" target=\"-1\" id=\"HOh-sY-3ay\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Use Selection for Find\" tag=\"7\" keyEquivalent=\"e\" id=\"buJ-ug-pKt\">\n                                            <connections>\n                                                <action selector=\"performFindPanelAction:\" target=\"-1\" id=\"U76-nv-p5D\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Jump to Selection\" keyEquivalent=\"j\" id=\"S0p-oC-mLd\">\n                                            <connections>\n                                                <action selector=\"centerSelectionInVisibleArea:\" target=\"-1\" id=\"IOG-6D-g5B\"/>\n                                            </connections>\n                                        </menuItem>\n                                    </items>\n                                </menu>\n                            </menuItem>\n                            <menuItem title=\"Spelling and Grammar\" id=\"Dv1-io-Yv7\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <menu key=\"submenu\" title=\"Spelling\" id=\"3IN-sU-3Bg\">\n                                    <items>\n                                        <menuItem title=\"Show Spelling and Grammar\" keyEquivalent=\":\" id=\"HFo-cy-zxI\">\n                                            <connections>\n                                                <action selector=\"showGuessPanel:\" target=\"-1\" id=\"vFj-Ks-hy3\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Check Document Now\" keyEquivalent=\";\" id=\"hz2-CU-CR7\">\n                                            <connections>\n                                                <action selector=\"checkSpelling:\" target=\"-1\" id=\"fz7-VC-reM\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem isSeparatorItem=\"YES\" id=\"bNw-od-mp5\"/>\n                                        <menuItem title=\"Check Spelling While Typing\" id=\"rbD-Rh-wIN\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleContinuousSpellChecking:\" target=\"-1\" id=\"7w6-Qz-0kB\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Check Grammar With Spelling\" id=\"mK6-2p-4JG\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleGrammarChecking:\" target=\"-1\" id=\"muD-Qn-j4w\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Correct Spelling Automatically\" id=\"78Y-hA-62v\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleAutomaticSpellingCorrection:\" target=\"-1\" id=\"2lM-Qi-WAP\"/>\n                                            </connections>\n                                        </menuItem>\n                                    </items>\n                                </menu>\n                            </menuItem>\n                            <menuItem title=\"Substitutions\" id=\"9ic-FL-obx\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <menu key=\"submenu\" title=\"Substitutions\" id=\"FeM-D8-WVr\">\n                                    <items>\n                                        <menuItem title=\"Show Substitutions\" id=\"z6F-FW-3nz\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"orderFrontSubstitutionsPanel:\" target=\"-1\" id=\"oku-mr-iSq\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem isSeparatorItem=\"YES\" id=\"gPx-C9-uUO\"/>\n                                        <menuItem title=\"Smart Copy/Paste\" id=\"9yt-4B-nSM\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleSmartInsertDelete:\" target=\"-1\" id=\"3IJ-Se-DZD\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Smart Quotes\" id=\"hQb-2v-fYv\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleAutomaticQuoteSubstitution:\" target=\"-1\" id=\"ptq-xd-QOA\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Smart Dashes\" id=\"rgM-f4-ycn\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleAutomaticDashSubstitution:\" target=\"-1\" id=\"oCt-pO-9gS\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Smart Links\" id=\"cwL-P1-jid\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleAutomaticLinkDetection:\" target=\"-1\" id=\"Gip-E3-Fov\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Data Detectors\" id=\"tRr-pd-1PS\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleAutomaticDataDetection:\" target=\"-1\" id=\"R1I-Nq-Kbl\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Text Replacement\" id=\"HFQ-gK-NFA\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleAutomaticTextReplacement:\" target=\"-1\" id=\"DvP-Fe-Py6\"/>\n                                            </connections>\n                                        </menuItem>\n                                    </items>\n                                </menu>\n                            </menuItem>\n                            <menuItem title=\"Transformations\" id=\"2oI-Rn-ZJC\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <menu key=\"submenu\" title=\"Transformations\" id=\"c8a-y6-VQd\">\n                                    <items>\n                                        <menuItem title=\"Make Upper Case\" id=\"vmV-6d-7jI\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"uppercaseWord:\" target=\"-1\" id=\"sPh-Tk-edu\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Make Lower Case\" id=\"d9M-CD-aMd\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"lowercaseWord:\" target=\"-1\" id=\"iUZ-b5-hil\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Capitalize\" id=\"UEZ-Bs-lqG\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"capitalizeWord:\" target=\"-1\" id=\"26H-TL-nsh\"/>\n                                            </connections>\n                                        </menuItem>\n                                    </items>\n                                </menu>\n                            </menuItem>\n                            <menuItem title=\"Speech\" id=\"xrE-MZ-jX0\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <menu key=\"submenu\" title=\"Speech\" id=\"3rS-ZA-NoH\">\n                                    <items>\n                                        <menuItem title=\"Start Speaking\" id=\"Ynk-f8-cLZ\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"startSpeaking:\" target=\"-1\" id=\"654-Ng-kyl\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Stop Speaking\" id=\"Oyz-dy-DGm\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"stopSpeaking:\" target=\"-1\" id=\"dX8-6p-jy9\"/>\n                                            </connections>\n                                        </menuItem>\n                                    </items>\n                                </menu>\n                            </menuItem>\n                        </items>\n                    </menu>\n                </menuItem>\n                <menuItem title=\"Format\" id=\"jxT-CU-nIS\">\n                    <modifierMask key=\"keyEquivalentModifierMask\"/>\n                    <menu key=\"submenu\" title=\"Format\" id=\"GEO-Iw-cKr\">\n                        <items>\n                            <menuItem title=\"Font\" id=\"Gi5-1S-RQB\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <menu key=\"submenu\" title=\"Font\" systemMenu=\"font\" id=\"aXa-aM-Jaq\">\n                                    <items>\n                                        <menuItem title=\"Show Fonts\" keyEquivalent=\"t\" id=\"Q5e-8K-NDq\">\n                                            <connections>\n                                                <action selector=\"orderFrontFontPanel:\" target=\"YLy-65-1bz\" id=\"WHr-nq-2xA\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Bold\" tag=\"2\" keyEquivalent=\"b\" id=\"GB9-OM-e27\">\n                                            <connections>\n                                                <action selector=\"addFontTrait:\" target=\"YLy-65-1bz\" id=\"hqk-hr-sYV\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Italic\" tag=\"1\" keyEquivalent=\"i\" id=\"Vjx-xi-njq\">\n                                            <connections>\n                                                <action selector=\"addFontTrait:\" target=\"YLy-65-1bz\" id=\"IHV-OB-c03\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Underline\" keyEquivalent=\"u\" id=\"WRG-CD-K1S\">\n                                            <connections>\n                                                <action selector=\"underline:\" target=\"-1\" id=\"FYS-2b-JAY\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem isSeparatorItem=\"YES\" id=\"5gT-KC-WSO\"/>\n                                        <menuItem title=\"Bigger\" tag=\"3\" keyEquivalent=\"+\" id=\"Ptp-SP-VEL\">\n                                            <connections>\n                                                <action selector=\"modifyFont:\" target=\"YLy-65-1bz\" id=\"Uc7-di-UnL\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Smaller\" tag=\"4\" keyEquivalent=\"-\" id=\"i1d-Er-qST\">\n                                            <connections>\n                                                <action selector=\"modifyFont:\" target=\"YLy-65-1bz\" id=\"HcX-Lf-eNd\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem isSeparatorItem=\"YES\" id=\"kx3-Dk-x3B\"/>\n                                        <menuItem title=\"Kern\" id=\"jBQ-r6-VK2\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <menu key=\"submenu\" title=\"Kern\" id=\"tlD-Oa-oAM\">\n                                                <items>\n                                                    <menuItem title=\"Use Default\" id=\"GUa-eO-cwY\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"useStandardKerning:\" target=\"-1\" id=\"6dk-9l-Ckg\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem title=\"Use None\" id=\"cDB-IK-hbR\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"turnOffKerning:\" target=\"-1\" id=\"U8a-gz-Maa\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem title=\"Tighten\" id=\"46P-cB-AYj\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"tightenKerning:\" target=\"-1\" id=\"hr7-Nz-8ro\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem title=\"Loosen\" id=\"ogc-rX-tC1\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"loosenKerning:\" target=\"-1\" id=\"8i4-f9-FKE\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                </items>\n                                            </menu>\n                                        </menuItem>\n                                        <menuItem title=\"Ligatures\" id=\"o6e-r0-MWq\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <menu key=\"submenu\" title=\"Ligatures\" id=\"w0m-vy-SC9\">\n                                                <items>\n                                                    <menuItem title=\"Use Default\" id=\"agt-UL-0e3\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"useStandardLigatures:\" target=\"-1\" id=\"7uR-wd-Dx6\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem title=\"Use None\" id=\"J7y-lM-qPV\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"turnOffLigatures:\" target=\"-1\" id=\"iX2-gA-Ilz\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem title=\"Use All\" id=\"xQD-1f-W4t\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"useAllLigatures:\" target=\"-1\" id=\"KcB-kA-TuK\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                </items>\n                                            </menu>\n                                        </menuItem>\n                                        <menuItem title=\"Baseline\" id=\"OaQ-X3-Vso\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <menu key=\"submenu\" title=\"Baseline\" id=\"ijk-EB-dga\">\n                                                <items>\n                                                    <menuItem title=\"Use Default\" id=\"3Om-Ey-2VK\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"unscript:\" target=\"-1\" id=\"0vZ-95-Ywn\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem title=\"Superscript\" id=\"Rqc-34-cIF\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"superscript:\" target=\"-1\" id=\"3qV-fo-wpU\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem title=\"Subscript\" id=\"I0S-gh-46l\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"subscript:\" target=\"-1\" id=\"Q6W-4W-IGz\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem title=\"Raise\" id=\"2h7-ER-AoG\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"raiseBaseline:\" target=\"-1\" id=\"4sk-31-7Q9\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem title=\"Lower\" id=\"1tx-W0-xDw\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"lowerBaseline:\" target=\"-1\" id=\"OF1-bc-KW4\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                </items>\n                                            </menu>\n                                        </menuItem>\n                                        <menuItem isSeparatorItem=\"YES\" id=\"Ndw-q3-faq\"/>\n                                        <menuItem title=\"Show Colors\" keyEquivalent=\"C\" id=\"bgn-CT-cEk\">\n                                            <connections>\n                                                <action selector=\"orderFrontColorPanel:\" target=\"-1\" id=\"mSX-Xz-DV3\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem isSeparatorItem=\"YES\" id=\"iMs-zA-UFJ\"/>\n                                        <menuItem title=\"Copy Style\" keyEquivalent=\"c\" id=\"5Vv-lz-BsD\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\" option=\"YES\" command=\"YES\"/>\n                                            <connections>\n                                                <action selector=\"copyFont:\" target=\"-1\" id=\"GJO-xA-L4q\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Paste Style\" keyEquivalent=\"v\" id=\"vKC-jM-MkH\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\" option=\"YES\" command=\"YES\"/>\n                                            <connections>\n                                                <action selector=\"pasteFont:\" target=\"-1\" id=\"JfD-CL-leO\"/>\n                                            </connections>\n                                        </menuItem>\n                                    </items>\n                                </menu>\n                            </menuItem>\n                            <menuItem title=\"Text\" id=\"Fal-I4-PZk\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <menu key=\"submenu\" title=\"Text\" id=\"d9c-me-L2H\">\n                                    <items>\n                                        <menuItem title=\"Align Left\" keyEquivalent=\"{\" id=\"ZM1-6Q-yy1\">\n                                            <connections>\n                                                <action selector=\"alignLeft:\" target=\"-1\" id=\"zUv-R1-uAa\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Center\" keyEquivalent=\"|\" id=\"VIY-Ag-zcb\">\n                                            <connections>\n                                                <action selector=\"alignCenter:\" target=\"-1\" id=\"spX-mk-kcS\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Justify\" id=\"J5U-5w-g23\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"alignJustified:\" target=\"-1\" id=\"ljL-7U-jND\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Align Right\" keyEquivalent=\"}\" id=\"wb2-vD-lq4\">\n                                            <connections>\n                                                <action selector=\"alignRight:\" target=\"-1\" id=\"r48-bG-YeY\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem isSeparatorItem=\"YES\" id=\"4s2-GY-VfK\"/>\n                                        <menuItem title=\"Writing Direction\" id=\"H1b-Si-o9J\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <menu key=\"submenu\" title=\"Writing Direction\" id=\"8mr-sm-Yjd\">\n                                                <items>\n                                                    <menuItem title=\"Paragraph\" enabled=\"NO\" id=\"ZvO-Gk-QUH\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                    </menuItem>\n                                                    <menuItem id=\"YGs-j5-SAR\">\n                                                        <string key=\"title\">\tDefault</string>\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"makeBaseWritingDirectionNatural:\" target=\"-1\" id=\"qtV-5e-UBP\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem id=\"Lbh-J2-qVU\">\n                                                        <string key=\"title\">\tLeft to Right</string>\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"makeBaseWritingDirectionLeftToRight:\" target=\"-1\" id=\"S0X-9S-QSf\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem id=\"jFq-tB-4Kx\">\n                                                        <string key=\"title\">\tRight to Left</string>\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"makeBaseWritingDirectionRightToLeft:\" target=\"-1\" id=\"5fk-qB-AqJ\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem isSeparatorItem=\"YES\" id=\"swp-gr-a21\"/>\n                                                    <menuItem title=\"Selection\" enabled=\"NO\" id=\"cqv-fj-IhA\">\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                    </menuItem>\n                                                    <menuItem id=\"Nop-cj-93Q\">\n                                                        <string key=\"title\">\tDefault</string>\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"makeTextWritingDirectionNatural:\" target=\"-1\" id=\"lPI-Se-ZHp\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem id=\"BgM-ve-c93\">\n                                                        <string key=\"title\">\tLeft to Right</string>\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"makeTextWritingDirectionLeftToRight:\" target=\"-1\" id=\"caW-Bv-w94\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                    <menuItem id=\"RB4-Sm-HuC\">\n                                                        <string key=\"title\">\tRight to Left</string>\n                                                        <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                                        <connections>\n                                                            <action selector=\"makeTextWritingDirectionRightToLeft:\" target=\"-1\" id=\"EXD-6r-ZUu\"/>\n                                                        </connections>\n                                                    </menuItem>\n                                                </items>\n                                            </menu>\n                                        </menuItem>\n                                        <menuItem isSeparatorItem=\"YES\" id=\"fKy-g9-1gm\"/>\n                                        <menuItem title=\"Show Ruler\" id=\"vLm-3I-IUL\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                            <connections>\n                                                <action selector=\"toggleRuler:\" target=\"-1\" id=\"FOx-HJ-KwY\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Copy Ruler\" keyEquivalent=\"c\" id=\"MkV-Pr-PK5\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\" control=\"YES\" command=\"YES\"/>\n                                            <connections>\n                                                <action selector=\"copyRuler:\" target=\"-1\" id=\"71i-fW-3W2\"/>\n                                            </connections>\n                                        </menuItem>\n                                        <menuItem title=\"Paste Ruler\" keyEquivalent=\"v\" id=\"LVM-kO-fVI\">\n                                            <modifierMask key=\"keyEquivalentModifierMask\" control=\"YES\" command=\"YES\"/>\n                                            <connections>\n                                                <action selector=\"pasteRuler:\" target=\"-1\" id=\"cSh-wd-qM2\"/>\n                                            </connections>\n                                        </menuItem>\n                                    </items>\n                                </menu>\n                            </menuItem>\n                        </items>\n                    </menu>\n                </menuItem>\n                <menuItem title=\"View\" id=\"H8h-7b-M4v\">\n                    <modifierMask key=\"keyEquivalentModifierMask\"/>\n                    <menu key=\"submenu\" title=\"View\" id=\"HyV-fh-RgO\">\n                        <items>\n                            <menuItem title=\"Show Toolbar\" keyEquivalent=\"t\" id=\"snW-S8-Cw5\">\n                                <modifierMask key=\"keyEquivalentModifierMask\" option=\"YES\" command=\"YES\"/>\n                                <connections>\n                                    <action selector=\"toggleToolbarShown:\" target=\"-1\" id=\"BXY-wc-z0C\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Customize Toolbar…\" id=\"1UK-8n-QPP\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <connections>\n                                    <action selector=\"runToolbarCustomizationPalette:\" target=\"-1\" id=\"pQI-g3-MTW\"/>\n                                </connections>\n                            </menuItem>\n                        </items>\n                    </menu>\n                </menuItem>\n                <menuItem title=\"Window\" id=\"aUF-d1-5bR\">\n                    <modifierMask key=\"keyEquivalentModifierMask\"/>\n                    <menu key=\"submenu\" title=\"Window\" systemMenu=\"window\" id=\"Td7-aD-5lo\">\n                        <items>\n                            <menuItem title=\"Minimize\" keyEquivalent=\"m\" id=\"OY7-WF-poV\">\n                                <connections>\n                                    <action selector=\"performMiniaturize:\" target=\"-1\" id=\"VwT-WD-YPe\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem title=\"Zoom\" id=\"R4o-n2-Eq4\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <connections>\n                                    <action selector=\"performZoom:\" target=\"-1\" id=\"DIl-cC-cCs\"/>\n                                </connections>\n                            </menuItem>\n                            <menuItem isSeparatorItem=\"YES\" id=\"eu3-7i-yIM\"/>\n                            <menuItem title=\"Bring All to Front\" id=\"LE2-aR-0XJ\">\n                                <modifierMask key=\"keyEquivalentModifierMask\"/>\n                                <connections>\n                                    <action selector=\"arrangeInFront:\" target=\"-1\" id=\"DRN-fu-gQh\"/>\n                                </connections>\n                            </menuItem>\n                        </items>\n                    </menu>\n                </menuItem>\n                <menuItem title=\"Help\" id=\"wpr-3q-Mcd\">\n                    <modifierMask key=\"keyEquivalentModifierMask\"/>\n                    <menu key=\"submenu\" title=\"Help\" systemMenu=\"help\" id=\"F2S-fz-NVQ\">\n                        <items>\n                            <menuItem title=\"NewApplication Help\" keyEquivalent=\"?\" id=\"FKE-Sm-Kum\">\n                                <connections>\n                                    <action selector=\"showHelp:\" target=\"-1\" id=\"y7X-2Q-9no\"/>\n                                </connections>\n                            </menuItem>\n                        </items>\n                    </menu>\n                </menuItem>\n            </items>\n        </menu>\n        <window title=\"Window\" allowsToolTipsWhenApplicationIsInactive=\"NO\" autorecalculatesKeyViewLoop=\"NO\" oneShot=\"NO\" releasedWhenClosed=\"NO\" animationBehavior=\"default\" id=\"F0z-JX-Cv5\">\n            <windowStyleMask key=\"styleMask\" titled=\"YES\" closable=\"YES\" miniaturizable=\"YES\" resizable=\"YES\"/>\n            <windowPositionMask key=\"initialPositionMask\" leftStrut=\"YES\" rightStrut=\"YES\" topStrut=\"YES\" bottomStrut=\"YES\"/>\n            <rect key=\"contentRect\" x=\"196\" y=\"240\" width=\"480\" height=\"270\"/>\n            <rect key=\"screenRect\" x=\"0.0\" y=\"0.0\" width=\"1920\" height=\"1057\"/>\n            <view key=\"contentView\" id=\"se5-gp-TjO\">\n                <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"270\"/>\n                <autoresizingMask key=\"autoresizingMask\"/>\n            </view>\n        </window>\n    </objects>\n</document>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSLibStaticTest/AppDelegate.h",
    "content": "//\n//  AppDelegate.h\n//  iOSLibStaticTest\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\n#import <UIKit/UIKit.h>\n\n@interface AppDelegate : UIResponder <UIApplicationDelegate>\n\n@property (strong, nonatomic) UIWindow *window;\n\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSLibStaticTest/AppDelegate.m",
    "content": "//\n//  AppDelegate.m\n//  iOSLibStaticTest\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\n#import \"AppDelegate.h\"\n#import \"CocoaLumberjack.h\"\n\nstatic const DDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n@interface AppDelegate ()\n\n@end\n\n@implementation AppDelegate\n\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n    // Override point for customization after application launch.\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    \n    DDLogVerbose(@\"Verbose\");\n    DDLogInfo(@\"Info\");\n    DDLogWarn(@\"Warn\");\n    DDLogError(@\"Error\");\n    return YES;\n}\n\n- (void)applicationWillResignActive:(UIApplication *)application {\n    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n}\n\n- (void)applicationDidEnterBackground:(UIApplication *)application {\n    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n}\n\n- (void)applicationWillEnterForeground:(UIApplication *)application {\n    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n}\n\n- (void)applicationDidBecomeActive:(UIApplication *)application {\n    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n}\n\n- (void)applicationWillTerminate:(UIApplication *)application {\n    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSLibStaticTest/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"6214\" systemVersion=\"14A314h\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6207\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"iOSLibStaticTest\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSLibStaticTest/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"6211\" systemVersion=\"14A298i\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"vXZ-lx-hvc\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6204\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"ufC-wZ-h7g\">\n            <objects>\n                <viewController id=\"vXZ-lx-hvc\" customClass=\"ViewController\" customModuleProvider=\"\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"jyV-Pf-zRb\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"2fi-mo-0CV\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"kh9-bI-dsS\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"x5A-6p-PRh\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSLibStaticTest/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSLibStaticTest/ViewController.h",
    "content": "//\n//  ViewController.h\n//  iOSLibStaticTest\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\n#import <UIKit/UIKit.h>\n\n@interface ViewController : UIViewController\n\n\n@end\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSLibStaticTest/ViewController.m",
    "content": "//\n//  ViewController.m\n//  iOSLibStaticTest\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\n#import \"ViewController.h\"\n\n@interface ViewController ()\n\n@end\n\n@implementation ViewController\n\n- (void)viewDidLoad {\n    [super viewDidLoad];\n    // Do any additional setup after loading the view, typically from a nib.\n}\n\n- (void)didReceiveMemoryWarning {\n    [super didReceiveMemoryWarning];\n    // Dispose of any resources that can be recreated.\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSLibStaticTest/main.m",
    "content": "//\n//  main.m\n//  iOSLibStaticTest\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\n#import <UIKit/UIKit.h>\n#import \"AppDelegate.h\"\n\nint main(int argc, char * argv[]) {\n    @autoreleasepool {\n        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwift/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  iOSSwift\n//\n//  Created by C.W. Betts on 10/3/14.\n//\n//\n\nimport UIKit\nimport CocoaLumberjack\nimport CocoaLumberjackSwift\n\nlet ddloglevel = DDLogLevel.verbose\n\nprivate func printSomething() {\n    DDLogVerbose(\"Verbose\");\n    DDLogDebug(\"Debug\");\n    DDLogInfo(\"Info\");\n    DDLogWarn(\"Warn\");\n    DDLogError(\"Error\");\n}\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\tvar window: UIWindow?\n\n\tfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n\t\t// Override point for customization after application launch.\n        let formatter = Formatter()\n        DDTTYLogger.sharedInstance.logFormatter = formatter\n        DDLog.add(DDTTYLogger.sharedInstance)\n        \n        DDLogVerbose(\"Verbose\");\n        DDLogDebug(\"Debug\");\n        DDLogInfo(\"Info\");\n        DDLogWarn(\"Warn\");\n        DDLogError(\"Error\");\n        \n        printSomething()\n        \n        defaultDebugLevel = ddloglevel\n        \n        printSomething()\n        \n\t\treturn true\n\t}\n\n\tfunc applicationWillResignActive(_ application: UIApplication) {\n\t\t// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n\t\t// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n\t}\n\n\tfunc applicationDidEnterBackground(_ application: UIApplication) {\n\t\t// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n\t\t// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n\t}\n\n\tfunc applicationWillEnterForeground(_ application: UIApplication) {\n\t\t// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n\t}\n\n\tfunc applicationDidBecomeActive(_ application: UIApplication) {\n\t\t// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n\t}\n\n\tfunc applicationWillTerminate(_ application: UIApplication) {\n\t\t// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n\t}\n\n\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwift/Formatter.swift",
    "content": "//\n//  Formatter.swift\n//  Lumberjack\n//\n//  Created by C.W. Betts on 10/3/14.\n//\n//\n\nimport Foundation\nimport CocoaLumberjack.DDDispatchQueueLogFormatter\n\nclass Formatter: DDDispatchQueueLogFormatter {\n    let threadUnsafeDateFormatter: DateFormatter\n    \n    override init() {\n        threadUnsafeDateFormatter = DateFormatter()\n        threadUnsafeDateFormatter.formatterBehavior = .behavior10_4\n        threadUnsafeDateFormatter.dateFormat = \"HH:mm:ss.SSS\"\n        \n        super.init()\n    }\n    \n    override func format(message logMessage: DDLogMessage) -> String {\n        let dateAndTime = threadUnsafeDateFormatter.string(from: logMessage.timestamp)\n        \n        var logLevel: String\n        let logFlag = logMessage.flag\n        if logFlag.contains(.error) {\n            logLevel = \"E\"\n        } else if logFlag.contains(.warning){\n            logLevel = \"W\"\n        } else if logFlag.contains(.info) {\n            logLevel = \"I\"\n        } else if logFlag.contains(.debug) {\n            logLevel = \"D\"\n        } else if logFlag.contains(.verbose) {\n            logLevel = \"V\"\n        } else {\n            logLevel = \"?\"\n        }\n        \n        let formattedLog = \"\\(dateAndTime) |\\(logLevel)| [\\(logMessage.fileName) \\(logMessage.function ?? \"nil\")] #\\(logMessage.line): \\(logMessage.message)\"\n        \n        return formattedLog;\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwift/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwift/ViewController.swift",
    "content": "//\n//  ViewController.swift\n//  iOSSwift\n//\n//  Created by C.W. Betts on 10/3/14.\n//\n//\n\nimport UIKit\n\nclass ViewController: UIViewController {\n\n\toverride func viewDidLoad() {\n\t\tsuper.viewDidLoad()\n\t\t// Do any additional setup after loading the view, typically from a nib.\n\t}\n\n\toverride func didReceiveMemoryWarning() {\n\t\tsuper.didReceiveMemoryWarning()\n\t\t// Dispose of any resources that can be recreated.\n\t}\n\n\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwiftTest/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  iOSSwiftTest\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\nimport UIKit\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n    var window: UIWindow?\n\n\n    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {\n        // Override point for customization after application launch.\n        return true\n    }\n\n    func applicationWillResignActive(application: UIApplication) {\n        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n    }\n\n    func applicationDidEnterBackground(application: UIApplication) {\n        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n    }\n\n    func applicationWillEnterForeground(application: UIApplication) {\n        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n    }\n\n    func applicationDidBecomeActive(application: UIApplication) {\n        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n    }\n\n    func applicationWillTerminate(application: UIApplication) {\n        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n    }\n\n\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwiftTest/Base.lproj/LaunchScreen.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"6214\" systemVersion=\"14A314h\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6207\"/>\n        <capability name=\"Constraints with non-1.0 multipliers\" minToolsVersion=\"5.1\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"\" textAlignment=\"center\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"9\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"8ie-xW-0ye\">\n                    <rect key=\"frame\" x=\"20\" y=\"439\" width=\"441\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" clipsSubviews=\"YES\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"iOSSwiftTest\" textAlignment=\"center\" lineBreakMode=\"middleTruncation\" baselineAdjustment=\"alignBaselines\" minimumFontSize=\"18\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"kId-c2-rCX\">\n                    <rect key=\"frame\" x=\"20\" y=\"140\" width=\"441\" height=\"43\"/>\n                    <fontDescription key=\"fontDescription\" type=\"boldSystem\" pointSize=\"36\"/>\n                    <color key=\"textColor\" cocoaTouchSystemColor=\"darkTextColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n            <constraints>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"centerY\" secondItem=\"iN0-l3-epB\" secondAttribute=\"bottom\" multiplier=\"1/3\" constant=\"1\" id=\"5cJ-9S-tgC\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"kId-c2-rCX\" secondAttribute=\"centerX\" id=\"Koa-jz-hwk\"/>\n                <constraint firstAttribute=\"bottom\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"bottom\" constant=\"20\" id=\"Kzo-t9-V3l\"/>\n                <constraint firstItem=\"8ie-xW-0ye\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"MfP-vx-nX0\"/>\n                <constraint firstAttribute=\"centerX\" secondItem=\"8ie-xW-0ye\" secondAttribute=\"centerX\" id=\"ZEH-qu-HZ9\"/>\n                <constraint firstItem=\"kId-c2-rCX\" firstAttribute=\"leading\" secondItem=\"iN0-l3-epB\" secondAttribute=\"leading\" constant=\"20\" symbolic=\"YES\" id=\"fvb-Df-36g\"/>\n            </constraints>\n            <nil key=\"simulatedStatusBarMetrics\"/>\n            <freeformSimulatedSizeMetrics key=\"simulatedDestinationMetrics\"/>\n            <point key=\"canvasLocation\" x=\"548\" y=\"455\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwiftTest/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"6211\" systemVersion=\"14A298i\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"vXZ-lx-hvc\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6204\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"ufC-wZ-h7g\">\n            <objects>\n                <viewController id=\"vXZ-lx-hvc\" customClass=\"ViewController\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"jyV-Pf-zRb\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"2fi-mo-0CV\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"kh9-bI-dsS\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"600\" height=\"600\"/>\n                        <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"x5A-6p-PRh\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwiftTest/Images.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"40x40\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"60x60\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwiftTest/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>com.deusty.$(PRODUCT_NAME:rfc1034identifier)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/iOSSwiftTest/ViewController.swift",
    "content": "//\n//  ViewController.swift\n//  iOSSwiftTest\n//\n//  Created by Andrew Mackenzie-Ross on 3/02/2015.\n//\n//\n\nimport UIKit\n\nclass ViewController: UIViewController {\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n        // Do any additional setup after loading the view, typically from a nib.\n    }\n\n    override func didReceiveMemoryWarning() {\n        super.didReceiveMemoryWarning()\n        // Dispose of any resources that can be recreated.\n    }\n\n\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/tvOSSwiftTest/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  tvOSSwiftTest\n//\n//  Created by Sinoru on 2015. 10. 24..\n//\n//\n\nimport UIKit\nimport CocoaLumberjack\nimport CocoaLumberjackSwift\n\nlet ddloglevel = DDLogLevel.verbose\n\nprivate func printSomething() {\n    DDLogVerbose(\"Verbose\");\n    DDLogDebug(\"Debug\");\n    DDLogInfo(\"Info\");\n    DDLogWarn(\"Warn\");\n    DDLogError(\"Error\");\n}\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n    var window: UIWindow?\n\n\n    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n        // Override point for customization after application launch.\n        let formatter = Formatter()\n        DDTTYLogger.sharedInstance.logFormatter = formatter\n        DDLog.add(DDTTYLogger.sharedInstance)\n        \n        DDLogVerbose(\"Verbose\");\n        DDLogDebug(\"Debug\");\n        DDLogInfo(\"Info\");\n        DDLogWarn(\"Warn\");\n        DDLogError(\"Error\");\n        \n        printSomething()\n        \n        defaultDebugLevel = ddloglevel\n        \n        printSomething()\n        \n        return true\n    }\n\n    func applicationWillResignActive(_ application: UIApplication) {\n        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.\n    }\n\n    func applicationDidEnterBackground(_ application: UIApplication) {\n        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n    }\n\n    func applicationWillEnterForeground(_ application: UIApplication) {\n        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.\n    }\n\n    func applicationDidBecomeActive(_ application: UIApplication) {\n        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n    }\n\n    func applicationWillTerminate(_ application: UIApplication) {\n        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n    }\n\n\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/tvOSSwiftTest/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder.AppleTV.Storyboard\" version=\"3.0\" toolsVersion=\"6185.10\" systemVersion=\"14A360a\" targetRuntime=\"AppleTV\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"NO\" initialViewController=\"BYZ-38-t0r\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6181.2\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"tne-QT-ifu\">\n            <objects>\n                <viewController id=\"BYZ-38-t0r\" customClass=\"ViewController\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <layoutGuides>\n                        <viewControllerLayoutGuide type=\"top\" id=\"y3c-jy-aDJ\"/>\n                        <viewControllerLayoutGuide type=\"bottom\" id=\"wfy-db-euE\"/>\n                    </layoutGuides>\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"8bC-Xf-vdC\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"480\" height=\"480\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <color key=\"backgroundColor\" white=\"0.0\" alpha=\"0.0\" colorSpace=\"custom\" customColorSpace=\"calibratedWhite\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"dkx-z0-nzr\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/tvOSSwiftTest/Formatter.swift",
    "content": "//\n//  Formatter.swift\n//  Lumberjack\n//\n//  Created by C.W. Betts on 10/3/14.\n//\n//\n\nimport Foundation\nimport CocoaLumberjack.DDDispatchQueueLogFormatter\n\nclass Formatter: DDDispatchQueueLogFormatter {\n    let threadUnsafeDateFormatter: DateFormatter\n    \n    override init() {\n        threadUnsafeDateFormatter = DateFormatter()\n        threadUnsafeDateFormatter.formatterBehavior = .behavior10_4\n        threadUnsafeDateFormatter.dateFormat = \"HH:mm:ss.SSS\"\n        \n        super.init()\n    }\n    \n    override func format(message logMessage: DDLogMessage) -> String {\n        let dateAndTime = threadUnsafeDateFormatter.string(from: logMessage.timestamp)\n        \n        var logLevel: String\n        let logFlag = logMessage.flag\n        if logFlag.contains(.error) {\n            logLevel = \"E\"\n        } else if logFlag.contains(.warning){\n            logLevel = \"W\"\n        } else if logFlag.contains(.info) {\n            logLevel = \"I\"\n        } else if logFlag.contains(.debug) {\n            logLevel = \"D\"\n        } else if logFlag.contains(.verbose) {\n            logLevel = \"V\"\n        } else {\n            logLevel = \"?\"\n        }\n        \n        let formattedLog = \"\\(dateAndTime) |\\(logLevel)| [\\(logMessage.fileName) \\(logMessage.function ?? \"nil\")] #\\(logMessage.line): \\(logMessage.message)\"\n        \n        return formattedLog;\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/tvOSSwiftTest/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>arm64</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/tvOSSwiftTest/ViewController.swift",
    "content": "//\n//  ViewController.swift\n//  tvOSSwiftTest\n//\n//  Created by Sinoru on 2015. 10. 24..\n//\n//\n\nimport UIKit\n\nclass ViewController: UIViewController {\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n        // Do any additional setup after loading the view, typically from a nib.\n    }\n\n    override func didReceiveMemoryWarning() {\n        super.didReceiveMemoryWarning()\n        // Dispose of any resources that can be recreated.\n    }\n\n\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/watchOSSwiftTest/Base.lproj/Interface.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder.WatchKit.Storyboard\" version=\"3.0\" toolsVersion=\"6221\" systemVersion=\"13E28\" targetRuntime=\"watchKit\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" initialViewController=\"AgC-eL-Hgc\">\n    <dependencies>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"6213\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBWatchKitPlugin\" version=\"3733\"/>\n    </dependencies>\n    <scenes>\n        <!--Interface Controller-->\n        <scene sceneID=\"aou-V4-d1y\">\n            <objects>\n                <controller id=\"AgC-eL-Hgc\" customClass=\"InterfaceController\" customModuleProvider=\"target\"/>\n            </objects>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/watchOSSwiftTest/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>iOSSwiftTest</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t</array>\n\t<key>WKCompanionAppBundleIdentifier</key>\n\t<string>com.deusty.iOSSwiftTest</string>\n\t<key>WKWatchKitApp</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/watchOSSwiftTest Extension/ExtensionDelegate.swift",
    "content": "//\n//  ExtensionDelegate.swift\n//  watchOSSwiftTest Extension\n//\n//  Created by Sinoru on 2015. 8. 19..\n//\n//\n\nimport WatchKit\nimport CocoaLumberjack\nimport CocoaLumberjackSwift\n\nlet ddloglevel = DDLogLevel.verbose\n\nprivate func printSomething() {\n    DDLogVerbose(\"Verbose\");\n    DDLogDebug(\"Debug\");\n    DDLogInfo(\"Info\");\n    DDLogWarn(\"Warn\");\n    DDLogError(\"Error\");\n}\n\nclass ExtensionDelegate: NSObject, WKExtensionDelegate {\n\n    func applicationDidFinishLaunching() {\n        // Perform any final initialization of your application.\n        \n        let formatter = Formatter()\n        DDTTYLogger.sharedInstance.logFormatter = formatter\n        DDLog.add(DDTTYLogger.sharedInstance)\n        \n        DDLogVerbose(\"Verbose\");\n        DDLogDebug(\"Debug\");\n        DDLogInfo(\"Info\");\n        DDLogWarn(\"Warn\");\n        DDLogError(\"Error\");\n        \n        printSomething()\n        \n        defaultDebugLevel = ddloglevel\n        \n        printSomething()\n    }\n\n    func applicationDidBecomeActive() {\n        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n    }\n\n    func applicationWillResignActive() {\n        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n        // Use this method to pause ongoing tasks, disable timers, etc.\n    }\n\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/watchOSSwiftTest Extension/Formatter.swift",
    "content": "//\n//  Formatter.swift\n//  Lumberjack\n//\n//  Created by C.W. Betts on 10/3/14.\n//\n//\n\nimport Foundation\nimport CocoaLumberjack.DDDispatchQueueLogFormatter\n\nclass Formatter: DDDispatchQueueLogFormatter {\n    let threadUnsafeDateFormatter: DateFormatter\n    \n    override init() {\n        threadUnsafeDateFormatter = DateFormatter()\n        threadUnsafeDateFormatter.formatterBehavior = .behavior10_4\n        threadUnsafeDateFormatter.dateFormat = \"HH:mm:ss.SSS\"\n        \n        super.init()\n    }\n    \n    override func format(message logMessage: DDLogMessage) -> String {\n        let dateAndTime = threadUnsafeDateFormatter.string(from: logMessage.timestamp)\n        \n        var logLevel: String\n        let logFlag = logMessage.flag\n        if logFlag.contains(.error) {\n            logLevel = \"E\"\n        } else if logFlag.contains(.warning){\n            logLevel = \"W\"\n        } else if logFlag.contains(.info) {\n            logLevel = \"I\"\n        } else if logFlag.contains(.debug) {\n            logLevel = \"D\"\n        } else if logFlag.contains(.verbose) {\n            logLevel = \"V\"\n        } else {\n            logLevel = \"?\"\n        }\n        \n        let formattedLog = \"\\(dateAndTime) |\\(logLevel)| [\\(logMessage.fileName) \\(logMessage.function ?? \"nil\")] #\\(logMessage.line): \\(logMessage.message)\"\n        \n        return formattedLog;\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/watchOSSwiftTest Extension/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>watchOSSwiftTest Extension</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>XPC!</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>NSExtension</key>\n\t<dict>\n\t\t<key>NSExtensionAttributes</key>\n\t\t<dict>\n\t\t\t<key>WKAppBundleIdentifier</key>\n\t\t\t<string>com.deusty.iOSSwiftTest.watchkitapp</string>\n\t\t</dict>\n\t\t<key>NSExtensionPointIdentifier</key>\n\t\t<string>com.apple.watchkit</string>\n\t</dict>\n\t<key>RemoteInterfacePrincipalClass</key>\n\t<string>$(PRODUCT_MODULE_NAME).InterfaceController</string>\n\t<key>WKExtensionDelegateClassName</key>\n\t<string>$(PRODUCT_MODULE_NAME).ExtensionDelegate</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Framework/watchOSSwiftTest Extension/InterfaceController.swift",
    "content": "//\n//  InterfaceController.swift\n//  watchOSSwiftTest Extension\n//\n//  Created by Sinoru on 2015. 8. 19..\n//\n//\n\nimport WatchKit\nimport Foundation\n\n\nclass InterfaceController: WKInterfaceController {\n\n    override func awake(withContext context: Any?) {\n        super.awake(withContext: context)\n        \n        // Configure interface objects here.\n    }\n\n    override func willActivate() {\n        // This method is called when watch view controller is about to be visible to user\n        super.willActivate()\n    }\n\n    override func didDeactivate() {\n        // This method is called when watch view controller is no longer visible\n        super.didDeactivate()\n    }\n\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/LICENSE.txt",
    "content": "Software License Agreement (BSD License)\n\nCopyright (c) 2010-2016, Deusty, LLC\nAll rights reserved.\n\nRedistribution and use of this software in source and binary forms,\nwith or without modification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above\n  copyright notice, this list of conditions and the\n  following disclaimer.\n\n* Neither the name of Deusty nor the names of its\n  contributors may be used to endorse or promote products\n  derived from this software without specific prior\n  written permission of Deusty, LLC.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t07CA82901F90E89000FF0F17 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCB3185114EB418E001CFBEE /* CocoaLumberjack.framework */; };\n\t\t07CA82911F90E89C00FF0F17 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 19D90B261BBFA9DB00947169 /* CocoaLumberjack.framework */; };\n\t\t07CA82921F90E8A800FF0F17 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 19190EDE1B84D812008D059E /* CocoaLumberjack.framework */; };\n\t\t18F3BF081A81D8B700692297 /* CocoaLumberjack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55BCB5C619D4BB6E0096E784 /* CocoaLumberjack.swift */; };\n\t\t18F3BF641A81DD2E00692297 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18F3BF631A81DD2E00692297 /* AppDelegate.swift */; };\n\t\t18F3BF661A81DD2E00692297 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18F3BF651A81DD2E00692297 /* ViewController.swift */; };\n\t\t18F3BF811A81DD7800692297 /* Formatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55BE8BF319DF196300979D7F /* Formatter.swift */; };\n\t\t18F3BFF71A81E0C800692297 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F3BFF61A81E0C800692297 /* main.m */; };\n\t\t18F3BFFA1A81E0C800692297 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F3BFF91A81E0C800692297 /* AppDelegate.m */; };\n\t\t18F3BFFD1A81E0C800692297 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F3BFFC1A81E0C800692297 /* ViewController.m */; };\n\t\t18F3C0001A81E0C800692297 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 18F3BFFE1A81E0C800692297 /* Main.storyboard */; };\n\t\t18F3C0051A81E0C800692297 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 18F3C0031A81E0C800692297 /* LaunchScreen.xib */; };\n\t\t18F3C0181A81E14000692297 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CC192A0E0000AB7171 /* DDContextFilterLogFormatter.m */; };\n\t\t18F3C0191A81E14000692297 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CE192A0E0000AB7171 /* DDDispatchQueueLogFormatter.m */; };\n\t\t18F3C01A1A81E14000692297 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20D0192A0E0000AB7171 /* DDMultiFormatter.m */; };\n\t\t18F3C01B1A81E14E00692297 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20BE192A0E0000AB7171 /* DDAbstractDatabaseLogger.m */; };\n\t\t18F3C01C1A81E14E00692297 /* DDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C0192A0E0000AB7171 /* DDASLLogCapture.m */; };\n\t\t18F3C01D1A81E14E00692297 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C2192A0E0000AB7171 /* DDASLLogger.m */; };\n\t\t18F3C01E1A81E14E00692297 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C4192A0E0000AB7171 /* DDFileLogger.m */; };\n\t\t18F3C01F1A81E14E00692297 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C6192A0E0000AB7171 /* DDLog.m */; };\n\t\t18F3C0201A81E14E00692297 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C9192A0E0000AB7171 /* DDTTYLogger.m */; };\n\t\t18F3C0211A81E21600692297 /* libCocoaLumberjack.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3BFD71A81E06E00692297 /* libCocoaLumberjack.a */; };\n\t\t19190EF31B84DAED008D059E /* DDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CB192A0E0000AB7171 /* DDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EF41B84DAF2008D059E /* DDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA51994749300C180CF /* DDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EF51B84DAF8008D059E /* DDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20BF192A0E0000AB7171 /* DDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EF61B84DAFD008D059E /* DDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CD192A0E0000AB7171 /* DDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EF71B84DB02008D059E /* DDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C7192A0E0000AB7171 /* DDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EF81B84DB07008D059E /* DDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E58079621A032F92008819CA /* DDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EF91B84DB0D008D059E /* DDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20BD192A0E0000AB7171 /* DDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EFA1B84DB17008D059E /* DDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA61994749300C180CF /* DDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EFB1B84DB1C008D059E /* DDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C8192A0E0000AB7171 /* DDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EFC1B84DB21008D059E /* DDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C5192A0E0000AB7171 /* DDLog.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EFD1B84DB26008D059E /* DDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C1192A0E0000AB7171 /* DDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EFE1B84DB2C008D059E /* DDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CF192A0E0000AB7171 /* DDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190EFF1B84DB31008D059E /* CocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA41994749300C180CF /* CocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190F001B84DB36008D059E /* DDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C3192A0E0000AB7171 /* DDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190F011B84DB42008D059E /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C6192A0E0000AB7171 /* DDLog.m */; };\n\t\t19190F021B84DB45008D059E /* DDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C0192A0E0000AB7171 /* DDASLLogCapture.m */; };\n\t\t19190F031B84DB49008D059E /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CC192A0E0000AB7171 /* DDContextFilterLogFormatter.m */; };\n\t\t19190F041B84DB51008D059E /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CE192A0E0000AB7171 /* DDDispatchQueueLogFormatter.m */; };\n\t\t19190F051B84DB5C008D059E /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C4192A0E0000AB7171 /* DDFileLogger.m */; };\n\t\t19190F061B84DB61008D059E /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C9192A0E0000AB7171 /* DDTTYLogger.m */; };\n\t\t19190F071B84DB66008D059E /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20D0192A0E0000AB7171 /* DDMultiFormatter.m */; };\n\t\t19190F081B84DB6C008D059E /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20BE192A0E0000AB7171 /* DDAbstractDatabaseLogger.m */; };\n\t\t19190F091B84DB72008D059E /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C2192A0E0000AB7171 /* DDASLLogger.m */; };\n\t\t19190F0A1B84DB97008D059E /* CocoaLumberjackSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = 55F88BF71B3CB15C00E31255 /* CocoaLumberjackSwift.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19190F0B1B84DB9F008D059E /* CocoaLumberjack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55BCB5C619D4BB6E0096E784 /* CocoaLumberjack.swift */; };\n\t\t19190F0E1B84DBCE008D059E /* CocoaLumberjack.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 19190EDE1B84D812008D059E /* CocoaLumberjack.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\t19190F121B84DBCE008D059E /* CocoaLumberjackSwift.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 19190EEB1B84D826008D059E /* CocoaLumberjackSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\t19190F181B84DF5B008D059E /* CocoaLumberjackSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 19190EEB1B84D826008D059E /* CocoaLumberjackSwift.framework */; };\n\t\t19406BE41BDBABFF001194DC /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19406BE31BDBABFF001194DC /* AppDelegate.swift */; };\n\t\t19406BE61BDBABFF001194DC /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19406BE51BDBABFF001194DC /* ViewController.swift */; };\n\t\t19406BE91BDBABFF001194DC /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 19406BE71BDBABFF001194DC /* Main.storyboard */; };\n\t\t19406BF11BDBAC91001194DC /* Formatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19406BF01BDBAC91001194DC /* Formatter.swift */; };\n\t\t19406BF51BDBAD0F001194DC /* CocoaLumberjackSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 19D90B351BBFAA7500947169 /* CocoaLumberjackSwift.framework */; };\n\t\t19406BF71BDBAD17001194DC /* CocoaLumberjack.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 19D90B261BBFA9DB00947169 /* CocoaLumberjack.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\t19406BFB1BDBAD17001194DC /* CocoaLumberjackSwift.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 19D90B351BBFAA7500947169 /* CocoaLumberjackSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\t19D90B091BBFA9DB00947169 /* DDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CB192A0E0000AB7171 /* DDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B0A1BBFA9DB00947169 /* DDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA51994749300C180CF /* DDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B0B1BBFA9DB00947169 /* DDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20BF192A0E0000AB7171 /* DDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B0C1BBFA9DB00947169 /* DDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CD192A0E0000AB7171 /* DDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B0D1BBFA9DB00947169 /* DDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C7192A0E0000AB7171 /* DDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B0E1BBFA9DB00947169 /* DDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E58079621A032F92008819CA /* DDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B0F1BBFA9DB00947169 /* DDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20BD192A0E0000AB7171 /* DDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B101BBFA9DB00947169 /* DDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA61994749300C180CF /* DDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B111BBFA9DB00947169 /* DDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C8192A0E0000AB7171 /* DDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B121BBFA9DB00947169 /* DDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C5192A0E0000AB7171 /* DDLog.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B131BBFA9DB00947169 /* DDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C1192A0E0000AB7171 /* DDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B141BBFA9DB00947169 /* DDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CF192A0E0000AB7171 /* DDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B151BBFA9DB00947169 /* CocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA41994749300C180CF /* CocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B161BBFA9DB00947169 /* DDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C3192A0E0000AB7171 /* DDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B181BBFA9DB00947169 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C6192A0E0000AB7171 /* DDLog.m */; };\n\t\t19D90B191BBFA9DB00947169 /* DDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C0192A0E0000AB7171 /* DDASLLogCapture.m */; };\n\t\t19D90B1A1BBFA9DB00947169 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CC192A0E0000AB7171 /* DDContextFilterLogFormatter.m */; };\n\t\t19D90B1B1BBFA9DB00947169 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CE192A0E0000AB7171 /* DDDispatchQueueLogFormatter.m */; };\n\t\t19D90B1C1BBFA9DB00947169 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C4192A0E0000AB7171 /* DDFileLogger.m */; };\n\t\t19D90B1D1BBFA9DB00947169 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C9192A0E0000AB7171 /* DDTTYLogger.m */; };\n\t\t19D90B1E1BBFA9DB00947169 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20D0192A0E0000AB7171 /* DDMultiFormatter.m */; };\n\t\t19D90B1F1BBFA9DB00947169 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20BE192A0E0000AB7171 /* DDAbstractDatabaseLogger.m */; };\n\t\t19D90B201BBFA9DB00947169 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C2192A0E0000AB7171 /* DDASLLogger.m */; };\n\t\t19D90B2C1BBFAA7500947169 /* CocoaLumberjackSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = 55F88BF71B3CB15C00E31255 /* CocoaLumberjackSwift.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19D90B2E1BBFAA7500947169 /* CocoaLumberjack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55BCB5C619D4BB6E0096E784 /* CocoaLumberjack.swift */; };\n\t\t19EC146B1B84D134000EC2E7 /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 19EC14691B84D134000EC2E7 /* Interface.storyboard */; };\n\t\t19EC14741B84D135000EC2E7 /* watchOSSwiftTest Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 19EC14731B84D134000EC2E7 /* watchOSSwiftTest Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };\n\t\t19EC14791B84D135000EC2E7 /* InterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19EC14781B84D135000EC2E7 /* InterfaceController.swift */; };\n\t\t19EC147B1B84D135000EC2E7 /* ExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19EC147A1B84D135000EC2E7 /* ExtensionDelegate.swift */; };\n\t\t19EC14811B84D135000EC2E7 /* watchOSSwiftTest.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = 19EC14671B84D134000EC2E7 /* watchOSSwiftTest.app */; };\n\t\t19EC148D1B84D1DF000EC2E7 /* Formatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19EC148C1B84D1DF000EC2E7 /* Formatter.swift */; };\n\t\t19FF461D1B8B4E8200B43179 /* DDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C3192A0E0000AB7171 /* DDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF461E1B8B4E8400B43179 /* CocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA41994749300C180CF /* CocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF461F1B8B4E8800B43179 /* DDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CF192A0E0000AB7171 /* DDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46201B8B4E8D00B43179 /* DDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C1192A0E0000AB7171 /* DDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46211B8B4E9200B43179 /* DDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C5192A0E0000AB7171 /* DDLog.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46221B8B4E9700B43179 /* DDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C8192A0E0000AB7171 /* DDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46231B8B4EA100B43179 /* DDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA61994749300C180CF /* DDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46241B8B4EA400B43179 /* DDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20BD192A0E0000AB7171 /* DDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46251B8B4EA800B43179 /* DDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E58079621A032F92008819CA /* DDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46261B8B4EAB00B43179 /* DDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C7192A0E0000AB7171 /* DDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46271B8B4EB000B43179 /* DDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CD192A0E0000AB7171 /* DDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46281B8B4EB300B43179 /* DDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20BF192A0E0000AB7171 /* DDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46291B8B4EB700B43179 /* DDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA51994749300C180CF /* DDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF462A1B8B4EBA00B43179 /* DDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CB192A0E0000AB7171 /* DDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF462B1B8B4EC600B43179 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C2192A0E0000AB7171 /* DDASLLogger.m */; };\n\t\t19FF462C1B8B4ECA00B43179 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20BE192A0E0000AB7171 /* DDAbstractDatabaseLogger.m */; };\n\t\t19FF462D1B8B4ECE00B43179 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20D0192A0E0000AB7171 /* DDMultiFormatter.m */; };\n\t\t19FF462E1B8B4ED200B43179 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C9192A0E0000AB7171 /* DDTTYLogger.m */; };\n\t\t19FF462F1B8B4ED500B43179 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C4192A0E0000AB7171 /* DDFileLogger.m */; };\n\t\t19FF46301B8B4ED900B43179 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CE192A0E0000AB7171 /* DDDispatchQueueLogFormatter.m */; };\n\t\t19FF46311B8B4EDF00B43179 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CC192A0E0000AB7171 /* DDContextFilterLogFormatter.m */; };\n\t\t19FF46321B8B4EE500B43179 /* DDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C0192A0E0000AB7171 /* DDASLLogCapture.m */; };\n\t\t19FF46331B8B4EE800B43179 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C6192A0E0000AB7171 /* DDLog.m */; };\n\t\t19FF46341B8B4EF800B43179 /* CocoaLumberjackSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = 55F88BF71B3CB15C00E31255 /* CocoaLumberjackSwift.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t19FF46351B8B4F0700B43179 /* CocoaLumberjack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55BCB5C619D4BB6E0096E784 /* CocoaLumberjack.swift */; };\n\t\t19FF463D1B8B4F5100B43179 /* CocoaLumberjackSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 19FF460F1B8B4D1400B43179 /* CocoaLumberjackSwift.framework */; };\n\t\t19FF463E1B8B4F5900B43179 /* CocoaLumberjack.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 19FF46021B8B4CF400B43179 /* CocoaLumberjack.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\t19FF463F1B8B4F5900B43179 /* CocoaLumberjackSwift.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 19FF460F1B8B4D1400B43179 /* CocoaLumberjackSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\t5541B4161A5B5B9200A374A9 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5541B4151A5B5B9200A374A9 /* InfoPlist.strings */; };\n\t\t5541B4181A5B5C9A00A374A9 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5541B4171A5B5C9A00A374A9 /* MainMenu.xib */; };\n\t\t5541B41E1A5B62FD00A374A9 /* CocoaLumberjack.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DCB3185114EB418E001CFBEE /* CocoaLumberjack.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\t55C5F2891B1E39A700EBC776 /* CocoaLumberjackSwift.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3BF0F1A81D8B700692297 /* CocoaLumberjackSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };\n\t\t55CCBF0619BA679200957A39 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55CCBF0519BA679200957A39 /* AppDelegate.swift */; };\n\t\t55CCBF2019BA67CB00957A39 /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCB3185114EB418E001CFBEE /* CocoaLumberjack.framework */; };\n\t\t55F88BF81B3CB15C00E31255 /* CocoaLumberjackSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = 55F88BF71B3CB15C00E31255 /* CocoaLumberjackSwift.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t620EEE741BFA65CE00D1B9CB /* CocoaLumberjack.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = E5D89BA41994749300C180CF /* CocoaLumberjack.h */; };\n\t\t620EEE751BFA65CE00D1B9CB /* DDLogMacros.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = E5D89BA61994749300C180CF /* DDLogMacros.h */; };\n\t\t620EEE761BFA65CE00D1B9CB /* DDAssertMacros.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = E5D89BA51994749300C180CF /* DDAssertMacros.h */; };\n\t\t620EEE771BFA65CE00D1B9CB /* DDLegacyMacros.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = E58079621A032F92008819CA /* DDLegacyMacros.h */; };\n\t\t620EEE781BFA65CE00D1B9CB /* DDLog+LOGV.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20C7192A0E0000AB7171 /* DDLog+LOGV.h */; };\n\t\t620EEE791BFA65CE00D1B9CB /* DDAbstractDatabaseLogger.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20BD192A0E0000AB7171 /* DDAbstractDatabaseLogger.h */; };\n\t\t620EEE7A1BFA65CE00D1B9CB /* DDASLLogCapture.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20BF192A0E0000AB7171 /* DDASLLogCapture.h */; };\n\t\t620EEE7B1BFA65CE00D1B9CB /* DDASLLogger.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20C1192A0E0000AB7171 /* DDASLLogger.h */; };\n\t\t620EEE7C1BFA65CE00D1B9CB /* DDFileLogger.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20C3192A0E0000AB7171 /* DDFileLogger.h */; };\n\t\t620EEE7D1BFA65CE00D1B9CB /* DDLog.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20C5192A0E0000AB7171 /* DDLog.h */; };\n\t\t620EEE7E1BFA65CE00D1B9CB /* DDTTYLogger.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20C8192A0E0000AB7171 /* DDTTYLogger.h */; };\n\t\t620EEE7F1BFA65CE00D1B9CB /* DDContextFilterLogFormatter.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20CB192A0E0000AB7171 /* DDContextFilterLogFormatter.h */; };\n\t\t620EEE801BFA65CE00D1B9CB /* DDDispatchQueueLogFormatter.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20CD192A0E0000AB7171 /* DDDispatchQueueLogFormatter.h */; };\n\t\t620EEE811BFA65CE00D1B9CB /* DDMultiFormatter.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DA9C20CF192A0E0000AB7171 /* DDMultiFormatter.h */; };\n\t\t93483CFC1D09E39000AD40D6 /* CLIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 93483CFA1D09E39000AD40D6 /* CLIColor.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t93483CFD1D09E39000AD40D6 /* CLIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 93483CFB1D09E39000AD40D6 /* CLIColor.m */; };\n\t\tC72CB9821FBF27EE009AEE6B /* DDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DD4738831E7168A400F1A4F5 /* DDOSLogger.m */; };\n\t\tC72CB9831FBF27EF009AEE6B /* DDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DD4738831E7168A400F1A4F5 /* DDOSLogger.m */; };\n\t\tC72CB9841FBF27F0009AEE6B /* DDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DD4738831E7168A400F1A4F5 /* DDOSLogger.m */; };\n\t\tC72CB9851FBF27F1009AEE6B /* DDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DD4738831E7168A400F1A4F5 /* DDOSLogger.m */; };\n\t\tC7D056731E1A58EA000E6591 /* CocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA41994749300C180CF /* CocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20D1192A0E0000AB7171 /* DDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20BD192A0E0000AB7171 /* DDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20D2192A0E0000AB7171 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20BE192A0E0000AB7171 /* DDAbstractDatabaseLogger.m */; };\n\t\tDA9C20D3192A0E0000AB7171 /* DDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20BF192A0E0000AB7171 /* DDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20D4192A0E0000AB7171 /* DDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C0192A0E0000AB7171 /* DDASLLogCapture.m */; };\n\t\tDA9C20D5192A0E0000AB7171 /* DDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C1192A0E0000AB7171 /* DDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20D6192A0E0000AB7171 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C2192A0E0000AB7171 /* DDASLLogger.m */; };\n\t\tDA9C20D7192A0E0000AB7171 /* DDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C3192A0E0000AB7171 /* DDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20D8192A0E0000AB7171 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C4192A0E0000AB7171 /* DDFileLogger.m */; };\n\t\tDA9C20D9192A0E0000AB7171 /* DDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C5192A0E0000AB7171 /* DDLog.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20DA192A0E0000AB7171 /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C6192A0E0000AB7171 /* DDLog.m */; };\n\t\tDA9C20DB192A0E0000AB7171 /* DDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C7192A0E0000AB7171 /* DDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20DC192A0E0000AB7171 /* DDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20C8192A0E0000AB7171 /* DDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20DD192A0E0000AB7171 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20C9192A0E0000AB7171 /* DDTTYLogger.m */; };\n\t\tDA9C20DE192A0E0000AB7171 /* DDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CB192A0E0000AB7171 /* DDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20DF192A0E0000AB7171 /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CC192A0E0000AB7171 /* DDContextFilterLogFormatter.m */; };\n\t\tDA9C20E0192A0E0000AB7171 /* DDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CD192A0E0000AB7171 /* DDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20E1192A0E0000AB7171 /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20CE192A0E0000AB7171 /* DDDispatchQueueLogFormatter.m */; };\n\t\tDA9C20E2192A0E0000AB7171 /* DDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA9C20CF192A0E0000AB7171 /* DDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDA9C20E3192A0E0000AB7171 /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9C20D0192A0E0000AB7171 /* DDMultiFormatter.m */; };\n\t\tDCB318D214ED6C3B001CFBEE /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = DCB318D014ED6C3B001CFBEE /* InfoPlist.strings */; };\n\t\tDCB318D414ED6C3B001CFBEE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DCB318D314ED6C3B001CFBEE /* main.m */; };\n\t\tDCB318D814ED6C3B001CFBEE /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = DCB318D614ED6C3B001CFBEE /* Credits.rtf */; };\n\t\tDCB318DB14ED6C3B001CFBEE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DCB318DA14ED6C3B001CFBEE /* AppDelegate.m */; };\n\t\tDCB318DE14ED6C3B001CFBEE /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = DCB318DC14ED6C3B001CFBEE /* MainMenu.xib */; };\n\t\tDD4738841E7168A400F1A4F5 /* DDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DD4738831E7168A400F1A4F5 /* DDOSLogger.m */; };\n\t\tDD4738851E71A14400F1A4F5 /* DDOSLogger.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DD4738821E7168A400F1A4F5 /* DDOSLogger.h */; };\n\t\tDDBE6E861E73ED10003F093F /* DDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DD4738821E7168A400F1A4F5 /* DDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDDBE6E871E73ED11003F093F /* DDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DD4738821E7168A400F1A4F5 /* DDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDDBE6E881E73ED12003F093F /* DDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DD4738821E7168A400F1A4F5 /* DDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tDDBE6E891E73ED12003F093F /* DDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = DD4738821E7168A400F1A4F5 /* DDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tE43636411F2F0D7100BE80CF /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 19FF46021B8B4CF400B43179 /* CocoaLumberjack.framework */; };\n\t\tE58079631A032F92008819CA /* DDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E58079621A032F92008819CA /* DDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tE5D89BA81994749300C180CF /* DDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA51994749300C180CF /* DDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tE5D89BA91994749300C180CF /* DDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = E5D89BA61994749300C180CF /* DDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tE5D89BAD199494B600C180CF /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DCB3185114EB418E001CFBEE /* CocoaLumberjack.framework */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t19190F131B84DBCE008D059E /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 19190EEA1B84D826008D059E;\n\t\t\tremoteInfo = \"CocoaLumberjackSwift-watchOS\";\n\t\t};\n\t\t19406BF31BDBACFD001194DC /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 19D90B281BBFAA7500947169;\n\t\t\tremoteInfo = \"CocoaLumberjackSwift-tvOS\";\n\t\t};\n\t\t19406BF81BDBAD17001194DC /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 19D90B071BBFA9DB00947169;\n\t\t\tremoteInfo = \"CocoaLumberjack-tvOS\";\n\t\t};\n\t\t19EC14751B84D135000EC2E7 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 19EC14721B84D134000EC2E7;\n\t\t\tremoteInfo = \"watchOSSwiftTest Extension\";\n\t\t};\n\t\t19EC147F1B84D135000EC2E7 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 19EC14661B84D134000EC2E7;\n\t\t\tremoteInfo = watchOSSwiftTest;\n\t\t};\n\t\t19FF463B1B8B4F4100B43179 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 19FF460E1B8B4D1400B43179;\n\t\t\tremoteInfo = \"CocoaLumberjackSwift-iOS\";\n\t\t};\n\t\t55C5F2871B1E399100EBC776 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 18F3BEF61A81D8B700692297;\n\t\t\tremoteInfo = CocoaLumberjackSwift;\n\t\t};\n\t\tC7D056741E1A5A2C000E6591 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 19FF46011B8B4CF400B43179;\n\t\t\tremoteInfo = \"CocoaLumberjack-iOS\";\n\t\t};\n\t\tC7D056761E1A5A3A000E6591 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = DCB3185014EB418E001CFBEE;\n\t\t\tremoteInfo = \"CocoaLumberjack-macOS\";\n\t\t};\n\t\tC7D056781E1A5A4D000E6591 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 19D90B071BBFA9DB00947169;\n\t\t\tremoteInfo = \"CocoaLumberjack-tvOS\";\n\t\t};\n\t\tC7D0567A1E1A5A54000E6591 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 19190EDD1B84D812008D059E;\n\t\t\tremoteInfo = \"CocoaLumberjack-watchOS\";\n\t\t};\n\t\tDCB318E214ED6C43001CFBEE /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = DCB3184714EB418D001CFBEE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = DCB3185014EB418E001CFBEE;\n\t\t\tremoteInfo = Lumberjack;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\t18F3BFD21A81DFEC00692297 /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t\t19FF463E1B8B4F5900B43179 /* CocoaLumberjack.framework in Embed Frameworks */,\n\t\t\t\t19FF463F1B8B4F5900B43179 /* CocoaLumberjackSwift.framework in Embed Frameworks */,\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t18F3BFD51A81E06E00692297 /* CopyFiles */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"include/$(PRODUCT_NAME)\";\n\t\t\tdstSubfolderSpec = 16;\n\t\t\tfiles = (\n\t\t\t\tDD4738851E71A14400F1A4F5 /* DDOSLogger.h in CopyFiles */,\n\t\t\t\t620EEE741BFA65CE00D1B9CB /* CocoaLumberjack.h in CopyFiles */,\n\t\t\t\t620EEE751BFA65CE00D1B9CB /* DDLogMacros.h in CopyFiles */,\n\t\t\t\t620EEE761BFA65CE00D1B9CB /* DDAssertMacros.h in CopyFiles */,\n\t\t\t\t620EEE771BFA65CE00D1B9CB /* DDLegacyMacros.h in CopyFiles */,\n\t\t\t\t620EEE781BFA65CE00D1B9CB /* DDLog+LOGV.h in CopyFiles */,\n\t\t\t\t620EEE791BFA65CE00D1B9CB /* DDAbstractDatabaseLogger.h in CopyFiles */,\n\t\t\t\t620EEE7A1BFA65CE00D1B9CB /* DDASLLogCapture.h in CopyFiles */,\n\t\t\t\t620EEE7B1BFA65CE00D1B9CB /* DDASLLogger.h in CopyFiles */,\n\t\t\t\t620EEE7C1BFA65CE00D1B9CB /* DDFileLogger.h in CopyFiles */,\n\t\t\t\t620EEE7D1BFA65CE00D1B9CB /* DDLog.h in CopyFiles */,\n\t\t\t\t620EEE7E1BFA65CE00D1B9CB /* DDTTYLogger.h in CopyFiles */,\n\t\t\t\t620EEE7F1BFA65CE00D1B9CB /* DDContextFilterLogFormatter.h in CopyFiles */,\n\t\t\t\t620EEE801BFA65CE00D1B9CB /* DDDispatchQueueLogFormatter.h in CopyFiles */,\n\t\t\t\t620EEE811BFA65CE00D1B9CB /* DDMultiFormatter.h in CopyFiles */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19190F151B84DBCE008D059E /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t\t19190F121B84DBCE008D059E /* CocoaLumberjackSwift.framework in Embed Frameworks */,\n\t\t\t\t19190F0E1B84DBCE008D059E /* CocoaLumberjack.framework in Embed Frameworks */,\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19406BFC1BDBAD17001194DC /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t\t19406BFB1BDBAD17001194DC /* CocoaLumberjackSwift.framework in Embed Frameworks */,\n\t\t\t\t19406BF71BDBAD17001194DC /* CocoaLumberjack.framework in Embed Frameworks */,\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19EC14871B84D135000EC2E7 /* Embed App Extensions */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 13;\n\t\t\tfiles = (\n\t\t\t\t19EC14741B84D135000EC2E7 /* watchOSSwiftTest Extension.appex in Embed App Extensions */,\n\t\t\t);\n\t\t\tname = \"Embed App Extensions\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19EC14891B84D135000EC2E7 /* Embed Watch Content */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"$(CONTENTS_FOLDER_PATH)/Watch\";\n\t\t\tdstSubfolderSpec = 16;\n\t\t\tfiles = (\n\t\t\t\t19EC14811B84D135000EC2E7 /* watchOSSwiftTest.app in Embed Watch Content */,\n\t\t\t);\n\t\t\tname = \"Embed Watch Content\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t5541B41D1A5B62EB00A374A9 /* Embed Frameworks */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 10;\n\t\t\tfiles = (\n\t\t\t\t55C5F2891B1E39A700EBC776 /* CocoaLumberjackSwift.framework in Embed Frameworks */,\n\t\t\t\t5541B41E1A5B62FD00A374A9 /* CocoaLumberjack.framework in Embed Frameworks */,\n\t\t\t);\n\t\t\tname = \"Embed Frameworks\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\t18F3BF0F1A81D8B700692297 /* CocoaLumberjackSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjackSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t18F3BF151A81D9A400692297 /* CocoaLumberjack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CocoaLumberjack.h; sourceTree = \"<group>\"; };\n\t\t18F3BF5F1A81DD2E00692297 /* iOSSwiftTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOSSwiftTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t18F3BF621A81DD2E00692297 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t18F3BF631A81DD2E00692297 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\t18F3BF651A81DD2E00692297 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = \"<group>\"; };\n\t\t18F3BFD71A81E06E00692297 /* libCocoaLumberjack.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCocoaLumberjack.a; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t18F3BFF21A81E0C700692297 /* iOSLibStaticTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOSLibStaticTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t18F3BFF51A81E0C800692297 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t18F3BFF61A81E0C800692297 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\t18F3BFF81A81E0C800692297 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\t18F3BFF91A81E0C800692297 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\t18F3BFFB1A81E0C800692297 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = \"<group>\"; };\n\t\t18F3BFFC1A81E0C800692297 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = \"<group>\"; };\n\t\t18F3BFFF1A81E0C800692297 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\t18F3C0041A81E0C800692297 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = \"<group>\"; };\n\t\t19190EDE1B84D812008D059E /* CocoaLumberjack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjack.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t19190EEB1B84D826008D059E /* CocoaLumberjackSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjackSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t19406BE11BDBABFF001194DC /* tvOSSwiftTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tvOSSwiftTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t19406BE31BDBABFF001194DC /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\t19406BE51BDBABFF001194DC /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = \"<group>\"; };\n\t\t19406BE81BDBABFF001194DC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\t19406BEC1BDBABFF001194DC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t19406BF01BDBAC91001194DC /* Formatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Formatter.swift; sourceTree = \"<group>\"; };\n\t\t19D90B261BBFA9DB00947169 /* CocoaLumberjack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjack.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t19D90B351BBFAA7500947169 /* CocoaLumberjackSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjackSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t19EC14671B84D134000EC2E7 /* watchOSSwiftTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = watchOSSwiftTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t19EC146A1B84D134000EC2E7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = \"<group>\"; };\n\t\t19EC146E1B84D134000EC2E7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t19EC14731B84D134000EC2E7 /* watchOSSwiftTest Extension.appex */ = {isa = PBXFileReference; explicitFileType = \"wrapper.app-extension\"; includeInIndex = 0; path = \"watchOSSwiftTest Extension.appex\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t19EC14781B84D135000EC2E7 /* InterfaceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InterfaceController.swift; sourceTree = \"<group>\"; };\n\t\t19EC147A1B84D135000EC2E7 /* ExtensionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionDelegate.swift; sourceTree = \"<group>\"; };\n\t\t19EC147E1B84D135000EC2E7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t19EC148C1B84D1DF000EC2E7 /* Formatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Formatter.swift; sourceTree = \"<group>\"; };\n\t\t19FF46021B8B4CF400B43179 /* CocoaLumberjack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjack.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t19FF460F1B8B4D1400B43179 /* CocoaLumberjackSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjackSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t5541B4151A5B5B9200A374A9 /* InfoPlist.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\t5541B4171A5B5C9A00A374A9 /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = \"<group>\"; };\n\t\t555E014A19FACB600063F058 /* CocoaLumberjack.modulemap */ = {isa = PBXFileReference; lastKnownFileType = \"sourcecode.module-map\"; path = CocoaLumberjack.modulemap; sourceTree = \"<group>\"; usesTabs = 1; };\n\t\t55BCB5C619D4BB6E0096E784 /* CocoaLumberjack.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CocoaLumberjack.swift; sourceTree = \"<group>\"; };\n\t\t55BE8BF319DF196300979D7F /* Formatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Formatter.swift; sourceTree = \"<group>\"; };\n\t\t55CCBEFF19BA679200957A39 /* SwiftTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t55CCBF0219BA679200957A39 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t55CCBF0519BA679200957A39 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\t55F88BF71B3CB15C00E31255 /* CocoaLumberjackSwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CocoaLumberjackSwift.h; sourceTree = \"<group>\"; };\n\t\t93483CFA1D09E39000AD40D6 /* CLIColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CLIColor.h; path = CLI/CLIColor.h; sourceTree = \"<group>\"; };\n\t\t93483CFB1D09E39000AD40D6 /* CLIColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CLIColor.m; path = CLI/CLIColor.m; sourceTree = \"<group>\"; };\n\t\tDA9C20BD192A0E0000AB7171 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAbstractDatabaseLogger.h; sourceTree = \"<group>\"; };\n\t\tDA9C20BE192A0E0000AB7171 /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDAbstractDatabaseLogger.m; sourceTree = \"<group>\"; };\n\t\tDA9C20BF192A0E0000AB7171 /* DDASLLogCapture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogCapture.h; sourceTree = \"<group>\"; };\n\t\tDA9C20C0192A0E0000AB7171 /* DDASLLogCapture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogCapture.m; sourceTree = \"<group>\"; };\n\t\tDA9C20C1192A0E0000AB7171 /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDASLLogger.h; sourceTree = \"<group>\"; };\n\t\tDA9C20C2192A0E0000AB7171 /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDASLLogger.m; sourceTree = \"<group>\"; };\n\t\tDA9C20C3192A0E0000AB7171 /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDFileLogger.h; sourceTree = \"<group>\"; };\n\t\tDA9C20C4192A0E0000AB7171 /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDFileLogger.m; sourceTree = \"<group>\"; };\n\t\tDA9C20C5192A0E0000AB7171 /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLog.h; sourceTree = \"<group>\"; };\n\t\tDA9C20C6192A0E0000AB7171 /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLog.m; sourceTree = \"<group>\"; };\n\t\tDA9C20C7192A0E0000AB7171 /* DDLog+LOGV.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"DDLog+LOGV.h\"; sourceTree = \"<group>\"; };\n\t\tDA9C20C8192A0E0000AB7171 /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDTTYLogger.h; sourceTree = \"<group>\"; };\n\t\tDA9C20C9192A0E0000AB7171 /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDTTYLogger.m; sourceTree = \"<group>\"; };\n\t\tDA9C20CB192A0E0000AB7171 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = \"<group>\"; };\n\t\tDA9C20CC192A0E0000AB7171 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = \"<group>\"; };\n\t\tDA9C20CD192A0E0000AB7171 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = \"<group>\"; };\n\t\tDA9C20CE192A0E0000AB7171 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = \"<group>\"; };\n\t\tDA9C20CF192A0E0000AB7171 /* DDMultiFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDMultiFormatter.h; sourceTree = \"<group>\"; };\n\t\tDA9C20D0192A0E0000AB7171 /* DDMultiFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDMultiFormatter.m; sourceTree = \"<group>\"; };\n\t\tDCB3185114EB418E001CFBEE /* CocoaLumberjack.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaLumberjack.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCB3185914EB418E001CFBEE /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };\n\t\tDCB3185C14EB418E001CFBEE /* CocoaLumberjack-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"CocoaLumberjack-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDCB3186014EB418E001CFBEE /* CocoaLumberjack-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"CocoaLumberjack-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDCB318CA14ED6C3B001CFBEE /* FmwkTest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FmwkTest.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tDCB318CF14ED6C3B001CFBEE /* FmwkTest-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"FmwkTest-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tDCB318D114ED6C3B001CFBEE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = \"<group>\"; };\n\t\tDCB318D314ED6C3B001CFBEE /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = \"<group>\"; };\n\t\tDCB318D514ED6C3B001CFBEE /* FmwkTest-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"FmwkTest-Prefix.pch\"; sourceTree = \"<group>\"; };\n\t\tDCB318D714ED6C3B001CFBEE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = \"<group>\"; };\n\t\tDCB318D914ED6C3B001CFBEE /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = \"<group>\"; };\n\t\tDCB318DA14ED6C3B001CFBEE /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = \"<group>\"; };\n\t\tDCB318DD14ED6C3B001CFBEE /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = \"<group>\"; };\n\t\tDD4738821E7168A400F1A4F5 /* DDOSLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDOSLogger.h; sourceTree = \"<group>\"; };\n\t\tDD4738831E7168A400F1A4F5 /* DDOSLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDOSLogger.m; sourceTree = \"<group>\"; };\n\t\tE58078F91A01C92F008819CA /* CocoaLumberjackSwift-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"CocoaLumberjackSwift-Info.plist\"; sourceTree = \"<group>\"; };\n\t\tE58079621A032F92008819CA /* DDLegacyMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLegacyMacros.h; sourceTree = \"<group>\"; };\n\t\tE5D89BA41994749300C180CF /* CocoaLumberjack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CocoaLumberjack.h; sourceTree = \"<group>\"; };\n\t\tE5D89BA51994749300C180CF /* DDAssertMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDAssertMacros.h; sourceTree = \"<group>\"; };\n\t\tE5D89BA61994749300C180CF /* DDLogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDLogMacros.h; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t18F3BF091A81D8B700692297 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t07CA82901F90E89000FF0F17 /* CocoaLumberjack.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t18F3BF5C1A81DD2E00692297 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19FF463D1B8B4F5100B43179 /* CocoaLumberjackSwift.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t18F3BFD41A81E06E00692297 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t18F3BFEF1A81E0C700692297 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t18F3C0211A81E21600692297 /* libCocoaLumberjack.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19190EDA1B84D812008D059E /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19190EE71B84D826008D059E /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t07CA82921F90E8A800FF0F17 /* CocoaLumberjack.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19406BDE1BDBABFF001194DC /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19406BF51BDBAD0F001194DC /* CocoaLumberjackSwift.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19D90B211BBFA9DB00947169 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19D90B2F1BBFAA7500947169 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t07CA82911F90E89C00FF0F17 /* CocoaLumberjack.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19EC14701B84D134000EC2E7 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19190F181B84DF5B008D059E /* CocoaLumberjackSwift.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19FF45FE1B8B4CF400B43179 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19FF460B1B8B4D1400B43179 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE43636411F2F0D7100BE80CF /* CocoaLumberjack.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t55CCBEFC19BA679200957A39 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t55CCBF2019BA67CB00957A39 /* CocoaLumberjack.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDCB3184D14EB418E001CFBEE /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDCB318C714ED6C3B001CFBEE /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE5D89BAD199494B600C180CF /* CocoaLumberjack.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t18F3BF601A81DD2E00692297 /* iOSSwiftTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t55BE8BF319DF196300979D7F /* Formatter.swift */,\n\t\t\t\t18F3BF631A81DD2E00692297 /* AppDelegate.swift */,\n\t\t\t\t18F3BF651A81DD2E00692297 /* ViewController.swift */,\n\t\t\t\t18F3BF611A81DD2E00692297 /* Supporting Files */,\n\t\t\t);\n\t\t\tname = iOSSwiftTest;\n\t\t\tpath = Framework/iOSSwift;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t18F3BF611A81DD2E00692297 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t18F3BF621A81DD2E00692297 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t18F3BFF31A81E0C800692297 /* iOSLibStaticTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t18F3BFF81A81E0C800692297 /* AppDelegate.h */,\n\t\t\t\t18F3BFF91A81E0C800692297 /* AppDelegate.m */,\n\t\t\t\t18F3BFFB1A81E0C800692297 /* ViewController.h */,\n\t\t\t\t18F3BFFC1A81E0C800692297 /* ViewController.m */,\n\t\t\t\t18F3BFFE1A81E0C800692297 /* Main.storyboard */,\n\t\t\t\t18F3C0031A81E0C800692297 /* LaunchScreen.xib */,\n\t\t\t\t18F3BFF41A81E0C800692297 /* Supporting Files */,\n\t\t\t);\n\t\t\tname = iOSLibStaticTest;\n\t\t\tpath = Framework/iOSLibStaticTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t18F3BFF41A81E0C800692297 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t18F3BFF51A81E0C800692297 /* Info.plist */,\n\t\t\t\t18F3BFF61A81E0C800692297 /* main.m */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19406BE21BDBABFF001194DC /* tvOSSwiftTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t19406BF01BDBAC91001194DC /* Formatter.swift */,\n\t\t\t\t19406BE31BDBABFF001194DC /* AppDelegate.swift */,\n\t\t\t\t19406BE51BDBABFF001194DC /* ViewController.swift */,\n\t\t\t\t19406BE71BDBABFF001194DC /* Main.storyboard */,\n\t\t\t\t19406BEC1BDBABFF001194DC /* Info.plist */,\n\t\t\t);\n\t\t\tname = tvOSSwiftTest;\n\t\t\tpath = Framework/tvOSSwiftTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19EC14681B84D134000EC2E7 /* watchOSSwiftTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t19EC14691B84D134000EC2E7 /* Interface.storyboard */,\n\t\t\t\t19EC146E1B84D134000EC2E7 /* Info.plist */,\n\t\t\t);\n\t\t\tname = watchOSSwiftTest;\n\t\t\tpath = Framework/watchOSSwiftTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19EC14771B84D135000EC2E7 /* watchOSSwiftTest Extension */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t19EC148C1B84D1DF000EC2E7 /* Formatter.swift */,\n\t\t\t\t19EC14781B84D135000EC2E7 /* InterfaceController.swift */,\n\t\t\t\t19EC147A1B84D135000EC2E7 /* ExtensionDelegate.swift */,\n\t\t\t\t19EC147E1B84D135000EC2E7 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"watchOSSwiftTest Extension\";\n\t\t\tpath = \"Framework/watchOSSwiftTest Extension\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t55CCBF0019BA679200957A39 /* SwiftTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t55CCBF0519BA679200957A39 /* AppDelegate.swift */,\n\t\t\t\t55CCBF0119BA679200957A39 /* Supporting Files */,\n\t\t\t);\n\t\t\tname = SwiftTest;\n\t\t\tpath = Framework/SwiftTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t55CCBF0119BA679200957A39 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t55CCBF0219BA679200957A39 /* Info.plist */,\n\t\t\t\t5541B4151A5B5B9200A374A9 /* InfoPlist.strings */,\n\t\t\t\t5541B4171A5B5C9A00A374A9 /* MainMenu.xib */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDA9C20CA192A0E0000AB7171 /* Extensions */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDA9C20CB192A0E0000AB7171 /* DDContextFilterLogFormatter.h */,\n\t\t\t\tDA9C20CC192A0E0000AB7171 /* DDContextFilterLogFormatter.m */,\n\t\t\t\tDA9C20CD192A0E0000AB7171 /* DDDispatchQueueLogFormatter.h */,\n\t\t\t\tDA9C20CE192A0E0000AB7171 /* DDDispatchQueueLogFormatter.m */,\n\t\t\t\tDA9C20CF192A0E0000AB7171 /* DDMultiFormatter.h */,\n\t\t\t\tDA9C20D0192A0E0000AB7171 /* DDMultiFormatter.m */,\n\t\t\t);\n\t\t\tpath = Extensions;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB3184514EB418D001CFBEE = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCB3185A14EB418E001CFBEE /* Lumberjack */,\n\t\t\t\tDCB3185B14EB418E001CFBEE /* Supporting Files */,\n\t\t\t\tDCB318CD14ED6C3B001CFBEE /* FmwkTest */,\n\t\t\t\t55CCBF0019BA679200957A39 /* SwiftTest */,\n\t\t\t\t18F3BF601A81DD2E00692297 /* iOSSwiftTest */,\n\t\t\t\t19EC14681B84D134000EC2E7 /* watchOSSwiftTest */,\n\t\t\t\t19EC14771B84D135000EC2E7 /* watchOSSwiftTest Extension */,\n\t\t\t\t19406BE21BDBABFF001194DC /* tvOSSwiftTest */,\n\t\t\t\t18F3BFF31A81E0C800692297 /* iOSLibStaticTest */,\n\t\t\t\tDCB3185314EB418E001CFBEE /* Frameworks */,\n\t\t\t\tDCB3185214EB418E001CFBEE /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t\tusesTabs = 0;\n\t\t};\n\t\tDCB3185214EB418E001CFBEE /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCB3185114EB418E001CFBEE /* CocoaLumberjack.framework */,\n\t\t\t\tDCB318CA14ED6C3B001CFBEE /* FmwkTest.app */,\n\t\t\t\t55CCBEFF19BA679200957A39 /* SwiftTest.app */,\n\t\t\t\t18F3BF0F1A81D8B700692297 /* CocoaLumberjackSwift.framework */,\n\t\t\t\t18F3BF5F1A81DD2E00692297 /* iOSSwiftTest.app */,\n\t\t\t\t18F3BFD71A81E06E00692297 /* libCocoaLumberjack.a */,\n\t\t\t\t18F3BFF21A81E0C700692297 /* iOSLibStaticTest.app */,\n\t\t\t\t19EC14671B84D134000EC2E7 /* watchOSSwiftTest.app */,\n\t\t\t\t19EC14731B84D134000EC2E7 /* watchOSSwiftTest Extension.appex */,\n\t\t\t\t19190EDE1B84D812008D059E /* CocoaLumberjack.framework */,\n\t\t\t\t19190EEB1B84D826008D059E /* CocoaLumberjackSwift.framework */,\n\t\t\t\t19FF46021B8B4CF400B43179 /* CocoaLumberjack.framework */,\n\t\t\t\t19FF460F1B8B4D1400B43179 /* CocoaLumberjackSwift.framework */,\n\t\t\t\t19D90B261BBFA9DB00947169 /* CocoaLumberjack.framework */,\n\t\t\t\t19D90B351BBFAA7500947169 /* CocoaLumberjackSwift.framework */,\n\t\t\t\t19406BE11BDBABFF001194DC /* tvOSSwiftTest.app */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB3185314EB418E001CFBEE /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCB3185614EB418E001CFBEE /* Other Frameworks */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB3185614EB418E001CFBEE /* Other Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCB3185914EB418E001CFBEE /* Foundation.framework */,\n\t\t\t);\n\t\t\tname = \"Other Frameworks\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB3185A14EB418E001CFBEE /* Lumberjack */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tE5D89BA41994749300C180CF /* CocoaLumberjack.h */,\n\t\t\t\t55BCB5C619D4BB6E0096E784 /* CocoaLumberjack.swift */,\n\t\t\t\tE5D89BA61994749300C180CF /* DDLogMacros.h */,\n\t\t\t\tE5D89BA51994749300C180CF /* DDAssertMacros.h */,\n\t\t\t\tE58079621A032F92008819CA /* DDLegacyMacros.h */,\n\t\t\t\tDA9C20C7192A0E0000AB7171 /* DDLog+LOGV.h */,\n\t\t\t\tDA9C20BD192A0E0000AB7171 /* DDAbstractDatabaseLogger.h */,\n\t\t\t\tDA9C20BE192A0E0000AB7171 /* DDAbstractDatabaseLogger.m */,\n\t\t\t\tDA9C20BF192A0E0000AB7171 /* DDASLLogCapture.h */,\n\t\t\t\tDA9C20C0192A0E0000AB7171 /* DDASLLogCapture.m */,\n\t\t\t\tDA9C20C1192A0E0000AB7171 /* DDASLLogger.h */,\n\t\t\t\tDA9C20C2192A0E0000AB7171 /* DDASLLogger.m */,\n\t\t\t\tDA9C20C3192A0E0000AB7171 /* DDFileLogger.h */,\n\t\t\t\tDA9C20C4192A0E0000AB7171 /* DDFileLogger.m */,\n\t\t\t\tDA9C20C5192A0E0000AB7171 /* DDLog.h */,\n\t\t\t\tDA9C20C6192A0E0000AB7171 /* DDLog.m */,\n\t\t\t\tDD4738821E7168A400F1A4F5 /* DDOSLogger.h */,\n\t\t\t\tDD4738831E7168A400F1A4F5 /* DDOSLogger.m */,\n\t\t\t\tDA9C20C8192A0E0000AB7171 /* DDTTYLogger.h */,\n\t\t\t\tDA9C20C9192A0E0000AB7171 /* DDTTYLogger.m */,\n\t\t\t\t93483CFA1D09E39000AD40D6 /* CLIColor.h */,\n\t\t\t\t93483CFB1D09E39000AD40D6 /* CLIColor.m */,\n\t\t\t\tDA9C20CA192A0E0000AB7171 /* Extensions */,\n\t\t\t);\n\t\t\tname = Lumberjack;\n\t\t\tpath = Classes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB3185B14EB418E001CFBEE /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t18F3BF151A81D9A400692297 /* CocoaLumberjack.h */,\n\t\t\t\tDCB3185C14EB418E001CFBEE /* CocoaLumberjack-Info.plist */,\n\t\t\t\t555E014A19FACB600063F058 /* CocoaLumberjack.modulemap */,\n\t\t\t\tDCB3186014EB418E001CFBEE /* CocoaLumberjack-Prefix.pch */,\n\t\t\t\tE58078F91A01C92F008819CA /* CocoaLumberjackSwift-Info.plist */,\n\t\t\t\t55F88BF71B3CB15C00E31255 /* CocoaLumberjackSwift.h */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tpath = Framework/Lumberjack;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB318CD14ED6C3B001CFBEE /* FmwkTest */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCB318D914ED6C3B001CFBEE /* AppDelegate.h */,\n\t\t\t\tDCB318DA14ED6C3B001CFBEE /* AppDelegate.m */,\n\t\t\t\tDCB318DC14ED6C3B001CFBEE /* MainMenu.xib */,\n\t\t\t\tDCB318CE14ED6C3B001CFBEE /* Supporting Files */,\n\t\t\t);\n\t\t\tname = FmwkTest;\n\t\t\tpath = Framework/FmwkTest;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB318CE14ED6C3B001CFBEE /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDCB318CF14ED6C3B001CFBEE /* FmwkTest-Info.plist */,\n\t\t\t\tDCB318D014ED6C3B001CFBEE /* InfoPlist.strings */,\n\t\t\t\tDCB318D314ED6C3B001CFBEE /* main.m */,\n\t\t\t\tDCB318D514ED6C3B001CFBEE /* FmwkTest-Prefix.pch */,\n\t\t\t\tDCB318D614ED6C3B001CFBEE /* Credits.rtf */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t18F3BEF91A81D8B700692297 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t55F88BF81B3CB15C00E31255 /* CocoaLumberjackSwift.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19190EDB1B84D812008D059E /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19190EF31B84DAED008D059E /* DDContextFilterLogFormatter.h in Headers */,\n\t\t\t\t19190EF41B84DAF2008D059E /* DDAssertMacros.h in Headers */,\n\t\t\t\t19190EF51B84DAF8008D059E /* DDASLLogCapture.h in Headers */,\n\t\t\t\t19190EF61B84DAFD008D059E /* DDDispatchQueueLogFormatter.h in Headers */,\n\t\t\t\t19190EF71B84DB02008D059E /* DDLog+LOGV.h in Headers */,\n\t\t\t\t19190EF81B84DB07008D059E /* DDLegacyMacros.h in Headers */,\n\t\t\t\t19190EF91B84DB0D008D059E /* DDAbstractDatabaseLogger.h in Headers */,\n\t\t\t\t19190EFA1B84DB17008D059E /* DDLogMacros.h in Headers */,\n\t\t\t\t19190EFB1B84DB1C008D059E /* DDTTYLogger.h in Headers */,\n\t\t\t\t19190EFC1B84DB21008D059E /* DDLog.h in Headers */,\n\t\t\t\t19190EFD1B84DB26008D059E /* DDASLLogger.h in Headers */,\n\t\t\t\t19190EFE1B84DB2C008D059E /* DDMultiFormatter.h in Headers */,\n\t\t\t\tDDBE6E891E73ED12003F093F /* DDOSLogger.h in Headers */,\n\t\t\t\t19190EFF1B84DB31008D059E /* CocoaLumberjack.h in Headers */,\n\t\t\t\t19190F001B84DB36008D059E /* DDFileLogger.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19190EE81B84D826008D059E /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19190F0A1B84DB97008D059E /* CocoaLumberjackSwift.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19D90B081BBFA9DB00947169 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19D90B091BBFA9DB00947169 /* DDContextFilterLogFormatter.h in Headers */,\n\t\t\t\t19D90B0A1BBFA9DB00947169 /* DDAssertMacros.h in Headers */,\n\t\t\t\t19D90B0B1BBFA9DB00947169 /* DDASLLogCapture.h in Headers */,\n\t\t\t\t19D90B0C1BBFA9DB00947169 /* DDDispatchQueueLogFormatter.h in Headers */,\n\t\t\t\t19D90B0D1BBFA9DB00947169 /* DDLog+LOGV.h in Headers */,\n\t\t\t\t19D90B0E1BBFA9DB00947169 /* DDLegacyMacros.h in Headers */,\n\t\t\t\t19D90B0F1BBFA9DB00947169 /* DDAbstractDatabaseLogger.h in Headers */,\n\t\t\t\t19D90B101BBFA9DB00947169 /* DDLogMacros.h in Headers */,\n\t\t\t\t19D90B111BBFA9DB00947169 /* DDTTYLogger.h in Headers */,\n\t\t\t\t19D90B121BBFA9DB00947169 /* DDLog.h in Headers */,\n\t\t\t\t19D90B131BBFA9DB00947169 /* DDASLLogger.h in Headers */,\n\t\t\t\t19D90B141BBFA9DB00947169 /* DDMultiFormatter.h in Headers */,\n\t\t\t\tDDBE6E881E73ED12003F093F /* DDOSLogger.h in Headers */,\n\t\t\t\t19D90B151BBFA9DB00947169 /* CocoaLumberjack.h in Headers */,\n\t\t\t\t19D90B161BBFA9DB00947169 /* DDFileLogger.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19D90B2B1BBFAA7500947169 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19D90B2C1BBFAA7500947169 /* CocoaLumberjackSwift.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19FF45FF1B8B4CF400B43179 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19FF462A1B8B4EBA00B43179 /* DDContextFilterLogFormatter.h in Headers */,\n\t\t\t\t19FF46291B8B4EB700B43179 /* DDAssertMacros.h in Headers */,\n\t\t\t\t19FF46281B8B4EB300B43179 /* DDASLLogCapture.h in Headers */,\n\t\t\t\t19FF46271B8B4EB000B43179 /* DDDispatchQueueLogFormatter.h in Headers */,\n\t\t\t\t19FF46261B8B4EAB00B43179 /* DDLog+LOGV.h in Headers */,\n\t\t\t\t19FF46251B8B4EA800B43179 /* DDLegacyMacros.h in Headers */,\n\t\t\t\t19FF46241B8B4EA400B43179 /* DDAbstractDatabaseLogger.h in Headers */,\n\t\t\t\t19FF46231B8B4EA100B43179 /* DDLogMacros.h in Headers */,\n\t\t\t\t19FF46221B8B4E9700B43179 /* DDTTYLogger.h in Headers */,\n\t\t\t\t19FF46211B8B4E9200B43179 /* DDLog.h in Headers */,\n\t\t\t\t19FF46201B8B4E8D00B43179 /* DDASLLogger.h in Headers */,\n\t\t\t\t19FF461F1B8B4E8800B43179 /* DDMultiFormatter.h in Headers */,\n\t\t\t\tDDBE6E861E73ED10003F093F /* DDOSLogger.h in Headers */,\n\t\t\t\t19FF461E1B8B4E8400B43179 /* CocoaLumberjack.h in Headers */,\n\t\t\t\t19FF461D1B8B4E8200B43179 /* DDFileLogger.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19FF460C1B8B4D1400B43179 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19FF46341B8B4EF800B43179 /* CocoaLumberjackSwift.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDCB3184E14EB418E001CFBEE /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDA9C20DE192A0E0000AB7171 /* DDContextFilterLogFormatter.h in Headers */,\n\t\t\t\tE5D89BA81994749300C180CF /* DDAssertMacros.h in Headers */,\n\t\t\t\tDA9C20D3192A0E0000AB7171 /* DDASLLogCapture.h in Headers */,\n\t\t\t\tDA9C20E0192A0E0000AB7171 /* DDDispatchQueueLogFormatter.h in Headers */,\n\t\t\t\tDA9C20DB192A0E0000AB7171 /* DDLog+LOGV.h in Headers */,\n\t\t\t\tE58079631A032F92008819CA /* DDLegacyMacros.h in Headers */,\n\t\t\t\tDA9C20D1192A0E0000AB7171 /* DDAbstractDatabaseLogger.h in Headers */,\n\t\t\t\tE5D89BA91994749300C180CF /* DDLogMacros.h in Headers */,\n\t\t\t\tDA9C20DC192A0E0000AB7171 /* DDTTYLogger.h in Headers */,\n\t\t\t\tDA9C20D9192A0E0000AB7171 /* DDLog.h in Headers */,\n\t\t\t\tDA9C20D5192A0E0000AB7171 /* DDASLLogger.h in Headers */,\n\t\t\t\tDA9C20E2192A0E0000AB7171 /* DDMultiFormatter.h in Headers */,\n\t\t\t\tDDBE6E871E73ED11003F093F /* DDOSLogger.h in Headers */,\n\t\t\t\tC7D056731E1A58EA000E6591 /* CocoaLumberjack.h in Headers */,\n\t\t\t\t93483CFC1D09E39000AD40D6 /* CLIColor.h in Headers */,\n\t\t\t\tDA9C20D7192A0E0000AB7171 /* DDFileLogger.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t18F3BEF61A81D8B700692297 /* CocoaLumberjackSwift-macOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 18F3BF0C1A81D8B700692297 /* Build configuration list for PBXNativeTarget \"CocoaLumberjackSwift-macOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t18F3BEF91A81D8B700692297 /* Headers */,\n\t\t\t\t18F3BF071A81D8B700692297 /* Sources */,\n\t\t\t\t18F3BF091A81D8B700692297 /* Frameworks */,\n\t\t\t\t18F3BF0B1A81D8B700692297 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tC7D056771E1A5A3A000E6591 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"CocoaLumberjackSwift-macOS\";\n\t\t\tproductName = Lumberjack;\n\t\t\tproductReference = 18F3BF0F1A81D8B700692297 /* CocoaLumberjackSwift.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t18F3BF5E1A81DD2E00692297 /* iOSSwiftTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 18F3BF7B1A81DD2E00692297 /* Build configuration list for PBXNativeTarget \"iOSSwiftTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t18F3BF5B1A81DD2E00692297 /* Sources */,\n\t\t\t\t18F3BF5C1A81DD2E00692297 /* Frameworks */,\n\t\t\t\t18F3BF5D1A81DD2E00692297 /* Resources */,\n\t\t\t\t18F3BFD21A81DFEC00692297 /* Embed Frameworks */,\n\t\t\t\t19EC14891B84D135000EC2E7 /* Embed Watch Content */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t19EC14801B84D135000EC2E7 /* PBXTargetDependency */,\n\t\t\t\t19FF463C1B8B4F4100B43179 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = iOSSwiftTest;\n\t\t\tproductName = iOSSwiftTest;\n\t\t\tproductReference = 18F3BF5F1A81DD2E00692297 /* iOSSwiftTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t18F3BFD61A81E06E00692297 /* CocoaLumberjack-iOS-Static */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 18F3BFE81A81E06E00692297 /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-iOS-Static\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t18F3BFD31A81E06E00692297 /* Sources */,\n\t\t\t\t18F3BFD41A81E06E00692297 /* Frameworks */,\n\t\t\t\t18F3BFD51A81E06E00692297 /* CopyFiles */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"CocoaLumberjack-iOS-Static\";\n\t\t\tproductName = \"CocoaLumberjack-iOS-Static\";\n\t\t\tproductReference = 18F3BFD71A81E06E00692297 /* libCocoaLumberjack.a */;\n\t\t\tproductType = \"com.apple.product-type.library.static\";\n\t\t};\n\t\t18F3BFF11A81E0C700692297 /* iOSLibStaticTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 18F3C0121A81E0C800692297 /* Build configuration list for PBXNativeTarget \"iOSLibStaticTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t18F3BFEE1A81E0C700692297 /* Sources */,\n\t\t\t\t18F3BFEF1A81E0C700692297 /* Frameworks */,\n\t\t\t\t18F3BFF01A81E0C700692297 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = iOSLibStaticTest;\n\t\t\tproductName = iOSLibStaticTest;\n\t\t\tproductReference = 18F3BFF21A81E0C700692297 /* iOSLibStaticTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t19190EDD1B84D812008D059E /* CocoaLumberjack-watchOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 19190EE31B84D812008D059E /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-watchOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t19190EDB1B84D812008D059E /* Headers */,\n\t\t\t\t19190ED91B84D812008D059E /* Sources */,\n\t\t\t\t19190EDA1B84D812008D059E /* Frameworks */,\n\t\t\t\t19190EDC1B84D812008D059E /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"CocoaLumberjack-watchOS\";\n\t\t\tproductName = \"CocoaLumberjack-watchOS\";\n\t\t\tproductReference = 19190EDE1B84D812008D059E /* CocoaLumberjack.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t19190EEA1B84D826008D059E /* CocoaLumberjackSwift-watchOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 19190EF01B84D826008D059E /* Build configuration list for PBXNativeTarget \"CocoaLumberjackSwift-watchOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t19190EE81B84D826008D059E /* Headers */,\n\t\t\t\t19190EE61B84D826008D059E /* Sources */,\n\t\t\t\t19190EE71B84D826008D059E /* Frameworks */,\n\t\t\t\t19190EE91B84D826008D059E /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tC7D0567B1E1A5A54000E6591 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"CocoaLumberjackSwift-watchOS\";\n\t\t\tproductName = \"CocoaLumberjackSwift-watchOS\";\n\t\t\tproductReference = 19190EEB1B84D826008D059E /* CocoaLumberjackSwift.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t19406BE01BDBABFF001194DC /* tvOSSwiftTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 19406BEF1BDBABFF001194DC /* Build configuration list for PBXNativeTarget \"tvOSSwiftTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t19406BDD1BDBABFF001194DC /* Sources */,\n\t\t\t\t19406BDE1BDBABFF001194DC /* Frameworks */,\n\t\t\t\t19406BDF1BDBABFF001194DC /* Resources */,\n\t\t\t\t19406BFC1BDBAD17001194DC /* Embed Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t19406BF41BDBACFD001194DC /* PBXTargetDependency */,\n\t\t\t\t19406BF91BDBAD17001194DC /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = tvOSSwiftTest;\n\t\t\tproductName = tvOSSwiftTest;\n\t\t\tproductReference = 19406BE11BDBABFF001194DC /* tvOSSwiftTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\t19D90B071BBFA9DB00947169 /* CocoaLumberjack-tvOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 19D90B231BBFA9DB00947169 /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-tvOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t19D90B081BBFA9DB00947169 /* Headers */,\n\t\t\t\t19D90B171BBFA9DB00947169 /* Sources */,\n\t\t\t\t19D90B211BBFA9DB00947169 /* Frameworks */,\n\t\t\t\t19D90B221BBFA9DB00947169 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"CocoaLumberjack-tvOS\";\n\t\t\tproductName = \"CocoaLumberjack-iOS\";\n\t\t\tproductReference = 19D90B261BBFA9DB00947169 /* CocoaLumberjack.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t19D90B281BBFAA7500947169 /* CocoaLumberjackSwift-tvOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 19D90B321BBFAA7500947169 /* Build configuration list for PBXNativeTarget \"CocoaLumberjackSwift-tvOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t19D90B2B1BBFAA7500947169 /* Headers */,\n\t\t\t\t19D90B2D1BBFAA7500947169 /* Sources */,\n\t\t\t\t19D90B2F1BBFAA7500947169 /* Frameworks */,\n\t\t\t\t19D90B311BBFAA7500947169 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tC7D056791E1A5A4D000E6591 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"CocoaLumberjackSwift-tvOS\";\n\t\t\tproductName = \"CocoaLumberjackSwift-iOS\";\n\t\t\tproductReference = 19D90B351BBFAA7500947169 /* CocoaLumberjackSwift.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t19EC14661B84D134000EC2E7 /* watchOSSwiftTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 19EC14881B84D135000EC2E7 /* Build configuration list for PBXNativeTarget \"watchOSSwiftTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t19EC14651B84D134000EC2E7 /* Resources */,\n\t\t\t\t19EC14871B84D135000EC2E7 /* Embed App Extensions */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t19EC14761B84D135000EC2E7 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = watchOSSwiftTest;\n\t\t\tproductName = watchOSSwiftTest;\n\t\t\tproductReference = 19EC14671B84D134000EC2E7 /* watchOSSwiftTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application.watchapp2\";\n\t\t};\n\t\t19EC14721B84D134000EC2E7 /* watchOSSwiftTest Extension */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 19EC14861B84D135000EC2E7 /* Build configuration list for PBXNativeTarget \"watchOSSwiftTest Extension\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t19EC146F1B84D134000EC2E7 /* Sources */,\n\t\t\t\t19EC14701B84D134000EC2E7 /* Frameworks */,\n\t\t\t\t19EC14711B84D134000EC2E7 /* Resources */,\n\t\t\t\t19190F151B84DBCE008D059E /* Embed Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t19190F141B84DBCE008D059E /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"watchOSSwiftTest Extension\";\n\t\t\tproductName = \"watchOSSwiftTest Extension\";\n\t\t\tproductReference = 19EC14731B84D134000EC2E7 /* watchOSSwiftTest Extension.appex */;\n\t\t\tproductType = \"com.apple.product-type.watchkit2-extension\";\n\t\t};\n\t\t19FF46011B8B4CF400B43179 /* CocoaLumberjack-iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 19FF46091B8B4CF400B43179 /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t19FF45FF1B8B4CF400B43179 /* Headers */,\n\t\t\t\t19FF45FD1B8B4CF400B43179 /* Sources */,\n\t\t\t\t19FF45FE1B8B4CF400B43179 /* Frameworks */,\n\t\t\t\t19FF46001B8B4CF400B43179 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"CocoaLumberjack-iOS\";\n\t\t\tproductName = \"CocoaLumberjack-iOS\";\n\t\t\tproductReference = 19FF46021B8B4CF400B43179 /* CocoaLumberjack.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t19FF460E1B8B4D1400B43179 /* CocoaLumberjackSwift-iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 19FF46181B8B4D1400B43179 /* Build configuration list for PBXNativeTarget \"CocoaLumberjackSwift-iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t19FF460C1B8B4D1400B43179 /* Headers */,\n\t\t\t\t19FF460A1B8B4D1400B43179 /* Sources */,\n\t\t\t\t19FF460B1B8B4D1400B43179 /* Frameworks */,\n\t\t\t\t19FF460D1B8B4D1400B43179 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tC7D056751E1A5A2C000E6591 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"CocoaLumberjackSwift-iOS\";\n\t\t\tproductName = \"CocoaLumberjackSwift-iOS\";\n\t\t\tproductReference = 19FF460F1B8B4D1400B43179 /* CocoaLumberjackSwift.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t55CCBEFE19BA679200957A39 /* SwiftTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 55CCBF1C19BA679200957A39 /* Build configuration list for PBXNativeTarget \"SwiftTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t55CCBEFB19BA679200957A39 /* Sources */,\n\t\t\t\t55CCBEFC19BA679200957A39 /* Frameworks */,\n\t\t\t\t55CCBEFD19BA679200957A39 /* Resources */,\n\t\t\t\t5541B41D1A5B62EB00A374A9 /* Embed Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t55C5F2881B1E399100EBC776 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = SwiftTest;\n\t\t\tproductName = SwiftTest;\n\t\t\tproductReference = 55CCBEFF19BA679200957A39 /* SwiftTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\tDCB3185014EB418E001CFBEE /* CocoaLumberjack-macOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DCB3186614EB418E001CFBEE /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-macOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDCB3184E14EB418E001CFBEE /* Headers */,\n\t\t\t\tDCB3184C14EB418E001CFBEE /* Sources */,\n\t\t\t\tDCB3184D14EB418E001CFBEE /* Frameworks */,\n\t\t\t\tDCB3184F14EB418E001CFBEE /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"CocoaLumberjack-macOS\";\n\t\t\tproductName = Lumberjack;\n\t\t\tproductReference = DCB3185114EB418E001CFBEE /* CocoaLumberjack.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\tDCB318C914ED6C3B001CFBEE /* FmwkTest */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = DCB318DF14ED6C3B001CFBEE /* Build configuration list for PBXNativeTarget \"FmwkTest\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDCB318C614ED6C3B001CFBEE /* Sources */,\n\t\t\t\tDCB318C714ED6C3B001CFBEE /* Frameworks */,\n\t\t\t\tDCB318C814ED6C3B001CFBEE /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tDCB318E314ED6C43001CFBEE /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = FmwkTest;\n\t\t\tproductName = FmwkTest;\n\t\t\tproductReference = DCB318CA14ED6C3B001CFBEE /* FmwkTest.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tDCB3184714EB418D001CFBEE /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0710;\n\t\t\t\tLastUpgradeCheck = 0930;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t18F3BEF61A81D8B700692297 = {\n\t\t\t\t\t\tLastSwiftMigration = 0900;\n\t\t\t\t\t};\n\t\t\t\t\t18F3BF5E1A81DD2E00692297 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\t18F3BFD61A81E06E00692297 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\t18F3BFF11A81E0C700692297 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\t19190EDD1B84D812008D059E = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.0;\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\t19190EEA1B84D826008D059E = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.0;\n\t\t\t\t\t\tLastSwiftMigration = 0900;\n\t\t\t\t\t};\n\t\t\t\t\t19406BE01BDBABFF001194DC = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.1;\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\t19D90B071BBFA9DB00947169 = {\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\t19D90B281BBFAA7500947169 = {\n\t\t\t\t\t\tLastSwiftMigration = 0900;\n\t\t\t\t\t};\n\t\t\t\t\t19EC14661B84D134000EC2E7 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.0;\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\t19EC14721B84D134000EC2E7 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.0;\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\t19FF46011B8B4CF400B43179 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.0;\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\t19FF460E1B8B4D1400B43179 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.0;\n\t\t\t\t\t\tLastSwiftMigration = 0900;\n\t\t\t\t\t};\n\t\t\t\t\t55CCBEFE19BA679200957A39 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.0;\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\tDCB3185014EB418E001CFBEE = {\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t\tDCB318C914ED6C3B001CFBEE = {\n\t\t\t\t\t\tLastSwiftMigration = 0830;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = DCB3184A14EB418D001CFBEE /* Build configuration list for PBXProject \"Lumberjack\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = DCB3184514EB418D001CFBEE;\n\t\t\tproductRefGroup = DCB3185214EB418E001CFBEE /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t18F3BFD61A81E06E00692297 /* CocoaLumberjack-iOS-Static */,\n\t\t\t\t19FF46011B8B4CF400B43179 /* CocoaLumberjack-iOS */,\n\t\t\t\tDCB3185014EB418E001CFBEE /* CocoaLumberjack-macOS */,\n\t\t\t\t19D90B071BBFA9DB00947169 /* CocoaLumberjack-tvOS */,\n\t\t\t\t19190EDD1B84D812008D059E /* CocoaLumberjack-watchOS */,\n\t\t\t\t19FF460E1B8B4D1400B43179 /* CocoaLumberjackSwift-iOS */,\n\t\t\t\t18F3BEF61A81D8B700692297 /* CocoaLumberjackSwift-macOS */,\n\t\t\t\t19D90B281BBFAA7500947169 /* CocoaLumberjackSwift-tvOS */,\n\t\t\t\t19190EEA1B84D826008D059E /* CocoaLumberjackSwift-watchOS */,\n\t\t\t\t18F3BFF11A81E0C700692297 /* iOSLibStaticTest */,\n\t\t\t\tDCB318C914ED6C3B001CFBEE /* FmwkTest */,\n\t\t\t\t18F3BF5E1A81DD2E00692297 /* iOSSwiftTest */,\n\t\t\t\t55CCBEFE19BA679200957A39 /* SwiftTest */,\n\t\t\t\t19406BE01BDBABFF001194DC /* tvOSSwiftTest */,\n\t\t\t\t19EC14661B84D134000EC2E7 /* watchOSSwiftTest */,\n\t\t\t\t19EC14721B84D134000EC2E7 /* watchOSSwiftTest Extension */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t18F3BF0B1A81D8B700692297 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t18F3BF5D1A81DD2E00692297 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t18F3BFF01A81E0C700692297 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t18F3C0001A81E0C800692297 /* Main.storyboard in Resources */,\n\t\t\t\t18F3C0051A81E0C800692297 /* LaunchScreen.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19190EDC1B84D812008D059E /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19190EE91B84D826008D059E /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19406BDF1BDBABFF001194DC /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19406BE91BDBABFF001194DC /* Main.storyboard in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19D90B221BBFA9DB00947169 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19D90B311BBFAA7500947169 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19EC14651B84D134000EC2E7 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19EC146B1B84D134000EC2E7 /* Interface.storyboard in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19EC14711B84D134000EC2E7 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19FF46001B8B4CF400B43179 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19FF460D1B8B4D1400B43179 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t55CCBEFD19BA679200957A39 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t5541B4161A5B5B9200A374A9 /* InfoPlist.strings in Resources */,\n\t\t\t\t5541B4181A5B5C9A00A374A9 /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDCB3184F14EB418E001CFBEE /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDCB318C814ED6C3B001CFBEE /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCB318D214ED6C3B001CFBEE /* InfoPlist.strings in Resources */,\n\t\t\t\tDCB318D814ED6C3B001CFBEE /* Credits.rtf in Resources */,\n\t\t\t\tDCB318DE14ED6C3B001CFBEE /* MainMenu.xib in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t18F3BF071A81D8B700692297 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t18F3BF081A81D8B700692297 /* CocoaLumberjack.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t18F3BF5B1A81DD2E00692297 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t18F3BF811A81DD7800692297 /* Formatter.swift in Sources */,\n\t\t\t\t18F3BF661A81DD2E00692297 /* ViewController.swift in Sources */,\n\t\t\t\t18F3BF641A81DD2E00692297 /* AppDelegate.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t18F3BFD31A81E06E00692297 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t18F3C01A1A81E14000692297 /* DDMultiFormatter.m in Sources */,\n\t\t\t\t18F3C0181A81E14000692297 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\t18F3C01D1A81E14E00692297 /* DDASLLogger.m in Sources */,\n\t\t\t\t18F3C0201A81E14E00692297 /* DDTTYLogger.m in Sources */,\n\t\t\t\t18F3C01E1A81E14E00692297 /* DDFileLogger.m in Sources */,\n\t\t\t\t18F3C01F1A81E14E00692297 /* DDLog.m in Sources */,\n\t\t\t\t18F3C01B1A81E14E00692297 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\tDD4738841E7168A400F1A4F5 /* DDOSLogger.m in Sources */,\n\t\t\t\t18F3C0191A81E14000692297 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\t18F3C01C1A81E14E00692297 /* DDASLLogCapture.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t18F3BFEE1A81E0C700692297 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t18F3BFFD1A81E0C800692297 /* ViewController.m in Sources */,\n\t\t\t\t18F3BFFA1A81E0C800692297 /* AppDelegate.m in Sources */,\n\t\t\t\t18F3BFF71A81E0C800692297 /* main.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19190ED91B84D812008D059E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19190F011B84DB42008D059E /* DDLog.m in Sources */,\n\t\t\t\t19190F021B84DB45008D059E /* DDASLLogCapture.m in Sources */,\n\t\t\t\t19190F031B84DB49008D059E /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\t19190F041B84DB51008D059E /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\t19190F051B84DB5C008D059E /* DDFileLogger.m in Sources */,\n\t\t\t\t19190F061B84DB61008D059E /* DDTTYLogger.m in Sources */,\n\t\t\t\t19190F071B84DB66008D059E /* DDMultiFormatter.m in Sources */,\n\t\t\t\tC72CB9851FBF27F1009AEE6B /* DDOSLogger.m in Sources */,\n\t\t\t\t19190F081B84DB6C008D059E /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\t19190F091B84DB72008D059E /* DDASLLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19190EE61B84D826008D059E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19190F0B1B84DB9F008D059E /* CocoaLumberjack.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19406BDD1BDBABFF001194DC /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19406BF11BDBAC91001194DC /* Formatter.swift in Sources */,\n\t\t\t\t19406BE61BDBABFF001194DC /* ViewController.swift in Sources */,\n\t\t\t\t19406BE41BDBABFF001194DC /* AppDelegate.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19D90B171BBFA9DB00947169 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19D90B181BBFA9DB00947169 /* DDLog.m in Sources */,\n\t\t\t\t19D90B191BBFA9DB00947169 /* DDASLLogCapture.m in Sources */,\n\t\t\t\t19D90B1A1BBFA9DB00947169 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\t19D90B1B1BBFA9DB00947169 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\t19D90B1C1BBFA9DB00947169 /* DDFileLogger.m in Sources */,\n\t\t\t\t19D90B1D1BBFA9DB00947169 /* DDTTYLogger.m in Sources */,\n\t\t\t\t19D90B1E1BBFA9DB00947169 /* DDMultiFormatter.m in Sources */,\n\t\t\t\tC72CB9841FBF27F0009AEE6B /* DDOSLogger.m in Sources */,\n\t\t\t\t19D90B1F1BBFA9DB00947169 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\t19D90B201BBFA9DB00947169 /* DDASLLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19D90B2D1BBFAA7500947169 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19D90B2E1BBFAA7500947169 /* CocoaLumberjack.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19EC146F1B84D134000EC2E7 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19EC148D1B84D1DF000EC2E7 /* Formatter.swift in Sources */,\n\t\t\t\t19EC147B1B84D135000EC2E7 /* ExtensionDelegate.swift in Sources */,\n\t\t\t\t19EC14791B84D135000EC2E7 /* InterfaceController.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19FF45FD1B8B4CF400B43179 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19FF46331B8B4EE800B43179 /* DDLog.m in Sources */,\n\t\t\t\t19FF46321B8B4EE500B43179 /* DDASLLogCapture.m in Sources */,\n\t\t\t\t19FF46311B8B4EDF00B43179 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\t19FF46301B8B4ED900B43179 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\t19FF462F1B8B4ED500B43179 /* DDFileLogger.m in Sources */,\n\t\t\t\t19FF462E1B8B4ED200B43179 /* DDTTYLogger.m in Sources */,\n\t\t\t\t19FF462D1B8B4ECE00B43179 /* DDMultiFormatter.m in Sources */,\n\t\t\t\tC72CB9821FBF27EE009AEE6B /* DDOSLogger.m in Sources */,\n\t\t\t\t19FF462C1B8B4ECA00B43179 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\t19FF462B1B8B4EC600B43179 /* DDASLLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t19FF460A1B8B4D1400B43179 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t19FF46351B8B4F0700B43179 /* CocoaLumberjack.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t55CCBEFB19BA679200957A39 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t55CCBF0619BA679200957A39 /* AppDelegate.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDCB3184C14EB418E001CFBEE /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDA9C20DA192A0E0000AB7171 /* DDLog.m in Sources */,\n\t\t\t\tDA9C20D4192A0E0000AB7171 /* DDASLLogCapture.m in Sources */,\n\t\t\t\tDA9C20DF192A0E0000AB7171 /* DDContextFilterLogFormatter.m in Sources */,\n\t\t\t\tC72CB9831FBF27EF009AEE6B /* DDOSLogger.m in Sources */,\n\t\t\t\tDA9C20E1192A0E0000AB7171 /* DDDispatchQueueLogFormatter.m in Sources */,\n\t\t\t\tDA9C20D8192A0E0000AB7171 /* DDFileLogger.m in Sources */,\n\t\t\t\tDA9C20DD192A0E0000AB7171 /* DDTTYLogger.m in Sources */,\n\t\t\t\tDA9C20E3192A0E0000AB7171 /* DDMultiFormatter.m in Sources */,\n\t\t\t\tDA9C20D2192A0E0000AB7171 /* DDAbstractDatabaseLogger.m in Sources */,\n\t\t\t\t93483CFD1D09E39000AD40D6 /* CLIColor.m in Sources */,\n\t\t\t\tDA9C20D6192A0E0000AB7171 /* DDASLLogger.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tDCB318C614ED6C3B001CFBEE /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tDCB318D414ED6C3B001CFBEE /* main.m in Sources */,\n\t\t\t\tDCB318DB14ED6C3B001CFBEE /* AppDelegate.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t19190F141B84DBCE008D059E /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 19190EEA1B84D826008D059E /* CocoaLumberjackSwift-watchOS */;\n\t\t\ttargetProxy = 19190F131B84DBCE008D059E /* PBXContainerItemProxy */;\n\t\t};\n\t\t19406BF41BDBACFD001194DC /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 19D90B281BBFAA7500947169 /* CocoaLumberjackSwift-tvOS */;\n\t\t\ttargetProxy = 19406BF31BDBACFD001194DC /* PBXContainerItemProxy */;\n\t\t};\n\t\t19406BF91BDBAD17001194DC /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 19D90B071BBFA9DB00947169 /* CocoaLumberjack-tvOS */;\n\t\t\ttargetProxy = 19406BF81BDBAD17001194DC /* PBXContainerItemProxy */;\n\t\t};\n\t\t19EC14761B84D135000EC2E7 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 19EC14721B84D134000EC2E7 /* watchOSSwiftTest Extension */;\n\t\t\ttargetProxy = 19EC14751B84D135000EC2E7 /* PBXContainerItemProxy */;\n\t\t};\n\t\t19EC14801B84D135000EC2E7 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 19EC14661B84D134000EC2E7 /* watchOSSwiftTest */;\n\t\t\ttargetProxy = 19EC147F1B84D135000EC2E7 /* PBXContainerItemProxy */;\n\t\t};\n\t\t19FF463C1B8B4F4100B43179 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 19FF460E1B8B4D1400B43179 /* CocoaLumberjackSwift-iOS */;\n\t\t\ttargetProxy = 19FF463B1B8B4F4100B43179 /* PBXContainerItemProxy */;\n\t\t};\n\t\t55C5F2881B1E399100EBC776 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 18F3BEF61A81D8B700692297 /* CocoaLumberjackSwift-macOS */;\n\t\t\ttargetProxy = 55C5F2871B1E399100EBC776 /* PBXContainerItemProxy */;\n\t\t};\n\t\tC7D056751E1A5A2C000E6591 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 19FF46011B8B4CF400B43179 /* CocoaLumberjack-iOS */;\n\t\t\ttargetProxy = C7D056741E1A5A2C000E6591 /* PBXContainerItemProxy */;\n\t\t};\n\t\tC7D056771E1A5A3A000E6591 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = DCB3185014EB418E001CFBEE /* CocoaLumberjack-macOS */;\n\t\t\ttargetProxy = C7D056761E1A5A3A000E6591 /* PBXContainerItemProxy */;\n\t\t};\n\t\tC7D056791E1A5A4D000E6591 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 19D90B071BBFA9DB00947169 /* CocoaLumberjack-tvOS */;\n\t\t\ttargetProxy = C7D056781E1A5A4D000E6591 /* PBXContainerItemProxy */;\n\t\t};\n\t\tC7D0567B1E1A5A54000E6591 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 19190EDD1B84D812008D059E /* CocoaLumberjack-watchOS */;\n\t\t\ttargetProxy = C7D0567A1E1A5A54000E6591 /* PBXContainerItemProxy */;\n\t\t};\n\t\tDCB318E314ED6C43001CFBEE /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = DCB3185014EB418E001CFBEE /* CocoaLumberjack-macOS */;\n\t\t\ttargetProxy = DCB318E214ED6C43001CFBEE /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\t18F3BFFE1A81E0C800692297 /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t18F3BFFF1A81E0C800692297 /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t18F3C0031A81E0C800692297 /* LaunchScreen.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t18F3C0041A81E0C800692297 /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19406BE71BDBABFF001194DC /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t19406BE81BDBABFF001194DC /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t19EC14691B84D134000EC2E7 /* Interface.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\t19EC146A1B84D134000EC2E7 /* Base */,\n\t\t\t);\n\t\t\tname = Interface.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB318D014ED6C3B001CFBEE /* InfoPlist.strings */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCB318D114ED6C3B001CFBEE /* en */,\n\t\t\t);\n\t\t\tname = InfoPlist.strings;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB318D614ED6C3B001CFBEE /* Credits.rtf */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCB318D714ED6C3B001CFBEE /* en */,\n\t\t\t);\n\t\t\tname = Credits.rtf;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tDCB318DC14ED6C3B001CFBEE /* MainMenu.xib */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tDCB318DD14ED6C3B001CFBEE /* en */,\n\t\t\t);\n\t\t\tname = MainMenu.xib;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\t18F3BF0D1A81D8B700692297 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjackSwift-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.swift.macos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjackSwift;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tVALID_ARCHS = \"arm64 armv7 armv7s i386 x86_64\";\n\t\t\t\tWRAPPER_EXTENSION = framework;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t18F3BF0E1A81D8B700692297 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjackSwift-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.swift.macos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjackSwift;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tVALID_ARCHS = \"arm64 armv7 armv7s i386 x86_64\";\n\t\t\t\tWRAPPER_EXTENSION = framework;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t18F3BF7C1A81DD2E00692297 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Framework/iOSSwift/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t18F3BF7D1A81DD2E00692297 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Framework/iOSSwift/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t18F3BFE91A81E06E00692297 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tOTHER_LDFLAGS = \"-ObjC\";\n\t\t\t\tPRIVATE_HEADERS_FOLDER_PATH = \"$(BUILT_PRODUCTS_DIR)/private\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.ios;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tPUBLIC_HEADERS_FOLDER_PATH = \"$(BUILT_PRODUCTS_DIR)/include\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t18F3BFEA1A81E06E00692297 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tOTHER_LDFLAGS = \"-ObjC\";\n\t\t\t\tPRIVATE_HEADERS_FOLDER_PATH = \"$(BUILT_PRODUCTS_DIR)/private\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.ios;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tPUBLIC_HEADERS_FOLDER_PATH = \"$(BUILT_PRODUCTS_DIR)/include\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t18F3C0131A81E0C800692297 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = Framework/iOSLibStaticTest/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t18F3C0141A81E0C800692297 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tINFOPLIST_FILE = Framework/iOSLibStaticTest/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t19190EE41B84D812008D059E /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/Lumberjack/CocoaLumberjack-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjack-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = Framework/Lumberjack/CocoaLumberjack.modulemap;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.watchos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t\tWRAPPER_EXTENSION = framework;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t19190EE51B84D812008D059E /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/Lumberjack/CocoaLumberjack-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjack-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = Framework/Lumberjack/CocoaLumberjack.modulemap;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.watchos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t\tWRAPPER_EXTENSION = framework;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t19190EF11B84D826008D059E /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjackSwift-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.swift.watchos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjackSwift;\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t\tWRAPPER_EXTENSION = framework;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t19190EF21B84D826008D059E /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=watchos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjackSwift-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.swift.watchos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjackSwift;\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t\tWRAPPER_EXTENSION = framework;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t19406BED1BDBABFF001194DC /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = \"App Icon & Top Shelf Image\";\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tINFOPLIST_FILE = Framework/tvOSSwiftTest/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.tvOSSwiftTest;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t19406BEE1BDBABFF001194DC /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = \"App Icon & Top Shelf Image\";\n\t\t\t\tASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tINFOPLIST_FILE = Framework/tvOSSwiftTest/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.tvOSSwiftTest;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t19D90B241BBFA9DB00947169 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/Lumberjack/CocoaLumberjack-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjack-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = Framework/Lumberjack/CocoaLumberjack.modulemap;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.tvos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t19D90B251BBFA9DB00947169 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/Lumberjack/CocoaLumberjack-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjack-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = Framework/Lumberjack/CocoaLumberjack.modulemap;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.tvos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t19D90B331BBFAA7500947169 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjackSwift-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.swift.tvos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjackSwift;\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t19D90B341BBFAA7500947169 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjackSwift-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.swift.tvos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjackSwift;\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t19EC14821B84D135000EC2E7 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tIBSC_MODULE = watchOSSwiftTest_Extension;\n\t\t\t\tINFOPLIST_FILE = Framework/watchOSSwiftTest/Info.plist;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.iOSSwiftTest.watchkitapp;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t19EC14831B84D135000EC2E7 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tIBSC_MODULE = watchOSSwiftTest_Extension;\n\t\t\t\tINFOPLIST_FILE = Framework/watchOSSwiftTest/Info.plist;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.iOSSwiftTest.watchkitapp;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t19EC14841B84D135000EC2E7 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tINFOPLIST_FILE = \"Framework/watchOSSwiftTest Extension/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.iOSSwiftTest.watchkitapp.watchkitextension;\n\t\t\t\tPRODUCT_NAME = \"${TARGET_NAME}\";\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t19EC14851B84D135000EC2E7 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tINFOPLIST_FILE = \"Framework/watchOSSwiftTest Extension/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.iOSSwiftTest.watchkitapp.watchkitextension;\n\t\t\t\tPRODUCT_NAME = \"${TARGET_NAME}\";\n\t\t\t\tSDKROOT = watchos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 4;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t19FF46071B8B4CF400B43179 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/Lumberjack/CocoaLumberjack-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjack-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = Framework/Lumberjack/CocoaLumberjack.modulemap;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.ios;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t19FF46081B8B4CF400B43179 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/Lumberjack/CocoaLumberjack-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjack-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = Framework/Lumberjack/CocoaLumberjack.modulemap;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.ios;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t19FF46191B8B4D1400B43179 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjackSwift-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.swift.ios;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjackSwift;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t19FF461A1B8B4D1400B43179 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjackSwift-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.swift.ios;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjackSwift;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t55CCBF1819BA679200957A39 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Framework/SwiftTest/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t55CCBF1919BA679200957A39 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Framework/SwiftTest/Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCB3186414EB418E001CFBEE /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = NO;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tWATCHOS_DEPLOYMENT_TARGET = 2.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCB3186514EB418E001CFBEE /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = NO;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_ENABLE_OBJC_EXCEPTIONS = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_VERSION = com.apple.compilers.llvm.clang.1_0;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.8;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tWATCHOS_DEPLOYMENT_TARGET = 2.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCB3186714EB418E001CFBEE /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/Lumberjack/CocoaLumberjack-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjack-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = Framework/Lumberjack/CocoaLumberjack.modulemap;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.macos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tVALID_ARCHS = \"arm64 armv7 armv7s i386 x86_64\";\n\t\t\t\tWRAPPER_EXTENSION = framework;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCB3186814EB418E001CFBEE /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/Lumberjack/CocoaLumberjack-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"Framework/Lumberjack/CocoaLumberjack-Info.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMODULEMAP_FILE = Framework/Lumberjack/CocoaLumberjack.modulemap;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.deusty.cocoalumberjack.macos;\n\t\t\t\tPRODUCT_NAME = CocoaLumberjack;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tVALID_ARCHS = \"arm64 armv7 armv7s i386 x86_64\";\n\t\t\t\tWRAPPER_EXTENSION = framework;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tDCB318E014ED6C3B001CFBEE /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/FmwkTest/FmwkTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Framework/FmwkTest/FmwkTest-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tDCB318E114ED6C3B001CFBEE /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n\t\t\t\tGCC_PREFIX_HEADER = \"Framework/FmwkTest/FmwkTest-Prefix.pch\";\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Framework/FmwkTest/FmwkTest-Info.plist\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.${PRODUCT_NAME:rfc1034identifier}\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tWRAPPER_EXTENSION = app;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t18F3BF0C1A81D8B700692297 /* Build configuration list for PBXNativeTarget \"CocoaLumberjackSwift-macOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t18F3BF0D1A81D8B700692297 /* Debug */,\n\t\t\t\t18F3BF0E1A81D8B700692297 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t18F3BF7B1A81DD2E00692297 /* Build configuration list for PBXNativeTarget \"iOSSwiftTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t18F3BF7C1A81DD2E00692297 /* Debug */,\n\t\t\t\t18F3BF7D1A81DD2E00692297 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t18F3BFE81A81E06E00692297 /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-iOS-Static\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t18F3BFE91A81E06E00692297 /* Debug */,\n\t\t\t\t18F3BFEA1A81E06E00692297 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t18F3C0121A81E0C800692297 /* Build configuration list for PBXNativeTarget \"iOSLibStaticTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t18F3C0131A81E0C800692297 /* Debug */,\n\t\t\t\t18F3C0141A81E0C800692297 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t19190EE31B84D812008D059E /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-watchOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t19190EE41B84D812008D059E /* Debug */,\n\t\t\t\t19190EE51B84D812008D059E /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t19190EF01B84D826008D059E /* Build configuration list for PBXNativeTarget \"CocoaLumberjackSwift-watchOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t19190EF11B84D826008D059E /* Debug */,\n\t\t\t\t19190EF21B84D826008D059E /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t19406BEF1BDBABFF001194DC /* Build configuration list for PBXNativeTarget \"tvOSSwiftTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t19406BED1BDBABFF001194DC /* Debug */,\n\t\t\t\t19406BEE1BDBABFF001194DC /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t19D90B231BBFA9DB00947169 /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-tvOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t19D90B241BBFA9DB00947169 /* Debug */,\n\t\t\t\t19D90B251BBFA9DB00947169 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t19D90B321BBFAA7500947169 /* Build configuration list for PBXNativeTarget \"CocoaLumberjackSwift-tvOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t19D90B331BBFAA7500947169 /* Debug */,\n\t\t\t\t19D90B341BBFAA7500947169 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t19EC14861B84D135000EC2E7 /* Build configuration list for PBXNativeTarget \"watchOSSwiftTest Extension\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t19EC14841B84D135000EC2E7 /* Debug */,\n\t\t\t\t19EC14851B84D135000EC2E7 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t19EC14881B84D135000EC2E7 /* Build configuration list for PBXNativeTarget \"watchOSSwiftTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t19EC14821B84D135000EC2E7 /* Debug */,\n\t\t\t\t19EC14831B84D135000EC2E7 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t19FF46091B8B4CF400B43179 /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t19FF46071B8B4CF400B43179 /* Debug */,\n\t\t\t\t19FF46081B8B4CF400B43179 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t19FF46181B8B4D1400B43179 /* Build configuration list for PBXNativeTarget \"CocoaLumberjackSwift-iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t19FF46191B8B4D1400B43179 /* Debug */,\n\t\t\t\t19FF461A1B8B4D1400B43179 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t55CCBF1C19BA679200957A39 /* Build configuration list for PBXNativeTarget \"SwiftTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t55CCBF1819BA679200957A39 /* Debug */,\n\t\t\t\t55CCBF1919BA679200957A39 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCB3184A14EB418D001CFBEE /* Build configuration list for PBXProject \"Lumberjack\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCB3186414EB418E001CFBEE /* Debug */,\n\t\t\t\tDCB3186514EB418E001CFBEE /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCB3186614EB418E001CFBEE /* Build configuration list for PBXNativeTarget \"CocoaLumberjack-macOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCB3186714EB418E001CFBEE /* Debug */,\n\t\t\t\tDCB3186814EB418E001CFBEE /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tDCB318DF14ED6C3B001CFBEE /* Build configuration list for PBXNativeTarget \"FmwkTest\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tDCB318E014ED6C3B001CFBEE /* Debug */,\n\t\t\t\tDCB318E114ED6C3B001CFBEE /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = DCB3184714EB418D001CFBEE /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/CocoaLumberjack-iOS-Static.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"18F3BFD61A81E06E00692297\"\n               BuildableName = \"libCocoaLumberjack.a\"\n               BlueprintName = \"CocoaLumberjack-iOS-Static\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BFD61A81E06E00692297\"\n            BuildableName = \"libCocoaLumberjack.a\"\n            BlueprintName = \"CocoaLumberjack-iOS-Static\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BFD61A81E06E00692297\"\n            BuildableName = \"libCocoaLumberjack.a\"\n            BlueprintName = \"CocoaLumberjack-iOS-Static\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/CocoaLumberjack-iOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"19FF46011B8B4CF400B43179\"\n               BuildableName = \"CocoaLumberjack.framework\"\n               BlueprintName = \"CocoaLumberjack-iOS\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19FF46011B8B4CF400B43179\"\n            BuildableName = \"CocoaLumberjack.framework\"\n            BlueprintName = \"CocoaLumberjack-iOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19FF46011B8B4CF400B43179\"\n            BuildableName = \"CocoaLumberjack.framework\"\n            BlueprintName = \"CocoaLumberjack-iOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/CocoaLumberjack-macOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DCB3185014EB418E001CFBEE\"\n               BuildableName = \"CocoaLumberjack.framework\"\n               BlueprintName = \"CocoaLumberjack-macOS\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCB3185014EB418E001CFBEE\"\n            BuildableName = \"CocoaLumberjack.framework\"\n            BlueprintName = \"CocoaLumberjack-macOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCB3185014EB418E001CFBEE\"\n            BuildableName = \"CocoaLumberjack.framework\"\n            BlueprintName = \"CocoaLumberjack-macOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/CocoaLumberjack-tvOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"19D90B071BBFA9DB00947169\"\n               BuildableName = \"CocoaLumberjack.framework\"\n               BlueprintName = \"CocoaLumberjack-tvOS\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19D90B071BBFA9DB00947169\"\n            BuildableName = \"CocoaLumberjack.framework\"\n            BlueprintName = \"CocoaLumberjack-tvOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19D90B071BBFA9DB00947169\"\n            BuildableName = \"CocoaLumberjack.framework\"\n            BlueprintName = \"CocoaLumberjack-tvOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/CocoaLumberjack-watchOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"19190EDD1B84D812008D059E\"\n               BuildableName = \"CocoaLumberjack.framework\"\n               BlueprintName = \"CocoaLumberjack-watchOS\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19190EDD1B84D812008D059E\"\n            BuildableName = \"CocoaLumberjack.framework\"\n            BlueprintName = \"CocoaLumberjack-watchOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19190EDD1B84D812008D059E\"\n            BuildableName = \"CocoaLumberjack.framework\"\n            BlueprintName = \"CocoaLumberjack-watchOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/CocoaLumberjackSwift-iOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"19FF460E1B8B4D1400B43179\"\n               BuildableName = \"CocoaLumberjackSwift.framework\"\n               BlueprintName = \"CocoaLumberjackSwift-iOS\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19FF460E1B8B4D1400B43179\"\n            BuildableName = \"CocoaLumberjackSwift.framework\"\n            BlueprintName = \"CocoaLumberjackSwift-iOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19FF460E1B8B4D1400B43179\"\n            BuildableName = \"CocoaLumberjackSwift.framework\"\n            BlueprintName = \"CocoaLumberjackSwift-iOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/CocoaLumberjackSwift-macOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"18F3BEF61A81D8B700692297\"\n               BuildableName = \"CocoaLumberjackSwift.framework\"\n               BlueprintName = \"CocoaLumberjackSwift-macOS\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BEF61A81D8B700692297\"\n            BuildableName = \"CocoaLumberjackSwift.framework\"\n            BlueprintName = \"CocoaLumberjackSwift-macOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BEF61A81D8B700692297\"\n            BuildableName = \"CocoaLumberjackSwift.framework\"\n            BlueprintName = \"CocoaLumberjackSwift-macOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/CocoaLumberjackSwift-tvOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"19D90B281BBFAA7500947169\"\n               BuildableName = \"CocoaLumberjackSwift.framework\"\n               BlueprintName = \"CocoaLumberjackSwift-tvOS\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19D90B281BBFAA7500947169\"\n            BuildableName = \"CocoaLumberjackSwift.framework\"\n            BlueprintName = \"CocoaLumberjackSwift-tvOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19D90B281BBFAA7500947169\"\n            BuildableName = \"CocoaLumberjackSwift.framework\"\n            BlueprintName = \"CocoaLumberjackSwift-tvOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/CocoaLumberjackSwift-watchOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"19190EEA1B84D826008D059E\"\n               BuildableName = \"CocoaLumberjackSwift.framework\"\n               BlueprintName = \"CocoaLumberjackSwift-watchOS\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19190EEA1B84D826008D059E\"\n            BuildableName = \"CocoaLumberjackSwift.framework\"\n            BlueprintName = \"CocoaLumberjackSwift-watchOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19190EEA1B84D826008D059E\"\n            BuildableName = \"CocoaLumberjackSwift.framework\"\n            BlueprintName = \"CocoaLumberjackSwift-watchOS\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/FmwkTest.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DCB318C914ED6C3B001CFBEE\"\n               BuildableName = \"FmwkTest.app\"\n               BlueprintName = \"FmwkTest\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCB318C914ED6C3B001CFBEE\"\n            BuildableName = \"FmwkTest.app\"\n            BlueprintName = \"FmwkTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCB318C914ED6C3B001CFBEE\"\n            BuildableName = \"FmwkTest.app\"\n            BlueprintName = \"FmwkTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCB318C914ED6C3B001CFBEE\"\n            BuildableName = \"FmwkTest.app\"\n            BlueprintName = \"FmwkTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/Lumberjack (OS X/ iOS 8+).xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0600\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"DCB3185014EB418E001CFBEE\"\n               BuildableName = \"CocoaLumberjack.framework\"\n               BlueprintName = \"CocoaLumberjack\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      buildConfiguration = \"Debug\">\n      <Testables>\n      </Testables>\n   </TestAction>\n   <LaunchAction\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      buildConfiguration = \"Debug\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"DCB3185014EB418E001CFBEE\"\n            BuildableName = \"CocoaLumberjack.framework\"\n            BlueprintName = \"CocoaLumberjack\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      buildConfiguration = \"Release\"\n      debugDocumentVersioning = \"YES\">\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/SwiftTest.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"55CCBEFE19BA679200957A39\"\n               BuildableName = \"SwiftTest.app\"\n               BlueprintName = \"SwiftTest\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"55CCBEFE19BA679200957A39\"\n            BuildableName = \"SwiftTest.app\"\n            BlueprintName = \"SwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"55CCBEFE19BA679200957A39\"\n            BuildableName = \"SwiftTest.app\"\n            BlueprintName = \"SwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"55CCBEFE19BA679200957A39\"\n            BuildableName = \"SwiftTest.app\"\n            BlueprintName = \"SwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/iOSLibStaticTest.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"18F3BFF11A81E0C700692297\"\n               BuildableName = \"iOSLibStaticTest.app\"\n               BlueprintName = \"iOSLibStaticTest\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BFF11A81E0C700692297\"\n            BuildableName = \"iOSLibStaticTest.app\"\n            BlueprintName = \"iOSLibStaticTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BFF11A81E0C700692297\"\n            BuildableName = \"iOSLibStaticTest.app\"\n            BlueprintName = \"iOSLibStaticTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BFF11A81E0C700692297\"\n            BuildableName = \"iOSLibStaticTest.app\"\n            BlueprintName = \"iOSLibStaticTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/iOSSwiftTest.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"18F3BF5E1A81DD2E00692297\"\n               BuildableName = \"iOSSwiftTest.app\"\n               BlueprintName = \"iOSSwiftTest\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BF5E1A81DD2E00692297\"\n            BuildableName = \"iOSSwiftTest.app\"\n            BlueprintName = \"iOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BF5E1A81DD2E00692297\"\n            BuildableName = \"iOSSwiftTest.app\"\n            BlueprintName = \"iOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"18F3BF5E1A81DD2E00692297\"\n            BuildableName = \"iOSSwiftTest.app\"\n            BlueprintName = \"iOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/tvOSSwiftTest.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"19406BE01BDBABFF001194DC\"\n               BuildableName = \"tvOSSwiftTest.app\"\n               BlueprintName = \"tvOSSwiftTest\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19406BE01BDBABFF001194DC\"\n            BuildableName = \"tvOSSwiftTest.app\"\n            BlueprintName = \"tvOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19406BE01BDBABFF001194DC\"\n            BuildableName = \"tvOSSwiftTest.app\"\n            BlueprintName = \"tvOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <BuildableProductRunnable\n         runnableDebuggingMode = \"0\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19406BE01BDBABFF001194DC\"\n            BuildableName = \"tvOSSwiftTest.app\"\n            BlueprintName = \"tvOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </BuildableProductRunnable>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Lumberjack.xcodeproj/xcshareddata/xcschemes/watchOSSwiftTest.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"19EC14661B84D134000EC2E7\"\n               BuildableName = \"watchOSSwiftTest.app\"\n               BlueprintName = \"watchOSSwiftTest\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"19EC14721B84D134000EC2E7\"\n               BuildableName = \"watchOSSwiftTest Extension.appex\"\n               BlueprintName = \"watchOSSwiftTest Extension\"\n               ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19EC14661B84D134000EC2E7\"\n            BuildableName = \"watchOSSwiftTest.app\"\n            BlueprintName = \"watchOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <RemoteRunnable\n         runnableDebuggingMode = \"2\"\n         BundleIdentifier = \"com.apple.carousel\"\n         RemotePath = \"/iOSSwiftTest\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19EC14661B84D134000EC2E7\"\n            BuildableName = \"watchOSSwiftTest.app\"\n            BlueprintName = \"watchOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </RemoteRunnable>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19EC14661B84D134000EC2E7\"\n            BuildableName = \"watchOSSwiftTest.app\"\n            BlueprintName = \"watchOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <RemoteRunnable\n         runnableDebuggingMode = \"2\"\n         BundleIdentifier = \"com.apple.carousel\"\n         RemotePath = \"/iOSSwiftTest\">\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19EC14661B84D134000EC2E7\"\n            BuildableName = \"watchOSSwiftTest.app\"\n            BlueprintName = \"watchOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </RemoteRunnable>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"19EC14661B84D134000EC2E7\"\n            BuildableName = \"watchOSSwiftTest.app\"\n            BlueprintName = \"watchOSSwiftTest\"\n            ReferencedContainer = \"container:Lumberjack.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/README.md",
    "content": "<p align=\"center\" >\n  <img src=\"LumberjackLogo.png\" title=\"Lumberjack logo\" float=left>\n</p>\n\nCocoaLumberjack\n===============\n[![Build Status](https://travis-ci.org/CocoaLumberjack/CocoaLumberjack.svg?branch=master)](https://travis-ci.org/CocoaLumberjack/CocoaLumberjack)\n[![Pod Version](http://img.shields.io/cocoapods/v/CocoaLumberjack.svg?style=flat)](http://cocoadocs.org/docsets/CocoaLumberjack/)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![Pod Platform](http://img.shields.io/cocoapods/p/CocoaLumberjack.svg?style=flat)](http://cocoadocs.org/docsets/CocoaLumberjack/)\n[![Pod License](http://img.shields.io/cocoapods/l/CocoaLumberjack.svg?style=flat)](http://opensource.org/licenses/BSD-3-Clause)\n[![Reference Status](https://www.versioneye.com/objective-c/cocoalumberjack/reference_badge.svg?style=flat)](https://www.versioneye.com/objective-c/cocoalumberjack/references)\n[![codecov](https://codecov.io/gh/CocoaLumberjack/CocoaLumberjack/branch/master/graph/badge.svg)](https://codecov.io/gh/CocoaLumberjack/CocoaLumberjack)\n\n**CocoaLumberjack** is a fast & simple, yet powerful & flexible logging framework for Mac and iOS.\n\n### How to get started\n- install via [CocoaPods](http://cocoapods.org)\n\n##### Swift version via CocoaPods\n```ruby\nplatform :ios, '8.0'\n\n# You need to set target when you use CocoaPods 1.0.0 or later.\ntarget 'SampleTarget' do \n  use_frameworks!\n  pod 'CocoaLumberjack/Swift'\nend\n```\nNote: `Swift` is a subspec which will include all the Obj-C code plus the Swift one, so this is sufficient. \nFor more details about how to use Swift with Lumberjack, see [this conversation](https://github.com/CocoaLumberjack/CocoaLumberjack/issues/405).\n\n##### Swift Usage\n\nIf you installed using CocoaPods or manually:\n```swift\nimport CocoaLumberjack\n```\n\n```swift\nDDLog.add(DDTTYLogger.sharedInstance) // TTY = Xcode console\nDDLog.add(DDASLLogger.sharedInstance) // ASL = Apple System Logs\n\nlet fileLogger: DDFileLogger = DDFileLogger() // File Logger\nfileLogger.rollingFrequency = TimeInterval(60*60*24)  // 24 hours\nfileLogger.logFileManager.maximumNumberOfLogFiles = 7\nDDLog.add(fileLogger)\n\n...\n\nDDLogVerbose(\"Verbose\")\nDDLogDebug(\"Debug\")\nDDLogInfo(\"Info\")\nDDLogWarn(\"Warn\")\nDDLogError(\"Error\")\n```\n\n##### Obj-C version via CocoaPods\n\n```ruby\nplatform :ios, '7.0'\npod 'CocoaLumberjack'\n```\n\n##### Obj-C usage\nIf you're using Lumberjack as a framework, you can `@import CocoaLumberjack`.\n\nOtherwise, `#import <CocoaLumberjack/CocoaLumberjack.h>`\n\n```objc\n[DDLog addLogger:[DDTTYLogger sharedInstance]]; // TTY = Xcode console\n[DDLog addLogger:[DDASLLogger sharedInstance]]; // ASL = Apple System Logs\n\nDDFileLogger *fileLogger = [[DDFileLogger alloc] init]; // File Logger\nfileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling\nfileLogger.logFileManager.maximumNumberOfLogFiles = 7;\n[DDLog addLogger:fileLogger];\n\n...\n\nDDLogVerbose(@\"Verbose\");\nDDLogDebug(@\"Debug\");\nDDLogInfo(@\"Info\");\nDDLogWarn(@\"Warn\");\nDDLogError(@\"Error\");\n```\n\n##### Installation with Carthage (iOS 8+)\n\n[Carthage](https://github.com/Carthage/Carthage) is a lightweight dependency manager for Swift and Objective-C. It leverages CocoaTouch modules and is less invasive than CocoaPods.\n\nTo install with Carthage, follow the instruction on [Carthage](https://github.com/Carthage/Carthage)\n\nCartfile\n```\ngithub \"CocoaLumberjack/CocoaLumberjack\"\n```\n\n- or [install manually](Documentation/GettingStarted.md#manual-installation)\n- read the [Getting started](Documentation/GettingStarted.md) guide, check out the [FAQ](Documentation/FAQ.md) section or the other [docs](Documentation/)\n- if you find issues or want to suggest improvements, create an issue or a pull request\n- for all kinds of questions involving CocoaLumberjack, use the [Google group](http://groups.google.com/group/cocoalumberjack) or StackOverflow (use [#lumberjack](http://stackoverflow.com/questions/tagged/lumberjack)).\n\n### CocoaLumberjack 3\n\n#### Migrating to 3.x\n\n* To be determined\n\n### Features\n\n#### Lumberjack is Fast & Simple, yet Powerful & Flexible.\n\nIt is similar in concept to other popular logging frameworks such as log4j, yet is designed specifically for Objective-C, and takes advantage of features such as multi-threading, grand central dispatch (if available), lockless atomic operations, and the dynamic nature of the Objective-C runtime.\n\n#### Lumberjack is Fast\n\nIn most cases it is an order of magnitude faster than NSLog.\n\n#### Lumberjack is Simple\n\nIt takes as little as a single line of code to configure lumberjack when your application launches. Then simply replace your NSLog statements with DDLog statements and that's about it. (And the DDLog macros have the exact same format and syntax as NSLog, so it's super easy.)\n\n#### Lumberjack is Powerful:\n\nOne log statement can be sent to multiple loggers, meaning you can log to a file and the console simultaneously. Want more? Create your own loggers (it's easy) and send your log statements over the network. Or to a database or distributed file system. The sky is the limit.\n\n#### Lumberjack is Flexible:\n\nConfigure your logging however you want. Change log levels per file (perfect for debugging). Change log levels per logger (verbose console, but concise log file). Change log levels per xcode configuration (verbose debug, but concise release). Have your log statements compiled out of the release build. Customize the number of log levels for your application. Add your own fine-grained logging. Dynamically change log levels during runtime. Choose how & when you want your log files to be rolled. Upload your log files to a central server. Compress archived log files to save disk space...\n\n### This framework is for you if:\n\n-   You're looking for a way to track down that impossible-to-reproduce bug that keeps popping up in the field.\n-   You're frustrated with the super short console log on the iPhone.\n-   You're looking to take your application to the next level in terms of support and stability.\n-   You're looking for an enterprise level logging solution for your application (Mac or iPhone).\n\n### Documentation\n\n- **[Get started using Lumberjack](Documentation/GettingStarted.md)**<br/>\n- [Different log levels for Debug and Release builds](Documentation/XcodeTricks.md)<br/>\n- [Different log levels for each logger](Documentation/PerLoggerLogLevels.md)<br/>\n- [Use colors in the Xcode debugging console](Documentation/XcodeColors.md)<br/>\n- [Write your own custom formatters](Documentation/CustomFormatters.md)<br/>\n- [FAQ](Documentation/FAQ.md)<br/>\n- [Analysis of performance with benchmarks](Documentation/Performance.md)<br/>\n- [Common issues you may encounter and their solutions](Documentation/ProblemSolution.md)<br/>\n- [AppCode support](Documentation/AppCode-support.md)\n- **[Full Lumberjack documentation](Documentation/)**<br/>\n\n### Requirements \nThe current version of Lumberjack requires:\n- Xcode 9 or later\n- Swift 4.0 or later\n- iOS 6 or later\n- OS X 10.8 or later\n- WatchOS 2 or later\n- TVOS 9 or later\n\n#### Backwards compability\n- for iOS 5 and OS X 10.7, use the 3.3 version\n- for Xcode 8 and Swift 3, use the 3.2 version\n- for Xcode 7.3 and Swift 2.3, use the 2.4.0 version\n- for Xcode 7.3 and Swift 2.2, use the 2.3.0 version\n- for Xcode 7.2 and 7.1, use the 2.2.0 version\n- for Xcode 7.0 or earlier, use the 2.1.0 version\n- for Xcode 6 or earlier, use the 2.0.x version\n- for OS X < 10.7 support, use the 1.6.0 version\n\n### Communication\n\n- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/lumberjack). (Tag 'lumberjack')\n- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/lumberjack).\n- If you **found a bug**, open an issue.\n- If you **have a feature request**, open an issue.\n- If you **want to contribute**, submit a pull request.\n\n### Author\n- [Robbie Hanson](https://github.com/robbiehanson)\n- Love the project? Wanna buy me a coffee? (or a beer :D) [![donation](http://www.paypal.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UZRA26JPJB3DA)\n\n### Collaborators\n- [Ernesto Rivera](https://github.com/rivera-ernesto)\n- [Dmitry Vorobyov](https://github.com/dvor)\n- [Bogdan Poplauschi](https://github.com/bpoplauschi)\n- [C.W. Betts](https://github.com/MaddTheSane)\n\n### License\n- CocoaLumberjack is available under the BSD license. See the [LICENSE file](https://github.com/CocoaLumberjack/CocoaLumberjack/blob/master/LICENSE.txt).\n\n### Architecture\n\n<p align=\"center\" >\n    <img src=\"Documentation/CocoaLumberjackClassDiagram.png\" title=\"CocoaLumberjack class diagram\">\n</p>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Tests/CocoaLumberjack Tests.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t00050816ADA1AE636DC9E20D /* Pods_iOS_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6C482E729E790B10F0513D4B /* Pods_iOS_Tests.framework */; };\n\t\t127BFA7C51A74CD671B24C5B /* Pods_OS_X_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F81D12D74290B60D80C6DA6C /* Pods_OS_X_Tests.framework */; };\n\t\t432B534D1AAE43A200843E69 /* DDBasicLoggingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 432B534C1AAE43A200843E69 /* DDBasicLoggingTests.m */; };\n\t\t432B534E1AAE43A200843E69 /* DDBasicLoggingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 432B534C1AAE43A200843E69 /* DDBasicLoggingTests.m */; };\n\t\tE982AAF21AE2C25800088365 /* DDLogTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E982AAF11AE2C25800088365 /* DDLogTests.m */; };\n\t\tE982AAF31AE2C25800088365 /* DDLogTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E982AAF11AE2C25800088365 /* DDLogTests.m */; };\n\t\tE9D3C9E31AE28AF400E795C5 /* DDLogMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D3C9E21AE28AF400E795C5 /* DDLogMessageTests.m */; };\n\t\tE9D3C9E41AE28AF400E795C5 /* DDLogMessageTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D3C9E21AE28AF400E795C5 /* DDLogMessageTests.m */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXFileReference section */\n\t\t17864A1A7DAF83090B7162F9 /* Pods-iOS Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-iOS Tests.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-iOS Tests/Pods-iOS Tests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t1FBAD2AEB1CFD13496781C33 /* Pods-iOS Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-iOS Tests.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-iOS Tests/Pods-iOS Tests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t432B53331AAE423E00843E69 /* OS X Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"OS X Tests.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t432B53401AAE425D00843E69 /* iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"iOS Tests.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t432B534C1AAE43A200843E69 /* DDBasicLoggingTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDBasicLoggingTests.m; sourceTree = \"<group>\"; };\n\t\t6C482E729E790B10F0513D4B /* Pods_iOS_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_iOS_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t70242FDBEF27BBA94EEC35C6 /* Pods-OS X Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-OS X Tests.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-OS X Tests/Pods-OS X Tests.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tCCBAE26EBA1DD5C4D8EAF9A6 /* Pods-OS X Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-OS X Tests.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-OS X Tests/Pods-OS X Tests.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tDA1B17371AB067EF004705E8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tE982AAF11AE2C25800088365 /* DDLogTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLogTests.m; sourceTree = \"<group>\"; };\n\t\tE9D3C9E21AE28AF400E795C5 /* DDLogMessageTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDLogMessageTests.m; sourceTree = \"<group>\"; };\n\t\tF81D12D74290B60D80C6DA6C /* Pods_OS_X_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OS_X_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t432B53301AAE423E00843E69 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t127BFA7C51A74CD671B24C5B /* Pods_OS_X_Tests.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t432B533D1AAE425D00843E69 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t00050816ADA1AE636DC9E20D /* Pods_iOS_Tests.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t30ABC3155A7177493EA948DF /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tF81D12D74290B60D80C6DA6C /* Pods_OS_X_Tests.framework */,\n\t\t\t\t6C482E729E790B10F0513D4B /* Pods_iOS_Tests.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t432B531C1AAE40EB00843E69 = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tDA1B17371AB067EF004705E8 /* Info.plist */,\n\t\t\t\t432B534B1AAE437D00843E69 /* Tests */,\n\t\t\t\t432B53261AAE40EB00843E69 /* Products */,\n\t\t\t\tEE2F739390EADB37CFAD25A4 /* Pods */,\n\t\t\t\t30ABC3155A7177493EA948DF /* Frameworks */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t432B53261AAE40EB00843E69 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t432B53331AAE423E00843E69 /* OS X Tests.xctest */,\n\t\t\t\t432B53401AAE425D00843E69 /* iOS Tests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t432B534B1AAE437D00843E69 /* Tests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t432B534C1AAE43A200843E69 /* DDBasicLoggingTests.m */,\n\t\t\t\tE982AAF11AE2C25800088365 /* DDLogTests.m */,\n\t\t\t\tE9D3C9E21AE28AF400E795C5 /* DDLogMessageTests.m */,\n\t\t\t);\n\t\t\tpath = Tests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tEE2F739390EADB37CFAD25A4 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tCCBAE26EBA1DD5C4D8EAF9A6 /* Pods-OS X Tests.debug.xcconfig */,\n\t\t\t\t70242FDBEF27BBA94EEC35C6 /* Pods-OS X Tests.release.xcconfig */,\n\t\t\t\t17864A1A7DAF83090B7162F9 /* Pods-iOS Tests.debug.xcconfig */,\n\t\t\t\t1FBAD2AEB1CFD13496781C33 /* Pods-iOS Tests.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\t432B53321AAE423E00843E69 /* OS X Tests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 432B53391AAE423E00843E69 /* Build configuration list for PBXNativeTarget \"OS X Tests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t16B1521A8EE9E5D5CBE97556 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t432B532F1AAE423E00843E69 /* Sources */,\n\t\t\t\t432B53301AAE423E00843E69 /* Frameworks */,\n\t\t\t\t432B53311AAE423E00843E69 /* Resources */,\n\t\t\t\tB801088FC7B4648D3AC5E5AE /* [CP] Embed Pods Frameworks */,\n\t\t\t\t6DEC9181C5911441D2BA5DEB /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"OS X Tests\";\n\t\t\tproductName = \"OS X Tests\";\n\t\t\tproductReference = 432B53331AAE423E00843E69 /* OS X Tests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\t432B533F1AAE425D00843E69 /* iOS Tests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 432B53461AAE425E00843E69 /* Build configuration list for PBXNativeTarget \"iOS Tests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t5D3C36663DF09474D2F1B66D /* [CP] Check Pods Manifest.lock */,\n\t\t\t\t432B533C1AAE425D00843E69 /* Sources */,\n\t\t\t\t432B533D1AAE425D00843E69 /* Frameworks */,\n\t\t\t\t432B533E1AAE425D00843E69 /* Resources */,\n\t\t\t\tAD89C7C115865EBCE1F715F3 /* [CP] Embed Pods Frameworks */,\n\t\t\t\tBAD1DCED40466DD93B18BF56 /* [CP] Copy Pods Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"iOS Tests\";\n\t\t\tproductName = \"iOS Tests\";\n\t\t\tproductReference = 432B53401AAE425D00843E69 /* iOS Tests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t432B531D1AAE40EB00843E69 /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0930;\n\t\t\t\tORGANIZATIONNAME = deusty;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t432B53321AAE423E00843E69 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t\t432B533F1AAE425D00843E69 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.1.1;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 432B53201AAE40EB00843E69 /* Build configuration list for PBXProject \"CocoaLumberjack Tests\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = 432B531C1AAE40EB00843E69;\n\t\t\tproductRefGroup = 432B53261AAE40EB00843E69 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t432B53321AAE423E00843E69 /* OS X Tests */,\n\t\t\t\t432B533F1AAE425D00843E69 /* iOS Tests */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t432B53311AAE423E00843E69 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t432B533E1AAE425D00843E69 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t16B1521A8EE9E5D5CBE97556 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-OS X Tests-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t5D3C36663DF09474D2F1B66D /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-iOS Tests-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\t6DEC9181C5911441D2BA5DEB /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-OS X Tests/Pods-OS X Tests-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tAD89C7C115865EBCE1F715F3 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-iOS Tests/Pods-iOS Tests-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack-iOS/CocoaLumberjack.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/Expecta-iOS/Expecta.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/OCMock-iOS/OCMock.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Expecta.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-iOS Tests/Pods-iOS Tests-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tB801088FC7B4648D3AC5E5AE /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${SRCROOT}/Pods/Target Support Files/Pods-OS X Tests/Pods-OS X Tests-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack-macOS/CocoaLumberjack.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/Expecta-macOS/Expecta.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/OCMock-macOS/OCMock.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Expecta.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-OS X Tests/Pods-OS X Tests-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tBAD1DCED40466DD93B18BF56 /* [CP] Copy Pods Resources */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\tname = \"[CP] Copy Pods Resources\";\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${SRCROOT}/Pods/Target Support Files/Pods-iOS Tests/Pods-iOS Tests-resources.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t432B532F1AAE423E00843E69 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE982AAF21AE2C25800088365 /* DDLogTests.m in Sources */,\n\t\t\t\tE9D3C9E31AE28AF400E795C5 /* DDLogMessageTests.m in Sources */,\n\t\t\t\t432B534D1AAE43A200843E69 /* DDBasicLoggingTests.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t432B533C1AAE425D00843E69 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tE982AAF31AE2C25800088365 /* DDLogTests.m in Sources */,\n\t\t\t\tE9D3C9E41AE28AF400E795C5 /* DDLogMessageTests.m in Sources */,\n\t\t\t\t432B534E1AAE43A200843E69 /* DDBasicLoggingTests.m in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin XCBuildConfiguration section */\n\t\t432B532A1AAE40EB00843E69 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t432B532B1AAE40EB00843E69 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = YES;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t432B533A1AAE423E00843E69 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = CCBAE26EBA1DD5C4D8EAF9A6 /* Pods-OS X Tests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t432B533B1AAE423E00843E69 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 70242FDBEF27BBA94EEC35C6 /* Pods-OS X Tests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t432B53471AAE425E00843E69 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 17864A1A7DAF83090B7162F9 /* Pods-iOS Tests.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t432B53481AAE425E00843E69 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 1FBAD2AEB1CFD13496781C33 /* Pods-iOS Tests.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tINFOPLIST_FILE = Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.deusty.$(PRODUCT_NAME:rfc1034identifier)\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t432B53201AAE40EB00843E69 /* Build configuration list for PBXProject \"CocoaLumberjack Tests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t432B532A1AAE40EB00843E69 /* Debug */,\n\t\t\t\t432B532B1AAE40EB00843E69 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t432B53391AAE423E00843E69 /* Build configuration list for PBXNativeTarget \"OS X Tests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t432B533A1AAE423E00843E69 /* Debug */,\n\t\t\t\t432B533B1AAE423E00843E69 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t432B53461AAE425E00843E69 /* Build configuration list for PBXNativeTarget \"iOS Tests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t432B53471AAE425E00843E69 /* Debug */,\n\t\t\t\t432B53481AAE425E00843E69 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 432B531D1AAE40EB00843E69 /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Tests/CocoaLumberjack Tests.xcodeproj/xcshareddata/xcschemes/OS X Tests.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"NO\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"432B53321AAE423E00843E69\"\n               BuildableName = \"OS X Tests.xctest\"\n               BlueprintName = \"OS X Tests\"\n               ReferencedContainer = \"container:CocoaLumberjack Tests.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      codeCoverageEnabled = \"YES\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"432B53321AAE423E00843E69\"\n               BuildableName = \"OS X Tests.xctest\"\n               BlueprintName = \"OS X Tests\"\n               ReferencedContainer = \"container:CocoaLumberjack Tests.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"432B53321AAE423E00843E69\"\n            BuildableName = \"OS X Tests.xctest\"\n            BlueprintName = \"OS X Tests\"\n            ReferencedContainer = \"container:CocoaLumberjack Tests.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Tests/CocoaLumberjack Tests.xcodeproj/xcshareddata/xcschemes/iOS Tests.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"NO\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"432B533F1AAE425D00843E69\"\n               BuildableName = \"iOS Tests.xctest\"\n               BlueprintName = \"iOS Tests\"\n               ReferencedContainer = \"container:CocoaLumberjack Tests.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      codeCoverageEnabled = \"YES\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"432B533F1AAE425D00843E69\"\n               BuildableName = \"iOS Tests.xctest\"\n               BlueprintName = \"iOS Tests\"\n               ReferencedContainer = \"container:CocoaLumberjack Tests.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"432B533F1AAE425D00843E69\"\n            BuildableName = \"iOS Tests.xctest\"\n            BlueprintName = \"iOS Tests\"\n            ReferencedContainer = \"container:CocoaLumberjack Tests.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Tests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Tests/Podfile",
    "content": "source 'https://github.com/CocoaPods/Specs'\n\nuse_frameworks!\n\nxcodeproj 'CocoaLumberjack Tests'\nworkspace '../Framework/Lumberjack'\ninhibit_all_warnings!\n\ndef import_pods\n  pod 'Expecta'\n  pod 'OCMock'\n  pod 'CocoaLumberjack', :path => '../'\nend\n\ntarget :'iOS Tests' do\n  platform :ios, '6.0'\n  import_pods\nend\n\ntarget :'OS X Tests' do\n  platform :osx, '10.8'\n  import_pods\nend\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Tests/Tests/DDBasicLoggingTests.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2014-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n\n\n@import XCTest;\n#import \"CocoaLumberjack.h\"\n#import <OCMock/OCMock.h>\n#import <Expecta/Expecta.h>\n\n\nconst NSTimeInterval kAsyncExpectationTimeout = 3.0f;\n\nDDLogLevel ddLogLevel = DDLogLevelVerbose;\n\n@interface DDBasicLoggingTests : XCTestCase\n\n@property (nonatomic, strong) NSArray *logs;\n@property (nonatomic, strong) XCTestExpectation *expectation;\n@property (nonatomic, strong) DDAbstractLogger *logger;\n@property (nonatomic, assign) NSUInteger noOfMessagesLogged;\n\n@end\n\n@implementation DDBasicLoggingTests\n\n- (void)setUp {\n    [super setUp];\n    \n    if (self.logger == nil) {\n        self.logger = OCMPartialMock([[DDAbstractLogger alloc] init]);\n        \n        __weak typeof(self)weakSelf = self;\n        \n        OCMStub([self.logger logMessage:[OCMArg checkWithBlock:^BOOL(id obj) {\n            __strong __typeof(weakSelf)strongSelf = weakSelf;\n            \n            DDLogMessage *message = (DDLogMessage *)obj;\n            \n            expect(strongSelf.logs).to.contain(message.message);\n            \n            strongSelf.noOfMessagesLogged++;\n            \n            if (strongSelf.noOfMessagesLogged == [strongSelf.logs count]) {\n                [self.expectation fulfill];\n            }\n            \n            return YES;\n        }]]);\n    }\n    \n    [DDLog removeAllLoggers];\n    [DDLog addLogger:[DDTTYLogger sharedInstance]];\n    [DDLog addLogger:self.logger];\n    \n    ddLogLevel = DDLogLevelVerbose;\n    \n    self.logs = @[];\n    self.expectation = nil;\n    self.noOfMessagesLogged = 0;\n}\n\n- (void)testAll5DefaultLevelsAsync {\n    self.expectation = [self expectationWithDescription:@\"default log levels\"];\n    self.logs = @[ @\"Error\", @\"Warn\", @\"Info\", @\"Debug\", @\"Verbose\" ];\n    \n    DDLogError  (@\"Error\");\n    DDLogWarn   (@\"Warn\");\n    DDLogInfo   (@\"Info\");\n    DDLogDebug  (@\"Debug\");\n    DDLogVerbose(@\"Verbose\");\n    \n    [self waitForExpectationsWithTimeout:kAsyncExpectationTimeout handler:^(NSError *timeoutError) {\n        expect(timeoutError).to.beNil();\n    }];\n}\n\n- (void)testLoggerLogLevelAsync {\n    self.expectation = [self expectationWithDescription:@\"logger level\"];\n    self.logs = @[ @\"Error\", @\"Warn\" ];\n    \n    [DDLog removeLogger:self.logger];\n    [DDLog addLogger:self.logger withLevel:DDLogLevelWarning];\n    \n    DDLogError  (@\"Error\");\n    DDLogWarn   (@\"Warn\");\n    DDLogInfo   (@\"Info\");\n    DDLogDebug  (@\"Debug\");\n    DDLogVerbose(@\"Verbose\");\n    \n    [self waitForExpectationsWithTimeout:kAsyncExpectationTimeout handler:^(NSError *timeoutError) {\n        expect(timeoutError).to.beNil();\n    }];\n}\n\n- (void)testX_ddLogLevel_async {\n    self.expectation = [self expectationWithDescription:@\"ddLogLevel\"];\n    self.logs = @[ @\"Error\", @\"Warn\", @\"Info\" ];\n    \n    ddLogLevel = DDLogLevelInfo;\n    \n    DDLogError  (@\"Error\");\n    DDLogWarn   (@\"Warn\");\n    DDLogInfo   (@\"Info\");\n    DDLogDebug  (@\"Debug\");\n    DDLogVerbose(@\"Verbose\");\n    \n    [self waitForExpectationsWithTimeout:kAsyncExpectationTimeout handler:^(NSError *timeoutError) {\n        expect(timeoutError).to.beNil();\n    }];\n    \n    ddLogLevel = DDLogLevelVerbose;\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Tests/Tests/DDLogMessageTests.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2014-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n//\n//  Created by Pavel Kunc on 18/04/2015.\n//\n\n@import XCTest;\n#import <Expecta/Expecta.h>\n#import \"DDLog.h\"\n\nstatic NSString * const kDefaultMessage = @\"Log message\";\n\n@interface DDLogMessage (TestHelpers)\n+ (DDLogMessage *)test_message;\n+ (DDLogMessage *)test_messageWithMessage:(NSString *)message;\n+ (DDLogMessage *)test_messageWithFunction:(NSString *)function options:(DDLogMessageOptions)options;\n+ (DDLogMessage *)test_messageWithFile:(NSString *)file options:(DDLogMessageOptions)options;\n\n@end\n\n@implementation DDLogMessage (TestHelpers)\n+ (DDLogMessage *)test_message {\n    return [[DDLogMessage alloc] initWithMessage:kDefaultMessage\n                                           level:DDLogLevelDebug\n                                            flag:DDLogFlagError\n                                         context:1\n                                            file:@(__FILE__)\n                                        function:@(__func__)\n                                            line:__LINE__\n                                             tag:NULL\n                                         options:(DDLogMessageOptions)0\n                                       timestamp:nil];\n}\n\n+ (DDLogMessage *)test_messageWithMessage:(NSString *)message {\n    return [[DDLogMessage alloc] initWithMessage:message\n                                           level:DDLogLevelDebug\n                                            flag:DDLogFlagError\n                                         context:1\n                                            file:@(__FILE__)\n                                        function:@(__func__)\n                                            line:__LINE__\n                                             tag:NULL\n                                         options:(DDLogMessageOptions)0\n                                       timestamp:nil];\n}\n\n+ (DDLogMessage *)test_messageWithFunction:(NSString *)function\n                                   options:(DDLogMessageOptions)options {\n    return [[DDLogMessage alloc] initWithMessage:kDefaultMessage\n                                           level:DDLogLevelDebug\n                                            flag:DDLogFlagError\n                                         context:1\n                                            file:@(__FILE__)\n                                        function:function\n                                            line:__LINE__\n                                             tag:NULL\n                                         options:options\n                                       timestamp:nil];\n}\n\n+ (DDLogMessage *)test_messageWithFile:(NSString *)file\n                               options:(DDLogMessageOptions)options {\n    return [[DDLogMessage alloc] initWithMessage:kDefaultMessage\n                                           level:DDLogLevelDebug\n                                            flag:DDLogFlagError\n                                         context:1\n                                            file:file\n                                        function:@(__func__)\n                                            line:__LINE__\n                                             tag:NULL\n                                         options:options\n                                       timestamp:nil];\n}\n\n+ (DDLogMessage *)test_messageWithTimestamp:(NSDate *)timestamp {\n    return [[DDLogMessage alloc] initWithMessage:kDefaultMessage\n                                           level:DDLogLevelDebug\n                                            flag:DDLogFlagError\n                                         context:1\n                                            file:@(__FILE__)\n                                        function:@(__func__)\n                                            line:__LINE__\n                                             tag:NULL\n                                         options:(DDLogMessageOptions)0\n                                       timestamp:timestamp];\n}\n\n@end\n\n\n@interface DDLogMessageTests : XCTestCase\n@property (nonatomic, strong, readwrite) DDLogMessage *message;\n@end\n\n@implementation DDLogMessageTests\n\n- (void)setUp {\n    [super setUp];\n    self.message = [DDLogMessage test_message];\n}\n\n- (void)tearDown {\n    [super tearDown];\n\n    self.message = nil;\n}\n\n#pragma mark - Message creation\n\n- (void)testInitSetsAllPassedParameters {\n    NSDate *referenceDate  = [NSDate dateWithTimeIntervalSince1970:0];\n    self.message =\n        [[DDLogMessage alloc] initWithMessage:kDefaultMessage\n                                        level:DDLogLevelDebug\n                                         flag:DDLogFlagError\n                                      context:1\n                                         file:@\"DDLogMessageTests.m\"\n                                     function:@\"testInitSetsAllPassedParameters\"\n                                         line:50\n                                          tag:NULL\n                                         options:DDLogMessageCopyFile\n                                         timestamp:referenceDate];\n\n    expect(self.message.message).to.equal(@\"Log message\");\n    expect(self.message.level).to.equal(DDLogLevelDebug);\n    expect(self.message.flag).to.equal(DDLogFlagError);\n    expect(self.message.context).to.equal(1);\n    expect(self.message.file).to.equal(@\"DDLogMessageTests.m\");\n    expect(self.message.function).to.equal(@\"testInitSetsAllPassedParameters\");\n    expect(self.message.line).to.equal(50);\n    expect(self.message.tag).to.equal(NULL);\n    expect(self.message.options).to.equal(DDLogMessageCopyFile);\n    expect(self.message.timestamp).to.equal(referenceDate);\n}\n\n- (void)testInitCopyMessageParameter {\n    NSMutableString *message = [NSMutableString stringWithString:@\"Log message\"];\n    self.message = [DDLogMessage test_messageWithMessage:message];\n    [message appendString:@\" changed\"];\n    expect(self.message.message).to.equal(@\"Log message\");\n}\n\n- (void)testInitSetsCurrentDateToTimestampIfItIsNotProvided {\n    expect(fabs([self.message.timestamp timeIntervalSinceNow])).to.beLessThanOrEqualTo(5);\n}\n\n- (void)testInitSetsThreadIDToCurrentThreadID {\n    expect(self.message.threadID).notTo.beNil();\n}\n\n- (void)testInitSetsThreadNameToCurrentThreadName {\n    expect(self.message.threadName).to.equal(NSThread.currentThread.name);\n}\n\n- (void)testInitSetsFileNameToFilenameWithoutExtensionIfItHasExtension {\n    expect(self.message.fileName).to.equal(@\"DDLogMessageTests\");\n}\n\n- (void)testInitSetsFileNameToFilenameIfItHasNotExtension {\n    self.message = [DDLogMessage test_messageWithFile:@\"no-extenstion\" options:(DDLogMessageOptions)0];\n    expect(self.message.fileName).to.equal(@\"no-extenstion\");\n}\n\n//TODO: How to test this for different SDK versions? (pavel, Sat 18 Apr 15:35:46 2015)\n- (void)testInitSetsQueueLabelToQueueWeCurrentlyRun {\n    // We're running on main thread\n    expect(self.message.queueLabel).to.equal(@\"com.apple.main-thread\");\n}\n\n\n- (void)testInitAssignsFileParameterWithoutCopyFileOption {\n    NSMutableString *file = [NSMutableString stringWithString:@\"file\"];\n    self.message = [DDLogMessage test_messageWithFile:file options:(DDLogMessageOptions)0];\n    expect(self.message.file).to.equal(@\"file\");\n    [file appendString:@\"file\"];\n    expect(self.message.file).to.equal(@\"filefile\");\n}\n\n- (void)testInitCopyFileParameterWithCopyFileOption {\n    NSMutableString *file = [NSMutableString stringWithString:@\"file\"];\n    self.message = [DDLogMessage test_messageWithFile:file options:DDLogMessageCopyFile];\n    expect(self.message.file).to.equal(@\"file\");\n    [file appendString:@\"file\"];\n    expect(self.message.file).to.equal(@\"file\");\n}\n\n- (void)testInitAssignFunctionParameterWithoutCopyFunctionOption {\n    NSMutableString *function = [NSMutableString stringWithString:@\"function\"];\n    self.message = [DDLogMessage test_messageWithFunction:function options:(DDLogMessageOptions)0];\n    expect(self.message.function).to.equal(@\"function\");\n    [function appendString:@\"function\"];\n    expect(self.message.function).to.equal(@\"functionfunction\");\n}\n\n- (void)testInitCopyFunctionParameterWithCopyFunctionOption {\n    NSMutableString *function = [NSMutableString stringWithString:@\"function\"];\n    self.message = [DDLogMessage test_messageWithFunction:function options:DDLogMessageCopyFunction];\n    expect(self.message.function).to.equal(@\"function\");\n    [function appendString:@\"function\"];\n    expect(self.message.function).to.equal(@\"function\");\n}\n\n- (void)testCopyWithZoneCreatesValidCopy {\n    DDLogMessage *copy = [self.message copy];\n    expect(self.message.message).to.equal(copy.message);\n    expect(self.message.level).to.equal(copy.level);\n    expect(self.message.flag).to.equal(copy.flag);\n    expect(self.message.context).to.equal(copy.context);\n    expect(self.message.file).to.equal(copy.file);\n    expect(self.message.fileName).to.equal(copy.fileName);\n    expect(self.message.function).to.equal(copy.function);\n    expect(self.message.line).to.equal(copy.line);\n    expect(self.message.tag).to.equal(copy.tag);\n    expect(self.message.options).to.equal(copy.options);\n    expect(self.message.timestamp).to.equal(copy.timestamp);\n    expect(self.message.threadID).to.equal(copy.threadID);\n    expect(self.message.threadName).to.equal(copy.threadName);\n    expect(self.message.queueLabel).to.equal(copy.queueLabel);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/Tests/Tests/DDLogTests.m",
    "content": "// Software License Agreement (BSD License)\n//\n// Copyright (c) 2014-2016, Deusty, LLC\n// All rights reserved.\n//\n// Redistribution and use of this software in source and binary forms,\n// with or without modification, are permitted provided that the following conditions are met:\n//\n// * Redistributions of source code must retain the above copyright notice,\n//   this list of conditions and the following disclaimer.\n//\n// * Neither the name of Deusty nor the names of its contributors may be used\n//   to endorse or promote products derived from this software without specific\n//   prior written permission of Deusty, LLC.\n//\n//  Created by Pavel Kunc on 18/04/2015.\n//\n\n@import XCTest;\n#import <Expecta/Expecta.h>\n#import \"DDLog.h\"\n\n@interface DDTestLogger : NSObject <DDLogger>\n@end\n@implementation DDTestLogger\n@end\n\n@interface DDLogTests : XCTestCase\n@end\n\n\n// The fact thath the DDLog is initialized using +initialize makes it a bit\n// dificult to test as the state of the class might be hanging there when\n// test examples are run in parallel. Trying to reset the DDLog before & after\n// each test.\n@implementation DDLogTests\n\n- (void)setUp {\n    [DDLog removeAllLoggers];\n    [super setUp];\n}\n\n- (void)tearDown {\n    [DDLog removeAllLoggers];\n    [super tearDown];\n}\n\n\n#pragma mark - Logger management\n\n- (void)testAddLoggerAddsNewLoggerWithDDLogLevelAll {\n    DDTestLogger *logger = [DDTestLogger new];\n    [DDLog addLogger:logger];\n    expect([DDLog allLoggers]).haveACountOf(1);\n}\n\n- (void)testAddLoggerWithLevelAddLoggerWithSpecifiedLevelMask {\n    DDTestLogger *logger = [DDTestLogger new];\n    [DDLog addLogger:logger withLevel:DDLogLevelDebug | DDLogLevelError];\n    expect([DDLog allLoggers]).haveACountOf(1);\n}\n\n- (void)testRemoveLoggerRemovesExistingLogger {\n    DDTestLogger *logger = [DDTestLogger new];\n    [DDLog addLogger:logger];\n    [DDLog addLogger:[DDTestLogger new]];\n    [DDLog removeLogger:logger];\n    expect([DDLog allLoggers]).haveACountOf(1);\n    expect([[DDLog allLoggers] firstObject]).notTo.beIdenticalTo(logger);\n}\n\n- (void)testRemoveAllLoggersRemovesAllLoggers {\n    [DDLog addLogger:[DDTestLogger new]];\n    [DDLog addLogger:[DDTestLogger new]];\n    [DDLog removeAllLoggers];\n    expect([DDLog allLoggers]).to.beEmpty();\n}\n\n- (void)testAllLoggersReturnsAllLoggers {\n    [DDLog addLogger:[DDTestLogger new]];\n    [DDLog addLogger:[DDTestLogger new]];\n    expect([DDLog allLoggers]).haveACountOf(2);\n}\n\n- (void)testAllLoggersWithLevelReturnsAllLoggersWithLevel {\n    [DDLog addLogger:[DDTestLogger new]];\n    [DDLog addLogger:[DDTestLogger new] withLevel:DDLogLevelDebug];\n    [DDLog addLogger:[DDTestLogger new] withLevel:DDLogLevelInfo];\n    expect([DDLog allLoggersWithLevel]).haveACountOf(3);\n    expect([[[DDLog allLoggersWithLevel] firstObject] level]).to.equal(DDLogLevelAll);\n    expect([[DDLog allLoggersWithLevel][1] level]).to.equal(DDLogLevelDebug);\n    expect([[DDLog allLoggersWithLevel][2] level]).to.equal(DDLogLevelInfo);\n}\n\n@end\n"
  },
  {
    "path": "Carthage/Checkouts/CocoaLumberjack/uncrustify.cfg",
    "content": "#\n# Uncrustify Configuration File\n# File Created With UncrustifyX 0.2 (140)\n#\n \n# Alignment\n# ---------\n \n## Alignment\n \n# Align obj-c declaration params on colon\nalign_oc_decl_colon                     = true          # boolean (false/true)\n \n# Align on tabstop\nalign_on_tabstop                        = false         # boolean (false/true)\n \n# Align variable definitions\nalign_func_params                       = true          # boolean (false/true)\n \n# Align with tabs\nalign_with_tabs                         = false         # boolean (false/true)\n \n# Keep non-indenting tabs\nalign_keep_tabs                         = false         # boolean (false/true)\n\n# Align macros wrapped with backslash and newline\nalign_nl_cont                           = true          # boolean (false/true)\n \n## Alignment Span\n \n# Alignment span for #define bodies\nalign_pp_define_span                    = 8             # number\n \n# Alignment span for equals in enums\nalign_enum_equ_span                     = 4             # number\n \n# Alignment span for obj-c message colons\nalign_oc_msg_colon_span                 = 20            # number\n \n# Alignment span for obj-c message spec\nalign_oc_msg_spec_span                  = 0             # number\n \n# Alignment span for single-line typedefs\nalign_typedef_span                      = 5             # number\n \n# Alignment span for struct initializer values\nalign_struct_init_span                  = 4             # number\n \n# Alignment span for trailing comments\nalign_right_cmt_span                    = 8             # number\n \n## Alignment Style\n \n# Alignment style for star in variable definitions\nalign_var_def_star_style                = 1             # number\n \n## Gap\n \n# Minimum gap between type and synonym of typedef\nalign_typedef_gap                       = 3             # number\n \n# Minimum gap for trailing comment\nalign_right_cmt_gap                     = 8             # number\n \n## Other\n \n# Always align with first parameter in obj-c message\nalign_oc_msg_colon_first                = true          # boolean (false/true)\n \n# Blank Lines\n# -----------\n \n## Newline Count After\n \n# Newline count after function body\nnl_after_func_body                      = 2             # number\n \n# Newline count after single-line function body\nnl_after_func_body_one_liner            = 2             # number\n \n# Newline count after variable definition block\nnl_func_var_def_blk                     = 1             # number\n \n## Other\n \n# Remove blank lines after open brace\neat_blanks_after_open_brace             = true          # boolean (false/true)\n \n# Remove blank lines before close brace\neat_blanks_before_close_brace           = true          # boolean (false/true)\n \n# Code-Modifying\n# --------------\n \n## Braces\n \n# Braces around statments that span N newlines\nmod_full_brace_nl                       = 3             # number\n \n# Braces on single-line do statement\nmod_full_brace_do                       = ignore        # string (add/force/ignore/remove)\n \n# Braces on single-line else statement\nmod_full_brace_if                       = force        # string (add/force/ignore/remove)\n \n# Braces on single-line for statement\nmod_full_brace_for                      = add           # string (add/force/ignore/remove)\n \n# Braces on single-line while statement\nmod_full_brace_while                    = remove        # string (add/force/ignore/remove)\n \n## Comments\n \n# Add comment after ifdef/else statement of size\nmod_add_long_ifdef_else_comment         = 20            # number\n \n# Add comment after ifdef/endif statement of size\nmod_add_long_ifdef_endif_comment        = 20            # number\n \n## Parentheses\n \n# Remove unnecessary parentheses on return statement\nmod_paren_on_return                     = ignore        # string (add/force/ignore/remove)\n \n## Semicolons\n \n# Remove superflous semicolons\nmod_remove_extra_semicolon              = true          # boolean (false/true)\n \n# Comments\n# --------\n \n## Empty Lines\n \n# Empty first line for multi-line C comments\ncmt_c_nl_start                          = true          # boolean (false/true)\n \n# Empty first line for multi-line C++ comments\ncmt_cpp_nl_start                        = true          # boolean (false/true)\n \n## Other\n \n# Stars on multi-line comments\ncmt_star_cont                           = false         # boolean (false/true)\n \n# General\n# -------\n \n## Other\n \n# Newline character\nnewlines                                = lf            # string (auto/cr/crlf/lf)\n \n# Output tab size\noutput_tab_size                         = 4             # number\n \n# Indentation\n# -----------\n \n## Indentation\n \n# Indent obj-c block\nindent_oc_block                         = true          # boolean (false/true)\n \n## Indentation Size\n \n# Indentation column size\nindent_columns                          = 4             # number\n \n# Indentation size between case and switch\nindent_switch_case                      = 4             # number\n \n# Indentation size for obj-c blocks in a message parameter\nindent_oc_block_msg                     = 4             # number\n \n# Indentation size for obj-c message subsequent parameters\nindent_oc_msg_colon                     = 4             # number\n \n## Other\n \n# Align continued statements at equals\nindent_align_assign                     = false         # boolean (false/true)\n \n# Indent goto labels\nindent_label                            = 2             # number\n \n# Indent with tabs\nindent_with_tabs                        = 0             # number\n \n# Newlines\n# --------\n \n## Merging\n \n# Change unbraced if statements into one-liner\nnl_create_if_one_liner                  = true          # boolean (false/true)\n \n## Newline After\n \n# Newline after brace open\nnl_after_brace_open                     = true         # boolean (false/true)\n \n# Newline after for\nnl_after_for                            = force         # string (add/force/ignore/remove)\n \n# Newline after if\nnl_after_if                             = force         # string (add/force/ignore/remove)\n \n# Newline after macro multi-line definition\nnl_multi_line_define                    = true          # boolean (false/true)\n \n# Newline after return\nnl_after_return                         = true          # boolean (false/true)\n \n## Newline Before\n \n# Newline before case statement\nnl_before_case                          = true          # boolean (false/true)\n \n# Newline before for\nnl_before_for                           = force         # string (add/force/ignore/remove)\n \n# Newline before if\nnl_before_if                            = force         # string (add/force/ignore/remove)\n \n# Newline before while\nnl_before_while                         = force         # string (add/force/ignore/remove)\n \n## Newline Between\n \n# Newline between case colon and open brace\nnl_case_colon_brace                     = remove        # string (add/force/ignore/remove)\n \n# Newline between catch and open brace\nnl_catch_brace                          = remove        # string (add/force/ignore/remove)\n \n# Newline between close brace and catch\nnl_brace_catch                          = remove        # string (add/force/ignore/remove)\n \n# Newline between close brace and else\nnl_brace_else                           = remove        # string (add/force/ignore/remove)\n \n# Newline between close brace and finally\nnl_brace_finally                        = remove        # string (add/force/ignore/remove)\n \n# Newline between close brace and while\nnl_brace_while                          = remove        # string (add/force/ignore/remove)\n \n# Newline between close parenthesis and open brace in multi line conditional\nnl_multi_line_cond                      = false         # boolean (false/true)\n \n# Newline between do and open brace\nnl_do_brace                             = remove        # string (add/force/ignore/remove)\n \n# Newline between else and open brace\nnl_else_brace                           = remove        # string (add/force/ignore/remove)\n \n# Newline between else if and open brace\nnl_elseif_brace                         = remove        # string (add/force/ignore/remove)\n \n# Newline between enum and open brace\nnl_enum_brace                           = remove        # string (add/force/ignore/remove)\n \n# Newline between finally and open brace\nnl_finally_brace                        = remove        # string (add/force/ignore/remove)\n \n# Newline between for and open brace\nnl_for_brace                            = remove        # string (add/force/ignore/remove)\n \n# Newline between function call and open brace\nnl_fcall_brace                          = remove        # string (add/force/ignore/remove)\n \n# Newline between function signature and open brace\nnl_fdef_brace                           = remove        # string (add/force/ignore/remove)\n \n# Newline between if and open brace\nnl_if_brace                             = remove        # string (add/force/ignore/remove)\n \n# Newline between struct and open brace\nnl_struct_brace                         = remove        # string (add/force/ignore/remove)\n \n# Newline between switch and open brace\nnl_switch_brace                         = remove        # string (add/force/ignore/remove)\n \n# Newline between try and open brace\nnl_try_brace                            = remove        # string (add/force/ignore/remove)\n \n# Newline between union and open brace\nnl_union_brace                          = remove        # string (add/force/ignore/remove)\n \n# Newline between while and open brace\nnl_while_brace                          = remove        # string (add/force/ignore/remove)\n \n## Other\n \n# Don't split one-line obj-c messages\nnl_oc_msg_leave_one_liner               = true          # boolean (false/true)\n \n# Newlines at end of file\nnl_end_of_file                          = add           # string (add/force/ignore/remove)\n \n# Place obj-c message parameters on new lines\nnl_oc_msg_args                          = true          # boolean (false/true)\n\n# Whether to alter newlines in '#define' macros\nnl_define_macro                         = true          # boolean (false/true)\n \n# Spacing\n# -------\n \n## Space After\n \n# Space after C++ comment opening\nsp_cmt_cpp_start                        = ignore        # string (add/force/ignore/remove)\n \n# Space after cast\nsp_after_cast                           = remove        # string (add/force/ignore/remove)\n \n# Space after class colon\nsp_after_class_colon                    = force         # string (add/force/ignore/remove)\n \n# Space after comma\nsp_after_comma                          = add           # string (add/force/ignore/remove)\n \n# Space after condition close parenthesis\nsp_after_sparen                         = force         # string (add/force/ignore/remove)\n \n# Space after obj-c block caret\nsp_after_oc_block_caret                 = remove        # string (add/force/ignore/remove)\n \n# Space after obj-c colon\nsp_after_oc_colon                       = remove        # string (add/force/ignore/remove)\n \n# Space after obj-c dictionary colon\nsp_after_oc_dict_colon                  = add           # string (add/force/ignore/remove)\n \n# Space after obj-c message colon\nsp_after_send_oc_colon                  = remove        # string (add/force/ignore/remove)\n \n# Space after obj-c property\nsp_after_oc_property                    = add           # string (add/force/ignore/remove)\n \n# Space after obj-c return type\nsp_after_oc_return_type                 = remove        # string (add/force/ignore/remove)\n \n# Space after obj-c scope\nsp_after_oc_scope                       = force         # string (add/force/ignore/remove)\n \n# Space after obj-c type\nsp_after_oc_type                        = remove        # string (add/force/ignore/remove)\n \n# Space after pointer star\nsp_after_ptr_star                       = remove        # string (add/force/ignore/remove)\n \n# Space after pointer star followed by function\nsp_after_ptr_star_func                  = force         # string (add/force/ignore/remove)\n \n## Space Around\n \n# Space around arithmetic operators\nsp_arith                                = add           # string (add/force/ignore/remove)\n \n# Space around assignment operator\nsp_assign                               = add           # string (add/force/ignore/remove)\n \n# Space around boolean operators\nsp_bool                                 = add           # string (add/force/ignore/remove)\n \n# Space around compare operators\nsp_compare                              = add           # string (add/force/ignore/remove)\n \n# Space around ternary condition colon\nsp_cond_colon                           = force         # string (add/force/ignore/remove)\n \n# Space around ternary condition question mark\nsp_cond_question                        = force         # string (add/force/ignore/remove)\n \n## Space Before\n \n# Space before case colon\nsp_before_case_colon                    = remove        # string (add/force/ignore/remove)\n \n# Space before class colon\nsp_before_class_colon                   = force         # string (add/force/ignore/remove)\n \n# Space before if/for/switch/while open parenthesis\nsp_before_sparen                        = force         # string (add/force/ignore/remove)\n \n# Space before obj-c block caret\nsp_before_oc_block_caret                = ignore        # string (add/force/ignore/remove)\n \n# Space before obj-c colon\nsp_before_oc_colon                      = remove        # string (add/force/ignore/remove)\n \n# Space before obj-c dictionary colon\nsp_before_oc_dict_colon                 = remove        # string (add/force/ignore/remove)\n \n# Space before obj-c message colon\nsp_before_send_oc_colon                 = remove        # string (add/force/ignore/remove)\n \n# Space before pointer star\nsp_before_ptr_star                      = force         # string (add/force/ignore/remove)\n \n# Space before pointer star followed by function\nsp_before_ptr_star_func                 = force         # string (add/force/ignore/remove)\n \n# Space before unnamed pointer star\nsp_before_unnamed_ptr_star              = ignore        # string (add/force/ignore/remove)\n \n## Space Between\n \n# Space between @selector and open parenthesis\nsp_after_oc_at_sel                      = remove        # string (add/force/ignore/remove)\n \n# Space between catch and open brace\nsp_catch_brace                          = add           # string (add/force/ignore/remove)\n \n# Space between catch and open parenthesis\nsp_catch_paren                          = add           # string (add/force/ignore/remove)\n \n# Space between close brace and else\nsp_brace_else                           = force         # string (add/force/ignore/remove)\n \n# Space between close parenthesis and open brace\nsp_paren_brace                          = force         # string (add/force/ignore/remove)\n \n# Space between closing brace and catch\nsp_brace_catch                          = add           # string (add/force/ignore/remove)\n \n# Space between closing brace and finally\nsp_brace_finally                        = add           # string (add/force/ignore/remove)\n \n# Space between closing parenthesis and open brace\nsp_fparen_brace                         = force         # string (add/force/ignore/remove)\n \n# Space between else and open brace\nsp_else_brace                           = force         # string (add/force/ignore/remove)\n \n# Space between finally and open brace\nsp_finally_brace                        = add           # string (add/force/ignore/remove)\n \n# Space between function name and open parenthesis\nsp_func_call_paren                      = remove        # string (add/force/ignore/remove)\n \n# Space between function name and open parenthesis in declaration\nsp_func_proto_paren                     = remove        # string (add/force/ignore/remove)\n \n# Space between function name and open parenthesis in function definition\nsp_func_def_paren                       = remove        # string (add/force/ignore/remove)\n \n# Space between pointer stars\nsp_between_ptr_star                     = remove        # string (add/force/ignore/remove)\n \n# Space between sizeof and open parenthesis\nsp_sizeof_paren                         = remove        # string (add/force/ignore/remove)\n \n# Space between try and open brace\nsp_try_brace                            = add           # string (add/force/ignore/remove)\n \n## Space Inside\n \n# Space inside @selector() parens\nsp_inside_oc_at_sel_parens              = remove        # string (add/force/ignore/remove)\n \n# Space inside braces\nsp_inside_braces                        = add           # string (add/force/ignore/remove)\n \n# Space inside cast parentheses\nsp_inside_paren_cast                    = remove        # string (add/force/ignore/remove)\n \n# Space inside enum braces\nsp_inside_braces_enum                   = add           # string (add/force/ignore/remove)\n \n# Space inside function parentheses\nsp_inside_fparen                        = remove        # string (add/force/ignore/remove)\n \n# Space inside if-condition parentheses\nsp_inside_sparen                        = remove        # string (add/force/ignore/remove)\n \n# Space inside parentheses\nsp_inside_paren                         = remove        # string (add/force/ignore/remove)\n \n# Space inside parentheses in function type\nsp_inside_tparen                        = remove        # string (add/force/ignore/remove)\n \n# Space inside struct/union braces\nsp_inside_braces_struct                 = add           # string (add/force/ignore/remove)"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/.gitignore",
    "content": "\n# Created by https://www.gitignore.io/api/swift,osx,c\n\n### Swift ###\n# Xcode\n#\n# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore\n\n## Build generated\nbuild/\nDerivedData\n\n## Various settings\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n\n## Other\n*.xccheckout\n*.moved-aside\n*.xcuserstate\n*.xcscmblueprint\n\n## Obj-C/Swift specific\n*.hmap\n*.ipa\n\n# Swift Package Manager\n#\n# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.\n# Packages/\n.build/\n\n# CocoaPods\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control\n#\n# Pods/\n\n# Carthage\n#\n# Add this line if you want to avoid checking in source code from Carthage dependencies.\n# Carthage/Checkouts\n\nCarthage/Build\n\n# fastlane\n#\n# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the \n# screenshots whenever they are needed.\n# For more information about the recommended setup visit:\n# https://github.com/fastlane/fastlane/blob/master/docs/Gitignore.md\n\nfastlane/report.xml\nfastlane/screenshots\n\n\n### OSX ###\n.DS_Store\n.AppleDouble\n.LSOverride\n\n# Icon must end with two \\r\nIcon\r\r\n\n# Thumbnails\n._*\n\n# Files that might appear in the root of a volume\n.DocumentRevisions-V100\n.fseventsd\n.Spotlight-V100\n.TemporaryItems\n.Trashes\n.VolumeIcon.icns\n\n# Directories potentially created on remote AFP share\n.AppleDB\n.AppleDesktop\nNetwork Trash Folder\nTemporary Items\n.apdisk\n\n\n### C ###\n# Object files\n*.o\n*.ko\n*.obj\n*.elf\n\n# Precompiled Headers\n*.gch\n*.pch\n\n# Libraries\n*.lib\n*.a\n*.la\n*.lo\n\n# Shared objects (inc. Windows DLLs)\n*.dll\n*.so\n*.so.*\n*.dylib\n\n# Executables\n*.exe\n*.out\n*.app\n*.i*86\n*.x86_64\n*.hex\n\n# Debug files\n*.dSYM/\n\n\n# Ignore database file\nMMDB/GeoLite2-Country.mmdb"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/.swift-version",
    "content": "4.1\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/Info-OSX.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2017 lexrus.com. All rights reserved.</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/Info-iOS.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/MMDB.h",
    "content": "//\n//  MMDB.h\n//  MMDB\n//\n//  Created by Lex on 12/18/15.\n//  Copyright © 2017 lexrus.com. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n\n//! Project version number for MMDB.\nFOUNDATION_EXPORT double MMDBVersionNumber;\n\n//! Project version string for MMDB.\nFOUNDATION_EXPORT const unsigned char MMDBVersionString[];\n\n// In this header, you should import all the public headers of your framework using statements like #import <MMDB/PublicHeader.h>\n\n#import <MMDB/maxminddb.h>\n#import <MMDB/maxminddb-compat-util.h>\n#import <MMDB/maxminddb_unions.h>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/MMDB.swift",
    "content": "//\n//  MMDB.swift\n//  MMDB\n//\n//  Created by Lex on 12/16/15.\n//  Copyright © 2017 lexrus.com. All rights reserved.\n//\n\nimport Foundation\n\npublic struct MMDBContinent {\n    public var code: String?\n    public var names: [String: String]?\n}\n\npublic struct MMDBCountry: CustomStringConvertible {\n    public var continent = MMDBContinent()\n    public var isoCode = \"\"\n    public var names = [String: String]()\n\n    init(dictionary: NSDictionary) {\n        if let dict = dictionary[\"continent\"] as? NSDictionary,\n            let code = dict[\"code\"] as? String,\n            let continentNames = dict[\"names\"] as? [String: String]\n        {\n            continent.code = code\n            continent.names = continentNames\n        }\n        if let dict = dictionary[\"country\"] as? NSDictionary,\n            let iso = dict[\"iso_code\"] as? String,\n            let countryNames = dict[\"names\"] as? [String: String]\n        {\n            self.isoCode = iso\n            self.names = countryNames\n        }\n    }\n    \n    public var description: String {\n        var s = \"{\\n\"\n        s += \"  \\\"continent\\\": {\\n\"\n        s += \"    \\\"code\\\": \\\"\" + (self.continent.code ?? \"\") + \"\\\",\\n\"\n        s += \"    \\\"names\\\": {\\n\"\n        var i = continent.names?.count ?? 0\n        continent.names?.forEach {\n            s += \"      \\\"\"\n            s += $0.0 + \"\\\": \\\"\"\n            s += $0.1 + \"\\\"\"\n            s += (i > 1 ? \",\" : \"\")\n            s += \"\\n\"\n            i -= 1\n        }\n        s += \"    }\\n\"\n        s += \"  },\\n\"\n        s += \"  \\\"isoCode\\\": \\\"\" + self.isoCode + \"\\\",\\n\"\n        s += \"  \\\"names\\\": {\\n\"\n        i = names.count\n        names.forEach {\n            s += \"    \\\"\"\n            s += $0.0 + \"\\\": \\\"\"\n            s += $0.1 + \"\\\"\"\n            s += (i > 1 ? \",\" : \"\")\n            s += \"\\n\"\n            i -= 1\n        }\n        s += \"  }\\n}\"\n        return s\n    }\n}\n\nfinal public class MMDB {\n\n    fileprivate var db = MMDB_s()\n\n    fileprivate typealias ListPtr = UnsafeMutablePointer<MMDB_entry_data_list_s>\n    fileprivate typealias StringPtr = UnsafeMutablePointer<String>\n\n    public init?(_ filename: String? = nil) {\n        if let filename = filename, openDB(atPath: filename) { return }\n\n        let path = Bundle(for: MMDB.self).path(forResource: \"GeoLite2-Country\", ofType: \"mmdb\")\n        if let path = path, openDB(atPath: path) { return }\n\n        return nil\n    }\n    private func openDB(atPath: String) -> Bool {\n        let cfilename = (atPath as NSString).utf8String\n        let cfilenamePtr = UnsafePointer<Int8>(cfilename)\n        let status = MMDB_open(cfilenamePtr, UInt32(MMDB_MODE_MASK), &db)\n        if status != MMDB_SUCCESS {\n            print(String(cString: MMDB_strerror(errno)))\n            return false\n        } else {\n            return true\n        }\n    }\n\n    fileprivate func lookupString(_ s: String) -> MMDB_lookup_result_s? {\n        let string = (s as NSString).utf8String\n        let stringPtr = UnsafePointer<Int8>(string)\n\n        var gaiError: Int32 = 0\n        var error: Int32 = 0\n\n        let result = MMDB_lookup_string(&db, stringPtr, &gaiError, &error)\n        if gaiError == noErr && error == noErr {\n            return result\n        }\n        return nil\n    }\n\n\n    fileprivate func getString(_ list: ListPtr) -> String {\n        var data = list.pointee.entry_data\n        let type = (Int32)(data.type)\n\n        // Ignore other useless keys\n        guard data.has_data && type == MMDB_DATA_TYPE_UTF8_STRING else {\n            return \"\"\n        }\n\n        let str = MMDB_get_entry_data_char(&data)\n        let size = size_t(data.data_size)\n        let cKey = mmdb_strndup(str, size)\n        let key = String(cString: cKey!)\n        free(cKey)\n\n        return key\n    }\n\n    fileprivate func getType(_ list: ListPtr) -> Int32 {\n        let data = list.pointee.entry_data\n        return (Int32)(data.type)\n    }\n\n    fileprivate func getSize(_ list: ListPtr) -> UInt32 {\n        return list.pointee.entry_data.data_size\n    }\n\n    private func dumpList(_ list: ListPtr?, toS: StringPtr) -> ListPtr? {\n        var list = list\n        switch getType(list!) {\n\n        case MMDB_DATA_TYPE_MAP:\n            toS.pointee += \"{\\n\"\n            var size = getSize(list!)\n\n            list = list?.pointee.next\n            while size != 0 && list != nil {\n                toS.pointee += \"\\\"\" + getString(list!) + \"\\\":\"\n\n                list = list?.pointee.next\n                list = dumpList(list, toS: toS)\n                size -= 1\n            }\n            toS.pointee += \"},\"\n            break\n\n        case MMDB_DATA_TYPE_UTF8_STRING:\n            toS.pointee += \"\\\"\" + getString(list!) + \"\\\",\"\n            list = list?.pointee.next\n            break\n\n        case MMDB_DATA_TYPE_UINT32:\n            if let entryData = list?.pointee.entry_data {\n                var mutableEntryData = entryData\n                if let uint = MMDB_get_entry_data_uint32(&mutableEntryData) {\n                toS.pointee += String(\n                    format: \"%u\",\n                    uint\n                    ) + \",\"\n                }\n            }\n            list = list?.pointee.next\n            break\n\n        default: ()\n\n        }\n        \n        if let list = list {\n            return list\n        }\n        return nil\n    }\n\n    fileprivate func lookupJSON(_ s: String) -> String? {\n        guard let result = lookupString(s) else {\n            return nil\n        }\n\n        var entry = result.entry\n        var list: ListPtr?\n\n        let status = MMDB_get_entry_data_list(&entry, &list)\n        if status != MMDB_SUCCESS {\n            return nil\n        }\n\n        var JSONString = \"\"\n        _ = dumpList(list, toS: &JSONString)\n\n        JSONString = JSONString.replacingOccurrences(\n            of: \"},},},\",\n            with: \"}}}\"\n        )\n\n        MMDB_free_entry_data_list(list)\n\n        return JSONString\n    }\n\n    public func lookup(_ IPString: String) -> MMDBCountry? {\n        guard let s = lookupJSON(IPString) else {\n            return nil\n        }\n\n        guard let data = s.data(using: String.Encoding.utf8) else {\n            return nil\n        }\n\n        let JSON = try? JSONSerialization.jsonObject(\n            with: data,\n            options: JSONSerialization.ReadingOptions.allowFragments)\n\n        guard let dict = JSON as? NSDictionary else {\n            return nil\n        }\n\n        let country = MMDBCountry(dictionary: dict)\n\n        return country\n    }\n\n    deinit {\n        MMDB_close(&db)\n    }\n\n}\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/maxminddb-compat-util.h",
    "content": "#include <stdlib.h>\n#include <string.h>\n\n/* *INDENT-OFF* */\n\n/* The memmem, strdup, and strndup functions were all copied from the\n * FreeBSD source, along with the relevant copyright notice.\n *\n * It'd be nicer to simply use the functions available on the system if they\n * exist, but there doesn't seem to be a good way to detect them without also\n * defining things like _GNU_SOURCE, which we want to avoid, because then we\n * end up _accidentally_ using GNU features without noticing, which then\n * breaks on systems like OSX.\n *\n * C is fun! */\n\n/* Applies to memmem implementation */\n/*-\n * Copyright (c) 2005 Pascal Gloor <pascal.gloor@spale.com>\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n *    products derived from this software without specific prior written\n *    permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n */\nstatic void *\nmmdb_memmem(const void *l, size_t l_len, const void *s, size_t s_len)\n{\n\tregister char *cur, *last;\n\tconst char *cl = (const char *)l;\n\tconst char *cs = (const char *)s;\n\n\t/* we need something to compare */\n\tif (l_len == 0 || s_len == 0)\n\t\treturn NULL;\n\n\t/* \"s\" must be smaller or equal to \"l\" */\n\tif (l_len < s_len)\n\t\treturn NULL;\n\n\t/* special case where s_len == 1 */\n\tif (s_len == 1)\n\t\treturn memchr(l, (int)*cs, l_len);\n\n\t/* the last position where its possible to find \"s\" in \"l\" */\n\tlast = (char *)cl + l_len - s_len;\n\n\tfor (cur = (char *)cl; cur <= last; cur++)\n\t\tif (cur[0] == cs[0] && memcmp(cur, cs, s_len) == 0)\n\t\t\treturn cur;\n\n\treturn NULL;\n}\n\n/* Applies to strnlen implementation */\n/*-\n * Copyright (c) 2009 David Schultz <das@FreeBSD.org>\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n */\nstatic size_t\nmmdb_strnlen(const char *s, size_t maxlen)\n{\n\tsize_t len;\n\n\tfor (len = 0; len < maxlen; len++, s++) {\n\t\tif (!*s)\n\t\t\tbreak;\n\t}\n\treturn (len);\n}\n\n/* Applies to strdup and strndup implementation */\n/*\n * Copyright (c) 1988, 1993\n *\tThe Regents of the University of California.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n * 3. Neither the name of the University nor the names of its contributors\n *    may be used to endorse or promote products derived from this software\n *    without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n */\nstatic char *\nmmdb_strdup(const char *str)\n{\n\tsize_t len;\n\tchar *copy;\n\n\tlen = strlen(str) + 1;\n\tif ((copy = malloc(len)) == NULL)\n\t\treturn (NULL);\n\tmemcpy(copy, str, len);\n\treturn (copy);\n}\n\nstatic char *\nmmdb_strndup(const char *str, size_t n)\n{\n\tsize_t len;\n\tchar *copy;\n\n\tlen = mmdb_strnlen(str, n);\n\tif ((copy = malloc(len + 1)) == NULL)\n\t\treturn (NULL);\n\tmemcpy(copy, str, len);\n\tcopy[len] = '\\0';\n\treturn (copy);\n}\n/* *INDENT-ON* */\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/maxminddb.c",
    "content": "#if HAVE_CONFIG_H\n#include <config.h>\n#endif\n#include \"maxminddb.h\"\n#include \"maxminddb-compat-util.h\"\n#include <assert.h>\n#include <errno.h>\n#include <fcntl.h>\n#include <inttypes.h>\n#include <stdint.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/stat.h>\n\n#ifdef _WIN32\n#include <windows.h>\n#include <ws2ipdef.h>\n#else\n#include <arpa/inet.h>\n#include <sys/mman.h>\n#include <unistd.h>\n#endif\n\n#define MMDB_DATA_SECTION_SEPARATOR (16)\n#define MAXIMUM_DATA_STRUCTURE_DEPTH (512)\n\n#ifdef MMDB_DEBUG\n#define LOCAL\n#define NO_PROTO\n#define DEBUG_FUNC\n#define DEBUG_MSG(msg) fprintf(stderr, msg \"\\n\")\n#define DEBUG_MSGF(fmt, ...) fprintf(stderr, fmt \"\\n\", __VA_ARGS__)\n#define DEBUG_BINARY(fmt, byte)                                 \\\n    do {                                                        \\\n        char *binary = byte_to_binary(byte);                    \\\n        if (NULL == binary) {                                   \\\n            fprintf(stderr, \"Malloc failed in DEBUG_BINARY\\n\"); \\\n            abort();                                            \\\n        }                                                       \\\n        fprintf(stderr, fmt \"\\n\", binary);                      \\\n        free(binary);                                           \\\n    } while (0)\n#define DEBUG_NL fprintf(stderr, \"\\n\")\n#else\n#define LOCAL static\n#define NO_PROTO static\n#define DEBUG_MSG(...)\n#define DEBUG_MSGF(...)\n#define DEBUG_BINARY(...)\n#define DEBUG_NL\n#endif\n\n#ifdef MMDB_DEBUG\nDEBUG_FUNC char *byte_to_binary(uint8_t byte)\n{\n    char *bits = malloc(sizeof(char) * 9);\n    if (NULL == bits) {\n        return bits;\n    }\n\n    for (uint8_t i = 0; i < 8; i++) {\n        bits[i] = byte & (128 >> i) ? '1' : '0';\n    }\n    bits[8] = '\\0';\n\n    return bits;\n}\n\nDEBUG_FUNC char *type_num_to_name(uint8_t num)\n{\n    switch (num) {\n    case 0:\n        return \"extended\";\n    case 1:\n        return \"pointer\";\n    case 2:\n        return \"utf8_string\";\n    case 3:\n        return \"double\";\n    case 4:\n        return \"bytes\";\n    case 5:\n        return \"uint16\";\n    case 6:\n        return \"uint32\";\n    case 7:\n        return \"map\";\n    case 8:\n        return \"int32\";\n    case 9:\n        return \"uint64\";\n    case 10:\n        return \"uint128\";\n    case 11:\n        return \"array\";\n    case 12:\n        return \"container\";\n    case 13:\n        return \"end_marker\";\n    case 14:\n        return \"boolean\";\n    case 15:\n        return \"float\";\n    default:\n        return \"unknown type\";\n    }\n}\n#endif\n\n/* None of the values we check on the lhs are bigger than uint32_t, so on\n * platforms where SIZE_MAX is a 64-bit integer, this would be a no-op, and it\n * makes the compiler complain if we do the check anyway. */\n#if SIZE_MAX == UINT32_MAX\n#define MAYBE_CHECK_SIZE_OVERFLOW(lhs, rhs, error) \\\n    if ((lhs) > (rhs)) {                           \\\n        return error;                              \\\n    }\n#else\n#define MAYBE_CHECK_SIZE_OVERFLOW(...)\n#endif\n\ntypedef struct record_info_s {\n    uint16_t record_length;\n    uint32_t (*left_record_getter)(const uint8_t *);\n    uint32_t (*right_record_getter)(const uint8_t *);\n    uint8_t right_record_offset;\n} record_info_s;\n\n#define METADATA_MARKER \"\\xab\\xcd\\xefMaxMind.com\"\n/* This is 128kb */\n#define METADATA_BLOCK_MAX_SIZE 131072\n\n/* *INDENT-OFF* */\n/* --prototypes automatically generated by dev-bin/regen-prototypes.pl - don't remove this comment */\nLOCAL int map_file(MMDB_s *const mmdb);\nLOCAL const uint8_t *find_metadata(const uint8_t *file_content,\n                                   ssize_t file_size, uint32_t *metadata_size);\nLOCAL int read_metadata(MMDB_s *mmdb);\nLOCAL MMDB_s make_fake_metadata_db(MMDB_s *mmdb);\nLOCAL int value_for_key_as_uint16(MMDB_entry_s *start, char *key,\n                                  uint16_t *value);\nLOCAL int value_for_key_as_uint32(MMDB_entry_s *start, char *key,\n                                  uint32_t *value);\nLOCAL int value_for_key_as_uint64(MMDB_entry_s *start, char *key,\n                                  uint64_t *value);\nLOCAL int value_for_key_as_string(MMDB_entry_s *start, char *key,\n                                  char const **value);\nLOCAL int populate_languages_metadata(MMDB_s *mmdb, MMDB_s *metadata_db,\n                                      MMDB_entry_s *metadata_start);\nLOCAL int populate_description_metadata(MMDB_s *mmdb, MMDB_s *metadata_db,\n                                        MMDB_entry_s *metadata_start);\nLOCAL int resolve_any_address(const char *ipstr, struct addrinfo **addresses);\nLOCAL int find_address_in_search_tree(MMDB_s *mmdb, uint8_t *address,\n                                      sa_family_t address_family,\n                                      MMDB_lookup_result_s *result);\nLOCAL record_info_s record_info_for_database(MMDB_s *mmdb);\nLOCAL int find_ipv4_start_node(MMDB_s *mmdb);\nLOCAL uint8_t maybe_populate_result(MMDB_s *mmdb, uint32_t record,\n                                    uint16_t netmask,\n                                    MMDB_lookup_result_s *result);\nLOCAL uint8_t record_type(MMDB_s *const mmdb, uint64_t record);\nLOCAL uint32_t get_left_28_bit_record(const uint8_t *record);\nLOCAL uint32_t get_right_28_bit_record(const uint8_t *record);\nLOCAL uint32_t data_section_offset_for_record(MMDB_s *const mmdb,\n                                              uint64_t record);\nLOCAL int path_length(va_list va_path);\nLOCAL int lookup_path_in_array(const char *path_elem, MMDB_s *mmdb,\n                               MMDB_entry_data_s *entry_data);\nLOCAL int lookup_path_in_map(const char *path_elem, MMDB_s *mmdb,\n                             MMDB_entry_data_s *entry_data);\nLOCAL int skip_map_or_array(MMDB_s *mmdb, MMDB_entry_data_s *entry_data);\nLOCAL int decode_one_follow(MMDB_s *mmdb, uint32_t offset,\n                            MMDB_entry_data_s *entry_data);\nLOCAL int decode_one(MMDB_s *mmdb, uint32_t offset,\n                     MMDB_entry_data_s *entry_data);\nLOCAL int get_ext_type(int raw_ext_type);\nLOCAL uint32_t get_ptr_from(uint8_t ctrl, uint8_t const *const ptr,\n                            int ptr_size);\nLOCAL int get_entry_data_list(MMDB_s *mmdb, uint32_t offset,\n                              MMDB_entry_data_list_s *const entry_data_list,\n                              int depth);\nLOCAL float get_ieee754_float(const uint8_t *restrict p);\nLOCAL double get_ieee754_double(const uint8_t *restrict p);\nLOCAL uint32_t get_uint32(const uint8_t *p);\nLOCAL uint32_t get_uint24(const uint8_t *p);\nLOCAL uint32_t get_uint16(const uint8_t *p);\nLOCAL uint64_t get_uintX(const uint8_t *p, int length);\nLOCAL int32_t get_sintX(const uint8_t *p, int length);\nLOCAL MMDB_entry_data_list_s *new_entry_data_list(void);\nLOCAL void free_mmdb_struct(MMDB_s *const mmdb);\nLOCAL void free_languages_metadata(MMDB_s *mmdb);\nLOCAL void free_descriptions_metadata(MMDB_s *mmdb);\nLOCAL MMDB_entry_data_list_s *dump_entry_data_list(\n    FILE *stream, MMDB_entry_data_list_s *entry_data_list, int indent,\n    int *status);\nLOCAL void print_indentation(FILE *stream, int i);\nLOCAL char *bytes_to_hex(uint8_t *bytes, uint32_t size);\n/* --prototypes end - don't remove this comment-- */\n/* *INDENT-ON* */\n\n#define CHECKED_DECODE_ONE(mmdb, offset, entry_data)                        \\\n    do {                                                                    \\\n        int status = decode_one(mmdb, offset, entry_data);                  \\\n        if (MMDB_SUCCESS != status) {                                       \\\n            DEBUG_MSGF(\"CHECKED_DECODE_ONE failed.\"                         \\\n                       \" status = %d (%s)\", status, MMDB_strerror(status)); \\\n            return status;                                                  \\\n        }                                                                   \\\n    } while (0)\n\n#define CHECKED_DECODE_ONE_FOLLOW(mmdb, offset, entry_data)                 \\\n    do {                                                                    \\\n        int status = decode_one_follow(mmdb, offset, entry_data);           \\\n        if (MMDB_SUCCESS != status) {                                       \\\n            DEBUG_MSGF(\"CHECKED_DECODE_ONE_FOLLOW failed.\"                  \\\n                       \" status = %d (%s)\", status, MMDB_strerror(status)); \\\n            return status;                                                  \\\n        }                                                                   \\\n    } while (0)\n\n#define FREE_AND_SET_NULL(p) { free((void *)(p)); (p) = NULL; }\n\nint MMDB_open(const char *const filename, uint32_t flags, MMDB_s *const mmdb)\n{\n    int status = MMDB_SUCCESS;\n\n    mmdb->file_content = NULL;\n    mmdb->data_section = NULL;\n    mmdb->metadata.database_type = NULL;\n    mmdb->metadata.languages.count = 0;\n    mmdb->metadata.description.count = 0;\n\n    mmdb->filename = mmdb_strdup(filename);\n    if (NULL == mmdb->filename) {\n        status = MMDB_OUT_OF_MEMORY_ERROR;\n        goto cleanup;\n    }\n\n    if ((flags & MMDB_MODE_MASK) == 0) {\n        flags |= MMDB_MODE_MMAP;\n    }\n    mmdb->flags = flags;\n\n    if (MMDB_SUCCESS != (status = map_file(mmdb)) ) {\n        goto cleanup;\n    }\n\n#ifdef _WIN32\n    WSADATA wsa;\n    WSAStartup(MAKEWORD(2, 2), &wsa);\n#endif\n\n    uint32_t metadata_size = 0;\n    const uint8_t *metadata = find_metadata(mmdb->file_content, mmdb->file_size,\n                                            &metadata_size);\n    if (NULL == metadata) {\n        status = MMDB_INVALID_METADATA_ERROR;\n        goto cleanup;\n    }\n\n    mmdb->metadata_section = metadata;\n    mmdb->metadata_section_size = metadata_size;\n\n    status = read_metadata(mmdb);\n    if (MMDB_SUCCESS != status) {\n        goto cleanup;\n    }\n\n    if (mmdb->metadata.binary_format_major_version != 2) {\n        status = MMDB_UNKNOWN_DATABASE_FORMAT_ERROR;\n        goto cleanup;\n    }\n\n    uint32_t search_tree_size = mmdb->metadata.node_count *\n                                mmdb->full_record_byte_size;\n\n    mmdb->data_section = mmdb->file_content + search_tree_size\n                         + MMDB_DATA_SECTION_SEPARATOR;\n    if (search_tree_size + MMDB_DATA_SECTION_SEPARATOR >\n        (uint32_t)mmdb->file_size) {\n        status = MMDB_INVALID_METADATA_ERROR;\n        goto cleanup;\n    }\n    mmdb->data_section_size = (uint32_t)mmdb->file_size - search_tree_size -\n                              MMDB_DATA_SECTION_SEPARATOR;\n\n    // Although it is likely not possible to construct a database with valid\n    // valid metadata, as parsed above, and a data_section_size less than 3,\n    // we do this check as later we assume it is at least three when doing\n    // bound checks.\n    if (mmdb->data_section_size < 3) {\n        status = MMDB_INVALID_DATA_ERROR;\n        goto cleanup;\n    }\n\n    mmdb->metadata_section = metadata;\n    mmdb->ipv4_start_node.node_value = 0;\n    mmdb->ipv4_start_node.netmask = 0;\n\n cleanup:\n    if (MMDB_SUCCESS != status) {\n        int saved_errno = errno;\n        free_mmdb_struct(mmdb);\n        errno = saved_errno;\n    }\n    return status;\n}\n\n#ifdef _WIN32\n\nLOCAL int map_file(MMDB_s *const mmdb)\n{\n    DWORD size;\n    int status = MMDB_SUCCESS;\n    HANDLE mmh = NULL;\n    HANDLE fd = CreateFileA(mmdb->filename, GENERIC_READ, FILE_SHARE_READ, NULL,\n                            OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);\n    if (fd == INVALID_HANDLE_VALUE) {\n        status = MMDB_FILE_OPEN_ERROR;\n        goto cleanup;\n    }\n    size = GetFileSize(fd, NULL);\n    if (size == INVALID_FILE_SIZE) {\n        status = MMDB_FILE_OPEN_ERROR;\n        goto cleanup;\n    }\n    mmh = CreateFileMappingA(fd, NULL, PAGE_READONLY, 0, size, NULL);\n    /* Microsoft documentation for CreateFileMapping indicates this returns\n        NULL not INVALID_HANDLE_VALUE on error */\n    if (NULL == mmh) {\n        status = MMDB_IO_ERROR;\n        goto cleanup;\n    }\n    uint8_t *file_content =\n        (uint8_t *)MapViewOfFile(mmh, FILE_MAP_READ, 0, 0, 0);\n    if (file_content == NULL) {\n        status = MMDB_IO_ERROR;\n        goto cleanup;\n    }\n\n    mmdb->file_size = size;\n    mmdb->file_content = file_content;\n\n cleanup:;\n    int saved_errno = errno;\n    if (INVALID_HANDLE_VALUE != fd) {\n        CloseHandle(fd);\n    }\n    if (NULL != mmh) {\n        CloseHandle(mmh);\n    }\n    errno = saved_errno;\n\n    return status;\n}\n\n#else\n\nLOCAL int map_file(MMDB_s *const mmdb)\n{\n    ssize_t size;\n    int status = MMDB_SUCCESS;\n\n    int fd = open(mmdb->filename, O_RDONLY);\n    struct stat s;\n    if (fd < 0 || fstat(fd, &s)) {\n        status = MMDB_FILE_OPEN_ERROR;\n        goto cleanup;\n    }\n\n    size = s.st_size;\n    if (size < 0 || size != s.st_size) {\n        status = MMDB_OUT_OF_MEMORY_ERROR;\n        goto cleanup;\n    }\n\n    uint8_t *file_content =\n        (uint8_t *)mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0);\n    if (MAP_FAILED == file_content) {\n        if (ENOMEM == errno) {\n            status = MMDB_OUT_OF_MEMORY_ERROR;\n        } else {\n            status = MMDB_IO_ERROR;\n        }\n        goto cleanup;\n    }\n\n    mmdb->file_size = size;\n    mmdb->file_content = file_content;\n\n cleanup:;\n    int saved_errno = errno;\n    if (fd >= 0) {\n        close(fd);\n    }\n    errno = saved_errno;\n\n    return status;\n}\n\n#endif\n\nLOCAL const uint8_t *find_metadata(const uint8_t *file_content,\n                                   ssize_t file_size, uint32_t *metadata_size)\n{\n    const ssize_t marker_len = sizeof(METADATA_MARKER) - 1;\n    ssize_t max_size = file_size >\n                       METADATA_BLOCK_MAX_SIZE ? METADATA_BLOCK_MAX_SIZE :\n                       file_size;\n\n    uint8_t *search_area = (uint8_t *)(file_content + (file_size - max_size));\n    uint8_t *start = search_area;\n    uint8_t *tmp;\n    do {\n        tmp = mmdb_memmem(search_area, max_size,\n                          METADATA_MARKER, marker_len);\n\n        if (NULL != tmp) {\n            max_size -= tmp - search_area;\n            search_area = tmp;\n\n            /* Continue searching just after the marker we just read, in case\n             * there are multiple markers in the same file. This would be odd\n             * but is certainly not impossible. */\n            max_size -= marker_len;\n            search_area += marker_len;\n        }\n    } while (NULL != tmp);\n\n    if (search_area == start) {\n        return NULL;\n    }\n\n    *metadata_size = (uint32_t)max_size;\n\n    return search_area;\n}\n\nLOCAL int read_metadata(MMDB_s *mmdb)\n{\n    /* We need to create a fake MMDB_s struct in order to decode values from\n       the metadata. The metadata is basically just like the data section, so we\n       want to use the same functions we use for the data section to get metadata\n       values. */\n    MMDB_s metadata_db = make_fake_metadata_db(mmdb);\n\n    MMDB_entry_s metadata_start = {\n        .mmdb   = &metadata_db,\n        .offset = 0\n    };\n\n    int status =\n        value_for_key_as_uint32(&metadata_start, \"node_count\",\n                                &mmdb->metadata.node_count);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.node_count) {\n        DEBUG_MSG(\"could not find node_count value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    status = value_for_key_as_uint16(&metadata_start, \"record_size\",\n                                     &mmdb->metadata.record_size);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.record_size) {\n        DEBUG_MSG(\"could not find record_size value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    if (mmdb->metadata.record_size != 24 && mmdb->metadata.record_size != 28\n        && mmdb->metadata.record_size != 32) {\n        DEBUG_MSGF(\"bad record size in metadata: %i\",\n                   mmdb->metadata.record_size);\n        return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR;\n    }\n\n    status = value_for_key_as_uint16(&metadata_start, \"ip_version\",\n                                     &mmdb->metadata.ip_version);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.ip_version) {\n        DEBUG_MSG(\"could not find ip_version value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    if (!(mmdb->metadata.ip_version == 4 || mmdb->metadata.ip_version == 6)) {\n        DEBUG_MSGF(\"ip_version value in metadata is not 4 or 6 - it was %i\",\n                   mmdb->metadata.ip_version);\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    status = value_for_key_as_string(&metadata_start, \"database_type\",\n                                     &mmdb->metadata.database_type);\n    if (MMDB_SUCCESS != status) {\n        DEBUG_MSG(\"error finding database_type value in metadata\");\n        return status;\n    }\n\n    status =\n        populate_languages_metadata(mmdb, &metadata_db, &metadata_start);\n    if (MMDB_SUCCESS != status) {\n        DEBUG_MSG(\"could not populate languages from metadata\");\n        return status;\n    }\n\n    status = value_for_key_as_uint16(\n        &metadata_start, \"binary_format_major_version\",\n        &mmdb->metadata.binary_format_major_version);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.binary_format_major_version) {\n        DEBUG_MSG(\n            \"could not find binary_format_major_version value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    status = value_for_key_as_uint16(\n        &metadata_start, \"binary_format_minor_version\",\n        &mmdb->metadata.binary_format_minor_version);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n\n    status = value_for_key_as_uint64(&metadata_start, \"build_epoch\",\n                                     &mmdb->metadata.build_epoch);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.build_epoch) {\n        DEBUG_MSG(\"could not find build_epoch value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    status = populate_description_metadata(mmdb, &metadata_db, &metadata_start);\n    if (MMDB_SUCCESS != status) {\n        DEBUG_MSG(\"could not populate description from metadata\");\n        return status;\n    }\n\n    mmdb->full_record_byte_size = mmdb->metadata.record_size * 2 / 8U;\n\n    mmdb->depth = mmdb->metadata.ip_version == 4 ? 32 : 128;\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL MMDB_s make_fake_metadata_db(MMDB_s *mmdb)\n{\n    MMDB_s fake_metadata_db = {\n        .data_section      = mmdb->metadata_section,\n        .data_section_size = mmdb->metadata_section_size\n    };\n\n    return fake_metadata_db;\n}\n\nLOCAL int value_for_key_as_uint16(MMDB_entry_s *start, char *key,\n                                  uint16_t *value)\n{\n    MMDB_entry_data_s entry_data;\n    const char *path[] = { key, NULL };\n    int status = MMDB_aget_value(start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_UINT16 != entry_data.type) {\n        DEBUG_MSGF(\"expect uint16 for %s but received %s\", key,\n                   type_num_to_name(\n                       entry_data.type));\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    *value = entry_data.uint16;\n    return MMDB_SUCCESS;\n}\n\nLOCAL int value_for_key_as_uint32(MMDB_entry_s *start, char *key,\n                                  uint32_t *value)\n{\n    MMDB_entry_data_s entry_data;\n    const char *path[] = { key, NULL };\n    int status = MMDB_aget_value(start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_UINT32 != entry_data.type) {\n        DEBUG_MSGF(\"expect uint32 for %s but received %s\", key,\n                   type_num_to_name(\n                       entry_data.type));\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    *value = entry_data.uint32;\n    return MMDB_SUCCESS;\n}\n\nLOCAL int value_for_key_as_uint64(MMDB_entry_s *start, char *key,\n                                  uint64_t *value)\n{\n    MMDB_entry_data_s entry_data;\n    const char *path[] = { key, NULL };\n    int status = MMDB_aget_value(start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_UINT64 != entry_data.type) {\n        DEBUG_MSGF(\"expect uint64 for %s but received %s\", key,\n                   type_num_to_name(\n                       entry_data.type));\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    *value = entry_data.uint64;\n    return MMDB_SUCCESS;\n}\n\nLOCAL int value_for_key_as_string(MMDB_entry_s *start, char *key,\n                                  char const **value)\n{\n    MMDB_entry_data_s entry_data;\n    const char *path[] = { key, NULL };\n    int status = MMDB_aget_value(start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_UTF8_STRING != entry_data.type) {\n        DEBUG_MSGF(\"expect string for %s but received %s\", key,\n                   type_num_to_name(\n                       entry_data.type));\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    *value = mmdb_strndup((char *)entry_data.utf8_string, entry_data.data_size);\n    if (NULL == *value) {\n        return MMDB_OUT_OF_MEMORY_ERROR;\n    }\n    return MMDB_SUCCESS;\n}\n\nLOCAL int populate_languages_metadata(MMDB_s *mmdb, MMDB_s *metadata_db,\n                                      MMDB_entry_s *metadata_start)\n{\n    MMDB_entry_data_s entry_data;\n\n    const char *path[] = { \"languages\", NULL };\n    int status = MMDB_aget_value(metadata_start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_ARRAY != entry_data.type) {\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    MMDB_entry_s array_start = {\n        .mmdb   = metadata_db,\n        .offset = entry_data.offset\n    };\n\n    MMDB_entry_data_list_s *member;\n    status = MMDB_get_entry_data_list(&array_start, &member);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n\n    MMDB_entry_data_list_s *first_member = member;\n\n    uint32_t array_size = member->entry_data.data_size;\n    MAYBE_CHECK_SIZE_OVERFLOW(array_size, SIZE_MAX / sizeof(char *),\n                              MMDB_INVALID_METADATA_ERROR);\n\n    mmdb->metadata.languages.count = 0;\n    mmdb->metadata.languages.names = malloc(array_size * sizeof(char *));\n    if (NULL == mmdb->metadata.languages.names) {\n        return MMDB_OUT_OF_MEMORY_ERROR;\n    }\n\n    for (uint32_t i = 0; i < array_size; i++) {\n        member = member->next;\n        if (MMDB_DATA_TYPE_UTF8_STRING != member->entry_data.type) {\n            return MMDB_INVALID_METADATA_ERROR;\n        }\n\n        mmdb->metadata.languages.names[i] =\n            mmdb_strndup((char *)member->entry_data.utf8_string,\n                         member->entry_data.data_size);\n\n        if (NULL == mmdb->metadata.languages.names[i]) {\n            return MMDB_OUT_OF_MEMORY_ERROR;\n        }\n        // We assign this as we go so that if we fail a malloc and need to\n        // free it, the count is right.\n        mmdb->metadata.languages.count = i + 1;\n    }\n\n    MMDB_free_entry_data_list(first_member);\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int populate_description_metadata(MMDB_s *mmdb, MMDB_s *metadata_db,\n                                        MMDB_entry_s *metadata_start)\n{\n    MMDB_entry_data_s entry_data;\n\n    const char *path[] = { \"description\", NULL };\n    int status = MMDB_aget_value(metadata_start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n\n    if (MMDB_DATA_TYPE_MAP != entry_data.type) {\n        DEBUG_MSGF(\"Unexpected entry_data type: %d\", entry_data.type);\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    MMDB_entry_s map_start = {\n        .mmdb   = metadata_db,\n        .offset = entry_data.offset\n    };\n\n    MMDB_entry_data_list_s *member;\n    status = MMDB_get_entry_data_list(&map_start, &member);\n    if (MMDB_SUCCESS != status) {\n        DEBUG_MSGF(\n            \"MMDB_get_entry_data_list failed while populating description.\"\n            \" status = %d (%s)\", status, MMDB_strerror(status));\n        return status;\n    }\n\n    MMDB_entry_data_list_s *first_member = member;\n\n    uint32_t map_size = member->entry_data.data_size;\n    mmdb->metadata.description.count = 0;\n    if (0 == map_size) {\n        mmdb->metadata.description.descriptions = NULL;\n        goto cleanup;\n    }\n    MAYBE_CHECK_SIZE_OVERFLOW(map_size, SIZE_MAX / sizeof(MMDB_description_s *),\n                              MMDB_INVALID_METADATA_ERROR);\n\n    mmdb->metadata.description.descriptions =\n        malloc(map_size * sizeof(MMDB_description_s *));\n    if (NULL == mmdb->metadata.description.descriptions) {\n        status = MMDB_OUT_OF_MEMORY_ERROR;\n        goto cleanup;\n    }\n\n    for (uint32_t i = 0; i < map_size; i++) {\n        mmdb->metadata.description.descriptions[i] =\n            malloc(sizeof(MMDB_description_s));\n        if (NULL == mmdb->metadata.description.descriptions[i]) {\n            status = MMDB_OUT_OF_MEMORY_ERROR;\n            goto cleanup;\n        }\n\n        mmdb->metadata.description.count = i + 1;\n        mmdb->metadata.description.descriptions[i]->language = NULL;\n        mmdb->metadata.description.descriptions[i]->description = NULL;\n\n        member = member->next;\n\n        if (MMDB_DATA_TYPE_UTF8_STRING != member->entry_data.type) {\n            status = MMDB_INVALID_METADATA_ERROR;\n            goto cleanup;\n        }\n\n        mmdb->metadata.description.descriptions[i]->language =\n            mmdb_strndup((char *)member->entry_data.utf8_string,\n                         member->entry_data.data_size);\n\n        if (NULL == mmdb->metadata.description.descriptions[i]->language) {\n            status = MMDB_OUT_OF_MEMORY_ERROR;\n            goto cleanup;\n        }\n\n        member = member->next;\n\n        if (MMDB_DATA_TYPE_UTF8_STRING != member->entry_data.type) {\n            status = MMDB_INVALID_METADATA_ERROR;\n            goto cleanup;\n        }\n\n        mmdb->metadata.description.descriptions[i]->description =\n            mmdb_strndup((char *)member->entry_data.utf8_string,\n                         member->entry_data.data_size);\n\n        if (NULL == mmdb->metadata.description.descriptions[i]->description) {\n            status = MMDB_OUT_OF_MEMORY_ERROR;\n            goto cleanup;\n        }\n    }\n\n cleanup:\n    MMDB_free_entry_data_list(first_member);\n\n    return status;\n}\n\nMMDB_lookup_result_s MMDB_lookup_string(MMDB_s *const mmdb,\n                                        const char *const ipstr,\n                                        int *const gai_error,\n                                        int *const mmdb_error)\n{\n    MMDB_lookup_result_s result = {\n        .found_entry = false,\n        .netmask     = 0,\n        .entry       = {\n            .mmdb    = mmdb,\n            .offset  = 0\n        }\n    };\n\n    struct addrinfo *addresses = NULL;\n    *gai_error = resolve_any_address(ipstr, &addresses);\n\n    if (!*gai_error) {\n        result = MMDB_lookup_sockaddr(mmdb, addresses->ai_addr, mmdb_error);\n    }\n\n    if (NULL != addresses) {\n        freeaddrinfo(addresses);\n    }\n\n    return result;\n}\n\nLOCAL int resolve_any_address(const char *ipstr, struct addrinfo **addresses)\n{\n    struct addrinfo hints = {\n        .ai_family   = AF_UNSPEC,\n        .ai_flags    = AI_NUMERICHOST,\n        // We set ai_socktype so that we only get one result back\n        .ai_socktype = SOCK_STREAM\n    };\n\n    int gai_status = getaddrinfo(ipstr, NULL, &hints, addresses);\n    if (gai_status) {\n        return gai_status;\n    }\n\n    return 0;\n}\n\nMMDB_lookup_result_s MMDB_lookup_sockaddr(\n    MMDB_s *const mmdb,\n    const struct sockaddr *const sockaddr,\n    int *const mmdb_error)\n{\n    MMDB_lookup_result_s result = {\n        .found_entry = false,\n        .netmask     = 0,\n        .entry       = {\n            .mmdb    = mmdb,\n            .offset  = 0\n        }\n    };\n\n    uint8_t mapped_address[16], *address;\n    if (mmdb->metadata.ip_version == 4) {\n        if (sockaddr->sa_family == AF_INET6) {\n            *mmdb_error = MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR;\n            return result;\n        }\n        address = (uint8_t *)&((struct sockaddr_in *)sockaddr)->sin_addr.s_addr;\n    } else {\n        if (sockaddr->sa_family == AF_INET6) {\n            address =\n                (uint8_t *)&((struct sockaddr_in6 *)sockaddr)->sin6_addr.\n                s6_addr;\n        } else {\n            address = mapped_address;\n            memset(address, 0, 12);\n            memcpy(address + 12,\n                   &((struct sockaddr_in *)sockaddr)->sin_addr.s_addr, 4);\n        }\n    }\n\n    *mmdb_error =\n        find_address_in_search_tree(mmdb, address, sockaddr->sa_family,\n                                    &result);\n\n    return result;\n}\n\nLOCAL int find_address_in_search_tree(MMDB_s *mmdb, uint8_t *address,\n                                      sa_family_t address_family,\n                                      MMDB_lookup_result_s *result)\n{\n    record_info_s record_info = record_info_for_database(mmdb);\n    if (0 == record_info.right_record_offset) {\n        return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR;\n    }\n\n    DEBUG_NL;\n    DEBUG_MSG(\"Looking for address in search tree\");\n\n    uint32_t value = 0;\n    uint16_t max_depth0 = mmdb->depth - 1;\n    uint16_t start_bit = max_depth0;\n\n    if (mmdb->metadata.ip_version == 6 && address_family == AF_INET) {\n        int mmdb_error = find_ipv4_start_node(mmdb);\n        if (MMDB_SUCCESS != mmdb_error) {\n            return mmdb_error;\n        }\n        DEBUG_MSGF(\"IPv4 start node is %u (netmask %u)\",\n                   mmdb->ipv4_start_node.node_value,\n                   mmdb->ipv4_start_node.netmask);\n\n        uint8_t type = maybe_populate_result(mmdb,\n                                             mmdb->ipv4_start_node.node_value,\n                                             mmdb->ipv4_start_node.netmask,\n                                             result);\n        if (MMDB_RECORD_TYPE_INVALID == type) {\n            return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n        }\n\n        /* We have an IPv6 database with no IPv4 data */\n        if (MMDB_RECORD_TYPE_SEARCH_NODE != type) {\n            return MMDB_SUCCESS;\n        }\n\n        value = mmdb->ipv4_start_node.node_value;\n        start_bit -= mmdb->ipv4_start_node.netmask;\n    }\n\n    const uint8_t *search_tree = mmdb->file_content;\n    const uint8_t *record_pointer;\n    for (int current_bit = start_bit; current_bit >= 0; current_bit--) {\n        uint8_t bit_is_true =\n            address[(max_depth0 - current_bit) >> 3]\n            & (1U << (~(max_depth0 - current_bit) & 7)) ? 1 : 0;\n\n        DEBUG_MSGF(\"Looking at bit %i - bit's value is %i\", current_bit,\n                   bit_is_true);\n        DEBUG_MSGF(\"  current node = %u\", value);\n\n        record_pointer = &search_tree[value * record_info.record_length];\n        if (record_pointer + record_info.record_length > mmdb->data_section) {\n            return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n        }\n        if (bit_is_true) {\n            record_pointer += record_info.right_record_offset;\n            value = record_info.right_record_getter(record_pointer);\n        } else {\n            value = record_info.left_record_getter(record_pointer);\n        }\n\n        uint8_t type = maybe_populate_result(mmdb, value, (uint16_t)current_bit,\n                                             result);\n        if (MMDB_RECORD_TYPE_INVALID == type) {\n            return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n        }\n\n        if (MMDB_RECORD_TYPE_SEARCH_NODE != type) {\n            return MMDB_SUCCESS;\n        }\n\n        DEBUG_MSGF(\"  proceeding to search tree node %i\", value);\n    }\n\n    DEBUG_MSG(\n        \"Reached the end of the address bits without leaving the search tree\");\n\n    // We should not be able to reach this return. If we do, something very bad happened.\n    return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n}\n\nLOCAL record_info_s record_info_for_database(MMDB_s *mmdb)\n{\n    record_info_s record_info = {\n        .record_length       = mmdb->full_record_byte_size,\n        .right_record_offset = 0\n    };\n\n    if (record_info.record_length == 6) {\n        record_info.left_record_getter = &get_uint24;\n        record_info.right_record_getter = &get_uint24;\n        record_info.right_record_offset = 3;\n    } else if (record_info.record_length == 7) {\n        record_info.left_record_getter = &get_left_28_bit_record;\n        record_info.right_record_getter = &get_right_28_bit_record;\n        record_info.right_record_offset = 3;\n    } else if (record_info.record_length == 8) {\n        record_info.left_record_getter = &get_uint32;\n        record_info.right_record_getter = &get_uint32;\n        record_info.right_record_offset = 4;\n    } else {\n        assert(false);\n    }\n\n    return record_info;\n}\n\nLOCAL int find_ipv4_start_node(MMDB_s *mmdb)\n{\n    /* In a pathological case of a database with a single node search tree,\n     * this check will be true even after we've found the IPv4 start node, but\n     * that doesn't seem worth trying to fix. */\n    if (mmdb->ipv4_start_node.node_value != 0) {\n        return MMDB_SUCCESS;\n    }\n\n    record_info_s record_info = record_info_for_database(mmdb);\n\n    const uint8_t *search_tree = mmdb->file_content;\n    uint32_t node_value = 0;\n    const uint8_t *record_pointer;\n    uint16_t netmask;\n    for (netmask = 0; netmask < 96; netmask++) {\n        record_pointer = &search_tree[node_value * record_info.record_length];\n        if (record_pointer + record_info.record_length > mmdb->data_section) {\n            return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n        }\n        node_value = record_info.left_record_getter(record_pointer);\n        /* This can happen if there's no IPv4 data _or_ if there is a subnet\n         * with data that contains the entire IPv4 range (like ::/64) */\n        if (node_value >= mmdb->metadata.node_count) {\n            break;\n        }\n    }\n\n    mmdb->ipv4_start_node.node_value = node_value;\n    mmdb->ipv4_start_node.netmask = netmask;\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL uint8_t maybe_populate_result(MMDB_s *mmdb, uint32_t record,\n                                    uint16_t netmask,\n                                    MMDB_lookup_result_s *result)\n{\n    uint8_t type = record_type(mmdb, record);\n\n    if (MMDB_RECORD_TYPE_SEARCH_NODE == type ||\n        MMDB_RECORD_TYPE_INVALID == type) {\n        return type;\n    }\n\n    result->netmask = mmdb->depth - netmask;\n\n    result->entry.offset = data_section_offset_for_record(mmdb, record);\n\n    // type is either MMDB_RECORD_TYPE_DATA or MMDB_RECORD_TYPE_EMPTY\n    // at this point\n    result->found_entry = MMDB_RECORD_TYPE_DATA == type;\n\n    return type;\n}\n\nLOCAL uint8_t record_type(MMDB_s *const mmdb, uint64_t record)\n{\n    uint32_t node_count = mmdb->metadata.node_count;\n\n    /* Ideally we'd check to make sure that a record never points to a\n     * previously seen value, but that's more complicated. For now, we can\n     * at least check that we don't end up at the top of the tree again. */\n    if (record == 0) {\n        DEBUG_MSG(\"record has a value of 0\");\n        return MMDB_RECORD_TYPE_INVALID;\n    }\n\n    if (record < node_count) {\n        return MMDB_RECORD_TYPE_SEARCH_NODE;\n    }\n\n    if (record == node_count) {\n        return MMDB_RECORD_TYPE_EMPTY;\n    }\n\n    if (record - node_count < mmdb->data_section_size) {\n        return MMDB_RECORD_TYPE_DATA;\n    }\n\n    DEBUG_MSG(\"record has a value that points outside of the database\");\n    return MMDB_RECORD_TYPE_INVALID;\n}\n\nLOCAL uint32_t get_left_28_bit_record(const uint8_t *record)\n{\n    return record[0] * 65536 + record[1] * 256 + record[2] +\n           ((record[3] & 0xf0) << 20);\n}\n\nLOCAL uint32_t get_right_28_bit_record(const uint8_t *record)\n{\n    uint32_t value = get_uint32(record);\n    return value & 0xfffffff;\n}\n\nint MMDB_read_node(MMDB_s *const mmdb, uint32_t node_number,\n                   MMDB_search_node_s *const node)\n{\n    record_info_s record_info = record_info_for_database(mmdb);\n    if (0 == record_info.right_record_offset) {\n        return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR;\n    }\n\n    if (node_number > mmdb->metadata.node_count) {\n        return MMDB_INVALID_NODE_NUMBER_ERROR;\n    }\n\n    const uint8_t *search_tree = mmdb->file_content;\n    const uint8_t *record_pointer =\n        &search_tree[node_number * record_info.record_length];\n    node->left_record = record_info.left_record_getter(record_pointer);\n    record_pointer += record_info.right_record_offset;\n    node->right_record = record_info.right_record_getter(record_pointer);\n\n    node->left_record_type = record_type(mmdb, node->left_record);\n    node->right_record_type = record_type(mmdb, node->right_record);\n\n    // Note that offset will be invalid if the record type is not\n    // MMDB_RECORD_TYPE_DATA, but that's ok. Any use of the record entry\n    // for other data types is a programming error.\n    node->left_record_entry = (struct MMDB_entry_s) {\n        .mmdb = mmdb,\n        .offset = data_section_offset_for_record(mmdb, node->left_record),\n    };\n    node->right_record_entry = (struct MMDB_entry_s) {\n        .mmdb = mmdb,\n        .offset = data_section_offset_for_record(mmdb, node->right_record),\n    };\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL uint32_t data_section_offset_for_record(MMDB_s *const mmdb,\n                                              uint64_t record)\n{\n    return (uint32_t)record - mmdb->metadata.node_count -\n           MMDB_DATA_SECTION_SEPARATOR;\n}\n\nint MMDB_get_value(MMDB_entry_s *const start,\n                   MMDB_entry_data_s *const entry_data,\n                   ...)\n{\n    va_list path;\n    va_start(path, entry_data);\n    int status = MMDB_vget_value(start, entry_data, path);\n    va_end(path);\n    return status;\n}\n\nint MMDB_vget_value(MMDB_entry_s *const start,\n                    MMDB_entry_data_s *const entry_data,\n                    va_list va_path)\n{\n    int length = path_length(va_path);\n    const char *path_elem;\n    int i = 0;\n\n    MAYBE_CHECK_SIZE_OVERFLOW(length, SIZE_MAX / sizeof(const char *) - 1,\n                              MMDB_INVALID_METADATA_ERROR);\n\n    const char **path = malloc((length + 1) * sizeof(const char *));\n    if (NULL == path) {\n        return MMDB_OUT_OF_MEMORY_ERROR;\n    }\n\n    while (NULL != (path_elem = va_arg(va_path, char *))) {\n        path[i] = path_elem;\n        i++;\n    }\n    path[i] = NULL;\n\n    int status = MMDB_aget_value(start, entry_data, path);\n\n    free((char **)path);\n\n    return status;\n}\n\nLOCAL int path_length(va_list va_path)\n{\n    int i = 0;\n    const char *ignore;\n    va_list path_copy;\n    va_copy(path_copy, va_path);\n\n    while (NULL != (ignore = va_arg(path_copy, char *))) {\n        i++;\n    }\n\n    va_end(path_copy);\n\n    return i;\n}\n\nint MMDB_aget_value(MMDB_entry_s *const start,\n                    MMDB_entry_data_s *const entry_data,\n                    const char *const *const path)\n{\n    MMDB_s *mmdb = start->mmdb;\n    uint32_t offset = start->offset;\n\n    memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n    DEBUG_NL;\n    DEBUG_MSG(\"looking up value by path\");\n\n    CHECKED_DECODE_ONE_FOLLOW(mmdb, offset, entry_data);\n\n    DEBUG_NL;\n    DEBUG_MSGF(\"top level element is a %s\", type_num_to_name(entry_data->type));\n\n    /* Can this happen? It'd probably represent a pathological case under\n     * normal use, but there's nothing preventing someone from passing an\n     * invalid MMDB_entry_s struct to this function */\n    if (!entry_data->has_data) {\n        return MMDB_INVALID_LOOKUP_PATH_ERROR;\n    }\n\n    const char *path_elem;\n    int i = 0;\n    while (NULL != (path_elem = path[i++])) {\n        DEBUG_NL;\n        DEBUG_MSGF(\"path elem = %s\", path_elem);\n\n        /* XXX - it'd be good to find a quicker way to skip through these\n           entries that doesn't involve decoding them\n           completely. Basically we need to just use the size from the\n           control byte to advance our pointer rather than calling\n           decode_one(). */\n        if (entry_data->type == MMDB_DATA_TYPE_ARRAY) {\n            int status = lookup_path_in_array(path_elem, mmdb, entry_data);\n            if (MMDB_SUCCESS != status) {\n                memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n                return status;\n            }\n        } else if (entry_data->type == MMDB_DATA_TYPE_MAP) {\n            int status = lookup_path_in_map(path_elem, mmdb, entry_data);\n            if (MMDB_SUCCESS != status) {\n                memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n                return status;\n            }\n        } else {\n            /* Once we make the code traverse maps & arrays without calling\n             * decode_one() we can get rid of this. */\n            memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n            return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR;\n        }\n    }\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int lookup_path_in_array(const char *path_elem, MMDB_s *mmdb,\n                               MMDB_entry_data_s *entry_data)\n{\n    uint32_t size = entry_data->data_size;\n    char *first_invalid;\n\n    int saved_errno = errno;\n    errno = 0;\n    long array_index = strtol(path_elem, &first_invalid, 10);\n    if (array_index < 0 || ERANGE == errno) {\n        errno = saved_errno;\n        return MMDB_INVALID_LOOKUP_PATH_ERROR;\n    }\n    errno = saved_errno;\n\n    if (*first_invalid || (uint32_t)array_index >= size) {\n        return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR;\n    }\n\n    for (int i = 0; i < array_index; i++) {\n        /* We don't want to follow a pointer here. If the next element is a\n         * pointer we simply skip it and keep going */\n        CHECKED_DECODE_ONE(mmdb, entry_data->offset_to_next, entry_data);\n        int status = skip_map_or_array(mmdb, entry_data);\n        if (MMDB_SUCCESS != status) {\n            return status;\n        }\n    }\n\n    MMDB_entry_data_s value;\n    CHECKED_DECODE_ONE_FOLLOW(mmdb, entry_data->offset_to_next, &value);\n    memcpy(entry_data, &value, sizeof(MMDB_entry_data_s));\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int lookup_path_in_map(const char *path_elem, MMDB_s *mmdb,\n                             MMDB_entry_data_s *entry_data)\n{\n    uint32_t size = entry_data->data_size;\n    uint32_t offset = entry_data->offset_to_next;\n    size_t path_elem_len = strlen(path_elem);\n\n    while (size-- > 0) {\n        MMDB_entry_data_s key, value;\n        CHECKED_DECODE_ONE_FOLLOW(mmdb, offset, &key);\n\n        uint32_t offset_to_value = key.offset_to_next;\n\n        if (MMDB_DATA_TYPE_UTF8_STRING != key.type) {\n            return MMDB_INVALID_DATA_ERROR;\n        }\n\n        if (key.data_size == path_elem_len &&\n            !memcmp(path_elem, key.utf8_string, path_elem_len)) {\n\n            DEBUG_MSG(\"found key matching path elem\");\n\n            CHECKED_DECODE_ONE_FOLLOW(mmdb, offset_to_value, &value);\n            memcpy(entry_data, &value, sizeof(MMDB_entry_data_s));\n            return MMDB_SUCCESS;\n        } else {\n            /* We don't want to follow a pointer here. If the next element is\n             * a pointer we simply skip it and keep going */\n            CHECKED_DECODE_ONE(mmdb, offset_to_value, &value);\n            int status = skip_map_or_array(mmdb, &value);\n            if (MMDB_SUCCESS != status) {\n                return status;\n            }\n            offset = value.offset_to_next;\n        }\n    }\n\n    memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n    return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR;\n}\n\nLOCAL int skip_map_or_array(MMDB_s *mmdb, MMDB_entry_data_s *entry_data)\n{\n    if (entry_data->type == MMDB_DATA_TYPE_MAP) {\n        uint32_t size = entry_data->data_size;\n        while (size-- > 0) {\n            CHECKED_DECODE_ONE(mmdb, entry_data->offset_to_next, entry_data);   // key\n            CHECKED_DECODE_ONE(mmdb, entry_data->offset_to_next, entry_data);   // value\n            int status = skip_map_or_array(mmdb, entry_data);\n            if (MMDB_SUCCESS != status) {\n                return status;\n            }\n        }\n    } else if (entry_data->type == MMDB_DATA_TYPE_ARRAY) {\n        uint32_t size = entry_data->data_size;\n        while (size-- > 0) {\n            CHECKED_DECODE_ONE(mmdb, entry_data->offset_to_next, entry_data);   // value\n            int status = skip_map_or_array(mmdb, entry_data);\n            if (MMDB_SUCCESS != status) {\n                return status;\n            }\n        }\n    }\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int decode_one_follow(MMDB_s *mmdb, uint32_t offset,\n                            MMDB_entry_data_s *entry_data)\n{\n    CHECKED_DECODE_ONE(mmdb, offset, entry_data);\n    if (entry_data->type == MMDB_DATA_TYPE_POINTER) {\n        uint32_t next = entry_data->offset_to_next;\n        CHECKED_DECODE_ONE(mmdb, entry_data->pointer, entry_data);\n        /* Pointers to pointers are illegal under the spec */\n        if (entry_data->type == MMDB_DATA_TYPE_POINTER) {\n            DEBUG_MSG(\"pointer points to another pointer\");\n            return MMDB_INVALID_DATA_ERROR;\n        }\n\n        /* The pointer could point to any part of the data section but the\n         * next entry for this particular offset may be the one after the\n         * pointer, not the one after whatever the pointer points to. This\n         * depends on whether the pointer points to something that is a simple\n         * value or a compound value. For a compound value, the next one is\n         * the one after the pointer result, not the one after the pointer. */\n        if (entry_data->type != MMDB_DATA_TYPE_MAP\n            && entry_data->type != MMDB_DATA_TYPE_ARRAY) {\n\n            entry_data->offset_to_next = next;\n        }\n    }\n\n    return MMDB_SUCCESS;\n}\n\n#if !MMDB_UINT128_IS_BYTE_ARRAY\nNO_PROTO mmdb_uint128_t get_uint128(const uint8_t *p, int length)\n{\n    mmdb_uint128_t value = 0;\n    while (length-- > 0) {\n        value <<= 8;\n        value += *p++;\n    }\n    return value;\n}\n#endif\n\nLOCAL int decode_one(MMDB_s *mmdb, uint32_t offset,\n                     MMDB_entry_data_s *entry_data)\n{\n    const uint8_t *mem = mmdb->data_section;\n\n    // We subtract rather than add as it possible that offset + 1\n    // could overflow for a corrupt database while an underflow\n    // from data_section_size - 1 should not be possible.\n    if (offset > mmdb->data_section_size - 1) {\n        DEBUG_MSGF(\"Offset (%d) past data section (%d)\", offset,\n                   mmdb->data_section_size);\n        return MMDB_INVALID_DATA_ERROR;\n    }\n\n    entry_data->offset = offset;\n    entry_data->has_data = true;\n\n    DEBUG_NL;\n    DEBUG_MSGF(\"Offset: %i\", offset);\n\n    uint8_t ctrl = mem[offset++];\n    DEBUG_BINARY(\"Control byte: %s\", ctrl);\n\n    int type = (ctrl >> 5) & 7;\n    DEBUG_MSGF(\"Type: %i (%s)\", type, type_num_to_name(type));\n\n    if (type == MMDB_DATA_TYPE_EXTENDED) {\n        // Subtracting 1 to avoid possible overflow on offset + 1\n        if (offset > mmdb->data_section_size - 1) {\n            DEBUG_MSGF(\"Extended type offset (%d) past data section (%d)\",\n                       offset,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        type = get_ext_type(mem[offset++]);\n        DEBUG_MSGF(\"Extended type: %i (%s)\", type, type_num_to_name(type));\n    }\n\n    entry_data->type = type;\n\n    if (type == MMDB_DATA_TYPE_POINTER) {\n        uint8_t psize = ((ctrl >> 3) & 3) + 1;\n        DEBUG_MSGF(\"Pointer size: %i\", psize);\n\n        // We check that the offset does not extend past the end of the\n        // database and that the subtraction of psize did not underflow.\n        if (offset > mmdb->data_section_size - psize ||\n            mmdb->data_section_size < psize) {\n            DEBUG_MSGF(\"Pointer offset (%d) past data section (%d)\", offset +\n                       psize,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->pointer = get_ptr_from(ctrl, &mem[offset], psize);\n        DEBUG_MSGF(\"Pointer to: %i\", entry_data->pointer);\n\n        entry_data->data_size = psize;\n        entry_data->offset_to_next = offset + psize;\n        return MMDB_SUCCESS;\n    }\n\n    uint32_t size = ctrl & 31;\n    switch (size) {\n    case 29:\n        // We subtract when checking offset to avoid possible overflow\n        if (offset > mmdb->data_section_size - 1) {\n            DEBUG_MSGF(\"String end (%d, case 29) past data section (%d)\",\n                       offset,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 29 + mem[offset++];\n        break;\n    case 30:\n        // We subtract when checking offset to avoid possible overflow\n        if (offset > mmdb->data_section_size - 2) {\n            DEBUG_MSGF(\"String end (%d, case 30) past data section (%d)\",\n                       offset,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 285 + get_uint16(&mem[offset]);\n        offset += 2;\n        break;\n    case 31:\n        // We subtract when checking offset to avoid possible overflow\n        if (offset > mmdb->data_section_size - 3) {\n            DEBUG_MSGF(\"String end (%d, case 31) past data section (%d)\",\n                       offset,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 65821 + get_uint24(&mem[offset]);\n        offset += 3;\n    default:\n        break;\n    }\n\n    DEBUG_MSGF(\"Size: %i\", size);\n\n    if (type == MMDB_DATA_TYPE_MAP || type == MMDB_DATA_TYPE_ARRAY) {\n        entry_data->data_size = size;\n        entry_data->offset_to_next = offset;\n        return MMDB_SUCCESS;\n    }\n\n    if (type == MMDB_DATA_TYPE_BOOLEAN) {\n        entry_data->boolean = size ? true : false;\n        entry_data->data_size = 0;\n        entry_data->offset_to_next = offset;\n        DEBUG_MSGF(\"boolean value: %s\", entry_data->boolean ? \"true\" : \"false\");\n        return MMDB_SUCCESS;\n    }\n\n    // Check that the data doesn't extend past the end of the memory\n    // buffer and that the calculation in doing this did not underflow.\n    if (offset > mmdb->data_section_size - size ||\n        mmdb->data_section_size < size) {\n        DEBUG_MSGF(\"Data end (%d) past data section (%d)\", offset + size,\n                   mmdb->data_section_size);\n        return MMDB_INVALID_DATA_ERROR;\n    }\n\n    if (type == MMDB_DATA_TYPE_UINT16) {\n        if (size > 2) {\n            DEBUG_MSGF(\"uint16 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->uint16 = (uint16_t)get_uintX(&mem[offset], size);\n        DEBUG_MSGF(\"uint16 value: %u\", entry_data->uint16);\n    } else if (type == MMDB_DATA_TYPE_UINT32) {\n        if (size > 4) {\n            DEBUG_MSGF(\"uint32 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->uint32 = (uint32_t)get_uintX(&mem[offset], size);\n        DEBUG_MSGF(\"uint32 value: %u\", entry_data->uint32);\n    } else if (type == MMDB_DATA_TYPE_INT32) {\n        if (size > 4) {\n            DEBUG_MSGF(\"int32 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->int32 = get_sintX(&mem[offset], size);\n        DEBUG_MSGF(\"int32 value: %i\", entry_data->int32);\n    } else if (type == MMDB_DATA_TYPE_UINT64) {\n        if (size > 8) {\n            DEBUG_MSGF(\"uint64 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->uint64 = get_uintX(&mem[offset], size);\n        DEBUG_MSGF(\"uint64 value: %\" PRIu64, entry_data->uint64);\n    } else if (type == MMDB_DATA_TYPE_UINT128) {\n        if (size > 16) {\n            DEBUG_MSGF(\"uint128 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n#if MMDB_UINT128_IS_BYTE_ARRAY\n        memset(entry_data->uint128, 0, 16);\n        if (size > 0) {\n            memcpy(entry_data->uint128 + 16 - size, &mem[offset], size);\n        }\n#else\n        entry_data->uint128 = get_uint128(&mem[offset], size);\n#endif\n    } else if (type == MMDB_DATA_TYPE_FLOAT) {\n        if (size != 4) {\n            DEBUG_MSGF(\"float of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 4;\n        entry_data->float_value = get_ieee754_float(&mem[offset]);\n        DEBUG_MSGF(\"float value: %f\", entry_data->float_value);\n    } else if (type == MMDB_DATA_TYPE_DOUBLE) {\n        if (size != 8) {\n            DEBUG_MSGF(\"double of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 8;\n        entry_data->double_value = get_ieee754_double(&mem[offset]);\n        DEBUG_MSGF(\"double value: %f\", entry_data->double_value);\n    } else if (type == MMDB_DATA_TYPE_UTF8_STRING) {\n        entry_data->utf8_string = size == 0 ? \"\" : (char *)&mem[offset];\n        entry_data->data_size = size;\n#ifdef MMDB_DEBUG\n        char *string = mmdb_strndup(entry_data->utf8_string,\n                                    size > 50 ? 50 : size);\n        if (NULL == string) {\n            abort();\n        }\n        DEBUG_MSGF(\"string value: %s\", string);\n        free(string);\n#endif\n    } else if (type == MMDB_DATA_TYPE_BYTES) {\n        entry_data->bytes = &mem[offset];\n        entry_data->data_size = size;\n    }\n\n    entry_data->offset_to_next = offset + size;\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int get_ext_type(int raw_ext_type)\n{\n    return 7 + raw_ext_type;\n}\n\nLOCAL uint32_t get_ptr_from(uint8_t ctrl, uint8_t const *const ptr,\n                            int ptr_size)\n{\n    uint32_t new_offset;\n    switch (ptr_size) {\n    case 1:\n        new_offset = ( (ctrl & 7) << 8) + ptr[0];\n        break;\n    case 2:\n        new_offset = 2048 + ( (ctrl & 7) << 16 ) + ( ptr[0] << 8) + ptr[1];\n        break;\n    case 3:\n        new_offset = 2048 + 524288 + ( (ctrl & 7) << 24 ) + get_uint24(ptr);\n        break;\n    case 4:\n    default:\n        new_offset = get_uint32(ptr);\n        break;\n    }\n    return new_offset;\n}\n\nint MMDB_get_metadata_as_entry_data_list(\n    MMDB_s *const mmdb, MMDB_entry_data_list_s **const entry_data_list)\n{\n    MMDB_s metadata_db = make_fake_metadata_db(mmdb);\n\n    MMDB_entry_s metadata_start = {\n        .mmdb   = &metadata_db,\n        .offset = 0\n    };\n\n    return MMDB_get_entry_data_list(&metadata_start, entry_data_list);\n}\n\nint MMDB_get_entry_data_list(\n    MMDB_entry_s *start, MMDB_entry_data_list_s **const entry_data_list)\n{\n    *entry_data_list = new_entry_data_list();\n    if (NULL == *entry_data_list) {\n        return MMDB_OUT_OF_MEMORY_ERROR;\n    }\n    return get_entry_data_list(start->mmdb, start->offset, *entry_data_list, 0);\n}\n\nLOCAL int get_entry_data_list(MMDB_s *mmdb, uint32_t offset,\n                              MMDB_entry_data_list_s *const entry_data_list,\n                              int depth)\n{\n    if (depth >= MAXIMUM_DATA_STRUCTURE_DEPTH) {\n        DEBUG_MSG(\"reached the maximum data structure depth\");\n        return MMDB_INVALID_DATA_ERROR;\n    }\n    depth++;\n    CHECKED_DECODE_ONE(mmdb, offset, &entry_data_list->entry_data);\n\n    switch (entry_data_list->entry_data.type) {\n    case MMDB_DATA_TYPE_POINTER:\n        {\n            uint32_t next_offset = entry_data_list->entry_data.offset_to_next;\n            uint32_t last_offset;\n            CHECKED_DECODE_ONE(mmdb, last_offset =\n                                   entry_data_list->entry_data.pointer,\n                               &entry_data_list->entry_data);\n\n            /* Pointers to pointers are illegal under the spec */\n            if (entry_data_list->entry_data.type == MMDB_DATA_TYPE_POINTER) {\n                DEBUG_MSG(\"pointer points to another pointer\");\n                return MMDB_INVALID_DATA_ERROR;\n            }\n\n            if (entry_data_list->entry_data.type == MMDB_DATA_TYPE_ARRAY\n                || entry_data_list->entry_data.type == MMDB_DATA_TYPE_MAP) {\n\n                int status =\n                    get_entry_data_list(mmdb, last_offset, entry_data_list,\n                                        depth);\n                if (MMDB_SUCCESS != status) {\n                    DEBUG_MSG(\"get_entry_data_list on pointer failed.\");\n                    return status;\n                }\n            }\n            entry_data_list->entry_data.offset_to_next = next_offset;\n        }\n        break;\n    case MMDB_DATA_TYPE_ARRAY:\n        {\n            uint32_t array_size = entry_data_list->entry_data.data_size;\n            uint32_t array_offset = entry_data_list->entry_data.offset_to_next;\n            MMDB_entry_data_list_s *previous = entry_data_list;\n            while (array_size-- > 0) {\n                MMDB_entry_data_list_s *entry_data_list_to = previous->next =\n                                                                 new_entry_data_list();\n                if (NULL == entry_data_list_to) {\n                    return MMDB_OUT_OF_MEMORY_ERROR;\n                }\n\n                int status =\n                    get_entry_data_list(mmdb, array_offset, entry_data_list_to,\n                                        depth);\n                if (MMDB_SUCCESS != status) {\n                    DEBUG_MSG(\"get_entry_data_list on array element failed.\");\n                    return status;\n                }\n\n                array_offset = entry_data_list_to->entry_data.offset_to_next;\n                while (previous->next) {\n                    previous = previous->next;\n                }\n            }\n            entry_data_list->entry_data.offset_to_next = array_offset;\n\n        }\n        break;\n    case MMDB_DATA_TYPE_MAP:\n        {\n            uint32_t size = entry_data_list->entry_data.data_size;\n\n            offset = entry_data_list->entry_data.offset_to_next;\n            MMDB_entry_data_list_s *previous = entry_data_list;\n            while (size-- > 0) {\n                MMDB_entry_data_list_s *entry_data_list_to = previous->next =\n                                                                 new_entry_data_list();\n                if (NULL == entry_data_list_to) {\n                    return MMDB_OUT_OF_MEMORY_ERROR;\n                }\n\n                int status =\n                    get_entry_data_list(mmdb, offset, entry_data_list_to,\n                                        depth);\n                if (MMDB_SUCCESS != status) {\n                    DEBUG_MSG(\"get_entry_data_list on map key failed.\");\n                    return status;\n                }\n\n                while (previous->next) {\n                    previous = previous->next;\n                }\n\n                offset = entry_data_list_to->entry_data.offset_to_next;\n                entry_data_list_to = previous->next =\n                                         new_entry_data_list();\n\n                if (NULL == entry_data_list_to) {\n                    return MMDB_OUT_OF_MEMORY_ERROR;\n                }\n\n                status = get_entry_data_list(mmdb, offset, entry_data_list_to,\n                                             depth);\n                if (MMDB_SUCCESS != status) {\n                    DEBUG_MSG(\"get_entry_data_list on map element failed.\");\n                    return status;\n                }\n\n                while (previous->next) {\n                    previous = previous->next;\n                }\n                offset = entry_data_list_to->entry_data.offset_to_next;\n            }\n            entry_data_list->entry_data.offset_to_next = offset;\n        }\n        break;\n    default:\n        break;\n    }\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL float get_ieee754_float(const uint8_t *restrict p)\n{\n    volatile float f;\n    uint8_t *q = (void *)&f;\n/* Windows builds don't use autoconf but we can assume they're all\n * little-endian. */\n#if MMDB_LITTLE_ENDIAN || _WIN32\n    q[3] = p[0];\n    q[2] = p[1];\n    q[1] = p[2];\n    q[0] = p[3];\n#else\n    memcpy(q, p, 4);\n#endif\n    return f;\n}\n\nLOCAL double get_ieee754_double(const uint8_t *restrict p)\n{\n    volatile double d;\n    uint8_t *q = (void *)&d;\n#if MMDB_LITTLE_ENDIAN || _WIN32\n    q[7] = p[0];\n    q[6] = p[1];\n    q[5] = p[2];\n    q[4] = p[3];\n    q[3] = p[4];\n    q[2] = p[5];\n    q[1] = p[6];\n    q[0] = p[7];\n#else\n    memcpy(q, p, 8);\n#endif\n\n    return d;\n}\n\nLOCAL uint32_t get_uint32(const uint8_t *p)\n{\n    return p[0] * 16777216U + p[1] * 65536 + p[2] * 256 + p[3];\n}\n\nLOCAL uint32_t get_uint24(const uint8_t *p)\n{\n    return p[0] * 65536U + p[1] * 256 + p[2];\n}\n\nLOCAL uint32_t get_uint16(const uint8_t *p)\n{\n    return p[0] * 256U + p[1];\n}\n\nLOCAL uint64_t get_uintX(const uint8_t *p, int length)\n{\n    uint64_t value = 0;\n    while (length-- > 0) {\n        value <<= 8;\n        value += *p++;\n    }\n    return value;\n}\n\nLOCAL int32_t get_sintX(const uint8_t *p, int length)\n{\n    return (int32_t)get_uintX(p, length);\n}\n\nLOCAL MMDB_entry_data_list_s *new_entry_data_list(void)\n{\n    /* We need calloc here in order to ensure that the ->next pointer in the\n     * struct doesn't point to some random address. */\n    return calloc(1, sizeof(MMDB_entry_data_list_s));\n}\n\nvoid MMDB_free_entry_data_list(MMDB_entry_data_list_s *const entry_data_list)\n{\n    if (entry_data_list == NULL) {\n        return;\n    }\n    if (entry_data_list->next) {\n        MMDB_free_entry_data_list(entry_data_list->next);\n    }\n    free(entry_data_list);\n}\n\nvoid MMDB_close(MMDB_s *const mmdb)\n{\n    free_mmdb_struct(mmdb);\n}\n\nLOCAL void free_mmdb_struct(MMDB_s *const mmdb)\n{\n    if (!mmdb) {\n        return;\n    }\n\n    if (NULL != mmdb->filename) {\n        FREE_AND_SET_NULL(mmdb->filename);\n    }\n    if (NULL != mmdb->file_content) {\n#ifdef _WIN32\n        UnmapViewOfFile(mmdb->file_content);\n        /* Winsock is only initialized if open was successful so we only have\n         * to cleanup then. */\n        WSACleanup();\n#else\n        munmap((void *)mmdb->file_content, mmdb->file_size);\n#endif\n    }\n\n    if (NULL != mmdb->metadata.database_type) {\n        FREE_AND_SET_NULL(mmdb->metadata.database_type);\n    }\n\n    free_languages_metadata(mmdb);\n    free_descriptions_metadata(mmdb);\n}\n\nLOCAL void free_languages_metadata(MMDB_s *mmdb)\n{\n    if (!mmdb->metadata.languages.count) {\n        return;\n    }\n\n    for (size_t i = 0; i < mmdb->metadata.languages.count; i++) {\n        FREE_AND_SET_NULL(mmdb->metadata.languages.names[i]);\n    }\n    FREE_AND_SET_NULL(mmdb->metadata.languages.names);\n}\n\nLOCAL void free_descriptions_metadata(MMDB_s *mmdb)\n{\n    if (!mmdb->metadata.description.count) {\n        return;\n    }\n\n    for (size_t i = 0; i < mmdb->metadata.description.count; i++) {\n        if (NULL != mmdb->metadata.description.descriptions[i]) {\n            if (NULL !=\n                mmdb->metadata.description.descriptions[i]->language) {\n                FREE_AND_SET_NULL(\n                    mmdb->metadata.description.descriptions[i]->language);\n            }\n\n            if (NULL !=\n                mmdb->metadata.description.descriptions[i]->description) {\n                FREE_AND_SET_NULL(\n                    mmdb->metadata.description.descriptions[i]->description);\n            }\n            FREE_AND_SET_NULL(mmdb->metadata.description.descriptions[i]);\n        }\n    }\n\n    FREE_AND_SET_NULL(mmdb->metadata.description.descriptions);\n}\n\nconst char *MMDB_lib_version(void)\n{\n    return PACKAGE_VERSION;\n}\n\nint MMDB_dump_entry_data_list(FILE *const stream,\n                              MMDB_entry_data_list_s *const entry_data_list,\n                              int indent)\n{\n    int status;\n    dump_entry_data_list(stream, entry_data_list, indent, &status);\n    return status;\n}\n\nLOCAL MMDB_entry_data_list_s *dump_entry_data_list(\n    FILE *stream, MMDB_entry_data_list_s *entry_data_list, int indent,\n    int *status)\n{\n    switch (entry_data_list->entry_data.type) {\n    case MMDB_DATA_TYPE_MAP:\n        {\n            uint32_t size = entry_data_list->entry_data.data_size;\n\n            print_indentation(stream, indent);\n            fprintf(stream, \"{\\n\");\n            indent += 2;\n\n            for (entry_data_list = entry_data_list->next;\n                 size && entry_data_list; size--) {\n\n                if (MMDB_DATA_TYPE_UTF8_STRING !=\n                    entry_data_list->entry_data.type) {\n                    *status = MMDB_INVALID_DATA_ERROR;\n                    return NULL;\n                }\n                char *key =\n                    mmdb_strndup(\n                        (char *)entry_data_list->entry_data.utf8_string,\n                        entry_data_list->entry_data.data_size);\n                if (NULL == key) {\n                    *status = MMDB_OUT_OF_MEMORY_ERROR;\n                    return NULL;\n                }\n\n                print_indentation(stream, indent);\n                fprintf(stream, \"\\\"%s\\\": \\n\", key);\n                free(key);\n\n                entry_data_list = entry_data_list->next;\n                entry_data_list =\n                    dump_entry_data_list(stream, entry_data_list, indent + 2,\n                                         status);\n\n                if (MMDB_SUCCESS != *status) {\n                    return NULL;\n                }\n            }\n\n            indent -= 2;\n            print_indentation(stream, indent);\n            fprintf(stream, \"}\\n\");\n        }\n        break;\n    case MMDB_DATA_TYPE_ARRAY:\n        {\n            uint32_t size = entry_data_list->entry_data.data_size;\n\n            print_indentation(stream, indent);\n            fprintf(stream, \"[\\n\");\n            indent += 2;\n\n            for (entry_data_list = entry_data_list->next;\n                 size && entry_data_list; size--) {\n                entry_data_list =\n                    dump_entry_data_list(stream, entry_data_list, indent,\n                                         status);\n                if (MMDB_SUCCESS != *status) {\n                    return NULL;\n                }\n            }\n\n            indent -= 2;\n            print_indentation(stream, indent);\n            fprintf(stream, \"]\\n\");\n        }\n        break;\n    case MMDB_DATA_TYPE_UTF8_STRING:\n        {\n            char *string =\n                mmdb_strndup((char *)entry_data_list->entry_data.utf8_string,\n                             entry_data_list->entry_data.data_size);\n            if (NULL == string) {\n                *status = MMDB_OUT_OF_MEMORY_ERROR;\n                return NULL;\n            }\n            print_indentation(stream, indent);\n            fprintf(stream, \"\\\"%s\\\" <utf8_string>\\n\", string);\n            free(string);\n            entry_data_list = entry_data_list->next;\n        }\n        break;\n    case MMDB_DATA_TYPE_BYTES:\n        {\n            char *hex_string =\n                bytes_to_hex((uint8_t *)entry_data_list->entry_data.bytes,\n                             entry_data_list->entry_data.data_size);\n            if (NULL == hex_string) {\n                *status = MMDB_OUT_OF_MEMORY_ERROR;\n                return NULL;\n            }\n\n            print_indentation(stream, indent);\n            fprintf(stream, \"%s <bytes>\\n\", hex_string);\n            free(hex_string);\n\n            entry_data_list = entry_data_list->next;\n        }\n        break;\n    case MMDB_DATA_TYPE_DOUBLE:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%f <double>\\n\",\n                entry_data_list->entry_data.double_value);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_FLOAT:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%f <float>\\n\",\n                entry_data_list->entry_data.float_value);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_UINT16:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%u <uint16>\\n\", entry_data_list->entry_data.uint16);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_UINT32:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%u <uint32>\\n\", entry_data_list->entry_data.uint32);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_BOOLEAN:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%s <boolean>\\n\",\n                entry_data_list->entry_data.boolean ? \"true\" : \"false\");\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_UINT64:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%\" PRIu64 \" <uint64>\\n\",\n                entry_data_list->entry_data.uint64);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_UINT128:\n        print_indentation(stream, indent);\n#if MMDB_UINT128_IS_BYTE_ARRAY\n        char *hex_string =\n            bytes_to_hex((uint8_t *)entry_data_list->entry_data.uint128, 16);\n        if (NULL == hex_string) {\n            *status = MMDB_OUT_OF_MEMORY_ERROR;\n            return NULL;\n        }\n        fprintf(stream, \"0x%s <uint128>\\n\", hex_string);\n        free(hex_string);\n#else\n        uint64_t high = entry_data_list->entry_data.uint128 >> 64;\n        uint64_t low = (uint64_t)entry_data_list->entry_data.uint128;\n        fprintf(stream, \"0x%016\" PRIX64 \"%016\" PRIX64 \" <uint128>\\n\", high,\n                low);\n#endif\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_INT32:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%d <int32>\\n\", entry_data_list->entry_data.int32);\n        entry_data_list = entry_data_list->next;\n        break;\n    default:\n        *status = MMDB_INVALID_DATA_ERROR;\n        return NULL;\n    }\n\n    *status = MMDB_SUCCESS;\n    return entry_data_list;\n}\n\nLOCAL void print_indentation(FILE *stream, int i)\n{\n    char buffer[1024];\n    int size = i >= 1024 ? 1023 : i;\n    memset(buffer, 32, size);\n    buffer[size] = '\\0';\n    fputs(buffer, stream);\n}\n\nLOCAL char *bytes_to_hex(uint8_t *bytes, uint32_t size)\n{\n    char *hex_string;\n    MAYBE_CHECK_SIZE_OVERFLOW(size, SIZE_MAX / 2 - 1, NULL);\n\n    hex_string = malloc((size * 2) + 1);\n    if (NULL == hex_string) {\n        return NULL;\n    }\n\n    for (uint32_t i = 0; i < size; i++) {\n        sprintf(hex_string + (2 * i), \"%02X\", bytes[i]);\n    }\n\n    return hex_string;\n}\n\nconst char *MMDB_strerror(int error_code)\n{\n    switch (error_code) {\n    case MMDB_SUCCESS:\n        return \"Success (not an error)\";\n    case MMDB_FILE_OPEN_ERROR:\n        return \"Error opening the specified MaxMind DB file\";\n    case MMDB_CORRUPT_SEARCH_TREE_ERROR:\n        return \"The MaxMind DB file's search tree is corrupt\";\n    case MMDB_INVALID_METADATA_ERROR:\n        return \"The MaxMind DB file contains invalid metadata\";\n    case MMDB_IO_ERROR:\n        return \"An attempt to read data from the MaxMind DB file failed\";\n    case MMDB_OUT_OF_MEMORY_ERROR:\n        return \"A memory allocation call failed\";\n    case MMDB_UNKNOWN_DATABASE_FORMAT_ERROR:\n        return\n            \"The MaxMind DB file is in a format this library can't handle (unknown record size or binary format version)\";\n    case MMDB_INVALID_DATA_ERROR:\n        return\n            \"The MaxMind DB file's data section contains bad data (unknown data type or corrupt data)\";\n    case MMDB_INVALID_LOOKUP_PATH_ERROR:\n        return\n            \"The lookup path contained an invalid value (like a negative integer for an array index)\";\n    case MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR:\n        return\n            \"The lookup path does not match the data (key that doesn't exist, array index bigger than the array, expected array or map where none exists)\";\n    case MMDB_INVALID_NODE_NUMBER_ERROR:\n        return\n            \"The MMDB_read_node function was called with a node number that does not exist in the search tree\";\n    case MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR:\n        return\n            \"You attempted to look up an IPv6 address in an IPv4-only database\";\n    default:\n        return \"Unknown error code\";\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/maxminddb.h",
    "content": "#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef MAXMINDDB_H\n#define MAXMINDDB_H\n\n/* libmaxminddb package version from configure */\n#define PACKAGE_VERSION \"1.2.1\"\n\n#ifndef _POSIX_C_SOURCE\n#define _POSIX_C_SOURCE 200112L\n#endif\n\n#include \"maxminddb_config.h\"\n#include <stdarg.h>\n#include <stdbool.h>\n#include <stdint.h>\n#include <stdio.h>\n#include <sys/types.h>\n\n#ifdef _WIN32\n#include <winsock2.h>\n#include <ws2tcpip.h>\n\ntypedef ADDRESS_FAMILY sa_family_t;\n\n#if defined(_MSC_VER)\n/* MSVC doesn't define signed size_t, copy it from configure */\n#define ssize_t SSIZE_T\n\n/* MSVC doesn't support restricted pointers */\n#define restrict\n#endif\n#else\n#include <netdb.h>\n#include <netinet/in.h>\n#include <sys/socket.h>\n#endif\n\n#define MMDB_DATA_TYPE_EXTENDED (0)\n#define MMDB_DATA_TYPE_POINTER (1)\n#define MMDB_DATA_TYPE_UTF8_STRING (2)\n#define MMDB_DATA_TYPE_DOUBLE (3)\n#define MMDB_DATA_TYPE_BYTES (4)\n#define MMDB_DATA_TYPE_UINT16 (5)\n#define MMDB_DATA_TYPE_UINT32 (6)\n#define MMDB_DATA_TYPE_MAP (7)\n#define MMDB_DATA_TYPE_INT32 (8)\n#define MMDB_DATA_TYPE_UINT64 (9)\n#define MMDB_DATA_TYPE_UINT128 (10)\n#define MMDB_DATA_TYPE_ARRAY (11)\n#define MMDB_DATA_TYPE_CONTAINER (12)\n#define MMDB_DATA_TYPE_END_MARKER (13)\n#define MMDB_DATA_TYPE_BOOLEAN (14)\n#define MMDB_DATA_TYPE_FLOAT (15)\n\n#define MMDB_RECORD_TYPE_SEARCH_NODE (0)\n#define MMDB_RECORD_TYPE_EMPTY (1)\n#define MMDB_RECORD_TYPE_DATA (2)\n#define MMDB_RECORD_TYPE_INVALID (3)\n\n/* flags for open */\n#define MMDB_MODE_MMAP (1)\n#define MMDB_MODE_MASK (7)\n\n/* error codes */\n#define MMDB_SUCCESS (0)\n#define MMDB_FILE_OPEN_ERROR (1)\n#define MMDB_CORRUPT_SEARCH_TREE_ERROR (2)\n#define MMDB_INVALID_METADATA_ERROR (3)\n#define MMDB_IO_ERROR (4)\n#define MMDB_OUT_OF_MEMORY_ERROR (5)\n#define MMDB_UNKNOWN_DATABASE_FORMAT_ERROR (6)\n#define MMDB_INVALID_DATA_ERROR (7)\n#define MMDB_INVALID_LOOKUP_PATH_ERROR (8)\n#define MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR (9)\n#define MMDB_INVALID_NODE_NUMBER_ERROR (10)\n#define MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR (11)\n\n#if !(MMDB_UINT128_IS_BYTE_ARRAY)\n#if MMDB_UINT128_USING_MODE\ntypedef unsigned int mmdb_uint128_t __attribute__ ((__mode__(TI)));\n#else\ntypedef unsigned __int128 mmdb_uint128_t;\n#endif\n#endif\n\n/* This is a pointer into the data section for a given IP address lookup */\ntypedef struct MMDB_entry_s {\n    struct MMDB_s *mmdb;\n    uint32_t offset;\n} MMDB_entry_s;\n\ntypedef struct MMDB_lookup_result_s {\n    bool found_entry;\n    MMDB_entry_s entry;\n    uint16_t netmask;\n} MMDB_lookup_result_s;\n\ntypedef struct MMDB_entry_data_s {\n    bool has_data;\n    union {\n        uint32_t pointer;\n        const char *utf8_string;\n        double double_value;\n        const uint8_t *bytes;\n        uint16_t uint16;\n        uint32_t uint32;\n        int32_t int32;\n        uint64_t uint64;\n#if MMDB_UINT128_IS_BYTE_ARRAY\n        uint8_t uint128[16];\n#else\n        mmdb_uint128_t uint128;\n#endif\n        bool boolean;\n        float float_value;\n    };\n    /* This is a 0 if a given entry cannot be found. This can only happen\n     * when a call to MMDB_(v)get_value() asks for hash keys or array\n     * indices that don't exist. */\n    uint32_t offset;\n    /* This is the next entry in the data section, but it's really only\n     * relevant for entries that part of a larger map or array\n     * struct. There's no good reason for an end user to look at this\n     * directly. */\n    uint32_t offset_to_next;\n    /* This is only valid for strings, utf8_strings or binary data */\n    uint32_t data_size;\n    /* This is an MMDB_DATA_TYPE_* constant */\n    uint32_t type;\n} MMDB_entry_data_s;\n\n/* This is the return type when someone asks for all the entry data in a map or array */\ntypedef struct MMDB_entry_data_list_s {\n    MMDB_entry_data_s entry_data;\n    struct MMDB_entry_data_list_s *next;\n} MMDB_entry_data_list_s;\n\ntypedef struct MMDB_description_s {\n    const char *language;\n    const char *description;\n} MMDB_description_s;\n\ntypedef struct MMDB_metadata_s {\n    uint32_t node_count;\n    uint16_t record_size;\n    uint16_t ip_version;\n    const char *database_type;\n    struct {\n        size_t count;\n        const char **names;\n    } languages;\n    uint16_t binary_format_major_version;\n    uint16_t binary_format_minor_version;\n    uint64_t build_epoch;\n    struct {\n        size_t count;\n        MMDB_description_s **descriptions;\n    } description;\n} MMDB_metadata_s;\n\ntypedef struct MMDB_ipv4_start_node_s {\n    uint16_t netmask;\n    uint32_t node_value;\n} MMDB_ipv4_start_node_s;\n\ntypedef struct MMDB_s {\n    uint32_t flags;\n    const char *filename;\n    ssize_t file_size;\n    const uint8_t *file_content;\n    const uint8_t *data_section;\n    uint32_t data_section_size;\n    const uint8_t *metadata_section;\n    uint32_t metadata_section_size;\n    uint16_t full_record_byte_size;\n    uint16_t depth;\n    MMDB_ipv4_start_node_s ipv4_start_node;\n    MMDB_metadata_s metadata;\n} MMDB_s;\n\ntypedef struct MMDB_search_node_s {\n    uint64_t left_record;\n    uint64_t right_record;\n    uint8_t left_record_type;\n    uint8_t right_record_type;\n    MMDB_entry_s left_record_entry;\n    MMDB_entry_s right_record_entry;\n} MMDB_search_node_s;\n\n    /* *INDENT-OFF* */\n    /* --prototypes automatically generated by dev-bin/regen-prototypes.pl - don't remove this comment */\n    extern int MMDB_open(const char *const filename, uint32_t flags, MMDB_s *const mmdb);\n    extern MMDB_lookup_result_s MMDB_lookup_string(MMDB_s *const mmdb,\n                                                   const char *const ipstr,\n                                                   int *const gai_error,\n                                                   int *const mmdb_error);\n    extern MMDB_lookup_result_s MMDB_lookup_sockaddr(\n               MMDB_s *const mmdb,\n               const struct sockaddr *const sockaddr,\n               int *const mmdb_error);\n    extern int MMDB_read_node(MMDB_s *const mmdb, uint32_t node_number,\n                              MMDB_search_node_s *const node);\n    extern int MMDB_get_value(MMDB_entry_s *const start,\n                              MMDB_entry_data_s *const entry_data,\n                              ...);\n    extern int MMDB_vget_value(MMDB_entry_s *const start,\n                               MMDB_entry_data_s *const entry_data,\n                               va_list va_path);\n    extern int MMDB_aget_value(MMDB_entry_s *const start,\n                               MMDB_entry_data_s *const entry_data,\n                               const char *const *const path);\n    extern int MMDB_get_metadata_as_entry_data_list(\n               MMDB_s *const mmdb, MMDB_entry_data_list_s **const entry_data_list);\n    extern int MMDB_get_entry_data_list(\n               MMDB_entry_s *start, MMDB_entry_data_list_s **const entry_data_list);\n    extern void MMDB_free_entry_data_list(MMDB_entry_data_list_s *const entry_data_list);\n    extern void MMDB_close(MMDB_s *const mmdb);\n    extern const char *MMDB_lib_version(void);\n    extern int MMDB_dump_entry_data_list(FILE *const stream,\n                                         MMDB_entry_data_list_s *const entry_data_list,\n                                         int indent);\n    extern const char *MMDB_strerror(int error_code);\n    /* --prototypes end - don't remove this comment-- */\n    /* *INDENT-ON* */\n\n#endif                          /* MAXMINDDB_H */\n\n#ifdef __cplusplus\n}\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/maxminddb_config.h",
    "content": "#ifndef MAXMINDDB_CONFIG_H\n#define MAXMINDDB_CONFIG_H\n\n#ifndef MMDB_UINT128_USING_MODE\n/* Define as 1 if we we use unsigned int __atribute__ ((__mode__(TI))) for uint128 values */\n#define MMDB_UINT128_USING_MODE 0\n#endif\n\n#ifndef MMDB_UINT128_IS_BYTE_ARRAY\n/* Define as 1 if we don't have an unsigned __int128 type */\n#define MMDB_UINT128_IS_BYTE_ARRAY 1\n#endif\n\n#endif                          /* MAXMINDDB_CONFIG_H */\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/maxminddb_unions.c",
    "content": "//\n//  maxminddb_unions.c\n//  MMDB\n//\n//  Created by Lex on 12/17/15.\n//  Copyright © 2017 lexrus.com. All rights reserved.\n//\n\n#include \"maxminddb_unions.h\"\n\nconst char *MMDB_get_entry_data_char(MMDB_entry_data_s *ptr) {\n    return ptr->utf8_string;\n}\n\nuint32_t *MMDB_get_entry_data_uint32(MMDB_entry_data_s *ptr) {\n    return &ptr->uint32;\n}\n\nbool MMDB_get_entry_data_bool(MMDB_entry_data_s *ptr) {\n    return ptr->boolean;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB/maxminddb_unions.h",
    "content": "//\n//  maxminddb_unions.h\n//  MMDB\n//\n//  Created by Lex on 12/17/15.\n//  Copyright © 2017 lexrus.com. All rights reserved.\n//\n\n#ifndef maxminddb_unions_h\n#define maxminddb_unions_h\n\n#include <stdio.h>\n#include \"maxminddb.h\"\n\nconst char *MMDB_get_entry_data_char(MMDB_entry_data_s *ptr);\nuint32_t *MMDB_get_entry_data_uint32(MMDB_entry_data_s *ptr);\nbool MMDB_get_entry_data_bool(MMDB_entry_data_s *ptr);\n\n\n#endif /* maxminddb_unions_h */\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB-Swift.podspec",
    "content": "Pod::Spec.new do |s|\n  s.name         = \"MMDB-Swift\"\n  s.version      = \"0.2.9\"\n  s.summary      = \"A wrapper for MaxMind DB\"\n  s.description  = <<-DESC\n                   A tiny wrapper for libmaxminddb which allows you to lookup\n                   Geo data by IP address.\n                   DESC\n\n  s.homepage     = \"https://github.com/lexrus/MMDB-Swift\"\n\n  s.license      = { :type => \"APACHE 2.0\", :file => \"LICENSE\" }\n\n  s.author             = { \"Lex Tang\" => \"lexrus@gmail.com\" }\n  s.social_media_url   = \"https://twitter.com/lexrus\"\n\n  s.platform     = :ios, :osx\n\n  s.ios.deployment_target = \"8.0\"\n  s.osx.deployment_target = \"10.10\"\n\n  s.source       = { :git => \"https://github.com/lexrus/MMDB-Swift.git\",\n                     :tag => s.version }\n\n  s.source_files  = \"Sources/MMDB.swift\", \"Sources/libmaxminddb/maxminddb*.{h,c}\"\n  s.ios.public_header_files = \"Sources/libmaxminddb/maxminddb*.h\", \"Sources/MMDB.h\"\n  s.osx.public_header_files = \"Sources/libmaxminddb/maxminddb*.h\", \"Sources/MMDB.h\"\n\n  s.prepare_command = \"./update_database.sh\"\n  s.resource  = \"Sources/libmaxminddb/GeoLite2-Country.mmdb\"\n\n  s.framework  = \"Foundation\"\n  s.requires_arc = true\nend\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t366F5FE71F052F7F00DE3883 /* MMDBTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 366F5FE61F052F7F00DE3883 /* MMDBTests.swift */; };\n\t\t366F5FE91F052F7F00DE3883 /* MMDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D716CB471C23A58700D89B5C /* MMDB.framework */; };\n\t\t366F5FF81F05301400DE3883 /* MMDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D716CB541C23A5DC00D89B5C /* MMDB.framework */; };\n\t\t366F5FFE1F05302300DE3883 /* MMDBTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 366F5FE61F052F7F00DE3883 /* MMDBTests.swift */; };\n\t\tD716CB5C1C23A65200D89B5C /* maxminddb.c in Sources */ = {isa = PBXBuildFile; fileRef = D73CAECC1C21A7A2000C2132 /* maxminddb.c */; };\n\t\tD716CB5D1C23A65200D89B5C /* maxminddb_unions.c in Sources */ = {isa = PBXBuildFile; fileRef = D716CB3F1C2269D200D89B5C /* maxminddb_unions.c */; };\n\t\tD716CB5E1C23A65D00D89B5C /* MMDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D716CB321C21432C00D89B5C /* MMDB.swift */; };\n\t\tD716CB5F1C23A66C00D89B5C /* MMDB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D716CB321C21432C00D89B5C /* MMDB.swift */; };\n\t\tD716CB601C23A66C00D89B5C /* maxminddb.c in Sources */ = {isa = PBXBuildFile; fileRef = D73CAECC1C21A7A2000C2132 /* maxminddb.c */; };\n\t\tD716CB611C23A66C00D89B5C /* maxminddb_unions.c in Sources */ = {isa = PBXBuildFile; fileRef = D716CB3F1C2269D200D89B5C /* maxminddb_unions.c */; };\n\t\tD736A97E1C23B59D0070EAA3 /* GeoLite2-Country.mmdb in Resources */ = {isa = PBXBuildFile; fileRef = D73CAED01C21AA9A000C2132 /* GeoLite2-Country.mmdb */; };\n\t\tD736A97F1C23B59F0070EAA3 /* GeoLite2-Country.mmdb in Resources */ = {isa = PBXBuildFile; fileRef = D73CAED01C21AA9A000C2132 /* GeoLite2-Country.mmdb */; };\n\t\tD736A9811C23B7D40070EAA3 /* maxminddb_config.h in Headers */ = {isa = PBXBuildFile; fileRef = D73CAECE1C21A7B0000C2132 /* maxminddb_config.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD736A9821C23B7D40070EAA3 /* maxminddb-compat-util.h in Headers */ = {isa = PBXBuildFile; fileRef = D73CAED11C21AAEA000C2132 /* maxminddb-compat-util.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD736A9831C23B7D40070EAA3 /* maxminddb.h in Headers */ = {isa = PBXBuildFile; fileRef = D73CAECF1C21A7B0000C2132 /* maxminddb.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD736A9841C23B7D40070EAA3 /* maxminddb_unions.h in Headers */ = {isa = PBXBuildFile; fileRef = D716CB401C2269D200D89B5C /* maxminddb_unions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD736A9851C23B7E30070EAA3 /* maxminddb_config.h in Headers */ = {isa = PBXBuildFile; fileRef = D73CAECE1C21A7B0000C2132 /* maxminddb_config.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD736A9861C23B7E30070EAA3 /* maxminddb-compat-util.h in Headers */ = {isa = PBXBuildFile; fileRef = D73CAED11C21AAEA000C2132 /* maxminddb-compat-util.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD736A9871C23B7E30070EAA3 /* maxminddb.h in Headers */ = {isa = PBXBuildFile; fileRef = D73CAECF1C21A7B0000C2132 /* maxminddb.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD736A9881C23B7E30070EAA3 /* maxminddb_unions.h in Headers */ = {isa = PBXBuildFile; fileRef = D716CB401C2269D200D89B5C /* maxminddb_unions.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD736A98A1C23DD190070EAA3 /* MMDB.h in Headers */ = {isa = PBXBuildFile; fileRef = D736A9891C23DD190070EAA3 /* MMDB.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\tD736A98B1C23DD280070EAA3 /* MMDB.h in Headers */ = {isa = PBXBuildFile; fileRef = D736A9891C23DD190070EAA3 /* MMDB.h */; settings = {ATTRIBUTES = (Public, ); }; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t366F5FEA1F052F7F00DE3883 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D716CB271C21432C00D89B5C /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = D716CB461C23A58700D89B5C;\n\t\t\tremoteInfo = \"MMDB-iOS\";\n\t\t};\n\t\t366F5FF91F05301400DE3883 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D716CB271C21432C00D89B5C /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = D716CB531C23A5DC00D89B5C;\n\t\t\tremoteInfo = \"MMDB-OSX\";\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t366F5FE41F052F7F00DE3883 /* MMDBTests-iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"MMDBTests-iOS.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t366F5FE61F052F7F00DE3883 /* MMDBTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MMDBTests.swift; sourceTree = \"<group>\"; };\n\t\t366F5FE81F052F7F00DE3883 /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"Info-iOS.plist\"; sourceTree = \"<group>\"; };\n\t\t366F5FF31F05301400DE3883 /* MMDBTests-OSX.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"MMDBTests-OSX.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t366F5FF71F05301400DE3883 /* Info-OSX.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = \"Info-OSX.plist\"; sourceTree = \"<group>\"; };\n\t\tD716CB321C21432C00D89B5C /* MMDB.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MMDB.swift; path = ../Sources/MMDB.swift; sourceTree = \"<group>\"; };\n\t\tD716CB3F1C2269D200D89B5C /* maxminddb_unions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = maxminddb_unions.c; sourceTree = \"<group>\"; };\n\t\tD716CB401C2269D200D89B5C /* maxminddb_unions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = maxminddb_unions.h; sourceTree = \"<group>\"; };\n\t\tD716CB471C23A58700D89B5C /* MMDB.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MMDB.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD716CB4B1C23A58700D89B5C /* Info-iOS.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = \"Info-iOS.plist\"; path = \"../Sources/Info-iOS.plist\"; sourceTree = \"<group>\"; };\n\t\tD716CB541C23A5DC00D89B5C /* MMDB.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MMDB.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD716CB581C23A5DC00D89B5C /* Info-OSX.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = \"Info-OSX.plist\"; path = \"../Sources/Info-OSX.plist\"; sourceTree = \"<group>\"; };\n\t\tD736A9891C23DD190070EAA3 /* MMDB.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MMDB.h; path = ../Sources/MMDB.h; sourceTree = \"<group>\"; };\n\t\tD73CAECC1C21A7A2000C2132 /* maxminddb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = maxminddb.c; sourceTree = \"<group>\"; };\n\t\tD73CAECE1C21A7B0000C2132 /* maxminddb_config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = maxminddb_config.h; sourceTree = \"<group>\"; };\n\t\tD73CAECF1C21A7B0000C2132 /* maxminddb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = maxminddb.h; sourceTree = \"<group>\"; };\n\t\tD73CAED01C21AA9A000C2132 /* GeoLite2-Country.mmdb */ = {isa = PBXFileReference; lastKnownFileType = file; path = \"GeoLite2-Country.mmdb\"; sourceTree = \"<group>\"; };\n\t\tD73CAED11C21AAEA000C2132 /* maxminddb-compat-util.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"maxminddb-compat-util.h\"; sourceTree = \"<group>\"; };\n\t\tD77179AE1EF800B300E25F23 /* MMDB-Swift.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = \"MMDB-Swift.podspec\"; sourceTree = \"<group>\"; };\n\t\tD77179AF1EF800B300E25F23 /* Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = \"<group>\"; };\n\t\tD77179B01EF800B300E25F23 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t366F5FE11F052F7F00DE3883 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t366F5FE91F052F7F00DE3883 /* MMDB.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t366F5FF01F05301400DE3883 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t366F5FF81F05301400DE3883 /* MMDB.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD716CB431C23A58700D89B5C /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD716CB501C23A5DC00D89B5C /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t366F5FE51F052F7F00DE3883 /* MMDBTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t366F5FF71F05301400DE3883 /* Info-OSX.plist */,\n\t\t\t\t366F5FE81F052F7F00DE3883 /* Info-iOS.plist */,\n\t\t\t\t366F5FE61F052F7F00DE3883 /* MMDBTests.swift */,\n\t\t\t);\n\t\t\tname = MMDBTests;\n\t\t\tpath = Tests/MMDBTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD716CB261C21432C00D89B5C = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD7C937F0209A79CA007F77C5 /* MMDB-Swift */,\n\t\t\t\tD716CB311C21432C00D89B5C /* libmaxminddb */,\n\t\t\t\t366F5FE51F052F7F00DE3883 /* MMDBTests */,\n\t\t\t\tD716CB301C21432C00D89B5C /* Products */,\n\t\t\t\tD77179AE1EF800B300E25F23 /* MMDB-Swift.podspec */,\n\t\t\t\tD77179AF1EF800B300E25F23 /* Package.swift */,\n\t\t\t\tD77179B01EF800B300E25F23 /* README.md */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD716CB301C21432C00D89B5C /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD716CB471C23A58700D89B5C /* MMDB.framework */,\n\t\t\t\tD716CB541C23A5DC00D89B5C /* MMDB.framework */,\n\t\t\t\t366F5FE41F052F7F00DE3883 /* MMDBTests-iOS.xctest */,\n\t\t\t\t366F5FF31F05301400DE3883 /* MMDBTests-OSX.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD716CB311C21432C00D89B5C /* libmaxminddb */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD73CAED01C21AA9A000C2132 /* GeoLite2-Country.mmdb */,\n\t\t\t\tD73CAED11C21AAEA000C2132 /* maxminddb-compat-util.h */,\n\t\t\t\tD73CAECC1C21A7A2000C2132 /* maxminddb.c */,\n\t\t\t\tD73CAECF1C21A7B0000C2132 /* maxminddb.h */,\n\t\t\t\tD73CAECE1C21A7B0000C2132 /* maxminddb_config.h */,\n\t\t\t\tD716CB3F1C2269D200D89B5C /* maxminddb_unions.c */,\n\t\t\t\tD716CB401C2269D200D89B5C /* maxminddb_unions.h */,\n\t\t\t);\n\t\t\tname = libmaxminddb;\n\t\t\tpath = Sources/libmaxminddb;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD7C937F0209A79CA007F77C5 /* MMDB-Swift */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD716CB581C23A5DC00D89B5C /* Info-OSX.plist */,\n\t\t\t\tD716CB4B1C23A58700D89B5C /* Info-iOS.plist */,\n\t\t\t\tD736A9891C23DD190070EAA3 /* MMDB.h */,\n\t\t\t\tD716CB321C21432C00D89B5C /* MMDB.swift */,\n\t\t\t);\n\t\t\tpath = \"MMDB-Swift\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\tD716CB441C23A58700D89B5C /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD736A98A1C23DD190070EAA3 /* MMDB.h in Headers */,\n\t\t\t\tD736A9811C23B7D40070EAA3 /* maxminddb_config.h in Headers */,\n\t\t\t\tD736A9821C23B7D40070EAA3 /* maxminddb-compat-util.h in Headers */,\n\t\t\t\tD736A9831C23B7D40070EAA3 /* maxminddb.h in Headers */,\n\t\t\t\tD736A9841C23B7D40070EAA3 /* maxminddb_unions.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD716CB511C23A5DC00D89B5C /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD736A98B1C23DD280070EAA3 /* MMDB.h in Headers */,\n\t\t\t\tD736A9851C23B7E30070EAA3 /* maxminddb_config.h in Headers */,\n\t\t\t\tD736A9861C23B7E30070EAA3 /* maxminddb-compat-util.h in Headers */,\n\t\t\t\tD736A9871C23B7E30070EAA3 /* maxminddb.h in Headers */,\n\t\t\t\tD736A9881C23B7E30070EAA3 /* maxminddb_unions.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t366F5FE31F052F7F00DE3883 /* MMDBTests-iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 366F5FEE1F052F7F00DE3883 /* Build configuration list for PBXNativeTarget \"MMDBTests-iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t366F5FE01F052F7F00DE3883 /* Sources */,\n\t\t\t\t366F5FE11F052F7F00DE3883 /* Frameworks */,\n\t\t\t\t366F5FE21F052F7F00DE3883 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t366F5FEB1F052F7F00DE3883 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"MMDBTests-iOS\";\n\t\t\tproductName = MMDBTests;\n\t\t\tproductReference = 366F5FE41F052F7F00DE3883 /* MMDBTests-iOS.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\t366F5FF21F05301400DE3883 /* MMDBTests-OSX */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 366F5FFB1F05301400DE3883 /* Build configuration list for PBXNativeTarget \"MMDBTests-OSX\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t366F5FEF1F05301400DE3883 /* Sources */,\n\t\t\t\t366F5FF01F05301400DE3883 /* Frameworks */,\n\t\t\t\t366F5FF11F05301400DE3883 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t366F5FFA1F05301400DE3883 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"MMDBTests-OSX\";\n\t\t\tproductName = \"MMDBTests-OSX\";\n\t\t\tproductReference = 366F5FF31F05301400DE3883 /* MMDBTests-OSX.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\tD716CB461C23A58700D89B5C /* MMDB-iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D716CB4C1C23A58700D89B5C /* Build configuration list for PBXNativeTarget \"MMDB-iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t366F5FDD1F05152C00DE3883 /* ShellScript */,\n\t\t\t\tD716CB421C23A58700D89B5C /* Sources */,\n\t\t\t\tD716CB431C23A58700D89B5C /* Frameworks */,\n\t\t\t\tD716CB441C23A58700D89B5C /* Headers */,\n\t\t\t\tD716CB451C23A58700D89B5C /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"MMDB-iOS\";\n\t\t\tproductName = MMDBFramework;\n\t\t\tproductReference = D716CB471C23A58700D89B5C /* MMDB.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\tD716CB531C23A5DC00D89B5C /* MMDB-OSX */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D716CB591C23A5DC00D89B5C /* Build configuration list for PBXNativeTarget \"MMDB-OSX\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t366F5FDE1F0515CD00DE3883 /* ShellScript */,\n\t\t\t\tD716CB4F1C23A5DC00D89B5C /* Sources */,\n\t\t\t\tD716CB501C23A5DC00D89B5C /* Frameworks */,\n\t\t\t\tD716CB511C23A5DC00D89B5C /* Headers */,\n\t\t\t\tD716CB521C23A5DC00D89B5C /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"MMDB-OSX\";\n\t\t\tproductName = \"MMDB-OSX\";\n\t\t\tproductReference = D716CB541C23A5DC00D89B5C /* MMDB.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tD716CB271C21432C00D89B5C /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0830;\n\t\t\t\tLastUpgradeCheck = 0930;\n\t\t\t\tORGANIZATIONNAME = lexrus.com;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t366F5FE31F052F7F00DE3883 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 8.3.2;\n\t\t\t\t\t\tLastSwiftMigration = 0930;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t};\n\t\t\t\t\t366F5FF21F05301400DE3883 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 8.3.2;\n\t\t\t\t\t\tProvisioningStyle = Automatic;\n\t\t\t\t\t};\n\t\t\t\t\tD716CB461C23A58700D89B5C = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t\tLastSwiftMigration = 0930;\n\t\t\t\t\t};\n\t\t\t\t\tD716CB531C23A5DC00D89B5C = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = D716CB2A1C21432C00D89B5C /* Build configuration list for PBXProject \"MMDB\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = D716CB261C21432C00D89B5C;\n\t\t\tproductRefGroup = D716CB301C21432C00D89B5C /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tD716CB461C23A58700D89B5C /* MMDB-iOS */,\n\t\t\t\tD716CB531C23A5DC00D89B5C /* MMDB-OSX */,\n\t\t\t\t366F5FE31F052F7F00DE3883 /* MMDBTests-iOS */,\n\t\t\t\t366F5FF21F05301400DE3883 /* MMDBTests-OSX */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t366F5FE21F052F7F00DE3883 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t366F5FF11F05301400DE3883 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD716CB451C23A58700D89B5C /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD736A97E1C23B59D0070EAA3 /* GeoLite2-Country.mmdb in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD716CB521C23A5DC00D89B5C /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD736A97F1C23B59F0070EAA3 /* GeoLite2-Country.mmdb in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t366F5FDD1F05152C00DE3883 /* ShellScript */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 12;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"if [ ! -f $SRCROOT/Sources/libmaxminddb/GeoLite2-Country.mmdb ] || [ $CONFIGURATION == \\\"Release\\\" ]; then\\n  $SRCROOT/update_database.sh\\nfi\";\n\t\t};\n\t\t366F5FDE1F0515CD00DE3883 /* ShellScript */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 12;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"if [ ! -f $SRCROOT/MMDB/GeoLite2-Country.mmdb ] || [ $CONFIGURATION == \\\"Release\\\" ]; then\\n  $SRCROOT/update_database.sh\\nfi\";\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t366F5FE01F052F7F00DE3883 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t366F5FE71F052F7F00DE3883 /* MMDBTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t366F5FEF1F05301400DE3883 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t366F5FFE1F05302300DE3883 /* MMDBTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD716CB421C23A58700D89B5C /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD716CB5E1C23A65D00D89B5C /* MMDB.swift in Sources */,\n\t\t\t\tD716CB5C1C23A65200D89B5C /* maxminddb.c in Sources */,\n\t\t\t\tD716CB5D1C23A65200D89B5C /* maxminddb_unions.c in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD716CB4F1C23A5DC00D89B5C /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD716CB5F1C23A66C00D89B5C /* MMDB.swift in Sources */,\n\t\t\t\tD716CB601C23A66C00D89B5C /* maxminddb.c in Sources */,\n\t\t\t\tD716CB611C23A66C00D89B5C /* maxminddb_unions.c in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t366F5FEB1F052F7F00DE3883 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = D716CB461C23A58700D89B5C /* MMDB-iOS */;\n\t\t\ttargetProxy = 366F5FEA1F052F7F00DE3883 /* PBXContainerItemProxy */;\n\t\t};\n\t\t366F5FFA1F05301400DE3883 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = D716CB531C23A5DC00D89B5C /* MMDB-OSX */;\n\t\t\ttargetProxy = 366F5FF91F05301400DE3883 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\t366F5FEC1F052F7F00DE3883 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tINFOPLIST_FILE = \"Tests/MMDBTests/Info-iOS.plist\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 10.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.lexrus.MMDBTests-iOS\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = On;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t366F5FED1F052F7F00DE3883 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tINFOPLIST_FILE = \"Tests/MMDBTests/Info-iOS.plist\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 10.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.lexrus.MMDBTests-iOS\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = On;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t366F5FFC1F05301400DE3883 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tINFOPLIST_FILE = \"Tests/MMDBTests/Info-OSX.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.12;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.lexrus.MMDBTests-OSX\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t366F5FFD1F05301400DE3883 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tINFOPLIST_FILE = \"Tests/MMDBTests/Info-OSX.plist\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.12;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.lexrus.MMDBTests-OSX\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD716CB341C21432C00D89B5C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tHEADER_SEARCH_PATHS = \"${SRCROOT}/MMDB\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.11;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD716CB351C21432C00D89B5C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tHEADER_SEARCH_PATHS = \"${SRCROOT}/MMDB\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.11;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD716CB4D1C23A58700D89B5C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Developer\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = NO;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info-iOS.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.lexrus.MMDB-iOS\";\n\t\t\t\tPRODUCT_NAME = MMDB;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = On;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD716CB4E1C23A58700D89B5C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Distribution\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = NO;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info-iOS.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.lexrus.MMDB-iOS\";\n\t\t\t\tPRODUCT_NAME = MMDB;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = On;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD716CB5A1C23A5DC00D89B5C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = NO;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info-OSX.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.9;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.lexrus.MMDB-OSX\";\n\t\t\t\tPRODUCT_NAME = MMDB;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD716CB5B1C23A5DC00D89B5C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = NO;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info-OSX.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.9;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"com.lexrus.MMDB-OSX\";\n\t\t\t\tPRODUCT_NAME = MMDB;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t366F5FEE1F052F7F00DE3883 /* Build configuration list for PBXNativeTarget \"MMDBTests-iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t366F5FEC1F052F7F00DE3883 /* Debug */,\n\t\t\t\t366F5FED1F052F7F00DE3883 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t366F5FFB1F05301400DE3883 /* Build configuration list for PBXNativeTarget \"MMDBTests-OSX\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t366F5FFC1F05301400DE3883 /* Debug */,\n\t\t\t\t366F5FFD1F05301400DE3883 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD716CB2A1C21432C00D89B5C /* Build configuration list for PBXProject \"MMDB\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD716CB341C21432C00D89B5C /* Debug */,\n\t\t\t\tD716CB351C21432C00D89B5C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD716CB4C1C23A58700D89B5C /* Build configuration list for PBXNativeTarget \"MMDB-iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD716CB4D1C23A58700D89B5C /* Debug */,\n\t\t\t\tD716CB4E1C23A58700D89B5C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD716CB591C23A5DC00D89B5C /* Build configuration list for PBXNativeTarget \"MMDB-OSX\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD716CB5A1C23A5DC00D89B5C /* Debug */,\n\t\t\t\tD716CB5B1C23A5DC00D89B5C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = D716CB271C21432C00D89B5C /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB.xcodeproj/xcshareddata/xcschemes/MMDB-OSX.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D716CB531C23A5DC00D89B5C\"\n               BuildableName = \"MMDB.framework\"\n               BlueprintName = \"MMDB-OSX\"\n               ReferencedContainer = \"container:MMDB.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"366F5FF21F05301400DE3883\"\n               BuildableName = \"MMDBTests-OSX.xctest\"\n               BlueprintName = \"MMDBTests-OSX\"\n               ReferencedContainer = \"container:MMDB.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D716CB531C23A5DC00D89B5C\"\n            BuildableName = \"MMDB.framework\"\n            BlueprintName = \"MMDB-OSX\"\n            ReferencedContainer = \"container:MMDB.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D716CB531C23A5DC00D89B5C\"\n            BuildableName = \"MMDB.framework\"\n            BlueprintName = \"MMDB-OSX\"\n            ReferencedContainer = \"container:MMDB.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D716CB531C23A5DC00D89B5C\"\n            BuildableName = \"MMDB.framework\"\n            BlueprintName = \"MMDB-OSX\"\n            ReferencedContainer = \"container:MMDB.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDB.xcodeproj/xcshareddata/xcschemes/MMDB-iOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"D716CB461C23A58700D89B5C\"\n               BuildableName = \"MMDB.framework\"\n               BlueprintName = \"MMDB-iOS\"\n               ReferencedContainer = \"container:MMDB.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"NO\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"366F5FE31F052F7F00DE3883\"\n               BuildableName = \"MMDBTests-iOS.xctest\"\n               BlueprintName = \"MMDBTests-iOS\"\n               ReferencedContainer = \"container:MMDB.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"366F5FE31F052F7F00DE3883\"\n               BuildableName = \"MMDBTests-iOS.xctest\"\n               BlueprintName = \"MMDBTests-iOS\"\n               ReferencedContainer = \"container:MMDB.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D716CB461C23A58700D89B5C\"\n            BuildableName = \"MMDB.framework\"\n            BlueprintName = \"MMDB-iOS\"\n            ReferencedContainer = \"container:MMDB.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D716CB461C23A58700D89B5C\"\n            BuildableName = \"MMDB.framework\"\n            BlueprintName = \"MMDB-iOS\"\n            ReferencedContainer = \"container:MMDB.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"D716CB461C23A58700D89B5C\"\n            BuildableName = \"MMDB.framework\"\n            BlueprintName = \"MMDB-iOS\"\n            ReferencedContainer = \"container:MMDB.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDBTests/Info-OSX.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDBTests/Info-iOS.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/MMDBTests/MMDBTests.swift",
    "content": "import XCTest\nimport MMDB\n\nclass MMDBTests: XCTestCase {\n    var database: MMDB!\n    \n    override func setUp() {\n        super.setUp()\n        database = MMDB()\n    }\n    \n    func testExample() {\n        XCTAssertEqual(database.lookup(\"202.108.22.220\")?.isoCode, \"CN\")\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Package.swift",
    "content": "// swift-tools-version:4.0\nimport PackageDescription\n\nlet package = Package(\n    name: \"MMDB\",\n    products: [\n        .library(name: \"MMDB\", targets: [\"MMDB\"]),\n    ],\n    dependencies: [],\n    targets: [\n        .target(name: \"MMDB\", dependencies: [\"libmaxminddb\"]),\n        .testTarget(name: \"MMDBTests\", dependencies: [\"MMDB\"]),\n        .target(name: \"libmaxminddb\")\n    ]\n)\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/README.md",
    "content": "# MMDB-Swift\n\n![Language](https://img.shields.io/badge/language-Swift%204.0-orange.svg)\n[![Version](https://img.shields.io/cocoapods/v/MMDB-Swift.svg?style=flat)](http://cocoapods.org/pods/MMDB-Swift)\n[![Carthage Compatible](https://img.shields.io/badge/Carthage-✓-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![SPM Compatible](https://img.shields.io/badge/SPM-✓-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n![Platform](https://img.shields.io/badge/platform-iOS%7COSX%7CLinux-lightgrey.svg)\n\n\nA tiny wrapper for [libmaxminddb](https://github.com/maxmind/libmaxminddb) which allows you to lookup Geo data by IP address.\n\nThis product includes [GeoLite2 data](http://dev.maxmind.com/geoip/geoip2/geolite2/) created by MaxMind, available from [http://www.maxmind.com](http://www.maxmind.com).\n\n## CocoaPods\n\nMMDB-Swift is available through [CocoaPods](http://cocoapods.org). To install it, simply add the following line to your Podfile:\n\n``` ruby\nplatform :ios, '8.0'\nuse_frameworks!\npod \"MMDB-Swift\"\n```\n\nThen, run the following command:\n\n``` bash\npod install\n```\n\n## Carthage\n\nTo integrate MMDB-Swift into your Xcode project using Carthage, add the following line to your `Cartfile`:\n\n``` \ngithub \"lexrus/MMDB-Swift\"\n```\n\nRun `carthage update` to build the frameworks and drag the built `MMDB.framework` into your Xcode project.\n\n## Swift Package Manager\n\nInstall [Swift Package Manager](https://swift.org/package-manager/). Edit your Package.swift file:\n\n``` swift\nimport PackageDescription\n\nlet package = Package(\n\tname: \"YOUR_AWESOME_PROJECT\",\n    targets: [],\n    dependencies: [\n  \t\t.Package(url: \"https://github.com/lexrus/MMDB-Swift\", versions: \"0.0.1\" ..< Version.max)\n\t]\n)\n```\n\n\n## Usage\n\n``` swift\nguard let db = MMDB() else {\n  print(\"Failed to open DB.\")\n  return\n}\nif let country = db.lookup(\"8.8.4.4\") {\n  print(country)\n}\n```\n\nThis outputs:\n\n``` json\n{\n  \"continent\": {\n    \"code\": \"NA\",\n    \"names\": {\n      \"ja\": \"北アメリカ\",\n      \"en\": \"North America\",\n      \"ru\": \"Северная Америка\",\n      \"es\": \"Norteamérica\",\n      \"de\": \"Nordamerika\",\n      \"zh-CN\": \"北美洲\",\n      \"fr\": \"Amérique du Nord\",\n      \"pt-BR\": \"América do Norte\"\n    }\n  },\n  \"isoCode\": \"US\",\n  \"names\": {\n    \"ja\": \"アメリカ合衆国\",\n    \"en\": \"United States\",\n    \"ru\": \"США\",\n    \"es\": \"Estados Unidos\",\n    \"de\": \"USA\",\n    \"zh-CN\": \"美国\",\n    \"fr\": \"États-Unis\",\n    \"pt-BR\": \"Estados Unidos\"\n  }\n}\n```\n\nNotice that country is a struct defined as:\n\n``` swift\npublic struct MMDBContinent {\n    var code: String?\n    var names: [String: String]?\n}\n\npublic struct MMDBCountry: CustomStringConvertible {\n    var continent = MMDBContinent()\n    var isoCode = \"\"\n    var names = [String: String]()\n    ...\n}\n```\n\n## Author\n\n[Lex Tang](https://github.com/lexrus) (Twitter: [@lexrus](https://twitter.com/lexrus))\n\n## License\n\nMMDB-Swift is available under the [Apache License Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). See the [LICENSE](https://github.com/lexrus/MMDB-Swift/blob/master/LICENSE) file for more info.\n\nThe GeoLite2 databases are distributed under the [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/).\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/Info-OSX.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2017 lexrus.com. All rights reserved.</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/Info-iOS.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/MMDB.h",
    "content": "//\n//  MMDB.h\n//  MMDB\n//\n//  Created by Lex on 12/18/15.\n//  Copyright © 2017 lexrus.com. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n\n//! Project version number for MMDB.\nFOUNDATION_EXPORT double MMDBVersionNumber;\n\n//! Project version string for MMDB.\nFOUNDATION_EXPORT const unsigned char MMDBVersionString[];\n\n// In this header, you should import all the public headers of your framework using statements like #import <MMDB/PublicHeader.h>\n\n#import <MMDB/maxminddb.h>\n#import <MMDB/maxminddb-compat-util.h>\n#import <MMDB/maxminddb_unions.h>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/MMDB.swift",
    "content": "//\n//  MMDB.swift\n//  MMDB\n//\n//  Created by Lex on 12/16/15.\n//  Copyright © 2017 lexrus.com. All rights reserved.\n//\n\nimport Foundation\n\npublic struct MMDBContinent {\n    public var code: String?\n    public var names: [String: String]?\n}\n\npublic struct MMDBCountry: CustomStringConvertible {\n    public var continent = MMDBContinent()\n    public var isoCode = \"\"\n    public var names = [String: String]()\n\n    init(dictionary: NSDictionary) {\n        if let dict = dictionary[\"continent\"] as? NSDictionary,\n            let code = dict[\"code\"] as? String,\n            let continentNames = dict[\"names\"] as? [String: String]\n        {\n            continent.code = code\n            continent.names = continentNames\n        }\n        if let dict = dictionary[\"country\"] as? NSDictionary,\n            let iso = dict[\"iso_code\"] as? String,\n            let countryNames = dict[\"names\"] as? [String: String]\n        {\n            self.isoCode = iso\n            self.names = countryNames\n        }\n    }\n    \n    public var description: String {\n        var s = \"{\\n\"\n        s += \"  \\\"continent\\\": {\\n\"\n        s += \"    \\\"code\\\": \\\"\" + (self.continent.code ?? \"\") + \"\\\",\\n\"\n        s += \"    \\\"names\\\": {\\n\"\n        var i = continent.names?.count ?? 0\n        continent.names?.forEach {\n            s += \"      \\\"\"\n            s += $0.0 + \"\\\": \\\"\"\n            s += $0.1 + \"\\\"\"\n            s += (i > 1 ? \",\" : \"\")\n            s += \"\\n\"\n            i -= 1\n        }\n        s += \"    }\\n\"\n        s += \"  },\\n\"\n        s += \"  \\\"isoCode\\\": \\\"\" + self.isoCode + \"\\\",\\n\"\n        s += \"  \\\"names\\\": {\\n\"\n        i = names.count\n        names.forEach {\n            s += \"    \\\"\"\n            s += $0.0 + \"\\\": \\\"\"\n            s += $0.1 + \"\\\"\"\n            s += (i > 1 ? \",\" : \"\")\n            s += \"\\n\"\n            i -= 1\n        }\n        s += \"  }\\n}\"\n        return s\n    }\n}\n\nfinal public class MMDB {\n\n    fileprivate var db = MMDB_s()\n\n    fileprivate typealias ListPtr = UnsafeMutablePointer<MMDB_entry_data_list_s>\n    fileprivate typealias StringPtr = UnsafeMutablePointer<String>\n\n    public init?(_ filename: String? = nil) {\n        if let filename = filename, openDB(atPath: filename) { return }\n\n        let path = Bundle(for: MMDB.self).path(forResource: \"GeoLite2-Country\", ofType: \"mmdb\")\n        if let path = path, openDB(atPath: path) { return }\n\n        return nil\n    }\n    private func openDB(atPath: String) -> Bool {\n        let cfilename = (atPath as NSString).utf8String\n        let cfilenamePtr = UnsafePointer<Int8>(cfilename)\n        let status = MMDB_open(cfilenamePtr, UInt32(MMDB_MODE_MASK), &db)\n        if status != MMDB_SUCCESS {\n            print(String(cString: MMDB_strerror(errno)))\n            return false\n        } else {\n            return true\n        }\n    }\n\n    fileprivate func lookupString(_ s: String) -> MMDB_lookup_result_s? {\n        let string = (s as NSString).utf8String\n        let stringPtr = UnsafePointer<Int8>(string)\n\n        var gaiError: Int32 = 0\n        var error: Int32 = 0\n\n        let result = MMDB_lookup_string(&db, stringPtr, &gaiError, &error)\n        if gaiError == noErr && error == noErr {\n            return result\n        }\n        return nil\n    }\n\n    fileprivate func getString(_ list: ListPtr) -> String {\n        var data = list.pointee.entry_data\n        let type = (Int32)(data.type)\n\n        // Ignore other useless keys\n        guard data.has_data && type == MMDB_DATA_TYPE_UTF8_STRING else {\n            return \"\"\n        }\n\n        let str = MMDB_get_entry_data_char(&data)\n        let size = size_t(data.data_size)\n        let cKey = mmdb_strndup(str, size)\n        let key = String(cString: cKey!)\n        free(cKey)\n\n        return key\n    }\n\n    fileprivate func getType(_ list: ListPtr) -> Int32 {\n        let data = list.pointee.entry_data\n        return (Int32)(data.type)\n    }\n\n    fileprivate func getSize(_ list: ListPtr) -> UInt32 {\n        return list.pointee.entry_data.data_size\n    }\n\n\n    public func lookup(_ IPString: String) -> MMDBCountry? {\n        guard let dict = lookup(ip: IPString) else {\n            return nil\n        }\n\n        let country = MMDBCountry(dictionary: dict)\n\n        return country\n    }\n    \n    private func dump(list: ListPtr?) -> (ptr: ListPtr?, out: Any?) {\n        var list = list\n        switch getType(list!) {\n            \n        case MMDB_DATA_TYPE_MAP:\n            let dict = NSMutableDictionary()\n            var size = getSize(list!)\n            \n            list = list?.pointee.next\n            while size > 0 && list != nil {\n                let key = getString(list!)\n                list = list?.pointee.next\n                let sub = dump(list: list)\n                list = sub.ptr\n                if let out = sub.out, key.count > 0 {\n                    dict[key] = out\n                } else {\n                    break\n                }\n                size -= 1\n            }\n            return (ptr: list, out: dict)\n            \n        case MMDB_DATA_TYPE_UTF8_STRING:\n            let str = getString(list!)\n            list = list?.pointee.next\n            return (ptr: list, out: str)\n            \n        case MMDB_DATA_TYPE_UINT32:\n            var res: NSNumber = 0\n            if let entryData = list?.pointee.entry_data {\n                var mutableEntryData = entryData\n                if let uint = MMDB_get_entry_data_uint32(&mutableEntryData) {\n                    let v: UInt32 = uint.pointee\n                    res = NSNumber(value: v)\n                }\n            }\n            list = list?.pointee.next\n            return (ptr: list, out: res)\n            \n        default: ()\n            \n        }\n        return (ptr: list, out: nil)\n    }\n    \n    public func lookup(ip: String) -> NSDictionary? {\n        guard let result = lookupString(ip) else {\n            return nil\n        }\n        \n        var entry = result.entry\n        var list: ListPtr?\n        let status = MMDB_get_entry_data_list(&entry, &list)\n        if status != MMDB_SUCCESS {\n            return nil\n        }\n        let res = self.dump(list: list)\n        if let dict = res.out, let d = dict as? NSDictionary {\n            return d\n        }\n        return nil\n    }\n\n    deinit {\n        MMDB_close(&db)\n    }\n\n}\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/libmaxminddb/LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/libmaxminddb/maxminddb-compat-util.h",
    "content": "#include <stdlib.h>\n#include <string.h>\n\n/* *INDENT-OFF* */\n\n/* The memmem, strdup, and strndup functions were all copied from the\n * FreeBSD source, along with the relevant copyright notice.\n *\n * It'd be nicer to simply use the functions available on the system if they\n * exist, but there doesn't seem to be a good way to detect them without also\n * defining things like _GNU_SOURCE, which we want to avoid, because then we\n * end up _accidentally_ using GNU features without noticing, which then\n * breaks on systems like OSX.\n *\n * C is fun! */\n\n/* Applies to memmem implementation */\n/*-\n * Copyright (c) 2005 Pascal Gloor <pascal.gloor@spale.com>\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n *    products derived from this software without specific prior written\n *    permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n */\nstatic void *\nmmdb_memmem(const void *l, size_t l_len, const void *s, size_t s_len)\n{\n\tregister char *cur, *last;\n\tconst char *cl = (const char *)l;\n\tconst char *cs = (const char *)s;\n\n\t/* we need something to compare */\n\tif (l_len == 0 || s_len == 0)\n\t\treturn NULL;\n\n\t/* \"s\" must be smaller or equal to \"l\" */\n\tif (l_len < s_len)\n\t\treturn NULL;\n\n\t/* special case where s_len == 1 */\n\tif (s_len == 1)\n\t\treturn memchr(l, (int)*cs, l_len);\n\n\t/* the last position where its possible to find \"s\" in \"l\" */\n\tlast = (char *)cl + l_len - s_len;\n\n\tfor (cur = (char *)cl; cur <= last; cur++)\n\t\tif (cur[0] == cs[0] && memcmp(cur, cs, s_len) == 0)\n\t\t\treturn cur;\n\n\treturn NULL;\n}\n\n/* Applies to strnlen implementation */\n/*-\n * Copyright (c) 2009 David Schultz <das@FreeBSD.org>\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n */\nstatic size_t\nmmdb_strnlen(const char *s, size_t maxlen)\n{\n\tsize_t len;\n\n\tfor (len = 0; len < maxlen; len++, s++) {\n\t\tif (!*s)\n\t\t\tbreak;\n\t}\n\treturn (len);\n}\n\n/* Applies to strdup and strndup implementation */\n/*\n * Copyright (c) 1988, 1993\n *\tThe Regents of the University of California.  All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n * 3. Neither the name of the University nor the names of its contributors\n *    may be used to endorse or promote products derived from this software\n *    without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n */\nstatic char *\nmmdb_strdup(const char *str)\n{\n\tsize_t len;\n\tchar *copy;\n\n\tlen = strlen(str) + 1;\n\tif ((copy = malloc(len)) == NULL)\n\t\treturn (NULL);\n\tmemcpy(copy, str, len);\n\treturn (copy);\n}\n\nstatic char *\nmmdb_strndup(const char *str, size_t n)\n{\n\tsize_t len;\n\tchar *copy;\n\n\tlen = mmdb_strnlen(str, n);\n\tif ((copy = malloc(len + 1)) == NULL)\n\t\treturn (NULL);\n\tmemcpy(copy, str, len);\n\tcopy[len] = '\\0';\n\treturn (copy);\n}\n/* *INDENT-ON* */\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/libmaxminddb/maxminddb.c",
    "content": "#if HAVE_CONFIG_H\n#include <config.h>\n#endif\n#include \"maxminddb.h\"\n#include \"maxminddb-compat-util.h\"\n#include <assert.h>\n#include <errno.h>\n#include <fcntl.h>\n#include <inttypes.h>\n#include <stdint.h>\n#include <stdlib.h>\n#include <string.h>\n#include <sys/stat.h>\n\n#ifdef _WIN32\n#include <windows.h>\n#include <ws2ipdef.h>\n#else\n#include <arpa/inet.h>\n#include <sys/mman.h>\n#include <unistd.h>\n#endif\n\n#define MMDB_DATA_SECTION_SEPARATOR (16)\n#define MAXIMUM_DATA_STRUCTURE_DEPTH (512)\n\n#ifdef MMDB_DEBUG\n#define LOCAL\n#define NO_PROTO\n#define DEBUG_FUNC\n#define DEBUG_MSG(msg) fprintf(stderr, msg \"\\n\")\n#define DEBUG_MSGF(fmt, ...) fprintf(stderr, fmt \"\\n\", __VA_ARGS__)\n#define DEBUG_BINARY(fmt, byte)                                 \\\n    do {                                                        \\\n        char *binary = byte_to_binary(byte);                    \\\n        if (NULL == binary) {                                   \\\n            fprintf(stderr, \"Malloc failed in DEBUG_BINARY\\n\"); \\\n            abort();                                            \\\n        }                                                       \\\n        fprintf(stderr, fmt \"\\n\", binary);                      \\\n        free(binary);                                           \\\n    } while (0)\n#define DEBUG_NL fprintf(stderr, \"\\n\")\n#else\n#define LOCAL static\n#define NO_PROTO static\n#define DEBUG_MSG(...)\n#define DEBUG_MSGF(...)\n#define DEBUG_BINARY(...)\n#define DEBUG_NL\n#endif\n\n#ifdef MMDB_DEBUG\nDEBUG_FUNC char *byte_to_binary(uint8_t byte)\n{\n    char *bits = malloc(sizeof(char) * 9);\n    if (NULL == bits) {\n        return bits;\n    }\n\n    for (uint8_t i = 0; i < 8; i++) {\n        bits[i] = byte & (128 >> i) ? '1' : '0';\n    }\n    bits[8] = '\\0';\n\n    return bits;\n}\n\nDEBUG_FUNC char *type_num_to_name(uint8_t num)\n{\n    switch (num) {\n    case 0:\n        return \"extended\";\n    case 1:\n        return \"pointer\";\n    case 2:\n        return \"utf8_string\";\n    case 3:\n        return \"double\";\n    case 4:\n        return \"bytes\";\n    case 5:\n        return \"uint16\";\n    case 6:\n        return \"uint32\";\n    case 7:\n        return \"map\";\n    case 8:\n        return \"int32\";\n    case 9:\n        return \"uint64\";\n    case 10:\n        return \"uint128\";\n    case 11:\n        return \"array\";\n    case 12:\n        return \"container\";\n    case 13:\n        return \"end_marker\";\n    case 14:\n        return \"boolean\";\n    case 15:\n        return \"float\";\n    default:\n        return \"unknown type\";\n    }\n}\n#endif\n\n/* None of the values we check on the lhs are bigger than uint32_t, so on\n * platforms where SIZE_MAX is a 64-bit integer, this would be a no-op, and it\n * makes the compiler complain if we do the check anyway. */\n#if SIZE_MAX == UINT32_MAX\n#define MAYBE_CHECK_SIZE_OVERFLOW(lhs, rhs, error) \\\n    if ((lhs) > (rhs)) {                           \\\n        return error;                              \\\n    }\n#else\n#define MAYBE_CHECK_SIZE_OVERFLOW(...)\n#endif\n\ntypedef struct record_info_s {\n    uint16_t record_length;\n    uint32_t (*left_record_getter)(const uint8_t *);\n    uint32_t (*right_record_getter)(const uint8_t *);\n    uint8_t right_record_offset;\n} record_info_s;\n\n#define METADATA_MARKER \"\\xab\\xcd\\xefMaxMind.com\"\n/* This is 128kb */\n#define METADATA_BLOCK_MAX_SIZE 131072\n\n/* *INDENT-OFF* */\n/* --prototypes automatically generated by dev-bin/regen-prototypes.pl - don't remove this comment */\nLOCAL int map_file(MMDB_s *const mmdb);\nLOCAL const uint8_t *find_metadata(const uint8_t *file_content,\n                                   ssize_t file_size, uint32_t *metadata_size);\nLOCAL int read_metadata(MMDB_s *mmdb);\nLOCAL MMDB_s make_fake_metadata_db(MMDB_s *mmdb);\nLOCAL int value_for_key_as_uint16(MMDB_entry_s *start, char *key,\n                                  uint16_t *value);\nLOCAL int value_for_key_as_uint32(MMDB_entry_s *start, char *key,\n                                  uint32_t *value);\nLOCAL int value_for_key_as_uint64(MMDB_entry_s *start, char *key,\n                                  uint64_t *value);\nLOCAL int value_for_key_as_string(MMDB_entry_s *start, char *key,\n                                  char const **value);\nLOCAL int populate_languages_metadata(MMDB_s *mmdb, MMDB_s *metadata_db,\n                                      MMDB_entry_s *metadata_start);\nLOCAL int populate_description_metadata(MMDB_s *mmdb, MMDB_s *metadata_db,\n                                        MMDB_entry_s *metadata_start);\nLOCAL int resolve_any_address(const char *ipstr, struct addrinfo **addresses);\nLOCAL int find_address_in_search_tree(MMDB_s *mmdb, uint8_t *address,\n                                      sa_family_t address_family,\n                                      MMDB_lookup_result_s *result);\nLOCAL record_info_s record_info_for_database(MMDB_s *mmdb);\nLOCAL int find_ipv4_start_node(MMDB_s *mmdb);\nLOCAL uint8_t maybe_populate_result(MMDB_s *mmdb, uint32_t record,\n                                    uint16_t netmask,\n                                    MMDB_lookup_result_s *result);\nLOCAL uint8_t record_type(MMDB_s *const mmdb, uint64_t record);\nLOCAL uint32_t get_left_28_bit_record(const uint8_t *record);\nLOCAL uint32_t get_right_28_bit_record(const uint8_t *record);\nLOCAL uint32_t data_section_offset_for_record(MMDB_s *const mmdb,\n                                              uint64_t record);\nLOCAL int path_length(va_list va_path);\nLOCAL int lookup_path_in_array(const char *path_elem, MMDB_s *mmdb,\n                               MMDB_entry_data_s *entry_data);\nLOCAL int lookup_path_in_map(const char *path_elem, MMDB_s *mmdb,\n                             MMDB_entry_data_s *entry_data);\nLOCAL int skip_map_or_array(MMDB_s *mmdb, MMDB_entry_data_s *entry_data);\nLOCAL int decode_one_follow(MMDB_s *mmdb, uint32_t offset,\n                            MMDB_entry_data_s *entry_data);\nLOCAL int decode_one(MMDB_s *mmdb, uint32_t offset,\n                     MMDB_entry_data_s *entry_data);\nLOCAL int get_ext_type(int raw_ext_type);\nLOCAL uint32_t get_ptr_from(uint8_t ctrl, uint8_t const *const ptr,\n                            int ptr_size);\nLOCAL int get_entry_data_list(MMDB_s *mmdb, uint32_t offset,\n                              MMDB_entry_data_list_s *const entry_data_list,\n                              int depth);\nLOCAL float get_ieee754_float(const uint8_t *restrict p);\nLOCAL double get_ieee754_double(const uint8_t *restrict p);\nLOCAL uint32_t get_uint32(const uint8_t *p);\nLOCAL uint32_t get_uint24(const uint8_t *p);\nLOCAL uint32_t get_uint16(const uint8_t *p);\nLOCAL uint64_t get_uintX(const uint8_t *p, int length);\nLOCAL int32_t get_sintX(const uint8_t *p, int length);\nLOCAL MMDB_entry_data_list_s *new_entry_data_list(void);\nLOCAL void free_mmdb_struct(MMDB_s *const mmdb);\nLOCAL void free_languages_metadata(MMDB_s *mmdb);\nLOCAL void free_descriptions_metadata(MMDB_s *mmdb);\nLOCAL MMDB_entry_data_list_s *dump_entry_data_list(\n    FILE *stream, MMDB_entry_data_list_s *entry_data_list, int indent,\n    int *status);\nLOCAL void print_indentation(FILE *stream, int i);\nLOCAL char *bytes_to_hex(uint8_t *bytes, uint32_t size);\n/* --prototypes end - don't remove this comment-- */\n/* *INDENT-ON* */\n\n#define CHECKED_DECODE_ONE(mmdb, offset, entry_data)                        \\\n    do {                                                                    \\\n        int status = decode_one(mmdb, offset, entry_data);                  \\\n        if (MMDB_SUCCESS != status) {                                       \\\n            DEBUG_MSGF(\"CHECKED_DECODE_ONE failed.\"                         \\\n                       \" status = %d (%s)\", status, MMDB_strerror(status)); \\\n            return status;                                                  \\\n        }                                                                   \\\n    } while (0)\n\n#define CHECKED_DECODE_ONE_FOLLOW(mmdb, offset, entry_data)                 \\\n    do {                                                                    \\\n        int status = decode_one_follow(mmdb, offset, entry_data);           \\\n        if (MMDB_SUCCESS != status) {                                       \\\n            DEBUG_MSGF(\"CHECKED_DECODE_ONE_FOLLOW failed.\"                  \\\n                       \" status = %d (%s)\", status, MMDB_strerror(status)); \\\n            return status;                                                  \\\n        }                                                                   \\\n    } while (0)\n\n#define FREE_AND_SET_NULL(p) { free((void *)(p)); (p) = NULL; }\n\nint MMDB_open(const char *const filename, uint32_t flags, MMDB_s *const mmdb)\n{\n    int status = MMDB_SUCCESS;\n\n    mmdb->file_content = NULL;\n    mmdb->data_section = NULL;\n    mmdb->metadata.database_type = NULL;\n    mmdb->metadata.languages.count = 0;\n    mmdb->metadata.description.count = 0;\n\n    mmdb->filename = mmdb_strdup(filename);\n    if (NULL == mmdb->filename) {\n        status = MMDB_OUT_OF_MEMORY_ERROR;\n        goto cleanup;\n    }\n\n    if ((flags & MMDB_MODE_MASK) == 0) {\n        flags |= MMDB_MODE_MMAP;\n    }\n    mmdb->flags = flags;\n\n    if (MMDB_SUCCESS != (status = map_file(mmdb)) ) {\n        goto cleanup;\n    }\n\n#ifdef _WIN32\n    WSADATA wsa;\n    WSAStartup(MAKEWORD(2, 2), &wsa);\n#endif\n\n    uint32_t metadata_size = 0;\n    const uint8_t *metadata = find_metadata(mmdb->file_content, mmdb->file_size,\n                                            &metadata_size);\n    if (NULL == metadata) {\n        status = MMDB_INVALID_METADATA_ERROR;\n        goto cleanup;\n    }\n\n    mmdb->metadata_section = metadata;\n    mmdb->metadata_section_size = metadata_size;\n\n    status = read_metadata(mmdb);\n    if (MMDB_SUCCESS != status) {\n        goto cleanup;\n    }\n\n    if (mmdb->metadata.binary_format_major_version != 2) {\n        status = MMDB_UNKNOWN_DATABASE_FORMAT_ERROR;\n        goto cleanup;\n    }\n\n    uint32_t search_tree_size = mmdb->metadata.node_count *\n                                mmdb->full_record_byte_size;\n\n    mmdb->data_section = mmdb->file_content + search_tree_size\n                         + MMDB_DATA_SECTION_SEPARATOR;\n    if (search_tree_size + MMDB_DATA_SECTION_SEPARATOR >\n        (uint32_t)mmdb->file_size) {\n        status = MMDB_INVALID_METADATA_ERROR;\n        goto cleanup;\n    }\n    mmdb->data_section_size = (uint32_t)mmdb->file_size - search_tree_size -\n                              MMDB_DATA_SECTION_SEPARATOR;\n\n    // Although it is likely not possible to construct a database with valid\n    // valid metadata, as parsed above, and a data_section_size less than 3,\n    // we do this check as later we assume it is at least three when doing\n    // bound checks.\n    if (mmdb->data_section_size < 3) {\n        status = MMDB_INVALID_DATA_ERROR;\n        goto cleanup;\n    }\n\n    mmdb->metadata_section = metadata;\n    mmdb->ipv4_start_node.node_value = 0;\n    mmdb->ipv4_start_node.netmask = 0;\n\n cleanup:\n    if (MMDB_SUCCESS != status) {\n        int saved_errno = errno;\n        free_mmdb_struct(mmdb);\n        errno = saved_errno;\n    }\n    return status;\n}\n\n#ifdef _WIN32\n\nLOCAL int map_file(MMDB_s *const mmdb)\n{\n    DWORD size;\n    int status = MMDB_SUCCESS;\n    HANDLE mmh = NULL;\n    HANDLE fd = CreateFileA(mmdb->filename, GENERIC_READ, FILE_SHARE_READ, NULL,\n                            OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);\n    if (fd == INVALID_HANDLE_VALUE) {\n        status = MMDB_FILE_OPEN_ERROR;\n        goto cleanup;\n    }\n    size = GetFileSize(fd, NULL);\n    if (size == INVALID_FILE_SIZE) {\n        status = MMDB_FILE_OPEN_ERROR;\n        goto cleanup;\n    }\n    mmh = CreateFileMappingA(fd, NULL, PAGE_READONLY, 0, size, NULL);\n    /* Microsoft documentation for CreateFileMapping indicates this returns\n        NULL not INVALID_HANDLE_VALUE on error */\n    if (NULL == mmh) {\n        status = MMDB_IO_ERROR;\n        goto cleanup;\n    }\n    uint8_t *file_content =\n        (uint8_t *)MapViewOfFile(mmh, FILE_MAP_READ, 0, 0, 0);\n    if (file_content == NULL) {\n        status = MMDB_IO_ERROR;\n        goto cleanup;\n    }\n\n    mmdb->file_size = size;\n    mmdb->file_content = file_content;\n\n cleanup:;\n    int saved_errno = errno;\n    if (INVALID_HANDLE_VALUE != fd) {\n        CloseHandle(fd);\n    }\n    if (NULL != mmh) {\n        CloseHandle(mmh);\n    }\n    errno = saved_errno;\n\n    return status;\n}\n\n#else\n\nLOCAL int map_file(MMDB_s *const mmdb)\n{\n    ssize_t size;\n    int status = MMDB_SUCCESS;\n\n    int fd = open(mmdb->filename, O_RDONLY);\n    struct stat s;\n    if (fd < 0 || fstat(fd, &s)) {\n        status = MMDB_FILE_OPEN_ERROR;\n        goto cleanup;\n    }\n\n    size = s.st_size;\n    if (size < 0 || size != s.st_size) {\n        status = MMDB_OUT_OF_MEMORY_ERROR;\n        goto cleanup;\n    }\n\n    uint8_t *file_content =\n        (uint8_t *)mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0);\n    if (MAP_FAILED == file_content) {\n        if (ENOMEM == errno) {\n            status = MMDB_OUT_OF_MEMORY_ERROR;\n        } else {\n            status = MMDB_IO_ERROR;\n        }\n        goto cleanup;\n    }\n\n    mmdb->file_size = size;\n    mmdb->file_content = file_content;\n\n cleanup:;\n    int saved_errno = errno;\n    if (fd >= 0) {\n        close(fd);\n    }\n    errno = saved_errno;\n\n    return status;\n}\n\n#endif\n\nLOCAL const uint8_t *find_metadata(const uint8_t *file_content,\n                                   ssize_t file_size, uint32_t *metadata_size)\n{\n    const ssize_t marker_len = sizeof(METADATA_MARKER) - 1;\n    ssize_t max_size = file_size >\n                       METADATA_BLOCK_MAX_SIZE ? METADATA_BLOCK_MAX_SIZE :\n                       file_size;\n\n    uint8_t *search_area = (uint8_t *)(file_content + (file_size - max_size));\n    uint8_t *start = search_area;\n    uint8_t *tmp;\n    do {\n        tmp = mmdb_memmem(search_area, max_size,\n                          METADATA_MARKER, marker_len);\n\n        if (NULL != tmp) {\n            max_size -= tmp - search_area;\n            search_area = tmp;\n\n            /* Continue searching just after the marker we just read, in case\n             * there are multiple markers in the same file. This would be odd\n             * but is certainly not impossible. */\n            max_size -= marker_len;\n            search_area += marker_len;\n        }\n    } while (NULL != tmp);\n\n    if (search_area == start) {\n        return NULL;\n    }\n\n    *metadata_size = (uint32_t)max_size;\n\n    return search_area;\n}\n\nLOCAL int read_metadata(MMDB_s *mmdb)\n{\n    /* We need to create a fake MMDB_s struct in order to decode values from\n       the metadata. The metadata is basically just like the data section, so we\n       want to use the same functions we use for the data section to get metadata\n       values. */\n    MMDB_s metadata_db = make_fake_metadata_db(mmdb);\n\n    MMDB_entry_s metadata_start = {\n        .mmdb   = &metadata_db,\n        .offset = 0\n    };\n\n    int status =\n        value_for_key_as_uint32(&metadata_start, \"node_count\",\n                                &mmdb->metadata.node_count);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.node_count) {\n        DEBUG_MSG(\"could not find node_count value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    status = value_for_key_as_uint16(&metadata_start, \"record_size\",\n                                     &mmdb->metadata.record_size);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.record_size) {\n        DEBUG_MSG(\"could not find record_size value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    if (mmdb->metadata.record_size != 24 && mmdb->metadata.record_size != 28\n        && mmdb->metadata.record_size != 32) {\n        DEBUG_MSGF(\"bad record size in metadata: %i\",\n                   mmdb->metadata.record_size);\n        return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR;\n    }\n\n    status = value_for_key_as_uint16(&metadata_start, \"ip_version\",\n                                     &mmdb->metadata.ip_version);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.ip_version) {\n        DEBUG_MSG(\"could not find ip_version value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    if (!(mmdb->metadata.ip_version == 4 || mmdb->metadata.ip_version == 6)) {\n        DEBUG_MSGF(\"ip_version value in metadata is not 4 or 6 - it was %i\",\n                   mmdb->metadata.ip_version);\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    status = value_for_key_as_string(&metadata_start, \"database_type\",\n                                     &mmdb->metadata.database_type);\n    if (MMDB_SUCCESS != status) {\n        DEBUG_MSG(\"error finding database_type value in metadata\");\n        return status;\n    }\n\n    status =\n        populate_languages_metadata(mmdb, &metadata_db, &metadata_start);\n    if (MMDB_SUCCESS != status) {\n        DEBUG_MSG(\"could not populate languages from metadata\");\n        return status;\n    }\n\n    status = value_for_key_as_uint16(\n        &metadata_start, \"binary_format_major_version\",\n        &mmdb->metadata.binary_format_major_version);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.binary_format_major_version) {\n        DEBUG_MSG(\n            \"could not find binary_format_major_version value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    status = value_for_key_as_uint16(\n        &metadata_start, \"binary_format_minor_version\",\n        &mmdb->metadata.binary_format_minor_version);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n\n    status = value_for_key_as_uint64(&metadata_start, \"build_epoch\",\n                                     &mmdb->metadata.build_epoch);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (!mmdb->metadata.build_epoch) {\n        DEBUG_MSG(\"could not find build_epoch value in metadata\");\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    status = populate_description_metadata(mmdb, &metadata_db, &metadata_start);\n    if (MMDB_SUCCESS != status) {\n        DEBUG_MSG(\"could not populate description from metadata\");\n        return status;\n    }\n\n    mmdb->full_record_byte_size = mmdb->metadata.record_size * 2 / 8U;\n\n    mmdb->depth = mmdb->metadata.ip_version == 4 ? 32 : 128;\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL MMDB_s make_fake_metadata_db(MMDB_s *mmdb)\n{\n    MMDB_s fake_metadata_db = {\n        .data_section      = mmdb->metadata_section,\n        .data_section_size = mmdb->metadata_section_size\n    };\n\n    return fake_metadata_db;\n}\n\nLOCAL int value_for_key_as_uint16(MMDB_entry_s *start, char *key,\n                                  uint16_t *value)\n{\n    MMDB_entry_data_s entry_data;\n    const char *path[] = { key, NULL };\n    int status = MMDB_aget_value(start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_UINT16 != entry_data.type) {\n        DEBUG_MSGF(\"expect uint16 for %s but received %s\", key,\n                   type_num_to_name(\n                       entry_data.type));\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    *value = entry_data.uint16;\n    return MMDB_SUCCESS;\n}\n\nLOCAL int value_for_key_as_uint32(MMDB_entry_s *start, char *key,\n                                  uint32_t *value)\n{\n    MMDB_entry_data_s entry_data;\n    const char *path[] = { key, NULL };\n    int status = MMDB_aget_value(start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_UINT32 != entry_data.type) {\n        DEBUG_MSGF(\"expect uint32 for %s but received %s\", key,\n                   type_num_to_name(\n                       entry_data.type));\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    *value = entry_data.uint32;\n    return MMDB_SUCCESS;\n}\n\nLOCAL int value_for_key_as_uint64(MMDB_entry_s *start, char *key,\n                                  uint64_t *value)\n{\n    MMDB_entry_data_s entry_data;\n    const char *path[] = { key, NULL };\n    int status = MMDB_aget_value(start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_UINT64 != entry_data.type) {\n        DEBUG_MSGF(\"expect uint64 for %s but received %s\", key,\n                   type_num_to_name(\n                       entry_data.type));\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    *value = entry_data.uint64;\n    return MMDB_SUCCESS;\n}\n\nLOCAL int value_for_key_as_string(MMDB_entry_s *start, char *key,\n                                  char const **value)\n{\n    MMDB_entry_data_s entry_data;\n    const char *path[] = { key, NULL };\n    int status = MMDB_aget_value(start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_UTF8_STRING != entry_data.type) {\n        DEBUG_MSGF(\"expect string for %s but received %s\", key,\n                   type_num_to_name(\n                       entry_data.type));\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n    *value = mmdb_strndup((char *)entry_data.utf8_string, entry_data.data_size);\n    if (NULL == *value) {\n        return MMDB_OUT_OF_MEMORY_ERROR;\n    }\n    return MMDB_SUCCESS;\n}\n\nLOCAL int populate_languages_metadata(MMDB_s *mmdb, MMDB_s *metadata_db,\n                                      MMDB_entry_s *metadata_start)\n{\n    MMDB_entry_data_s entry_data;\n\n    const char *path[] = { \"languages\", NULL };\n    int status = MMDB_aget_value(metadata_start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n    if (MMDB_DATA_TYPE_ARRAY != entry_data.type) {\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    MMDB_entry_s array_start = {\n        .mmdb   = metadata_db,\n        .offset = entry_data.offset\n    };\n\n    MMDB_entry_data_list_s *member;\n    status = MMDB_get_entry_data_list(&array_start, &member);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n\n    MMDB_entry_data_list_s *first_member = member;\n\n    uint32_t array_size = member->entry_data.data_size;\n    MAYBE_CHECK_SIZE_OVERFLOW(array_size, SIZE_MAX / sizeof(char *),\n                              MMDB_INVALID_METADATA_ERROR);\n\n    mmdb->metadata.languages.count = 0;\n    mmdb->metadata.languages.names = malloc(array_size * sizeof(char *));\n    if (NULL == mmdb->metadata.languages.names) {\n        return MMDB_OUT_OF_MEMORY_ERROR;\n    }\n\n    for (uint32_t i = 0; i < array_size; i++) {\n        member = member->next;\n        if (MMDB_DATA_TYPE_UTF8_STRING != member->entry_data.type) {\n            return MMDB_INVALID_METADATA_ERROR;\n        }\n\n        mmdb->metadata.languages.names[i] =\n            mmdb_strndup((char *)member->entry_data.utf8_string,\n                         member->entry_data.data_size);\n\n        if (NULL == mmdb->metadata.languages.names[i]) {\n            return MMDB_OUT_OF_MEMORY_ERROR;\n        }\n        // We assign this as we go so that if we fail a malloc and need to\n        // free it, the count is right.\n        mmdb->metadata.languages.count = i + 1;\n    }\n\n    MMDB_free_entry_data_list(first_member);\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int populate_description_metadata(MMDB_s *mmdb, MMDB_s *metadata_db,\n                                        MMDB_entry_s *metadata_start)\n{\n    MMDB_entry_data_s entry_data;\n\n    const char *path[] = { \"description\", NULL };\n    int status = MMDB_aget_value(metadata_start, &entry_data, path);\n    if (MMDB_SUCCESS != status) {\n        return status;\n    }\n\n    if (MMDB_DATA_TYPE_MAP != entry_data.type) {\n        DEBUG_MSGF(\"Unexpected entry_data type: %d\", entry_data.type);\n        return MMDB_INVALID_METADATA_ERROR;\n    }\n\n    MMDB_entry_s map_start = {\n        .mmdb   = metadata_db,\n        .offset = entry_data.offset\n    };\n\n    MMDB_entry_data_list_s *member;\n    status = MMDB_get_entry_data_list(&map_start, &member);\n    if (MMDB_SUCCESS != status) {\n        DEBUG_MSGF(\n            \"MMDB_get_entry_data_list failed while populating description.\"\n            \" status = %d (%s)\", status, MMDB_strerror(status));\n        return status;\n    }\n\n    MMDB_entry_data_list_s *first_member = member;\n\n    uint32_t map_size = member->entry_data.data_size;\n    mmdb->metadata.description.count = 0;\n    if (0 == map_size) {\n        mmdb->metadata.description.descriptions = NULL;\n        goto cleanup;\n    }\n    MAYBE_CHECK_SIZE_OVERFLOW(map_size, SIZE_MAX / sizeof(MMDB_description_s *),\n                              MMDB_INVALID_METADATA_ERROR);\n\n    mmdb->metadata.description.descriptions =\n        malloc(map_size * sizeof(MMDB_description_s *));\n    if (NULL == mmdb->metadata.description.descriptions) {\n        status = MMDB_OUT_OF_MEMORY_ERROR;\n        goto cleanup;\n    }\n\n    for (uint32_t i = 0; i < map_size; i++) {\n        mmdb->metadata.description.descriptions[i] =\n            malloc(sizeof(MMDB_description_s));\n        if (NULL == mmdb->metadata.description.descriptions[i]) {\n            status = MMDB_OUT_OF_MEMORY_ERROR;\n            goto cleanup;\n        }\n\n        mmdb->metadata.description.count = i + 1;\n        mmdb->metadata.description.descriptions[i]->language = NULL;\n        mmdb->metadata.description.descriptions[i]->description = NULL;\n\n        member = member->next;\n\n        if (MMDB_DATA_TYPE_UTF8_STRING != member->entry_data.type) {\n            status = MMDB_INVALID_METADATA_ERROR;\n            goto cleanup;\n        }\n\n        mmdb->metadata.description.descriptions[i]->language =\n            mmdb_strndup((char *)member->entry_data.utf8_string,\n                         member->entry_data.data_size);\n\n        if (NULL == mmdb->metadata.description.descriptions[i]->language) {\n            status = MMDB_OUT_OF_MEMORY_ERROR;\n            goto cleanup;\n        }\n\n        member = member->next;\n\n        if (MMDB_DATA_TYPE_UTF8_STRING != member->entry_data.type) {\n            status = MMDB_INVALID_METADATA_ERROR;\n            goto cleanup;\n        }\n\n        mmdb->metadata.description.descriptions[i]->description =\n            mmdb_strndup((char *)member->entry_data.utf8_string,\n                         member->entry_data.data_size);\n\n        if (NULL == mmdb->metadata.description.descriptions[i]->description) {\n            status = MMDB_OUT_OF_MEMORY_ERROR;\n            goto cleanup;\n        }\n    }\n\n cleanup:\n    MMDB_free_entry_data_list(first_member);\n\n    return status;\n}\n\nMMDB_lookup_result_s MMDB_lookup_string(MMDB_s *const mmdb,\n                                        const char *const ipstr,\n                                        int *const gai_error,\n                                        int *const mmdb_error)\n{\n    MMDB_lookup_result_s result = {\n        .found_entry = false,\n        .netmask     = 0,\n        .entry       = {\n            .mmdb    = mmdb,\n            .offset  = 0\n        }\n    };\n\n    struct addrinfo *addresses = NULL;\n    *gai_error = resolve_any_address(ipstr, &addresses);\n\n    if (!*gai_error) {\n        result = MMDB_lookup_sockaddr(mmdb, addresses->ai_addr, mmdb_error);\n    }\n\n    if (NULL != addresses) {\n        freeaddrinfo(addresses);\n    }\n\n    return result;\n}\n\nLOCAL int resolve_any_address(const char *ipstr, struct addrinfo **addresses)\n{\n    struct addrinfo hints = {\n        .ai_family   = AF_UNSPEC,\n        .ai_flags    = AI_NUMERICHOST,\n        // We set ai_socktype so that we only get one result back\n        .ai_socktype = SOCK_STREAM\n    };\n\n    int gai_status = getaddrinfo(ipstr, NULL, &hints, addresses);\n    if (gai_status) {\n        return gai_status;\n    }\n\n    return 0;\n}\n\nMMDB_lookup_result_s MMDB_lookup_sockaddr(\n    MMDB_s *const mmdb,\n    const struct sockaddr *const sockaddr,\n    int *const mmdb_error)\n{\n    MMDB_lookup_result_s result = {\n        .found_entry = false,\n        .netmask     = 0,\n        .entry       = {\n            .mmdb    = mmdb,\n            .offset  = 0\n        }\n    };\n\n    uint8_t mapped_address[16], *address;\n    if (mmdb->metadata.ip_version == 4) {\n        if (sockaddr->sa_family == AF_INET6) {\n            *mmdb_error = MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR;\n            return result;\n        }\n        address = (uint8_t *)&((struct sockaddr_in *)sockaddr)->sin_addr.s_addr;\n    } else {\n        if (sockaddr->sa_family == AF_INET6) {\n            address =\n                (uint8_t *)&((struct sockaddr_in6 *)sockaddr)->sin6_addr.\n                s6_addr;\n        } else {\n            address = mapped_address;\n            memset(address, 0, 12);\n            memcpy(address + 12,\n                   &((struct sockaddr_in *)sockaddr)->sin_addr.s_addr, 4);\n        }\n    }\n\n    *mmdb_error =\n        find_address_in_search_tree(mmdb, address, sockaddr->sa_family,\n                                    &result);\n\n    return result;\n}\n\nLOCAL int find_address_in_search_tree(MMDB_s *mmdb, uint8_t *address,\n                                      sa_family_t address_family,\n                                      MMDB_lookup_result_s *result)\n{\n    record_info_s record_info = record_info_for_database(mmdb);\n    if (0 == record_info.right_record_offset) {\n        return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR;\n    }\n\n    DEBUG_NL;\n    DEBUG_MSG(\"Looking for address in search tree\");\n\n    uint32_t value = 0;\n    uint16_t max_depth0 = mmdb->depth - 1;\n    uint16_t start_bit = max_depth0;\n\n    if (mmdb->metadata.ip_version == 6 && address_family == AF_INET) {\n        int mmdb_error = find_ipv4_start_node(mmdb);\n        if (MMDB_SUCCESS != mmdb_error) {\n            return mmdb_error;\n        }\n        DEBUG_MSGF(\"IPv4 start node is %u (netmask %u)\",\n                   mmdb->ipv4_start_node.node_value,\n                   mmdb->ipv4_start_node.netmask);\n\n        uint8_t type = maybe_populate_result(mmdb,\n                                             mmdb->ipv4_start_node.node_value,\n                                             mmdb->ipv4_start_node.netmask,\n                                             result);\n        if (MMDB_RECORD_TYPE_INVALID == type) {\n            return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n        }\n\n        /* We have an IPv6 database with no IPv4 data */\n        if (MMDB_RECORD_TYPE_SEARCH_NODE != type) {\n            return MMDB_SUCCESS;\n        }\n\n        value = mmdb->ipv4_start_node.node_value;\n        start_bit -= mmdb->ipv4_start_node.netmask;\n    }\n\n    const uint8_t *search_tree = mmdb->file_content;\n    const uint8_t *record_pointer;\n    for (int current_bit = start_bit; current_bit >= 0; current_bit--) {\n        uint8_t bit_is_true =\n            address[(max_depth0 - current_bit) >> 3]\n            & (1U << (~(max_depth0 - current_bit) & 7)) ? 1 : 0;\n\n        DEBUG_MSGF(\"Looking at bit %i - bit's value is %i\", current_bit,\n                   bit_is_true);\n        DEBUG_MSGF(\"  current node = %u\", value);\n\n        record_pointer = &search_tree[value * record_info.record_length];\n        if (record_pointer + record_info.record_length > mmdb->data_section) {\n            return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n        }\n        if (bit_is_true) {\n            record_pointer += record_info.right_record_offset;\n            value = record_info.right_record_getter(record_pointer);\n        } else {\n            value = record_info.left_record_getter(record_pointer);\n        }\n\n        uint8_t type = maybe_populate_result(mmdb, value, (uint16_t)current_bit,\n                                             result);\n        if (MMDB_RECORD_TYPE_INVALID == type) {\n            return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n        }\n\n        if (MMDB_RECORD_TYPE_SEARCH_NODE != type) {\n            return MMDB_SUCCESS;\n        }\n\n        DEBUG_MSGF(\"  proceeding to search tree node %i\", value);\n    }\n\n    DEBUG_MSG(\n        \"Reached the end of the address bits without leaving the search tree\");\n\n    // We should not be able to reach this return. If we do, something very bad happened.\n    return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n}\n\nLOCAL record_info_s record_info_for_database(MMDB_s *mmdb)\n{\n    record_info_s record_info = {\n        .record_length       = mmdb->full_record_byte_size,\n        .right_record_offset = 0\n    };\n\n    if (record_info.record_length == 6) {\n        record_info.left_record_getter = &get_uint24;\n        record_info.right_record_getter = &get_uint24;\n        record_info.right_record_offset = 3;\n    } else if (record_info.record_length == 7) {\n        record_info.left_record_getter = &get_left_28_bit_record;\n        record_info.right_record_getter = &get_right_28_bit_record;\n        record_info.right_record_offset = 3;\n    } else if (record_info.record_length == 8) {\n        record_info.left_record_getter = &get_uint32;\n        record_info.right_record_getter = &get_uint32;\n        record_info.right_record_offset = 4;\n    } else {\n        assert(false);\n    }\n\n    return record_info;\n}\n\nLOCAL int find_ipv4_start_node(MMDB_s *mmdb)\n{\n    /* In a pathological case of a database with a single node search tree,\n     * this check will be true even after we've found the IPv4 start node, but\n     * that doesn't seem worth trying to fix. */\n    if (mmdb->ipv4_start_node.node_value != 0) {\n        return MMDB_SUCCESS;\n    }\n\n    record_info_s record_info = record_info_for_database(mmdb);\n\n    const uint8_t *search_tree = mmdb->file_content;\n    uint32_t node_value = 0;\n    const uint8_t *record_pointer;\n    uint16_t netmask;\n    for (netmask = 0; netmask < 96; netmask++) {\n        record_pointer = &search_tree[node_value * record_info.record_length];\n        if (record_pointer + record_info.record_length > mmdb->data_section) {\n            return MMDB_CORRUPT_SEARCH_TREE_ERROR;\n        }\n        node_value = record_info.left_record_getter(record_pointer);\n        /* This can happen if there's no IPv4 data _or_ if there is a subnet\n         * with data that contains the entire IPv4 range (like ::/64) */\n        if (node_value >= mmdb->metadata.node_count) {\n            break;\n        }\n    }\n\n    mmdb->ipv4_start_node.node_value = node_value;\n    mmdb->ipv4_start_node.netmask = netmask;\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL uint8_t maybe_populate_result(MMDB_s *mmdb, uint32_t record,\n                                    uint16_t netmask,\n                                    MMDB_lookup_result_s *result)\n{\n    uint8_t type = record_type(mmdb, record);\n\n    if (MMDB_RECORD_TYPE_SEARCH_NODE == type ||\n        MMDB_RECORD_TYPE_INVALID == type) {\n        return type;\n    }\n\n    result->netmask = mmdb->depth - netmask;\n\n    result->entry.offset = data_section_offset_for_record(mmdb, record);\n\n    // type is either MMDB_RECORD_TYPE_DATA or MMDB_RECORD_TYPE_EMPTY\n    // at this point\n    result->found_entry = MMDB_RECORD_TYPE_DATA == type;\n\n    return type;\n}\n\nLOCAL uint8_t record_type(MMDB_s *const mmdb, uint64_t record)\n{\n    uint32_t node_count = mmdb->metadata.node_count;\n\n    /* Ideally we'd check to make sure that a record never points to a\n     * previously seen value, but that's more complicated. For now, we can\n     * at least check that we don't end up at the top of the tree again. */\n    if (record == 0) {\n        DEBUG_MSG(\"record has a value of 0\");\n        return MMDB_RECORD_TYPE_INVALID;\n    }\n\n    if (record < node_count) {\n        return MMDB_RECORD_TYPE_SEARCH_NODE;\n    }\n\n    if (record == node_count) {\n        return MMDB_RECORD_TYPE_EMPTY;\n    }\n\n    if (record - node_count < mmdb->data_section_size) {\n        return MMDB_RECORD_TYPE_DATA;\n    }\n\n    DEBUG_MSG(\"record has a value that points outside of the database\");\n    return MMDB_RECORD_TYPE_INVALID;\n}\n\nLOCAL uint32_t get_left_28_bit_record(const uint8_t *record)\n{\n    return record[0] * 65536 + record[1] * 256 + record[2] +\n           ((record[3] & 0xf0) << 20);\n}\n\nLOCAL uint32_t get_right_28_bit_record(const uint8_t *record)\n{\n    uint32_t value = get_uint32(record);\n    return value & 0xfffffff;\n}\n\nint MMDB_read_node(MMDB_s *const mmdb, uint32_t node_number,\n                   MMDB_search_node_s *const node)\n{\n    record_info_s record_info = record_info_for_database(mmdb);\n    if (0 == record_info.right_record_offset) {\n        return MMDB_UNKNOWN_DATABASE_FORMAT_ERROR;\n    }\n\n    if (node_number > mmdb->metadata.node_count) {\n        return MMDB_INVALID_NODE_NUMBER_ERROR;\n    }\n\n    const uint8_t *search_tree = mmdb->file_content;\n    const uint8_t *record_pointer =\n        &search_tree[node_number * record_info.record_length];\n    node->left_record = record_info.left_record_getter(record_pointer);\n    record_pointer += record_info.right_record_offset;\n    node->right_record = record_info.right_record_getter(record_pointer);\n\n    node->left_record_type = record_type(mmdb, node->left_record);\n    node->right_record_type = record_type(mmdb, node->right_record);\n\n    // Note that offset will be invalid if the record type is not\n    // MMDB_RECORD_TYPE_DATA, but that's ok. Any use of the record entry\n    // for other data types is a programming error.\n    node->left_record_entry = (struct MMDB_entry_s) {\n        .mmdb = mmdb,\n        .offset = data_section_offset_for_record(mmdb, node->left_record),\n    };\n    node->right_record_entry = (struct MMDB_entry_s) {\n        .mmdb = mmdb,\n        .offset = data_section_offset_for_record(mmdb, node->right_record),\n    };\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL uint32_t data_section_offset_for_record(MMDB_s *const mmdb,\n                                              uint64_t record)\n{\n    return (uint32_t)record - mmdb->metadata.node_count -\n           MMDB_DATA_SECTION_SEPARATOR;\n}\n\nint MMDB_get_value(MMDB_entry_s *const start,\n                   MMDB_entry_data_s *const entry_data,\n                   ...)\n{\n    va_list path;\n    va_start(path, entry_data);\n    int status = MMDB_vget_value(start, entry_data, path);\n    va_end(path);\n    return status;\n}\n\nint MMDB_vget_value(MMDB_entry_s *const start,\n                    MMDB_entry_data_s *const entry_data,\n                    va_list va_path)\n{\n    int length = path_length(va_path);\n    const char *path_elem;\n    int i = 0;\n\n    MAYBE_CHECK_SIZE_OVERFLOW(length, SIZE_MAX / sizeof(const char *) - 1,\n                              MMDB_INVALID_METADATA_ERROR);\n\n    const char **path = malloc((length + 1) * sizeof(const char *));\n    if (NULL == path) {\n        return MMDB_OUT_OF_MEMORY_ERROR;\n    }\n\n    while (NULL != (path_elem = va_arg(va_path, char *))) {\n        path[i] = path_elem;\n        i++;\n    }\n    path[i] = NULL;\n\n    int status = MMDB_aget_value(start, entry_data, path);\n\n    free((char **)path);\n\n    return status;\n}\n\nLOCAL int path_length(va_list va_path)\n{\n    int i = 0;\n    const char *ignore;\n    va_list path_copy;\n    va_copy(path_copy, va_path);\n\n    while (NULL != (ignore = va_arg(path_copy, char *))) {\n        i++;\n    }\n\n    va_end(path_copy);\n\n    return i;\n}\n\nint MMDB_aget_value(MMDB_entry_s *const start,\n                    MMDB_entry_data_s *const entry_data,\n                    const char *const *const path)\n{\n    MMDB_s *mmdb = start->mmdb;\n    uint32_t offset = start->offset;\n\n    memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n    DEBUG_NL;\n    DEBUG_MSG(\"looking up value by path\");\n\n    CHECKED_DECODE_ONE_FOLLOW(mmdb, offset, entry_data);\n\n    DEBUG_NL;\n    DEBUG_MSGF(\"top level element is a %s\", type_num_to_name(entry_data->type));\n\n    /* Can this happen? It'd probably represent a pathological case under\n     * normal use, but there's nothing preventing someone from passing an\n     * invalid MMDB_entry_s struct to this function */\n    if (!entry_data->has_data) {\n        return MMDB_INVALID_LOOKUP_PATH_ERROR;\n    }\n\n    const char *path_elem;\n    int i = 0;\n    while (NULL != (path_elem = path[i++])) {\n        DEBUG_NL;\n        DEBUG_MSGF(\"path elem = %s\", path_elem);\n\n        /* XXX - it'd be good to find a quicker way to skip through these\n           entries that doesn't involve decoding them\n           completely. Basically we need to just use the size from the\n           control byte to advance our pointer rather than calling\n           decode_one(). */\n        if (entry_data->type == MMDB_DATA_TYPE_ARRAY) {\n            int status = lookup_path_in_array(path_elem, mmdb, entry_data);\n            if (MMDB_SUCCESS != status) {\n                memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n                return status;\n            }\n        } else if (entry_data->type == MMDB_DATA_TYPE_MAP) {\n            int status = lookup_path_in_map(path_elem, mmdb, entry_data);\n            if (MMDB_SUCCESS != status) {\n                memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n                return status;\n            }\n        } else {\n            /* Once we make the code traverse maps & arrays without calling\n             * decode_one() we can get rid of this. */\n            memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n            return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR;\n        }\n    }\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int lookup_path_in_array(const char *path_elem, MMDB_s *mmdb,\n                               MMDB_entry_data_s *entry_data)\n{\n    uint32_t size = entry_data->data_size;\n    char *first_invalid;\n\n    int saved_errno = errno;\n    errno = 0;\n    long array_index = strtol(path_elem, &first_invalid, 10);\n    if (array_index < 0 || ERANGE == errno) {\n        errno = saved_errno;\n        return MMDB_INVALID_LOOKUP_PATH_ERROR;\n    }\n    errno = saved_errno;\n\n    if (*first_invalid || (uint32_t)array_index >= size) {\n        return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR;\n    }\n\n    for (int i = 0; i < array_index; i++) {\n        /* We don't want to follow a pointer here. If the next element is a\n         * pointer we simply skip it and keep going */\n        CHECKED_DECODE_ONE(mmdb, entry_data->offset_to_next, entry_data);\n        int status = skip_map_or_array(mmdb, entry_data);\n        if (MMDB_SUCCESS != status) {\n            return status;\n        }\n    }\n\n    MMDB_entry_data_s value;\n    CHECKED_DECODE_ONE_FOLLOW(mmdb, entry_data->offset_to_next, &value);\n    memcpy(entry_data, &value, sizeof(MMDB_entry_data_s));\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int lookup_path_in_map(const char *path_elem, MMDB_s *mmdb,\n                             MMDB_entry_data_s *entry_data)\n{\n    uint32_t size = entry_data->data_size;\n    uint32_t offset = entry_data->offset_to_next;\n    size_t path_elem_len = strlen(path_elem);\n\n    while (size-- > 0) {\n        MMDB_entry_data_s key, value;\n        CHECKED_DECODE_ONE_FOLLOW(mmdb, offset, &key);\n\n        uint32_t offset_to_value = key.offset_to_next;\n\n        if (MMDB_DATA_TYPE_UTF8_STRING != key.type) {\n            return MMDB_INVALID_DATA_ERROR;\n        }\n\n        if (key.data_size == path_elem_len &&\n            !memcmp(path_elem, key.utf8_string, path_elem_len)) {\n\n            DEBUG_MSG(\"found key matching path elem\");\n\n            CHECKED_DECODE_ONE_FOLLOW(mmdb, offset_to_value, &value);\n            memcpy(entry_data, &value, sizeof(MMDB_entry_data_s));\n            return MMDB_SUCCESS;\n        } else {\n            /* We don't want to follow a pointer here. If the next element is\n             * a pointer we simply skip it and keep going */\n            CHECKED_DECODE_ONE(mmdb, offset_to_value, &value);\n            int status = skip_map_or_array(mmdb, &value);\n            if (MMDB_SUCCESS != status) {\n                return status;\n            }\n            offset = value.offset_to_next;\n        }\n    }\n\n    memset(entry_data, 0, sizeof(MMDB_entry_data_s));\n    return MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR;\n}\n\nLOCAL int skip_map_or_array(MMDB_s *mmdb, MMDB_entry_data_s *entry_data)\n{\n    if (entry_data->type == MMDB_DATA_TYPE_MAP) {\n        uint32_t size = entry_data->data_size;\n        while (size-- > 0) {\n            CHECKED_DECODE_ONE(mmdb, entry_data->offset_to_next, entry_data);   // key\n            CHECKED_DECODE_ONE(mmdb, entry_data->offset_to_next, entry_data);   // value\n            int status = skip_map_or_array(mmdb, entry_data);\n            if (MMDB_SUCCESS != status) {\n                return status;\n            }\n        }\n    } else if (entry_data->type == MMDB_DATA_TYPE_ARRAY) {\n        uint32_t size = entry_data->data_size;\n        while (size-- > 0) {\n            CHECKED_DECODE_ONE(mmdb, entry_data->offset_to_next, entry_data);   // value\n            int status = skip_map_or_array(mmdb, entry_data);\n            if (MMDB_SUCCESS != status) {\n                return status;\n            }\n        }\n    }\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int decode_one_follow(MMDB_s *mmdb, uint32_t offset,\n                            MMDB_entry_data_s *entry_data)\n{\n    CHECKED_DECODE_ONE(mmdb, offset, entry_data);\n    if (entry_data->type == MMDB_DATA_TYPE_POINTER) {\n        uint32_t next = entry_data->offset_to_next;\n        CHECKED_DECODE_ONE(mmdb, entry_data->pointer, entry_data);\n        /* Pointers to pointers are illegal under the spec */\n        if (entry_data->type == MMDB_DATA_TYPE_POINTER) {\n            DEBUG_MSG(\"pointer points to another pointer\");\n            return MMDB_INVALID_DATA_ERROR;\n        }\n\n        /* The pointer could point to any part of the data section but the\n         * next entry for this particular offset may be the one after the\n         * pointer, not the one after whatever the pointer points to. This\n         * depends on whether the pointer points to something that is a simple\n         * value or a compound value. For a compound value, the next one is\n         * the one after the pointer result, not the one after the pointer. */\n        if (entry_data->type != MMDB_DATA_TYPE_MAP\n            && entry_data->type != MMDB_DATA_TYPE_ARRAY) {\n\n            entry_data->offset_to_next = next;\n        }\n    }\n\n    return MMDB_SUCCESS;\n}\n\n#if !MMDB_UINT128_IS_BYTE_ARRAY\nNO_PROTO mmdb_uint128_t get_uint128(const uint8_t *p, int length)\n{\n    mmdb_uint128_t value = 0;\n    while (length-- > 0) {\n        value <<= 8;\n        value += *p++;\n    }\n    return value;\n}\n#endif\n\nLOCAL int decode_one(MMDB_s *mmdb, uint32_t offset,\n                     MMDB_entry_data_s *entry_data)\n{\n    const uint8_t *mem = mmdb->data_section;\n\n    // We subtract rather than add as it possible that offset + 1\n    // could overflow for a corrupt database while an underflow\n    // from data_section_size - 1 should not be possible.\n    if (offset > mmdb->data_section_size - 1) {\n        DEBUG_MSGF(\"Offset (%d) past data section (%d)\", offset,\n                   mmdb->data_section_size);\n        return MMDB_INVALID_DATA_ERROR;\n    }\n\n    entry_data->offset = offset;\n    entry_data->has_data = true;\n\n    DEBUG_NL;\n    DEBUG_MSGF(\"Offset: %i\", offset);\n\n    uint8_t ctrl = mem[offset++];\n    DEBUG_BINARY(\"Control byte: %s\", ctrl);\n\n    int type = (ctrl >> 5) & 7;\n    DEBUG_MSGF(\"Type: %i (%s)\", type, type_num_to_name(type));\n\n    if (type == MMDB_DATA_TYPE_EXTENDED) {\n        // Subtracting 1 to avoid possible overflow on offset + 1\n        if (offset > mmdb->data_section_size - 1) {\n            DEBUG_MSGF(\"Extended type offset (%d) past data section (%d)\",\n                       offset,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        type = get_ext_type(mem[offset++]);\n        DEBUG_MSGF(\"Extended type: %i (%s)\", type, type_num_to_name(type));\n    }\n\n    entry_data->type = type;\n\n    if (type == MMDB_DATA_TYPE_POINTER) {\n        uint8_t psize = ((ctrl >> 3) & 3) + 1;\n        DEBUG_MSGF(\"Pointer size: %i\", psize);\n\n        // We check that the offset does not extend past the end of the\n        // database and that the subtraction of psize did not underflow.\n        if (offset > mmdb->data_section_size - psize ||\n            mmdb->data_section_size < psize) {\n            DEBUG_MSGF(\"Pointer offset (%d) past data section (%d)\", offset +\n                       psize,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->pointer = get_ptr_from(ctrl, &mem[offset], psize);\n        DEBUG_MSGF(\"Pointer to: %i\", entry_data->pointer);\n\n        entry_data->data_size = psize;\n        entry_data->offset_to_next = offset + psize;\n        return MMDB_SUCCESS;\n    }\n\n    uint32_t size = ctrl & 31;\n    switch (size) {\n    case 29:\n        // We subtract when checking offset to avoid possible overflow\n        if (offset > mmdb->data_section_size - 1) {\n            DEBUG_MSGF(\"String end (%d, case 29) past data section (%d)\",\n                       offset,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 29 + mem[offset++];\n        break;\n    case 30:\n        // We subtract when checking offset to avoid possible overflow\n        if (offset > mmdb->data_section_size - 2) {\n            DEBUG_MSGF(\"String end (%d, case 30) past data section (%d)\",\n                       offset,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 285 + get_uint16(&mem[offset]);\n        offset += 2;\n        break;\n    case 31:\n        // We subtract when checking offset to avoid possible overflow\n        if (offset > mmdb->data_section_size - 3) {\n            DEBUG_MSGF(\"String end (%d, case 31) past data section (%d)\",\n                       offset,\n                       mmdb->data_section_size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 65821 + get_uint24(&mem[offset]);\n        offset += 3;\n    default:\n        break;\n    }\n\n    DEBUG_MSGF(\"Size: %i\", size);\n\n    if (type == MMDB_DATA_TYPE_MAP || type == MMDB_DATA_TYPE_ARRAY) {\n        entry_data->data_size = size;\n        entry_data->offset_to_next = offset;\n        return MMDB_SUCCESS;\n    }\n\n    if (type == MMDB_DATA_TYPE_BOOLEAN) {\n        entry_data->boolean = size ? true : false;\n        entry_data->data_size = 0;\n        entry_data->offset_to_next = offset;\n        DEBUG_MSGF(\"boolean value: %s\", entry_data->boolean ? \"true\" : \"false\");\n        return MMDB_SUCCESS;\n    }\n\n    // Check that the data doesn't extend past the end of the memory\n    // buffer and that the calculation in doing this did not underflow.\n    if (offset > mmdb->data_section_size - size ||\n        mmdb->data_section_size < size) {\n        DEBUG_MSGF(\"Data end (%d) past data section (%d)\", offset + size,\n                   mmdb->data_section_size);\n        return MMDB_INVALID_DATA_ERROR;\n    }\n\n    if (type == MMDB_DATA_TYPE_UINT16) {\n        if (size > 2) {\n            DEBUG_MSGF(\"uint16 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->uint16 = (uint16_t)get_uintX(&mem[offset], size);\n        DEBUG_MSGF(\"uint16 value: %u\", entry_data->uint16);\n    } else if (type == MMDB_DATA_TYPE_UINT32) {\n        if (size > 4) {\n            DEBUG_MSGF(\"uint32 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->uint32 = (uint32_t)get_uintX(&mem[offset], size);\n        DEBUG_MSGF(\"uint32 value: %u\", entry_data->uint32);\n    } else if (type == MMDB_DATA_TYPE_INT32) {\n        if (size > 4) {\n            DEBUG_MSGF(\"int32 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->int32 = get_sintX(&mem[offset], size);\n        DEBUG_MSGF(\"int32 value: %i\", entry_data->int32);\n    } else if (type == MMDB_DATA_TYPE_UINT64) {\n        if (size > 8) {\n            DEBUG_MSGF(\"uint64 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        entry_data->uint64 = get_uintX(&mem[offset], size);\n        DEBUG_MSGF(\"uint64 value: %\" PRIu64, entry_data->uint64);\n    } else if (type == MMDB_DATA_TYPE_UINT128) {\n        if (size > 16) {\n            DEBUG_MSGF(\"uint128 of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n#if MMDB_UINT128_IS_BYTE_ARRAY\n        memset(entry_data->uint128, 0, 16);\n        if (size > 0) {\n            memcpy(entry_data->uint128 + 16 - size, &mem[offset], size);\n        }\n#else\n        entry_data->uint128 = get_uint128(&mem[offset], size);\n#endif\n    } else if (type == MMDB_DATA_TYPE_FLOAT) {\n        if (size != 4) {\n            DEBUG_MSGF(\"float of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 4;\n        entry_data->float_value = get_ieee754_float(&mem[offset]);\n        DEBUG_MSGF(\"float value: %f\", entry_data->float_value);\n    } else if (type == MMDB_DATA_TYPE_DOUBLE) {\n        if (size != 8) {\n            DEBUG_MSGF(\"double of size %d\", size);\n            return MMDB_INVALID_DATA_ERROR;\n        }\n        size = 8;\n        entry_data->double_value = get_ieee754_double(&mem[offset]);\n        DEBUG_MSGF(\"double value: %f\", entry_data->double_value);\n    } else if (type == MMDB_DATA_TYPE_UTF8_STRING) {\n        entry_data->utf8_string = size == 0 ? \"\" : (char *)&mem[offset];\n        entry_data->data_size = size;\n#ifdef MMDB_DEBUG\n        char *string = mmdb_strndup(entry_data->utf8_string,\n                                    size > 50 ? 50 : size);\n        if (NULL == string) {\n            abort();\n        }\n        DEBUG_MSGF(\"string value: %s\", string);\n        free(string);\n#endif\n    } else if (type == MMDB_DATA_TYPE_BYTES) {\n        entry_data->bytes = &mem[offset];\n        entry_data->data_size = size;\n    }\n\n    entry_data->offset_to_next = offset + size;\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL int get_ext_type(int raw_ext_type)\n{\n    return 7 + raw_ext_type;\n}\n\nLOCAL uint32_t get_ptr_from(uint8_t ctrl, uint8_t const *const ptr,\n                            int ptr_size)\n{\n    uint32_t new_offset;\n    switch (ptr_size) {\n    case 1:\n        new_offset = ( (ctrl & 7) << 8) + ptr[0];\n        break;\n    case 2:\n        new_offset = 2048 + ( (ctrl & 7) << 16 ) + ( ptr[0] << 8) + ptr[1];\n        break;\n    case 3:\n        new_offset = 2048 + 524288 + ( (ctrl & 7) << 24 ) + get_uint24(ptr);\n        break;\n    case 4:\n    default:\n        new_offset = get_uint32(ptr);\n        break;\n    }\n    return new_offset;\n}\n\nint MMDB_get_metadata_as_entry_data_list(\n    MMDB_s *const mmdb, MMDB_entry_data_list_s **const entry_data_list)\n{\n    MMDB_s metadata_db = make_fake_metadata_db(mmdb);\n\n    MMDB_entry_s metadata_start = {\n        .mmdb   = &metadata_db,\n        .offset = 0\n    };\n\n    return MMDB_get_entry_data_list(&metadata_start, entry_data_list);\n}\n\nint MMDB_get_entry_data_list(\n    MMDB_entry_s *start, MMDB_entry_data_list_s **const entry_data_list)\n{\n    *entry_data_list = new_entry_data_list();\n    if (NULL == *entry_data_list) {\n        return MMDB_OUT_OF_MEMORY_ERROR;\n    }\n    return get_entry_data_list(start->mmdb, start->offset, *entry_data_list, 0);\n}\n\nLOCAL int get_entry_data_list(MMDB_s *mmdb, uint32_t offset,\n                              MMDB_entry_data_list_s *const entry_data_list,\n                              int depth)\n{\n    if (depth >= MAXIMUM_DATA_STRUCTURE_DEPTH) {\n        DEBUG_MSG(\"reached the maximum data structure depth\");\n        return MMDB_INVALID_DATA_ERROR;\n    }\n    depth++;\n    CHECKED_DECODE_ONE(mmdb, offset, &entry_data_list->entry_data);\n\n    switch (entry_data_list->entry_data.type) {\n    case MMDB_DATA_TYPE_POINTER:\n        {\n            uint32_t next_offset = entry_data_list->entry_data.offset_to_next;\n            uint32_t last_offset;\n            CHECKED_DECODE_ONE(mmdb, last_offset =\n                                   entry_data_list->entry_data.pointer,\n                               &entry_data_list->entry_data);\n\n            /* Pointers to pointers are illegal under the spec */\n            if (entry_data_list->entry_data.type == MMDB_DATA_TYPE_POINTER) {\n                DEBUG_MSG(\"pointer points to another pointer\");\n                return MMDB_INVALID_DATA_ERROR;\n            }\n\n            if (entry_data_list->entry_data.type == MMDB_DATA_TYPE_ARRAY\n                || entry_data_list->entry_data.type == MMDB_DATA_TYPE_MAP) {\n\n                int status =\n                    get_entry_data_list(mmdb, last_offset, entry_data_list,\n                                        depth);\n                if (MMDB_SUCCESS != status) {\n                    DEBUG_MSG(\"get_entry_data_list on pointer failed.\");\n                    return status;\n                }\n            }\n            entry_data_list->entry_data.offset_to_next = next_offset;\n        }\n        break;\n    case MMDB_DATA_TYPE_ARRAY:\n        {\n            uint32_t array_size = entry_data_list->entry_data.data_size;\n            uint32_t array_offset = entry_data_list->entry_data.offset_to_next;\n            MMDB_entry_data_list_s *previous = entry_data_list;\n            while (array_size-- > 0) {\n                MMDB_entry_data_list_s *entry_data_list_to = previous->next =\n                                                                 new_entry_data_list();\n                if (NULL == entry_data_list_to) {\n                    return MMDB_OUT_OF_MEMORY_ERROR;\n                }\n\n                int status =\n                    get_entry_data_list(mmdb, array_offset, entry_data_list_to,\n                                        depth);\n                if (MMDB_SUCCESS != status) {\n                    DEBUG_MSG(\"get_entry_data_list on array element failed.\");\n                    return status;\n                }\n\n                array_offset = entry_data_list_to->entry_data.offset_to_next;\n                while (previous->next) {\n                    previous = previous->next;\n                }\n            }\n            entry_data_list->entry_data.offset_to_next = array_offset;\n\n        }\n        break;\n    case MMDB_DATA_TYPE_MAP:\n        {\n            uint32_t size = entry_data_list->entry_data.data_size;\n\n            offset = entry_data_list->entry_data.offset_to_next;\n            MMDB_entry_data_list_s *previous = entry_data_list;\n            while (size-- > 0) {\n                MMDB_entry_data_list_s *entry_data_list_to = previous->next =\n                                                                 new_entry_data_list();\n                if (NULL == entry_data_list_to) {\n                    return MMDB_OUT_OF_MEMORY_ERROR;\n                }\n\n                int status =\n                    get_entry_data_list(mmdb, offset, entry_data_list_to,\n                                        depth);\n                if (MMDB_SUCCESS != status) {\n                    DEBUG_MSG(\"get_entry_data_list on map key failed.\");\n                    return status;\n                }\n\n                while (previous->next) {\n                    previous = previous->next;\n                }\n\n                offset = entry_data_list_to->entry_data.offset_to_next;\n                entry_data_list_to = previous->next =\n                                         new_entry_data_list();\n\n                if (NULL == entry_data_list_to) {\n                    return MMDB_OUT_OF_MEMORY_ERROR;\n                }\n\n                status = get_entry_data_list(mmdb, offset, entry_data_list_to,\n                                             depth);\n                if (MMDB_SUCCESS != status) {\n                    DEBUG_MSG(\"get_entry_data_list on map element failed.\");\n                    return status;\n                }\n\n                while (previous->next) {\n                    previous = previous->next;\n                }\n                offset = entry_data_list_to->entry_data.offset_to_next;\n            }\n            entry_data_list->entry_data.offset_to_next = offset;\n        }\n        break;\n    default:\n        break;\n    }\n\n    return MMDB_SUCCESS;\n}\n\nLOCAL float get_ieee754_float(const uint8_t *restrict p)\n{\n    volatile float f;\n    uint8_t *q = (void *)&f;\n/* Windows builds don't use autoconf but we can assume they're all\n * little-endian. */\n#if MMDB_LITTLE_ENDIAN || _WIN32\n    q[3] = p[0];\n    q[2] = p[1];\n    q[1] = p[2];\n    q[0] = p[3];\n#else\n    memcpy(q, p, 4);\n#endif\n    return f;\n}\n\nLOCAL double get_ieee754_double(const uint8_t *restrict p)\n{\n    volatile double d;\n    uint8_t *q = (void *)&d;\n#if MMDB_LITTLE_ENDIAN || _WIN32\n    q[7] = p[0];\n    q[6] = p[1];\n    q[5] = p[2];\n    q[4] = p[3];\n    q[3] = p[4];\n    q[2] = p[5];\n    q[1] = p[6];\n    q[0] = p[7];\n#else\n    memcpy(q, p, 8);\n#endif\n\n    return d;\n}\n\nLOCAL uint32_t get_uint32(const uint8_t *p)\n{\n    return p[0] * 16777216U + p[1] * 65536 + p[2] * 256 + p[3];\n}\n\nLOCAL uint32_t get_uint24(const uint8_t *p)\n{\n    return p[0] * 65536U + p[1] * 256 + p[2];\n}\n\nLOCAL uint32_t get_uint16(const uint8_t *p)\n{\n    return p[0] * 256U + p[1];\n}\n\nLOCAL uint64_t get_uintX(const uint8_t *p, int length)\n{\n    uint64_t value = 0;\n    while (length-- > 0) {\n        value <<= 8;\n        value += *p++;\n    }\n    return value;\n}\n\nLOCAL int32_t get_sintX(const uint8_t *p, int length)\n{\n    return (int32_t)get_uintX(p, length);\n}\n\nLOCAL MMDB_entry_data_list_s *new_entry_data_list(void)\n{\n    /* We need calloc here in order to ensure that the ->next pointer in the\n     * struct doesn't point to some random address. */\n    return calloc(1, sizeof(MMDB_entry_data_list_s));\n}\n\nvoid MMDB_free_entry_data_list(MMDB_entry_data_list_s *const entry_data_list)\n{\n    if (entry_data_list == NULL) {\n        return;\n    }\n    if (entry_data_list->next) {\n        MMDB_free_entry_data_list(entry_data_list->next);\n    }\n    free(entry_data_list);\n}\n\nvoid MMDB_close(MMDB_s *const mmdb)\n{\n    free_mmdb_struct(mmdb);\n}\n\nLOCAL void free_mmdb_struct(MMDB_s *const mmdb)\n{\n    if (!mmdb) {\n        return;\n    }\n\n    if (NULL != mmdb->filename) {\n        FREE_AND_SET_NULL(mmdb->filename);\n    }\n    if (NULL != mmdb->file_content) {\n#ifdef _WIN32\n        UnmapViewOfFile(mmdb->file_content);\n        /* Winsock is only initialized if open was successful so we only have\n         * to cleanup then. */\n        WSACleanup();\n#else\n        munmap((void *)mmdb->file_content, mmdb->file_size);\n#endif\n    }\n\n    if (NULL != mmdb->metadata.database_type) {\n        FREE_AND_SET_NULL(mmdb->metadata.database_type);\n    }\n\n    free_languages_metadata(mmdb);\n    free_descriptions_metadata(mmdb);\n}\n\nLOCAL void free_languages_metadata(MMDB_s *mmdb)\n{\n    if (!mmdb->metadata.languages.count) {\n        return;\n    }\n\n    for (size_t i = 0; i < mmdb->metadata.languages.count; i++) {\n        FREE_AND_SET_NULL(mmdb->metadata.languages.names[i]);\n    }\n    FREE_AND_SET_NULL(mmdb->metadata.languages.names);\n}\n\nLOCAL void free_descriptions_metadata(MMDB_s *mmdb)\n{\n    if (!mmdb->metadata.description.count) {\n        return;\n    }\n\n    for (size_t i = 0; i < mmdb->metadata.description.count; i++) {\n        if (NULL != mmdb->metadata.description.descriptions[i]) {\n            if (NULL !=\n                mmdb->metadata.description.descriptions[i]->language) {\n                FREE_AND_SET_NULL(\n                    mmdb->metadata.description.descriptions[i]->language);\n            }\n\n            if (NULL !=\n                mmdb->metadata.description.descriptions[i]->description) {\n                FREE_AND_SET_NULL(\n                    mmdb->metadata.description.descriptions[i]->description);\n            }\n            FREE_AND_SET_NULL(mmdb->metadata.description.descriptions[i]);\n        }\n    }\n\n    FREE_AND_SET_NULL(mmdb->metadata.description.descriptions);\n}\n\nconst char *MMDB_lib_version(void)\n{\n    return PACKAGE_VERSION;\n}\n\nint MMDB_dump_entry_data_list(FILE *const stream,\n                              MMDB_entry_data_list_s *const entry_data_list,\n                              int indent)\n{\n    int status;\n    dump_entry_data_list(stream, entry_data_list, indent, &status);\n    return status;\n}\n\nLOCAL MMDB_entry_data_list_s *dump_entry_data_list(\n    FILE *stream, MMDB_entry_data_list_s *entry_data_list, int indent,\n    int *status)\n{\n    switch (entry_data_list->entry_data.type) {\n    case MMDB_DATA_TYPE_MAP:\n        {\n            uint32_t size = entry_data_list->entry_data.data_size;\n\n            print_indentation(stream, indent);\n            fprintf(stream, \"{\\n\");\n            indent += 2;\n\n            for (entry_data_list = entry_data_list->next;\n                 size && entry_data_list; size--) {\n\n                if (MMDB_DATA_TYPE_UTF8_STRING !=\n                    entry_data_list->entry_data.type) {\n                    *status = MMDB_INVALID_DATA_ERROR;\n                    return NULL;\n                }\n                char *key =\n                    mmdb_strndup(\n                        (char *)entry_data_list->entry_data.utf8_string,\n                        entry_data_list->entry_data.data_size);\n                if (NULL == key) {\n                    *status = MMDB_OUT_OF_MEMORY_ERROR;\n                    return NULL;\n                }\n\n                print_indentation(stream, indent);\n                fprintf(stream, \"\\\"%s\\\": \\n\", key);\n                free(key);\n\n                entry_data_list = entry_data_list->next;\n                entry_data_list =\n                    dump_entry_data_list(stream, entry_data_list, indent + 2,\n                                         status);\n\n                if (MMDB_SUCCESS != *status) {\n                    return NULL;\n                }\n            }\n\n            indent -= 2;\n            print_indentation(stream, indent);\n            fprintf(stream, \"}\\n\");\n        }\n        break;\n    case MMDB_DATA_TYPE_ARRAY:\n        {\n            uint32_t size = entry_data_list->entry_data.data_size;\n\n            print_indentation(stream, indent);\n            fprintf(stream, \"[\\n\");\n            indent += 2;\n\n            for (entry_data_list = entry_data_list->next;\n                 size && entry_data_list; size--) {\n                entry_data_list =\n                    dump_entry_data_list(stream, entry_data_list, indent,\n                                         status);\n                if (MMDB_SUCCESS != *status) {\n                    return NULL;\n                }\n            }\n\n            indent -= 2;\n            print_indentation(stream, indent);\n            fprintf(stream, \"]\\n\");\n        }\n        break;\n    case MMDB_DATA_TYPE_UTF8_STRING:\n        {\n            char *string =\n                mmdb_strndup((char *)entry_data_list->entry_data.utf8_string,\n                             entry_data_list->entry_data.data_size);\n            if (NULL == string) {\n                *status = MMDB_OUT_OF_MEMORY_ERROR;\n                return NULL;\n            }\n            print_indentation(stream, indent);\n            fprintf(stream, \"\\\"%s\\\" <utf8_string>\\n\", string);\n            free(string);\n            entry_data_list = entry_data_list->next;\n        }\n        break;\n    case MMDB_DATA_TYPE_BYTES:\n        {\n            char *hex_string =\n                bytes_to_hex((uint8_t *)entry_data_list->entry_data.bytes,\n                             entry_data_list->entry_data.data_size);\n            if (NULL == hex_string) {\n                *status = MMDB_OUT_OF_MEMORY_ERROR;\n                return NULL;\n            }\n\n            print_indentation(stream, indent);\n            fprintf(stream, \"%s <bytes>\\n\", hex_string);\n            free(hex_string);\n\n            entry_data_list = entry_data_list->next;\n        }\n        break;\n    case MMDB_DATA_TYPE_DOUBLE:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%f <double>\\n\",\n                entry_data_list->entry_data.double_value);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_FLOAT:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%f <float>\\n\",\n                entry_data_list->entry_data.float_value);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_UINT16:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%u <uint16>\\n\", entry_data_list->entry_data.uint16);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_UINT32:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%u <uint32>\\n\", entry_data_list->entry_data.uint32);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_BOOLEAN:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%s <boolean>\\n\",\n                entry_data_list->entry_data.boolean ? \"true\" : \"false\");\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_UINT64:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%\" PRIu64 \" <uint64>\\n\",\n                entry_data_list->entry_data.uint64);\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_UINT128:\n        print_indentation(stream, indent);\n#if MMDB_UINT128_IS_BYTE_ARRAY\n        char *hex_string =\n            bytes_to_hex((uint8_t *)entry_data_list->entry_data.uint128, 16);\n        if (NULL == hex_string) {\n            *status = MMDB_OUT_OF_MEMORY_ERROR;\n            return NULL;\n        }\n        fprintf(stream, \"0x%s <uint128>\\n\", hex_string);\n        free(hex_string);\n#else\n        uint64_t high = entry_data_list->entry_data.uint128 >> 64;\n        uint64_t low = (uint64_t)entry_data_list->entry_data.uint128;\n        fprintf(stream, \"0x%016\" PRIX64 \"%016\" PRIX64 \" <uint128>\\n\", high,\n                low);\n#endif\n        entry_data_list = entry_data_list->next;\n        break;\n    case MMDB_DATA_TYPE_INT32:\n        print_indentation(stream, indent);\n        fprintf(stream, \"%d <int32>\\n\", entry_data_list->entry_data.int32);\n        entry_data_list = entry_data_list->next;\n        break;\n    default:\n        *status = MMDB_INVALID_DATA_ERROR;\n        return NULL;\n    }\n\n    *status = MMDB_SUCCESS;\n    return entry_data_list;\n}\n\nLOCAL void print_indentation(FILE *stream, int i)\n{\n    char buffer[1024];\n    int size = i >= 1024 ? 1023 : i;\n    memset(buffer, 32, size);\n    buffer[size] = '\\0';\n    fputs(buffer, stream);\n}\n\nLOCAL char *bytes_to_hex(uint8_t *bytes, uint32_t size)\n{\n    char *hex_string;\n    MAYBE_CHECK_SIZE_OVERFLOW(size, SIZE_MAX / 2 - 1, NULL);\n\n    hex_string = malloc((size * 2) + 1);\n    if (NULL == hex_string) {\n        return NULL;\n    }\n\n    for (uint32_t i = 0; i < size; i++) {\n        sprintf(hex_string + (2 * i), \"%02X\", bytes[i]);\n    }\n\n    return hex_string;\n}\n\nconst char *MMDB_strerror(int error_code)\n{\n    switch (error_code) {\n    case MMDB_SUCCESS:\n        return \"Success (not an error)\";\n    case MMDB_FILE_OPEN_ERROR:\n        return \"Error opening the specified MaxMind DB file\";\n    case MMDB_CORRUPT_SEARCH_TREE_ERROR:\n        return \"The MaxMind DB file's search tree is corrupt\";\n    case MMDB_INVALID_METADATA_ERROR:\n        return \"The MaxMind DB file contains invalid metadata\";\n    case MMDB_IO_ERROR:\n        return \"An attempt to read data from the MaxMind DB file failed\";\n    case MMDB_OUT_OF_MEMORY_ERROR:\n        return \"A memory allocation call failed\";\n    case MMDB_UNKNOWN_DATABASE_FORMAT_ERROR:\n        return\n            \"The MaxMind DB file is in a format this library can't handle (unknown record size or binary format version)\";\n    case MMDB_INVALID_DATA_ERROR:\n        return\n            \"The MaxMind DB file's data section contains bad data (unknown data type or corrupt data)\";\n    case MMDB_INVALID_LOOKUP_PATH_ERROR:\n        return\n            \"The lookup path contained an invalid value (like a negative integer for an array index)\";\n    case MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR:\n        return\n            \"The lookup path does not match the data (key that doesn't exist, array index bigger than the array, expected array or map where none exists)\";\n    case MMDB_INVALID_NODE_NUMBER_ERROR:\n        return\n            \"The MMDB_read_node function was called with a node number that does not exist in the search tree\";\n    case MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR:\n        return\n            \"You attempted to look up an IPv6 address in an IPv4-only database\";\n    default:\n        return \"Unknown error code\";\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/libmaxminddb/maxminddb.h",
    "content": "#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef MAXMINDDB_H\n#define MAXMINDDB_H\n\n/* libmaxminddb package version from configure */\n#define PACKAGE_VERSION \"1.2.1\"\n\n#ifndef _POSIX_C_SOURCE\n#define _POSIX_C_SOURCE 200112L\n#endif\n\n#include \"maxminddb_config.h\"\n#include <stdarg.h>\n#include <stdbool.h>\n#include <stdint.h>\n#include <stdio.h>\n#include <sys/types.h>\n\n#ifdef _WIN32\n#include <winsock2.h>\n#include <ws2tcpip.h>\n\ntypedef ADDRESS_FAMILY sa_family_t;\n\n#if defined(_MSC_VER)\n/* MSVC doesn't define signed size_t, copy it from configure */\n#define ssize_t SSIZE_T\n\n/* MSVC doesn't support restricted pointers */\n#define restrict\n#endif\n#else\n#include <netdb.h>\n#include <netinet/in.h>\n#include <sys/socket.h>\n#endif\n\n#define MMDB_DATA_TYPE_EXTENDED (0)\n#define MMDB_DATA_TYPE_POINTER (1)\n#define MMDB_DATA_TYPE_UTF8_STRING (2)\n#define MMDB_DATA_TYPE_DOUBLE (3)\n#define MMDB_DATA_TYPE_BYTES (4)\n#define MMDB_DATA_TYPE_UINT16 (5)\n#define MMDB_DATA_TYPE_UINT32 (6)\n#define MMDB_DATA_TYPE_MAP (7)\n#define MMDB_DATA_TYPE_INT32 (8)\n#define MMDB_DATA_TYPE_UINT64 (9)\n#define MMDB_DATA_TYPE_UINT128 (10)\n#define MMDB_DATA_TYPE_ARRAY (11)\n#define MMDB_DATA_TYPE_CONTAINER (12)\n#define MMDB_DATA_TYPE_END_MARKER (13)\n#define MMDB_DATA_TYPE_BOOLEAN (14)\n#define MMDB_DATA_TYPE_FLOAT (15)\n\n#define MMDB_RECORD_TYPE_SEARCH_NODE (0)\n#define MMDB_RECORD_TYPE_EMPTY (1)\n#define MMDB_RECORD_TYPE_DATA (2)\n#define MMDB_RECORD_TYPE_INVALID (3)\n\n/* flags for open */\n#define MMDB_MODE_MMAP (1)\n#define MMDB_MODE_MASK (7)\n\n/* error codes */\n#define MMDB_SUCCESS (0)\n#define MMDB_FILE_OPEN_ERROR (1)\n#define MMDB_CORRUPT_SEARCH_TREE_ERROR (2)\n#define MMDB_INVALID_METADATA_ERROR (3)\n#define MMDB_IO_ERROR (4)\n#define MMDB_OUT_OF_MEMORY_ERROR (5)\n#define MMDB_UNKNOWN_DATABASE_FORMAT_ERROR (6)\n#define MMDB_INVALID_DATA_ERROR (7)\n#define MMDB_INVALID_LOOKUP_PATH_ERROR (8)\n#define MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR (9)\n#define MMDB_INVALID_NODE_NUMBER_ERROR (10)\n#define MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR (11)\n\n#if !(MMDB_UINT128_IS_BYTE_ARRAY)\n#if MMDB_UINT128_USING_MODE\ntypedef unsigned int mmdb_uint128_t __attribute__ ((__mode__(TI)));\n#else\ntypedef unsigned __int128 mmdb_uint128_t;\n#endif\n#endif\n\n/* This is a pointer into the data section for a given IP address lookup */\ntypedef struct MMDB_entry_s {\n    struct MMDB_s *mmdb;\n    uint32_t offset;\n} MMDB_entry_s;\n\ntypedef struct MMDB_lookup_result_s {\n    bool found_entry;\n    MMDB_entry_s entry;\n    uint16_t netmask;\n} MMDB_lookup_result_s;\n\ntypedef struct MMDB_entry_data_s {\n    bool has_data;\n    union {\n        uint32_t pointer;\n        const char *utf8_string;\n        double double_value;\n        const uint8_t *bytes;\n        uint16_t uint16;\n        uint32_t uint32;\n        int32_t int32;\n        uint64_t uint64;\n#if MMDB_UINT128_IS_BYTE_ARRAY\n        uint8_t uint128[16];\n#else\n        mmdb_uint128_t uint128;\n#endif\n        bool boolean;\n        float float_value;\n    };\n    /* This is a 0 if a given entry cannot be found. This can only happen\n     * when a call to MMDB_(v)get_value() asks for hash keys or array\n     * indices that don't exist. */\n    uint32_t offset;\n    /* This is the next entry in the data section, but it's really only\n     * relevant for entries that part of a larger map or array\n     * struct. There's no good reason for an end user to look at this\n     * directly. */\n    uint32_t offset_to_next;\n    /* This is only valid for strings, utf8_strings or binary data */\n    uint32_t data_size;\n    /* This is an MMDB_DATA_TYPE_* constant */\n    uint32_t type;\n} MMDB_entry_data_s;\n\n/* This is the return type when someone asks for all the entry data in a map or array */\ntypedef struct MMDB_entry_data_list_s {\n    MMDB_entry_data_s entry_data;\n    struct MMDB_entry_data_list_s *next;\n} MMDB_entry_data_list_s;\n\ntypedef struct MMDB_description_s {\n    const char *language;\n    const char *description;\n} MMDB_description_s;\n\ntypedef struct MMDB_metadata_s {\n    uint32_t node_count;\n    uint16_t record_size;\n    uint16_t ip_version;\n    const char *database_type;\n    struct {\n        size_t count;\n        const char **names;\n    } languages;\n    uint16_t binary_format_major_version;\n    uint16_t binary_format_minor_version;\n    uint64_t build_epoch;\n    struct {\n        size_t count;\n        MMDB_description_s **descriptions;\n    } description;\n} MMDB_metadata_s;\n\ntypedef struct MMDB_ipv4_start_node_s {\n    uint16_t netmask;\n    uint32_t node_value;\n} MMDB_ipv4_start_node_s;\n\ntypedef struct MMDB_s {\n    uint32_t flags;\n    const char *filename;\n    ssize_t file_size;\n    const uint8_t *file_content;\n    const uint8_t *data_section;\n    uint32_t data_section_size;\n    const uint8_t *metadata_section;\n    uint32_t metadata_section_size;\n    uint16_t full_record_byte_size;\n    uint16_t depth;\n    MMDB_ipv4_start_node_s ipv4_start_node;\n    MMDB_metadata_s metadata;\n} MMDB_s;\n\ntypedef struct MMDB_search_node_s {\n    uint64_t left_record;\n    uint64_t right_record;\n    uint8_t left_record_type;\n    uint8_t right_record_type;\n    MMDB_entry_s left_record_entry;\n    MMDB_entry_s right_record_entry;\n} MMDB_search_node_s;\n\n    /* *INDENT-OFF* */\n    /* --prototypes automatically generated by dev-bin/regen-prototypes.pl - don't remove this comment */\n    extern int MMDB_open(const char *const filename, uint32_t flags, MMDB_s *const mmdb);\n    extern MMDB_lookup_result_s MMDB_lookup_string(MMDB_s *const mmdb,\n                                                   const char *const ipstr,\n                                                   int *const gai_error,\n                                                   int *const mmdb_error);\n    extern MMDB_lookup_result_s MMDB_lookup_sockaddr(\n               MMDB_s *const mmdb,\n               const struct sockaddr *const sockaddr,\n               int *const mmdb_error);\n    extern int MMDB_read_node(MMDB_s *const mmdb, uint32_t node_number,\n                              MMDB_search_node_s *const node);\n    extern int MMDB_get_value(MMDB_entry_s *const start,\n                              MMDB_entry_data_s *const entry_data,\n                              ...);\n    extern int MMDB_vget_value(MMDB_entry_s *const start,\n                               MMDB_entry_data_s *const entry_data,\n                               va_list va_path);\n    extern int MMDB_aget_value(MMDB_entry_s *const start,\n                               MMDB_entry_data_s *const entry_data,\n                               const char *const *const path);\n    extern int MMDB_get_metadata_as_entry_data_list(\n               MMDB_s *const mmdb, MMDB_entry_data_list_s **const entry_data_list);\n    extern int MMDB_get_entry_data_list(\n               MMDB_entry_s *start, MMDB_entry_data_list_s **const entry_data_list);\n    extern void MMDB_free_entry_data_list(MMDB_entry_data_list_s *const entry_data_list);\n    extern void MMDB_close(MMDB_s *const mmdb);\n    extern const char *MMDB_lib_version(void);\n    extern int MMDB_dump_entry_data_list(FILE *const stream,\n                                         MMDB_entry_data_list_s *const entry_data_list,\n                                         int indent);\n    extern const char *MMDB_strerror(int error_code);\n    /* --prototypes end - don't remove this comment-- */\n    /* *INDENT-ON* */\n\n#endif                          /* MAXMINDDB_H */\n\n#ifdef __cplusplus\n}\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/libmaxminddb/maxminddb_config.h",
    "content": "#ifndef MAXMINDDB_CONFIG_H\n#define MAXMINDDB_CONFIG_H\n\n#ifndef MMDB_UINT128_USING_MODE\n/* Define as 1 if we we use unsigned int __atribute__ ((__mode__(TI))) for uint128 values */\n#define MMDB_UINT128_USING_MODE 0\n#endif\n\n#ifndef MMDB_UINT128_IS_BYTE_ARRAY\n/* Define as 1 if we don't have an unsigned __int128 type */\n#define MMDB_UINT128_IS_BYTE_ARRAY 1\n#endif\n\n#endif                          /* MAXMINDDB_CONFIG_H */\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/libmaxminddb/maxminddb_unions.c",
    "content": "//\n//  maxminddb_unions.c\n//  MMDB\n//\n//  Created by Lex on 12/17/15.\n//  Copyright © 2017 lexrus.com. All rights reserved.\n//\n\n#include \"maxminddb_unions.h\"\n\nconst char *MMDB_get_entry_data_char(MMDB_entry_data_s *ptr) {\n    return ptr->utf8_string;\n}\n\nuint32_t *MMDB_get_entry_data_uint32(MMDB_entry_data_s *ptr) {\n    return &ptr->uint32;\n}\n\nbool MMDB_get_entry_data_bool(MMDB_entry_data_s *ptr) {\n    return ptr->boolean;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Sources/libmaxminddb/maxminddb_unions.h",
    "content": "//\n//  maxminddb_unions.h\n//  MMDB\n//\n//  Created by Lex on 12/17/15.\n//  Copyright © 2017 lexrus.com. All rights reserved.\n//\n\n#ifndef maxminddb_unions_h\n#define maxminddb_unions_h\n\n#include <stdio.h>\n#include \"maxminddb.h\"\n\nconst char *MMDB_get_entry_data_char(MMDB_entry_data_s *ptr);\nuint32_t *MMDB_get_entry_data_uint32(MMDB_entry_data_s *ptr);\nbool MMDB_get_entry_data_bool(MMDB_entry_data_s *ptr);\n\n\n#endif /* maxminddb_unions_h */\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Tests/MMDBTests/Info-OSX.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Tests/MMDBTests/Info-iOS.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/Tests/MMDBTests/MMDBTests.swift",
    "content": "import XCTest\nimport MMDB\n\nclass MMDBTests: XCTestCase {\n    var database: MMDB!\n    \n    override func setUp() {\n        super.setUp()\n        database = MMDB()\n    }\n\n    func testExample() {\n        XCTAssertEqual(database.lookup(\"202.108.22.220\")?.isoCode, \"CN\")\n    }\n\n    func testCloudFlare() {\n        let cloudflareDNS = database.lookup(\"1.1.1.1\")\n        XCTAssertNotNil(cloudflareDNS)\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/MMDB-Swift/update_database.sh",
    "content": "#!/usr/bin/env sh\n\nset -e\n\necho \"Updating GeoIP database.\"\n\ntmpfile=$(mktemp)\ntmpdir=$(mktemp -d)\n\ncurl -L -o $tmpfile http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz\n\ntar -xzf $tmpfile -C $tmpdir\n\nfind $tmpdir -type f -exec mv {} $tmpdir \\;\n\nmv $tmpdir/GeoLite2-Country.mmdb $(dirname $0)/Sources/libmaxminddb/\n\necho \"Updated GeoIP database.\"\n\n\n\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/README.md",
    "content": "# Sodium-framework\nlibsodium as a framework for iOS and macOS.\n\nThis repository provides the [libsodium](https://github.com/jedisct1/libsodium) as a framework which can be simply imported to your project by adding `zhuhaow/Sodium-framework` to your `Cartfile`.\n\nBinary files are compiled with `dist-build/osx.sh` and `dist-build/ios.sh` in the official [libsodium](https://github.com/jedisct1/libsodium) repository.\n\nThere is no wrapper, no Objective-c or Swift helper, just the C interface.\n\n\n## License\n\nISC License\n\nCopyright (c) 2013-2016\nFrank Denis <j at pureftpd dot org>\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/Sodium.h",
    "content": "//\n//  Sodium.h\n//  Sodium\n//\n//  Created by Zhuhao Wang on 7/3/16.\n//  Copyright © 2016 Zhuhao Wang. All rights reserved.\n//\n\n#import <Foundation/Foundation.h>\n#import \"sodium-lib.h\"\n\n//! Project version number for Sodium.\nFOUNDATION_EXPORT double SodiumVersionNumber;\n\n//! Project version string for Sodium.\nFOUNDATION_EXPORT const unsigned char SodiumVersionString[];\n\n// In this header, you should import all the public headers of your framework using statements like #import <Sodium/PublicHeader.h>\n\n\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/core.h",
    "content": "\n#ifndef sodium_core_H\n#define sodium_core_H\n\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nSODIUM_EXPORT\nint sodium_init(void)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_aead_aes256gcm.h",
    "content": "#ifndef crypto_aead_aes256gcm_H\n#define crypto_aead_aes256gcm_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_is_available(void);\n\n#define crypto_aead_aes256gcm_KEYBYTES  32U\nSODIUM_EXPORT\nsize_t crypto_aead_aes256gcm_keybytes(void);\n\n#define crypto_aead_aes256gcm_NSECBYTES 0U\nSODIUM_EXPORT\nsize_t crypto_aead_aes256gcm_nsecbytes(void);\n\n#define crypto_aead_aes256gcm_NPUBBYTES 12U\nSODIUM_EXPORT\nsize_t crypto_aead_aes256gcm_npubbytes(void);\n\n#define crypto_aead_aes256gcm_ABYTES    16U\nSODIUM_EXPORT\nsize_t crypto_aead_aes256gcm_abytes(void);\n\ntypedef CRYPTO_ALIGN(16) unsigned char crypto_aead_aes256gcm_state[512];\nSODIUM_EXPORT\nsize_t crypto_aead_aes256gcm_statebytes(void);\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_encrypt(unsigned char *c,\n                                  unsigned long long *clen_p,\n                                  const unsigned char *m,\n                                  unsigned long long mlen,\n                                  const unsigned char *ad,\n                                  unsigned long long adlen,\n                                  const unsigned char *nsec,\n                                  const unsigned char *npub,\n                                  const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_decrypt(unsigned char *m,\n                                  unsigned long long *mlen_p,\n                                  unsigned char *nsec,\n                                  const unsigned char *c,\n                                  unsigned long long clen,\n                                  const unsigned char *ad,\n                                  unsigned long long adlen,\n                                  const unsigned char *npub,\n                                  const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_encrypt_detached(unsigned char *c,\n                                           unsigned char *mac,\n                                           unsigned long long *maclen_p,\n                                           const unsigned char *m,\n                                           unsigned long long mlen,\n                                           const unsigned char *ad,\n                                           unsigned long long adlen,\n                                           const unsigned char *nsec,\n                                           const unsigned char *npub,\n                                           const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_decrypt_detached(unsigned char *m,\n                                           unsigned char *nsec,\n                                           const unsigned char *c,\n                                           unsigned long long clen,\n                                           const unsigned char *mac,\n                                           const unsigned char *ad,\n                                           unsigned long long adlen,\n                                           const unsigned char *npub,\n                                           const unsigned char *k)\n        __attribute__ ((warn_unused_result));\n\n/* -- Precomputation interface -- */\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *ctx_,\n                                   const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c,\n                                          unsigned long long *clen_p,\n                                          const unsigned char *m,\n                                          unsigned long long mlen,\n                                          const unsigned char *ad,\n                                          unsigned long long adlen,\n                                          const unsigned char *nsec,\n                                          const unsigned char *npub,\n                                          const crypto_aead_aes256gcm_state *ctx_);\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m,\n                                          unsigned long long *mlen_p,\n                                          unsigned char *nsec,\n                                          const unsigned char *c,\n                                          unsigned long long clen,\n                                          const unsigned char *ad,\n                                          unsigned long long adlen,\n                                          const unsigned char *npub,\n                                          const crypto_aead_aes256gcm_state *ctx_)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c,\n                                                   unsigned char *mac,\n                                                   unsigned long long *maclen_p,\n                                                   const unsigned char *m,\n                                                   unsigned long long mlen,\n                                                   const unsigned char *ad,\n                                                   unsigned long long adlen,\n                                                   const unsigned char *nsec,\n                                                   const unsigned char *npub,\n                                                   const crypto_aead_aes256gcm_state *ctx_);\n\nSODIUM_EXPORT\nint crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m,\n                                                   unsigned char *nsec,\n                                                   const unsigned char *c,\n                                                   unsigned long long clen,\n                                                   const unsigned char *mac,\n                                                   const unsigned char *ad,\n                                                   unsigned long long adlen,\n                                                   const unsigned char *npub,\n                                                   const crypto_aead_aes256gcm_state *ctx_)\n        __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_aead_chacha20poly1305.h",
    "content": "#ifndef crypto_aead_chacha20poly1305_H\n#define crypto_aead_chacha20poly1305_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n/* -- IETF ChaCha20-Poly1305 construction with a 96-bit nonce and a 32-bit internal counter -- */\n\n#define crypto_aead_chacha20poly1305_ietf_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_aead_chacha20poly1305_ietf_keybytes(void);\n\n#define crypto_aead_chacha20poly1305_ietf_NSECBYTES 0U\nSODIUM_EXPORT\nsize_t crypto_aead_chacha20poly1305_ietf_nsecbytes(void);\n\n#define crypto_aead_chacha20poly1305_ietf_NPUBBYTES 12U\n\nSODIUM_EXPORT\nsize_t crypto_aead_chacha20poly1305_ietf_npubbytes(void);\n\n#define crypto_aead_chacha20poly1305_ietf_ABYTES 16U\nSODIUM_EXPORT\nsize_t crypto_aead_chacha20poly1305_ietf_abytes(void);\n\nSODIUM_EXPORT\nint crypto_aead_chacha20poly1305_ietf_encrypt(unsigned char *c,\n                                              unsigned long long *clen_p,\n                                              const unsigned char *m,\n                                              unsigned long long mlen,\n                                              const unsigned char *ad,\n                                              unsigned long long adlen,\n                                              const unsigned char *nsec,\n                                              const unsigned char *npub,\n                                              const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_aead_chacha20poly1305_ietf_decrypt(unsigned char *m,\n                                              unsigned long long *mlen_p,\n                                              unsigned char *nsec,\n                                              const unsigned char *c,\n                                              unsigned long long clen,\n                                              const unsigned char *ad,\n                                              unsigned long long adlen,\n                                              const unsigned char *npub,\n                                              const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_aead_chacha20poly1305_ietf_encrypt_detached(unsigned char *c,\n                                                       unsigned char *mac,\n                                                       unsigned long long *maclen_p,\n                                                       const unsigned char *m,\n                                                       unsigned long long mlen,\n                                                       const unsigned char *ad,\n                                                       unsigned long long adlen,\n                                                       const unsigned char *nsec,\n                                                       const unsigned char *npub,\n                                                       const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_aead_chacha20poly1305_ietf_decrypt_detached(unsigned char *m,\n                                                       unsigned char *nsec,\n                                                       const unsigned char *c,\n                                                       unsigned long long clen,\n                                                       const unsigned char *mac,\n                                                       const unsigned char *ad,\n                                                       unsigned long long adlen,\n                                                       const unsigned char *npub,\n                                                       const unsigned char *k)\n        __attribute__ ((warn_unused_result));\n\n/* -- Original ChaCha20-Poly1305 construction with a 64-bit nonce and a 64-bit internal counter -- */\n\n#define crypto_aead_chacha20poly1305_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_aead_chacha20poly1305_keybytes(void);\n\n#define crypto_aead_chacha20poly1305_NSECBYTES 0U\nSODIUM_EXPORT\nsize_t crypto_aead_chacha20poly1305_nsecbytes(void);\n\n#define crypto_aead_chacha20poly1305_NPUBBYTES 8U\nSODIUM_EXPORT\nsize_t crypto_aead_chacha20poly1305_npubbytes(void);\n\n#define crypto_aead_chacha20poly1305_ABYTES 16U\nSODIUM_EXPORT\nsize_t crypto_aead_chacha20poly1305_abytes(void);\n\nSODIUM_EXPORT\nint crypto_aead_chacha20poly1305_encrypt(unsigned char *c,\n                                         unsigned long long *clen_p,\n                                         const unsigned char *m,\n                                         unsigned long long mlen,\n                                         const unsigned char *ad,\n                                         unsigned long long adlen,\n                                         const unsigned char *nsec,\n                                         const unsigned char *npub,\n                                         const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_aead_chacha20poly1305_decrypt(unsigned char *m,\n                                         unsigned long long *mlen_p,\n                                         unsigned char *nsec,\n                                         const unsigned char *c,\n                                         unsigned long long clen,\n                                         const unsigned char *ad,\n                                         unsigned long long adlen,\n                                         const unsigned char *npub,\n                                         const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_aead_chacha20poly1305_encrypt_detached(unsigned char *c,\n                                                  unsigned char *mac,\n                                                  unsigned long long *maclen_p,\n                                                  const unsigned char *m,\n                                                  unsigned long long mlen,\n                                                  const unsigned char *ad,\n                                                  unsigned long long adlen,\n                                                  const unsigned char *nsec,\n                                                  const unsigned char *npub,\n                                                  const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_aead_chacha20poly1305_decrypt_detached(unsigned char *m,\n                                                  unsigned char *nsec,\n                                                  const unsigned char *c,\n                                                  unsigned long long clen,\n                                                  const unsigned char *mac,\n                                                  const unsigned char *ad,\n                                                  unsigned long long adlen,\n                                                  const unsigned char *npub,\n                                                  const unsigned char *k)\n        __attribute__ ((warn_unused_result));\n\n/* Aliases */\n\n#define crypto_aead_chacha20poly1305_IETF_KEYBYTES  crypto_aead_chacha20poly1305_ietf_KEYBYTES\n#define crypto_aead_chacha20poly1305_IETF_NSECBYTES crypto_aead_chacha20poly1305_ietf_NSECBYTES\n#define crypto_aead_chacha20poly1305_IETF_NPUBBYTES crypto_aead_chacha20poly1305_ietf_NPUBBYTES\n#define crypto_aead_chacha20poly1305_IETF_ABYTES    crypto_aead_chacha20poly1305_ietf_ABYTES\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_auth.h",
    "content": "#ifndef crypto_auth_H\n#define crypto_auth_H\n\n#include <stddef.h>\n\n#include \"crypto_auth_hmacsha512256.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_auth_BYTES crypto_auth_hmacsha512256_BYTES\nSODIUM_EXPORT\nsize_t  crypto_auth_bytes(void);\n\n#define crypto_auth_KEYBYTES crypto_auth_hmacsha512256_KEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_auth_keybytes(void);\n\n#define crypto_auth_PRIMITIVE \"hmacsha512256\"\nSODIUM_EXPORT\nconst char *crypto_auth_primitive(void);\n\nSODIUM_EXPORT\nint crypto_auth(unsigned char *out, const unsigned char *in,\n                unsigned long long inlen, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_auth_verify(const unsigned char *h, const unsigned char *in,\n                       unsigned long long inlen, const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_auth_hmacsha256.h",
    "content": "#ifndef crypto_auth_hmacsha256_H\n#define crypto_auth_hmacsha256_H\n\n#include <stddef.h>\n#include \"crypto_hash_sha256.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_auth_hmacsha256_BYTES 32U\nSODIUM_EXPORT\nsize_t crypto_auth_hmacsha256_bytes(void);\n\n#define crypto_auth_hmacsha256_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_auth_hmacsha256_keybytes(void);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha256(unsigned char *out,\n                           const unsigned char *in,\n                           unsigned long long inlen,\n                           const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha256_verify(const unsigned char *h,\n                                  const unsigned char *in,\n                                  unsigned long long inlen,\n                                  const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\n/* ------------------------------------------------------------------------- */\n\ntypedef struct crypto_auth_hmacsha256_state {\n    crypto_hash_sha256_state ictx;\n    crypto_hash_sha256_state octx;\n} crypto_auth_hmacsha256_state;\nSODIUM_EXPORT\nsize_t crypto_auth_hmacsha256_statebytes(void);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha256_init(crypto_auth_hmacsha256_state *state,\n                                const unsigned char *key,\n                                size_t keylen);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha256_update(crypto_auth_hmacsha256_state *state,\n                                  const unsigned char *in,\n                                  unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha256_final(crypto_auth_hmacsha256_state *state,\n                                 unsigned char *out);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_auth_hmacsha512.h",
    "content": "#ifndef crypto_auth_hmacsha512_H\n#define crypto_auth_hmacsha512_H\n\n#include <stddef.h>\n#include \"crypto_hash_sha512.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_auth_hmacsha512_BYTES 64U\nSODIUM_EXPORT\nsize_t crypto_auth_hmacsha512_bytes(void);\n\n#define crypto_auth_hmacsha512_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_auth_hmacsha512_keybytes(void);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512(unsigned char *out,\n                           const unsigned char *in,\n                           unsigned long long inlen,\n                           const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512_verify(const unsigned char *h,\n                                  const unsigned char *in,\n                                  unsigned long long inlen,\n                                  const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\n/* ------------------------------------------------------------------------- */\n\ntypedef struct crypto_auth_hmacsha512_state {\n    crypto_hash_sha512_state ictx;\n    crypto_hash_sha512_state octx;\n} crypto_auth_hmacsha512_state;\nSODIUM_EXPORT\nsize_t crypto_auth_hmacsha512_statebytes(void);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512_init(crypto_auth_hmacsha512_state *state,\n                                const unsigned char *key,\n                                size_t keylen);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512_update(crypto_auth_hmacsha512_state *state,\n                                  const unsigned char *in,\n                                  unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512_final(crypto_auth_hmacsha512_state *state,\n                                 unsigned char *out);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_auth_hmacsha512256.h",
    "content": "#ifndef crypto_auth_hmacsha512256_H\n#define crypto_auth_hmacsha512256_H\n\n#include <stddef.h>\n#include \"crypto_auth_hmacsha512.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_auth_hmacsha512256_BYTES 32U\nSODIUM_EXPORT\nsize_t crypto_auth_hmacsha512256_bytes(void);\n\n#define crypto_auth_hmacsha512256_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_auth_hmacsha512256_keybytes(void);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512256(unsigned char *out, const unsigned char *in,\n                              unsigned long long inlen,const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512256_verify(const unsigned char *h,\n                                     const unsigned char *in,\n                                     unsigned long long inlen,\n                                     const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\n/* ------------------------------------------------------------------------- */\n\ntypedef crypto_auth_hmacsha512_state crypto_auth_hmacsha512256_state;\nSODIUM_EXPORT\nsize_t crypto_auth_hmacsha512256_statebytes(void);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state,\n                                   const unsigned char *key,\n                                   size_t keylen);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state,\n                                     const unsigned char *in,\n                                     unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state,\n                                    unsigned char *out);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_box.h",
    "content": "#ifndef crypto_box_H\n#define crypto_box_H\n\n/*\n * THREAD SAFETY: crypto_box_keypair() is thread-safe,\n * provided that you called sodium_init() once before using any\n * other libsodium function.\n * Other functions are always thread-safe.\n */\n\n#include <stddef.h>\n\n#include \"crypto_box_curve25519xsalsa20poly1305.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_box_SEEDBYTES crypto_box_curve25519xsalsa20poly1305_SEEDBYTES\nSODIUM_EXPORT\nsize_t  crypto_box_seedbytes(void);\n\n#define crypto_box_PUBLICKEYBYTES crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_box_publickeybytes(void);\n\n#define crypto_box_SECRETKEYBYTES crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_box_secretkeybytes(void);\n\n#define crypto_box_NONCEBYTES crypto_box_curve25519xsalsa20poly1305_NONCEBYTES\nSODIUM_EXPORT\nsize_t  crypto_box_noncebytes(void);\n\n#define crypto_box_MACBYTES crypto_box_curve25519xsalsa20poly1305_MACBYTES\nSODIUM_EXPORT\nsize_t  crypto_box_macbytes(void);\n\n#define crypto_box_PRIMITIVE \"curve25519xsalsa20poly1305\"\nSODIUM_EXPORT\nconst char *crypto_box_primitive(void);\n\nSODIUM_EXPORT\nint crypto_box_seed_keypair(unsigned char *pk, unsigned char *sk,\n                            const unsigned char *seed);\n\nSODIUM_EXPORT\nint crypto_box_keypair(unsigned char *pk, unsigned char *sk);\n\nSODIUM_EXPORT\nint crypto_box_easy(unsigned char *c, const unsigned char *m,\n                    unsigned long long mlen, const unsigned char *n,\n                    const unsigned char *pk, const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_open_easy(unsigned char *m, const unsigned char *c,\n                         unsigned long long clen, const unsigned char *n,\n                         const unsigned char *pk, const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_detached(unsigned char *c, unsigned char *mac,\n                        const unsigned char *m, unsigned long long mlen,\n                        const unsigned char *n, const unsigned char *pk,\n                        const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_open_detached(unsigned char *m, const unsigned char *c,\n                             const unsigned char *mac,\n                             unsigned long long clen,\n                             const unsigned char *n,\n                             const unsigned char *pk,\n                             const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\n/* -- Precomputation interface -- */\n\n#define crypto_box_BEFORENMBYTES crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES\nSODIUM_EXPORT\nsize_t  crypto_box_beforenmbytes(void);\n\nSODIUM_EXPORT\nint crypto_box_beforenm(unsigned char *k, const unsigned char *pk,\n                        const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_easy_afternm(unsigned char *c, const unsigned char *m,\n                            unsigned long long mlen, const unsigned char *n,\n                            const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_box_open_easy_afternm(unsigned char *m, const unsigned char *c,\n                                 unsigned long long clen, const unsigned char *n,\n                                 const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_detached_afternm(unsigned char *c, unsigned char *mac,\n                                const unsigned char *m, unsigned long long mlen,\n                                const unsigned char *n, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_box_open_detached_afternm(unsigned char *m, const unsigned char *c,\n                                     const unsigned char *mac,\n                                     unsigned long long clen, const unsigned char *n,\n                                     const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\n/* -- Ephemeral SK interface -- */\n\n#define crypto_box_SEALBYTES (crypto_box_PUBLICKEYBYTES + crypto_box_MACBYTES)\nSODIUM_EXPORT\nsize_t crypto_box_sealbytes(void);\n\nSODIUM_EXPORT\nint crypto_box_seal(unsigned char *c, const unsigned char *m,\n                    unsigned long long mlen, const unsigned char *pk);\n\nSODIUM_EXPORT\nint crypto_box_seal_open(unsigned char *m, const unsigned char *c,\n                         unsigned long long clen,\n                         const unsigned char *pk, const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\n/* -- NaCl compatibility interface ; Requires padding -- */\n\n#define crypto_box_ZEROBYTES crypto_box_curve25519xsalsa20poly1305_ZEROBYTES\nSODIUM_EXPORT\nsize_t  crypto_box_zerobytes(void);\n\n#define crypto_box_BOXZEROBYTES crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES\nSODIUM_EXPORT\nsize_t  crypto_box_boxzerobytes(void);\n\nSODIUM_EXPORT\nint crypto_box(unsigned char *c, const unsigned char *m,\n               unsigned long long mlen, const unsigned char *n,\n               const unsigned char *pk, const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_open(unsigned char *m, const unsigned char *c,\n                    unsigned long long clen, const unsigned char *n,\n                    const unsigned char *pk, const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_afternm(unsigned char *c, const unsigned char *m,\n                       unsigned long long mlen, const unsigned char *n,\n                       const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_box_open_afternm(unsigned char *m, const unsigned char *c,\n                            unsigned long long clen, const unsigned char *n,\n                            const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_box_curve25519xsalsa20poly1305.h",
    "content": "#ifndef crypto_box_curve25519xsalsa20poly1305_H\n#define crypto_box_curve25519xsalsa20poly1305_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_box_curve25519xsalsa20poly1305_SEEDBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_box_curve25519xsalsa20poly1305_seedbytes(void);\n\n#define crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_box_curve25519xsalsa20poly1305_publickeybytes(void);\n\n#define crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_box_curve25519xsalsa20poly1305_secretkeybytes(void);\n\n#define crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_box_curve25519xsalsa20poly1305_beforenmbytes(void);\n\n#define crypto_box_curve25519xsalsa20poly1305_NONCEBYTES 24U\nSODIUM_EXPORT\nsize_t crypto_box_curve25519xsalsa20poly1305_noncebytes(void);\n\n#define crypto_box_curve25519xsalsa20poly1305_MACBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_box_curve25519xsalsa20poly1305_macbytes(void);\n\n#define crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_box_curve25519xsalsa20poly1305_boxzerobytes(void);\n\n#define crypto_box_curve25519xsalsa20poly1305_ZEROBYTES \\\n    (crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES + \\\n     crypto_box_curve25519xsalsa20poly1305_MACBYTES)\nSODIUM_EXPORT\nsize_t crypto_box_curve25519xsalsa20poly1305_zerobytes(void);\n\nSODIUM_EXPORT\nint crypto_box_curve25519xsalsa20poly1305(unsigned char *c,\n                                          const unsigned char *m,\n                                          unsigned long long mlen,\n                                          const unsigned char *n,\n                                          const unsigned char *pk,\n                                          const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_curve25519xsalsa20poly1305_open(unsigned char *m,\n                                               const unsigned char *c,\n                                               unsigned long long clen,\n                                               const unsigned char *n,\n                                               const unsigned char *pk,\n                                               const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_curve25519xsalsa20poly1305_seed_keypair(unsigned char *pk,\n                                                       unsigned char *sk,\n                                                       const unsigned char *seed);\n\nSODIUM_EXPORT\nint crypto_box_curve25519xsalsa20poly1305_keypair(unsigned char *pk,\n                                                  unsigned char *sk);\n\nSODIUM_EXPORT\nint crypto_box_curve25519xsalsa20poly1305_beforenm(unsigned char *k,\n                                                   const unsigned char *pk,\n                                                   const unsigned char *sk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_box_curve25519xsalsa20poly1305_afternm(unsigned char *c,\n                                                  const unsigned char *m,\n                                                  unsigned long long mlen,\n                                                  const unsigned char *n,\n                                                  const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_box_curve25519xsalsa20poly1305_open_afternm(unsigned char *m,\n                                                       const unsigned char *c,\n                                                       unsigned long long clen,\n                                                       const unsigned char *n,\n                                                       const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_core_hchacha20.h",
    "content": "#ifndef crypto_core_hchacha20_H\n#define crypto_core_hchacha20_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_core_hchacha20_OUTPUTBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_core_hchacha20_outputbytes(void);\n\n#define crypto_core_hchacha20_INPUTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_hchacha20_inputbytes(void);\n\n#define crypto_core_hchacha20_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_core_hchacha20_keybytes(void);\n\n#define crypto_core_hchacha20_CONSTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_hchacha20_constbytes(void);\n\nSODIUM_EXPORT\nint crypto_core_hchacha20(unsigned char *out, const unsigned char *in,\n                          const unsigned char *k, const unsigned char *c);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_core_hsalsa20.h",
    "content": "#ifndef crypto_core_hsalsa20_H\n#define crypto_core_hsalsa20_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_core_hsalsa20_OUTPUTBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_core_hsalsa20_outputbytes(void);\n\n#define crypto_core_hsalsa20_INPUTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_hsalsa20_inputbytes(void);\n\n#define crypto_core_hsalsa20_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_core_hsalsa20_keybytes(void);\n\n#define crypto_core_hsalsa20_CONSTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_hsalsa20_constbytes(void);\n\nSODIUM_EXPORT\nint crypto_core_hsalsa20(unsigned char *out, const unsigned char *in,\n                         const unsigned char *k, const unsigned char *c);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_core_salsa20.h",
    "content": "#ifndef crypto_core_salsa20_H\n#define crypto_core_salsa20_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_core_salsa20_OUTPUTBYTES 64U\nSODIUM_EXPORT\nsize_t crypto_core_salsa20_outputbytes(void);\n\n#define crypto_core_salsa20_INPUTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_salsa20_inputbytes(void);\n\n#define crypto_core_salsa20_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_core_salsa20_keybytes(void);\n\n#define crypto_core_salsa20_CONSTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_salsa20_constbytes(void);\n\nSODIUM_EXPORT\nint crypto_core_salsa20(unsigned char *out, const unsigned char *in,\n                        const unsigned char *k, const unsigned char *c);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_core_salsa2012.h",
    "content": "#ifndef crypto_core_salsa2012_H\n#define crypto_core_salsa2012_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_core_salsa2012_OUTPUTBYTES 64U\nSODIUM_EXPORT\nsize_t crypto_core_salsa2012_outputbytes(void);\n\n#define crypto_core_salsa2012_INPUTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_salsa2012_inputbytes(void);\n\n#define crypto_core_salsa2012_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_core_salsa2012_keybytes(void);\n\n#define crypto_core_salsa2012_CONSTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_salsa2012_constbytes(void);\n\nSODIUM_EXPORT\nint crypto_core_salsa2012(unsigned char *out, const unsigned char *in,\n                          const unsigned char *k, const unsigned char *c);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_core_salsa208.h",
    "content": "#ifndef crypto_core_salsa208_H\n#define crypto_core_salsa208_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_core_salsa208_OUTPUTBYTES 64U\nSODIUM_EXPORT\nsize_t crypto_core_salsa208_outputbytes(void);\n\n#define crypto_core_salsa208_INPUTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_salsa208_inputbytes(void);\n\n#define crypto_core_salsa208_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_core_salsa208_keybytes(void);\n\n#define crypto_core_salsa208_CONSTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_core_salsa208_constbytes(void);\n\nSODIUM_EXPORT\nint crypto_core_salsa208(unsigned char *out, const unsigned char *in,\n                         const unsigned char *k, const unsigned char *c);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_generichash.h",
    "content": "#ifndef crypto_generichash_H\n#define crypto_generichash_H\n\n#include <stddef.h>\n\n#include \"crypto_generichash_blake2b.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_generichash_BYTES_MIN crypto_generichash_blake2b_BYTES_MIN\nSODIUM_EXPORT\nsize_t  crypto_generichash_bytes_min(void);\n\n#define crypto_generichash_BYTES_MAX crypto_generichash_blake2b_BYTES_MAX\nSODIUM_EXPORT\nsize_t  crypto_generichash_bytes_max(void);\n\n#define crypto_generichash_BYTES crypto_generichash_blake2b_BYTES\nSODIUM_EXPORT\nsize_t  crypto_generichash_bytes(void);\n\n#define crypto_generichash_KEYBYTES_MIN crypto_generichash_blake2b_KEYBYTES_MIN\nSODIUM_EXPORT\nsize_t  crypto_generichash_keybytes_min(void);\n\n#define crypto_generichash_KEYBYTES_MAX crypto_generichash_blake2b_KEYBYTES_MAX\nSODIUM_EXPORT\nsize_t  crypto_generichash_keybytes_max(void);\n\n#define crypto_generichash_KEYBYTES crypto_generichash_blake2b_KEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_generichash_keybytes(void);\n\n#define crypto_generichash_PRIMITIVE \"blake2b\"\nSODIUM_EXPORT\nconst char *crypto_generichash_primitive(void);\n\ntypedef crypto_generichash_blake2b_state crypto_generichash_state;\nSODIUM_EXPORT\nsize_t  crypto_generichash_statebytes(void);\n\nSODIUM_EXPORT\nint crypto_generichash(unsigned char *out, size_t outlen,\n                       const unsigned char *in, unsigned long long inlen,\n                       const unsigned char *key, size_t keylen);\n\nSODIUM_EXPORT\nint crypto_generichash_init(crypto_generichash_state *state,\n                            const unsigned char *key,\n                            const size_t keylen, const size_t outlen);\n\nSODIUM_EXPORT\nint crypto_generichash_update(crypto_generichash_state *state,\n                              const unsigned char *in,\n                              unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_generichash_final(crypto_generichash_state *state,\n                             unsigned char *out, const size_t outlen);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_generichash_blake2b.h",
    "content": "#ifndef crypto_generichash_blake2b_H\n#define crypto_generichash_blake2b_H\n\n#include <stddef.h>\n#include <stdint.h>\n#include <stdlib.h>\n\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)\n# pragma pack(1)\n#else\n# pragma pack(push, 1)\n#endif\n\ntypedef CRYPTO_ALIGN(64) struct crypto_generichash_blake2b_state {\n    uint64_t h[8];\n    uint64_t t[2];\n    uint64_t f[2];\n    uint8_t  buf[2 * 128];\n    size_t   buflen;\n    uint8_t  last_node;\n} crypto_generichash_blake2b_state;\n\n#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)\n# pragma pack()\n#else\n# pragma pack(pop)\n#endif\n\n#define crypto_generichash_blake2b_BYTES_MIN     16U\nSODIUM_EXPORT\nsize_t crypto_generichash_blake2b_bytes_min(void);\n\n#define crypto_generichash_blake2b_BYTES_MAX     64U\nSODIUM_EXPORT\nsize_t crypto_generichash_blake2b_bytes_max(void);\n\n#define crypto_generichash_blake2b_BYTES         32U\nSODIUM_EXPORT\nsize_t crypto_generichash_blake2b_bytes(void);\n\n#define crypto_generichash_blake2b_KEYBYTES_MIN  16U\nSODIUM_EXPORT\nsize_t crypto_generichash_blake2b_keybytes_min(void);\n\n#define crypto_generichash_blake2b_KEYBYTES_MAX  64U\nSODIUM_EXPORT\nsize_t crypto_generichash_blake2b_keybytes_max(void);\n\n#define crypto_generichash_blake2b_KEYBYTES      32U\nSODIUM_EXPORT\nsize_t crypto_generichash_blake2b_keybytes(void);\n\n#define crypto_generichash_blake2b_SALTBYTES     16U\nSODIUM_EXPORT\nsize_t crypto_generichash_blake2b_saltbytes(void);\n\n#define crypto_generichash_blake2b_PERSONALBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_generichash_blake2b_personalbytes(void);\n\nSODIUM_EXPORT\nsize_t crypto_generichash_blake2b_statebytes(void);\n\nSODIUM_EXPORT\nint crypto_generichash_blake2b(unsigned char *out, size_t outlen,\n                               const unsigned char *in,\n                               unsigned long long inlen,\n                               const unsigned char *key, size_t keylen);\n\nSODIUM_EXPORT\nint crypto_generichash_blake2b_salt_personal(unsigned char *out, size_t outlen,\n                                             const unsigned char *in,\n                                             unsigned long long inlen,\n                                             const unsigned char *key,\n                                             size_t keylen,\n                                             const unsigned char *salt,\n                                             const unsigned char *personal);\n\nSODIUM_EXPORT\nint crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state,\n                                    const unsigned char *key,\n                                    const size_t keylen, const size_t outlen);\n\nSODIUM_EXPORT\nint crypto_generichash_blake2b_init_salt_personal(crypto_generichash_blake2b_state *state,\n                                                  const unsigned char *key,\n                                                  const size_t keylen, const size_t outlen,\n                                                  const unsigned char *salt,\n                                                  const unsigned char *personal);\n\nSODIUM_EXPORT\nint crypto_generichash_blake2b_update(crypto_generichash_blake2b_state *state,\n                                      const unsigned char *in,\n                                      unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_generichash_blake2b_final(crypto_generichash_blake2b_state *state,\n                                     unsigned char *out,\n                                     const size_t outlen);\n\n/* ------------------------------------------------------------------------- */\n\nint _crypto_generichash_blake2b_pick_best_implementation(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_hash.h",
    "content": "#ifndef crypto_hash_H\n#define crypto_hash_H\n\n/*\n * WARNING: Unless you absolutely need to use SHA512 for interoperatibility,\n * purposes, you might want to consider crypto_generichash() instead.\n * Unlike SHA512, crypto_generichash() is not vulnerable to length\n * extension attacks.\n */\n\n#include <stddef.h>\n\n#include \"crypto_hash_sha512.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_hash_BYTES crypto_hash_sha512_BYTES\nSODIUM_EXPORT\nsize_t crypto_hash_bytes(void);\n\nSODIUM_EXPORT\nint crypto_hash(unsigned char *out, const unsigned char *in,\n                unsigned long long inlen);\n\n#define crypto_hash_PRIMITIVE \"sha512\"\nSODIUM_EXPORT\nconst char *crypto_hash_primitive(void)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_hash_sha256.h",
    "content": "#ifndef crypto_hash_sha256_H\n#define crypto_hash_sha256_H\n\n/*\n * WARNING: Unless you absolutely need to use SHA256 for interoperatibility,\n * purposes, you might want to consider crypto_generichash() instead.\n * Unlike SHA256, crypto_generichash() is not vulnerable to length\n * extension attacks.\n */\n\n#include <stddef.h>\n#include <stdint.h>\n#include <stdlib.h>\n\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\ntypedef struct crypto_hash_sha256_state {\n    uint32_t      state[8];\n    uint64_t      count;\n    unsigned char buf[64];\n} crypto_hash_sha256_state;\nSODIUM_EXPORT\nsize_t crypto_hash_sha256_statebytes(void);\n\n#define crypto_hash_sha256_BYTES 32U\nSODIUM_EXPORT\nsize_t crypto_hash_sha256_bytes(void);\n\nSODIUM_EXPORT\nint crypto_hash_sha256(unsigned char *out, const unsigned char *in,\n                       unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_hash_sha256_init(crypto_hash_sha256_state *state);\n\nSODIUM_EXPORT\nint crypto_hash_sha256_update(crypto_hash_sha256_state *state,\n                              const unsigned char *in,\n                              unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_hash_sha256_final(crypto_hash_sha256_state *state,\n                             unsigned char *out);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_hash_sha512.h",
    "content": "#ifndef crypto_hash_sha512_H\n#define crypto_hash_sha512_H\n\n/*\n * WARNING: Unless you absolutely need to use SHA512 for interoperatibility,\n * purposes, you might want to consider crypto_generichash() instead.\n * Unlike SHA512, crypto_generichash() is not vulnerable to length\n * extension attacks.\n */\n\n#include <stddef.h>\n#include <stdint.h>\n#include <stdlib.h>\n\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\ntypedef struct crypto_hash_sha512_state {\n    uint64_t      state[8];\n    uint64_t      count[2];\n    unsigned char buf[128];\n} crypto_hash_sha512_state;\nSODIUM_EXPORT\nsize_t crypto_hash_sha512_statebytes(void);\n\n#define crypto_hash_sha512_BYTES 64U\nSODIUM_EXPORT\nsize_t crypto_hash_sha512_bytes(void);\n\nSODIUM_EXPORT\nint crypto_hash_sha512(unsigned char *out, const unsigned char *in,\n                       unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_hash_sha512_init(crypto_hash_sha512_state *state);\n\nSODIUM_EXPORT\nint crypto_hash_sha512_update(crypto_hash_sha512_state *state,\n                              const unsigned char *in,\n                              unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_hash_sha512_final(crypto_hash_sha512_state *state,\n                             unsigned char *out);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_int32.h",
    "content": "#ifndef crypto_int32_H\n#define crypto_int32_H\n\n#include <stdint.h>\n\ntypedef int32_t crypto_int32;\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_int64.h",
    "content": "#ifndef crypto_int64_H\n#define crypto_int64_H\n\n#include <stdint.h>\n\ntypedef int64_t crypto_int64;\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_onetimeauth.h",
    "content": "#ifndef crypto_onetimeauth_H\n#define crypto_onetimeauth_H\n\n#include <stddef.h>\n\n#include \"crypto_onetimeauth_poly1305.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\ntypedef crypto_onetimeauth_poly1305_state crypto_onetimeauth_state;\nSODIUM_EXPORT\nsize_t  crypto_onetimeauth_statebytes(void);\n\n#define crypto_onetimeauth_BYTES crypto_onetimeauth_poly1305_BYTES\nSODIUM_EXPORT\nsize_t  crypto_onetimeauth_bytes(void);\n\n#define crypto_onetimeauth_KEYBYTES crypto_onetimeauth_poly1305_KEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_onetimeauth_keybytes(void);\n\n#define crypto_onetimeauth_PRIMITIVE \"poly1305\"\nSODIUM_EXPORT\nconst char *crypto_onetimeauth_primitive(void);\n\nSODIUM_EXPORT\nint crypto_onetimeauth(unsigned char *out, const unsigned char *in,\n                       unsigned long long inlen, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_onetimeauth_verify(const unsigned char *h, const unsigned char *in,\n                              unsigned long long inlen, const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_onetimeauth_init(crypto_onetimeauth_state *state,\n                            const unsigned char *key);\n\nSODIUM_EXPORT\nint crypto_onetimeauth_update(crypto_onetimeauth_state *state,\n                              const unsigned char *in,\n                              unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_onetimeauth_final(crypto_onetimeauth_state *state,\n                             unsigned char *out);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_onetimeauth_poly1305.h",
    "content": "#ifndef crypto_onetimeauth_poly1305_H\n#define crypto_onetimeauth_poly1305_H\n\n#include <stdlib.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#include <sys/types.h>\n\n#include <stdint.h>\n#include <stdio.h>\n\ntypedef CRYPTO_ALIGN(16) struct crypto_onetimeauth_poly1305_state {\n    unsigned char opaque[256];\n} crypto_onetimeauth_poly1305_state;\n\n#define crypto_onetimeauth_poly1305_BYTES 16U\nSODIUM_EXPORT\nsize_t crypto_onetimeauth_poly1305_bytes(void);\n\n#define crypto_onetimeauth_poly1305_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_onetimeauth_poly1305_keybytes(void);\n\nSODIUM_EXPORT\nint crypto_onetimeauth_poly1305(unsigned char *out,\n                                const unsigned char *in,\n                                unsigned long long inlen,\n                                const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_onetimeauth_poly1305_verify(const unsigned char *h,\n                                       const unsigned char *in,\n                                       unsigned long long inlen,\n                                       const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_onetimeauth_poly1305_init(crypto_onetimeauth_poly1305_state *state,\n                                     const unsigned char *key);\n\nSODIUM_EXPORT\nint crypto_onetimeauth_poly1305_update(crypto_onetimeauth_poly1305_state *state,\n                                       const unsigned char *in,\n                                       unsigned long long inlen);\n\nSODIUM_EXPORT\nint crypto_onetimeauth_poly1305_final(crypto_onetimeauth_poly1305_state *state,\n                                      unsigned char *out);\n\n/* ------------------------------------------------------------------------- */\n\nint _crypto_onetimeauth_poly1305_pick_best_implementation(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_pwhash.h",
    "content": "#ifndef crypto_pwhash_H\n#define crypto_pwhash_H\n\n#include <stddef.h>\n\n#include \"crypto_pwhash_argon2i.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_pwhash_ALG_ARGON2I13 crypto_pwhash_argon2i_ALG_ARGON2I13\nSODIUM_EXPORT\nint crypto_pwhash_alg_argon2i13(void);\n\n#define crypto_pwhash_ALG_DEFAULT crypto_pwhash_ALG_ARGON2I13\nSODIUM_EXPORT\nint crypto_pwhash_alg_default(void);\n\n#define crypto_pwhash_SALTBYTES crypto_pwhash_argon2i_SALTBYTES\nSODIUM_EXPORT\nsize_t crypto_pwhash_saltbytes(void);\n\n#define crypto_pwhash_STRBYTES crypto_pwhash_argon2i_STRBYTES\nSODIUM_EXPORT\nsize_t crypto_pwhash_strbytes(void);\n\n#define crypto_pwhash_STRPREFIX crypto_pwhash_argon2i_STRPREFIX\nSODIUM_EXPORT\nconst char *crypto_pwhash_strprefix(void);\n\n#define crypto_pwhash_OPSLIMIT_INTERACTIVE crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE\nSODIUM_EXPORT\nsize_t crypto_pwhash_opslimit_interactive(void);\n\n#define crypto_pwhash_MEMLIMIT_INTERACTIVE crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE\nSODIUM_EXPORT\nsize_t crypto_pwhash_memlimit_interactive(void);\n\n#define crypto_pwhash_OPSLIMIT_MODERATE crypto_pwhash_argon2i_OPSLIMIT_MODERATE\nSODIUM_EXPORT\nsize_t crypto_pwhash_opslimit_moderate(void);\n\n#define crypto_pwhash_MEMLIMIT_MODERATE crypto_pwhash_argon2i_MEMLIMIT_MODERATE\nSODIUM_EXPORT\nsize_t crypto_pwhash_memlimit_moderate(void);\n\n#define crypto_pwhash_OPSLIMIT_SENSITIVE crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE\nSODIUM_EXPORT\nsize_t crypto_pwhash_opslimit_sensitive(void);\n\n#define crypto_pwhash_MEMLIMIT_SENSITIVE crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE\nSODIUM_EXPORT\nsize_t crypto_pwhash_memlimit_sensitive(void);\n\nSODIUM_EXPORT\nint crypto_pwhash(unsigned char * const out, unsigned long long outlen,\n                  const char * const passwd, unsigned long long passwdlen,\n                  const unsigned char * const salt,\n                  unsigned long long opslimit, size_t memlimit, int alg)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_pwhash_str(char out[crypto_pwhash_STRBYTES],\n                      const char * const passwd, unsigned long long passwdlen,\n                      unsigned long long opslimit, size_t memlimit)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_pwhash_str_verify(const char str[crypto_pwhash_STRBYTES],\n                             const char * const passwd,\n                             unsigned long long passwdlen)\n            __attribute__ ((warn_unused_result));\n\n#define crypto_pwhash_PRIMITIVE \"argon2i\"\nSODIUM_EXPORT\nconst char *crypto_pwhash_primitive(void)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_pwhash_argon2i.h",
    "content": "#ifndef crypto_pwhash_argon2i_H\n#define crypto_pwhash_argon2i_H\n\n#include <stddef.h>\n\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_pwhash_argon2i_ALG_ARGON2I13 1\nSODIUM_EXPORT\nint crypto_pwhash_argon2i_alg_argon2i13(void);\n\n#define crypto_pwhash_argon2i_SALTBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_pwhash_argon2i_saltbytes(void);\n\n#define crypto_pwhash_argon2i_STRBYTES 128U\nSODIUM_EXPORT\nsize_t crypto_pwhash_argon2i_strbytes(void);\n\n#define crypto_pwhash_argon2i_STRPREFIX \"$argon2i$\"\nSODIUM_EXPORT\nconst char *crypto_pwhash_argon2i_strprefix(void);\n\n#define crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE 4ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_argon2i_opslimit_interactive(void);\n\n#define crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE 33554432ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_argon2i_memlimit_interactive(void);\n\n#define crypto_pwhash_argon2i_OPSLIMIT_MODERATE 6ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_argon2i_opslimit_moderate(void);\n\n#define crypto_pwhash_argon2i_MEMLIMIT_MODERATE 134217728ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_argon2i_memlimit_moderate(void);\n\n#define crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE 8ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_argon2i_opslimit_sensitive(void);\n\n#define crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE 536870912ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_argon2i_memlimit_sensitive(void);\n\nSODIUM_EXPORT\nint crypto_pwhash_argon2i(unsigned char * const out,\n                          unsigned long long outlen,\n                          const char * const passwd,\n                          unsigned long long passwdlen,\n                          const unsigned char * const salt,\n                          unsigned long long opslimit, size_t memlimit,\n                          int alg)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_pwhash_argon2i_str(char out[crypto_pwhash_argon2i_STRBYTES],\n                              const char * const passwd,\n                              unsigned long long passwdlen,\n                              unsigned long long opslimit, size_t memlimit)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_pwhash_argon2i_str_verify(const char str[crypto_pwhash_argon2i_STRBYTES],\n                                     const char * const passwd,\n                                     unsigned long long passwdlen)\n            __attribute__ ((warn_unused_result));\n\n/* ------------------------------------------------------------------------- */\n\nint _crypto_pwhash_argon2i_pick_best_implementation(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_pwhash_scryptsalsa208sha256.h",
    "content": "#ifndef crypto_pwhash_scryptsalsa208sha256_H\n#define crypto_pwhash_scryptsalsa208sha256_H\n\n#include <stddef.h>\n#include <stdint.h>\n\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_pwhash_scryptsalsa208sha256_SALTBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_pwhash_scryptsalsa208sha256_saltbytes(void);\n\n#define crypto_pwhash_scryptsalsa208sha256_STRBYTES 102U\nSODIUM_EXPORT\nsize_t crypto_pwhash_scryptsalsa208sha256_strbytes(void);\n\n#define crypto_pwhash_scryptsalsa208sha256_STRPREFIX \"$7$\"\nSODIUM_EXPORT\nconst char *crypto_pwhash_scryptsalsa208sha256_strprefix(void);\n\n#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE 524288ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_scryptsalsa208sha256_opslimit_interactive(void);\n\n#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE 16777216ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_scryptsalsa208sha256_memlimit_interactive(void);\n\n#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE 33554432ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive(void);\n\n#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE 1073741824ULL\nSODIUM_EXPORT\nsize_t crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive(void);\n\nSODIUM_EXPORT\nint crypto_pwhash_scryptsalsa208sha256(unsigned char * const out,\n                                       unsigned long long outlen,\n                                       const char * const passwd,\n                                       unsigned long long passwdlen,\n                                       const unsigned char * const salt,\n                                       unsigned long long opslimit,\n                                       size_t memlimit)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_pwhash_scryptsalsa208sha256_str(char out[crypto_pwhash_scryptsalsa208sha256_STRBYTES],\n                                           const char * const passwd,\n                                           unsigned long long passwdlen,\n                                           unsigned long long opslimit,\n                                           size_t memlimit)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_pwhash_scryptsalsa208sha256_str_verify(const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES],\n                                                  const char * const passwd,\n                                                  unsigned long long passwdlen)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_pwhash_scryptsalsa208sha256_ll(const uint8_t * passwd, size_t passwdlen,\n                                          const uint8_t * salt, size_t saltlen,\n                                          uint64_t N, uint32_t r, uint32_t p,\n                                          uint8_t * buf, size_t buflen)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_scalarmult.h",
    "content": "#ifndef crypto_scalarmult_H\n#define crypto_scalarmult_H\n\n#include <stddef.h>\n\n#include \"crypto_scalarmult_curve25519.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_scalarmult_BYTES crypto_scalarmult_curve25519_BYTES\nSODIUM_EXPORT\nsize_t  crypto_scalarmult_bytes(void);\n\n#define crypto_scalarmult_SCALARBYTES crypto_scalarmult_curve25519_SCALARBYTES\nSODIUM_EXPORT\nsize_t  crypto_scalarmult_scalarbytes(void);\n\n#define crypto_scalarmult_PRIMITIVE \"curve25519\"\nSODIUM_EXPORT\nconst char *crypto_scalarmult_primitive(void);\n\nSODIUM_EXPORT\nint crypto_scalarmult_base(unsigned char *q, const unsigned char *n);\n\nSODIUM_EXPORT\nint crypto_scalarmult(unsigned char *q, const unsigned char *n,\n                      const unsigned char *p)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_scalarmult_curve25519.h",
    "content": "#ifndef crypto_scalarmult_curve25519_H\n#define crypto_scalarmult_curve25519_H\n\n#include <stddef.h>\n\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_scalarmult_curve25519_BYTES 32U\nSODIUM_EXPORT\nsize_t crypto_scalarmult_curve25519_bytes(void);\n\n#define crypto_scalarmult_curve25519_SCALARBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_scalarmult_curve25519_scalarbytes(void);\n\nSODIUM_EXPORT\nint crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n,\n                                 const unsigned char *p)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_scalarmult_curve25519_base(unsigned char *q, const unsigned char *n);\n\n/* ------------------------------------------------------------------------- */\n\nint _crypto_scalarmult_curve25519_pick_best_implementation(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_secretbox.h",
    "content": "#ifndef crypto_secretbox_H\n#define crypto_secretbox_H\n\n#include <stddef.h>\n\n#include \"crypto_secretbox_xsalsa20poly1305.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_secretbox_KEYBYTES crypto_secretbox_xsalsa20poly1305_KEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_secretbox_keybytes(void);\n\n#define crypto_secretbox_NONCEBYTES crypto_secretbox_xsalsa20poly1305_NONCEBYTES\nSODIUM_EXPORT\nsize_t  crypto_secretbox_noncebytes(void);\n\n#define crypto_secretbox_MACBYTES crypto_secretbox_xsalsa20poly1305_MACBYTES\nSODIUM_EXPORT\nsize_t  crypto_secretbox_macbytes(void);\n\n#define crypto_secretbox_PRIMITIVE \"xsalsa20poly1305\"\nSODIUM_EXPORT\nconst char *crypto_secretbox_primitive(void);\n\nSODIUM_EXPORT\nint crypto_secretbox_easy(unsigned char *c, const unsigned char *m,\n                          unsigned long long mlen, const unsigned char *n,\n                          const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_secretbox_open_easy(unsigned char *m, const unsigned char *c,\n                               unsigned long long clen, const unsigned char *n,\n                               const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_secretbox_detached(unsigned char *c, unsigned char *mac,\n                              const unsigned char *m,\n                              unsigned long long mlen,\n                              const unsigned char *n,\n                              const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_secretbox_open_detached(unsigned char *m,\n                                   const unsigned char *c,\n                                   const unsigned char *mac,\n                                   unsigned long long clen,\n                                   const unsigned char *n,\n                                   const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\n/* -- NaCl compatibility interface ; Requires padding -- */\n\n#define crypto_secretbox_ZEROBYTES crypto_secretbox_xsalsa20poly1305_ZEROBYTES\nSODIUM_EXPORT\nsize_t  crypto_secretbox_zerobytes(void);\n\n#define crypto_secretbox_BOXZEROBYTES crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES\nSODIUM_EXPORT\nsize_t  crypto_secretbox_boxzerobytes(void);\n\nSODIUM_EXPORT\nint crypto_secretbox(unsigned char *c, const unsigned char *m,\n                     unsigned long long mlen, const unsigned char *n,\n                     const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_secretbox_open(unsigned char *m, const unsigned char *c,\n                          unsigned long long clen, const unsigned char *n,\n                          const unsigned char *k)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_secretbox_xsalsa20poly1305.h",
    "content": "#ifndef crypto_secretbox_xsalsa20poly1305_H\n#define crypto_secretbox_xsalsa20poly1305_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_secretbox_xsalsa20poly1305_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_secretbox_xsalsa20poly1305_keybytes(void);\n\n#define crypto_secretbox_xsalsa20poly1305_NONCEBYTES 24U\nSODIUM_EXPORT\nsize_t crypto_secretbox_xsalsa20poly1305_noncebytes(void);\n\n#define crypto_secretbox_xsalsa20poly1305_MACBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_secretbox_xsalsa20poly1305_macbytes(void);\n\n#define crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_secretbox_xsalsa20poly1305_boxzerobytes(void);\n\n#define crypto_secretbox_xsalsa20poly1305_ZEROBYTES \\\n    (crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES + \\\n     crypto_secretbox_xsalsa20poly1305_MACBYTES)\nSODIUM_EXPORT\nsize_t crypto_secretbox_xsalsa20poly1305_zerobytes(void);\n\nSODIUM_EXPORT\nint crypto_secretbox_xsalsa20poly1305(unsigned char *c,\n                                      const unsigned char *m,\n                                      unsigned long long mlen,\n                                      const unsigned char *n,\n                                      const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_secretbox_xsalsa20poly1305_open(unsigned char *m,\n                                           const unsigned char *c,\n                                           unsigned long long clen,\n                                           const unsigned char *n,\n                                           const unsigned char *k);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_shorthash.h",
    "content": "#ifndef crypto_shorthash_H\n#define crypto_shorthash_H\n\n#include <stddef.h>\n\n#include \"crypto_shorthash_siphash24.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_shorthash_BYTES crypto_shorthash_siphash24_BYTES\nSODIUM_EXPORT\nsize_t  crypto_shorthash_bytes(void);\n\n#define crypto_shorthash_KEYBYTES crypto_shorthash_siphash24_KEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_shorthash_keybytes(void);\n\n#define crypto_shorthash_PRIMITIVE \"siphash24\"\nSODIUM_EXPORT\nconst char *crypto_shorthash_primitive(void);\n\nSODIUM_EXPORT\nint crypto_shorthash(unsigned char *out, const unsigned char *in,\n                     unsigned long long inlen, const unsigned char *k);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_shorthash_siphash24.h",
    "content": "#ifndef crypto_shorthash_siphash24_H\n#define crypto_shorthash_siphash24_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_shorthash_siphash24_BYTES 8U\nSODIUM_EXPORT\nsize_t crypto_shorthash_siphash24_bytes(void);\n\n#define crypto_shorthash_siphash24_KEYBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_shorthash_siphash24_keybytes(void);\n\nSODIUM_EXPORT\nint crypto_shorthash_siphash24(unsigned char *out, const unsigned char *in,\n                               unsigned long long inlen, const unsigned char *k);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_sign.h",
    "content": "#ifndef crypto_sign_H\n#define crypto_sign_H\n\n/*\n * THREAD SAFETY: crypto_sign_keypair() is thread-safe,\n * provided that you called sodium_init() once before using any\n * other libsodium function.\n * Other functions, including crypto_sign_seed_keypair() are always thread-safe.\n */\n\n#include <stddef.h>\n\n#include \"crypto_sign_ed25519.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_sign_BYTES crypto_sign_ed25519_BYTES\nSODIUM_EXPORT\nsize_t  crypto_sign_bytes(void);\n\n#define crypto_sign_SEEDBYTES crypto_sign_ed25519_SEEDBYTES\nSODIUM_EXPORT\nsize_t  crypto_sign_seedbytes(void);\n\n#define crypto_sign_PUBLICKEYBYTES crypto_sign_ed25519_PUBLICKEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_sign_publickeybytes(void);\n\n#define crypto_sign_SECRETKEYBYTES crypto_sign_ed25519_SECRETKEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_sign_secretkeybytes(void);\n\n#define crypto_sign_PRIMITIVE \"ed25519\"\nSODIUM_EXPORT\nconst char *crypto_sign_primitive(void);\n\nSODIUM_EXPORT\nint crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk,\n                             const unsigned char *seed);\n\nSODIUM_EXPORT\nint crypto_sign_keypair(unsigned char *pk, unsigned char *sk);\n\nSODIUM_EXPORT\nint crypto_sign(unsigned char *sm, unsigned long long *smlen_p,\n                const unsigned char *m, unsigned long long mlen,\n                const unsigned char *sk);\n\nSODIUM_EXPORT\nint crypto_sign_open(unsigned char *m, unsigned long long *mlen_p,\n                     const unsigned char *sm, unsigned long long smlen,\n                     const unsigned char *pk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_sign_detached(unsigned char *sig, unsigned long long *siglen_p,\n                         const unsigned char *m, unsigned long long mlen,\n                         const unsigned char *sk);\n\nSODIUM_EXPORT\nint crypto_sign_verify_detached(const unsigned char *sig,\n                                const unsigned char *m,\n                                unsigned long long mlen,\n                                const unsigned char *pk)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_sign_ed25519.h",
    "content": "#ifndef crypto_sign_ed25519_H\n#define crypto_sign_ed25519_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_sign_ed25519_BYTES 64U\nSODIUM_EXPORT\nsize_t crypto_sign_ed25519_bytes(void);\n\n#define crypto_sign_ed25519_SEEDBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_sign_ed25519_seedbytes(void);\n\n#define crypto_sign_ed25519_PUBLICKEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_sign_ed25519_publickeybytes(void);\n\n#define crypto_sign_ed25519_SECRETKEYBYTES (32U + 32U)\nSODIUM_EXPORT\nsize_t crypto_sign_ed25519_secretkeybytes(void);\n\nSODIUM_EXPORT\nint crypto_sign_ed25519(unsigned char *sm, unsigned long long *smlen_p,\n                        const unsigned char *m, unsigned long long mlen,\n                        const unsigned char *sk);\n\nSODIUM_EXPORT\nint crypto_sign_ed25519_open(unsigned char *m, unsigned long long *mlen_p,\n                             const unsigned char *sm, unsigned long long smlen,\n                             const unsigned char *pk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_sign_ed25519_detached(unsigned char *sig,\n                                 unsigned long long *siglen_p,\n                                 const unsigned char *m,\n                                 unsigned long long mlen,\n                                 const unsigned char *sk);\n\nSODIUM_EXPORT\nint crypto_sign_ed25519_verify_detached(const unsigned char *sig,\n                                        const unsigned char *m,\n                                        unsigned long long mlen,\n                                        const unsigned char *pk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_sign_ed25519_keypair(unsigned char *pk, unsigned char *sk);\n\nSODIUM_EXPORT\nint crypto_sign_ed25519_seed_keypair(unsigned char *pk, unsigned char *sk,\n                                     const unsigned char *seed);\n\nSODIUM_EXPORT\nint crypto_sign_ed25519_pk_to_curve25519(unsigned char *curve25519_pk,\n                                         const unsigned char *ed25519_pk)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint crypto_sign_ed25519_sk_to_curve25519(unsigned char *curve25519_sk,\n                                         const unsigned char *ed25519_sk);\n\nSODIUM_EXPORT\nint crypto_sign_ed25519_sk_to_seed(unsigned char *seed,\n                                   const unsigned char *sk);\n\nSODIUM_EXPORT\nint crypto_sign_ed25519_sk_to_pk(unsigned char *pk, const unsigned char *sk);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_sign_edwards25519sha512batch.h",
    "content": "#ifndef crypto_sign_edwards25519sha512batch_H\n#define crypto_sign_edwards25519sha512batch_H\n\n/*\n * WARNING: This construction was a prototype, which should not be used\n * any more in new projects.\n *\n * crypto_sign_edwards25519sha512batch is provided for applications\n * initially built with NaCl, but as recommended by the author of this\n * construction, new applications should use ed25519 instead.\n *\n * In Sodium, you should use the high-level crypto_sign_*() functions instead.\n */\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_sign_edwards25519sha512batch_BYTES 64U\n#define crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES 32U\n#define crypto_sign_edwards25519sha512batch_SECRETKEYBYTES (32U + 32U)\n\nSODIUM_EXPORT\nint crypto_sign_edwards25519sha512batch(unsigned char *sm,\n                                        unsigned long long *smlen_p,\n                                        const unsigned char *m,\n                                        unsigned long long mlen,\n                                        const unsigned char *sk)\n       __attribute__ ((deprecated));\n\nSODIUM_EXPORT\nint crypto_sign_edwards25519sha512batch_open(unsigned char *m,\n                                             unsigned long long *mlen_p,\n                                             const unsigned char *sm,\n                                             unsigned long long smlen,\n                                             const unsigned char *pk)\n       __attribute__ ((deprecated));\n\nSODIUM_EXPORT\nint crypto_sign_edwards25519sha512batch_keypair(unsigned char *pk,\n                                                unsigned char *sk)\n       __attribute__ ((deprecated));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_stream.h",
    "content": "#ifndef crypto_stream_H\n#define crypto_stream_H\n\n/*\n *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.\n *  While it provides some protection against eavesdropping, it does NOT\n *  provide any security against active attacks.\n *  Unless you know what you're doing, what you are looking for is probably\n *  the crypto_box functions.\n */\n\n#include <stddef.h>\n\n#include \"crypto_stream_xsalsa20.h\"\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_stream_KEYBYTES crypto_stream_xsalsa20_KEYBYTES\nSODIUM_EXPORT\nsize_t  crypto_stream_keybytes(void);\n\n#define crypto_stream_NONCEBYTES crypto_stream_xsalsa20_NONCEBYTES\nSODIUM_EXPORT\nsize_t  crypto_stream_noncebytes(void);\n\n#define crypto_stream_PRIMITIVE \"xsalsa20\"\nSODIUM_EXPORT\nconst char *crypto_stream_primitive(void);\n\nSODIUM_EXPORT\nint crypto_stream(unsigned char *c, unsigned long long clen,\n                  const unsigned char *n, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_xor(unsigned char *c, const unsigned char *m,\n                      unsigned long long mlen, const unsigned char *n,\n                      const unsigned char *k);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_stream_aes128ctr.h",
    "content": "#ifndef crypto_stream_aes128ctr_H\n#define crypto_stream_aes128ctr_H\n\n/*\n *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.\n *  While it provides some protection against eavesdropping, it does NOT\n *  provide any security against active attacks.\n *  Unless you know what you're doing, what you are looking for is probably\n *  the crypto_box functions.\n */\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_stream_aes128ctr_KEYBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_stream_aes128ctr_keybytes(void);\n\n#define crypto_stream_aes128ctr_NONCEBYTES 16U\nSODIUM_EXPORT\nsize_t crypto_stream_aes128ctr_noncebytes(void);\n\n#define crypto_stream_aes128ctr_BEFORENMBYTES 1408U\nSODIUM_EXPORT\nsize_t crypto_stream_aes128ctr_beforenmbytes(void);\n\nSODIUM_EXPORT\nint crypto_stream_aes128ctr(unsigned char *out, unsigned long long outlen,\n                            const unsigned char *n, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_aes128ctr_xor(unsigned char *out, const unsigned char *in,\n                                unsigned long long inlen, const unsigned char *n,\n                                const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_aes128ctr_beforenm(unsigned char *c, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_aes128ctr_afternm(unsigned char *out, unsigned long long len,\n                                    const unsigned char *nonce, const unsigned char *c);\n\nSODIUM_EXPORT\nint crypto_stream_aes128ctr_xor_afternm(unsigned char *out, const unsigned char *in,\n                                        unsigned long long len,\n                                        const unsigned char *nonce,\n                                        const unsigned char *c);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_stream_chacha20.h",
    "content": "#ifndef crypto_stream_chacha20_H\n#define crypto_stream_chacha20_H\n\n/*\n *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.\n *  While it provides some protection against eavesdropping, it does NOT\n *  provide any security against active attacks.\n *  Unless you know what you're doing, what you are looking for is probably\n *  the crypto_box functions.\n */\n\n#include <stddef.h>\n#include <stdint.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_stream_chacha20_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_stream_chacha20_keybytes(void);\n\n#define crypto_stream_chacha20_NONCEBYTES 8U\nSODIUM_EXPORT\nsize_t crypto_stream_chacha20_noncebytes(void);\n\n/* ChaCha20 with a 64-bit nonce and a 64-bit counter, as originally designed */\n\nSODIUM_EXPORT\nint crypto_stream_chacha20(unsigned char *c, unsigned long long clen,\n                           const unsigned char *n, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_chacha20_xor(unsigned char *c, const unsigned char *m,\n                               unsigned long long mlen, const unsigned char *n,\n                               const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_chacha20_xor_ic(unsigned char *c, const unsigned char *m,\n                                  unsigned long long mlen,\n                                  const unsigned char *n, uint64_t ic,\n                                  const unsigned char *k);\n\n/* ChaCha20 with a 96-bit nonce and a 32-bit counter (IETF) */\n\n#define crypto_stream_chacha20_IETF_NONCEBYTES 12U\nSODIUM_EXPORT\nsize_t crypto_stream_chacha20_ietf_noncebytes(void);\n\nSODIUM_EXPORT\nint crypto_stream_chacha20_ietf(unsigned char *c, unsigned long long clen,\n                                const unsigned char *n, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_chacha20_ietf_xor(unsigned char *c, const unsigned char *m,\n                                    unsigned long long mlen, const unsigned char *n,\n                                    const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_chacha20_ietf_xor_ic(unsigned char *c, const unsigned char *m,\n                                       unsigned long long mlen,\n                                       const unsigned char *n, uint32_t ic,\n                                       const unsigned char *k);\n\n/* ------------------------------------------------------------------------- */\n\nint _crypto_stream_chacha20_pick_best_implementation(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_stream_salsa20.h",
    "content": "#ifndef crypto_stream_salsa20_H\n#define crypto_stream_salsa20_H\n\n/*\n *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.\n *  While it provides some protection against eavesdropping, it does NOT\n *  provide any security against active attacks.\n *  Unless you know what you're doing, what you are looking for is probably\n *  the crypto_box functions.\n */\n\n#include <stddef.h>\n#include <stdint.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_stream_salsa20_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_stream_salsa20_keybytes(void);\n\n#define crypto_stream_salsa20_NONCEBYTES 8U\nSODIUM_EXPORT\nsize_t crypto_stream_salsa20_noncebytes(void);\n\nSODIUM_EXPORT\nint crypto_stream_salsa20(unsigned char *c, unsigned long long clen,\n                          const unsigned char *n, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_salsa20_xor(unsigned char *c, const unsigned char *m,\n                              unsigned long long mlen, const unsigned char *n,\n                              const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_salsa20_xor_ic(unsigned char *c, const unsigned char *m,\n                                 unsigned long long mlen,\n                                 const unsigned char *n, uint64_t ic,\n                                 const unsigned char *k);\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_stream_salsa2012.h",
    "content": "#ifndef crypto_stream_salsa2012_H\n#define crypto_stream_salsa2012_H\n\n/*\n *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.\n *  While it provides some protection against eavesdropping, it does NOT\n *  provide any security against active attacks.\n *  Unless you know what you're doing, what you are looking for is probably\n *  the crypto_box functions.\n */\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_stream_salsa2012_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_stream_salsa2012_keybytes(void);\n\n#define crypto_stream_salsa2012_NONCEBYTES 8U\nSODIUM_EXPORT\nsize_t crypto_stream_salsa2012_noncebytes(void);\n\nSODIUM_EXPORT\nint crypto_stream_salsa2012(unsigned char *c, unsigned long long clen,\n                            const unsigned char *n, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_salsa2012_xor(unsigned char *c, const unsigned char *m,\n                                unsigned long long mlen, const unsigned char *n,\n                                const unsigned char *k);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_stream_salsa208.h",
    "content": "#ifndef crypto_stream_salsa208_H\n#define crypto_stream_salsa208_H\n\n/*\n *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.\n *  While it provides some protection against eavesdropping, it does NOT\n *  provide any security against active attacks.\n *  Unless you know what you're doing, what you are looking for is probably\n *  the crypto_box functions.\n */\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_stream_salsa208_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_stream_salsa208_keybytes(void);\n\n#define crypto_stream_salsa208_NONCEBYTES 8U\nSODIUM_EXPORT\nsize_t crypto_stream_salsa208_noncebytes(void);\n\nSODIUM_EXPORT\nint crypto_stream_salsa208(unsigned char *c, unsigned long long clen,\n                           const unsigned char *n, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_salsa208_xor(unsigned char *c, const unsigned char *m,\n                               unsigned long long mlen, const unsigned char *n,\n                               const unsigned char *k);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_stream_xsalsa20.h",
    "content": "#ifndef crypto_stream_xsalsa20_H\n#define crypto_stream_xsalsa20_H\n\n/*\n *  WARNING: This is just a stream cipher. It is NOT authenticated encryption.\n *  While it provides some protection against eavesdropping, it does NOT\n *  provide any security against active attacks.\n *  Unless you know what you're doing, what you are looking for is probably\n *  the crypto_box functions.\n */\n\n#include <stddef.h>\n#include <stdint.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\n#define crypto_stream_xsalsa20_KEYBYTES 32U\nSODIUM_EXPORT\nsize_t crypto_stream_xsalsa20_keybytes(void);\n\n#define crypto_stream_xsalsa20_NONCEBYTES 24U\nSODIUM_EXPORT\nsize_t crypto_stream_xsalsa20_noncebytes(void);\n\nSODIUM_EXPORT\nint crypto_stream_xsalsa20(unsigned char *c, unsigned long long clen,\n                           const unsigned char *n, const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_xsalsa20_xor(unsigned char *c, const unsigned char *m,\n                               unsigned long long mlen, const unsigned char *n,\n                               const unsigned char *k);\n\nSODIUM_EXPORT\nint crypto_stream_xsalsa20_xor_ic(unsigned char *c, const unsigned char *m,\n                                  unsigned long long mlen,\n                                  const unsigned char *n, uint64_t ic,\n                                  const unsigned char *k);\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_uint16.h",
    "content": "#ifndef crypto_uint16_H\n#define crypto_uint16_H\n\n#include <stdint.h>\n\ntypedef uint16_t crypto_uint16;\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_uint32.h",
    "content": "#ifndef crypto_uint32_H\n#define crypto_uint32_H\n\n#include <stdint.h>\n\ntypedef uint32_t crypto_uint32;\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_uint64.h",
    "content": "#ifndef crypto_uint64_H\n#define crypto_uint64_H\n\n#include <stdint.h>\n\ntypedef uint64_t crypto_uint64;\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_uint8.h",
    "content": "#ifndef crypto_uint8_H\n#define crypto_uint8_H\n\n#include <stdint.h>\n\ntypedef uint8_t crypto_uint8;\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_verify_16.h",
    "content": "#ifndef crypto_verify_16_H\n#define crypto_verify_16_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_verify_16_BYTES 16U\nSODIUM_EXPORT\nsize_t crypto_verify_16_bytes(void);\n\nSODIUM_EXPORT\nint crypto_verify_16(const unsigned char *x, const unsigned char *y)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_verify_32.h",
    "content": "#ifndef crypto_verify_32_H\n#define crypto_verify_32_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_verify_32_BYTES 32U\nSODIUM_EXPORT\nsize_t crypto_verify_32_bytes(void);\n\nSODIUM_EXPORT\nint crypto_verify_32(const unsigned char *x, const unsigned char *y)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/crypto_verify_64.h",
    "content": "#ifndef crypto_verify_64_H\n#define crypto_verify_64_H\n\n#include <stddef.h>\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define crypto_verify_64_BYTES 64U\nSODIUM_EXPORT\nsize_t crypto_verify_64_bytes(void);\n\nSODIUM_EXPORT\nint crypto_verify_64(const unsigned char *x, const unsigned char *y)\n            __attribute__ ((warn_unused_result));\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/export.h",
    "content": "\n#ifndef sodium_export_H\n#define sodium_export_H\n\n#ifndef __GNUC__\n# ifdef __attribute__\n#  undef __attribute__\n# endif\n# define __attribute__(a)\n#endif\n\n#ifdef SODIUM_STATIC\n# define SODIUM_EXPORT\n#else\n# if defined(_MSC_VER)\n#  ifdef SODIUM_DLL_EXPORT\n#   define SODIUM_EXPORT __declspec(dllexport)\n#  else\n#   define SODIUM_EXPORT __declspec(dllimport)\n#  endif\n# else\n#  if defined(__SUNPRO_C)\n#   ifndef __GNU_C__\n#    define SODIUM_EXPORT __attribute__ (visibility(__global))\n#   else\n#    define SODIUM_EXPORT __attribute__ __global\n#   endif\n#  elif defined(_MSG_VER)\n#   define SODIUM_EXPORT extern __declspec(dllexport)\n#  else\n#   define SODIUM_EXPORT __attribute__ ((visibility (\"default\")))\n#  endif\n# endif\n#endif\n\n#ifndef CRYPTO_ALIGN\n# if defined(__INTEL_COMPILER) || defined(_MSC_VER)\n#  define CRYPTO_ALIGN(x) __declspec(align(x))\n# else\n#  define CRYPTO_ALIGN(x) __attribute__ ((aligned(x)))\n# endif\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/randombytes.h",
    "content": "\n#ifndef randombytes_H\n#define randombytes_H\n\n#include <sys/types.h>\n\n#include <stddef.h>\n#include <stdint.h>\n\n#include \"export.h\"\n\n#ifdef __cplusplus\n# if __GNUC__\n#  pragma GCC diagnostic ignored \"-Wlong-long\"\n# endif\nextern \"C\" {\n#endif\n\ntypedef struct randombytes_implementation {\n    const char *(*implementation_name)(void); /* required */\n    uint32_t    (*random)(void);              /* required */\n    void        (*stir)(void);                /* optional */\n    uint32_t    (*uniform)(const uint32_t upper_bound); /* optional, a default implementation will be used if NULL */\n    void        (*buf)(void * const buf, const size_t size); /* required */\n    int         (*close)(void);               /* optional */\n} randombytes_implementation;\n\nSODIUM_EXPORT\nvoid randombytes_buf(void * const buf, const size_t size);\n\nSODIUM_EXPORT\nuint32_t randombytes_random(void);\n\nSODIUM_EXPORT\nuint32_t randombytes_uniform(const uint32_t upper_bound);\n\nSODIUM_EXPORT\nvoid randombytes_stir(void);\n\nSODIUM_EXPORT\nint randombytes_close(void);\n\nSODIUM_EXPORT\nint randombytes_set_implementation(randombytes_implementation *impl);\n\nSODIUM_EXPORT\nconst char *randombytes_implementation_name(void);\n\n/* -- NaCl compatibility interface -- */\n\nSODIUM_EXPORT\nvoid randombytes(unsigned char * const buf, const unsigned long long buf_len);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/randombytes_salsa20_random.h",
    "content": "\n#ifndef randombytes_salsa20_random_H\n#define randombytes_salsa20_random_H\n\n#include \"export.h\"\n#include \"randombytes.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nSODIUM_EXPORT\nextern struct randombytes_implementation randombytes_salsa20_implementation;\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/randombytes_sysrandom.h",
    "content": "\n#ifndef randombytes_sysrandom_H\n#define randombytes_sysrandom_H\n\n#include \"export.h\"\n#include \"randombytes.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nSODIUM_EXPORT\nextern struct randombytes_implementation randombytes_sysrandom_implementation;\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/runtime.h",
    "content": "\n#ifndef sodium_runtime_H\n#define sodium_runtime_H\n\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nSODIUM_EXPORT\nint sodium_runtime_has_neon(void);\n\nSODIUM_EXPORT\nint sodium_runtime_has_sse2(void);\n\nSODIUM_EXPORT\nint sodium_runtime_has_sse3(void);\n\nSODIUM_EXPORT\nint sodium_runtime_has_ssse3(void);\n\nSODIUM_EXPORT\nint sodium_runtime_has_sse41(void);\n\nSODIUM_EXPORT\nint sodium_runtime_has_avx(void);\n\nSODIUM_EXPORT\nint sodium_runtime_has_avx2(void);\n\nSODIUM_EXPORT\nint sodium_runtime_has_pclmul(void);\n\nSODIUM_EXPORT\nint sodium_runtime_has_aesni(void);\n\n/* ------------------------------------------------------------------------- */\n\nint _sodium_runtime_get_cpu_features(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/sodium-lib.h",
    "content": "\n#ifndef sodium_H\n#define sodium_H\n\n#include \"core.h\"\n#include \"crypto_aead_aes256gcm.h\"\n#include \"crypto_aead_chacha20poly1305.h\"\n#include \"crypto_auth.h\"\n#include \"crypto_auth_hmacsha256.h\"\n#include \"crypto_auth_hmacsha512.h\"\n#include \"crypto_auth_hmacsha512256.h\"\n#include \"crypto_box.h\"\n#include \"crypto_box_curve25519xsalsa20poly1305.h\"\n#include \"crypto_core_hsalsa20.h\"\n#include \"crypto_core_hchacha20.h\"\n#include \"crypto_core_salsa20.h\"\n#include \"crypto_core_salsa2012.h\"\n#include \"crypto_core_salsa208.h\"\n#include \"crypto_generichash.h\"\n#include \"crypto_generichash_blake2b.h\"\n#include \"crypto_hash.h\"\n#include \"crypto_hash_sha256.h\"\n#include \"crypto_hash_sha512.h\"\n#include \"crypto_onetimeauth.h\"\n#include \"crypto_onetimeauth_poly1305.h\"\n#include \"crypto_pwhash.h\"\n#include \"crypto_pwhash_argon2i.h\"\n#include \"crypto_pwhash_scryptsalsa208sha256.h\"\n#include \"crypto_scalarmult.h\"\n#include \"crypto_scalarmult_curve25519.h\"\n#include \"crypto_secretbox.h\"\n#include \"crypto_secretbox_xsalsa20poly1305.h\"\n#include \"crypto_shorthash.h\"\n#include \"crypto_shorthash_siphash24.h\"\n#include \"crypto_sign.h\"\n#include \"crypto_sign_ed25519.h\"\n#include \"crypto_stream.h\"\n#include \"crypto_stream_aes128ctr.h\"\n#include \"crypto_stream_chacha20.h\"\n#include \"crypto_stream_salsa20.h\"\n#include \"crypto_stream_salsa2012.h\"\n#include \"crypto_stream_salsa208.h\"\n#include \"crypto_stream_xsalsa20.h\"\n#include \"crypto_verify_16.h\"\n#include \"crypto_verify_32.h\"\n#include \"crypto_verify_64.h\"\n#include \"randombytes.h\"\n#ifdef __native_client__\n# include \"randombytes_nativeclient.h\"\n#endif\n#include \"randombytes_salsa20_random.h\"\n#include \"randombytes_sysrandom.h\"\n#include \"runtime.h\"\n#include \"utils.h\"\n#include \"version.h\"\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/utils.h",
    "content": "\n#ifndef sodium_utils_H\n#define sodium_utils_H\n\n#include <stddef.h>\n\n#include \"export.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef SODIUM_C99\n# if defined(__cplusplus) || !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L\n#  define SODIUM_C99(X)\n# else\n#  define SODIUM_C99(X) X\n# endif\n#endif\n\nSODIUM_EXPORT\nvoid sodium_memzero(void * const pnt, const size_t len);\n\n/*\n * WARNING: sodium_memcmp() must be used to verify if two secret keys\n * are equal, in constant time.\n * It returns 0 if the keys are equal, and -1 if they differ.\n * This function is not designed for lexicographical comparisons.\n */\nSODIUM_EXPORT\nint sodium_memcmp(const void * const b1_, const void * const b2_, size_t len)\n            __attribute__ ((warn_unused_result));\n\n/*\n * sodium_compare() returns -1 if b1_ < b2_, 1 if b1_ > b2_ and 0 if b1_ == b2_\n * It is suitable for lexicographical comparisons, or to compare nonces\n * and counters stored in little-endian format.\n * However, it is slower than sodium_memcmp().\n */\nSODIUM_EXPORT\nint sodium_compare(const unsigned char *b1_, const unsigned char *b2_,\n                   size_t len)\n            __attribute__ ((warn_unused_result));\n\nSODIUM_EXPORT\nint sodium_is_zero(const unsigned char *n, const size_t nlen);\n\nSODIUM_EXPORT\nvoid sodium_increment(unsigned char *n, const size_t nlen);\n\nSODIUM_EXPORT\nvoid sodium_add(unsigned char *a, const unsigned char *b, const size_t len);\n\nSODIUM_EXPORT\nchar *sodium_bin2hex(char * const hex, const size_t hex_maxlen,\n                     const unsigned char * const bin, const size_t bin_len);\n\nSODIUM_EXPORT\nint sodium_hex2bin(unsigned char * const bin, const size_t bin_maxlen,\n                   const char * const hex, const size_t hex_len,\n                   const char * const ignore, size_t * const bin_len,\n                   const char ** const hex_end);\n\nSODIUM_EXPORT\nint sodium_mlock(void * const addr, const size_t len);\n\nSODIUM_EXPORT\nint sodium_munlock(void * const addr, const size_t len);\n\n/* WARNING: sodium_malloc() and sodium_allocarray() are not general-purpose\n * allocation functions.\n *\n * They return a pointer to a region filled with 0xd0 bytes, immediately\n * followed by a guard page.\n * As a result, accessing a single byte after the requested allocation size\n * will intentionally trigger a segmentation fault.\n *\n * A canary and an additional guard page placed before the beginning of the\n * region may also kill the process if a buffer underflow is detected.\n *\n * The memory layout is:\n * [unprotected region size (read only)][guard page (no access)][unprotected pages (read/write)][guard page (no access)]\n * With the layout of the unprotected pages being:\n * [optional padding][16-bytes canary][user region]\n *\n * However:\n * - These functions are significantly slower than standard functions\n * - Each allocation requires 3 or 4 additional pages\n * - The returned address will not be aligned if the allocation size is not\n *   a multiple of the required alignment. For this reason, these functions\n *   are designed to store data, such as secret keys and messages.\n *\n * sodium_malloc() can be used to allocate any libsodium data structure,\n * with the exception of crypto_generichash_state.\n *\n * The crypto_generichash_state structure is packed and its length is\n * either 357 or 361 bytes. For this reason, when using sodium_malloc() to\n * allocate a crypto_generichash_state structure, padding must be added in\n * order to ensure proper alignment:\n * state = sodium_malloc((crypto_generichash_statebytes() + (size_t) 63U)\n *                       & ~(size_t) 63U);\n */\n\nSODIUM_EXPORT\nvoid *sodium_malloc(const size_t size)\n            __attribute__ ((malloc));\n\nSODIUM_EXPORT\nvoid *sodium_allocarray(size_t count, size_t size)\n            __attribute__ ((malloc));\n\nSODIUM_EXPORT\nvoid sodium_free(void *ptr);\n\nSODIUM_EXPORT\nint sodium_mprotect_noaccess(void *ptr);\n\nSODIUM_EXPORT\nint sodium_mprotect_readonly(void *ptr);\n\nSODIUM_EXPORT\nint sodium_mprotect_readwrite(void *ptr);\n\n/* -------- */\n\nint _sodium_alloc_init(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium/includes/version.h",
    "content": "\n#ifndef sodium_version_H\n#define sodium_version_H\n\n#include \"export.h\"\n\n#define SODIUM_VERSION_STRING \"1.0.10\"\n\n#define SODIUM_LIBRARY_VERSION_MAJOR 9\n#define SODIUM_LIBRARY_VERSION_MINOR 2\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nSODIUM_EXPORT\nconst char *sodium_version_string(void);\n\nSODIUM_EXPORT\nint         sodium_library_version_major(void);\n\nSODIUM_EXPORT\nint         sodium_library_version_minor(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t36A8DCEE1D28D81900B97D7E /* core.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCB61D28D81900B97D7E /* core.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCEF1D28D81900B97D7E /* crypto_aead_aes256gcm.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCB71D28D81900B97D7E /* crypto_aead_aes256gcm.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF01D28D81900B97D7E /* crypto_aead_chacha20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCB81D28D81900B97D7E /* crypto_aead_chacha20poly1305.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF11D28D81900B97D7E /* crypto_auth_hmacsha256.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCB91D28D81900B97D7E /* crypto_auth_hmacsha256.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF21D28D81900B97D7E /* crypto_auth_hmacsha512.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBA1D28D81900B97D7E /* crypto_auth_hmacsha512.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF31D28D81900B97D7E /* crypto_auth_hmacsha512256.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBB1D28D81900B97D7E /* crypto_auth_hmacsha512256.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF41D28D81900B97D7E /* crypto_auth.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBC1D28D81900B97D7E /* crypto_auth.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF51D28D81900B97D7E /* crypto_box_curve25519xsalsa20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBD1D28D81900B97D7E /* crypto_box_curve25519xsalsa20poly1305.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF61D28D81900B97D7E /* crypto_box.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBE1D28D81900B97D7E /* crypto_box.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF71D28D81900B97D7E /* crypto_core_hchacha20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBF1D28D81900B97D7E /* crypto_core_hchacha20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF81D28D81900B97D7E /* crypto_core_hsalsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC01D28D81900B97D7E /* crypto_core_hsalsa20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCF91D28D81900B97D7E /* crypto_core_salsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC11D28D81900B97D7E /* crypto_core_salsa20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCFA1D28D81900B97D7E /* crypto_core_salsa208.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC21D28D81900B97D7E /* crypto_core_salsa208.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCFB1D28D81900B97D7E /* crypto_core_salsa2012.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC31D28D81900B97D7E /* crypto_core_salsa2012.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCFC1D28D81900B97D7E /* crypto_generichash_blake2b.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC41D28D81900B97D7E /* crypto_generichash_blake2b.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCFD1D28D81900B97D7E /* crypto_generichash.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC51D28D81900B97D7E /* crypto_generichash.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCFE1D28D81900B97D7E /* crypto_hash_sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC61D28D81900B97D7E /* crypto_hash_sha256.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DCFF1D28D81900B97D7E /* crypto_hash_sha512.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC71D28D81900B97D7E /* crypto_hash_sha512.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD001D28D81900B97D7E /* crypto_hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC81D28D81900B97D7E /* crypto_hash.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD011D28D81900B97D7E /* crypto_int32.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC91D28D81900B97D7E /* crypto_int32.h */; };\n\t\t36A8DD021D28D81900B97D7E /* crypto_int64.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCA1D28D81900B97D7E /* crypto_int64.h */; };\n\t\t36A8DD031D28D81900B97D7E /* crypto_onetimeauth_poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCB1D28D81900B97D7E /* crypto_onetimeauth_poly1305.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD041D28D81900B97D7E /* crypto_onetimeauth.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCC1D28D81900B97D7E /* crypto_onetimeauth.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD051D28D81900B97D7E /* crypto_pwhash_argon2i.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCD1D28D81900B97D7E /* crypto_pwhash_argon2i.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD061D28D81900B97D7E /* crypto_pwhash_scryptsalsa208sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCE1D28D81900B97D7E /* crypto_pwhash_scryptsalsa208sha256.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD071D28D81900B97D7E /* crypto_pwhash.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCF1D28D81900B97D7E /* crypto_pwhash.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD081D28D81900B97D7E /* crypto_scalarmult_curve25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD01D28D81900B97D7E /* crypto_scalarmult_curve25519.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD091D28D81900B97D7E /* crypto_scalarmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD11D28D81900B97D7E /* crypto_scalarmult.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD0A1D28D81900B97D7E /* crypto_secretbox_xsalsa20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD21D28D81900B97D7E /* crypto_secretbox_xsalsa20poly1305.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD0B1D28D81900B97D7E /* crypto_secretbox.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD31D28D81900B97D7E /* crypto_secretbox.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD0C1D28D81900B97D7E /* crypto_shorthash_siphash24.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD41D28D81900B97D7E /* crypto_shorthash_siphash24.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD0D1D28D81900B97D7E /* crypto_shorthash.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD51D28D81900B97D7E /* crypto_shorthash.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD0E1D28D81900B97D7E /* crypto_sign_ed25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD61D28D81900B97D7E /* crypto_sign_ed25519.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD0F1D28D81900B97D7E /* crypto_sign_edwards25519sha512batch.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD71D28D81900B97D7E /* crypto_sign_edwards25519sha512batch.h */; };\n\t\t36A8DD101D28D81900B97D7E /* crypto_sign.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD81D28D81900B97D7E /* crypto_sign.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD111D28D81900B97D7E /* crypto_stream_aes128ctr.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD91D28D81900B97D7E /* crypto_stream_aes128ctr.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD121D28D81900B97D7E /* crypto_stream_chacha20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDA1D28D81900B97D7E /* crypto_stream_chacha20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD131D28D81900B97D7E /* crypto_stream_salsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDB1D28D81900B97D7E /* crypto_stream_salsa20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD141D28D81900B97D7E /* crypto_stream_salsa208.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDC1D28D81900B97D7E /* crypto_stream_salsa208.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD151D28D81900B97D7E /* crypto_stream_salsa2012.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDD1D28D81900B97D7E /* crypto_stream_salsa2012.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD161D28D81900B97D7E /* crypto_stream_xsalsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDE1D28D81900B97D7E /* crypto_stream_xsalsa20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD171D28D81900B97D7E /* crypto_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDF1D28D81900B97D7E /* crypto_stream.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD181D28D81900B97D7E /* crypto_uint8.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE01D28D81900B97D7E /* crypto_uint8.h */; };\n\t\t36A8DD191D28D81900B97D7E /* crypto_uint16.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE11D28D81900B97D7E /* crypto_uint16.h */; };\n\t\t36A8DD1A1D28D81900B97D7E /* crypto_uint32.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE21D28D81900B97D7E /* crypto_uint32.h */; };\n\t\t36A8DD1B1D28D81900B97D7E /* crypto_uint64.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE31D28D81900B97D7E /* crypto_uint64.h */; };\n\t\t36A8DD1C1D28D81900B97D7E /* crypto_verify_16.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE41D28D81900B97D7E /* crypto_verify_16.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD1D1D28D81900B97D7E /* crypto_verify_32.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE51D28D81900B97D7E /* crypto_verify_32.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD1E1D28D81900B97D7E /* crypto_verify_64.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE61D28D81900B97D7E /* crypto_verify_64.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD1F1D28D81900B97D7E /* export.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE71D28D81900B97D7E /* export.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD201D28D81900B97D7E /* randombytes_salsa20_random.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE81D28D81900B97D7E /* randombytes_salsa20_random.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD211D28D81900B97D7E /* randombytes_sysrandom.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE91D28D81900B97D7E /* randombytes_sysrandom.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD221D28D81900B97D7E /* randombytes.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCEA1D28D81900B97D7E /* randombytes.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD231D28D81900B97D7E /* runtime.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCEB1D28D81900B97D7E /* runtime.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD241D28D81900B97D7E /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCEC1D28D81900B97D7E /* utils.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD251D28D81900B97D7E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCED1D28D81900B97D7E /* version.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD2B1D28D9AB00B97D7E /* sodium-lib.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DD2A1D28D9AB00B97D7E /* sodium-lib.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD561D28DC1B00B97D7E /* Sodium.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DD551D28DB9400B97D7E /* Sodium.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD571D28DC1C00B97D7E /* Sodium.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DD551D28DB9400B97D7E /* Sodium.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD581D28DC4000B97D7E /* libsodium-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 36A8DD271D28D89F00B97D7E /* libsodium-macOS.a */; };\n\t\t36A8DD591D28DC4600B97D7E /* libsodium-iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 36A8DD521D28DAD000B97D7E /* libsodium-iOS.a */; };\n\t\t36A8DD5A1D28DC4F00B97D7E /* core.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCB61D28D81900B97D7E /* core.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD5B1D28DC4F00B97D7E /* crypto_aead_aes256gcm.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCB71D28D81900B97D7E /* crypto_aead_aes256gcm.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD5C1D28DC4F00B97D7E /* crypto_aead_chacha20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCB81D28D81900B97D7E /* crypto_aead_chacha20poly1305.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD5D1D28DC4F00B97D7E /* crypto_auth.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBC1D28D81900B97D7E /* crypto_auth.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD5E1D28DC4F00B97D7E /* crypto_auth_hmacsha256.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCB91D28D81900B97D7E /* crypto_auth_hmacsha256.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD5F1D28DC4F00B97D7E /* crypto_auth_hmacsha512.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBA1D28D81900B97D7E /* crypto_auth_hmacsha512.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD601D28DC4F00B97D7E /* crypto_auth_hmacsha512256.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBB1D28D81900B97D7E /* crypto_auth_hmacsha512256.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD611D28DC4F00B97D7E /* crypto_box.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBE1D28D81900B97D7E /* crypto_box.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD621D28DC4F00B97D7E /* crypto_box_curve25519xsalsa20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBD1D28D81900B97D7E /* crypto_box_curve25519xsalsa20poly1305.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD631D28DC4F00B97D7E /* crypto_core_hchacha20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCBF1D28D81900B97D7E /* crypto_core_hchacha20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD641D28DC4F00B97D7E /* crypto_core_hsalsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC01D28D81900B97D7E /* crypto_core_hsalsa20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD651D28DC4F00B97D7E /* crypto_core_salsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC11D28D81900B97D7E /* crypto_core_salsa20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD661D28DC4F00B97D7E /* crypto_core_salsa2012.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC31D28D81900B97D7E /* crypto_core_salsa2012.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD671D28DC4F00B97D7E /* crypto_core_salsa208.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC21D28D81900B97D7E /* crypto_core_salsa208.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD681D28DC4F00B97D7E /* crypto_generichash.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC51D28D81900B97D7E /* crypto_generichash.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD691D28DC4F00B97D7E /* crypto_generichash_blake2b.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC41D28D81900B97D7E /* crypto_generichash_blake2b.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD6A1D28DC4F00B97D7E /* crypto_hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC81D28D81900B97D7E /* crypto_hash.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD6B1D28DC4F00B97D7E /* crypto_hash_sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC61D28D81900B97D7E /* crypto_hash_sha256.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD6C1D28DC4F00B97D7E /* crypto_hash_sha512.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC71D28D81900B97D7E /* crypto_hash_sha512.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD6D1D28DC4F00B97D7E /* crypto_int32.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCC91D28D81900B97D7E /* crypto_int32.h */; };\n\t\t36A8DD6E1D28DC4F00B97D7E /* crypto_int64.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCA1D28D81900B97D7E /* crypto_int64.h */; };\n\t\t36A8DD6F1D28DC4F00B97D7E /* crypto_onetimeauth.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCC1D28D81900B97D7E /* crypto_onetimeauth.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD701D28DC4F00B97D7E /* crypto_onetimeauth_poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCB1D28D81900B97D7E /* crypto_onetimeauth_poly1305.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD711D28DC4F00B97D7E /* crypto_pwhash.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCF1D28D81900B97D7E /* crypto_pwhash.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD721D28DC4F00B97D7E /* crypto_pwhash_argon2i.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCD1D28D81900B97D7E /* crypto_pwhash_argon2i.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD731D28DC4F00B97D7E /* crypto_pwhash_scryptsalsa208sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCCE1D28D81900B97D7E /* crypto_pwhash_scryptsalsa208sha256.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD741D28DC4F00B97D7E /* crypto_scalarmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD11D28D81900B97D7E /* crypto_scalarmult.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD751D28DC4F00B97D7E /* crypto_scalarmult_curve25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD01D28D81900B97D7E /* crypto_scalarmult_curve25519.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD761D28DC4F00B97D7E /* crypto_secretbox.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD31D28D81900B97D7E /* crypto_secretbox.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD771D28DC4F00B97D7E /* crypto_secretbox_xsalsa20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD21D28D81900B97D7E /* crypto_secretbox_xsalsa20poly1305.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD781D28DC4F00B97D7E /* crypto_shorthash.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD51D28D81900B97D7E /* crypto_shorthash.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD791D28DC4F00B97D7E /* crypto_shorthash_siphash24.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD41D28D81900B97D7E /* crypto_shorthash_siphash24.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD7A1D28DC4F00B97D7E /* crypto_sign.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD81D28D81900B97D7E /* crypto_sign.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD7B1D28DC4F00B97D7E /* crypto_sign_ed25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD61D28D81900B97D7E /* crypto_sign_ed25519.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD7C1D28DC4F00B97D7E /* crypto_sign_edwards25519sha512batch.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD71D28D81900B97D7E /* crypto_sign_edwards25519sha512batch.h */; };\n\t\t36A8DD7D1D28DC4F00B97D7E /* crypto_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDF1D28D81900B97D7E /* crypto_stream.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD7E1D28DC4F00B97D7E /* crypto_stream_aes128ctr.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCD91D28D81900B97D7E /* crypto_stream_aes128ctr.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD7F1D28DC4F00B97D7E /* crypto_stream_chacha20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDA1D28D81900B97D7E /* crypto_stream_chacha20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD801D28DC4F00B97D7E /* crypto_stream_salsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDB1D28D81900B97D7E /* crypto_stream_salsa20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD811D28DC4F00B97D7E /* crypto_stream_salsa2012.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDD1D28D81900B97D7E /* crypto_stream_salsa2012.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD821D28DC4F00B97D7E /* crypto_stream_salsa208.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDC1D28D81900B97D7E /* crypto_stream_salsa208.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD831D28DC4F00B97D7E /* crypto_stream_xsalsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCDE1D28D81900B97D7E /* crypto_stream_xsalsa20.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD841D28DC4F00B97D7E /* crypto_uint16.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE11D28D81900B97D7E /* crypto_uint16.h */; };\n\t\t36A8DD851D28DC4F00B97D7E /* crypto_uint32.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE21D28D81900B97D7E /* crypto_uint32.h */; };\n\t\t36A8DD861D28DC4F00B97D7E /* crypto_uint64.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE31D28D81900B97D7E /* crypto_uint64.h */; };\n\t\t36A8DD871D28DC4F00B97D7E /* crypto_uint8.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE01D28D81900B97D7E /* crypto_uint8.h */; };\n\t\t36A8DD881D28DC4F00B97D7E /* crypto_verify_16.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE41D28D81900B97D7E /* crypto_verify_16.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD891D28DC4F00B97D7E /* crypto_verify_32.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE51D28D81900B97D7E /* crypto_verify_32.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD8A1D28DC4F00B97D7E /* crypto_verify_64.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE61D28D81900B97D7E /* crypto_verify_64.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD8B1D28DC4F00B97D7E /* export.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE71D28D81900B97D7E /* export.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD8C1D28DC4F00B97D7E /* randombytes.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCEA1D28D81900B97D7E /* randombytes.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD8D1D28DC4F00B97D7E /* randombytes_salsa20_random.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE81D28D81900B97D7E /* randombytes_salsa20_random.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD8E1D28DC4F00B97D7E /* randombytes_sysrandom.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCE91D28D81900B97D7E /* randombytes_sysrandom.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD8F1D28DC4F00B97D7E /* runtime.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCEB1D28D81900B97D7E /* runtime.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD901D28DC4F00B97D7E /* sodium-lib.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DD2A1D28D9AB00B97D7E /* sodium-lib.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD911D28DC4F00B97D7E /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCEC1D28D81900B97D7E /* utils.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD921D28DC4F00B97D7E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A8DCED1D28D81900B97D7E /* version.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A8DD9A1D292B9A00B97D7E /* SodiumTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36A8DD991D292B9A00B97D7E /* SodiumTests.swift */; };\n\t\t36A8DD9C1D292B9A00B97D7E /* Sodium.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36A8DCAB1D28D70D00B97D7E /* Sodium.framework */; };\n\t\t36A8DDAE1D29409800B97D7E /* Sodium.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36A8DD461D28DA5A00B97D7E /* Sodium.framework */; };\n\t\t36A8DDB41D2940A300B97D7E /* SodiumTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36A8DD991D292B9A00B97D7E /* SodiumTests.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t36A8DD9D1D292B9A00B97D7E /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 36A8DCA21D28D70D00B97D7E /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 36A8DCAA1D28D70D00B97D7E;\n\t\t\tremoteInfo = \"Sodium-macOS\";\n\t\t};\n\t\t36A8DDAF1D29409800B97D7E /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 36A8DCA21D28D70D00B97D7E /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 36A8DD451D28DA5A00B97D7E;\n\t\t\tremoteInfo = \"Sodium-iOS\";\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t36A8DCAB1D28D70D00B97D7E /* Sodium.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sodium.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t36A8DCB61D28D81900B97D7E /* core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = core.h; sourceTree = \"<group>\"; };\n\t\t36A8DCB71D28D81900B97D7E /* crypto_aead_aes256gcm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_aead_aes256gcm.h; sourceTree = \"<group>\"; };\n\t\t36A8DCB81D28D81900B97D7E /* crypto_aead_chacha20poly1305.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_aead_chacha20poly1305.h; sourceTree = \"<group>\"; };\n\t\t36A8DCB91D28D81900B97D7E /* crypto_auth_hmacsha256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_auth_hmacsha256.h; sourceTree = \"<group>\"; };\n\t\t36A8DCBA1D28D81900B97D7E /* crypto_auth_hmacsha512.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_auth_hmacsha512.h; sourceTree = \"<group>\"; };\n\t\t36A8DCBB1D28D81900B97D7E /* crypto_auth_hmacsha512256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_auth_hmacsha512256.h; sourceTree = \"<group>\"; };\n\t\t36A8DCBC1D28D81900B97D7E /* crypto_auth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_auth.h; sourceTree = \"<group>\"; };\n\t\t36A8DCBD1D28D81900B97D7E /* crypto_box_curve25519xsalsa20poly1305.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_box_curve25519xsalsa20poly1305.h; sourceTree = \"<group>\"; };\n\t\t36A8DCBE1D28D81900B97D7E /* crypto_box.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_box.h; sourceTree = \"<group>\"; };\n\t\t36A8DCBF1D28D81900B97D7E /* crypto_core_hchacha20.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_core_hchacha20.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC01D28D81900B97D7E /* crypto_core_hsalsa20.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_core_hsalsa20.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC11D28D81900B97D7E /* crypto_core_salsa20.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_core_salsa20.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC21D28D81900B97D7E /* crypto_core_salsa208.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_core_salsa208.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC31D28D81900B97D7E /* crypto_core_salsa2012.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_core_salsa2012.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC41D28D81900B97D7E /* crypto_generichash_blake2b.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_generichash_blake2b.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC51D28D81900B97D7E /* crypto_generichash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_generichash.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC61D28D81900B97D7E /* crypto_hash_sha256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_hash_sha256.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC71D28D81900B97D7E /* crypto_hash_sha512.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_hash_sha512.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC81D28D81900B97D7E /* crypto_hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_hash.h; sourceTree = \"<group>\"; };\n\t\t36A8DCC91D28D81900B97D7E /* crypto_int32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_int32.h; sourceTree = \"<group>\"; };\n\t\t36A8DCCA1D28D81900B97D7E /* crypto_int64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_int64.h; sourceTree = \"<group>\"; };\n\t\t36A8DCCB1D28D81900B97D7E /* crypto_onetimeauth_poly1305.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_onetimeauth_poly1305.h; sourceTree = \"<group>\"; };\n\t\t36A8DCCC1D28D81900B97D7E /* crypto_onetimeauth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_onetimeauth.h; sourceTree = \"<group>\"; };\n\t\t36A8DCCD1D28D81900B97D7E /* crypto_pwhash_argon2i.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_pwhash_argon2i.h; sourceTree = \"<group>\"; };\n\t\t36A8DCCE1D28D81900B97D7E /* crypto_pwhash_scryptsalsa208sha256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_pwhash_scryptsalsa208sha256.h; sourceTree = \"<group>\"; };\n\t\t36A8DCCF1D28D81900B97D7E /* crypto_pwhash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_pwhash.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD01D28D81900B97D7E /* crypto_scalarmult_curve25519.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_scalarmult_curve25519.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD11D28D81900B97D7E /* crypto_scalarmult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_scalarmult.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD21D28D81900B97D7E /* crypto_secretbox_xsalsa20poly1305.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_secretbox_xsalsa20poly1305.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD31D28D81900B97D7E /* crypto_secretbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_secretbox.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD41D28D81900B97D7E /* crypto_shorthash_siphash24.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_shorthash_siphash24.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD51D28D81900B97D7E /* crypto_shorthash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_shorthash.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD61D28D81900B97D7E /* crypto_sign_ed25519.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_sign_ed25519.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD71D28D81900B97D7E /* crypto_sign_edwards25519sha512batch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_sign_edwards25519sha512batch.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD81D28D81900B97D7E /* crypto_sign.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_sign.h; sourceTree = \"<group>\"; };\n\t\t36A8DCD91D28D81900B97D7E /* crypto_stream_aes128ctr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_stream_aes128ctr.h; sourceTree = \"<group>\"; };\n\t\t36A8DCDA1D28D81900B97D7E /* crypto_stream_chacha20.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_stream_chacha20.h; sourceTree = \"<group>\"; };\n\t\t36A8DCDB1D28D81900B97D7E /* crypto_stream_salsa20.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_stream_salsa20.h; sourceTree = \"<group>\"; };\n\t\t36A8DCDC1D28D81900B97D7E /* crypto_stream_salsa208.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_stream_salsa208.h; sourceTree = \"<group>\"; };\n\t\t36A8DCDD1D28D81900B97D7E /* crypto_stream_salsa2012.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_stream_salsa2012.h; sourceTree = \"<group>\"; };\n\t\t36A8DCDE1D28D81900B97D7E /* crypto_stream_xsalsa20.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_stream_xsalsa20.h; sourceTree = \"<group>\"; };\n\t\t36A8DCDF1D28D81900B97D7E /* crypto_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_stream.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE01D28D81900B97D7E /* crypto_uint8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_uint8.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE11D28D81900B97D7E /* crypto_uint16.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_uint16.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE21D28D81900B97D7E /* crypto_uint32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_uint32.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE31D28D81900B97D7E /* crypto_uint64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_uint64.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE41D28D81900B97D7E /* crypto_verify_16.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_verify_16.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE51D28D81900B97D7E /* crypto_verify_32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_verify_32.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE61D28D81900B97D7E /* crypto_verify_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto_verify_64.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE71D28D81900B97D7E /* export.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = export.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE81D28D81900B97D7E /* randombytes_salsa20_random.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = randombytes_salsa20_random.h; sourceTree = \"<group>\"; };\n\t\t36A8DCE91D28D81900B97D7E /* randombytes_sysrandom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = randombytes_sysrandom.h; sourceTree = \"<group>\"; };\n\t\t36A8DCEA1D28D81900B97D7E /* randombytes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = randombytes.h; sourceTree = \"<group>\"; };\n\t\t36A8DCEB1D28D81900B97D7E /* runtime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = runtime.h; sourceTree = \"<group>\"; };\n\t\t36A8DCEC1D28D81900B97D7E /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = \"<group>\"; };\n\t\t36A8DCED1D28D81900B97D7E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = \"<group>\"; };\n\t\t36A8DD271D28D89F00B97D7E /* libsodium-macOS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = \"libsodium-macOS.a\"; sourceTree = \"<group>\"; };\n\t\t36A8DD2A1D28D9AB00B97D7E /* sodium-lib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \"sodium-lib.h\"; sourceTree = \"<group>\"; };\n\t\t36A8DD461D28DA5A00B97D7E /* Sodium.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sodium.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t36A8DD521D28DAD000B97D7E /* libsodium-iOS.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = \"libsodium-iOS.a\"; sourceTree = \"<group>\"; };\n\t\t36A8DD541D28DB9400B97D7E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t36A8DD551D28DB9400B97D7E /* Sodium.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sodium.h; sourceTree = \"<group>\"; };\n\t\t36A8DD971D292B9A00B97D7E /* SodiumTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SodiumTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t36A8DD991D292B9A00B97D7E /* SodiumTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SodiumTests.swift; sourceTree = \"<group>\"; };\n\t\t36A8DD9B1D292B9A00B97D7E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t36A8DDA91D29409800B97D7E /* SodiumTests-iOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = \"SodiumTests-iOS.xctest\"; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t36A8DDAD1D29409800B97D7E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t36A8DCA71D28D70D00B97D7E /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A8DD581D28DC4000B97D7E /* libsodium-macOS.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DD421D28DA5A00B97D7E /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A8DD591D28DC4600B97D7E /* libsodium-iOS.a in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DD941D292B9A00B97D7E /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A8DD9C1D292B9A00B97D7E /* Sodium.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DDA61D29409800B97D7E /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A8DDAE1D29409800B97D7E /* Sodium.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t36A8DCA11D28D70D00B97D7E = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36A8DCAC1D28D70D00B97D7E /* Products */,\n\t\t\t\t36A8DCAD1D28D70D00B97D7E /* Sodium */,\n\t\t\t\t36A8DD981D292B9A00B97D7E /* SodiumTests */,\n\t\t\t\t36A8DDAA1D29409800B97D7E /* SodiumTests-iOS */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36A8DCAC1D28D70D00B97D7E /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36A8DCAB1D28D70D00B97D7E /* Sodium.framework */,\n\t\t\t\t36A8DD461D28DA5A00B97D7E /* Sodium.framework */,\n\t\t\t\t36A8DD971D292B9A00B97D7E /* SodiumTests.xctest */,\n\t\t\t\t36A8DDA91D29409800B97D7E /* SodiumTests-iOS.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36A8DCAD1D28D70D00B97D7E /* Sodium */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36A8DD261D28D82300B97D7E /* includes */,\n\t\t\t\t36A8DD291D28D8A300B97D7E /* libs */,\n\t\t\t\t36A8DD541D28DB9400B97D7E /* Info.plist */,\n\t\t\t\t36A8DD551D28DB9400B97D7E /* Sodium.h */,\n\t\t\t);\n\t\t\tpath = Sodium;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36A8DD261D28D82300B97D7E /* includes */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36A8DCB61D28D81900B97D7E /* core.h */,\n\t\t\t\t36A8DCB71D28D81900B97D7E /* crypto_aead_aes256gcm.h */,\n\t\t\t\t36A8DCB81D28D81900B97D7E /* crypto_aead_chacha20poly1305.h */,\n\t\t\t\t36A8DCBC1D28D81900B97D7E /* crypto_auth.h */,\n\t\t\t\t36A8DCB91D28D81900B97D7E /* crypto_auth_hmacsha256.h */,\n\t\t\t\t36A8DCBA1D28D81900B97D7E /* crypto_auth_hmacsha512.h */,\n\t\t\t\t36A8DCBB1D28D81900B97D7E /* crypto_auth_hmacsha512256.h */,\n\t\t\t\t36A8DCBE1D28D81900B97D7E /* crypto_box.h */,\n\t\t\t\t36A8DCBD1D28D81900B97D7E /* crypto_box_curve25519xsalsa20poly1305.h */,\n\t\t\t\t36A8DCBF1D28D81900B97D7E /* crypto_core_hchacha20.h */,\n\t\t\t\t36A8DCC01D28D81900B97D7E /* crypto_core_hsalsa20.h */,\n\t\t\t\t36A8DCC11D28D81900B97D7E /* crypto_core_salsa20.h */,\n\t\t\t\t36A8DCC31D28D81900B97D7E /* crypto_core_salsa2012.h */,\n\t\t\t\t36A8DCC21D28D81900B97D7E /* crypto_core_salsa208.h */,\n\t\t\t\t36A8DCC51D28D81900B97D7E /* crypto_generichash.h */,\n\t\t\t\t36A8DCC41D28D81900B97D7E /* crypto_generichash_blake2b.h */,\n\t\t\t\t36A8DCC81D28D81900B97D7E /* crypto_hash.h */,\n\t\t\t\t36A8DCC61D28D81900B97D7E /* crypto_hash_sha256.h */,\n\t\t\t\t36A8DCC71D28D81900B97D7E /* crypto_hash_sha512.h */,\n\t\t\t\t36A8DCC91D28D81900B97D7E /* crypto_int32.h */,\n\t\t\t\t36A8DCCA1D28D81900B97D7E /* crypto_int64.h */,\n\t\t\t\t36A8DCCC1D28D81900B97D7E /* crypto_onetimeauth.h */,\n\t\t\t\t36A8DCCB1D28D81900B97D7E /* crypto_onetimeauth_poly1305.h */,\n\t\t\t\t36A8DCCF1D28D81900B97D7E /* crypto_pwhash.h */,\n\t\t\t\t36A8DCCD1D28D81900B97D7E /* crypto_pwhash_argon2i.h */,\n\t\t\t\t36A8DCCE1D28D81900B97D7E /* crypto_pwhash_scryptsalsa208sha256.h */,\n\t\t\t\t36A8DCD11D28D81900B97D7E /* crypto_scalarmult.h */,\n\t\t\t\t36A8DCD01D28D81900B97D7E /* crypto_scalarmult_curve25519.h */,\n\t\t\t\t36A8DCD31D28D81900B97D7E /* crypto_secretbox.h */,\n\t\t\t\t36A8DCD21D28D81900B97D7E /* crypto_secretbox_xsalsa20poly1305.h */,\n\t\t\t\t36A8DCD51D28D81900B97D7E /* crypto_shorthash.h */,\n\t\t\t\t36A8DCD41D28D81900B97D7E /* crypto_shorthash_siphash24.h */,\n\t\t\t\t36A8DCD81D28D81900B97D7E /* crypto_sign.h */,\n\t\t\t\t36A8DCD61D28D81900B97D7E /* crypto_sign_ed25519.h */,\n\t\t\t\t36A8DCD71D28D81900B97D7E /* crypto_sign_edwards25519sha512batch.h */,\n\t\t\t\t36A8DCDF1D28D81900B97D7E /* crypto_stream.h */,\n\t\t\t\t36A8DCD91D28D81900B97D7E /* crypto_stream_aes128ctr.h */,\n\t\t\t\t36A8DCDA1D28D81900B97D7E /* crypto_stream_chacha20.h */,\n\t\t\t\t36A8DCDB1D28D81900B97D7E /* crypto_stream_salsa20.h */,\n\t\t\t\t36A8DCDD1D28D81900B97D7E /* crypto_stream_salsa2012.h */,\n\t\t\t\t36A8DCDC1D28D81900B97D7E /* crypto_stream_salsa208.h */,\n\t\t\t\t36A8DCDE1D28D81900B97D7E /* crypto_stream_xsalsa20.h */,\n\t\t\t\t36A8DCE11D28D81900B97D7E /* crypto_uint16.h */,\n\t\t\t\t36A8DCE21D28D81900B97D7E /* crypto_uint32.h */,\n\t\t\t\t36A8DCE31D28D81900B97D7E /* crypto_uint64.h */,\n\t\t\t\t36A8DCE01D28D81900B97D7E /* crypto_uint8.h */,\n\t\t\t\t36A8DCE41D28D81900B97D7E /* crypto_verify_16.h */,\n\t\t\t\t36A8DCE51D28D81900B97D7E /* crypto_verify_32.h */,\n\t\t\t\t36A8DCE61D28D81900B97D7E /* crypto_verify_64.h */,\n\t\t\t\t36A8DCE71D28D81900B97D7E /* export.h */,\n\t\t\t\t36A8DCEA1D28D81900B97D7E /* randombytes.h */,\n\t\t\t\t36A8DCE81D28D81900B97D7E /* randombytes_salsa20_random.h */,\n\t\t\t\t36A8DCE91D28D81900B97D7E /* randombytes_sysrandom.h */,\n\t\t\t\t36A8DCEB1D28D81900B97D7E /* runtime.h */,\n\t\t\t\t36A8DD2A1D28D9AB00B97D7E /* sodium-lib.h */,\n\t\t\t\t36A8DCEC1D28D81900B97D7E /* utils.h */,\n\t\t\t\t36A8DCED1D28D81900B97D7E /* version.h */,\n\t\t\t);\n\t\t\tpath = includes;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36A8DD291D28D8A300B97D7E /* libs */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36A8DD521D28DAD000B97D7E /* libsodium-iOS.a */,\n\t\t\t\t36A8DD271D28D89F00B97D7E /* libsodium-macOS.a */,\n\t\t\t);\n\t\t\tpath = libs;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36A8DD981D292B9A00B97D7E /* SodiumTests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36A8DD9B1D292B9A00B97D7E /* Info.plist */,\n\t\t\t\t36A8DD991D292B9A00B97D7E /* SodiumTests.swift */,\n\t\t\t);\n\t\t\tpath = SodiumTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36A8DDAA1D29409800B97D7E /* SodiumTests-iOS */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36A8DDAD1D29409800B97D7E /* Info.plist */,\n\t\t\t);\n\t\t\tpath = \"SodiumTests-iOS\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t36A8DCA81D28D70D00B97D7E /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A8DD121D28D81900B97D7E /* crypto_stream_chacha20.h in Headers */,\n\t\t\t\t36A8DCF91D28D81900B97D7E /* crypto_core_salsa20.h in Headers */,\n\t\t\t\t36A8DD1C1D28D81900B97D7E /* crypto_verify_16.h in Headers */,\n\t\t\t\t36A8DD151D28D81900B97D7E /* crypto_stream_salsa2012.h in Headers */,\n\t\t\t\t36A8DD1D1D28D81900B97D7E /* crypto_verify_32.h in Headers */,\n\t\t\t\t36A8DD571D28DC1C00B97D7E /* Sodium.h in Headers */,\n\t\t\t\t36A8DD0A1D28D81900B97D7E /* crypto_secretbox_xsalsa20poly1305.h in Headers */,\n\t\t\t\t36A8DD0F1D28D81900B97D7E /* crypto_sign_edwards25519sha512batch.h in Headers */,\n\t\t\t\t36A8DCF11D28D81900B97D7E /* crypto_auth_hmacsha256.h in Headers */,\n\t\t\t\t36A8DCF21D28D81900B97D7E /* crypto_auth_hmacsha512.h in Headers */,\n\t\t\t\t36A8DCF51D28D81900B97D7E /* crypto_box_curve25519xsalsa20poly1305.h in Headers */,\n\t\t\t\t36A8DCFC1D28D81900B97D7E /* crypto_generichash_blake2b.h in Headers */,\n\t\t\t\t36A8DD061D28D81900B97D7E /* crypto_pwhash_scryptsalsa208sha256.h in Headers */,\n\t\t\t\t36A8DCF71D28D81900B97D7E /* crypto_core_hchacha20.h in Headers */,\n\t\t\t\t36A8DD0D1D28D81900B97D7E /* crypto_shorthash.h in Headers */,\n\t\t\t\t36A8DD221D28D81900B97D7E /* randombytes.h in Headers */,\n\t\t\t\t36A8DD251D28D81900B97D7E /* version.h in Headers */,\n\t\t\t\t36A8DD1B1D28D81900B97D7E /* crypto_uint64.h in Headers */,\n\t\t\t\t36A8DD021D28D81900B97D7E /* crypto_int64.h in Headers */,\n\t\t\t\t36A8DD131D28D81900B97D7E /* crypto_stream_salsa20.h in Headers */,\n\t\t\t\t36A8DD051D28D81900B97D7E /* crypto_pwhash_argon2i.h in Headers */,\n\t\t\t\t36A8DD141D28D81900B97D7E /* crypto_stream_salsa208.h in Headers */,\n\t\t\t\t36A8DD0E1D28D81900B97D7E /* crypto_sign_ed25519.h in Headers */,\n\t\t\t\t36A8DD1A1D28D81900B97D7E /* crypto_uint32.h in Headers */,\n\t\t\t\t36A8DD0B1D28D81900B97D7E /* crypto_secretbox.h in Headers */,\n\t\t\t\t36A8DCF01D28D81900B97D7E /* crypto_aead_chacha20poly1305.h in Headers */,\n\t\t\t\t36A8DCFE1D28D81900B97D7E /* crypto_hash_sha256.h in Headers */,\n\t\t\t\t36A8DCF81D28D81900B97D7E /* crypto_core_hsalsa20.h in Headers */,\n\t\t\t\t36A8DD071D28D81900B97D7E /* crypto_pwhash.h in Headers */,\n\t\t\t\t36A8DCEF1D28D81900B97D7E /* crypto_aead_aes256gcm.h in Headers */,\n\t\t\t\t36A8DD1E1D28D81900B97D7E /* crypto_verify_64.h in Headers */,\n\t\t\t\t36A8DD241D28D81900B97D7E /* utils.h in Headers */,\n\t\t\t\t36A8DCF41D28D81900B97D7E /* crypto_auth.h in Headers */,\n\t\t\t\t36A8DCFA1D28D81900B97D7E /* crypto_core_salsa208.h in Headers */,\n\t\t\t\t36A8DCFF1D28D81900B97D7E /* crypto_hash_sha512.h in Headers */,\n\t\t\t\t36A8DD171D28D81900B97D7E /* crypto_stream.h in Headers */,\n\t\t\t\t36A8DD091D28D81900B97D7E /* crypto_scalarmult.h in Headers */,\n\t\t\t\t36A8DD211D28D81900B97D7E /* randombytes_sysrandom.h in Headers */,\n\t\t\t\t36A8DD101D28D81900B97D7E /* crypto_sign.h in Headers */,\n\t\t\t\t36A8DD201D28D81900B97D7E /* randombytes_salsa20_random.h in Headers */,\n\t\t\t\t36A8DD081D28D81900B97D7E /* crypto_scalarmult_curve25519.h in Headers */,\n\t\t\t\t36A8DCF61D28D81900B97D7E /* crypto_box.h in Headers */,\n\t\t\t\t36A8DD161D28D81900B97D7E /* crypto_stream_xsalsa20.h in Headers */,\n\t\t\t\t36A8DD011D28D81900B97D7E /* crypto_int32.h in Headers */,\n\t\t\t\t36A8DCFD1D28D81900B97D7E /* crypto_generichash.h in Headers */,\n\t\t\t\t36A8DD2B1D28D9AB00B97D7E /* sodium-lib.h in Headers */,\n\t\t\t\t36A8DD031D28D81900B97D7E /* crypto_onetimeauth_poly1305.h in Headers */,\n\t\t\t\t36A8DCEE1D28D81900B97D7E /* core.h in Headers */,\n\t\t\t\t36A8DD191D28D81900B97D7E /* crypto_uint16.h in Headers */,\n\t\t\t\t36A8DD231D28D81900B97D7E /* runtime.h in Headers */,\n\t\t\t\t36A8DD111D28D81900B97D7E /* crypto_stream_aes128ctr.h in Headers */,\n\t\t\t\t36A8DD0C1D28D81900B97D7E /* crypto_shorthash_siphash24.h in Headers */,\n\t\t\t\t36A8DCFB1D28D81900B97D7E /* crypto_core_salsa2012.h in Headers */,\n\t\t\t\t36A8DD1F1D28D81900B97D7E /* export.h in Headers */,\n\t\t\t\t36A8DD181D28D81900B97D7E /* crypto_uint8.h in Headers */,\n\t\t\t\t36A8DD041D28D81900B97D7E /* crypto_onetimeauth.h in Headers */,\n\t\t\t\t36A8DCF31D28D81900B97D7E /* crypto_auth_hmacsha512256.h in Headers */,\n\t\t\t\t36A8DD001D28D81900B97D7E /* crypto_hash.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DD431D28DA5A00B97D7E /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A8DD831D28DC4F00B97D7E /* crypto_stream_xsalsa20.h in Headers */,\n\t\t\t\t36A8DD7A1D28DC4F00B97D7E /* crypto_sign.h in Headers */,\n\t\t\t\t36A8DD691D28DC4F00B97D7E /* crypto_generichash_blake2b.h in Headers */,\n\t\t\t\t36A8DD881D28DC4F00B97D7E /* crypto_verify_16.h in Headers */,\n\t\t\t\t36A8DD671D28DC4F00B97D7E /* crypto_core_salsa208.h in Headers */,\n\t\t\t\t36A8DD891D28DC4F00B97D7E /* crypto_verify_32.h in Headers */,\n\t\t\t\t36A8DD811D28DC4F00B97D7E /* crypto_stream_salsa2012.h in Headers */,\n\t\t\t\t36A8DD8C1D28DC4F00B97D7E /* randombytes.h in Headers */,\n\t\t\t\t36A8DD711D28DC4F00B97D7E /* crypto_pwhash.h in Headers */,\n\t\t\t\t36A8DD701D28DC4F00B97D7E /* crypto_onetimeauth_poly1305.h in Headers */,\n\t\t\t\t36A8DD611D28DC4F00B97D7E /* crypto_box.h in Headers */,\n\t\t\t\t36A8DD7F1D28DC4F00B97D7E /* crypto_stream_chacha20.h in Headers */,\n\t\t\t\t36A8DD791D28DC4F00B97D7E /* crypto_shorthash_siphash24.h in Headers */,\n\t\t\t\t36A8DD651D28DC4F00B97D7E /* crypto_core_salsa20.h in Headers */,\n\t\t\t\t36A8DD561D28DC1B00B97D7E /* Sodium.h in Headers */,\n\t\t\t\t36A8DD901D28DC4F00B97D7E /* sodium-lib.h in Headers */,\n\t\t\t\t36A8DD821D28DC4F00B97D7E /* crypto_stream_salsa208.h in Headers */,\n\t\t\t\t36A8DD7C1D28DC4F00B97D7E /* crypto_sign_edwards25519sha512batch.h in Headers */,\n\t\t\t\t36A8DD5C1D28DC4F00B97D7E /* crypto_aead_chacha20poly1305.h in Headers */,\n\t\t\t\t36A8DD5B1D28DC4F00B97D7E /* crypto_aead_aes256gcm.h in Headers */,\n\t\t\t\t36A8DD6E1D28DC4F00B97D7E /* crypto_int64.h in Headers */,\n\t\t\t\t36A8DD631D28DC4F00B97D7E /* crypto_core_hchacha20.h in Headers */,\n\t\t\t\t36A8DD5D1D28DC4F00B97D7E /* crypto_auth.h in Headers */,\n\t\t\t\t36A8DD6A1D28DC4F00B97D7E /* crypto_hash.h in Headers */,\n\t\t\t\t36A8DD7D1D28DC4F00B97D7E /* crypto_stream.h in Headers */,\n\t\t\t\t36A8DD641D28DC4F00B97D7E /* crypto_core_hsalsa20.h in Headers */,\n\t\t\t\t36A8DD6B1D28DC4F00B97D7E /* crypto_hash_sha256.h in Headers */,\n\t\t\t\t36A8DD621D28DC4F00B97D7E /* crypto_box_curve25519xsalsa20poly1305.h in Headers */,\n\t\t\t\t36A8DD6F1D28DC4F00B97D7E /* crypto_onetimeauth.h in Headers */,\n\t\t\t\t36A8DD761D28DC4F00B97D7E /* crypto_secretbox.h in Headers */,\n\t\t\t\t36A8DD8A1D28DC4F00B97D7E /* crypto_verify_64.h in Headers */,\n\t\t\t\t36A8DD741D28DC4F00B97D7E /* crypto_scalarmult.h in Headers */,\n\t\t\t\t36A8DD601D28DC4F00B97D7E /* crypto_auth_hmacsha512256.h in Headers */,\n\t\t\t\t36A8DD841D28DC4F00B97D7E /* crypto_uint16.h in Headers */,\n\t\t\t\t36A8DD7B1D28DC4F00B97D7E /* crypto_sign_ed25519.h in Headers */,\n\t\t\t\t36A8DD8E1D28DC4F00B97D7E /* randombytes_sysrandom.h in Headers */,\n\t\t\t\t36A8DD681D28DC4F00B97D7E /* crypto_generichash.h in Headers */,\n\t\t\t\t36A8DD861D28DC4F00B97D7E /* crypto_uint64.h in Headers */,\n\t\t\t\t36A8DD8D1D28DC4F00B97D7E /* randombytes_salsa20_random.h in Headers */,\n\t\t\t\t36A8DD6D1D28DC4F00B97D7E /* crypto_int32.h in Headers */,\n\t\t\t\t36A8DD5A1D28DC4F00B97D7E /* core.h in Headers */,\n\t\t\t\t36A8DD721D28DC4F00B97D7E /* crypto_pwhash_argon2i.h in Headers */,\n\t\t\t\t36A8DD801D28DC4F00B97D7E /* crypto_stream_salsa20.h in Headers */,\n\t\t\t\t36A8DD771D28DC4F00B97D7E /* crypto_secretbox_xsalsa20poly1305.h in Headers */,\n\t\t\t\t36A8DD5E1D28DC4F00B97D7E /* crypto_auth_hmacsha256.h in Headers */,\n\t\t\t\t36A8DD851D28DC4F00B97D7E /* crypto_uint32.h in Headers */,\n\t\t\t\t36A8DD6C1D28DC4F00B97D7E /* crypto_hash_sha512.h in Headers */,\n\t\t\t\t36A8DD8F1D28DC4F00B97D7E /* runtime.h in Headers */,\n\t\t\t\t36A8DD911D28DC4F00B97D7E /* utils.h in Headers */,\n\t\t\t\t36A8DD871D28DC4F00B97D7E /* crypto_uint8.h in Headers */,\n\t\t\t\t36A8DD661D28DC4F00B97D7E /* crypto_core_salsa2012.h in Headers */,\n\t\t\t\t36A8DD921D28DC4F00B97D7E /* version.h in Headers */,\n\t\t\t\t36A8DD7E1D28DC4F00B97D7E /* crypto_stream_aes128ctr.h in Headers */,\n\t\t\t\t36A8DD8B1D28DC4F00B97D7E /* export.h in Headers */,\n\t\t\t\t36A8DD781D28DC4F00B97D7E /* crypto_shorthash.h in Headers */,\n\t\t\t\t36A8DD5F1D28DC4F00B97D7E /* crypto_auth_hmacsha512.h in Headers */,\n\t\t\t\t36A8DD731D28DC4F00B97D7E /* crypto_pwhash_scryptsalsa208sha256.h in Headers */,\n\t\t\t\t36A8DD751D28DC4F00B97D7E /* crypto_scalarmult_curve25519.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t36A8DCAA1D28D70D00B97D7E /* Sodium-macOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 36A8DCB31D28D70D00B97D7E /* Build configuration list for PBXNativeTarget \"Sodium-macOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t36A8DCA61D28D70D00B97D7E /* Sources */,\n\t\t\t\t36A8DCA71D28D70D00B97D7E /* Frameworks */,\n\t\t\t\t36A8DCA81D28D70D00B97D7E /* Headers */,\n\t\t\t\t36A8DCA91D28D70D00B97D7E /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Sodium-macOS\";\n\t\t\tproductName = Sodium;\n\t\t\tproductReference = 36A8DCAB1D28D70D00B97D7E /* Sodium.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t36A8DD451D28DA5A00B97D7E /* Sodium-iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 36A8DD4B1D28DA5A00B97D7E /* Build configuration list for PBXNativeTarget \"Sodium-iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t36A8DD411D28DA5A00B97D7E /* Sources */,\n\t\t\t\t36A8DD421D28DA5A00B97D7E /* Frameworks */,\n\t\t\t\t36A8DD431D28DA5A00B97D7E /* Headers */,\n\t\t\t\t36A8DD441D28DA5A00B97D7E /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Sodium-iOS\";\n\t\t\tproductName = Sodium;\n\t\t\tproductReference = 36A8DD461D28DA5A00B97D7E /* Sodium.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t36A8DD961D292B9A00B97D7E /* SodiumTests */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 36A8DDA11D292B9A00B97D7E /* Build configuration list for PBXNativeTarget \"SodiumTests\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t36A8DD931D292B9A00B97D7E /* Sources */,\n\t\t\t\t36A8DD941D292B9A00B97D7E /* Frameworks */,\n\t\t\t\t36A8DD951D292B9A00B97D7E /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t36A8DD9E1D292B9A00B97D7E /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = SodiumTests;\n\t\t\tproductName = SodiumTests;\n\t\t\tproductReference = 36A8DD971D292B9A00B97D7E /* SodiumTests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\t36A8DDA81D29409800B97D7E /* SodiumTests-iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 36A8DDB11D29409800B97D7E /* Build configuration list for PBXNativeTarget \"SodiumTests-iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t36A8DDA51D29409800B97D7E /* Sources */,\n\t\t\t\t36A8DDA61D29409800B97D7E /* Frameworks */,\n\t\t\t\t36A8DDA71D29409800B97D7E /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t36A8DDB01D29409800B97D7E /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"SodiumTests-iOS\";\n\t\t\tproductName = \"SodiumTests-iOS\";\n\t\t\tproductReference = 36A8DDA91D29409800B97D7E /* SodiumTests-iOS.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t36A8DCA21D28D70D00B97D7E /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0730;\n\t\t\t\tLastUpgradeCheck = 0730;\n\t\t\t\tORGANIZATIONNAME = \"Zhuhao Wang\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t36A8DCAA1D28D70D00B97D7E = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.3.1;\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t};\n\t\t\t\t\t36A8DD451D28DA5A00B97D7E = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.3.1;\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t};\n\t\t\t\t\t36A8DD961D292B9A00B97D7E = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.3.1;\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t};\n\t\t\t\t\t36A8DDA81D29409800B97D7E = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.3.1;\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 36A8DCA51D28D70D00B97D7E /* Build configuration list for PBXProject \"Sodium\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = 36A8DCA11D28D70D00B97D7E;\n\t\t\tproductRefGroup = 36A8DCAC1D28D70D00B97D7E /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t36A8DCAA1D28D70D00B97D7E /* Sodium-macOS */,\n\t\t\t\t36A8DD451D28DA5A00B97D7E /* Sodium-iOS */,\n\t\t\t\t36A8DD961D292B9A00B97D7E /* SodiumTests */,\n\t\t\t\t36A8DDA81D29409800B97D7E /* SodiumTests-iOS */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t36A8DCA91D28D70D00B97D7E /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DD441D28DA5A00B97D7E /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DD951D292B9A00B97D7E /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DDA71D29409800B97D7E /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t36A8DCA61D28D70D00B97D7E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DD411D28DA5A00B97D7E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DD931D292B9A00B97D7E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A8DD9A1D292B9A00B97D7E /* SodiumTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A8DDA51D29409800B97D7E /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A8DDB41D2940A300B97D7E /* SodiumTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t36A8DD9E1D292B9A00B97D7E /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 36A8DCAA1D28D70D00B97D7E /* Sodium-macOS */;\n\t\t\ttargetProxy = 36A8DD9D1D292B9A00B97D7E /* PBXContainerItemProxy */;\n\t\t};\n\t\t36A8DDB01D29409800B97D7E /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 36A8DD451D28DA5A00B97D7E /* Sodium-iOS */;\n\t\t\ttargetProxy = 36A8DDAF1D29409800B97D7E /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\t36A8DCB11D28D70D00B97D7E /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.11;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t36A8DCB21D28D70D00B97D7E /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.11;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t36A8DCB41D28D70D00B97D7E /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sodium/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tLIBRARY_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Sodium\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Sodium/libs\",\n\t\t\t\t);\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tOTHER_LDFLAGS = \"-all_load\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.Sodium;\n\t\t\t\tPRODUCT_NAME = Sodium;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 2.3;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t36A8DCB51D28D70D00B97D7E /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sodium/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tLIBRARY_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Sodium\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Sodium/libs\",\n\t\t\t\t);\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tOTHER_LDFLAGS = \"-all_load\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.Sodium;\n\t\t\t\tPRODUCT_NAME = Sodium;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 2.3;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t36A8DD4C1D28DA5A00B97D7E /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sodium/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tLIBRARY_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Sodium\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Sodium/libs\",\n\t\t\t\t);\n\t\t\t\tOTHER_LDFLAGS = \"-all_load\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.Sodium;\n\t\t\t\tPRODUCT_NAME = Sodium;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 2.3;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t36A8DD4D1D28DA5A00B97D7E /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sodium/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tLIBRARY_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Sodium\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Sodium/libs\",\n\t\t\t\t);\n\t\t\t\tOTHER_LDFLAGS = \"-all_load\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.Sodium;\n\t\t\t\tPRODUCT_NAME = Sodium;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 2.3;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t36A8DD9F1D292B9A00B97D7E /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tINFOPLIST_FILE = SodiumTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.SodiumTests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 2.3;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t36A8DDA01D292B9A00B97D7E /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tINFOPLIST_FILE = SodiumTests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.SodiumTests;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSWIFT_VERSION = 2.3;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t36A8DDB21D29409800B97D7E /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tINFOPLIST_FILE = \"SodiumTests-iOS/Info.plist\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"me.zhuhaow.SodiumTests-iOS\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 2.3;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t36A8DDB31D29409800B97D7E /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tINFOPLIST_FILE = \"SodiumTests-iOS/Info.plist\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = \"me.zhuhaow.SodiumTests-iOS\";\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_VERSION = 2.3;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t36A8DCA51D28D70D00B97D7E /* Build configuration list for PBXProject \"Sodium\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t36A8DCB11D28D70D00B97D7E /* Debug */,\n\t\t\t\t36A8DCB21D28D70D00B97D7E /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t36A8DCB31D28D70D00B97D7E /* Build configuration list for PBXNativeTarget \"Sodium-macOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t36A8DCB41D28D70D00B97D7E /* Debug */,\n\t\t\t\t36A8DCB51D28D70D00B97D7E /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t36A8DD4B1D28DA5A00B97D7E /* Build configuration list for PBXNativeTarget \"Sodium-iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t36A8DD4C1D28DA5A00B97D7E /* Debug */,\n\t\t\t\t36A8DD4D1D28DA5A00B97D7E /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t36A8DDA11D292B9A00B97D7E /* Build configuration list for PBXNativeTarget \"SodiumTests\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t36A8DD9F1D292B9A00B97D7E /* Debug */,\n\t\t\t\t36A8DDA01D292B9A00B97D7E /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t36A8DDB11D29409800B97D7E /* Build configuration list for PBXNativeTarget \"SodiumTests-iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t36A8DDB21D29409800B97D7E /* Debug */,\n\t\t\t\t36A8DDB31D29409800B97D7E /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 36A8DCA21D28D70D00B97D7E /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium.xcodeproj/xcshareddata/xcschemes/Sodium-iOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0730\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"36A8DD451D28DA5A00B97D7E\"\n               BuildableName = \"Sodium.framework\"\n               BlueprintName = \"Sodium-iOS\"\n               ReferencedContainer = \"container:Sodium.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"36A8DDA81D29409800B97D7E\"\n               BuildableName = \"SodiumTests-iOS.xctest\"\n               BlueprintName = \"SodiumTests-iOS\"\n               ReferencedContainer = \"container:Sodium.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A8DD451D28DA5A00B97D7E\"\n            BuildableName = \"Sodium.framework\"\n            BlueprintName = \"Sodium-iOS\"\n            ReferencedContainer = \"container:Sodium.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A8DD451D28DA5A00B97D7E\"\n            BuildableName = \"Sodium.framework\"\n            BlueprintName = \"Sodium-iOS\"\n            ReferencedContainer = \"container:Sodium.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A8DD451D28DA5A00B97D7E\"\n            BuildableName = \"Sodium.framework\"\n            BlueprintName = \"Sodium-iOS\"\n            ReferencedContainer = \"container:Sodium.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/Sodium.xcodeproj/xcshareddata/xcschemes/Sodium-macOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0730\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"36A8DCAA1D28D70D00B97D7E\"\n               BuildableName = \"Sodium.framework\"\n               BlueprintName = \"Sodium-macOS\"\n               ReferencedContainer = \"container:Sodium.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"36A8DD961D292B9A00B97D7E\"\n               BuildableName = \"SodiumTests.xctest\"\n               BlueprintName = \"SodiumTests\"\n               ReferencedContainer = \"container:Sodium.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A8DCAA1D28D70D00B97D7E\"\n            BuildableName = \"Sodium.framework\"\n            BlueprintName = \"Sodium-macOS\"\n            ReferencedContainer = \"container:Sodium.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A8DCAA1D28D70D00B97D7E\"\n            BuildableName = \"Sodium.framework\"\n            BlueprintName = \"Sodium-macOS\"\n            ReferencedContainer = \"container:Sodium.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A8DCAA1D28D70D00B97D7E\"\n            BuildableName = \"Sodium.framework\"\n            BlueprintName = \"Sodium-macOS\"\n            ReferencedContainer = \"container:Sodium.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/SodiumTests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/SodiumTests/SodiumTests.swift",
    "content": "//\n//  SodiumTests.swift\n//  SodiumTests\n//\n//  Created by Zhuhao Wang on 7/3/16.\n//  Copyright © 2016 Zhuhao Wang. All rights reserved.\n//\n\nimport XCTest\nimport Sodium\n\nclass SodiumTests: XCTestCase {\n\n    override func setUp() {\n        super.setUp()\n        // Put setup code here. This method is called before the invocation of each test method in the class.\n    }\n\n    override func tearDown() {\n        // Put teardown code here. This method is called after the invocation of each test method in the class.\n        super.tearDown()\n    }\n\n    func testInitalization() {\n        assert(sodium_init() == 0, \"Failed to initailize libsodium\")\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/Sodium-framework/SodiumTests-iOS/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/.gitignore",
    "content": "###SublimeText###\n\n# cache files for sublime text\n*.tmlanguage.cache\n*.tmPreferences.cache\n*.stTheme.cache\n\n# workspace files are user-specific\n*.sublime-workspace\n\n# project files should be checked into the repository, unless a significant\n# proportion of contributors will probably not be using SublimeText\n# *.sublime-project\n\n# sftp configuration file\nsftp-config.json\n\n.DS_Store\n/.build\n/Packages\n/*.xcodeproj"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/.swift-version",
    "content": "4.0\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/.travis.yml",
    "content": "os:\n  - linux\n  - osx\nlanguage: generic\nsudo: required\ndist: trusty\nosx_image: xcode4\nscript:\n  - eval \"$(curl -sL https://swift.vapor.sh/ci-3.1)\"\n  - eval \"$(curl -sL https://swift.vapor.sh/codecov)\"\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2015 Behrang Noruzi Niya\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Package.swift",
    "content": "// swift-tools-version:4.1\n// The swift-tools-version declares the minimum version of Swift required to build this package.\n\nimport PackageDescription\n\nlet package = Package(\n    name: \"Yaml\",\n    products: [\n        // Products define the executables and libraries produced by a package, and make them visible to other packages.\n        .library(\n            name: \"Yaml\",\n            targets: [\"Yaml\"]),\n    ],\n    dependencies: [\n        // Dependencies declare other packages that this package depends on.\n        // .package(url: /* package url */, from: \"1.0.0\"),\n    ],\n    targets: [\n        // Targets are the basic building blocks of a package. A target can define a module or a test suite.\n        // Targets can depend on other targets in this package, and on products in packages which this package depends on.\n        .target(\n            name: \"Yaml\",\n            dependencies: []),\n        .testTarget(\n            name: \"YamlTests\",\n            dependencies: [\"Yaml\"]),\n    ]\n)\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Readme.md",
    "content": "# YamlSwift\n\nLoad [YAML](http://yaml.org) and [JSON](http://json.org) documents using [Swift](http://www.apple.com/swift/).\n\n`YamlSwift` parses a string of YAML document(s) (or a JSON document) and returns a `Yaml` enum value representing that string.\n\n\n\n\n\n## Install\n\nUse [Carthage](https://github.com/Carthage/Carthage) to build and install.\n\nOr use [CocoaPods](https://cocoapods.org/) :\nAdd `pod 'Yaml'` to your `Podfile` and run `pod install`.\n\nIt supports Swift Package Manager. \n\n```\n        .package(\n            url: \"https://github.com/behrang/YamlSwift.git\",\n            from: \"\n\n```\n\nAnd:\n\n```\n        .target(\n            name: \"YourProject\",\n            dependencies: [\"Yaml\"]),\n```\n\n## API\n\n\n\n\n\n### import\n\nTo use it, you should import it using the following statement:\n\n```swift\nimport Yaml\n```\n\n\n\n\n\n### Yaml\n\nA Yaml value can be any of these cases:\n\n```swift\nenum Yaml {\n  case null\n  case bool(Bool)\n  case int(Int)\n  case double(Double)\n  case string(String)\n  case array([Yaml])\n  case dictionary([Yaml: Yaml])\n}\n```\n\n\n\n\n\n### Yaml.load\n\n```swift\nYaml.load (String) throws -> Yaml\n```\n\nTakes a string of a YAML document and returns a `Yaml` enum.\n\n```swift\nlet value = try! Yaml.load(\"a: 1\\nb: 2\")\nprint(value[\"a\"])  // Int(1)\nprint(value[\"b\"])  // Int(2)\nprint(value[\"c\"])  // Null\n```\n\nIf the input document is invalid or contains more than one YAML document, an error is thrown.\n\n```swift\ndo {\n  let value = try Yaml.load(\"a\\nb: 2\")\n}\ncatch {\n  print(error)  // expected end, near \"b: 2\"\n}\n\n```\n\n\n\n\n\n### Yaml.loadMultiple\n\n```swift\nYaml.loadMultiple (String) throws -> [Yaml]\n```\n\nTakes a string of one or more YAML documents and returns `[Yaml]`.\n\n```swift\nlet value = try! Yaml.loadMultiple(\"---\\na: 1\\nb: 2\\n---\\na: 3\\nb: 4\")\nprint(value[0][\"a\"])  // Int(1)\nprint(value[1][\"a\"])  // Int(3)\n```\n\nIt will throw an error if an error is encountered in any of the documents.\n\n\n\n\n\n### Yaml#[Int] -> Yaml\n\n```swift\nvalue[Int] -> Yaml\nvalue[Int] = Yaml\n```\n\nIf used on a `Yaml.array` value, it will return the value at the specified index. If the index is invalid or the value is not a `Yaml.array`, `Yaml.null` is returned. You can also set a value at a specific index. Enough elements will be added to the wrapped array to set the specified index. If the value is not a `Yaml.array`, it will change to it after set.\n\n```swift\nvar value = try! Yaml.load(\"- Behrang\\n- Maryam\")\nprint(value[0])  // String(Behrang)\nprint(value[1])  // String(Maryam)\nprint(value[2])  // Null\nvalue[2] = \"Radin\"\nprint(value[2])  // String(Radin)\n```\n\n\n\n\n\n### Yaml#[Yaml] -> Yaml\n\n```swift\nvalue[Yaml] -> Yaml\nvalue[Yaml] = Yaml\n```\n\nIf used on a `Yaml.dictionary` value, it will return the value for the specified key. If a value for the specified key does not exist, or value is not a `Yaml.dictionary`, `Yaml.null` is returned. You can also set a value for a specific key. If the value is not a `Yaml.dictionary`, it will change to it after set.\n\nSince `Yaml` is a literal convertible type, you can pass simple values to this method.\n\n```swift\nvar value = try! Yaml.load(\"first name: Behrang\\nlast name: Noruzi Niya\")\nprint(value[\"first name\"])  // String(Behrang)\nprint(value[\"last name\"])  // String(Noruzi Niya)\nprint(value[\"age\"])  // Null\nvalue[\"first name\"] = \"Radin\"\nvalue[\"age\"] = 1\nprint(value[\"first name\"])  // String(Radin)\nprint(value[\"last name\"])  // String(Noruzi Niya)\nprint(value[\"age\"])  // Int(1)\n```\n\n\n\n\n\n### Yaml#bool\n\n```swift\nvalue.bool -> Bool?\n```\n\nReturns an `Optional<Bool>` value. If the value is a `Yaml.bool` value, the wrapped value is returned. Otherwise `nil` is returned.\n\n```swift\nlet value = try! Yaml.load(\"animate: true\\nshow tip: false\\nusage: 25\")\nprint(value[\"animate\"].bool)  // Optional(true)\nprint(value[\"show tip\"].bool)  // Optional(false)\nprint(value[\"usage\"].bool)  // nil\n```\n\n\n\n\n\n### Yaml#int\n\n```swift\nvalue.int -> Int?\n```\n\nReturns an `Optional<Int>` value. If the value is a `Yaml.int` value, the wrapped value is returned. Otherwise `nil` is returned.\n\n```swift\nlet value = try! Yaml.load(\"a: 1\\nb: 2.0\\nc: 2.5\")\nprint(value[\"a\"].int)  // Optional(1)\nprint(value[\"b\"].int)  // Optional(2)\nprint(value[\"c\"].int)  // nil\n```\n\n\n\n\n\n### Yaml#double\n\n```swift\nvalue.double -> Double?\n```\n\nReturns an `Optional<Double>` value. If the value is a `Yaml.double` value, the wrapped value is returned. Otherwise `nil` is returned.\n\n```swift\nlet value = try! Yaml.load(\"a: 1\\nb: 2.0\\nc: 2.5\\nd: true\")\nprint(value[\"a\"].double)  // Optional(1.0)\nprint(value[\"b\"].double)  // Optional(2.0)\nprint(value[\"c\"].double)  // Optional(2.5)\nprint(value[\"d\"].double)  // nil\n```\n\n\n\n\n\n### Yaml#string\n\n```swift\nvalue.string -> String?\n```\n\nReturns an `Optional<String>` value. If the value is a `Yaml.string` value, the wrapped value is returned. Otherwise `nil` is returned.\n\n```swift\nlet value = try! Yaml.load(\"first name: Behrang\\nlast name: Noruzi Niya\\nage: 33\")\nprint(value[\"first name\"].string)  // Optional(\"Behrang\")\nprint(value[\"last name\"].string)  // Optional(\"Noruzi Niya\")\nprint(value[\"age\"].string)  // nil\n```\n\n\n\n\n\n### Yaml#array\n\n```swift\nvalue.array -> [Yaml]?\n```\n\nReturns an `Optional<Array<Yaml>>` value. If the value is a `Yaml.array` value, the wrapped value is returned. Otherwise `nil` is returned.\n\n```swift\nlet value = try! Yaml.load(\"languages:\\n - Swift: true\\n - Objective C: false\")\nprint(value.array)  // nil\nprint(value[\"languages\"].array)  // Optional([Dictionary([String(Swift): Bool(true)]), Dictionary([String(Objective C): Bool(false)])])\n```\n\n\n\n\n\n### Yaml#dictionary\n\n```swift\nvalue.dictionary -> [Yaml: Yaml]?\n```\n\nReturns an `Optional<Dictionary<Yaml, Yaml>>` value. If the value is a `Yaml.dictionary` value, the wrapped value is returned. Otherwise `nil` is returned.\n\n```swift\nlet value = try! Yaml.load(\"- Swift: true\\n- Objective C: false\")\nprint(value.dictionary)  // nil\nprint(value[0].dictionary)  // Optional([String(Swift): Bool(true)])\n```\n\n\n\n\n\n### Yaml#count\n\n```swift\nvalue.count -> Int?\n```\n\nReturns an `Optional<Int>` value. If the value is either a `Yaml.array` or a `Yaml.dictionary` value, the count of elements is returned. Otherwise `nil` is returned.\n\n```swift\nlet value = try! Yaml.load(\"- Swift: true\\n- Objective C: false\")\nprint(value.count)  // Optional(2)\nprint(value[0].count)  // Optional(1)\nprint(value[0][\"Swift\"].count)  // nil\n```\n\n\n\n\n\n## License\n\nMIT\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Sources/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Sources/Yaml/YAMLOperators.swift",
    "content": "infix operator |>: Functional\nfunc |> <T, U> (x: T, f: (T) -> U) -> U {\n  return f(x)\n}\n\n\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Sources/Yaml/YAMLParser.swift",
    "content": "import Foundation\n\nprivate typealias Resulter = Yaml\n\n\nextension Yaml {\n\nstruct Context {\n  let tokens: [Yaml.TokenMatch]\n  let aliases: [String.SubSequence: Yaml]\n\n  init (_ tokens: [Yaml.TokenMatch], _ aliases: [String.SubSequence: Yaml] = [:]) {\n    self.tokens = tokens\n    self.aliases = aliases\n  }\n  static func parseDoc (_ tokens: [Yaml.TokenMatch]) -> YAMLResult<Yaml> {\n    let c = Resulter.lift(Context(tokens))\n    let cv = c >>=- parseHeader >>=- parse\n    let v = cv >>- getValue\n    return cv\n      >>- getContext\n      >>- ignoreDocEnd\n      >>=- expect(Yaml.TokenType.end, message: \"expected end\")\n      >>| v\n  }\n  \n  static func parseDocs (_ tokens: [Yaml.TokenMatch]) -> YAMLResult<[Yaml]> {\n    return parseDocs([])(Context(tokens))\n  }\n  \n  static func parseDocs (_ acc: [Yaml]) -> (Context) -> YAMLResult<[Yaml]> {\n    return { context in\n      if peekType(context) == .end {\n        return Resulter.lift(acc)\n      }\n      let cv = Resulter.lift(context)\n        >>=- parseHeader\n        >>=- parse\n      let v = cv\n        >>- getValue\n      let c = cv\n        >>- getContext\n        >>- ignoreDocEnd\n      let a = appendToArray(acc) <^> v\n      return parseDocs <^> a <*> c |> Resulter.join\n    }\n  }\n  \n  static func error (_ message: String) -> (Context) -> String {\n    return { context in\n      let text = recreateText(\"\", context: context) |> Yaml.escapeErrorContext\n      return \"\\(message), \\(text)\"\n    }\n  }\n\n  \n\n}\n\n}\n\nprivate typealias Context = Yaml.Context\n\nprivate var error = Yaml.Context.error\n\nprivate typealias ContextValue = (context: Context, value: Yaml)\n\nprivate func createContextValue (_ context: Context) -> (Yaml) -> ContextValue {\n  return { value in (context, value) }\n}\n\nprivate func getContext (_ cv: ContextValue) -> Context {\n  return cv.context\n}\n\nprivate func getValue (_ cv: ContextValue) -> Yaml {\n  return cv.value\n}\n\n\nprivate func peekType (_ context: Context) -> Yaml.TokenType {\n  return context.tokens[0].type\n}\n\n\nprivate func peekMatch (_ context: Context) -> String {\n  return context.tokens[0].match\n}\n\n\nprivate func advance (_ context: Context) -> Context {\n  var tokens = context.tokens\n  tokens.remove(at: 0)\n  return Context(tokens, context.aliases)\n}\n\nprivate func ignoreSpace (_ context: Context) -> Context {\n  if ![.comment, .space, .newLine].contains(peekType(context)) {\n    return context\n  }\n  return ignoreSpace(advance(context))\n}\n\nprivate func ignoreDocEnd (_ context: Context) -> Context {\n  if ![.comment, .space, .newLine, .docend].contains(peekType(context)) {\n    return context\n  }\n  return ignoreDocEnd(advance(context))\n}\n\nprivate func expect (_ type: Yaml.TokenType, message: String) -> (Context) -> YAMLResult<Context> {\n  return { context in\n    let check = peekType(context) == type\n    return Resulter.`guard`(error(message)(context), check: check)\n        >>| Resulter.lift(advance(context))\n  }\n}\n\nprivate func expectVersion (_ context: Context) -> YAMLResult<Context> {\n  let version = peekMatch(context)\n  let check = [\"1.1\", \"1.2\"].contains(version)\n  return Resulter.`guard`(error(\"invalid yaml version\")(context), check: check)\n      >>| Resulter.lift(advance(context))\n}\n\n\nprivate func recreateText (_ string: String, context: Context) -> String {\n  if string.count >= 50 || peekType(context) == .end {\n    return string\n  }\n  return recreateText(string + peekMatch(context), context: advance(context))\n}\n\nprivate func parseHeader (_ context: Context) -> YAMLResult<Context> {\n  return parseHeader(true)(Context(context.tokens, [:]))\n}\n\nprivate func parseHeader (_ yamlAllowed: Bool) -> (Context) -> YAMLResult<Context> {\n  return { context in\n    switch peekType(context) {\n\n    case .comment, .space, .newLine:\n      return Resulter.lift(context)\n          >>- advance\n          >>=- parseHeader(yamlAllowed)\n\n    case .yamlDirective:\n      let err = \"duplicate yaml directive\"\n      return Resulter.`guard`(error(err)(context), check: yamlAllowed)\n          >>| Resulter.lift(context)\n          >>- advance\n          >>=- expect(Yaml.TokenType.space, message: \"expected space\")\n          >>=- expectVersion\n          >>=- parseHeader(false)\n\n    case .docStart:\n      return Resulter.lift(advance(context))\n\n    default:\n      return Resulter.`guard`(error(\"expected ---\")(context), check: yamlAllowed)\n          >>| Resulter.lift(context)\n    }\n  }\n}\n\nprivate func parse (_ context: Context) -> YAMLResult<ContextValue> {\n  switch peekType(context) {\n\n  case .comment, .space, .newLine:\n    return parse(ignoreSpace(context))\n\n  case .null:\n    return Resulter.lift((advance(context), nil))\n\n  case ._true:\n    return Resulter.lift((advance(context), true))\n\n  case ._false:\n    return Resulter.lift((advance(context), false))\n\n  case .int:\n    let m = peekMatch(context)\n    // will throw runtime error if overflows\n    let v = Yaml.int(parseInt(m, radix: 10))\n    return Resulter.lift((advance(context), v))\n\n  case .intOct:\n    let m = peekMatch(context) |> Yaml.Regex.replace(Yaml.Regex.regex(\"0o\"), template: \"\")\n    // will throw runtime error if overflows\n    let v = Yaml.int(parseInt(m, radix: 8))\n    return Resulter.lift((advance(context), v))\n\n  case .intHex:\n    let m = peekMatch(context) |> Yaml.Regex.replace(Yaml.Regex.regex(\"0x\"), template: \"\")\n    // will throw runtime error if overflows\n    let v = Yaml.int(parseInt(m, radix: 16))\n    return Resulter.lift((advance(context), v))\n\n  case .intSex:\n    let m = peekMatch(context)\n    let v = Yaml.int(parseInt(m, radix: 60))\n    return Resulter.lift((advance(context), v))\n\n  case .infinityP:\n    return Resulter.lift((advance(context), .double(Double.infinity)))\n\n  case .infinityN:\n    return Resulter.lift((advance(context), .double(-Double.infinity)))\n\n  case .nan:\n    return Resulter.lift((advance(context), .double(Double.nan)))\n\n  case .double:\n    let m = NSString(string: peekMatch(context))\n    return Resulter.lift((advance(context), .double(m.doubleValue)))\n\n  case .dash:\n    return parseBlockSeq(context)\n\n  case .openSB:\n    return parseFlowSeq(context)\n\n  case .openCB:\n    return parseFlowMap(context)\n\n  case .questionMark:\n    return parseBlockMap(context)\n\n  case .stringDQ, .stringSQ, .string:\n    return parseBlockMapOrString(context)\n\n  case .literal:\n    return parseliteral(context)\n\n  case .folded:\n    let cv = parseliteral(context)\n    let c = cv >>- getContext\n    let v = cv\n        >>- getValue\n        >>- { value in Yaml.string(foldBlock(value.string ?? \"\")) }\n    return createContextValue <^> c <*> v\n\n  case .indent:\n    let cv = parse(advance(context))\n    let v = cv >>- getValue\n    let c = cv\n        >>- getContext\n        >>- ignoreSpace\n        >>=- expect(Yaml.TokenType.dedent, message: \"expected dedent\")\n    return createContextValue <^> c <*> v\n\n  case .anchor:\n    let m = peekMatch(context)\n    let name = m[m.index(after: m.startIndex)...]\n    let cv = parse(advance(context))\n    let v = cv >>- getValue\n    let c = addAlias(name) <^> v <*> (cv >>- getContext)\n    return createContextValue <^> c <*> v\n\n  case .alias:\n    let m = peekMatch(context)\n    let name = m[m.index(after: m.startIndex)...]\n    let value = context.aliases[name]\n    let err = \"unknown alias \\(name)\"\n    return Resulter.`guard`(error(err)(context), check: value != nil)\n        >>| Resulter.lift((advance(context), value ?? nil))\n\n  case .end, .dedent:\n    return Resulter.lift((context, nil))\n\n  default:\n    return Resulter.fail(error(\"unexpected type \\(peekType(context))\")(context))\n\n  }\n}\n\nprivate func addAlias (_ name: String.SubSequence) -> (Yaml) -> (Context) -> Context {\n  return { value in\n    return { context in\n      var aliases = context.aliases\n      aliases[name] = value\n      return Context(context.tokens, aliases)\n    }\n  }\n}\n\nprivate func appendToArray (_ array: [Yaml]) -> (Yaml) -> [Yaml] {\n  return { value in\n    return array + [value]\n  }\n}\n\nprivate func putToMap (_ map: [Yaml: Yaml]) -> (Yaml) -> (Yaml) -> [Yaml: Yaml] {\n  return { key in\n    return { value in\n      var map = map\n      map[key] = value\n      return map\n    }\n  }\n}\n\nprivate func checkKeyUniqueness (_ acc: [Yaml: Yaml]) -> (_ context: Context, _ key: Yaml)\n    -> YAMLResult<ContextValue> {\n      return { (context, key) in\n        let err = \"duplicate key \\(key)\"\n        return Resulter.`guard`(error(err)(context), check: !acc.keys.contains(key))\n            >>| Resulter.lift((context, key))\n      }\n}\n\nprivate func parseFlowSeq (_ context: Context) -> YAMLResult<ContextValue> {\n  return Resulter.lift(context)\n      >>=- expect(Yaml.TokenType.openSB, message: \"expected [\")\n      >>=- parseFlowSeq([])\n}\n\nprivate func parseFlowSeq (_ acc: [Yaml]) -> (Context) -> YAMLResult<ContextValue> {\n  return { context in\n    if peekType(context) == .closeSB {\n      return Resulter.lift((advance(context), .array(acc)))\n    }\n    let cv = Resulter.lift(context)\n        >>- ignoreSpace\n        >>=- (acc.count == 0 ? Resulter.lift : expect(Yaml.TokenType.comma, message: \"expected comma\"))\n        >>- ignoreSpace\n        >>=- parse\n    let v = cv >>- getValue\n    let c = cv\n        >>- getContext\n        >>- ignoreSpace\n    let a = appendToArray(acc) <^> v\n    return parseFlowSeq <^> a <*> c |> Resulter.join\n  }\n}\n\n\nprivate func parseFlowMap (_ context: Context) -> YAMLResult<ContextValue> {\n  return Resulter.lift(context)\n      >>=- expect(Yaml.TokenType.openCB, message: \"expected {\")\n      >>=- parseFlowMap([:])\n}\n\nprivate func parseFlowMap (_ acc: [Yaml: Yaml]) -> (Context) -> YAMLResult<ContextValue> {\n  return { context in\n    if peekType(context) == .closeCB {\n      return Resulter.lift((advance(context), .dictionary(acc)))\n    }\n    let ck = Resulter.lift(context)\n        >>- ignoreSpace\n        >>=- (acc.count == 0 ? Resulter.lift : expect(Yaml.TokenType.comma, message: \"expected comma\"))\n        >>- ignoreSpace\n        >>=- parseString\n        >>=- checkKeyUniqueness(acc)\n    let k = ck >>- getValue\n    let cv = ck\n        >>- getContext\n        >>=- expect(Yaml.TokenType.colon, message: \"expected colon\")\n        >>=- parse\n    let v = cv >>- getValue\n    let c = cv\n        >>- getContext\n        >>- ignoreSpace\n    let a = putToMap(acc) <^> k <*> v\n    return parseFlowMap <^> a <*> c |> Resulter.join\n  }\n}\n\nprivate func parseBlockSeq (_ context: Context) -> YAMLResult<ContextValue> {\n  return parseBlockSeq([])(context)\n}\n\nprivate func parseBlockSeq (_ acc: [Yaml]) -> (Context) -> YAMLResult<ContextValue> {\n  return { context in\n    if peekType(context) != .dash {\n      return Resulter.lift((context, .array(acc)))\n    }\n    let cv = Resulter.lift(context)\n        >>- advance\n        >>=- expect(Yaml.TokenType.indent, message: \"expected indent after dash\")\n        >>- ignoreSpace\n        >>=- parse\n    let v = cv >>- getValue\n    let c = cv\n        >>- getContext\n        >>- ignoreSpace\n        >>=- expect(Yaml.TokenType.dedent, message: \"expected dedent after dash indent\")\n        >>- ignoreSpace\n    let a = appendToArray(acc) <^> v\n    return parseBlockSeq <^> a <*> c |> Resulter.join\n  }\n}\n\nprivate func parseBlockMap (_ context: Context) -> YAMLResult<ContextValue> {\n  return parseBlockMap([:])(context)\n}\n\nprivate func parseBlockMap (_ acc: [Yaml: Yaml]) -> (Context) -> YAMLResult<ContextValue> {\n  return { context in\n    switch peekType(context) {\n\n    case .questionMark:\n      return parseQuestionMarkkeyValue(acc)(context)\n\n    case .string, .stringDQ, .stringSQ:\n      return parseStringKeyValue(acc)(context)\n\n    default:\n      return Resulter.lift((context, .dictionary(acc)))\n    }\n  }\n}\n\nprivate func parseQuestionMarkkeyValue (_ acc: [Yaml: Yaml]) -> (Context) -> YAMLResult<ContextValue> {\n  return { context in\n    let ck = Resulter.lift(context)\n        >>=- expect(Yaml.TokenType.questionMark, message: \"expected ?\")\n        >>=- parse\n        >>=- checkKeyUniqueness(acc)\n    let k = ck >>- getValue\n    let cv = ck\n        >>- getContext\n        >>- ignoreSpace\n        >>=- parseColonValueOrNil\n    let v = cv >>- getValue\n    let c = cv\n        >>- getContext\n        >>- ignoreSpace\n    let a = putToMap(acc) <^> k <*> v\n    return parseBlockMap <^> a <*> c |> Resulter.join\n  }\n}\n\nprivate func parseColonValueOrNil (_ context: Context) -> YAMLResult<ContextValue> {\n  if peekType(context) != .colon {\n    return Resulter.lift((context, nil))\n  }\n  return parseColonValue(context)\n}\n\nprivate func parseColonValue (_ context: Context) -> YAMLResult<ContextValue> {\n  return Resulter.lift(context)\n      >>=- expect(Yaml.TokenType.colon, message: \"expected colon\")\n      >>- ignoreSpace\n      >>=- parse\n}\n\nprivate func parseStringKeyValue (_ acc: [Yaml: Yaml]) -> (Context) -> YAMLResult<ContextValue> {\n  return { context in\n    let ck = Resulter.lift(context)\n        >>=- parseString\n        >>=- checkKeyUniqueness(acc)\n    let k = ck >>- getValue\n    let cv = ck\n        >>- getContext\n        >>- ignoreSpace\n        >>=- parseColonValue\n    let v = cv >>- getValue\n    let c = cv\n        >>- getContext\n        >>- ignoreSpace\n    let a = putToMap(acc) <^> k <*> v\n    return parseBlockMap <^> a <*> c |> Resulter.join\n  }\n}\n\nprivate func parseString (_ context: Context) -> YAMLResult<ContextValue> {\n  switch peekType(context) {\n\n  case .string:\n    let m = normalizeBreaks(peekMatch(context))\n    let folded = m |> Yaml.Regex.replace(Yaml.Regex.regex(\"^[ \\\\t\\\\n]+|[ \\\\t\\\\n]+$\"), template: \"\") |> foldFlow\n    return Resulter.lift((advance(context), .string(folded)))\n\n  case .stringDQ:\n    let m = unwrapQuotedString(normalizeBreaks(peekMatch(context)))\n    return Resulter.lift((advance(context), .string(unescapeDoubleQuotes(foldFlow(m)))))\n\n  case .stringSQ:\n    let m = unwrapQuotedString(normalizeBreaks(peekMatch(context)))\n    return Resulter.lift((advance(context), .string(unescapeSingleQuotes(foldFlow(m)))))\n\n  default:\n    return Resulter.fail(error(\"expected string\")(context))\n  }\n}\n\n\nprivate func parseBlockMapOrString (_ context: Context) -> YAMLResult<ContextValue> {\n  let match = peekMatch(context)\n  // should spaces before colon be ignored?\n  return context.tokens[1].type != .colon || Yaml.Regex.matches(match, regex: Yaml.Regex.regex(\"\\n\"))\n      ? parseString(context)\n      : parseBlockMap(context)\n}\n\nprivate func foldBlock (_ block: String) -> String {\n  let (body, trail) = block |> Yaml.Regex.splitTrail(Yaml.Regex.regex(\"\\\\n*$\"))\n  return (body\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"^([^ \\\\t\\\\n].*)\\\\n(?=[^ \\\\t\\\\n])\", options: \"m\"), template: \"$1 \")\n      |> Yaml.Regex.replace(\n            Yaml.Regex.regex(\"^([^ \\\\t\\\\n].*)\\\\n(\\\\n+)(?![ \\\\t])\", options: \"m\"), template: \"$1$2\")\n      ) + trail\n}\n\nprivate func foldFlow (_ flow: String) -> String {\n  let (lead, rest) = flow |> Yaml.Regex.splitLead(Yaml.Regex.regex(\"^[ \\\\t]+\"))\n  let (body, trail) = rest |> Yaml.Regex.splitTrail(Yaml.Regex.regex(\"[ \\\\t]+$\"))\n  let folded = body\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"^[ \\\\t]+|[ \\\\t]+$|\\\\\\\\\\\\n\", options: \"m\"), template: \"\")\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"(^|.)\\\\n(?=.|$)\"), template: \"$1 \")\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"(.)\\\\n(\\\\n+)\"), template: \"$1$2\")\n  return lead + folded + trail\n}\n\nprivate func count(string: String) -> Int {\n  return string.count\n}\n\nprivate func parseliteral (_ context: Context) -> YAMLResult<ContextValue> {\n  let literal = peekMatch(context)\n  let blockContext = advance(context)\n  let chomps = [\"-\": -1, \"+\": 1]\n  let chomp = chomps[literal |> Yaml.Regex.replace(Yaml.Regex.regex(\"[^-+]\"), template: \"\")] ?? 0\n  let indent = parseInt(literal |> Yaml.Regex.replace(Yaml.Regex.regex(\"[^1-9]\"), template: \"\"), radix: 10)\n  let headerPattern = Yaml.Regex.regex(\"^(\\\\||>)([1-9][-+]|[-+]?[1-9]?)( |$)\")\n  let error0 = \"invalid chomp or indent header\"\n  let c = Resulter.`guard`(error(error0)(context),\n        check: Yaml.Regex.matches(literal, regex: headerPattern!))\n      >>| Resulter.lift(blockContext)\n      >>=- expect(Yaml.TokenType.string, message: \"expected scalar block\")\n  let block = peekMatch(blockContext)\n      |> normalizeBreaks\n  let (lead, _) = block\n      |> Yaml.Regex.splitLead(Yaml.Regex.regex(\"^( *\\\\n)* {1,}(?! |\\\\n|$)\"))\n  let foundindent = lead\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"^( *\\\\n)*\"), template: \"\")\n      |> count\n  let effectiveindent = indent > 0 ? indent : foundindent\n  let invalidPattern =\n      Yaml.Regex.regex(\"^( {0,\\(effectiveindent)}\\\\n)* {\\(effectiveindent + 1),}\\\\n\")\n  let check1 = Yaml.Regex.matches(block, regex: invalidPattern!)\n  let check2 = indent > 0 && foundindent < indent\n  let trimmed = block\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"^ {0,\\(effectiveindent)}\"), template: \"\")\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"\\\\n {0,\\(effectiveindent)}\"), template: \"\\n\")\n      |> (chomp == -1\n          ? Yaml.Regex.replace(Yaml.Regex.regex(\"(\\\\n *)*$\"), template: \"\")\n          : chomp == 0\n          ? Yaml.Regex.replace(Yaml.Regex.regex(\"(?=[^ ])(\\\\n *)*$\"), template: \"\\n\")\n          : { s in s }\n      )\n  let error1 = \"leading all-space line must not have too many spaces\"\n  let error2 = \"less indented block scalar than the indicated level\"\n  return c\n      >>| Resulter.`guard`(error(error1)(blockContext), check: !check1)\n      >>| Resulter.`guard`(error(error2)(blockContext), check: !check2)\n      >>| c\n      >>- { context in (context, .string(trimmed))}\n}\n\n\nprivate func parseInt (_ string: String, radix: Int) -> Int {\n  let (sign, str) = Yaml.Regex.splitLead(Yaml.Regex.regex(\"^[-+]\"))(string)\n  let multiplier = (sign == \"-\" ? -1 : 1)\n  let ints = radix == 60\n      ? toSexints(str)\n      : toints(str)\n  return multiplier * ints.reduce(0, { acc, i in acc * radix + i })\n}\n\nprivate func toSexints (_ string: String) -> [Int] {\n  return string.components(separatedBy: \":\").map {\n    c in Int(c) ?? 0\n  }\n}\n\nprivate func toints (_ string: String) -> [Int] {\n  return string.unicodeScalars.map {\n    c in\n    switch c {\n    case \"0\"...\"9\": return Int(c.value) - Int((\"0\" as UnicodeScalar).value)\n    case \"a\"...\"z\": return Int(c.value) - Int((\"a\" as UnicodeScalar).value) + 10\n    case \"A\"...\"Z\": return Int(c.value) - Int((\"A\" as UnicodeScalar).value) + 10\n    default: fatalError(\"invalid digit \\(c)\")\n    }\n  }\n}\n\nprivate func normalizeBreaks (_ s: String) -> String {\n  return Yaml.Regex.replace(Yaml.Regex.regex(\"\\\\r\\\\n|\\\\r\"), template: \"\\n\")(s)\n}\n\nprivate func unwrapQuotedString (_ s: String) -> String {\n  return String(s[s.index(after: s.startIndex)..<s.index(before: s.endIndex)])\n}\n\nprivate func unescapeSingleQuotes (_ s: String) -> String {\n  return Yaml.Regex.replace(Yaml.Regex.regex(\"''\"), template: \"'\")(s)\n}\n\nprivate func unescapeDoubleQuotes (_ input: String) -> String {\n  return input\n    |> Yaml.Regex.replace(Yaml.Regex.regex(\"\\\\\\\\([0abtnvfre \\\"\\\\/N_LP])\"))\n        { escapeCharacters[$0[1]] ?? \"\" }\n    |> Yaml.Regex.replace(Yaml.Regex.regex(\"\\\\\\\\x([0-9A-Fa-f]{2})\"))\n        { String(describing: UnicodeScalar(parseInt($0[1], radix: 16))) }\n    |> Yaml.Regex.replace(Yaml.Regex.regex(\"\\\\\\\\u([0-9A-Fa-f]{4})\"))\n        { String(describing: UnicodeScalar(parseInt($0[1], radix: 16))) }\n    |> Yaml.Regex.replace(Yaml.Regex.regex(\"\\\\\\\\U([0-9A-Fa-f]{8})\"))\n        { String(describing: UnicodeScalar(parseInt($0[1], radix: 16))) }\n}\n\nprivate let escapeCharacters = [\n  \"0\": \"\\0\",\n  \"a\": \"\\u{7}\",\n  \"b\": \"\\u{8}\",\n  \"t\": \"\\t\",\n  \"n\": \"\\n\",\n  \"v\": \"\\u{B}\",\n  \"f\": \"\\u{C}\",\n  \"r\": \"\\r\",\n  \"e\": \"\\u{1B}\",\n  \" \": \" \",\n  \"\\\"\": \"\\\"\",\n  \"\\\\\": \"\\\\\",\n  \"/\": \"/\",\n  \"N\": \"\\u{85}\",\n  \"_\": \"\\u{A0}\",\n  \"L\": \"\\u{2028}\",\n  \"P\": \"\\u{2029}\"\n]\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Sources/Yaml/YAMLRegex.swift",
    "content": "import Foundation\n\n\nprivate let invalidOptionsPattern =\n  try! NSRegularExpression(pattern: \"[^ixsm]\", options: [])\n\nprivate let regexOptions: [Character: NSRegularExpression.Options] = [\n  \"i\": .caseInsensitive,\n  \"x\": .allowCommentsAndWhitespace,\n  \"s\": .dotMatchesLineSeparators,\n  \"m\": .anchorsMatchLines\n]\n\nextension Yaml {\n  struct Regex {\n\nstatic func matchRange (_ string: String, regex: NSRegularExpression) -> NSRange {\n  let sr = NSMakeRange(0, string.utf16.count)\n  return regex.rangeOfFirstMatch(in: string, options: [], range: sr)\n}\n\nstatic func matches (_ string: String, regex: NSRegularExpression) -> Bool {\n  return matchRange(string, regex: regex).location != NSNotFound\n}\n\nstatic func regex (_ pattern: String, options: String = \"\") -> NSRegularExpression! {\n  if matches(options, regex: invalidOptionsPattern) {\n    return nil\n  }\n\n  let opts = options.reduce(NSRegularExpression.Options()) { (acc, opt) -> NSRegularExpression.Options in\n    return NSRegularExpression.Options(rawValue:acc.rawValue | (regexOptions[opt] ?? NSRegularExpression.Options()).rawValue)\n  }\n  return try? NSRegularExpression(pattern: pattern, options: opts)\n}\n\n\n\n\n\nstatic func replace (_ regex: NSRegularExpression, template: String) -> (String)\n    -> String {\n      return { string in\n        let s = NSMutableString(string: string)\n        let range = NSMakeRange(0, string.utf16.count)\n        _ = regex.replaceMatches(in: s, options: [], range: range,\n                                 withTemplate: template)\n#if os(Linux)\n        return s._bridgeToSwift()\n#else\n        return s as String\n#endif\n      }\n}\n\nstatic func replace (_ regex: NSRegularExpression, block: @escaping ([String]) -> String)\n    -> (String) -> String {\n      return { string in\n        let s = NSMutableString(string: string)\n        let range = NSMakeRange(0, string.utf16.count)\n        var offset = 0\n        regex.enumerateMatches(in: string, options: [], range: range) {\n          result, _, _ in\n          if let result = result {\n              var captures = [String](repeating: \"\", count: result.numberOfRanges)\n              for i in 0..<result.numberOfRanges {\n                let rangeAt = result.range(at: i)\n                if let r = Range(rangeAt) {\n                  captures[i] = NSString(string: string).substring(with: NSRange(r))\n                }\n              }\n              let replacement = block(captures)\n              let offR = NSMakeRange(result.range.location + offset, result.range.length)\n              offset += replacement.count - result.range.length\n              s.replaceCharacters(in: offR, with: replacement)\n          }\n        }\n#if os(Linux)\n        return s._bridgeToSwift()\n#else\n        return s as String\n#endif\n      }\n}\n\nstatic func splitLead (_ regex: NSRegularExpression) -> (String)\n    -> (String, String) {\n      return { string in\n        let r = matchRange(string, regex: regex)\n        if r.location == NSNotFound {\n          return (\"\", string)\n        } else {\n          let s = NSString(string: string)\n          let i = r.location + r.length\n          return (s.substring(to: i), s.substring(from: i))\n        }\n      }\n}\n\nstatic func splitTrail (_ regex: NSRegularExpression) -> (String)\n    -> (String, String) {\n      return { string in\n        let r = matchRange(string, regex: regex)\n        if r.location == NSNotFound {\n          return (string, \"\")\n        } else {\n          let s = NSString(string: string)\n          let i = r.location\n          return (s.substring(to: i), s.substring(from: i))\n        }\n      }\n}\n\nstatic func substring (_ range: NSRange, _ string : String ) -> String {\n    return NSString(string: string).substring(with: range)\n}\n\nstatic func substring (_ index: Int, _ string: String ) -> String {\n    return NSString(string: string).substring(from: index)\n}\n  }\n\n}\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Sources/Yaml/YAMLResult.swift",
    "content": "internal enum YAMLResult<T> {\n  case error(String)\n  case value(T)\n  \n  public var error: String? {\n    switch self {\n    case .error(let e): return e\n    case .value: return nil\n    }\n  }\n  \n  public var value: T? {\n    switch self {\n    case .error: return nil\n    case .value(let v): return v\n    }\n  }\n  \n  public func map <U> (f: (T) -> U) -> YAMLResult<U> {\n    switch self {\n    case .error(let e): return .error(e)\n    case .value(let v): return .value(f(v))\n    }\n  }\n  \n  public func flatMap <U> (f: (T) -> YAMLResult<U>) -> YAMLResult<U> {\n    switch self {\n    case .error(let e): return .error(e)\n    case .value(let v): return f(v)\n    }\n  }\n}\n\n\nprecedencegroup Functional {\n  associativity: left\n  higherThan: DefaultPrecedence\n}\n\ninfix operator <*>: Functional\nfunc <*> <T, U> (f: YAMLResult<(T) -> U>, x: YAMLResult<T>) -> YAMLResult<U> {\n  switch (x, f) {\n  case (.error(let e), _): return .error(e)\n  case (.value, .error(let e)): return .error(e)\n  case (.value(let x), .value(let f)): return . value(f(x))\n  }\n}\n\ninfix operator <^>: Functional\nfunc <^> <T, U> (f: (T) -> U, x: YAMLResult<T>) -> YAMLResult<U> {\n  return x.map(f: f)\n}\n\ninfix operator >>-: Functional\nfunc >>- <T, U> (x: YAMLResult<T>, f: (T) -> U) -> YAMLResult<U> {\n  return x.map(f: f)\n}\n\ninfix operator >>=-: Functional\nfunc >>=- <T, U> (x: YAMLResult<T>, f: (T) -> YAMLResult<U>) -> YAMLResult<U> {\n  return x.flatMap(f: f)\n}\n\ninfix operator >>|: Functional\nfunc >>| <T, U> (x: YAMLResult<T>, y: YAMLResult<U>) -> YAMLResult<U> {\n  return x.flatMap { _ in y }\n}\n\nextension Yaml  {\n  static func lift <V> (_ v: V) -> YAMLResult<V> {\n    return .value(v)\n  }\n  \n  static func fail <T> (_ e: String) -> YAMLResult<T> {\n    return .error(e)\n  }\n  \n  static func join <T> (_ x: YAMLResult<YAMLResult<T>>) -> YAMLResult<T> {\n    return x >>=- { i in i }\n  }\n  \n  static func `guard` (_ error: @autoclosure() -> String, check: Bool) -> YAMLResult<()> {\n    return check ? lift(()) : .error(error())\n  }\n  \n}\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Sources/Yaml/YAMLTokenizer.swift",
    "content": "import Foundation\n\n\nextension Yaml {\n  enum TokenType: String {\n    case yamlDirective = \"%YAML\"\n    case docStart = \"doc-start\"\n    case docend = \"doc-end\"\n    case comment = \"comment\"\n    case space = \"space\"\n    case newLine = \"newline\"\n    case indent = \"indent\"\n    case dedent = \"dedent\"\n    case null = \"null\"\n    case _true = \"true\"\n    case _false = \"false\"\n    case infinityP = \"+infinity\"\n    case infinityN = \"-infinity\"\n    case nan = \"nan\"\n    case double = \"double\"\n    case int = \"int\"\n    case intOct = \"int-oct\"\n    case intHex = \"int-hex\"\n    case intSex = \"int-sex\"\n    case anchor = \"&\"\n    case alias = \"*\"\n    case comma = \",\"\n    case openSB = \"[\"\n    case closeSB = \"]\"\n    case dash = \"-\"\n    case openCB = \"{\"\n    case closeCB = \"}\"\n    case key = \"key\"\n    case keyDQ = \"key-dq\"\n    case keySQ = \"key-sq\"\n    case questionMark = \"?\"\n    case colonFO = \":-flow-out\"\n    case colonFI = \":-flow-in\"\n    case colon = \":\"\n    case literal = \"|\"\n    case folded = \">\"\n    case reserved = \"reserved\"\n    case stringDQ = \"string-dq\"\n    case stringSQ = \"string-sq\"\n    case stringFI = \"string-flow-in\"\n    case stringFO = \"string-flow-out\"\n    case string = \"string\"\n    case end = \"end\"\n  }\n}\n\nprivate typealias TokenPattern = (type: Yaml.TokenType, pattern: NSRegularExpression)\n\nextension Yaml {\n  typealias TokenMatch = (type: Yaml.TokenType, match: String)\n}\n\nprivate let bBreak = \"(?:\\\\r\\\\n|\\\\r|\\\\n)\"\n\n// printable non-space chars,\n// except `:`(3a), `#`(23), `,`(2c), `[`(5b), `]`(5d), `{`(7b), `}`(7d)\nprivate let safeIn = \"\\\\x21\\\\x22\\\\x24-\\\\x2b\\\\x2d-\\\\x39\\\\x3b-\\\\x5a\\\\x5c\\\\x5e-\\\\x7a\" +\n  \"\\\\x7c\\\\x7e\\\\x85\\\\xa0-\\\\ud7ff\\\\ue000-\\\\ufefe\\\\uff00\\\\ufffd\" +\n\"\\\\U00010000-\\\\U0010ffff\"\n// with flow indicators: `,`, `[`, `]`, `{`, `}`\nprivate let safeOut = \"\\\\x2c\\\\x5b\\\\x5d\\\\x7b\\\\x7d\" + safeIn\nprivate let plainOutPattern =\n\"([\\(safeOut)]#|:(?![ \\\\t]|\\(bBreak))|[\\(safeOut)]|[ \\\\t])+\"\nprivate let plainInPattern =\n\"([\\(safeIn)]#|:(?![ \\\\t]|\\(bBreak))|[\\(safeIn)]|[ \\\\t]|\\(bBreak))+\"\nprivate let dashPattern = Yaml.Regex.regex(\"^-([ \\\\t]+(?!#|\\(bBreak))|(?=[ \\\\t\\\\n]))\")\nprivate let finish = \"(?= *(,|\\\\]|\\\\}|( #.*)?(\\(bBreak)|$)))\"\n\nprivate let tokenPatterns: [TokenPattern] = [\n  (.yamlDirective, Yaml.Regex.regex(\"^%YAML(?= )\")),\n  (.docStart, Yaml.Regex.regex(\"^---\")),\n  (.docend, Yaml.Regex.regex(\"^\\\\.\\\\.\\\\.\")),\n  (.comment, Yaml.Regex.regex(\"^#.*|^\\(bBreak) *(#.*)?(?=\\(bBreak)|$)\")),\n  (.space, Yaml.Regex.regex(\"^ +\")),\n  (.newLine, Yaml.Regex.regex(\"^\\(bBreak) *\")),\n  (.dash, dashPattern!),\n  (.null, Yaml.Regex.regex(\"^(null|Null|NULL|~)\\(finish)\")),\n  (._true, Yaml.Regex.regex(\"^(true|True|TRUE)\\(finish)\")),\n  (._false, Yaml.Regex.regex(\"^(false|False|FALSE)\\(finish)\")),\n  (.infinityP, Yaml.Regex.regex(\"^\\\\+?\\\\.(inf|Inf|INF)\\(finish)\")),\n  (.infinityN, Yaml.Regex.regex(\"^-\\\\.(inf|Inf|INF)\\(finish)\")),\n  (.nan, Yaml.Regex.regex(\"^\\\\.(nan|NaN|NAN)\\(finish)\")),\n  (.int, Yaml.Regex.regex(\"^[-+]?[0-9]+\\(finish)\")),\n  (.intOct, Yaml.Regex.regex(\"^0o[0-7]+\\(finish)\")),\n  (.intHex, Yaml.Regex.regex(\"^0x[0-9a-fA-F]+\\(finish)\")),\n  (.intSex, Yaml.Regex.regex(\"^[0-9]{2}(:[0-9]{2})+\\(finish)\")),\n  (.double, Yaml.Regex.regex(\"^[-+]?(\\\\.[0-9]+|[0-9]+(\\\\.[0-9]*)?)([eE][-+]?[0-9]+)?\\(finish)\")),\n  (.anchor, Yaml.Regex.regex(\"^&\\\\w+\")),\n  (.alias, Yaml.Regex.regex(\"^\\\\*\\\\w+\")),\n  (.comma, Yaml.Regex.regex(\"^,\")),\n  (.openSB, Yaml.Regex.regex(\"^\\\\[\")),\n  (.closeSB, Yaml.Regex.regex(\"^\\\\]\")),\n  (.openCB, Yaml.Regex.regex(\"^\\\\{\")),\n  (.closeCB, Yaml.Regex.regex(\"^\\\\}\")),\n  (.questionMark, Yaml.Regex.regex(\"^\\\\?( +|(?=\\(bBreak)))\")),\n  (.colonFO, Yaml.Regex.regex(\"^:(?!:)\")),\n  (.colonFI, Yaml.Regex.regex(\"^:(?!:)\")),\n  (.literal, Yaml.Regex.regex(\"^\\\\|.*\")),\n  (.folded, Yaml.Regex.regex(\"^>.*\")),\n  (.reserved, Yaml.Regex.regex(\"^[@`]\")),\n  (.stringDQ, Yaml.Regex.regex(\"^\\\"([^\\\\\\\\\\\"]|\\\\\\\\(.|\\(bBreak)))*\\\"\")),\n  (.stringSQ, Yaml.Regex.regex(\"^'([^']|'')*'\")),\n  (.stringFO, Yaml.Regex.regex(\"^\\(plainOutPattern)(?=:([ \\\\t]|\\(bBreak))|\\(bBreak)|$)\")),\n  (.stringFI, Yaml.Regex.regex(\"^\\(plainInPattern)\")),\n]\n\nextension Yaml {\n  static func escapeErrorContext (_ text: String) -> String {\n    let endIndex = text.index(text.startIndex, offsetBy: 50, limitedBy: text.endIndex) ?? text.endIndex\n    let escaped = String(text[..<endIndex])\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"\\\\r\"), template: \"\\\\\\\\r\")\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"\\\\n\"), template: \"\\\\\\\\n\")\n      |> Yaml.Regex.replace(Yaml.Regex.regex(\"\\\"\"), template: \"\\\\\\\\\\\"\")\n    return \"near \\\"\\(escaped)\\\"\"\n  }\n  \n  \n  static func tokenize (_ text: String) -> YAMLResult<[TokenMatch]> {\n    var text = text\n    var matchList: [TokenMatch] = []\n    var indents = [0]\n    var insideFlow = 0\n    next:\n      while text.endIndex > text.startIndex {\n        for tokenPattern in tokenPatterns {\n          let range = Yaml.Regex.matchRange(text, regex: tokenPattern.pattern)\n          if range.location != NSNotFound {\n            let rangeEnd = range.location + range.length\n            switch tokenPattern.type {\n              \n            case .newLine:\n              let match = (range, text) |> Yaml.Regex.substring\n              let lastindent = indents.last ?? 0\n              let rest = match[match.index(after: match.startIndex)...]\n              let spaces = rest.count\n              let nestedBlockSequence =\n                Yaml.Regex.matches((rangeEnd, text) |> Yaml.Regex.substring, regex: dashPattern!)\n              if spaces == lastindent {\n                matchList.append(TokenMatch(.newLine, match))\n              } else if spaces > lastindent {\n                if insideFlow == 0 {\n                  if matchList.last != nil &&\n                    matchList[matchList.endIndex - 1].type == .indent {\n                    indents[indents.endIndex - 1] = spaces\n                    matchList[matchList.endIndex - 1] = TokenMatch(.indent, match)\n                  } else {\n                    indents.append(spaces)\n                    matchList.append(TokenMatch(.indent, match))\n                  }\n                }\n              } else if nestedBlockSequence && spaces == lastindent - 1 {\n                matchList.append(TokenMatch(.newLine, match))\n              } else {\n                while nestedBlockSequence && spaces < (indents.last ?? 0) - 1\n                  || !nestedBlockSequence && spaces < indents.last ?? 0 {\n                    indents.removeLast()\n                    matchList.append(TokenMatch(.dedent, \"\"))\n                }\n                matchList.append(TokenMatch(.newLine, match))\n              }\n              \n            case .dash, .questionMark:\n              let match = (range, text) |> Yaml.Regex.substring\n              let index = match.index(after: match.startIndex)\n              let indent = match.count\n              indents.append((indents.last ?? 0) + indent)\n              matchList.append(\n                TokenMatch(tokenPattern.type, String(match[..<index])))\n              matchList.append(TokenMatch(.indent, String(match[index...])))\n              \n            case .colonFO:\n              if insideFlow > 0 {\n                continue\n              }\n              fallthrough\n              \n            case .colonFI:\n              let match = (range, text) |> Yaml.Regex.substring\n              matchList.append(TokenMatch(.colon, match))\n              if insideFlow == 0 {\n                indents.append((indents.last ?? 0) + 1)\n                matchList.append(TokenMatch(.indent, \"\"))\n              }\n              \n            case .openSB, .openCB:\n              insideFlow += 1\n              matchList.append(TokenMatch(tokenPattern.type, (range, text) |> Yaml.Regex.substring))\n              \n            case .closeSB, .closeCB:\n              insideFlow -= 1\n              matchList.append(TokenMatch(tokenPattern.type, (range, text) |> Yaml.Regex.substring))\n              \n            case .literal, .folded:\n              matchList.append(TokenMatch(tokenPattern.type, (range, text) |> Yaml.Regex.substring))\n              text = (rangeEnd, text) |> Yaml.Regex.substring\n              let lastindent = indents.last ?? 0\n              let minindent = 1 + lastindent\n              let blockPattern = Yaml.Regex.regex((\"^(\\(bBreak) *)*(\\(bBreak)\" +\n                \"( {\\(minindent),})[^ ].*(\\(bBreak)( *|\\\\3.*))*)(?=\\(bBreak)|$)\"))\n              let (lead, rest) = text |> Yaml.Regex.splitLead(blockPattern!)\n              text = rest\n              let block = (lead\n                |> Yaml.Regex.replace(Yaml.Regex.regex(\"^\\(bBreak)\"), template: \"\")\n                |> Yaml.Regex.replace(Yaml.Regex.regex(\"^ {0,\\(lastindent)}\"), template: \"\")\n                |> Yaml.Regex.replace(Yaml.Regex.regex(\"\\(bBreak) {0,\\(lastindent)}\"), template: \"\\n\")\n                ) + (Yaml.Regex.matches(text, regex: Yaml.Regex.regex(\"^\\(bBreak)\")) && lead.endIndex > lead.startIndex\n                  ? \"\\n\" : \"\")\n              matchList.append(TokenMatch(.string, block))\n              continue next\n              \n            case .stringFO:\n              if insideFlow > 0 {\n                continue\n              }\n              let indent = (indents.last ?? 0)\n              let blockPattern = Yaml.Regex.regex((\"^\\(bBreak)( *| {\\(indent),}\" +\n                \"\\(plainOutPattern))(?=\\(bBreak)|$)\"))\n              var block = (range, text)\n                |> Yaml.Regex.substring\n                |> Yaml.Regex.replace(Yaml.Regex.regex(\"^[ \\\\t]+|[ \\\\t]+$\"), template: \"\")\n              text = (rangeEnd, text) |> Yaml.Regex.substring\n              while true {\n                let range = Yaml.Regex.matchRange(text, regex: blockPattern!)\n                if range.location == NSNotFound {\n                  break\n                }\n                let s = (range, text) |> Yaml.Regex.substring\n                block += \"\\n\" +\n                  Yaml.Regex.replace(Yaml.Regex.regex(\"^\\(bBreak)[ \\\\t]*|[ \\\\t]+$\"), template: \"\")(s)\n                text = (range.location + range.length, text) |> Yaml.Regex.substring\n              }\n              matchList.append(TokenMatch(.string, block))\n              continue next\n              \n            case .stringFI:\n              let match = (range, text)\n                |> Yaml.Regex.substring\n                |> Yaml.Regex.replace(Yaml.Regex.regex(\"^[ \\\\t]|[ \\\\t]$\"), template: \"\")\n              matchList.append(TokenMatch(.string, match))\n              \n            case .reserved:\n              return fail(escapeErrorContext(text))\n              \n            default:\n              matchList.append(TokenMatch(tokenPattern.type, (range, text) |> Yaml.Regex.substring))\n            }\n            text = (rangeEnd, text) |> Yaml.Regex.substring\n            continue next\n          }\n        }\n        return fail(escapeErrorContext(text))\n    }\n    while indents.count > 1 {\n      indents.removeLast()\n      matchList.append((.dedent, \"\"))\n    }\n    matchList.append((.end, \"\"))\n    return lift(matchList)\n  }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Sources/Yaml/Yaml.swift",
    "content": "import Foundation\n\npublic enum Yaml {\n  case null\n  case bool(Bool)\n  case int(Int)\n  case double(Double)\n  case string(String)\n  case array([Yaml])\n  case dictionary([Yaml: Yaml])\n    \n    static public func == (lhs: Yaml, rhs: Yaml) -> Bool {\n        switch (lhs, rhs) {\n        case (.null, .null):\n            return true\n        case (.bool(let lv), .bool(let rv)):\n            return lv == rv\n        case (.int(let lv), .int(let rv)):\n            return lv == rv\n        case (.int(let lv), .double(let rv)):\n            return Double(lv) == rv\n        case (.double(let lv), .double(let rv)):\n            return lv == rv\n        case (.double(let lv), .int(let rv)):\n            return lv == Double(rv)\n        case (.string(let lv), .string(let rv)):\n            return lv == rv\n        case (.array(let lv), .array(let rv)):\n            return lv == rv\n        case (.dictionary(let lv), .dictionary(let rv)):\n            return lv == rv\n        default:\n            return false\n        }\n    }\n    \n    // unary `-` operator\n    static public prefix func - (value: Yaml) -> Yaml {\n        switch value {\n        case .int(let v):\n            return .int(-v)\n        case .double(let v):\n            return .double(-v)\n        default:\n            fatalError(\"`-` operator may only be used on .int or .double Yaml values\")\n        }\n    }\n}\n\nextension Yaml {\n  public enum ResultError: Error {\n    case message(String?)\n  }\n}\n\nextension Yaml: ExpressibleByNilLiteral {\n  public init(nilLiteral: ()) {\n    self = .null\n  }\n}\n\nextension Yaml: ExpressibleByBooleanLiteral {\n  public init(booleanLiteral: BooleanLiteralType) {\n    self = .bool(booleanLiteral)\n  }\n}\n\nextension Yaml: ExpressibleByIntegerLiteral {\n  public init(integerLiteral: IntegerLiteralType) {\n    self = .int(integerLiteral)\n  }\n}\n\nextension Yaml: ExpressibleByFloatLiteral {\n  public init(floatLiteral: FloatLiteralType) {\n    self = .double(floatLiteral)\n  }\n}\n\nextension Yaml: ExpressibleByStringLiteral {\n  public init(stringLiteral: StringLiteralType) {\n    self = .string(stringLiteral)\n  }\n\n  public init(extendedGraphemeClusterLiteral: StringLiteralType) {\n    self = .string(extendedGraphemeClusterLiteral)\n  }\n\n  public init(unicodeScalarLiteral: StringLiteralType) {\n    self = .string(unicodeScalarLiteral)\n  }\n}\n\nextension Yaml: ExpressibleByArrayLiteral {\n  public init(arrayLiteral elements: Yaml...) {\n    self = .array(elements)\n  }\n}\n\nextension Yaml: ExpressibleByDictionaryLiteral {\n  public init(dictionaryLiteral elements: (Yaml, Yaml)...) {\n    var dictionary = [Yaml: Yaml]()\n    for (k, v) in elements {\n      dictionary[k] = v\n    }\n    self = .dictionary(dictionary)\n  }\n}\n\nextension Yaml: CustomStringConvertible {\n  public var description: String {\n    switch self {\n    case .null:\n      return \"Null\"\n    case .bool(let b):\n      return \"Bool(\\(b))\"\n    case .int(let i):\n      return \"Int(\\(i))\"\n    case .double(let f):\n      return \"Double(\\(f))\"\n    case .string(let s):\n      return \"String(\\(s))\"\n    case .array(let s):\n      return \"Array(\\(s))\"\n    case .dictionary(let m):\n      return \"Dictionary(\\(m))\"\n    }\n  }\n}\n\nextension Yaml: Hashable {\n  public var hashValue: Int {\n    return description.hashValue\n  }\n}\n\n\n\nextension Yaml {\n  \n  public static func load (_ text: String) throws -> Yaml {\n    let result = tokenize(text) >>=- Context.parseDoc\n    if let value = result.value { return value } else { throw ResultError.message(result.error) }\n  }\n\n  public static func loadMultiple (_ text: String) throws -> [Yaml] {\n    let result = tokenize(text) >>=- Context.parseDocs\n    if let value = result.value { return value } else { throw ResultError.message(result.error) }\n\n  }\n\n  public static func debug (_ text: String) -> Yaml? {\n    let result = tokenize(text)\n        >>- { tokens in print(\"\\n====== Tokens:\\n\\(tokens)\"); return tokens }\n        >>=- Context.parseDoc\n        >>- { value -> Yaml in print(\"------ Doc:\\n\\(value)\"); return value }\n    if let error = result.error {\n      print(\"~~~~~~\\n\\(error)\")\n    }\n    return result.value\n  }\n\n  public static func debugMultiple (_ text: String) -> [Yaml]? {\n    let result = tokenize(text)\n        >>- { tokens in print(\"\\n====== Tokens:\\n\\(tokens)\"); return tokens }\n        >>=- Context.parseDocs\n        >>- { values -> [Yaml] in values.forEach {\n              v in print(\"------ Doc:\\n\\(v)\")\n            }; return values }\n    if let error = result.error {\n      print(\"~~~~~~\\n\\(error)\")\n    }\n    return result.value\n  }\n}\n\nextension Yaml {\n  public subscript(index: Int) -> Yaml {\n    get {\n      assert(index >= 0)\n      switch self {\n      case .array(let array):\n        if array.indices.contains(index) {\n          return array[index]\n        } else {\n          return .null\n        }\n      default:\n        return .null\n      }\n    }\n    set {\n      assert(index >= 0)\n      switch self {\n      case .array(let array):\n        let emptyCount = max(0, index + 1 - array.count)\n        let empty = [Yaml](repeating: .null, count: emptyCount)\n        var new = array\n        new.append(contentsOf: empty)\n        new[index] = newValue\n        self = .array(new)\n      default:\n        var array = [Yaml](repeating: .null, count: index + 1)\n        array[index] = newValue\n        self = .array(array)\n      }\n    }\n  }\n\n  public subscript(key: Yaml) -> Yaml {\n    get {\n      switch self {\n      case .dictionary(let dictionary):\n        return dictionary[key] ?? .null\n      default:\n        return .null\n      }\n    }\n    set {\n      switch self {\n      case .dictionary(let dictionary):\n        var new = dictionary\n        new[key] = newValue\n        self = .dictionary(new)\n      default:\n        var dictionary = [Yaml: Yaml]()\n        dictionary[key] = newValue\n        self = .dictionary(dictionary)\n      }\n    }\n  }\n}\n\nextension Yaml {\n  public var bool: Bool? {\n    switch self {\n    case .bool(let b):\n      return b\n    default:\n      return nil\n    }\n  }\n\n  public var int: Int? {\n    switch self {\n    case .int(let i):\n      return i\n    case .double(let f):\n      if Double(Int(f)) == f {\n        return Int(f)\n      } else {\n        return nil\n      }\n    default:\n      return nil\n    }\n  }\n\n  public var double: Double? {\n    switch self {\n    case .double(let f):\n      return f\n    case .int(let i):\n      return Double(i)\n    default:\n      return nil\n    }\n  }\n\n  public var string: String? {\n    switch self {\n    case .string(let s):\n      return s\n    default:\n      return nil\n    }\n  }\n\n  public var array: [Yaml]? {\n    switch self {\n    case .array(let array):\n      return array\n    default:\n      return nil\n    }\n  }\n\n  public var dictionary: [Yaml: Yaml]? {\n    switch self {\n    case .dictionary(let dictionary):\n      return dictionary\n    default:\n      return nil\n    }\n  }\n\n  public var count: Int? {\n    switch self {\n    case .array(let array):\n      return array.count\n    case .dictionary(let dictionary):\n      return dictionary.count\n    default:\n      return nil\n    }\n  }\n}\n\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Sources/Yaml.h",
    "content": "//\n//  Yaml.h\n//  Yaml\n//\n//  Created by Gregory Higley on 8/5/15.\n//\n//\n\n#import <Foundation/Foundation.h>\n\n//! Project version number for Yaml.\nFOUNDATION_EXPORT double YamlVersionNumber;\n\n//! Project version string for Yaml.\nFOUNDATION_EXPORT const unsigned char YamlVersionString[];\n\n// In this header, you should import all the public headers of your framework using statements like #import <Yaml/PublicHeader.h>\n\n\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Tests/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>BNDL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>3.4.3</string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Tests/LinuxMain.swift",
    "content": "import XCTest\n\n@testable import YamlTests\n\nXCTMain([\n  testCase(ExampleTests.allTests),\n  testCase(YamlTests.allTests),\n])\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Tests/YamlTests/ExampleTests.swift",
    "content": "import Yaml\nimport XCTest\n\nclass ExampleTests: XCTestCase {\n  \n  func testExample0 () {\n    var value = try! Yaml.load(\n      \"- just: write some\\n\" +\n        \"- yaml: \\n\" +\n        \"  - [here, and]\\n\" +\n      \"  - {it: updates, in: real-time}\\n\"\n      )\n    XCTAssert(value.count == 2)\n    XCTAssert(value[0][\"just\"] == \"write some\")\n    XCTAssert(value[1][\"yaml\"][0][1] == \"and\")\n    XCTAssert(value[1][\"yaml\"][1][\"in\"] == \"real-time\")\n    \n    value[0][\"just\"] = .string(\"replaced string\")\n    XCTAssert(value[0][\"just\"] == \"replaced string\")\n    value[0][\"another\"] = .int(2)\n    XCTAssert(value[0][\"another\"] == 2)\n    value[0][\"new\"][\"key\"][10][\"key\"] = .string(\"Ten\")\n    XCTAssert(value[0][\"new\"][\"key\"][10][\"key\"] == \"Ten\")\n    value[0][\"new\"][\"key\"][5][\"key\"] = .string(\"Five\")\n    XCTAssert(value[0][\"new\"][\"key\"][5][\"key\"] == \"Five\")\n    value[0][\"new\"][\"key\"][15][\"key\"] = .string(\"Fifteen\")\n    XCTAssert(value[0][\"new\"][\"key\"][15][\"key\"] == \"Fifteen\")\n    value[2] = .double(2)\n    XCTAssert(value[2] == 2)\n    value = nil\n    XCTAssert(value == nil)\n  }\n  \n  func testExample1 () {\n    let value = try! Yaml.load(\n      \"- Mark McGwire\\n\" +\n        \"- Sammy Sosa\\n\" +\n      \"- Ken Griffey\\n\"\n      )\n    XCTAssert(value.count == 3)\n    XCTAssert(value[1] == \"Sammy Sosa\")\n  }\n  \n  func testExample2 () {\n    let value = try! Yaml.load(\n      \"hr:  65    # Home runs\\n\" +\n        \"avg: 0.278 # Batting average\\n\" +\n      \"rbi: 147   # Runs Batted In\\n\"\n      )\n    XCTAssert(value.count == 3)\n    XCTAssert(value[\"avg\"] == 0.278)\n  }\n  \n  func testExample3 () {\n    let value = try! Yaml.load(\n      \"american:\\n\" +\n        \"  - Boston Red Sox\\n\" +\n        \"  - Detroit Tigers\\n\" +\n        \"  - New York Yankees\\n\" +\n        \"national:\\n\" +\n        \"  - New York Mets\\n\" +\n        \"  - Chicago Cubs\\n\" +\n      \"  - Atlanta Braves\\n\"\n      )\n    XCTAssert(value.count == 2)\n    XCTAssert(value[\"national\"].count == 3)\n    XCTAssert(value[\"national\"][2] == \"Atlanta Braves\")\n  }\n  \n  func testExample4 () {\n    let value = try! Yaml.load(\n      \"-\\n\" +\n        \"  name: Mark McGwire\\n\" +\n        \"  hr:   65\\n\" +\n        \"  avg:  0.278\\n\" +\n        \"-\\n\" +\n        \"  name: Sammy Sosa\\n\" +\n        \"  hr:   63\\n\" +\n      \"  avg:  0.288\\n\"\n      )\n    XCTAssert(value.count == 2)\n    XCTAssertEqual(value[1][\"avg\"].double!, 0.288, accuracy: 0.00001)\n  }\n  \n  func testExample5 () {\n    let value = try! Yaml.load(\n      \"- [name        , hr, avg  ]\\n\" +\n        \"- [Mark McGwire, 65, 0.278]\\n\" +\n      \"- [Sammy Sosa  , 63, 0.288]\\n\"\n      )\n    XCTAssert(value.count == 3)\n    XCTAssert(value[2].count == 3)\n    XCTAssertEqual(value[2][2].double!, 0.288, accuracy: 0.00001)\n  }\n  \n  func testExample6 () {\n    let value = try! Yaml.load(\n      \"Mark McGwire: {hr: 65, avg: 0.278}\\n\" +\n        \"Sammy Sosa: {\\n\" +\n        \"    hr: 63,\\n\" +\n        \"    avg: 0.288\\n\" +\n      \"  }\\n\"\n      )\n    XCTAssert(value[\"Mark McGwire\"][\"hr\"] == 65)\n    XCTAssert(value[\"Sammy Sosa\"][\"hr\"] == 63)\n  }\n  \n  func testExample7 () {\n    let value = try! Yaml.loadMultiple(\n      \"# Ranking of 1998 home runs\\n\" +\n        \"---\\n\" +\n        \"- Mark McGwire\\n\" +\n        \"- Sammy Sosa\\n\" +\n        \"- Ken Griffey\\n\" +\n        \"\\n\" +\n        \"# Team ranking\\n\" +\n        \"---\\n\" +\n        \"- Chicago Cubs\\n\" +\n      \"- St Louis Cardinals\\n\"\n      )\n    XCTAssert(value.count == 2)\n    XCTAssert(value[0].count == 3)\n    XCTAssert(value[0][1] == \"Sammy Sosa\")\n    XCTAssert(value[1].count == 2)\n    XCTAssert(value[1][1] == \"St Louis Cardinals\")\n  }\n  \n  func testExample8 () {\n    let value = try! Yaml.loadMultiple(\n      \"---\\n\" +\n        \"time: 20:03:20\\n\" +\n        \"player: Sammy Sosa\\n\" +\n        \"action: strike (miss)\\n\" +\n        \"...\\n\" +\n        \"---\\n\" +\n        \"time: 20:03:47\\n\" +\n        \"player: Sammy Sosa\\n\" +\n        \"action: grand slam\\n\" +\n      \"...\\n\"\n      )\n    XCTAssert(value.count == 2)\n    XCTAssert(value[0][\"player\"] == \"Sammy Sosa\")\n    XCTAssert(value[0][\"time\"] == 72200)\n    XCTAssert(value[1][\"player\"] == \"Sammy Sosa\")\n    XCTAssert(value[1][\"time\"] == 72227)\n  }\n  \n  func testExample9 () {\n    let value = try! Yaml.load(\n      \"---\\n\" +\n        \"hr: # 1998 hr ranking\\n\" +\n        \"  - Mark McGwire\\n\" +\n        \"  - Sammy Sosa\\n\" +\n        \"rbi:\\n\" +\n        \"  # 1998 rbi ranking\\n\" +\n        \"  - Sammy Sosa\\n\" +\n      \"  - Ken Griffey\\n\"\n      )\n    XCTAssert(value[\"hr\"][1] == \"Sammy Sosa\")\n    XCTAssert(value[\"rbi\"][1] == \"Ken Griffey\")\n  }\n  \n  func testExample10 () {\n    let value = try! Yaml.load(\n      \"---\\n\" +\n        \"hr:\\n\" +\n        \"  - Mark McGwire\\n\" +\n        \"  # Following node labeled SS\\n\" +\n        \"  - &SS Sammy Sosa\\n\" +\n        \"rbi:\\n\" +\n        \"  - *SS # Subsequent occurrence\\n\" +\n      \"  - Ken Griffey\\n\"\n      )\n    XCTAssert(value[\"hr\"].count == 2)\n    XCTAssert(value[\"hr\"][1] == \"Sammy Sosa\")\n    XCTAssert(value[\"rbi\"].count == 2)\n    XCTAssert(value[\"rbi\"][0] == \"Sammy Sosa\")\n  }\n  \n  func testExample11 () {\n    let value = try! Yaml.load(\n      \"? - Detroit Tigers\\n\" +\n        \"  - Chicago cubs\\n\" +\n        \":\\n\" +\n        \"  - 2001-07-23\\n\" +\n        \"\\n\" +\n        \"? [ New York Yankees,\\n\" +\n        \"    Atlanta Braves ]\\n\" +\n        \": [ 2001-07-02, 2001-08-12,\\n\" +\n      \"    2001-08-14 ]\\n\"\n      )\n    let key1 = try! Yaml.load(\"- Detroit Tigers\\n- Chicago cubs\\n\")\n    let key2 = try! Yaml.load(\"- New York Yankees\\n- Atlanta Braves\")\n    XCTAssert(value.count == 2)\n    XCTAssert(value[key1].count == 1)\n    XCTAssert(value[key2].count == 3)\n    XCTAssert(value[key2][2] == \"2001-08-14\")\n  }\n  \n  func testExample12 () {\n    let value = try! Yaml.load(\n      \"---\\n\" +\n        \"# Products purchased\\n\" +\n        \"- item    : Super Hoop\\n\" +\n        \"  quantity: 1\\n\" +\n        \"- item    : Basketball\\n\" +\n        \"  quantity: 4\\n\" +\n        \"- item    : Big Shoes\\n\" +\n      \"  quantity: 1\\n\"\n      )\n    XCTAssert(value.count == 3)\n    XCTAssert(value[1].count == 2)\n    XCTAssert(value[1][\"item\"] == \"Basketball\")\n    XCTAssert(value[1][\"quantity\"] == 4)\n    let key = try! Yaml.load(\"quantity\")\n    XCTAssert(value[2][key] == 1)\n  }\n  \n  func testExample13 () {\n    let value = try! Yaml.load(\n      \"# ASCII Art\\n\" +\n        \"--- |\\n\" +\n        \"  \\\\//||\\\\/||\\n\" +\n      \"  // ||  ||__\\n\"\n      )\n    XCTAssert(value == \"\\\\//||\\\\/||\\n// ||  ||__\\n\")\n  }\n  \n  func testExample14 () {\n    let value = try! Yaml.load(\n      \"--- >\\n\" +\n        \"  Mark McGwire's\\n\" +\n        \"  year was crippled\\n\" +\n      \"  by a knee injury.\\n\"\n      )\n    XCTAssert(value == \"Mark McGwire's year was crippled by a knee injury.\\n\")\n  }\n  \n  func testExample15 () {\n    let value = try! Yaml.load(\n      \">\\n\" +\n        \" Sammy Sosa completed another\\n\" +\n        \" fine season with great stats.\\n\" +\n        \"\\n\" +\n        \"   63 Home Runs\\n\" +\n        \"   0.288 Batting Average\\n\" +\n        \"\\n\" +\n      \" What a year!\\n\"\n      )\n    XCTAssert(value ==\n      .string(\"Sammy Sosa completed another fine season with great stats.\\n\\n\" +\n        \"  63 Home Runs\\n  0.288 Batting Average\\n\\nWhat a year!\\n\"))\n  }\n  \n  func testExample16 () {\n    let value = try! Yaml.load(\n      \"name: Mark McGwire\\n\" +\n        \"accomplishment: >\\n\" +\n        \"  Mark set a major league\\n\" +\n        \"  home run record in 1998.\\n\" +\n        \"stats: |\\n\" +\n        \"  65 Home Runs\\n\" +\n      \"  0.278 Batting Average\\n\"\n      )\n    XCTAssert(value[\"accomplishment\"] ==\n      \"Mark set a major league home run record in 1998.\\n\")\n    XCTAssert(value[\"stats\"] == \"65 Home Runs\\n0.278 Batting Average\\n\")\n  }\n  \n  func testExample17 () {\n    let value = try! Yaml.load(\n      \"unicode: \\\"Sosa did fine.\\\\u263A\\\"\\n\" +\n        \"control: \\\"\\\\b1998\\\\t1999\\\\t2000\\\\n\\\"\\n\" +\n        \"hex esc: \\\"\\\\x0d\\\\x0a is \\\\r\\\\n\\\"\\n\" +\n        \"\\n\" +\n        \"single: '\\\"Howdy!\\\" he cried.'\\n\" +\n        \"quoted: ' # Not a ''comment''.'\\n\" +\n      \"tie-fighter: '|\\\\-*-/|'\\n\"\n      )\n    // FIXME: Failing with Xcode8b6\n    // XCTAssert(value[\"unicode\"] == \"Sosa did fine.\\u{263A}\")\n    XCTAssert(value[\"control\"] == \"\\u{8}1998\\t1999\\t2000\\n\")\n    // FIXME: Failing with Xcode8b6\n    // XCTAssert(value[\"hex esc\"] == \"\\u{d}\\u{a} is \\r\\n\")\n    XCTAssert(value[\"single\"] == \"\\\"Howdy!\\\" he cried.\")\n    XCTAssert(value[\"quoted\"] == \" # Not a 'comment'.\")\n    XCTAssert(value[\"tie-fighter\"] == \"|\\\\-*-/|\")\n  }\n  \n  func testExample18 () {\n    let value = try! Yaml.load(\n      \"plain:\\n\" +\n        \"  This unquoted scalar\\n\" +\n        \"  spans many lines.\\n\" +\n        \"\\n\" +\n        \"quoted: \\\"So does this\\n\" +\n      \"  quoted scalar.\\\\n\\\"\\n\"\n      )\n    XCTAssert(value.count == 2)\n    XCTAssert(value[\"plain\"] == \"This unquoted scalar spans many lines.\")\n    XCTAssert(value[\"quoted\"] == \"So does this quoted scalar.\\n\")\n  }\n  \n  func testExample19 () {\n    let value = try! Yaml.load(\n      \"canonical: 12345\\n\" +\n        \"decimal: +12345\\n\" +\n        \"octal: 0o14\\n\" +\n      \"hexadecimal: 0xC\\n\"\n      )\n    XCTAssert(value.count == 4)\n    XCTAssert(value[\"canonical\"] == 12345)\n    XCTAssert(value[\"decimal\"] == 12345)\n    XCTAssert(value[\"octal\"] == 12)\n    XCTAssert(value[\"hexadecimal\"] == 12)\n  }\n  \n  func testExample20 () {\n    let value = try! Yaml.load(\n      \"canonical: 1.23015e+3\\n\" +\n        \"exponential: 12.3015e+02\\n\" +\n        \"fixed: 1230.15\\n\" +\n        \"negative infinity: -.inf\\n\" +\n      \"not a number: .NaN\\n\"\n      )\n    XCTAssert(value.count == 5)\n    /* Disabled for Linux */\n#if !os(Linux)\n    XCTAssert(value[\"canonical\"] == 1.23015e+3)\n    XCTAssert(value[\"exponential\"] == 1.23015e+3)\n    XCTAssert(value[\"fixed\"] == 1.23015e+3)\n#endif\n    XCTAssert(value[\"negative infinity\"] == .double(-Double.infinity))\n    XCTAssert(value[\"not a number\"].double?.isNaN == true)\n  }\n  \n  func testExample21 () {\n    let value = try! Yaml.load(\n      \"null:\\n\" +\n        \"booleans: [ true, false ]\\n\" +\n      \"string: '012345'\\n\"\n      )\n    XCTAssert(value.count == 3)\n    XCTAssert(value[\"null\"] == nil)\n    XCTAssert(value[\"booleans\"] == [true, false])\n    XCTAssert(value[\"string\"] == \"012345\")\n  }\n  \n  func testExample22 () {\n    let value = try! Yaml.load(\n      \"canonical: 2001-12-15T02:59:43.1Z\\n\" +\n        \"iso8601: 2001-12-14t21:59:43.10-05:00\\n\" +\n        \"spaced: 2001-12-14 21:59:43.10 -5\\n\" +\n      \"date: 2002-12-14\\n\"\n      )\n    XCTAssert(value.count == 4)\n    XCTAssert(value[\"canonical\"] == \"2001-12-15T02:59:43.1Z\")\n    XCTAssert(value[\"iso8601\"] == \"2001-12-14t21:59:43.10-05:00\")\n    XCTAssert(value[\"spaced\"] == \"2001-12-14 21:59:43.10 -5\")\n    XCTAssert(value[\"date\"] == \"2002-12-14\")\n  }\n  \n  let exampleYaml =\n        \"%YAML 1.2\\n\" +\n        \"---\\n\" +\n        \"YAML: YAML Ain't Markup Language\\n\" +\n        \"\\n\" +\n        \"What It Is: YAML is a human friendly data serialization\\n\" +\n        \"  standard for all programming languages.\\n\" +\n        \"\\n\" +\n        \"YAML Resources:\\n\" +\n        \"  YAML 1.2 (3rd Edition): http://yaml.org/spec/1.2/spec.html\\n\" +\n        \"  YAML 1.1 (2nd Edition): http://yaml.org/spec/1.1/\\n\" +\n        \"  YAML 1.0 (1st Edition): http://yaml.org/spec/1.0/\\n\" +\n        \"  YAML Issues Page: https://github.com/yaml/yaml/issues\\n\" +\n        \"  YAML Mailing List: yaml-core@lists.sourceforge.net\\n\" +\n        \"  YAML IRC Channel: \\\"#yaml on irc.freenode.net\\\"\\n\" +\n        \"  YAML Cookbook (Ruby): http://yaml4r.sourceforge.net/cookbook/\\n\" +\n        \"  YAML Reference Parser: http://yaml.org/ypaste/\\n\" +\n        \"\\n\" +\n        \"Projects:\\n\" +\n        \"  C/C++ Libraries:\\n\" +\n        \"  - libyaml       # \\\"C\\\" Fast YAML 1.1\\n\" +\n        \"  - Syck          # (dated) \\\"C\\\" YAML 1.0\\n\" +\n        \"  - yaml-cpp      # C++ YAML 1.2 implementation\\n\" +\n        \"  Ruby:\\n\" +\n        \"  - psych         # libyaml wrapper (in Ruby core for 1.9.2)\\n\" +\n        \"  - RbYaml        # YAML 1.1 (PyYaml Port)\\n\" +\n        \"  - yaml4r        # YAML 1.0, standard library syck binding\\n\" +\n        \"  Python:\\n\" +\n        \"  - PyYaml        # YAML 1.1, pure python and libyaml binding\\n\" +\n        \"  - PySyck        # YAML 1.0, syck binding\\n\" +\n        \"  Java:\\n\" +\n        \"  - JvYaml        # Java port of RbYaml\\n\" +\n        \"  - SnakeYAML     # Java 5 / YAML 1.1\\n\" +\n        \"  - YamlBeans     # To/from JavaBeans\\n\" +\n        \"  - JYaml         # Original Java Implementation\\n\" +\n        \"  Perl Modules:\\n\" +\n        \"  - YAML          # Pure Perl YAML Module\\n\" +\n        \"  - YAML::XS      # Binding to libyaml\\n\" +\n        \"  - YAML::Syck    # Binding to libsyck\\n\" +\n        \"  - YAML::Tiny    # A small YAML subset module\\n\" +\n        \"  - PlYaml        # Perl port of PyYaml\\n\" +\n        \"  C#/.NET:\\n\" +\n        \"  - yaml-net      # YAML 1.1 library\\n\" +\n        \"  - yatools.net   # (in-progress) YAML 1.1 implementation\\n\" +\n        \"  PHP:\\n\" +\n        \"  - php-yaml      # libyaml bindings (YAML 1.1)\\n\" +\n        \"  - syck          # syck bindings (YAML 1.0)\\n\" +\n        \"  - spyc          # yaml loader/dumper (YAML 1.?)\\n\" +\n        \"  OCaml:\\n\" +\n        \"  - ocaml-syck    # YAML 1.0 via syck bindings\\n\" +\n        \"  Javascript:\\n\" +\n        \"  - JS-YAML       # Native PyYAML port to JavaScript.\\n\" +\n        \"  - JS-YAML Online# Browserified JS-YAML demo, to play with YAML.\\n\" +\n        \"  Actionscript:\\n\" +\n        \"  - as3yaml       # port of JvYAML (1.1)\\n\" +\n        \"  Haskell:\\n\" +\n        \"  - YamlReference # Haskell 1.2 reference parser\\n\" +\n        \"  Others:\\n\" +\n        \"  - yamlvim (src) # YAML dumper/emitter in pure vimscript\\n\" +\n        \"\\n\" +\n        \"Related Projects:\\n\" +\n        \"  - Rx            # Multi-Language Schemata Tool for JSON/YAML\\n\" +\n        \"  - Kwalify       # Ruby Schemata Tool for JSON/YAML\\n\" +\n        \"  - yaml_vim      # vim syntax files for YAML\\n\" +\n        \"  - yatools.net   # Visual Studio editor for YAML\\n\" +\n        \"  - JSON          # Official JSON Website\\n\" +\n        \"  - Pygments      # Python language Syntax Colorizer /w YAML support\\n\" +\n        \"\\n\" +\n        \"News:\\n\" +\n        \"  - 20-NOV-2011 -- JS-YAML, a JavaScript YAML parser.\\n\" +\n        \"  - 18-AUG-2010 -- Ruby 1.9.2 includes psych, a libyaml wrapper.\\n\" +\n        \"# Maintained by Clark C. Evans\\n\" +\n        \"...\\n\"\n  \n  func testYamlHomepage () {\n    let value = try! Yaml.load(exampleYaml)\n    XCTAssert(value.count == 6)\n    XCTAssert(value[\"YAML\"] == \"YAML Ain't Markup Language\")\n    XCTAssert(value[\"What It Is\"] == .string(\"YAML is a human friendly data\" +\n      \" serialization standard for all programming languages.\"))\n    XCTAssert(value[\"YAML Resources\"].count == 8)\n    XCTAssert(value[\"YAML Resources\"][\"YAML 1.2 (3rd Edition)\"] ==\n      \"http://yaml.org/spec/1.2/spec.html\")\n    XCTAssert(value[\"YAML Resources\"][\"YAML IRC Channel\"] ==\n      \"#yaml on irc.freenode.net\")\n    XCTAssert(value[\"Projects\"].count == 12)\n    XCTAssert(value[\"Projects\"][\"C/C++ Libraries\"][2] == \"yaml-cpp\")\n    XCTAssert(value[\"Projects\"][\"Perl Modules\"].count == 5)\n    XCTAssert(value[\"Projects\"][\"Perl Modules\"][0] == \"YAML\")\n    XCTAssert(value[\"Projects\"][\"Perl Modules\"][1] == \"YAML::XS\")\n    XCTAssert(value[\"Related Projects\"].count == 6)\n    XCTAssert(value[\"News\"].count == 2)\n  }\n  \n  func testPerformanceExample() {\n    self.measure() {\n      _ = try! Yaml.load(self.exampleYaml)\n    }\n  }\n  \n}\n\n#if os(Linux)\n\nextension ExampleTests {\n  static var allTests: [(String, (ExampleTests) -> () throws -> Void)] {\n    return [\n      (\"testExample0\", testExample0),\n      (\"testExample1\", testExample1),\n      (\"testExample2\", testExample2),\n      (\"testExample3\", testExample3),\n      (\"testExample4\", testExample4),\n      (\"testExample5\", testExample5),\n      (\"testExample6\", testExample6),\n      (\"testExample7\", testExample7),\n      (\"testExample8\", testExample8),\n      (\"testExample9\", testExample9),\n      (\"testExample10\", testExample10),\n      (\"testExample11\", testExample11),\n      (\"testExample12\", testExample12),\n      (\"testExample13\", testExample13),\n      (\"testExample14\", testExample14),\n      (\"testExample15\", testExample15),\n      (\"testExample16\", testExample16),\n      (\"testExample17\", testExample17),\n      (\"testExample18\", testExample18),\n      (\"testExample19\", testExample19),\n      (\"testExample20\", testExample20),\n      (\"testExample21\", testExample21),\n      (\"testExample22\", testExample22),\n      (\"testYamlHomepage\", testYamlHomepage),\n      (\"testPerformanceExample\", testPerformanceExample),\n    ]\n  }\n}\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Tests/YamlTests/YamlTests.swift",
    "content": "@testable import Yaml\nimport XCTest\n\nclass YamlTests: XCTestCase {\n  \n  func testNull() {\n    XCTAssert(try! Yaml.load(\"# comment line\") == .null)\n    XCTAssert(try! Yaml.load(\"\") == .null)\n    XCTAssert(try! Yaml.load(\"null\") == .null)\n    XCTAssert(try! Yaml.load(\"Null\") == nil)\n    XCTAssert(try! Yaml.load(\"NULL\") == nil)\n    XCTAssert(try! Yaml.load(\"~\") == nil)\n    XCTAssert(try! Yaml.load(\"NuLL\") == \"NuLL\")\n    XCTAssert(try! Yaml.load(\"null#\") == \"null#\")\n    XCTAssert(try! Yaml.load(\"null#string\") == \"null#string\")\n    XCTAssert(try! Yaml.load(\"null #comment\") == nil)\n    \n    let value: Yaml = nil\n    XCTAssert(value == nil)\n  }\n  \n  func testBool() {\n    XCTAssert(try! Yaml.load(\"true\") == .bool(true))\n    XCTAssert(try! Yaml.load(\"True\").bool == true)\n    XCTAssert(try! Yaml.load(\"TRUE\") == true)\n    XCTAssert(try! Yaml.load(\"trUE\") == \"trUE\")\n    XCTAssert(try! Yaml.load(\"true#\") == \"true#\")\n    XCTAssert(try! Yaml.load(\"true#string\") == \"true#string\")\n    XCTAssert(try! Yaml.load(\"true #comment\") == true)\n    XCTAssert(try! Yaml.load(\"true  #\") == true)\n    XCTAssert(try! Yaml.load(\"true  \") == true)\n    XCTAssert(try! Yaml.load(\"true\\n\") == true)\n    XCTAssert(try! Yaml.load(\"true \\n\") == true)\n    XCTAssert(true == (try! Yaml.load(\"\\ntrue \\n\")))\n    \n    XCTAssert(try! Yaml.load(\"false\") == .bool(false))\n    XCTAssert(try! Yaml.load(\"False\").bool == false)\n    XCTAssert(try! Yaml.load(\"FALSE\") == false)\n    XCTAssert(try! Yaml.load(\"faLSE\") == \"faLSE\")\n    XCTAssert(try! Yaml.load(\"false#\") == \"false#\")\n    XCTAssert(try! Yaml.load(\"false#string\") == \"false#string\")\n    XCTAssert(try! Yaml.load(\"false #comment\") == false)\n    XCTAssert(try! Yaml.load(\"false  #\") == false)\n    XCTAssert(try! Yaml.load(\"false  \") == false)\n    XCTAssert(try! Yaml.load(\"false\\n\") == false)\n    XCTAssert(try! Yaml.load(\"false \\n\") == false)\n    XCTAssert(false == (try! Yaml.load(\"\\nfalse \\n\")))\n    \n    let value: Yaml = true\n    XCTAssert(value == true)\n    XCTAssert(value.bool == true)\n  }\n  \n  func testInt() {\n    XCTAssert(try! Yaml.load(\"0\") == .int(0))\n    XCTAssert(try! Yaml.load(\"+0\").int == 0)\n    XCTAssert(try! Yaml.load(\"-0\") == 0)\n    XCTAssert(try! Yaml.load(\"2\") == 2)\n    XCTAssert(try! Yaml.load(\"+2\") == 2)\n    XCTAssert(try! Yaml.load(\"-2\") == -2)\n    XCTAssert(try! Yaml.load(\"00123\") == 123)\n    XCTAssert(try! Yaml.load(\"+00123\") == 123)\n    XCTAssert(try! Yaml.load(\"-00123\") == -123)\n    XCTAssert(try! Yaml.load(\"0o10\") == 8)\n    XCTAssert(try! Yaml.load(\"0o010\") == 8)\n    XCTAssert(try! Yaml.load(\"0o0010\") == 8)\n    XCTAssert(try! Yaml.load(\"0x10\") == 16)\n    XCTAssert(try! Yaml.load(\"0x1a\") == 26)\n    XCTAssert(try! Yaml.load(\"0x01a\") == 26)\n    XCTAssert(try! Yaml.load(\"0x001a\") == 26)\n    XCTAssert(try! Yaml.load(\"10:10\") == 610)\n    XCTAssert(try! Yaml.load(\"10:10:10\") == 36610)\n    \n    XCTAssert(try! Yaml.load(\"2\") == 2)\n    XCTAssert(try! Yaml.load(\"2.0\") == 2)\n    XCTAssert(try! Yaml.load(\"2.5\") != 2)\n    XCTAssert(try! Yaml.load(\"2.5\").int == nil)\n    \n    let value1: Yaml = 2\n    XCTAssert(value1 == 2)\n    XCTAssert(value1.int == 2)\n    let value2: Yaml = -2\n    XCTAssert(value2 == -2)\n    XCTAssert(-value2 == 2)\n    XCTAssert(-value2 == value1)\n  }\n  \n  func testDouble() {\n    XCTAssert(try! Yaml.load(\".inf\") == .double(Double.infinity))\n    XCTAssert(try! Yaml.load(\".Inf\").double == Double.infinity)\n    XCTAssert(try! Yaml.load(\".INF\").double == Double.infinity)\n    XCTAssert(try! Yaml.load(\".iNf\") == \".iNf\")\n    XCTAssert(try! Yaml.load(\".inf#\") == \".inf#\")\n    XCTAssert(try! Yaml.load(\".inf# string\") == \".inf# string\")\n    XCTAssert(try! Yaml.load(\".inf # comment\").double == Double.infinity)\n    XCTAssert(try! Yaml.load(\".inf .inf\") == \".inf .inf\")\n    XCTAssert(try! Yaml.load(\"+.inf # comment\").double == Double.infinity)\n    \n    XCTAssert(try! Yaml.load(\"-.inf\") == .double(-Double.infinity))\n    XCTAssert(try! Yaml.load(\"-.Inf\").double == -Double.infinity)\n    XCTAssert(try! Yaml.load(\"-.INF\").double == -Double.infinity)\n    XCTAssert(try! Yaml.load(\"-.iNf\") == \"-.iNf\")\n    XCTAssert(try! Yaml.load(\"-.inf#\") == \"-.inf#\")\n    XCTAssert(try! Yaml.load(\"-.inf# string\") == \"-.inf# string\")\n    XCTAssert(try! Yaml.load(\"-.inf # comment\").double == -Double.infinity)\n    XCTAssert(try! Yaml.load(\"-.inf -.inf\") == \"-.inf -.inf\")\n    \n    XCTAssert(try! Yaml.load(\".nan\") != .double(Double.nan))\n    XCTAssert(try! Yaml.load(\".nan\").double!.isNaN)\n//TODO: Causes exception\n//    XCTAssert(try! Yaml.load(\".NaN\").double!.isNaN)\n    XCTAssert(try! Yaml.load(\".NAN\").double!.isNaN)\n    XCTAssert(try! Yaml.load(\".Nan\").double == nil)\n    XCTAssert(try! Yaml.load(\".nan#\") == \".nan#\")\n    XCTAssert(try! Yaml.load(\".nan# string\") == \".nan# string\")\n    XCTAssert(try! Yaml.load(\".nan # comment\").double!.isNaN)\n    XCTAssert(try! Yaml.load(\".nan .nan\") == \".nan .nan\")\n    \n    XCTAssert(try! Yaml.load(\"0.\") == .double(0))\n    XCTAssert(try! Yaml.load(\".0\").double == 0)\n    XCTAssert(try! Yaml.load(\"+0.\") == 0)\n    XCTAssert(try! Yaml.load(\"+.0\") == 0)\n    XCTAssert(try! Yaml.load(\"+.\") != 0)\n    XCTAssert(try! Yaml.load(\"-0.\") == 0)\n    XCTAssert(try! Yaml.load(\"-.0\") == 0)\n    XCTAssert(try! Yaml.load(\"-.\") != 0)\n    XCTAssert(try! Yaml.load(\"2.\") == 2)\n    /* Disabled for Linux */\n#if !os(Linux)\n    XCTAssert(try! Yaml.load(\".2\") == 0.2)\n    XCTAssert(try! Yaml.load(\"+2.\") == 2)\n    XCTAssert(try! Yaml.load(\"+.2\") == 0.2)\n    XCTAssert(try! Yaml.load(\"-2.\") == -2)\n    XCTAssert(try! Yaml.load(\"-.2\") == -0.2)\n    XCTAssert(try! Yaml.load(\"1.23015e+3\") == 1.23015e+3)\n    XCTAssert(try! Yaml.load(\"12.3015e+02\") == 12.3015e+02)\n    XCTAssert(try! Yaml.load(\"1230.15\") == 1230.15)\n    XCTAssert(try! Yaml.load(\"+1.23015e+3\") == 1.23015e+3)\n    XCTAssert(try! Yaml.load(\"+12.3015e+02\") == 12.3015e+02)\n    XCTAssert(try! Yaml.load(\"+1230.15\") == 1230.15)\n    XCTAssert(try! Yaml.load(\"-1.23015e+3\") == -1.23015e+3)\n    XCTAssert(try! Yaml.load(\"-12.3015e+02\") == -12.3015e+02)\n    XCTAssert(try! Yaml.load(\"-1230.15\") == -1230.15)\n    XCTAssert(try! Yaml.load(\"-01230.15\") == -1230.15)\n    XCTAssert(try! Yaml.load(\"-12.3015e02\") == -12.3015e+02)\n#endif\n    \n    XCTAssert(try! Yaml.load(\"2\") == 2.0)\n    XCTAssert(try! Yaml.load(\"2.0\") == 2.0)\n    XCTAssert(try! Yaml.load(\"2.5\") == 2.5)\n    XCTAssert(try! Yaml.load(\"2.5\").int == nil)\n    \n    let value1: Yaml = 0.2\n    XCTAssert(value1 == 0.2)\n    XCTAssert(value1.double == 0.2)\n    let value2: Yaml = -0.2\n    XCTAssert(value2 == -0.2)\n    XCTAssert(-value2 == 0.2)\n    XCTAssert(-value2 == value1)\n  }\n  \n  func testString () {\n    XCTAssert(try! Yaml.load(\"Behrang\") == .string(\"Behrang\"))\n    XCTAssert(try! Yaml.load(\"\\\"Behrang\\\"\") == .string(\"Behrang\"))\n    XCTAssert(try! Yaml.load(\"\\\"B\\\\\\\"ehran\\\\\\\"g\\\"\") == .string(\"B\\\"ehran\\\"g\"))\n    XCTAssert(try! Yaml.load(\"Behrang Noruzi Niya\").string ==\n      \"Behrang Noruzi Niya\")\n    XCTAssert(try! Yaml.load(\"Radin Noruzi Niya\") == \"Radin Noruzi Niya\")\n    XCTAssert(try! Yaml.load(\"|\") == \"\")\n    XCTAssert(try! Yaml.load(\"| \") == \"\")\n    XCTAssert(try! Yaml.load(\"|  # comment\") == \"\")\n    XCTAssert(try! Yaml.load(\"|  # comment\\n\") == \"\")\n    \n    XCTAssertThrowsError(try Yaml.load(\"|\\nRadin\"))\n    XCTAssert(try! Yaml.load(\"|\\n Radin\") == \"Radin\")\n    XCTAssert(try! Yaml.load(\"|  \\n Radin\") == \"Radin\")\n    XCTAssert(try! Yaml.load(\"|  # comment\\n Radin\") == \"Radin\")\n    XCTAssert(try! Yaml.load(\"|\\n  Radin\") == \"Radin\")\n    XCTAssert(try! Yaml.load(\"|2\\n  Radin\") == \"Radin\")\n    XCTAssert(try! Yaml.load(\"|1\\n  Radin\") == \" Radin\")\n    XCTAssert(try! Yaml.load(\"|1\\n\\n  Radin\") == \"\\n Radin\")\n    XCTAssert(try! Yaml.load(\"|\\n\\n  Radin\") == \"\\nRadin\")\n    XCTAssertNil(try? Yaml.load(\"|3\\n\\n  Radin\"))\n    XCTAssertNil(try? Yaml.load(\"|3\\n    \\n   Radin\"))\n    XCTAssert(try! Yaml.load(\"|3\\n   \\n   Radin\") == \"\\nRadin\")\n    XCTAssert(try! Yaml.load(\"|\\n  \\n\\n \\n  Radin\\n\\n \\n\\n  Noruzi Niya\") ==\n      \"\\n\\n\\nRadin\\n\\n\\n\\nNoruzi Niya\")\n    XCTAssert(try! Yaml.load(\"|\\n  \\n\\n \\n  Radin\\n\\n \\n\\n  Noruzi Niya\\n  #1\") ==\n      \"\\n\\n\\nRadin\\n\\n\\n\\nNoruzi Niya\\n#1\")\n    XCTAssert(try! Yaml.load(\"|\\n  \\n\\n \\n  Radin\\n\\n \\n\\n  Noruzi Niya\\n  #1\" +\n      \"\\n # Comment\") == \"\\n\\n\\nRadin\\n\\n\\n\\nNoruzi Niya\\n#1\\n\")\n    XCTAssert(try! Yaml.load(\"|\\n Radin\\n\") == \"Radin\\n\")\n    XCTAssert(try! Yaml.load(\"|\\n Radin\\n\\n\") == \"Radin\\n\")\n    XCTAssert(try! Yaml.load(\"|\\n Radin\\n \\n \") == \"Radin\\n\")\n    XCTAssert(try! Yaml.load(\"|\\n Radin\\n  \\n  \") == \"Radin\\n\")\n    XCTAssert(try! Yaml.load(\"|-\\n Radin\\n  \\n  \") == \"Radin\")\n    XCTAssert(try! Yaml.load(\"|+\\n Radin\\n\") == \"Radin\\n\")\n    XCTAssert(try! Yaml.load(\"|+\\n Radin\\n\\n\") == \"Radin\\n\\n\")\n    XCTAssert(try! Yaml.load(\"|+\\n Radin\\n \\n \") == \"Radin\\n\\n\")\n    XCTAssert(try! Yaml.load(\"|+\\n Radin\\n  \\n  \") == \"Radin\\n \\n \")\n    XCTAssert(try! Yaml.load(\"|2+\\n  Radin\\n  \\n  \") == \"Radin\\n\\n\")\n    XCTAssert(try! Yaml.load(\"|+2\\n  Radin\\n  \\n  \") == \"Radin\\n\\n\")\n    XCTAssert(try! Yaml.load(\"|-2\\n  Radin\\n  \\n  \") == \"Radin\")\n    XCTAssert(try! Yaml.load(\"|2-\\n  Radin\\n  \\n  \") == \"Radin\")\n    XCTAssertThrowsError(try Yaml.load(\"|22\\n  Radin\\n  \\n  \"))\n    XCTAssertThrowsError(try Yaml.load(\"|--\\n  Radin\\n  \\n  \"))\n    XCTAssert(try! Yaml.load(\">+\\n  trimmed\\n  \\n \\n\\n  as\\n  space\\n\\n   \\n\") ==\n      \"trimmed\\n\\n\\nas space\\n\\n \\n\")\n    XCTAssert(try! Yaml.load(\">-\\n  trimmed\\n  \\n \\n\\n  as\\n  space\") ==\n      \"trimmed\\n\\n\\nas space\")\n    XCTAssert(try! Yaml.load(\">\\n  foo \\n \\n  \\t bar\\n\\n  baz\\n\") ==\n      \"foo \\n\\n\\t bar\\n\\nbaz\\n\")\n    \n    XCTAssertThrowsError(try Yaml.load(\">\\n  \\n Behrang\"))\n    XCTAssert(try! Yaml.load(\">\\n  \\n  Behrang\") == \"\\nBehrang\")\n    XCTAssert(try! Yaml.load(\">\\n\\n folded\\n line\\n\\n next\\n line\\n   * bullet\\n\\n\" +\n      \"   * list\\n   * lines\\n\\n last\\n line\\n\\n# Comment\") ==\n      .string(\"\\nfolded line\\nnext line\\n  * bullet\\n\\n  * list\\n  * lines\" +\n        \"\\n\\nlast line\\n\"))\n    \n    XCTAssert(try! Yaml.load(\"\\\"\\n  foo \\n \\n  \\t bar\\n\\n  baz\\n\\\"\") ==\n      \" foo\\nbar\\nbaz \")\n    XCTAssert(try! Yaml.load(\"\\\"folded \\nto a space,\\t\\n \\nto a line feed,\" +\n      \" or \\t\\\\\\n \\\\ \\tnon-content\\\"\") ==\n      \"folded to a space,\\nto a line feed, or \\t \\tnon-content\")\n    XCTAssert(try! Yaml.load(\"\\\" 1st non-empty\\n\\n 2nd non-empty\" +\n      \" \\n\\t3rd non-empty \\\"\") ==\n      \" 1st non-empty\\n2nd non-empty 3rd non-empty \")\n    \n    XCTAssert(try! Yaml.load(\"'here''s to \\\"quotes\\\"'\") == \"here's to \\\"quotes\\\"\")\n    XCTAssert(try! Yaml.load(\"' 1st non-empty\\n\\n 2nd non-empty\" +\n      \" \\n\\t3rd non-empty '\") ==\n      \" 1st non-empty\\n2nd non-empty 3rd non-empty \")\n    \n    XCTAssert(try! Yaml.load(\"x\\n y\\nz\") == \"x y z\")\n    XCTAssert(try! Yaml.load(\" x\\ny\\n z\") == \"x y z\")\n    XCTAssert(try! Yaml.load(\"a: x\\n y\\n  z\") == [\"a\": \"x y z\"])\n    XCTAssertThrowsError(try Yaml.load(\"a: x\\ny\\n  z\"))\n    XCTAssert(try! Yaml.load(\"- a: x\\n   y\\n    z\") == [[\"a\": \"x y z\"]])\n    XCTAssert(try! Yaml.load(\"- a:\\n   x\\n    y\\n   z\") == [[\"a\": \"x y z\"]])\n    XCTAssert(try! Yaml.load(\"- a:     \\n   x\\n    y\\n   z\") == [[\"a\": \"x y z\"]])\n    XCTAssert(try! Yaml.load(\"- a: # comment\\n   x\\n    y\\n   z\") ==\n      [[\"a\": \"x y z\"]])\n    \n    let value1: Yaml = \"Radin\"\n    XCTAssert(value1 == \"Radin\")\n    XCTAssert(value1.string == \"Radin\")\n    \n    let value2 = try! Yaml.load(\n      \"# Outside flow collection:\\n\" +\n        \"- ::vector\\n\" +\n        \"- \\\": - ()\\\"\\n\" +\n        \"- Up, up, and away!\\n\" +\n        \"- -123\\n\" +\n        \"- http://example.com/foo#bar\\n\" +\n        \"# Inside flow collection:\\n\" +\n        \"- [ ::vector,\\n\" +\n        \"  \\\": - ()\\\",\\n\" +\n        \"  \\\"Up, up and away!\\\",\\n\" +\n        \"  -123,\\n\" +\n      \"  http://example.com/foo#bar ]\\n\"\n      )\n    XCTAssert(value2.count == 6)\n    XCTAssert(value2[0] == \"::vector\")\n    XCTAssert(value2[5][0] == \"::vector\")\n    XCTAssert(value2[5][4] == \"http://example.com/foo#bar\")\n  }\n  \n  func testFlowSeq () {\n    XCTAssert(try! Yaml.load(\"[]\") == .array([]))\n    XCTAssert(try! Yaml.load(\"[]\").count == 0)\n    XCTAssert(try! Yaml.load(\"[ true ]\") == [Yaml.bool(true)])\n    XCTAssert(try! Yaml.load(\"[ true ]\") == .array([true]))\n    XCTAssert(try! Yaml.load(\"[ true ]\") == [true])\n    XCTAssert(try! Yaml.load(\"[ true ]\")[0] == true)\n    XCTAssert(try! Yaml.load(\"[true, false, true]\") == [true, false, true])\n    XCTAssert(try! Yaml.load(\"[Behrang, Radin]\") == [\"Behrang\", \"Radin\"])\n    XCTAssert(try! Yaml.load(\"[true, [false, true]]\") == [true, [false, true]])\n    XCTAssert(try! Yaml.load(\"[true, true  ,false,  false  ,  false]\") ==\n      [true, true, false, false, false])\n    XCTAssert(try! Yaml.load(\"[true, .NaN]\") != [true, .double(Double.nan)])\n    XCTAssert(try! Yaml.load(\"[~, null, TRUE, False, .INF, -.inf, 0, 123, -456\" +\n      \", 0o74, 0xFf, 1.23, -4.5]\") ==\n      [nil, nil, true, false,\n        .double(Double.infinity), .double(-Double.infinity),\n        0, 123, -456, 60, 255, 1.23, -4.5])\n    XCTAssertThrowsError(try Yaml.load(\"x:\\n y:\\n  z: [\\n1]\"))\n    XCTAssertThrowsError(try Yaml.load(\"x:\\n y:\\n  z: [\\n  1]\"))\n    XCTAssert(try! Yaml.load(\"x:\\n y:\\n  z: [\\n   1]\") == [\"x\": [\"y\": [\"z\": [1]]]])\n  }\n\n  func testBlockSeq () {\n    XCTAssert(try! Yaml.load(\"- 1\\n- 2\") == [1, 2])\n    XCTAssert(try! Yaml.load(\"- 1\\n- 2\")[1] == 2)\n    XCTAssert(try! Yaml.load(\"- x: 1\") == [[\"x\": 1]])\n    XCTAssert(try! Yaml.load(\"- x: 1\\n  y: 2\")[0] == [\"x\": 1, \"y\": 2])\n    XCTAssert(try! Yaml.load(\"- 1\\n    \\n- x: 1\\n  y: 2\") == [1, [\"x\": 1, \"y\": 2]])\n    XCTAssert(try! Yaml.load(\"- x:\\n  - y: 1\") == [[\"x\": [[\"y\": 1]]]])\n  }\n  \n  func testFlowMap () {\n    XCTAssert(try! Yaml.load(\"{}\") == [:])\n    XCTAssert(try! Yaml.load(\"{x: 1}\") == [\"x\": 1])\n    XCTAssertThrowsError(try Yaml.load(\"{x: 1, x: 2}\"))\n    XCTAssert(try! Yaml.load(\"{x: 1}\")[\"x\"] == 1)\n    XCTAssertThrowsError(try Yaml.load(\"{x:1}\"))\n    XCTAssert(try! Yaml.load(\"{\\\"x\\\":1}\")[\"x\"] == 1)\n    XCTAssert(try! Yaml.load(\"{\\\"x\\\":1, 'y': true}\")[\"y\"] == true)\n    XCTAssert(try! Yaml.load(\"{\\\"x\\\":1, 'y': true, z: null}\")[\"z\"] == nil)\n    XCTAssert(try! Yaml.load(\"{first name: \\\"Behrang\\\",\" +\n      \" last name: 'Noruzi Niya'}\") ==\n      [\"first name\": \"Behrang\", \"last name\": \"Noruzi Niya\"])\n    XCTAssert(try! Yaml.load(\"{fn: Behrang, ln: Noruzi Niya}\")[\"ln\"] ==\n      \"Noruzi Niya\")\n    XCTAssert(try! Yaml.load(\"{fn: Behrang\\n ,\\nln: Noruzi Niya}\")[\"ln\"] ==\n      \"Noruzi Niya\")\n  }\n  \n  func testBlockMap () {\n    XCTAssert(try! Yaml.load(\"x: 1\\ny: 2\") ==\n      .dictionary([.string(\"x\"): .int(1), .string(\"y\"): .int(2)]))\n    XCTAssertThrowsError(try Yaml.load(\"x: 1\\nx: 2\"))\n    XCTAssert(try! Yaml.load(\"x: 1\\n? y\\n: 2\") == [\"x\": 1, \"y\": 2])\n    XCTAssertThrowsError(try Yaml.load(\"x: 1\\n? x\\n: 2\"))\n    XCTAssertThrowsError(try Yaml.load(\"x: 1\\n?  y\\n:\\n2\"))\n    XCTAssert(try! Yaml.load(\"x: 1\\n?  y\\n:\\n 2\") == [\"x\": 1, \"y\": 2])\n    XCTAssert(try! Yaml.load(\"x: 1\\n?  y\") == [\"x\": 1, \"y\": nil])\n    XCTAssert(try! Yaml.load(\"?  y\") == [\"y\": nil])\n    XCTAssert(try! Yaml.load(\" \\n  \\n \\n  \\n\\nx: 1  \\n   \\ny: 2\" +\n      \"\\n   \\n  \\n \")[\"y\"] == 2)\n    XCTAssert(try! Yaml.load(\"x:\\n a: 1 # comment \\n b: 2\\ny: \" +\n      \"\\n  c: 3\\n  \")[\"y\"][\"c\"] == 3)\n    XCTAssert(try! Yaml.load(\"# comment \\n\\n  # x\\n  # y \\n  \\n  x: 1\" +\n      \"  \\n  y: 2\") == [\"x\": 1, \"y\": 2])\n  }\n  \n  func testDirectives () {\n    XCTAssertThrowsError(try Yaml.load(\"%YAML 1.2\\n1\"))\n    XCTAssert(try Yaml.load(\"%YAML   1.2\\n---1\") == 1)\n    XCTAssert(try Yaml.load(\"%YAML   1.2  #\\n---1\") == 1)\n    XCTAssertThrowsError(try Yaml.load(\"%YAML   1.2\\n%YAML 1.2\\n---1\"))\n    XCTAssertThrowsError(try Yaml.load(\"%YAML 1.0\\n---1\"))\n    XCTAssertThrowsError(try Yaml.load(\"%YAML 1\\n---1\"))\n    XCTAssertThrowsError(try Yaml.load(\"%YAML 1.3\\n---1\"))\n    XCTAssertThrowsError(try Yaml.load(\"%YAML \\n---1\"))\n  }\n  \n  func testReserves () {\n    XCTAssertThrowsError(try Yaml.load(\"`reserved\"))\n    XCTAssertThrowsError(try Yaml.load(\"@behrangn\"))\n    XCTAssertThrowsError(try Yaml.load(\"twitter handle: @behrangn\"))\n  }\n  \n  func testAliases () {\n    XCTAssert(try! Yaml.load(\"x: &a 1\\ny: *a\") == [\"x\": 1, \"y\": 1])\n    XCTAssertThrowsError(try Yaml.loadMultiple(\"x: &a 1\\ny: *a\\n---\\nx: *a\"))\n    XCTAssertThrowsError(try Yaml.load(\"x: *a\"))\n  }\n  \n  func testUnicodeSurrogates() {\n    XCTAssert(try! Yaml.load(\"x: Dog‼🐶\\ny: 𝒂𝑡\") == [\"x\": \"Dog‼🐶\", \"y\": \"𝒂𝑡\"])\n  }\n  \n}\n\n#if os(Linux)\n\nextension YamlTests {\n  static var allTests: [(String, (YamlTests) -> () throws -> Void)] {\n    return [\n      (\"testNull\", testNull),\n      (\"testBool\", testBool),\n      (\"testInt\", testInt),\n      (\"testDouble\", testDouble),\n      (\"testString\", testString),\n      (\"testFlowSeq\", testFlowSeq),\n      (\"testBlockSeq\", testBlockSeq),\n      (\"testFlowMap\", testFlowMap),\n      (\"testBlockMap\", testBlockMap),\n      (\"testDirectives\", testDirectives),\n      (\"testReserves\", testReserves),\n      (\"testAliases\", testAliases),\n      (\"testUnicodeSurrogates\", testUnicodeSurrogates),\n    ]\n  }\n}\n\n#endif\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Yaml.podspec",
    "content": "Pod::Spec.new do |s|\n\n  # ―――  Spec Metadata  ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #\n  s.name          = \"Yaml\"\n  s.version       = \"3.4.3\"\n  s.summary       = \"Load YAML and JSON documents using Swift\"\n  s.description   = <<-DESC\n                 YamlSwift parses a string of YAML document(s) (or a JSON document)\n                 and returns a Yaml enum value representing that string.\n                   DESC\n  s.homepage      = \"https://github.com/behrang/YamlSwift\"\n  s.swift_version = \"4.1\"\n\n  # ―――  Spec License  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #\n  s.license      = \"MIT\"\n\n  # ――― Author Metadata  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #\n  s.author             = { \"behrang\" => \"behrangn@gmail.com\" }\n\n  # ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― #\n  s.ios.deployment_target = \"8.0\"\n  s.osx.deployment_target = \"10.9\"\n  s.tvos.deployment_target = \"9.0\"\n\n  # ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #\n  s.source       = { :git => \"https://github.com/behrang/YamlSwift.git\", :tag => s.version }\n\n  # ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #\n  s.source_files = \"Sources/Yaml/*.swift\"\n\n  # --- Target xcconfig ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #\n  s.pod_target_xcconfig = {\n    'SWIFT_VERSION' => '4.1',\n    'APPLICATION_EXTENSION_API_ONLY' => 'YES',\n  }\n\nend\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Yaml.xcodeproj/.gitignore",
    "content": "project.xcworkspace\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Yaml.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t228450C01DB0E51C00EACD31 /* Yaml.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B61DB0E51C00EACD31 /* Yaml.swift */; };\n\t\t228450C11DB0E51C00EACD31 /* Yaml.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B61DB0E51C00EACD31 /* Yaml.swift */; };\n\t\t228450C21DB0E51C00EACD31 /* Yaml.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B61DB0E51C00EACD31 /* Yaml.swift */; };\n\t\t228450C31DB0E51C00EACD31 /* YAMLOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B71DB0E51C00EACD31 /* YAMLOperators.swift */; };\n\t\t228450C41DB0E51C00EACD31 /* YAMLOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B71DB0E51C00EACD31 /* YAMLOperators.swift */; };\n\t\t228450C51DB0E51C00EACD31 /* YAMLOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B71DB0E51C00EACD31 /* YAMLOperators.swift */; };\n\t\t228450C61DB0E51C00EACD31 /* YAMLParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B81DB0E51C00EACD31 /* YAMLParser.swift */; };\n\t\t228450C71DB0E51C00EACD31 /* YAMLParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B81DB0E51C00EACD31 /* YAMLParser.swift */; };\n\t\t228450C81DB0E51C00EACD31 /* YAMLParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B81DB0E51C00EACD31 /* YAMLParser.swift */; };\n\t\t228450C91DB0E51C00EACD31 /* YAMLRegex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B91DB0E51C00EACD31 /* YAMLRegex.swift */; };\n\t\t228450CA1DB0E51C00EACD31 /* YAMLRegex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B91DB0E51C00EACD31 /* YAMLRegex.swift */; };\n\t\t228450CB1DB0E51C00EACD31 /* YAMLRegex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450B91DB0E51C00EACD31 /* YAMLRegex.swift */; };\n\t\t228450CC1DB0E51C00EACD31 /* YAMLResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450BA1DB0E51C00EACD31 /* YAMLResult.swift */; };\n\t\t228450CD1DB0E51C00EACD31 /* YAMLResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450BA1DB0E51C00EACD31 /* YAMLResult.swift */; };\n\t\t228450CE1DB0E51C00EACD31 /* YAMLResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450BA1DB0E51C00EACD31 /* YAMLResult.swift */; };\n\t\t228450CF1DB0E51C00EACD31 /* YAMLTokenizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450BB1DB0E51C00EACD31 /* YAMLTokenizer.swift */; };\n\t\t228450D01DB0E51C00EACD31 /* YAMLTokenizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450BB1DB0E51C00EACD31 /* YAMLTokenizer.swift */; };\n\t\t228450D11DB0E51C00EACD31 /* YAMLTokenizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228450BB1DB0E51C00EACD31 /* YAMLTokenizer.swift */; };\n\t\t228450D21DB0E51C00EACD31 /* Yaml.h in Headers */ = {isa = PBXBuildFile; fileRef = 228450BC1DB0E51C00EACD31 /* Yaml.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t228450D31DB0E51C00EACD31 /* Yaml.h in Headers */ = {isa = PBXBuildFile; fileRef = 228450BC1DB0E51C00EACD31 /* Yaml.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t228450D41DB0E51C00EACD31 /* Yaml.h in Headers */ = {isa = PBXBuildFile; fileRef = 228450BC1DB0E51C00EACD31 /* Yaml.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t8313C4331C8DC2CB00DEF215 /* Yaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8313C4291C8DC2CB00DEF215 /* Yaml.framework */; };\n\t\t8313C4401C8DC4AD00DEF215 /* YamlTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3894BCB1B7312E000286880 /* YamlTests.swift */; };\n\t\t8313C4411C8DC4B000DEF215 /* ExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32DF24D1B7304750011046A /* ExampleTests.swift */; };\n\t\t8E1D762D1B258FEE0022C013 /* Yaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E1D76211B258FEE0022C013 /* Yaml.framework */; };\n\t\tF32DF2501B7304750011046A /* ExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32DF24D1B7304750011046A /* ExampleTests.swift */; };\n\t\tF32DF2621B73054D0011046A /* Yaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F32DF2581B73054C0011046A /* Yaml.framework */; };\n\t\tF32DF27B1B7305700011046A /* ExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F32DF24D1B7304750011046A /* ExampleTests.swift */; };\n\t\tF3894BCC1B7312E000286880 /* YamlTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3894BCB1B7312E000286880 /* YamlTests.swift */; };\n\t\tF3894BCD1B7312E000286880 /* YamlTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3894BCB1B7312E000286880 /* YamlTests.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t8313C4341C8DC2CB00DEF215 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 8EF2541A1B258FB4001BCEBE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 8313C4281C8DC2CB00DEF215;\n\t\t\tremoteInfo = Yaml;\n\t\t};\n\t\t8E1D762E1B258FEE0022C013 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 8EF2541A1B258FB4001BCEBE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 8E1D76201B258FEE0022C013;\n\t\t\tremoteInfo = Yaml;\n\t\t};\n\t\tF32DF2631B73054D0011046A /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 8EF2541A1B258FB4001BCEBE /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = F32DF2571B73054C0011046A;\n\t\t\tremoteInfo = Yaml;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t228450B41DB0E51C00EACD31 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t228450B61DB0E51C00EACD31 /* Yaml.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Yaml.swift; sourceTree = \"<group>\"; };\n\t\t228450B71DB0E51C00EACD31 /* YAMLOperators.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YAMLOperators.swift; sourceTree = \"<group>\"; };\n\t\t228450B81DB0E51C00EACD31 /* YAMLParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YAMLParser.swift; sourceTree = \"<group>\"; };\n\t\t228450B91DB0E51C00EACD31 /* YAMLRegex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YAMLRegex.swift; sourceTree = \"<group>\"; };\n\t\t228450BA1DB0E51C00EACD31 /* YAMLResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YAMLResult.swift; sourceTree = \"<group>\"; };\n\t\t228450BB1DB0E51C00EACD31 /* YAMLTokenizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YAMLTokenizer.swift; sourceTree = \"<group>\"; };\n\t\t228450BC1DB0E51C00EACD31 /* Yaml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Yaml.h; sourceTree = \"<group>\"; };\n\t\t8313C4291C8DC2CB00DEF215 /* Yaml.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Yaml.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8313C4321C8DC2CB00DEF215 /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8E1D76211B258FEE0022C013 /* Yaml.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Yaml.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8E1D762C1B258FEE0022C013 /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t8E1D76321B258FEE0022C013 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = \"<group>\"; };\n\t\t8E1D763B1B2591330022C013 /* Readme.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Readme.md; sourceTree = \"<group>\"; };\n\t\tF32DF24D1B7304750011046A /* ExampleTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExampleTests.swift; sourceTree = \"<group>\"; };\n\t\tF32DF2581B73054C0011046A /* Yaml.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Yaml.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tF32DF2611B73054C0011046A /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tF3894BCB1B7312E000286880 /* YamlTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YamlTests.swift; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t8313C4251C8DC2CB00DEF215 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8313C42F1C8DC2CB00DEF215 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8313C4331C8DC2CB00DEF215 /* Yaml.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8E1D761D1B258FEE0022C013 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8E1D76291B258FEE0022C013 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8E1D762D1B258FEE0022C013 /* Yaml.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tF32DF2541B73054C0011046A /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tF32DF25E1B73054C0011046A /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tF32DF2621B73054D0011046A /* Yaml.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t228450B31DB0E51C00EACD31 /* Sources */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t228450B41DB0E51C00EACD31 /* Info.plist */,\n\t\t\t\t228450B51DB0E51C00EACD31 /* YAML */,\n\t\t\t\t228450BC1DB0E51C00EACD31 /* Yaml.h */,\n\t\t\t);\n\t\t\tpath = Sources;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t228450B51DB0E51C00EACD31 /* YAML */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t228450B61DB0E51C00EACD31 /* Yaml.swift */,\n\t\t\t\t228450B71DB0E51C00EACD31 /* YAMLOperators.swift */,\n\t\t\t\t228450B81DB0E51C00EACD31 /* YAMLParser.swift */,\n\t\t\t\t228450B91DB0E51C00EACD31 /* YAMLRegex.swift */,\n\t\t\t\t228450BA1DB0E51C00EACD31 /* YAMLResult.swift */,\n\t\t\t\t228450BB1DB0E51C00EACD31 /* YAMLTokenizer.swift */,\n\t\t\t);\n\t\t\tname = YAML;\n\t\t\tpath = Yaml;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t8E1D76221B258FEE0022C013 /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8E1D76211B258FEE0022C013 /* Yaml.framework */,\n\t\t\t\t8E1D762C1B258FEE0022C013 /* Tests.xctest */,\n\t\t\t\tF32DF2581B73054C0011046A /* Yaml.framework */,\n\t\t\t\tF32DF2611B73054C0011046A /* Tests.xctest */,\n\t\t\t\t8313C4291C8DC2CB00DEF215 /* Yaml.framework */,\n\t\t\t\t8313C4321C8DC2CB00DEF215 /* Tests.xctest */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t8E1D76301B258FEE0022C013 /* Tests */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tF32DF24D1B7304750011046A /* ExampleTests.swift */,\n\t\t\t\tF3894BCB1B7312E000286880 /* YamlTests.swift */,\n\t\t\t\t8E1D76311B258FEE0022C013 /* Supporting Files */,\n\t\t\t);\n\t\t\tname = Tests;\n\t\t\tpath = Tests/YamlTests;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t8E1D76311B258FEE0022C013 /* Supporting Files */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t8E1D76321B258FEE0022C013 /* Info.plist */,\n\t\t\t);\n\t\t\tname = \"Supporting Files\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t8EF254191B258FB4001BCEBE = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t228450B31DB0E51C00EACD31 /* Sources */,\n\t\t\t\t8E1D763B1B2591330022C013 /* Readme.md */,\n\t\t\t\t8E1D76301B258FEE0022C013 /* Tests */,\n\t\t\t\t8E1D76221B258FEE0022C013 /* Products */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t8313C4261C8DC2CB00DEF215 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t228450D41DB0E51C00EACD31 /* Yaml.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8E1D761E1B258FEE0022C013 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t228450D21DB0E51C00EACD31 /* Yaml.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tF32DF2551B73054C0011046A /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t228450D31DB0E51C00EACD31 /* Yaml.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t8313C4281C8DC2CB00DEF215 /* Yaml tvOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 8313C43E1C8DC2CB00DEF215 /* Build configuration list for PBXNativeTarget \"Yaml tvOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8313C4241C8DC2CB00DEF215 /* Sources */,\n\t\t\t\t8313C4251C8DC2CB00DEF215 /* Frameworks */,\n\t\t\t\t8313C4261C8DC2CB00DEF215 /* Headers */,\n\t\t\t\t8313C4271C8DC2CB00DEF215 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Yaml tvOS\";\n\t\t\tproductName = Yaml;\n\t\t\tproductReference = 8313C4291C8DC2CB00DEF215 /* Yaml.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t8313C4311C8DC2CB00DEF215 /* Tests tvOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 8313C43F1C8DC2CB00DEF215 /* Build configuration list for PBXNativeTarget \"Tests tvOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8313C42E1C8DC2CB00DEF215 /* Sources */,\n\t\t\t\t8313C42F1C8DC2CB00DEF215 /* Frameworks */,\n\t\t\t\t8313C4301C8DC2CB00DEF215 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t8313C4351C8DC2CB00DEF215 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"Tests tvOS\";\n\t\t\tproductName = YamlTests;\n\t\t\tproductReference = 8313C4321C8DC2CB00DEF215 /* Tests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\t8E1D76201B258FEE0022C013 /* Yaml OSX */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 8E1D76391B258FEE0022C013 /* Build configuration list for PBXNativeTarget \"Yaml OSX\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8E1D761C1B258FEE0022C013 /* Sources */,\n\t\t\t\t8E1D761D1B258FEE0022C013 /* Frameworks */,\n\t\t\t\t8E1D761E1B258FEE0022C013 /* Headers */,\n\t\t\t\t8E1D761F1B258FEE0022C013 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Yaml OSX\";\n\t\t\tproductName = Yaml;\n\t\t\tproductReference = 8E1D76211B258FEE0022C013 /* Yaml.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t8E1D762B1B258FEE0022C013 /* Tests OSX */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 8E1D763A1B258FEE0022C013 /* Build configuration list for PBXNativeTarget \"Tests OSX\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t8E1D76281B258FEE0022C013 /* Sources */,\n\t\t\t\t8E1D76291B258FEE0022C013 /* Frameworks */,\n\t\t\t\t8E1D762A1B258FEE0022C013 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t8E1D762F1B258FEE0022C013 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"Tests OSX\";\n\t\t\tproductName = Tests;\n\t\t\tproductReference = 8E1D762C1B258FEE0022C013 /* Tests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n\t\tF32DF2571B73054C0011046A /* Yaml iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = F32DF2691B73054D0011046A /* Build configuration list for PBXNativeTarget \"Yaml iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tF32DF2531B73054C0011046A /* Sources */,\n\t\t\t\tF32DF2541B73054C0011046A /* Frameworks */,\n\t\t\t\tF32DF2551B73054C0011046A /* Headers */,\n\t\t\t\tF32DF2561B73054C0011046A /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"Yaml iOS\";\n\t\t\tproductName = Yaml;\n\t\t\tproductReference = F32DF2581B73054C0011046A /* Yaml.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\tF32DF2601B73054C0011046A /* Tests iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = F32DF26C1B73054D0011046A /* Build configuration list for PBXNativeTarget \"Tests iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tF32DF25D1B73054C0011046A /* Sources */,\n\t\t\t\tF32DF25E1B73054C0011046A /* Frameworks */,\n\t\t\t\tF32DF25F1B73054C0011046A /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tF32DF2641B73054D0011046A /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"Tests iOS\";\n\t\t\tproductName = Tests;\n\t\t\tproductReference = F32DF2611B73054C0011046A /* Tests.xctest */;\n\t\t\tproductType = \"com.apple.product-type.bundle.unit-test\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t8EF2541A1B258FB4001BCEBE /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0720;\n\t\t\t\tLastUpgradeCheck = 0930;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t8313C4281C8DC2CB00DEF215 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2.1;\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t};\n\t\t\t\t\t8313C4311C8DC2CB00DEF215 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.2.1;\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t};\n\t\t\t\t\t8E1D76201B258FEE0022C013 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.3.2;\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t};\n\t\t\t\t\t8E1D762B1B258FEE0022C013 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 6.3.2;\n\t\t\t\t\t\tLastSwiftMigration = 0800;\n\t\t\t\t\t};\n\t\t\t\t\tF32DF2571B73054C0011046A = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.0;\n\t\t\t\t\t\tLastSwiftMigration = 0900;\n\t\t\t\t\t};\n\t\t\t\t\tF32DF2601B73054C0011046A = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.0;\n\t\t\t\t\t\tLastSwiftMigration = 0900;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 8EF2541D1B258FB4001BCEBE /* Build configuration list for PBXProject \"Yaml\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = 8EF254191B258FB4001BCEBE;\n\t\t\tproductRefGroup = 8E1D76221B258FEE0022C013 /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t8E1D76201B258FEE0022C013 /* Yaml OSX */,\n\t\t\t\t8E1D762B1B258FEE0022C013 /* Tests OSX */,\n\t\t\t\tF32DF2571B73054C0011046A /* Yaml iOS */,\n\t\t\t\tF32DF2601B73054C0011046A /* Tests iOS */,\n\t\t\t\t8313C4281C8DC2CB00DEF215 /* Yaml tvOS */,\n\t\t\t\t8313C4311C8DC2CB00DEF215 /* Tests tvOS */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t8313C4271C8DC2CB00DEF215 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8313C4301C8DC2CB00DEF215 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8E1D761F1B258FEE0022C013 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8E1D762A1B258FEE0022C013 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tF32DF2561B73054C0011046A /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tF32DF25F1B73054C0011046A /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t8313C4241C8DC2CB00DEF215 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t228450D11DB0E51C00EACD31 /* YAMLTokenizer.swift in Sources */,\n\t\t\t\t228450CE1DB0E51C00EACD31 /* YAMLResult.swift in Sources */,\n\t\t\t\t228450CB1DB0E51C00EACD31 /* YAMLRegex.swift in Sources */,\n\t\t\t\t228450C51DB0E51C00EACD31 /* YAMLOperators.swift in Sources */,\n\t\t\t\t228450C21DB0E51C00EACD31 /* Yaml.swift in Sources */,\n\t\t\t\t228450C81DB0E51C00EACD31 /* YAMLParser.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8313C42E1C8DC2CB00DEF215 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t8313C4411C8DC4B000DEF215 /* ExampleTests.swift in Sources */,\n\t\t\t\t8313C4401C8DC4AD00DEF215 /* YamlTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8E1D761C1B258FEE0022C013 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t228450CF1DB0E51C00EACD31 /* YAMLTokenizer.swift in Sources */,\n\t\t\t\t228450CC1DB0E51C00EACD31 /* YAMLResult.swift in Sources */,\n\t\t\t\t228450C91DB0E51C00EACD31 /* YAMLRegex.swift in Sources */,\n\t\t\t\t228450C31DB0E51C00EACD31 /* YAMLOperators.swift in Sources */,\n\t\t\t\t228450C01DB0E51C00EACD31 /* Yaml.swift in Sources */,\n\t\t\t\t228450C61DB0E51C00EACD31 /* YAMLParser.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t8E1D76281B258FEE0022C013 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tF3894BCC1B7312E000286880 /* YamlTests.swift in Sources */,\n\t\t\t\tF32DF2501B7304750011046A /* ExampleTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tF32DF2531B73054C0011046A /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t228450D01DB0E51C00EACD31 /* YAMLTokenizer.swift in Sources */,\n\t\t\t\t228450CD1DB0E51C00EACD31 /* YAMLResult.swift in Sources */,\n\t\t\t\t228450CA1DB0E51C00EACD31 /* YAMLRegex.swift in Sources */,\n\t\t\t\t228450C41DB0E51C00EACD31 /* YAMLOperators.swift in Sources */,\n\t\t\t\t228450C11DB0E51C00EACD31 /* Yaml.swift in Sources */,\n\t\t\t\t228450C71DB0E51C00EACD31 /* YAMLParser.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tF32DF25D1B73054C0011046A /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tF3894BCD1B7312E000286880 /* YamlTests.swift in Sources */,\n\t\t\t\tF32DF27B1B7305700011046A /* ExampleTests.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t8313C4351C8DC2CB00DEF215 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 8313C4281C8DC2CB00DEF215 /* Yaml tvOS */;\n\t\t\ttargetProxy = 8313C4341C8DC2CB00DEF215 /* PBXContainerItemProxy */;\n\t\t};\n\t\t8E1D762F1B258FEE0022C013 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 8E1D76201B258FEE0022C013 /* Yaml OSX */;\n\t\t\ttargetProxy = 8E1D762E1B258FEE0022C013 /* PBXContainerItemProxy */;\n\t\t};\n\t\tF32DF2641B73054D0011046A /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = F32DF2571B73054C0011046A /* Yaml iOS */;\n\t\t\ttargetProxy = F32DF2631B73054D0011046A /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\t8313C43A1C8DC2CB00DEF215 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 3.4.3;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 3.4.3;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.1;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t8313C43B1C8DC2CB00DEF215 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=appletvos*]\" = \"\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 3.4.3;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 3.4.3;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = 3;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.1;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t8313C43C1C8DC2CB00DEF215 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Tests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tPRODUCT_NAME = Tests;\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.1;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t8313C43D1C8DC2CB00DEF215 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Tests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tPRODUCT_NAME = Tests;\n\t\t\t\tSDKROOT = appletvos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTVOS_DEPLOYMENT_TARGET = 9.1;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t8E1D76351B258FEE0022C013 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 3.4.3;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 3.4.3;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.9;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t8E1D76361B258FEE0022C013 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 3.4.3;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 3.4.3;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.9;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t8E1D76371B258FEE0022C013 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_SYMBOLS_PRIVATE_EXTERN = NO;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Tests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tPRODUCT_NAME = Tests;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t8E1D76381B258FEE0022C013 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(DEVELOPER_FRAMEWORKS_DIR)\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Tests/Info.plist;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks\";\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.10;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tPRODUCT_NAME = Tests;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t8EF2541E1B258FB4001BCEBE /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = behrang.Yaml;\n\t\t\t\tPRODUCT_NAME = Yaml;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t8EF2541F1B258FB4001BCEBE /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = behrang.Yaml;\n\t\t\t\tPRODUCT_NAME = Yaml;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tF32DF26A1B73054D0011046A /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 3.4.3;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 3.4.3;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tF32DF26B1B73054D0011046A /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 3.4.3;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 3.4.3;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = \"$(SRCROOT)/Sources/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 8.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tF32DF26D1B73054D0011046A /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Tests/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tPRODUCT_NAME = Tests;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tF32DF26E1B73054D0011046A /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tINFOPLIST_FILE = Tests/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.0;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tPRODUCT_NAME = Tests;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tSWIFT_SWIFT3_OBJC_INFERENCE = Default;\n\t\t\t\tSWIFT_VERSION = 4.0;\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t8313C43E1C8DC2CB00DEF215 /* Build configuration list for PBXNativeTarget \"Yaml tvOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t8313C43A1C8DC2CB00DEF215 /* Debug */,\n\t\t\t\t8313C43B1C8DC2CB00DEF215 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t8313C43F1C8DC2CB00DEF215 /* Build configuration list for PBXNativeTarget \"Tests tvOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t8313C43C1C8DC2CB00DEF215 /* Debug */,\n\t\t\t\t8313C43D1C8DC2CB00DEF215 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t8E1D76391B258FEE0022C013 /* Build configuration list for PBXNativeTarget \"Yaml OSX\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t8E1D76351B258FEE0022C013 /* Debug */,\n\t\t\t\t8E1D76361B258FEE0022C013 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t8E1D763A1B258FEE0022C013 /* Build configuration list for PBXNativeTarget \"Tests OSX\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t8E1D76371B258FEE0022C013 /* Debug */,\n\t\t\t\t8E1D76381B258FEE0022C013 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t8EF2541D1B258FB4001BCEBE /* Build configuration list for PBXProject \"Yaml\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t8EF2541E1B258FB4001BCEBE /* Debug */,\n\t\t\t\t8EF2541F1B258FB4001BCEBE /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tF32DF2691B73054D0011046A /* Build configuration list for PBXNativeTarget \"Yaml iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tF32DF26A1B73054D0011046A /* Debug */,\n\t\t\t\tF32DF26B1B73054D0011046A /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tF32DF26C1B73054D0011046A /* Build configuration list for PBXNativeTarget \"Tests iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tF32DF26D1B73054D0011046A /* Debug */,\n\t\t\t\tF32DF26E1B73054D0011046A /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 8EF2541A1B258FB4001BCEBE /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Yaml.xcodeproj/xcshareddata/xcschemes/Yaml OSX.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8E1D76201B258FEE0022C013\"\n               BuildableName = \"Yaml.framework\"\n               BlueprintName = \"Yaml OSX\"\n               ReferencedContainer = \"container:Yaml.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"NO\"\n            buildForProfiling = \"NO\"\n            buildForArchiving = \"NO\"\n            buildForAnalyzing = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8E1D762B1B258FEE0022C013\"\n               BuildableName = \"Tests.xctest\"\n               BlueprintName = \"Tests OSX\"\n               ReferencedContainer = \"container:Yaml.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8E1D762B1B258FEE0022C013\"\n               BuildableName = \"Tests.xctest\"\n               BlueprintName = \"Tests OSX\"\n               ReferencedContainer = \"container:Yaml.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8E1D76201B258FEE0022C013\"\n            BuildableName = \"Yaml.framework\"\n            BlueprintName = \"Yaml OSX\"\n            ReferencedContainer = \"container:Yaml.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8E1D76201B258FEE0022C013\"\n            BuildableName = \"Yaml.framework\"\n            BlueprintName = \"Yaml OSX\"\n            ReferencedContainer = \"container:Yaml.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8E1D76201B258FEE0022C013\"\n            BuildableName = \"Yaml.framework\"\n            BlueprintName = \"Yaml OSX\"\n            ReferencedContainer = \"container:Yaml.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Yaml.xcodeproj/xcshareddata/xcschemes/Yaml iOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"F32DF2571B73054C0011046A\"\n               BuildableName = \"Yaml.framework\"\n               BlueprintName = \"Yaml iOS\"\n               ReferencedContainer = \"container:Yaml.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      codeCoverageEnabled = \"YES\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"F32DF2601B73054C0011046A\"\n               BuildableName = \"Tests.xctest\"\n               BlueprintName = \"Tests iOS\"\n               ReferencedContainer = \"container:Yaml.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"F32DF2571B73054C0011046A\"\n            BuildableName = \"Yaml.framework\"\n            BlueprintName = \"Yaml iOS\"\n            ReferencedContainer = \"container:Yaml.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"F32DF2571B73054C0011046A\"\n            BuildableName = \"Yaml.framework\"\n            BlueprintName = \"Yaml iOS\"\n            ReferencedContainer = \"container:Yaml.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"F32DF2571B73054C0011046A\"\n            BuildableName = \"Yaml.framework\"\n            BlueprintName = \"Yaml iOS\"\n            ReferencedContainer = \"container:Yaml.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Yaml.xcodeproj/xcshareddata/xcschemes/Yaml tvOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0930\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8313C4281C8DC2CB00DEF215\"\n               BuildableName = \"Yaml.framework\"\n               BlueprintName = \"Yaml tvOS\"\n               ReferencedContainer = \"container:Yaml.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n         <TestableReference\n            skipped = \"NO\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"8313C4311C8DC2CB00DEF215\"\n               BuildableName = \"Tests.xctest\"\n               BlueprintName = \"Tests tvOS\"\n               ReferencedContainer = \"container:Yaml.xcodeproj\">\n            </BuildableReference>\n         </TestableReference>\n      </Testables>\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8313C4281C8DC2CB00DEF215\"\n            BuildableName = \"Yaml.framework\"\n            BlueprintName = \"Yaml tvOS\"\n            ReferencedContainer = \"container:Yaml.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8313C4281C8DC2CB00DEF215\"\n            BuildableName = \"Yaml.framework\"\n            BlueprintName = \"Yaml tvOS\"\n            ReferencedContainer = \"container:Yaml.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"8313C4281C8DC2CB00DEF215\"\n            BuildableName = \"Yaml.framework\"\n            BlueprintName = \"Yaml tvOS\"\n            ReferencedContainer = \"container:Yaml.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/YamlSwift/Yaml.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"container:Yaml.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/.gitignore",
    "content": "#### joe made this: http://goel.io/joe\n\n#####=== Emacs ===#####\n# -*- mode: gitignore; -*-\n*~\n\\#*\\#\n/.emacs.desktop\n/.emacs.desktop.lock\n*.elc\nauto-save-list\ntramp\n.\\#*\n\n# Org-mode\n.org-id-locations\n*_archive\n\n# flymake-mode\n*_flymake.*\n\n# eshell files\n/eshell/history\n/eshell/lastdir\n\n# elpa packages\n/elpa/\n\n# reftex files\n*.rel\n\n# AUCTeX auto folder\n/auto/\n\n# cask packages\n.cask/\n\n#####=== Xcode ===#####\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.xcuserstate\n\n#####=== Objective-C ===#####\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\n\n# CocoaPods\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control\n#\n# Pods/\n\n#####=== Swift ===#####\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\n\n# CocoaPods\n#\n# We recommend against adding the Pods directory to your .gitignore. However\n# you should judge for yourself, the pros and cons are mentioned at:\n# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control\n#\n# Pods/\n\n#### joe made this: http://goel.io/joe\n\n#####=== OSX ===#####\n.DS_Store\n.AppleDouble\n.LSOverride\n\n# Icon must end with two \\r\nIcon\r\r\n\n# Thumbnails\n._*\n\n# Files that might appear on external disk\n.Spotlight-V100\n.Trashes\n\n# Directories potentially created on remote AFP share\n.AppleDB\n.AppleDesktop\nNetwork Trash Folder\nTemporary Items\n.apdisk\n\ntext_graph\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/.travis.yml",
    "content": "language: objective-c\nosx_image: xcode8.1\nrvm:\n- 2.3.1\ninstall:\n- gem install xcpretty\nscript:\n- xcodebuild -project tun2socks.xcodeproj -scheme \"tun2socks-macOS\" | xcpretty\n- xcodebuild -project tun2socks.xcodeproj -scheme \"tun2socks-iOS\" | xcpretty\nafter_success:\n- \"./docs/build_docs.sh\"\nbefore_deploy:\n- carthage build --no-skip-current\n- carthage archive tun2socks lwip\ndeploy:\n  provider: releases\n  skip_cleanup: true\n  api_key:\n    secure: srFcDC3pQEinNV5XS9XsglspaU6Oz+OxdchqR49ubuMriFYJTDgAa6YBI+rJUmPzjVuWWy/LF5LSHDAuW7V8ZlZ6MVkJOnhwLabLSNJmONWdbbK+YNzCeQ5+KoxMERgd20VnFADzijJZ4Qug8Hr3ixIO0u0ma8yTlYKEkvU5rd6IqTrYazdZBQqiIhlB0TsBehanJDG3YIS+2chIIsNze/QVmJHrq0EmByDaFId9Egn72AYECClpaYCDc6nb7Gt3PjtAvCL47ZwHk2W4O1XjyZHSWzCXm78u7WfmNRzPnl2VvDW8AepVXaPL01vvMYs/bigXhaCGgH9n++fh9PqGWSbjvKt/aqirzi3fFh5aYId6KgSqPM/ZaGOPo2DokNnnBQTdd2kFBGCFuSieKMfn4xJj7XCItl7dYEKnUijQxkmmfAhyh2n+Bnj2IqhKbJjo4Xzv5e+ikBNAh1Jr1aTj/z73R9iMNYlTlkZ6zHnnKZOd8fji3cOuF1Io7Uvp0GRwZKnvizwCVHOkvM6S8IWEOiEVnBzdCanGwWWmoE3tTN5OFE56UBhhw+pTdjNW3WoV9XpAtQezLNKhD8vENUePUgFT+qKTXBT1Ynm4nxf7orcTw2ghO31vHcBf/vCu4jZJ5eZBMGmwk3hNokFYbWD3WXhz3NPzTAXyomU032brfbU=\n  file: tun2socks.framework.zip\n  on:\n    repo: zhuhaow/tun2socks\n    tags: true\nenv:\n  global:\n    secure: AWLpWR/5CUlRZ69LfJR0MlWofEwNYwWNE+drb9bLFWwYoIsvk/hAzTHjkAm87aKsLdGqjHRFLX3E5dfrC3570gfyxFfFgpwMkwEyplc5w0AXhgnIdSU1iPFrTf828I7E+SvQ65m+I7rmnTWsVqkQ4+rTIWTpos5hYqkTnC9wLLLFLTi/b0raLNTQoYzEPtSRs93ZLcoABnTBa6MrSbHzI+oPTPSUdjN97N51URcB31VP1aF91fNiI32sdsnnmN0cuj7be22i280c5VvCv9D6XSeOjofkuLj1hnuyhXu38TwrauCpKJ79kvNu4Guop+4jQ2Mh5+leYiPZA7mu900kngN53WrHKp26IIHNRY+7Vw2qFDwkzgIW0djToDQNUFFDWmyGfuv6Ede7AyfZDrg3Vr3lD9YQEhJIU38AULU5BGIcK+c8OiGGiy/+63z0E4ZI8QhVIS/M/xJ7+DnxOYg2GvTL9x79yDDpnWAcqQvRgVnCvWsSMm/aUMN3Ah2GTWqfRaR6mXyJv0PZ6bAYr4YTzu065x6oCSDjaavcP7N/aW/TXT4dtxueUBQCgOjz2L3eotOHfxhLikHM+dbWG3xNDWqiD4b8hajm+dLd86oGza43hlhka3KDwPCYqX3XsKUEuVe/yWyELLihJrBG+rd62zqNZYWNkj03S8E+iQD9Ojo=\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/Gemfile",
    "content": "# frozen_string_literal: true\n# A sample Gemfile\nsource \"https://rubygems.org\"\n\ngem \"jazzy\"\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/LICENSE",
    "content": "Copyright (c) 2016, Zhuhao Wang\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of tun2socks nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/README.md",
    "content": "tun2socks\n=========\n[![Build Status](https://travis-ci.org/zhuhaow/tun2socks.svg?branch=master)](https://travis-ci.org/zhuhaow/tun2socks) [![GitHub release](https://img.shields.io/github/release/zhuhaow/tun2socks.svg?maxAge=2592000)](https://github.com/zhuhaow/tun2socks/releases) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![GitHub license](https://img.shields.io/badge/license-BSD_3--Clause-blue.svg)](https://raw.githubusercontent.com/zhuhaow/NEKit/master/LICENSE.md)\n\ntun2socks is designed to work with the NetworkExtension framework. It is based on the latest stable lwip with minimal modification.\n\nFeature\n-----\nThe whole stack is based on GCD which is efficient and fast.\n\nOnly TCP protocol is supported.\n\nAll other protocols (UDP, ICMP, IGMP, ...) will not be supported since they are stateless or can not be supported in NetworkExtension.\n\nUsage\n-----\nThe overall structure of tun2socks:\n\n```\n╔═══════════════════════╗                                                       \n║sourceAddress: X.X.X.X ║                                                       \n║    sourcePort: XX     ║                    writeData(_:)                      \n╚═══════════════════════╝                          │                            \n                                                   │            ┌──────────────┐\n┌─────────────┐  ┌───────┐  ┌────────────┐  ┌──────▼──────┐     │TSTCPSocketDel│\n│    Local    ◀──▶  TUN  ◀──▶ TSIPStack  ◀──▶ TSTCPSocket ├─────▶egate.didReadD│\n└─────────────┘  └───────┘  └────────────┘  └─────────────┘     │    ata()     │\n                                                                └──────────────┘\n```\n\nFully documented API reference can be found [here](https://zhuhaow.github.io/tun2socks/).\n\n[Carthage](https://github.com/Carthage/Carthage) is recommended to integrate tun2socks by adding\n\n```\ngithub \"zhuhaow/tun2socks\"\n```\n\nto the `Cartfile`.\n\nAnother alternative may be [NEKit](https://github.com/zhuhaow/NEKit) which uses tun2socks and provides many features to build a proxy app.\n\nIPv6 support\n------------\nAs of now, IPv6 is not supported since lwip 1.4 does not support dual stack.\nIPv6 will be supported in the next major version of lwip.\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/bin/release_framework",
    "content": "#!/bin/env sh\n\ncarthage build --no-skip-current\ncarthage archive tun2socks\n\nexport GOPATH=$HOME/golang\nexport PATH=$PATH:$GOPATH/bin\ngo get github.com/aktau/github-release\ngithub-release release \\\n  --user zhuhaow \\\n  --repo tun2socks \\\n  --tag $CIRCLE_TAG \\\n  --name $CIRCLE_TAG \\\n  --description $CIRCLE_TAG\n\ngithub-release upload \\\n  --user zhuhaow \\\n  --repo tun2socks \\\n  --tag $CIRCLE_TAG \\\n  --name tun2socks.framework.zip \\\n  --file tun2socks.framework.zip\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/docs/.gitignore",
    "content": "docsets/"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/docs/.jazzy.yaml",
    "content": "output: \".\"\nsource_directory: ../\nauthor: Zhuhao Wang\nreadme: ../README.md\ngithub_url: https://github.com/zhuhaow/tun2socks\nmin_acl: public\nmodule: tun2socks\n\ntheme: fullwidth\n\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/docs/build_docs.sh",
    "content": "#!/bin/bash\n\n# Automated deploy script with Travis CI.\n\n# Exit if any subcommand fails.\nset -e\n\n# only build doc for master branch\nexport SOURCE_BRANCH=\"master\"\n\nif [ \"$TRAVIS_PULL_REQUEST\" != \"false\" -o \"$TRAVIS_BRANCH\" != \"$SOURCE_BRANCH\" ]; then\n    echo \"Only build for master branch\"\n    exit 0\nfi\n\n# Variables\nORIGIN_URL=`git config --get remote.origin.url`\nORIGIN_CREDENTIALS=${ORIGIN_URL/\\/\\/github.com/\\/\\/$GITHUB_TOKEN@github.com}\nCOMMIT_MESSAGE=$(git log -1 --pretty=%B)\n\necho \"Started deploying\"\n\n# Checkout gh-pages branch.\nif [ `git branch | grep gh-pages` ]\nthen\n    git branch -D gh-pages\nfi\ngit checkout -b gh-pages\n\n# build docs now\nbundle update\nbundle exec jazzy --config docs/.jazzy.yaml\n\n# Delete and move files.\nfind . -maxdepth 1 ! -name 'docs' ! -name '.git' ! -name '.gitignore' -exec rm -rf {} \\;\nmv docs/* .\nrm -R docs/\n\n# Push to gh-pages.\ngit config user.name \"$USERNAME\"\ngit config user.email \"$EMAIL\"\n\ngit add -fA\ngit commit --allow-empty -m \"$COMMIT_MESSAGE [ci skip]\"\ngit push -f -q $ORIGIN_CREDENTIALS gh-pages > /dev/null 2>&1\n\necho \"Deployed Successfully!\"\n\nexit 0\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/CHANGELOG",
    "content": "HISTORY\n\n(CVS HEAD)\n\n  * [Enter new changes just after this line - do not remove this line]\n\n ++ New features:\n\n  2012-03-25: Simon Goldschmidt (idea by Mason)\n  * posix/*: added posix-compatibility include files posix/netdb.h and posix/sys/socket.h\n    which are a simple wrapper to the correct lwIP include files.\n \n  2012-01-16: Simon Goldschmidt\n  * opt.h, icmp.c: Added option CHECKSUM_GEN_ICMP\n\n  2011-12-17: Simon Goldschmidt\n  * ip.h: implemented API functions to access so_options of IP pcbs (UDP, TCP, RAW)\n    (fixes bug #35061)\n\n  2011-09-27: Simon Goldschmidt\n  * opt.h, tcp.c, tcp_in.c: Implemented limiting data on ooseq queue (task #9989)\n    (define TCP_OOSEQ_MAX_BYTES / TCP_OOSEQ_MAX_PBUFS in lwipopts.h)\n\n  2011-09-21: Simon Goldschmidt\n  * opt.h, api.h, api_lib.c, api_msg.h/.c, sockets.c: Implemented timeout on\n    send (TCP only, bug #33820)\n\n  2011-09-21: Simon Goldschmidt\n  * init.c: Converted runtime-sanity-checks into compile-time checks that can\n    be disabled (since runtime checks can often not be seen on embedded targets)\n\n  2011-09-11: Simon Goldschmidt\n  * ppp.h, ppp_impl.h: splitted ppp.h to an internal and external header file\n    to get a clear separation of which functions an application or port may use\n    (task #11281)\n\n 2011-09-11: Simon Goldschmidt\n  * opt.h, tcp_impl.h, tcp.c, udp.h/.c: Added a config option to randomize\n    initial local TCP/UDP ports (so that different port ranges are used after\n    a reboot; bug #33818; this one added tcp_init/udp_init functions again)\n\n  2011-09-03: Simon Goldschmidt\n  * dhcp.c: DHCP uses LWIP_RAND() for xid's (bug #30302)\n\n  2011-08-24: Simon Goldschmidt\n  * opt.h, netif.h/.c: added netif remove callback (bug #32397)\n\n  2011-07-26: Simon Goldschmidt\n  * etharp.c: ETHARP_SUPPORT_VLAN: add support for an external VLAN filter\n    function instead of only checking for one VLAN (define ETHARP_VLAN_CHECK_FN)\n\n  2011-07-21: Simon Goldschmidt (patch by hanhui)\n  * ip4.c, etharp.c, pbuf.h: bug #33634 ip_forward() have a faulty behaviour:\n    Added pbuf flags to mark incoming packets as link-layer broadcast/multicast.\n    Also added code to allow ip_forward() to forward non-broadcast packets to\n    the input netif (set IP_FORWARD_ALLOW_TX_ON_RX_NETIF==1).\n\n  2011-06-26: Simon Goldschmidt (patch by Cameron Gutman)\n  * tcp.c, tcp_out.c: bug #33604: added some more asserts to check that\n    pcb->state != LISTEN\n\n   2011-05-14: Simon Goldschmidt (patch by Stphane Lesage)\n  * tcpip.c/.h: patch #7449 allow tcpip callback from interrupt with static\n    memory message\n\n\n ++ Bugfixes:\n\n  2012-09-26: Simon Goldschmidt\n  * api_msg.c: fixed bug #37405 'err_tcp()' uses already freed 'netconn' object\n\n  2012-09-26: patch by Henrik Persson\n  * dhcp.c: patch #7843 Fix corner case with dhcp timeouts\n\n  2012-09-26: patch by Henrik Persson\n  * dhcp.c: patch #7840 Segfault in dhcp_parse_reply if no end marker in dhcp packet\n\n  2012-08-22: Simon Goldschmidt\n  * memp.c: fixed bug #37166: memp_sanity check loops itself\n\n  2012-05-08: Simon Goldschmidt\n  * tcp_out.c: fixed bug: #36380 unsent_oversize mismatch in 1.4.1RC1 (this was\n    a debug-check issue only)\n\n  2012-03-27: Simon Goldschmidt\n  * vj.c: fixed bug #35756 header length calculation problem in ppp/vj.c\n\n  2012-03-27: Simon Goldschmidt (patch by Mason)\n  * tcp_out.c: fixed bug #35945: SYN packet should provide the recv MSS not the\n    send MSS\n\n  2012-03-22: Simon Goldschmidt\n  * ip4.c: fixed bug #35927: missing refragmentaion in ip_forward\n \n  2012-03-20: Simon Goldschmidt (patch by Mason)\n  * netdb.c: fixed bug #35907: lwip_gethostbyname_r returns an invalid h_addr_list\n \n  2012-03-12: Simon Goldschmidt (patch by Bostjan Meglic)\n  * ppp.c: fixed bug #35809: PPP GetMask(): Compiler warning on big endian,\n    possible bug on little endian system\n\n  2012-02-23: Simon Goldschmidt\n  * etharp.c: fixed bug #35595: Impossible to send broadcast without a gateway\n    (introduced when fixing bug# 33551)\n\n  2012-02-16: Simon Goldschmidt\n  * ppp.c: fixed pbuf leak when PPP session is aborted through pppSigHUP()\n    (bug #35541: PPP Memory Leak)\n\n  2012-02-16: Simon Goldschmidt\n  * etharp.c: fixed bug #35531: Impossible to send multicast without a gateway\n    (introduced when fixing bug# 33551)\n\n  2012-02-16: Simon Goldschmidt (patch by Stphane Lesage)\n  * msg_in.c, msg_out.c: fixed bug #35536 SNMP: error too big response is malformed\n\n  2012-02-15: Simon Goldschmidt\n  * init.c: fixed bug #35537: MEMP_NUM_* sanity checks should be disabled with\n    MEMP_MEM_MALLOC==1\n\n  2012-02-12: Simon Goldschmidt\n  * tcp.h, tcp_in.c, tcp_out.c: partly fixed bug #25882: TCP hangs on\n    MSS > pcb->snd_wnd (by not creating segments bigger than half the window)\n\n  2012-02-11: Simon Goldschmidt\n  * tcp.c: fixed bug #35435: No pcb state check before adding it to time-wait\n    queue while closing\n\n  2012-01-22: Simon Goldschmidt\n  * tcp.c, tcp_in.c: fixed bug #35305: pcb may be freed too early on shutdown(WR)\n\n  2012-01-21: Simon Goldschmidt\n  * tcp.c: fixed bug #34636: FIN_WAIT_2 - Incorrect shutdown of TCP pcb\n\n  2012-01-20: Simon Goldschmidt\n  * dhcp.c: fixed bug #35151: DHCP asserts on incoming option lengths\n\n 2012-01-20: Simon Goldschmidt\n  * pbuf.c: fixed bug #35291: NULL pointer in pbuf_copy\n\n  2011-11-25: Simon Goldschmidt\n  * tcp.h/.c, tcp_impl.h, tcp_in.c: fixed bug #31177: tcp timers can corrupt\n    tcp_active_pcbs in some cases\n\n  2011-11-23: Simon Goldschmidt\n  * sys.c: fixed bug #34884: sys_msleep() body needs to be surrounded with\n    '#ifndef sys_msleep'\n\n  2011-11-22: Simon Goldschmidt\n  * netif.c, etharp.h/.c: fixed bug #34684: Clear the arp table cache when\n    netif is brought down\n\n  2011-10-28: Simon Goldschmidt\n  * tcp_in.c: fixed bug #34638: Dead code in tcp_receive - pcb->dupacks\n\n  2011-10-23: Simon Goldschmidt\n  * mem.c: fixed bug #34429: possible memory corruption with\n    LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT set to 1\n\n  2011-10-18: Simon Goldschmidt\n  * arch.h, netdb.c: fixed bug #34592: lwip_gethostbyname_r uses nonstandard\n    error value\n\n  2011-10-18: Simon Goldschmidt\n  * opt.h: fixed default values of TCP_SNDLOWAT and TCP_SNDQUEUELOWAT for small\n    windows (bug #34176 select after non-blocking send times out)\n\n  2011-10-18: Simon Goldschmidt\n  * tcp_impl.h, tcp_out.c: fixed bug #34587: TCP_BUILD_MSS_OPTION doesn't\n    consider netif->mtu, causes slow network\n\n  2011-10-18: Simon Goldschmidt\n  * sockets.c: fixed bug #34581 missing parentheses in udplite sockets code\n\n  2011-10-18: Simon Goldschmidt\n  * sockets.h: fixed bug #34580 fcntl() is missing in LWIP_COMPAT_SOCKETS\n\n  2011-10-17: Simon Goldschmidt\n  * api_msg.c: fixed bug #34569: shutdown(SHUT_WR) crashes netconn/socket api\n\n  2011-10-13: Simon Goldschmidt\n  * tcp_in.c, tcp_out.c: fixed bug #34517 (persist timer is started although no\n    zero window is received) by starting the persist timer when a zero window is\n    received, not when we have more data queued for sending than fits into the\n    window\n\n  2011-10-13: Simon Goldschmidt\n  * def.h, timers.c: fixed bug #34541: LWIP_U32_DIFF is unnecessarily complex\n\n  2011-10-13: Simon Goldschmidt\n  * sockets.c, api_lib.c: fixed bug #34540: compiler error when CORE_LOCKING is\n    used and not all protocols are enabled\n\n  2011-10-12: Simon Goldschmidt\n  * pbuf.c: fixed bug #34534: Error in sending fragmented IP if MEM_ALIGNMENT > 4\n\n  2011-10-09: Simon Goldschmidt\n  * tcp_out.c: fixed bug #34426: tcp_zero_window_probe() transmits incorrect\n    byte value when pcb->unacked != NULL\n\n  2011-10-09: Simon Goldschmidt\n  * ip4.c: fixed bug #34447 LWIP_IP_ACCEPT_UDP_PORT(dst_port) wrong\n\n  2011-09-27: Simon Goldschmidt\n  * tcp_in.c, tcp_out.c: Reset pcb->unsent_oversize in 2 more places...\n\n  2011-09-27: Simon Goldschmidt\n  * tcp_in.c: fixed bug #28288: Data after FIN in oos queue\n\n  2011-09-27: Simon Goldschmidt\n  * dhcp.c: fixed bug #34406 dhcp_option_hostname() can overflow the pbuf\n\n  2011-09-24: Simon Goldschmidt\n  * mem.h: fixed bug #34377 MEM_SIZE_F is not defined if MEM_LIBC_MALLOC==1\n\n  2011-09-23: Simon Goldschmidt\n  * pbuf.h, tcp.c, tcp_in.c: fixed bug #33871: rejecting TCP_EVENT_RECV() for\n    the last packet including FIN can lose data\n\n  2011-09-22: Simon Goldschmidt\n  * tcp_impl.h: fixed bug #34355: nagle does not take snd_buf/snd_queuelen into\n    account\n\n  2011-09-21: Simon Goldschmidt\n  * opt.h: fixed default value of TCP_SND_BUF to not violate the sanity checks\n    in init.c\n\n  2011-09-20: Simon Goldschmidt\n  * timers.c: fixed bug #34337 (possible NULL pointer in sys_check_timeouts)\n\n  2011-09-11: Simon Goldschmidt\n  * tcp_out.c: use pcb->mss instead of TCP_MSS for preallocate mss-sized pbufs\n    (bug #34019)\n\n  2011-09-09: Simon Goldschmidt\n  * udp.c: fixed bug #34072: UDP broadcast is received from wrong UDP pcb if\n    udp port matches\n\n  2011-09-03: Simon Goldschmidt\n  * tcp_in.c: fixed bug #33952 PUSH flag in incoming packet is lost when packet\n    is aggregated and sent to application\n\n  2011-09-01: Simon Goldschmidt\n  * opt.h: fixed bug #31809 LWIP_EVENT_API in opts.h is inconsistent compared\n    to other options\n\n  2011-09-01: Simon Goldschmidt\n  * tcp_in.c: fixed bug #34111 RST for ACK to listening pcb has wrong seqno\n\n  2011-08-24: Simon Goldschmidt\n  * api_msg.c, sockets.c: fixed bug #33956 Wrong error returned when calling\n    accept() on UDP connections\n\n  2011-08-24: Simon Goldschmidt\n  * sockets.h: fixed bug #34057 socklen_t should be a typedef\n\n  2011-08-24: Simon Goldschmidt\n  * pbuf.c: fixed bug #34112 Odd check in pbuf_alloced_custom (typo)\n\n  2011-08-24: Simon Goldschmidt\n  * dhcp.c: fixed bug #34122 dhcp: hostname can overflow\n\n  2011-08-24: Simon Goldschmidt\n  * netif.c: fixed bug #34121 netif_add/netif_set_ipaddr fail on NULL ipaddr\n\n  2011-08-22: Simon Goldschmidt\n  * tcp_out.c: fixed bug #33962 TF_FIN not always set after FIN is sent. (This\n    merely prevents nagle from not transmitting fast after closing.)\n\n  2011-07-22: Simon Goldschmidt\n  * api_lib.c, api_msg.c, sockets.c, api.h: fixed bug #31084 (socket API returns\n    always EMSGSIZE on non-blocking sockets if data size > send buffers) -> now\n    lwip_send() sends as much as possible for non-blocking sockets\n\n  2011-07-22: Simon Goldschmidt\n  * pbuf.c/.h, timers.c: freeing ooseq pbufs when the pbuf pool is empty implemented\n    for NO_SYS==1: when not using sys_check_timeouts(), call PBUF_CHECK_FREE_OOSEQ()\n    at regular intervals from main level.\n\n  2011-07-21: Simon Goldschmidt\n  * etharp.c: fixed bug #33551 (ARP entries may time out although in use) by\n    sending an ARP request when an ARP entry is used in the last minute before\n    it would time out.\n\n  2011-07-04: Simon Goldschmidt\n  * sys_arch.txt: Fixed documentation after changing sys arch prototypes for 1.4.0.\n\n  2011-06-26: Simon Goldschmidt\n  * tcp.c: fixed bug #31723 (tcp_kill_prio() kills pcbs with the same prio) by\n    updating its documentation only.\n\n 2011-06-26: Simon Goldschmidt\n  * mem.c: fixed bug #33545: With MEM_USE_POOLS==1, mem_malloc can return an\n    unaligned pointer.\n\n  2011-06-26: Simon Goldschmidt\n  * mem.c: fixed bug #33544 \"warning in mem.c in lwip 1.4.0 with NO_SYS=1\"\n\n   2011-05-25: Simon Goldschmidt\n  * tcp.c: fixed bug #33398 (pointless conversion when checking TCP port range)\n\n\n\n(STABLE-1.4.0)\n\n  ++ New features:\n\n  2011-03-27: Simon Goldschmidt\n  * tcp_impl.h, tcp_in.c, tcp_out.c: Removed 'dataptr' from 'struct tcp_seg' and\n    calculate it in tcp_zero_window_probe (the only place where it was used).\n\n  2010-11-21: Simon Goldschmidt\n  * dhcp.c/.h: Added a function to deallocate the struct dhcp from a netif\n    (fixes bug #31525).\n\n  2010-07-12: Simon Goldschmidt (patch by Stephane Lesage)\n  * ip.c, udp.c/.h, pbuf.h, sockets.c: task #10495: Added support for\n    IP_MULTICAST_LOOP at socket- and raw-API level.\n\n  2010-06-16: Simon Goldschmidt\n  * ip.c: Added an optional define (LWIP_IP_ACCEPT_UDP_PORT) that can allow\n    link-layer-addressed UDP traffic to be received while a netif is down (just\n    like DHCP during configuration)\n\n  2010-05-22: Simon Goldschmidt\n  * many many files: bug #27352: removed packing from ip_addr_t, the packed\n    version is now only used in protocol headers. Added global storage for\n    current src/dest IP address while in input functions.\n\n  2010-05-16: Simon Goldschmidt\n  * def.h: task #10391: Add preprocessor-macros for compile-time htonl\n    calculation (and use them throughout the stack where applicable)\n\n  2010-05-16: Simon Goldschmidt\n  * opt.h, memp_std.h, memp.c, ppp_oe.h/.c: PPPoE now uses its own MEMP pool\n    instead of the heap (moved struct pppoe_softc from ppp_oe.c to ppp_oe.h)\n\n  2010-05-16: Simon Goldschmidt\n  * opt.h, memp_std.h, dns.h/.c: DNS_LOCAL_HOSTLIST_IS_DYNAMIC uses its own\n    MEMP pool instead of the heap\n\n  2010-05-13: Simon Goldschmidt\n  * tcp.c, udp.c: task #6995: Implement SO_REUSEADDR (correctly), added\n    new option SO_REUSE_RXTOALL to pass received UDP broadcast/multicast\n    packets to more than one pcb.\n\n  2010-05-02: Simon Goldschmidt\n  * netbuf.h/.c, sockets.c, api_msg.c: use checksum-on-copy for sending\n    UDP data for LWIP_NETIF_TX_SINGLE_PBUF==1\n\n  2010-04-30: Simon Goldschmidt\n  * udp.h/.c, pbuf.h/.c: task #6849: added udp_send(_to/_if) functions that\n    take a precalculated checksum, added pbuf_fill_chksum() to copy data\n    into a pbuf and at the same time calculating the checksum for that data\n\n  2010-04-29: Simon Goldschmidt\n  * ip_addr.h, etharp.h/.c, autoip.c: Create overridable macros for copying\n    2-byte-aligned IP addresses and MAC addresses\n\n  2010-04-28: Patch by Bill Auerbach\n  * ip.c: Inline generating IP checksum to save a function call\n\n  2010-04-14: Simon Goldschmidt\n  * tcpip.h/.c, timers.c: Added an overridable define to get informed when the\n    tcpip_thread processes messages or timeouts to implement a watchdog.\n\n  2010-03-28: Simon Goldschmidt\n  * ip_frag.c: create a new (contiguous) PBUF_RAM for every outgoing\n    fragment if LWIP_NETIF_TX_SINGLE_PBUF==1\n\n  2010-03-27: Simon Goldschmidt\n  * etharp.c: Speedup TX by moving code from find_entry to etharp_output/\n    etharp_query to prevent unnecessary function calls (inspired by\n    patch #7135).\n\n  2010-03-20: Simon Goldschmidt\n  * opt.h, tcpip.c/.h: Added an option to disable tcpip_(un)timeout code\n    since the linker cannot do this automatically to save space.\n\n  2010-03-20: Simon Goldschmidt\n  * opt.h, etharp.c/.h: Added support for static ARP table entries\n\n  2010-03-14: Simon Goldschmidt\n  * tcp_impl.h, tcp_out.c, inet_chksum.h/.c: task #6849: Calculate checksum\n    when creating TCP segments, not when (re-)transmitting them.\n\n  2010-03-07: Simon Goldschmidt\n  * sockets.c: bug #28775 (select/event_callback: only check select_cb_list\n    on change) plus use SYS_LIGHTWEIGHT_PROT to protect the select code.\n    This should speed up receiving data on sockets as the select code in\n    event_callback is only executed when select is waiting.\n\n  2010-03-06: Simon Goldschmidt\n  * tcp_out.c: task #7013 (Create option to have all packets delivered to\n    netif->output in one piece): Always copy to try to create single pbufs\n    in tcp_write.\n\n  2010-03-06: Simon Goldschmidt\n  * api.h, api_lib.c, sockets.c: task #10167 (sockets: speed up TCP recv\n    by not allocating a netbuf): added function netconn_recv_tcp_pbuf()\n    for tcp netconns to receive pbufs, not netbufs; use that function\n    for tcp sockets.\n\n  2010-03-05: Jakob Ole Stoklundsen / Simon Goldschmidt\n  * opt.h, tcp.h, tcp_impl.h, tcp.c, tcp_in.c, tcp_out.c: task #7040:\n    Work on tcp_enqueue: Don't waste memory when chaining segments,\n    added option TCP_OVERSIZE to prevent creating many small pbufs when\n    calling tcp_write with many small blocks of data. Instead, pbufs are\n    allocated larger than needed and the space is used for later calls to\n    tcp_write.\n\n  2010-02-21: Simon Goldschmidt\n  * stats.c/.h: Added const char* name to mem- and memp-stats for easier\n    debugging.\n\n  2010-02-21: Simon Goldschmidt\n  * tcp.h (and usages), added tcp_impl.h: Splitted API and internal\n    implementation of tcp to make API usage cleare to application programmers\n\n  2010-02-14: Simon Goldschmidt/Stephane Lesage\n  * ip_addr.h: Improved some defines working on ip addresses, added faster\n    macro to copy addresses that cannot be NULL\n\n  2010-02-13: Simon Goldschmidt\n  * api.h, api_lib.c, api_msg.c, sockets.c: task #7865 (implement non-\n    blocking send operation)\n\n  2010-02-12: Simon Goldschmidt\n  * sockets.c/.h: Added a minimal version of posix fctl() to have a\n    standardised way to set O_NONBLOCK for nonblocking sockets.\n\n  2010-02-12: Simon Goldschmidt\n  * dhcp.c/.h, autoip.c/.h: task #10139 (Prefer statically allocated\n    memory): added autoip_set_struct() and dhcp_set_struct() to let autoip\n    and dhcp work with user-allocated structs instead of callin mem_malloc\n\n  2010-02-12: Simon Goldschmidt/Jeff Barber\n  * tcp.c/h: patch #6865 (SO_REUSEADDR for TCP): if pcb.so_options has\n    SOF_REUSEADDR set, allow binding to endpoint in TIME_WAIT\n\n  2010-02-12: Simon Goldschmidt\n  * sys layer: task #10139 (Prefer statically allocated memory): converted\n    mbox and semaphore functions to take pointers to sys_mbox_t/sys_sem_t;\n    converted sys_mbox_new/sys_sem_new to take pointers and return err_t;\n    task #7212: Add Mutex concept in sys_arch (define LWIP_COMPAT_MUTEX\n    to let sys.h use binary semaphores instead of mutexes - as before)\n\n  2010-02-09: Simon Goldschmidt (Simon Kallweit)\n  * timers.c/.h: Added function sys_restart_timeouts() from patch #7085\n    (Restart system timeout handling)\n\n  2010-02-09: Simon Goldschmidt\n  * netif.c/.h, removed loopif.c/.h: task #10153 (Integrate loopif into\n    netif.c) - loopif does not have to be created by the port any more,\n    just define LWIP_HAVE_LOOPIF to 1.\n\n  2010-02-08: Simon Goldschmidt\n  * inet.h, ip_addr.c/.h: Added reentrant versions of inet_ntoa/ipaddr_ntoa\n    inet_ntoa_r/ipaddr_ntoa_r\n\n  2010-02-08: Simon Goldschmidt\n  * netif.h: Added netif_s/get_igmp_mac_filter() macros\n\n  2010-02-05: Simon Goldschmidt\n  * netif.h: Added function-like macros to get/set the hostname on a netif\n\n  2010-02-04: Simon Goldschmidt\n  * nearly every file: Replaced struct ip_addr by typedef ip_addr_t to\n    make changing the actual implementation behind the typedef easier.\n\n  2010-02-01: Simon Goldschmidt\n  * opt.h, memp_std.h, dns.h, netdb.c, memp.c: Let netdb use a memp pool\n    for allocating memory when getaddrinfo() is called.\n\n  2010-01-31: Simon Goldschmidt\n  * dhcp.h, dhcp.c: Reworked the code that parses DHCP options: parse\n    them once instead of parsing for every option. This also removes\n    the need for mem_malloc from dhcp_recv and makes it possible to\n    correctly retrieve the BOOTP file.\n\n  2010-01-30: simon Goldschmidt\n  * sockets.c: Use SYS_LIGHTWEIGHT_PROT instead of a semaphore to protect\n    the sockets array.\n\n  2010-01-29: Simon Goldschmidt (patch by Laura Garrett)\n  * api.h, api_msg.c, sockets.c: Added except set support in select\n    (patch #6860)\n\n  2010-01-29: Simon Goldschmidt (patch by Laura Garrett)\n  * api.h, sockets.h, err.h, api_lib.c, api_msg.c, sockets.c, err.c:\n    Add non-blocking support for connect (partly from patch #6860),\n    plus many cleanups in socket & netconn API.\n\n  2010-01-27: Simon Goldschmidt\n  * opt.h, tcp.h, init.c, api_msg.c: Added TCP_SNDQUEUELOWAT corresponding\n    to TCP_SNDLOWAT and added tcp_sndqueuelen() - this fixes bug #28605\n\n  2010-01-26: Simon Goldschmidt\n  * snmp: Use memp pools for snmp instead of the heap; added 4 new pools.\n\n  2010-01-14: Simon Goldschmidt\n  * ppp.c/.h: Fixed bug #27856: PPP: Set netif link- and status-callback\n    by adding ppp_set_netif_statuscallback()/ppp_set_netif_linkcallback()\n\n  2010-01-13: Simon Goldschmidt\n  * mem.c: The heap now may be moved to user-defined memory by defining\n    LWIP_RAM_HEAP_POINTER as a void pointer to that memory's address\n    (patch #6966 and bug #26133)\n\n  2010-01-10: Simon Goldschmidt (Bill Auerbach)\n  * opt.h, memp.c: patch #6822 (Add option to place memory pools in\n    separate arrays)\n\n  2010-01-10: Simon Goldschmidt\n  * init.c, igmp.c: patch #6463 (IGMP - Adding Random Delay): added define\n    LWIP_RAND() for lwip-wide randomization (to be defined in cc.h)\n\n  2009-12-31: Simon Goldschmidt\n  * tcpip.c, init.c, memp.c, sys.c, memp_std.h, sys.h, tcpip.h\n    added timers.c/.h: Separated timer implementation from semaphore/mbox\n    implementation, moved timer implementation to timers.c/.h, timers are\n    now only called from tcpip_thread or by explicitly checking them.\n    (TASK#7235)\n\n  2009-12-27: Simon Goldschmidt\n  * opt.h, etharp.h/.c, init.c, tcpip.c: Added an additional option\n    LWIP_ETHERNET to support ethernet without ARP (necessary for pure PPPoE)\n\n\n  ++ Bugfixes:\n\n  2011-04-20: Simon Goldschmidt\n  * sys_arch.txt: sys_arch_timeouts() is not needed any more.\n\n  2011-04-13: Simon Goldschmidt\n  * tcp.c, udp.c: Fixed bug #33048 (Bad range for IP source port numbers) by\n    using ports in the IANA private/dynamic range (49152 through 65535).\n\n  2011-03-29: Simon Goldschmidt, patch by Emil Lhungdahl:\n  * etharp.h/.c: Fixed broken VLAN support.\n\n  2011-03-27: Simon Goldschmidt\n  * tcp.c: Fixed bug #32926 (TCP_RMV(&tcp_bound_pcbs) is called on unbound tcp\n    pcbs) by checking if the pcb was bound (local_port != 0).\n\n  2011-03-27: Simon Goldschmidt\n  * ppp.c: Fixed bug #32280 (ppp: a pbuf is freed twice)\n\n  2011-03-27: Simon Goldschmidt\n  * sockets.c: Fixed bug #32906: lwip_connect+lwip_send did not work for udp and\n    raw pcbs with LWIP_TCPIP_CORE_LOCKING==1.\n  \n  2011-03-27: Simon Goldschmidt\n  * tcp_out.c: Fixed bug #32820 (Outgoing TCP connections created before route\n    is present never times out) by starting retransmission timer before checking\n    route.\n\n  2011-03-22: Simon Goldschmidt\n  * ppp.c: Fixed bug #32648 (PPP code crashes when terminating a link) by only\n    calling sio_read_abort() if the file descriptor is valid.\n\n  2011-03-14: Simon Goldschmidt\n  * err.h/.c, sockets.c, api_msg.c: fixed bug #31748 (Calling non-blocking connect\n    more than once can render a socket useless) since it mainly involves changing\n    \"FATAL\" classification of error codes: ERR_USE and ERR_ISCONN just aren't fatal.\n\n  2011-03-13: Simon Goldschmidt\n  * sockets.c: fixed bug #32769 (ESHUTDOWN is linux-specific) by fixing\n    err_to_errno_table (ERR_CLSD: ENOTCONN instead of ESHUTDOWN), ERR_ISCONN:\n    use EALRADY instead of -1\n\n  2011-03-13: Simon Goldschmidt\n  * api_lib.c: netconn_accept: return ERR_ABRT instead of ERR_CLSD if the\n    connection has been aborted by err_tcp (since this is not a normal closing\n    procedure).\n\n  2011-03-13: Simon Goldschmidt\n  * tcp.c: tcp_bind: return ERR_VAL instead of ERR_ISCONN when trying to bind\n    with pcb->state != CLOSED\n\n  2011-02-17: Simon Goldschmidt\n  * rawapi.txt: Fixed bug #32561 tcp_poll argument definition out-of-order in\n    documentation\n\n  2011-02-17: Simon Goldschmidt\n  * many files: Added missing U/UL modifiers to fix 16-bit-arch portability.\n\n  2011-01-24: Simon Goldschmidt\n  * sockets.c: Fixed bug #31741: lwip_select seems to have threading problems\n\n  2010-12-02: Simon Goldschmidt\n  * err.h: Fixed ERR_IS_FATAL so that ERR_WOULDBLOCK is not fatal.\n\n  2010-11-23: Simon Goldschmidt\n  * api.h, api_lib.c, api_msg.c, sockets.c: netconn.recv_avail is only used for\n    LWIP_SO_RCVBUF and ioctl/FIONREAD.\n\n  2010-11-23: Simon Goldschmidt\n  * etharp.c: Fixed bug #31720: ARP-queueing: RFC 1122 recommends to queue at\n    least 1 packet -> ARP_QUEUEING==0 now queues the most recent packet.\n\n  2010-11-23: Simon Goldschmidt\n  * tcp_in.c: Fixed bug #30577: tcp_input: don't discard ACK-only packets after\n    refusing 'refused_data' again.\n  \n  2010-11-22: Simon Goldschmidt\n  * sockets.c: Fixed bug #31590: getsockopt(... SO_ERROR ...) gives EINPROGRESS\n    after a successful nonblocking connection.\n\n  2010-11-22: Simon Goldschmidt\n  * etharp.c: Fixed bug #31722: IP packets sent with an AutoIP source addr\n    must be sent link-local\n\n  2010-11-22: Simon Goldschmidt\n  * timers.c: patch #7329: tcp_timer_needed prototype was ifdef'ed out for\n    LWIP_TIMERS==0\n\n  2010-11-20: Simon Goldschmidt\n  * sockets.c: Fixed bug #31170: lwip_setsockopt() does not set socket number\n\n  2010-11-20: Simon Goldschmidt\n  * sockets.h: Fixed bug #31304: Changed SHUT_RD, SHUT_WR and SHUT_RDWR to\n    resemble other stacks.\n\n  2010-11-20: Simon Goldschmidt\n  * dns.c: Fixed bug #31535: TCP_SND_QUEUELEN must be at least 2 or else\n    no-copy TCP writes will never succeed.\n\n  2010-11-20: Simon Goldschmidt\n  * dns.c: Fixed bug #31701: Error return value from dns_gethostbyname() does\n    not match documentation: return ERR_ARG instead of ERR_VAL if not\n    initialized or wrong argument.\n\n  2010-10-20: Simon Goldschmidt\n  * sockets.h: Fixed bug #31385: sizeof(struct sockaddr) is 30 but should be 16\n\n  2010-10-05: Simon Goldschmidt\n  * dhcp.c: Once again fixed #30038: DHCP/AutoIP cooperation failed when\n    replugging the network cable after an AutoIP address was assigned.\n\n  2010-08-10: Simon Goldschmidt\n  * tcp.c: Fixed bug #30728: tcp_new_port() did not check listen pcbs\n\n  2010-08-03: Simon Goldschmidt\n  * udp.c, raw.c: Don't chain empty pbufs when sending them (fixes bug #30625)\n\n  2010-08-01: Simon Goldschmidt (patch by Greg Renda)\n  * ppp.c: Applied patch #7264 (PPP protocols are rejected incorrectly on big\n    endian architectures)\n  \n  2010-07-28: Simon Goldschmidt\n  * api_lib.c, api_msg.c, sockets.c, mib2.c: Fixed compilation with TCP or UDP\n    disabled.\n  \n  2010-07-27: Simon Goldschmidt\n  * tcp.c: Fixed bug #30565 (tcp_connect() check bound list): that check did no\n    harm but never did anything\n  \n  2010-07-21: Simon Goldschmidt\n  * ip.c: Fixed invalid fix for bug #30402 (CHECKSUM_GEN_IP_INLINE does not\n    add IP options)\n\n  2010-07-16: Kieran Mansley\n  * msg_in.c: Fixed SNMP ASN constant defines to not use ! operator \n\n  2010-07-10: Simon Goldschmidt\n  * ip.c: Fixed bug #30402: CHECKSUM_GEN_IP_INLINE does not add IP options\n\n  2010-06-30: Simon Goldschmidt\n  * api_msg.c: fixed bug #30300 (shutdown parameter was not initialized in\n    netconn_delete)\n\n  2010-06-28: Kieran Mansley\n  * timers.c remove unportable printing of C function pointers\n\n  2010-06-24: Simon Goldschmidt\n  * init.c, timers.c/.h, opt.h, memp_std.h: From patch #7221: added flag\n    NO_SYS_NO_TIMERS to drop timer support for NO_SYS==1 for easier upgrading\n\n  2010-06-24: Simon Goldschmidt\n  * api(_lib).c/.h, api_msg.c/.h, sockets.c/.h: Fixed bug #10088: Correctly\n    implemented shutdown at socket level.\n\n  2010-06-21: Simon Goldschmidt\n  * pbuf.c/.h, ip_frag.c/.h, opt.h, memp_std.h: Fixed bug #29361 (ip_frag has\n    problems with zero-copy DMA MACs) by adding custom pbufs and implementing\n    custom pbufs that reference other (original) pbufs. Additionally set\n    IP_FRAG_USES_STATIC_BUF=0 as default to be on the safe side.\n\n  2010-06-15: Simon Goldschmidt\n  * dhcp.c: Fixed bug #29970: DHCP endian issue parsing option responses\n\n  2010-06-14: Simon Goldschmidt\n  * autoip.c: Fixed bug #30039: AutoIP does not reuse previous addresses\n\n  2010-06-12: Simon Goldschmidt\n  * dhcp.c: Fixed bug #30038: dhcp_network_changed doesn't reset AUTOIP coop\n    state\n\n  2010-05-17: Simon Goldschmidt\n  * netdb.c: Correctly NULL-terminate h_addr_list\n\n  2010-05-16: Simon Goldschmidt\n  * def.h/.c: changed the semantics of LWIP_PREFIX_BYTEORDER_FUNCS to prevent\n    \"symbol already defined\" i.e. when linking to winsock\n\n  2010-05-05: Simon Goldschmidt\n  * def.h, timers.c: Fixed bug #29769 (sys_check_timeouts: sys_now() may\n    overflow)\n\n  2010-04-21: Simon Goldschmidt\n  * api_msg.c: Fixed bug #29617 (sometime cause stall on delete listening\n    connection)\n\n  2010-03-28: Luca Ceresoli\n  * ip_addr.c/.h: patch #7143: Add a few missing const qualifiers\n\n  2010-03-27: Luca Ceresoli\n  * mib2.c: patch #7130: remove meaningless const qualifiers\n\n  2010-03-26: Simon Goldschmidt\n  * tcp_out.c: Make LWIP_NETIF_TX_SINGLE_PBUF work for TCP, too\n\n  2010-03-26: Simon Goldschmidt\n  * various files: Fixed compiling with different options disabled (TCP/UDP),\n    triggered by bug #29345; don't allocate acceptmbox if LWIP_TCP is disabled\n\n  2010-03-25: Simon Goldschmidt\n  * sockets.c: Fixed bug #29332: lwip_select() processes readset incorrectly\n\n  2010-03-25: Simon Goldschmidt\n  * tcp_in.c, test_tcp_oos.c: Fixed bug #29080: Correctly handle remote side\n    overrunning our rcv_wnd in ooseq case.\n\n  2010-03-22: Simon Goldschmidt\n  * tcp.c: tcp_listen() did not copy the pcb's prio.\n\n  2010-03-19: Simon Goldschmidt\n  * snmp_msg.c: Fixed bug #29256: SNMP Trap address was not correctly set\n\n  2010-03-14: Simon Goldschmidt\n  * opt.h, etharp.h: Fixed bug #29148 (Incorrect PBUF_POOL_BUFSIZE for ports\n    where ETH_PAD_SIZE > 0) by moving definition of ETH_PAD_SIZE to opt.h\n    and basing PBUF_LINK_HLEN on it.\n\n  2010-03-08: Simon Goldschmidt\n  * netif.c, ipv4/ip.c: task #10241 (AutoIP: don't break existing connections\n    when assiging routable address): when checking incoming packets and\n    aborting existing connection on address change, filter out link-local\n    addresses.\n\n  2010-03-06: Simon Goldschmidt\n  * sockets.c: Fixed LWIP_NETIF_TX_SINGLE_PBUF for LWIP_TCPIP_CORE_LOCKING\n\n  2010-03-06: Simon Goldschmidt\n  * ipv4/ip.c: Don't try to forward link-local addresses\n\n  2010-03-06: Simon Goldschmidt\n  * etharp.c: Fixed bug #29087: etharp: don't send packets for LinkLocal-\n    addresses to gw\n\n  2010-03-05: Simon Goldschmidt\n  * dhcp.c: Fixed bug #29072: Correctly set ciaddr based on message-type\n    and state.\n\n  2010-03-05: Simon Goldschmidt\n  * api_msg.c: Correctly set TCP_WRITE_FLAG_MORE when netconn_write is split\n    into multiple calls to tcp_write.    \n\n  2010-02-21: Simon Goldschmidt\n  * opt.h, mem.h, dns.c: task #10140: Remove DNS_USES_STATIC_BUF (keep\n    the implementation of DNS_USES_STATIC_BUF==1)\n\n  2010-02-20: Simon Goldschmidt\n  * tcp.h, tcp.c, tcp_in.c, tcp_out.c: Task #10088: Correctly implement\n    close() vs. shutdown(). Now the application does not get any more\n    recv callbacks after calling tcp_close(). Added tcp_shutdown().\n\n  2010-02-19: Simon Goldschmidt\n  * mem.c/.h, pbuf.c: Renamed mem_realloc() to mem_trim() to prevent\n    confusion with realloc()\n\n  2010-02-15: Simon Goldschmidt/Stephane Lesage\n  * netif.c/.h: Link status does not depend on LWIP_NETIF_LINK_CALLBACK\n    (fixes bug #28899)\n\n  2010-02-14: Simon Goldschmidt\n  * netif.c: Fixed bug #28877 (Duplicate ARP gratuitous packet with\n    LWIP_NETIF_LINK_CALLBACK set on) by only sending if both link- and\n    admin-status of a netif are up\n\n  2010-02-14: Simon Goldschmidt\n  * opt.h: Disable ETHARP_TRUST_IP_MAC by default since it slows down packet\n    reception and is not really necessary\n\n  2010-02-14: Simon Goldschmidt\n  * etharp.c/.h: Fixed ARP input processing: only add a new entry if a\n    request was directed as us (RFC 826, Packet Reception), otherwise\n    only update existing entries; internalized some functions\n\n  2010-02-14: Simon Goldschmidt\n  * netif.h, etharp.c, tcpip.c: Fixed bug #28183 (ARP and TCP/IP cannot be\n    disabled on netif used for PPPoE) by adding a new netif flag\n    (NETIF_FLAG_ETHERNET) that tells the stack the device is an ethernet\n    device but prevents usage of ARP (so that ethernet_input can be used\n    for PPPoE).\n\n  2010-02-12: Simon Goldschmidt\n  * netif.c: netif_set_link_up/down: only do something if the link state\n    actually changes\n\n  2010-02-12: Simon Goldschmidt/Stephane Lesage\n  * api_msg.c: Fixed bug #28865 (Cannot close socket/netconn in non-blocking\n    connect)\n\n  2010-02-12: Simon Goldschmidt\n  * mem.h: Fixed bug #28866 (mem_realloc function defined in mem.h)\n\n  2010-02-09: Simon Goldschmidt\n  * api_lib.c, api_msg.c, sockets.c, api.h, api_msg.h: Fixed bug #22110\n   (recv() makes receive window update for data that wasn't received by\n    application)\n\n  2010-02-09: Simon Goldschmidt/Stephane Lesage\n  * sockets.c: Fixed bug #28853 (lwip_recvfrom() returns 0 on receive time-out\n    or any netconn_recv() error)\n\n  2010-02-09: Simon Goldschmidt\n  * ppp.c: task #10154 (PPP: Update snmp in/out counters for tx/rx packets)\n\n  2010-02-09: Simon Goldschmidt\n  * netif.c: For loopback packets, adjust the stats- and snmp-counters\n    for the loopback netif.\n\n  2010-02-08: Simon Goldschmidt\n  * igmp.c/.h, ip.h: Moved most defines from igmp.h to igmp.c for clarity\n    since they are not used anywhere else.\n\n  2010-02-08: Simon Goldschmidt (Stphane Lesage)\n  * igmp.c, igmp.h, stats.c, stats.h: Improved IGMP stats\n    (patch from bug #28798)\n\n  2010-02-08: Simon Goldschmidt (Stphane Lesage)\n  * igmp.c: Fixed bug #28798 (Error in \"Max Response Time\" processing) and\n    another bug when LWIP_RAND() returns zero.\n\n  2010-02-04: Simon Goldschmidt\n  * nearly every file: Use macros defined in ip_addr.h (some of them new)\n    to work with IP addresses (preparation for bug #27352 - Change ip_addr\n    from struct to typedef (u32_t) - and better code).\n\n  2010-01-31: Simon Goldschmidt\n  * netif.c: Don't call the link-callback from netif_set_up/down() since\n    this invalidly retriggers DHCP.\n\n  2010-01-29: Simon Goldschmidt\n  * ip_addr.h, inet.h, def.h, inet.c, def.c, more: Cleanly separate the\n    portability file inet.h and its contents from the stack: moved htonX-\n    functions to def.h (and the new def.c - they are not ipv4 dependent),\n    let inet.h depend on ip_addr.h and not the other way round.\n    This fixes bug #28732.\n\n  2010-01-28: Kieran Mansley\n  * tcp.c: Ensure ssthresh >= 2*MSS\n\n  2010-01-27: Simon Goldschmidt\n  * tcp.h, tcp.c, tcp_in.c: Fixed bug #27871: Calling tcp_abort() in recv\n    callback can lead to accessing unallocated memory. As a consequence,\n    ERR_ABRT means the application has called tcp_abort()!\n\n  2010-01-25: Simon Goldschmidt\n  * snmp_structs.h, msg_in.c: Partly fixed bug #22070 (MIB_OBJECT_WRITE_ONLY\n    not implemented in SNMP): write-only or not-accessible are still\n    returned by getnext (though not by get)\n\n  2010-01-24: Simon Goldschmidt\n  * snmp: Renamed the private mib node from 'private' to 'mib_private' to\n    not use reserved C/C++ keywords\n\n  2010-01-23: Simon Goldschmidt\n  * sockets.c: Fixed bug #28716: select() returns 0 after waiting for less\n    than 1 ms\n\n  2010-01-21: Simon Goldschmidt\n  * tcp.c, api_msg.c: Fixed bug #28651 (tcp_connect: no callbacks called\n    if tcp_enqueue fails) both in raw- and netconn-API\n\n  2010-01-19: Simon Goldschmidt\n  * api_msg.c: Fixed bug #27316: netconn: Possible deadlock in err_tcp\n\n  2010-01-18: Iordan Neshev/Simon Goldschmidt\n  * src/netif/ppp: reorganised PPP sourcecode to 2.3.11 including some\n    bugfix backports from 2.4.x.\n\n  2010-01-18: Simon Goldschmidt\n  * mem.c: Fixed bug #28679: mem_realloc calculates mem_stats wrong\n\n  2010-01-17: Simon Goldschmidt\n  * api_lib.c, api_msg.c, (api_msg.h, api.h, sockets.c, tcpip.c):\n    task #10102: \"netconn: clean up conn->err threading issues\" by adding\n    error return value to struct api_msg_msg\n\n  2010-01-17: Simon Goldschmidt\n  * api.h, api_lib.c, sockets.c: Changed netconn_recv() and netconn_accept()\n    to return err_t (bugs #27709 and #28087)\n\n  2010-01-14: Simon Goldschmidt\n  * ...: Use typedef for function prototypes throughout the stack.\n\n  2010-01-13: Simon Goldschmidt\n  * api_msg.h/.c, api_lib.c: Fixed bug #26672 (close connection when receive\n    window = 0) by correctly draining recvmbox/acceptmbox\n\n  2010-01-11: Simon Goldschmidt\n  * pap.c: Fixed bug #13315 (PPP PAP authentication can result in\n    erroneous callbacks) by copying the code from recent pppd\n\n  2010-01-10: Simon Goldschmidt\n  * raw.c: Fixed bug #28506 (raw_bind should filter received packets)\n\n  2010-01-10: Simon Goldschmidt\n  * tcp.h/.c: bug #28127 (remove call to tcp_output() from tcp_ack(_now)())\n\n  2010-01-08: Simon Goldschmidt\n  * sockets.c: Fixed bug #28519 (lwip_recvfrom bug with len > 65535)\n\n  2010-01-08: Simon Goldschmidt\n  * dns.c: Copy hostname for DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1 since string\n    passed to dns_local_addhost() might be volatile\n\n  2010-01-07: Simon Goldschmidt\n  * timers.c, tcp.h: Call tcp_timer_needed() with NO_SYS==1, too\n\n  2010-01-06: Simon Goldschmidt\n  * netdb.h: Fixed bug #28496: missing include guards in netdb.h\n\n  2009-12-31: Simon Goldschmidt\n  * many ppp files: Reorganised PPP source code from ucip structure to pppd\n    structure to easily compare our code against the pppd code (around v2.3.1)\n\n  2009-12-27: Simon Goldschmidt\n  * tcp_in.c: Another fix for bug #28241 (ooseq processing) and adapted\n    unit test\n\n\n(STABLE-1.3.2)\n\n  ++ New features:\n\n  2009-10-27 Simon Goldschmidt/Stephan Lesage\n  * netifapi.c/.h: Added netifapi_netif_set_addr()\n\n  2009-10-07 Simon Goldschmidt/Fabian Koch\n  * api_msg.c, netbuf.c/.h, opt.h: patch #6888: Patch for UDP Netbufs to\n    support dest-addr and dest-port (optional: LWIP_NETBUF_RECVINFO)\n\n  2009-08-26 Simon Goldschmidt/Simon Kallweit\n  * slipif.c/.h: bug #26397: SLIP polling support\n\n  2009-08-25 Simon Goldschmidt\n  * opt.h, etharp.h/.c: task #9033: Support IEEE 802.1q tagged frame (VLAN),\n    New configuration options ETHARP_SUPPORT_VLAN and ETHARP_VLAN_CHECK.\n\n  2009-08-25 Simon Goldschmidt\n  * ip_addr.h, netdb.c: patch #6900: added define ip_ntoa(struct ip_addr*)\n\n  2009-08-24 Jakob Stoklund Olesen\n  * autoip.c, dhcp.c, netif.c: patch #6725: Teach AutoIP and DHCP to respond\n    to netif_set_link_up().\n\n  2009-08-23 Simon Goldschmidt\n  * tcp.h/.c: Added function tcp_debug_state_str() to convert a tcp state\n    to a human-readable string.\n\n  ++ Bugfixes:\n\n  2009-12-24: Kieran Mansley\n  * tcp_in.c Apply patches from Oleg Tyshev to improve OOS processing\n    (BUG#28241)\n\n  2009-12-06: Simon Goldschmidt\n  * ppp.h/.c: Fixed bug #27079 (Yet another leak in PPP): outpacket_buf can\n    be statically allocated (like in ucip)\n\n  2009-12-04: Simon Goldschmidt (patch by Ioardan Neshev)\n  * pap.c: patch #6969: PPP: missing PAP authentication UNTIMEOUT\n\n  2009-12-03: Simon Goldschmidt\n  * tcp.h, tcp_in.c, tcp_out.c: Fixed bug #28106: dup ack for fast retransmit\n    could have non-zero length\n\n  2009-12-02: Simon Goldschmidt\n  * tcp_in.c: Fixed bug #27904: TCP sends too many ACKs: delay resetting\n    tcp_input_pcb until after calling the pcb's callbacks\n\n  2009-11-29: Simon Goldschmidt\n  * tcp_in.c: Fixed bug #28054: Two segments with FIN flag on the out-of-\n    sequence queue, also fixed PBUF_POOL leak in the out-of-sequence code\n\n  2009-11-29: Simon Goldschmidt\n  * pbuf.c: Fixed bug #28064: pbuf_alloc(PBUF_POOL) is not thread-safe by\n    queueing a call into tcpip_thread to free ooseq-bufs if the pool is empty\n\n  2009-11-26: Simon Goldschmidt\n  * tcp.h: Fixed bug #28098: Nagle can prevent fast retransmit from sending\n    segment\n\n  2009-11-26: Simon Goldschmidt\n  * tcp.h, sockets.c: Fixed bug #28099: API required to disable Nagle\n    algorithm at PCB level\n\n  2009-11-22: Simon Goldschmidt\n  * tcp_out.c: Fixed bug #27905: FIN isn't combined with data on unsent\n\n  2009-11-22: Simon Goldschmidt (suggested by Bill Auerbach)\n  * tcp.c: tcp_alloc: prevent increasing stats.err for MEMP_TCP_PCB when\n    reusing time-wait pcb\n\n  2009-11-20: Simon Goldschmidt (patch by Albert Bartel)\n  * sockets.c: Fixed bug #28062: Data received directly after accepting\n    does not wake up select\n\n  2009-11-11: Simon Goldschmidt\n  * netdb.h: Fixed bug #27994: incorrect define for freeaddrinfo(addrinfo)\n\n  2009-10-30: Simon Goldschmidt\n  * opt.h: Increased default value for TCP_MSS to 536, updated default\n    value for TCP_WND to 4*TCP_MSS to keep delayed ACK working.\n\n  2009-10-28: Kieran Mansley\n  * tcp_in.c, tcp_out.c, tcp.h: re-work the fast retransmission code\n    to follow algorithm from TCP/IP Illustrated\n\n  2009-10-27: Kieran Mansley\n  * tcp_in.c: fix BUG#27445: grow cwnd with every duplicate ACK\n\n  2009-10-25: Simon Goldschmidt\n  * tcp.h: bug-fix in the TCP_EVENT_RECV macro (has to call tcp_recved if\n    pcb->recv is NULL to keep rcv_wnd correct)\n\n  2009-10-25: Simon Goldschmidt\n  * tcp_in.c: Fixed bug #26251: RST process in TIME_WAIT TCP state\n\n  2009-10-23: Simon Goldschmidt (David Empson)\n  * tcp.c: Fixed bug #27783: Silly window avoidance for small window sizes\n\n  2009-10-21: Simon Goldschmidt\n  * tcp_in.c: Fixed bug #27215: TCP sent() callback gives leading and\n    trailing 1 byte len (SYN/FIN)\n\n  2009-10-21: Simon Goldschmidt\n  * tcp_out.c: Fixed bug #27315: zero window probe and FIN\n\n  2009-10-19: Simon Goldschmidt\n  * dhcp.c/.h: Minor code simplification (don't store received pbuf, change\n    conditional code to assert where applicable), check pbuf length before\n    testing for valid reply\n\n  2009-10-19: Simon Goldschmidt\n  * dhcp.c: Removed most calls to udp_connect since they aren't necessary\n    when using udp_sendto_if() - always stay connected to IP_ADDR_ANY.\n\n  2009-10-16: Simon Goldschmidt\n  * ip.c: Fixed bug #27390: Source IP check in ip_input() causes it to drop\n    valid DHCP packets -> allow 0.0.0.0 as source address when LWIP_DHCP is\n    enabled\n\n  2009-10-15: Simon Goldschmidt (Oleg Tyshev)\n  * tcp_in.c: Fixed bug #27329: dupacks by unidirectional data transmit\n\n  2009-10-15: Simon Goldschmidt\n  * api_lib.c: Fixed bug #27709: conn->err race condition on netconn_recv()\n    timeout\n\n  2009-10-15: Simon Goldschmidt\n  * autoip.c: Fixed bug #27704: autoip starts with wrong address\n    LWIP_AUTOIP_CREATE_SEED_ADDR() returned address in host byte order instead\n    of network byte order\n\n  2009-10-11 Simon Goldschmidt (Jrg Kesten)\n  * tcp_out.c: Fixed bug #27504: tcp_enqueue wrongly concatenates segments\n    which are not consecutive when retransmitting unacked segments\n\n  2009-10-09 Simon Goldschmidt\n  * opt.h: Fixed default values of some stats to only be enabled if used\n    Fixes bug #27338: sys_stats is defined when NO_SYS = 1\n\n  2009-08-30 Simon Goldschmidt\n  * ip.c: Fixed bug bug #27345: \"ip_frag() does not use the LWIP_NETIF_LOOPBACK\n    function\" by checking for loopback before calling ip_frag\n\n  2009-08-25 Simon Goldschmidt\n  * dhcp.c: fixed invalid dependency to etharp_query if DHCP_DOES_ARP_CHECK==0\n\n  2009-08-23 Simon Goldschmidt\n  * ppp.c: bug #27078: Possible memory leak in pppInit()\n\n  2009-08-23 Simon Goldschmidt\n  * netdb.c, dns.c: bug #26657: DNS, if host name is \"localhost\", result\n    is error.\n\n  2009-08-23 Simon Goldschmidt\n  * opt.h, init.c: bug #26649: TCP fails when TCP_MSS > TCP_SND_BUF\n    Fixed wrong parenthesis, added check in init.c\n\n  2009-08-23 Simon Goldschmidt\n  * ppp.c: bug #27266: wait-state debug message in pppMain occurs every ms\n\n  2009-08-23 Simon Goldschmidt\n  * many ppp files: bug #27267: Added include to string.h where needed\n\n  2009-08-23 Simon Goldschmidt\n  * tcp.h: patch #6843: tcp.h macro optimization patch (for little endian)\n\n\n(STABLE-1.3.1)\n\n  ++ New features:\n\n  2009-05-10 Simon Goldschmidt\n  * opt.h, sockets.c, pbuf.c, netbuf.h, pbuf.h: task #7013: Added option\n    LWIP_NETIF_TX_SINGLE_PBUF to try to create transmit packets from only\n    one pbuf to help MACs that don't support scatter-gather DMA.\n\n  2009-05-09 Simon Goldschmidt\n  * icmp.h, icmp.c: Shrinked ICMP code, added option to NOT check icoming\n    ECHO pbuf for size (just use it): LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN\n\n  2009-05-05 Simon Goldschmidt, Jakob Stoklund Olesen\n  * ip.h, ip.c: Added ip_current_netif() & ip_current_header() to receive\n    extended info about the currently received packet.\n\n  2009-04-27 Simon Goldschmidt\n  * sys.h: Made SYS_LIGHTWEIGHT_PROT and sys_now() work with NO_SYS=1\n\n  2009-04-25 Simon Goldschmidt\n  * mem.c, opt.h: Added option MEM_USE_POOLS_TRY_BIGGER_POOL to try the next\n    bigger malloc pool if one is empty (only usable with MEM_USE_POOLS).\n\n  2009-04-21 Simon Goldschmidt\n  * dns.c, init.c, dns.h, opt.h: task #7507, patch #6786: DNS supports static\n    hosts table. New configuration options DNS_LOCAL_HOSTLIST and\n    DNS_LOCAL_HOSTLIST_IS_DYNAMIC. Also, DNS_LOOKUP_LOCAL_EXTERN() can be defined\n    as an external function for lookup.\n\n  2009-04-15 Simon Goldschmidt\n  * dhcp.c: patch #6763: Global DHCP XID can be redefined to something more unique\n\n  2009-03-31 Kieran Mansley\n  * tcp.c, tcp_out.c, tcp_in.c, sys.h, tcp.h, opts.h: add support for\n    TCP timestamp options, off by default.  Rework tcp_enqueue() to\n    take option flags rather than specified option data\n\n  2009-02-18 Simon Goldschmidt\n  * cc.h: Added printf formatter for size_t: SZT_F\n\n  2009-02-16 Simon Goldschmidt (patch by Rishi Khan)\n  * icmp.c, opt.h: patch #6539: (configurable) response to broadcast- and multicast\n    pings\n\n  2009-02-12 Simon Goldschmidt\n  * init.h: Added LWIP_VERSION to get the current version of the stack\n\n  2009-02-11 Simon Goldschmidt (suggested by Gottfried Spitaler)\n  * opt.h, memp.h/.c: added MEMP_MEM_MALLOC to use mem_malloc/mem_free instead\n    of the pool allocator (can save code size with MEM_LIBC_MALLOC if libc-malloc\n    is otherwise used)\n\n  2009-01-28 Jonathan Larmour (suggested by Bill Bauerbach)\n  * ipv4/inet_chksum.c, ipv4/lwip/inet_chksum.h: inet_chksum_pseudo_partial()\n  is only used by UDPLITE at present, so conditionalise it.\n\n  2008-12-03 Simon Goldschmidt (base on patch from Luca Ceresoli)\n  * autoip.c: checked in (slightly modified) patch #6683: Customizable AUTOIP\n    \"seed\" address. This should reduce AUTOIP conflicts if\n    LWIP_AUTOIP_CREATE_SEED_ADDR is overridden.\n\n  2008-10-02 Jonathan Larmour and Rishi Khan\n  * sockets.c (lwip_accept): Return EWOULDBLOCK if would block on non-blocking\n    socket.\n\n  2008-06-30 Simon Goldschmidt\n  * mem.c, opt.h, stats.h: fixed bug #21433: Calling mem_free/pbuf_free from\n    interrupt context isn't safe: LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT allows\n    mem_free to run between mem_malloc iterations. Added illegal counter for\n    mem stats.\n\n  2008-06-27 Simon Goldschmidt\n  * stats.h/.c, some other files: patch #6483: stats module improvement:\n    Added defines to display each module's statistic individually, added stats\n    defines for MEM, MEMP and SYS modules, removed (unused) rexmit counter.\n\n  2008-06-17 Simon Goldschmidt\n  * err.h: patch #6459: Made err_t overridable to use a more efficient type\n    (define LWIP_ERR_T in cc.h)\n\n  2008-06-17 Simon Goldschmidt\n  * slipif.c: patch #6480: Added a configuration option for slipif for symmetry\n    to loopif\n\n  2008-06-17 Simon Goldschmidt (patch by Luca Ceresoli)\n  * netif.c, loopif.c, ip.c, netif.h, loopif.h, opt.h: Checked in slightly\n    modified version of patch # 6370: Moved loopif code to netif.c so that\n    loopback traffic is supported on all netifs (all local IPs).\n    Added option to limit loopback packets for each netifs.\n\n\n  ++ Bugfixes:\n  2009-08-12 Kieran Mansley\n  * tcp_in.c, tcp.c: Fix bug #27209: handle trimming of segments when\n    out of window or out of order properly\n\n  2009-08-12 Kieran Mansley\n  * tcp_in.c: Fix bug #27199: use snd_wl2 instead of snd_wl1\n\n  2009-07-28 Simon Goldschmidt\n  * mem.h: Fixed bug #27105: \"realloc() cannot replace mem_realloc()\"s\n\n  2009-07-27 Kieran Mansley\n  * api.h api_msg.h netdb.h sockets.h: add missing #include directives\n\n  2009-07-09 Kieran Mansley\n  * api_msg.c, sockets.c, api.h: BUG23240 use signed counters for\n    recv_avail and don't increment counters until message successfully\n    sent to mbox\n\n  2009-06-25 Kieran Mansley\n  * api_msg.c api.h: BUG26722: initialise netconn write variables \n    in netconn_alloc\n\n  2009-06-25 Kieran Mansley\n  * tcp.h: BUG26879: set ret value in TCP_EVENT macros when function is not set\n\n  2009-06-25 Kieran Mansley\n  * tcp.c, tcp_in.c, tcp_out.c, tcp.h: BUG26301 and BUG26267: correct\n    simultaneous close behaviour, and make snd_nxt have the same meaning \n    as in the RFCs.\n\n  2009-05-12 Simon Goldschmidt\n  * etharp.h, etharp.c, netif.c: fixed bug #26507: \"Gratuitous ARP depends on\n    arp_table / uses etharp_query\" by adding etharp_gratuitous()\n\n  2009-05-12 Simon Goldschmidt\n  * ip.h, ip.c, igmp.c: bug #26487: Added ip_output_if_opt that can add IP options\n    to the IP header (used by igmp_ip_output_if)\n\n  2009-05-06 Simon Goldschmidt\n  * inet_chksum.c: On little endian architectures, use LWIP_PLATFORM_HTONS (if\n    defined) for SWAP_BYTES_IN_WORD to speed up checksumming.\n\n  2009-05-05 Simon Goldschmidt\n  * sockets.c: bug #26405: Prematurely released semaphore causes lwip_select()\n    to crash\n\n  2009-05-04 Simon Goldschmidt\n  * init.c: snmp was not initialized in lwip_init()\n\n  2009-05-04 Frdric Bernon\n  * dhcp.c, netbios.c: Changes if IP_SOF_BROADCAST is enabled.\n\n  2009-05-03 Simon Goldschmidt\n  * tcp.h: bug #26349: Nagle algorithm doesn't send although segment is full\n    (and unsent->next == NULL)\n\n  2009-05-02 Simon Goldschmidt\n  * tcpip.h, tcpip.c: fixed tcpip_untimeout (does not need the time, broken after\n    1.3.0 in CVS only) - fixes compilation of ppp_oe.c\n\n  2009-05-02 Simon Goldschmidt\n  * msg_in.c: fixed bug #25636: SNMPSET value is ignored for integer fields\n\n  2009-05-01 Simon Goldschmidt\n  * pap.c: bug #21680: PPP upap_rauthnak() drops legal NAK packets\n\n  2009-05-01 Simon Goldschmidt\n  * ppp.c: bug #24228: Memory corruption with PPP and DHCP\n\n  2009-04-29 Frdric Bernon\n  * raw.c, udp.c, init.c, opt.h, ip.h, sockets.h: bug #26309: Implement the\n    SO(F)_BROADCAST filter for all API layers. Avoid the unindented reception\n    of broadcast packets even when this option wasn't set. Port maintainers\n    which want to enable this filter have to set IP_SOF_BROADCAST=1 in opt.h.\n    If you want this option also filter broadcast on recv operations, you also\n    have to set IP_SOF_BROADCAST_RECV=1 in opt.h.\n\n  2009-04-28 Simon Goldschmidt, Jakob Stoklund Olesen\n  * dhcp.c: patch #6721, bugs #25575, #25576: Some small fixes to DHCP and\n    DHCP/AUTOIP cooperation\n\n  2009-04-25 Simon Goldschmidt, Oleg Tyshev\n  * tcp_out.c: bug #24212: Deadlocked tcp_retransmit due to exceeded pcb->cwnd\n    Fixed by sorting the unsent and unacked queues (segments are inserted at the\n    right place in tcp_output and tcp_rexmit).\n\n  2009-04-25 Simon Goldschmidt\n  * memp.c, mem.c, memp.h, mem_std.h: bug #26213 \"Problem with memory allocation\n    when debugging\": memp_sizes contained the wrong sizes (including sanity\n    regions); memp pools for MEM_USE_POOLS were too small\n\n  2009-04-24 Simon Goldschmidt, Frdric Bernon\n  * inet.c: patch #6765: Fix a small problem with the last changes (incorrect\n    behavior, with with ip address string not ended by a '\\0', a space or a\n    end of line)\n\n  2009-04-19 Simon Goldschmidt\n  * rawapi.txt: Fixed bug #26069: Corrected documentation: if tcp_connect fails,\n    pcb->err is called, not pcb->connected (with an error code).\n\n  2009-04-19 Simon Goldschmidt\n  * tcp_out.c: Fixed bug #26236: \"TCP options (timestamp) don't work with\n    no-copy-tcpwrite\": deallocate option data, only concat segments with same flags\n\n  2009-04-19 Simon Goldschmidt\n  * tcp_out.c: Fixed bug #25094: \"Zero-length pbuf\" (options are now allocated\n    in the header pbuf, not the data pbuf)\n\n  2009-04-18 Simon Goldschmidt\n  * api_msg.c: fixed bug #25695: Segmentation fault in do_writemore()\n\n  2009-04-15 Simon Goldschmidt\n  * sockets.c: tried to fix bug #23559: lwip_recvfrom problem with tcp\n\n  2009-04-15 Simon Goldschmidt\n  * dhcp.c: task #9192: mem_free of dhcp->options_in and dhcp->msg_in\n\n  2009-04-15 Simon Goldschmidt\n  * ip.c, ip6.c, tcp_out.c, ip.h: patch #6808: Add a utility function\n    ip_hinted_output() (for smaller code mainly)\n\n  2009-04-15 Simon Goldschmidt\n  * inet.c: patch #6765: Supporting new line characters in inet_aton()\n\n  2009-04-15 Simon Goldschmidt\n  * dhcp.c: patch #6764: DHCP rebind and renew did not send hostnam option;\n    Converted constant OPTION_MAX_MSG_SIZE to netif->mtu, check if netif->mtu\n    is big enough in dhcp_start\n\n  2009-04-15 Simon Goldschmidt\n  * netbuf.c: bug #26027: netbuf_chain resulted in pbuf memory leak\n\n  2009-04-15 Simon Goldschmidt\n  * sockets.c, ppp.c: bug #25763: corrected 4 occurrences of SMEMCPY to MEMCPY\n\n  2009-04-15 Simon Goldschmidt\n  * sockets.c: bug #26121: set_errno can be overridden\n\n  2009-04-09 Kieran Mansley (patch from Luca Ceresoli <lucaceresoli>)\n  * init.c, opt.h: Patch#6774 TCP_QUEUE_OOSEQ breaks compilation when\n    LWIP_TCP==0\n\n  2009-04-09 Kieran Mansley (patch from Roy Lee <roylee17>)\n  * tcp.h: Patch#6802 Add do-while-clauses to those function like\n    macros in tcp.h\n\n  2009-03-31 Kieran Mansley\n  * tcp.c, tcp_in.c, tcp_out.c, tcp.h, opt.h: Rework the way window\n    updates are calculated and sent (BUG20515)\n\n  * tcp_in.c: cope with SYN packets received during established states,\n    and retransmission of initial SYN.\n\n  * tcp_out.c: set push bit correctly when tcp segments are merged\n\n  2009-03-27 Kieran Mansley\n  * tcp_out.c set window correctly on probes (correcting change made\n    yesterday)\n\n  2009-03-26 Kieran Mansley\n  * tcp.c, tcp_in.c, tcp.h: add tcp_abandon() to cope with dropping\n    connections where no reset required (bug #25622)\n\n  * tcp_out.c: set TCP_ACK flag on keepalive and zero window probes \n    (bug #20779)\n\n  2009-02-18 Simon Goldschmidt (Jonathan Larmour and Bill Auerbach)\n  * ip_frag.c: patch #6528: the buffer used for IP_FRAG_USES_STATIC_BUF could be\n    too small depending on MEM_ALIGNMENT\n\n  2009-02-16 Simon Goldschmidt\n  * sockets.h/.c, api_*.h/.c: fixed arguments of socket functions to match the standard;\n    converted size argument of netconn_write to 'size_t'\n\n  2009-02-16 Simon Goldschmidt\n  * tcp.h, tcp.c: fixed bug #24440: TCP connection close problem on 64-bit host\n    by moving accept callback function pointer to TCP_PCB_COMMON\n\n  2009-02-12 Simon Goldschmidt\n  * dhcp.c: fixed bug #25345 (DHCPDECLINE is sent with \"Maximum message size\"\n    option)\n\n  2009-02-11 Simon Goldschmidt\n  * dhcp.c: fixed bug #24480 (releasing old udp_pdb and pbuf in dhcp_start)\n\n  2009-02-11 Simon Goldschmidt\n  * opt.h, api_msg.c: added configurable default valud for netconn->recv_bufsize:\n    RECV_BUFSIZE_DEFAULT (fixes bug #23726: pbuf pool exhaustion on slow recv())\n\n  2009-02-10 Simon Goldschmidt\n  * tcp.c: fixed bug #25467: Listen backlog is not reset on timeout in SYN_RCVD:\n    Accepts_pending is decrease on a corresponding listen pcb when a connection\n    in state SYN_RCVD is close.\n\n  2009-01-28 Jonathan Larmour\n  * pbuf.c: reclaim pbufs from TCP out-of-sequence segments if we run\n    out of pool pbufs.\n\n  2008-12-19 Simon Goldschmidt\n  * many files: patch #6699: fixed some warnings on platform where sizeof(int) == 2 \n\n  2008-12-10 Tamas Somogyi, Frdric Bernon\n  * sockets.c: fixed bug #25051: lwip_recvfrom problem with udp: fromaddr and\n    port uses deleted netbuf.\n\n  2008-10-18 Simon Goldschmidt\n  * tcp_in.c: fixed bug ##24596: Vulnerability on faulty TCP options length\n    in tcp_parseopt\n\n  2008-10-15 Simon Goldschmidt\n  * ip_frag.c: fixed bug #24517: IP reassembly crashes on unaligned IP headers\n    by packing the struct ip_reass_helper.\n\n  2008-10-03 David Woodhouse, Jonathan Larmour\n  * etharp.c (etharp_arp_input): Fix type aliasing problem copying ip address.\n\n  2008-10-02 Jonathan Larmour\n  * dns.c: Hard-code structure sizes, to avoid issues on some compilers where\n    padding is included.\n\n  2008-09-30 Jonathan Larmour\n  * sockets.c (lwip_accept): check addr isn't NULL. If it's valid, do an\n    assertion check that addrlen isn't NULL.\n\n  2008-09-30 Jonathan Larmour\n  * tcp.c: Fix bug #24227, wrong error message in tcp_bind.\n\n  2008-08-26 Simon Goldschmidt\n  * inet.h, ip_addr.h: fixed bug #24132: Cross-dependency between ip_addr.h and\n    inet.h -> moved declaration of struct in_addr from ip_addr.h to inet.h\n\n  2008-08-14 Simon Goldschmidt\n  * api_msg.c: fixed bug #23847: do_close_internal references freed memory (when\n    tcp_close returns != ERR_OK)\n\n  2008-07-08 Frdric Bernon\n  * stats.h: Fix some build bugs introduced with patch #6483 (missing some parameters\n    in macros, mainly if MEM_STATS=0 and MEMP_STATS=0).\n\n  2008-06-24 Jonathan Larmour\n  * tcp_in.c: Fix for bug #23693 as suggested by Art R. Ensure cseg is unused\n    if tcp_seg_copy fails.\n\n  2008-06-17 Simon Goldschmidt\n  * inet_chksum.c: Checked in some ideas of patch #6460 (loop optimizations)\n    and created defines for swapping bytes and folding u32 to u16.\n\n  2008-05-30 Kieran Mansley\n  * tcp_in.c Remove redundant \"if\" statement, and use real rcv_wnd\n    rather than rcv_ann_wnd when deciding if packets are in-window.\n    Contributed by <arasmussen@consultant.datasys.swri.edu>\n\n  2008-05-30 Kieran Mansley\n  * mem.h: Fix BUG#23254.  Change macro definition of mem_* to allow\n    passing as function pointers when MEM_LIBC_MALLOC is defined.\n\n  2008-05-09 Jonathan Larmour\n  * err.h, err.c, sockets.c: Fix bug #23119: Reorder timeout error code to\n    stop it being treated as a fatal error.\n\n  2008-04-15 Simon Goldschmidt\n  * dhcp.c: fixed bug #22804: dhcp_stop doesn't clear NETIF_FLAG_DHCP\n    (flag now cleared)\n\n  2008-03-27 Simon Goldschmidt\n  * mem.c, tcpip.c, tcpip.h, opt.h: fixed bug #21433 (Calling mem_free/pbuf_free\n    from interrupt context isn't safe): set LWIP_USE_HEAP_FROM_INTERRUPT to 1\n    in lwipopts.h or use pbuf_free_callback(p)/mem_free_callback(m) to free pbufs\n    or heap memory from interrupt context\n\n  2008-03-26 Simon Goldschmidt\n  * tcp_in.c, tcp.c: fixed bug #22249: division by zero could occur if a remote\n    host sent a zero mss as TCP option.\n\n\n(STABLE-1.3.0)\n\n  ++ New features:\n\n  2008-03-10 Jonathan Larmour\n  * inet_chksum.c: Allow choice of one of the sample algorithms to be\n    made from lwipopts.h. Fix comment on how to override LWIP_CHKSUM.\n\n  2008-01-22 Frdric Bernon\n  * tcp.c, tcp_in.c, tcp.h, opt.h: Rename LWIP_CALCULATE_EFF_SEND_MSS in \n    TCP_CALCULATE_EFF_SEND_MSS to have coherent TCP options names.\n\n  2008-01-14 Frdric Bernon\n  * rawapi.txt, api_msg.c, tcp.c, tcp_in.c, tcp.h: changes for task #7675 \"Enable\n    to refuse data on a TCP_EVENT_RECV call\". Important, behavior changes for the\n    tcp_recv callback (see rawapi.txt).\n\n  2008-01-14 Frdric Bernon, Marc Chaland\n  * ip.c: Integrate patch #6369\" ip_input : checking before realloc\".\n  \n  2008-01-12 Frdric Bernon\n  * tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field\n    netconn::sem per netconn::op_completed like suggested for the task #7490\n    \"Add return value to sys_mbox_post\".\n\n  2008-01-12 Frdric Bernon\n  * api_msg.c, opt.h: replace DEFAULT_RECVMBOX_SIZE per DEFAULT_TCP_RECVMBOX_SIZE,\n    DEFAULT_UDP_RECVMBOX_SIZE and DEFAULT_RAW_RECVMBOX_SIZE (to optimize queues\n    sizes), like suggested for the task #7490 \"Add return value to sys_mbox_post\".\n\n  2008-01-10 Frdric Bernon\n  * tcpip.h, tcpip.c: add tcpip_callback_with_block function for the task #7490\n    \"Add return value to sys_mbox_post\". tcpip_callback is always defined as\n    \"blocking\" (\"block\" parameter = 1).\n\n  2008-01-10 Frdric Bernon\n  * tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field\n    netconn::mbox (sys_mbox_t) per netconn::sem (sys_sem_t) for the task #7490\n    \"Add return value to sys_mbox_post\".\n\n  2008-01-05 Frdric Bernon\n  * sys_arch.txt, api.h, api_lib.c, api_msg.h, api_msg.c, tcpip.c, sys.h, opt.h:\n    Introduce changes for task #7490 \"Add return value to sys_mbox_post\" with some\n    modifications in the sys_mbox api: sys_mbox_new take a \"size\" parameters which\n    indicate the number of pointers query by the mailbox. There is three defines\n    in opt.h to indicate sizes for tcpip::mbox, netconn::recvmbox, and for the \n    netconn::acceptmbox. Port maintainers, you can decide to just add this new \n    parameter in your implementation, but to ignore it to keep the previous behavior.\n    The new sys_mbox_trypost function return a value to know if the mailbox is\n    full or if the message is posted. Take a look to sys_arch.txt for more details.\n    This new function is used in tcpip_input (so, can be called in an interrupt\n    context since the function is not blocking), and in recv_udp and recv_raw.\n\n  2008-01-04 Frdric Bernon, Simon Goldschmidt, Jonathan Larmour\n  * rawapi.txt, api.h, api_lib.c, api_msg.h, api_msg.c, sockets.c, tcp.h, tcp.c,\n    tcp_in.c, init.c, opt.h: rename backlog options with TCP_ prefix, limit the\n    \"backlog\" parameter in an u8_t, 0 is interpreted as \"smallest queue\", add\n    documentation in the rawapi.txt file.\n\n  2007-12-31 Kieran Mansley (based on patch from Per-Henrik Lundbolm)\n  * tcp.c, tcp_in.c, tcp_out.c, tcp.h: Add TCP persist timer\n\n  2007-12-31 Frdric Bernon, Luca Ceresoli\n  * autoip.c, etharp.c: ip_addr.h: Integrate patch #6348: \"Broadcast ARP packets\n    in autoip\". The change in etharp_raw could be removed, since all calls to\n    etharp_raw use ethbroadcast for the \"ethdst_addr\" parameter. But it could be\n    wrong in the future.\n\n  2007-12-30 Frdric Bernon, Tom Evans\n  * ip.c: Fix bug #21846 \"LwIP doesn't appear to perform any IP Source Address\n    Filtering\" reported by Tom Evans.\n\n  2007-12-21 Frdric Bernon, Simon Goldschmidt, Jonathan Larmour\n  * tcp.h, opt.h, api.h, api_msg.h, tcp.c, tcp_in.c, api_lib.c, api_msg.c,\n    sockets.c, init.c: task #7252: Implement TCP listen backlog: Warning: raw API\n    applications have to call 'tcp_accepted(pcb)' in their accept callback to\n    keep accepting new connections.\n\n  2007-12-13 Frdric Bernon\n  * api_msg.c, err.h, err.c, sockets.c, dns.c, dns.h: replace \"enum dns_result\"\n    by err_t type. Add a new err_t code \"ERR_INPROGRESS\".\n\n  2007-12-12 Frdric Bernon\n  * dns.h, dns.c, opt.h: move DNS options to the \"right\" place. Most visibles\n    are the one which have ram usage.\n\n  2007-12-05 Frdric Bernon\n  * netdb.c: add a LWIP_DNS_API_HOSTENT_STORAGE option to decide to use a static\n    set of variables (=0) or a local one (=1). In this last case, your port should\n    provide a function \"struct hostent* sys_thread_hostent( struct hostent* h)\"\n    which have to do a copy of \"h\" and return a pointer ont the \"per-thread\" copy.\n\n  2007-12-03 Simon Goldschmidt\n  * ip.c: ip_input: check if a packet is for inp first before checking all other\n    netifs on netif_list (speeds up packet receiving in most cases)\n\n  2007-11-30 Simon Goldschmidt\n  * udp.c, raw.c: task #7497: Sort lists (pcb, netif, ...) for faster access\n    UDP: move a (connected) pcb selected for input to the front of the list of\n    pcbs so that it is found faster next time. Same for RAW pcbs that have eaten\n    a packet.\n\n  2007-11-28 Simon Goldschmidt\n  * etharp.c, stats.c, stats.h, opt.h: Introduced ETHARP_STATS\n\n  2007-11-25 Simon Goldschmidt\n  * dhcp.c: dhcp_unfold_reply() uses pbuf_copy_partial instead of its own copy\n    algorithm.\n\n  2007-11-24 Simon Goldschmidt\n  * netdb.h, netdb.c, sockets.h/.c: Moved lwip_gethostbyname from sockets.c\n    to the new file netdb.c; included lwip_getaddrinfo.\n\n  2007-11-21 Simon Goldschmidt\n  * tcp.h, opt.h, tcp.c, tcp_in.c: implemented calculating the effective send-mss\n    based on the MTU of the netif used to send. Enabled by default. Disable by\n    setting LWIP_CALCULATE_EFF_SEND_MSS to 0. This fixes bug #21492.\n\n  2007-11-19 Frdric Bernon\n  * api_msg.c, dns.h, dns.c: Implement DNS_DOES_NAME_CHECK option (check if name\n    received match the name query), implement DNS_USES_STATIC_BUF (the place where\n    copy dns payload to parse the response), return an error if there is no place\n    for a new query, and fix some minor problems.\n\n  2007-11-16 Simon Goldschmidt\n  * new files: ipv4/inet.c, ipv4/inet_chksum.c, ipv6/inet6.c\n    removed files: core/inet.c, core/inet6.c\n    Moved inet files into ipv4/ipv6 directory; splitted inet.c/inet.h into\n    inet and chksum part; changed includes in all lwIP files as appropriate\n\n  2007-11-16 Simon Goldschmidt\n  * api.h, api_msg.h, api_lib.c, api_msg.c, socket.h, socket.c: Added sequential\n    dns resolver function for netconn api (netconn_gethostbyname) and socket api\n    (gethostbyname/gethostbyname_r).\n\n  2007-11-15 Jim Pettinato, Frdric Bernon\n  * opt.h, init.c, tcpip.c, dhcp.c, dns.h, dns.c: add DNS client for simple name\n    requests with RAW api interface. Initialization is done in lwip_init() with\n    build time options. DNS timer is added in tcpip_thread context. DHCP can set\n    DNS server ip addresses when options are received. You need to set LWIP_DNS=1\n    in your lwipopts.h file (LWIP_DNS=0 in opt.h). DNS_DEBUG can be set to get\n    some traces with LWIP_DEBUGF. Sanity check have been added. There is a \"todo\"\n    list with points to improve.\n\n  2007-11-06 Simon Goldschmidt\n  * opt.h, mib2.c: Patch #6215: added ifAdminStatus write support (if explicitly\n    enabled by defining SNMP_SAFE_REQUESTS to 0); added code to check link status\n    for ifOperStatus if LWIP_NETIF_LINK_CALLBACK is defined.\n\n  2007-11-06 Simon Goldschmidt\n  * api.h, api_msg.h and dependent files: Task #7410: Removed the need to include\n    core header files in api.h (ip/tcp/udp/raw.h) to hide the internal\n    implementation from netconn api applications.\n\n  2007-11-03 Frdric Bernon\n  * api.h, api_lib.c, api_msg.c, sockets.c, opt.h: add SO_RCVBUF option for UDP &\n    RAW netconn. You need to set LWIP_SO_RCVBUF=1 in your lwipopts.h (it's disabled\n    by default). Netconn API users can use the netconn_recv_bufsize macro to access\n    it. This is a first release which have to be improve for TCP. Note it used the\n    netconn::recv_avail which need to be more \"thread-safe\" (note there is already\n    the problem for FIONREAD with lwip_ioctl/ioctlsocket).\n\n  2007-11-01 Frdric Bernon, Marc Chaland\n  * sockets.h, sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c, tcp.h, tcp_out.c:\n    Integrate \"patch #6250 : MSG_MORE flag for send\". MSG_MORE is used at socket api\n    layer, NETCONN_MORE at netconn api layer, and TCP_WRITE_FLAG_MORE at raw api\n    layer. This option enable to delayed TCP PUSH flag on multiple \"write\" calls.\n    Note that previous \"copy\" parameter for \"write\" APIs is now called \"apiflags\".\n\n  2007-10-24 Frdric Bernon\n  * api.h, api_lib.c, api_msg.c: Add macro API_EVENT in the same spirit than \n    TCP_EVENT_xxx macros to get a code more readable. It could also help to remove\n    some code (like we have talk in \"patch #5919 : Create compile switch to remove\n    select code\"), but it could be done later.\n\n  2007-10-08 Simon Goldschmidt\n  * many files: Changed initialization: many init functions are not needed any\n    more since we now rely on the compiler initializing global and static\n    variables to zero!\n\n  2007-10-06 Simon Goldschmidt\n  * ip_frag.c, memp.c, mib2.c, ip_frag.h, memp_std.h, opt.h: Changed IP_REASSEMBLY\n    to enqueue the received pbufs so that multiple packets can be reassembled\n    simultaneously and no static reassembly buffer is needed.\n\n  2007-10-05 Simon Goldschmidt\n  * tcpip.c, etharp.h, etharp.c: moved ethernet_input from tcpip.c to etharp.c so\n    all netifs (or ports) can use it.\n\n  2007-10-05 Frdric Bernon\n  * netifapi.h, netifapi.c: add function netifapi_netif_set_default. Change the \n    common function to reduce a little bit the footprint (for all functions using\n    only the \"netif\" parameter).\n\n  2007-10-03 Frdric Bernon\n  * netifapi.h, netifapi.c: add functions netifapi_netif_set_up, netifapi_netif_set_down,\n    netifapi_autoip_start and netifapi_autoip_stop. Use a common function to reduce\n    a little bit the footprint (for all functions using only the \"netif\" parameter).\n\n  2007-09-15 Frdric Bernon\n  * udp.h, udp.c, sockets.c: Changes for \"#20503 IGMP Improvement\". Add IP_MULTICAST_IF\n    option in socket API, and a new field \"multicast_ip\" in \"struct udp_pcb\" (for\n    netconn and raw API users), only if LWIP_IGMP=1. Add getsockopt processing for\n    IP_MULTICAST_TTL and IP_MULTICAST_IF.\n\n  2007-09-10 Frdric Bernon\n  * snmp.h, mib2.c: enable to remove SNMP timer (which consumne several cycles\n    even when it's not necessary). snmp_agent.txt tell to call snmp_inc_sysuptime()\n    each 10ms (but, it's intrusive if you use sys_timeout feature). Now, you can\n    decide to call snmp_add_sysuptime(100) each 1000ms (which is bigger \"step\", but\n    call to a lower frequency). Or, you can decide to not call snmp_inc_sysuptime()\n    or snmp_add_sysuptime(), and to define the SNMP_GET_SYSUPTIME(sysuptime) macro.\n    This one is undefined by default in mib2.c. SNMP_GET_SYSUPTIME is called inside\n    snmp_get_sysuptime(u32_t *value), and enable to change \"sysuptime\" value only\n    when it's queried (any direct call to \"sysuptime\" is changed by a call to \n    snmp_get_sysuptime).\n\n  2007-09-09 Frdric Bernon, Bill Florac\n  * igmp.h, igmp.c, netif.h, netif.c, ip.c: To enable to have interfaces with IGMP,\n    and others without it, there is a new NETIF_FLAG_IGMP flag to set in netif->flags\n    if you want IGMP on an interface. igmp_stop() is now called inside netif_remove().\n    igmp_report_groups() is now called inside netif_set_link_up() (need to have\n    LWIP_NETIF_LINK_CALLBACK=1) to resend reports once the link is up (avoid to wait\n    the next query message to receive the matching multicast streams).\n\n  2007-09-08 Frdric Bernon\n  * sockets.c, ip.h, api.h, tcp.h: declare a \"struct ip_pcb\" which only contains\n    IP_PCB. Add in the netconn's \"pcb\" union a \"struct ip_pcb *ip;\" (no size change).\n    Use this new field to access to common pcb fields (ttl, tos, so_options, etc...).\n    Enable to access to these fields with LWIP_TCP=0.\n\n  2007-09-05 Frdric Bernon\n  * udp.c, ipv4/icmp.c, ipv4/ip.c, ipv6/icmp.c, ipv6/ip6.c, ipv4/icmp.h,\n    ipv6/icmp.h, opt.h: Integrate \"task #7272 : LWIP_ICMP option\". The new option\n    LWIP_ICMP enable/disable ICMP module inside the IP stack (enable per default).\n    Be careful, disabling ICMP make your product non-compliant to RFC1122, but\n    help to reduce footprint, and to reduce \"visibility\" on the Internet.\n\n  2007-09-05 Frdric Bernon, Bill Florac\n  * opt.h, sys.h, tcpip.c, slipif.c, ppp.c, sys_arch.txt: Change parameters list\n    for sys_thread_new (see \"task #7252 : Create sys_thread_new_ex()\"). Two new\n    parameters have to be provided: a task name, and a task stack size. For this\n    one, since it's platform dependant, you could define the best one for you in\n    your lwipopts.h. For port maintainers, you can just add these new parameters\n    in your sys_arch.c file, and but it's not mandatory, use them in your OS\n    specific functions.\n\n  2007-09-05 Frdric Bernon\n  * inet.c, autoip.c, msg_in.c, msg_out.c, init.c: Move some build time checkings\n    inside init.c for task #7142 \"Sanity check user-configurable values\".\n\n  2007-09-04 Frdric Bernon, Bill Florac\n  * igmp.h, igmp.c, memp_std.h, memp.c, init.c, opt.h: Replace mem_malloc call by\n    memp_malloc, and use a new MEMP_NUM_IGMP_GROUP option (see opt.h to define the\n    value). It will avoid potential fragmentation problems, use a counter to know\n    how many times a group is used on an netif, and free it when all applications\n    leave it. MEMP_NUM_IGMP_GROUP got 8 as default value (and init.c got a sanity\n    check if LWIP_IGMP!=0).\n\n  2007-09-03 Frdric Bernon\n  * igmp.h, igmp.c, sockets.c, api_msg.c: Changes for \"#20503 IGMP Improvement\".\n    Initialize igmp_mac_filter to NULL in netif_add (this field should be set in\n    the netif's \"init\" function). Use the \"imr_interface\" field (for socket layer)\n    and/or the \"interface\" field (for netconn layer), for join/leave operations.\n    The igmp_join/leavegroup first parameter change from a netif to an ipaddr.\n    This field could be a netif's ipaddr, or \"any\" (same meaning than ip_addr_isany).\n\n  2007-08-30 Frdric Bernon\n  * Add netbuf.h, netbuf.c, Change api.h, api_lib.c: #7249 \"Split netbuf functions\n    from api/api_lib\". Now netbuf API is independant of netconn, and can be used\n    with other API (application based on raw API, or future \"socket2\" API). Ports\n    maintainers just have to add src/api/netbuf.c in their makefile/projects.\n\n  2007-08-30 Frdric Bernon, Jonathan Larmour\n  * init.c: Add first version of lwip_sanity_check for task #7142 \"Sanity check\n    user-configurable values\".\n\n  2007-08-29 Frdric Bernon\n  * igmp.h, igmp.c, tcpip.c, init.c, netif.c: change igmp_init and add igmp_start.\n    igmp_start is call inside netif_add. Now, igmp initialization is in the same\n    spirit than the others modules. Modify some IGMP debug traces.\n\n  2007-08-29 Frdric Bernon\n  * Add init.h, init.c, Change opt.h, tcpip.c: Task  #7213 \"Add a lwip_init function\"\n    Add lwip_init function to regroup all modules initializations, and to provide\n    a place to add code for task #7142 \"Sanity check user-configurable values\".\n    Ports maintainers should remove direct initializations calls from their code,\n    and add init.c in their makefiles. Note that lwip_init() function is called\n    inside tcpip_init, but can also be used by raw api users since all calls are\n    disabled when matching options are disabled. Also note that their is new options\n    in opt.h, you should configure in your lwipopts.h (they are enabled per default).\n\n  2007-08-26 Marc Boucher\n  * api_msg.c: do_close_internal(): Reset the callbacks and arg (conn) to NULL\n    since they can under certain circumstances be called with an invalid conn\n    pointer after the connection has been closed (and conn has been freed). \n\n  2007-08-25 Frdric Bernon (Artem Migaev's Patch)\n  * netif.h, netif.c: Integrate \"patch #6163 : Function to check if link layer is up\".\n    Add a netif_is_link_up() function if LWIP_NETIF_LINK_CALLBACK option is set.\n\n  2007-08-22 Frdric Bernon\n  * netif.h, netif.c, opt.h: Rename LWIP_NETIF_CALLBACK in LWIP_NETIF_STATUS_CALLBACK\n    to be coherent with new LWIP_NETIF_LINK_CALLBACK option before next release.\n\n  2007-08-22 Frdric Bernon\n  * tcpip.h, tcpip.c, ethernetif.c, opt.h: remove options ETHARP_TCPIP_INPUT &\n    ETHARP_TCPIP_ETHINPUT, now, only \"ethinput\" code is supported, even if the \n    name is tcpip_input (we keep the name of 1.2.0 function).\n\n  2007-08-17 Jared Grubb\n  * memp_std.h, memp.h, memp.c, mem.c, stats.c: (Task #7136) Centralize mempool \n    settings into new memp_std.h and optional user file lwippools.h. This adds\n    more dynamic mempools, and allows the user to create an arbitrary number of\n    mempools for mem_malloc.\n\n  2007-08-16 Marc Boucher\n  * api_msg.c: Initialize newconn->state to NETCONN_NONE in accept_function;\n    otherwise it was left to NETCONN_CLOSE and sent_tcp() could prematurely\n    close the connection.\n\n  2007-08-16 Marc Boucher\n  * sockets.c: lwip_accept(): check netconn_peer() error return.\n\n  2007-08-16 Marc Boucher\n  * mem.c, mem.h: Added mem_calloc().\n\n  2007-08-16 Marc Boucher\n  * tcpip.c, tcpip.h memp.c, memp.h: Added distinct memp (MEMP_TCPIP_MSG_INPKT)\n    for input packets to prevent floods from consuming all of MEMP_TCPIP_MSG\n    and starving other message types.\n    Renamed MEMP_TCPIP_MSG to MEMP_TCPIP_MSG_API\n\n  2007-08-16 Marc Boucher\n  * pbuf.c, pbuf.h, etharp.c, tcp_in.c, sockets.c: Split pbuf flags in pbuf\n    type and flgs (later renamed to flags).\n    Use enum pbuf_flag as pbuf_type.  Renumber PBUF_FLAG_*.\n    Improved lwip_recvfrom().  TCP push now propagated.\n\n  2007-08-16 Marc Boucher\n  * ethernetif.c, contrib/ports/various: ethbroadcast now a shared global\n    provided by etharp.\n\n  2007-08-16 Marc Boucher\n  * ppp_oe.c ppp_oe.h, auth.c chap.c fsm.c lcp.c ppp.c ppp.h,\n    etharp.c ethernetif.c, etharp.h, opt.h tcpip.h, tcpip.c:\n    Added PPPoE support and various PPP improvements.\n\n  2007-07-25 Simon Goldschmidt\n  * api_lib.c, ip_frag.c, pbuf.c, api.h, pbuf.h: Introduced pbuf_copy_partial,\n    making netbuf_copy_partial use this function.\n\n  2007-07-25 Simon Goldschmidt\n  * tcp_in.c: Fix bug #20506: Slow start / initial congestion window starts with\n    2 * mss (instead of 1 * mss previously) to comply with some newer RFCs and\n    other stacks.\n\n  2007-07-13 Jared Grubb (integrated by Frdric Bernon)\n  * opt.h, netif.h, netif.c, ethernetif.c: Add new configuration option to add\n    a link callback in the netif struct, and functions to handle it. Be carefull\n    for port maintainers to add the NETIF_FLAG_LINK_UP flag (like in ethernetif.c)\n    if you want to be sure to be compatible with future changes...\n\n  2007-06-30 Frdric Bernon\n  * sockets.h, sockets.c: Implement MSG_PEEK flag for recv/recvfrom functions.\n\n  2007-06-21 Simon Goldschmidt\n  * etharp.h, etharp.c: Combined etharp_request with etharp_raw for both\n    LWIP_AUTOIP =0 and =1 to remove redundant code.\n\n  2007-06-21 Simon Goldschmidt\n  * mem.c, memp.c, mem.h, memp.h, opt.h: task #6863: Introduced the option\n    MEM_USE_POOLS to use 4 pools with different sized elements instead of a\n    heap. This both prevents memory fragmentation and gives a higher speed\n    at the cost of more memory consumption. Turned off by default.\n\n  2007-06-21 Simon Goldschmidt\n  * api_lib.c, api_msg.c, api.h, api_msg.h: Converted the length argument of\n    netconn_write (and therefore also api_msg_msg.msg.w.len) from u16_t into\n    int to be able to send a bigger buffer than 64K with one time (mainly\n    used from lwip_send).\n\n  2007-06-21 Simon Goldschmidt\n  * tcp.h, api_msg.c: Moved the nagle algorithm from netconn_write/do_write\n    into a define (tcp_output_nagle) in tcp.h to provide it to raw api users, too.\n\n  2007-06-21 Simon Goldschmidt\n  * api.h, api_lib.c, api_msg.c: Fixed bug #20021: Moved sendbuf-processing in\n    netconn_write from api_lib.c to api_msg.c to also prevent multiple context-\n    changes on low memory or empty send-buffer.\n\n  2007-06-18 Simon Goldschmidt\n  * etharp.c, etharp.h: Changed etharp to use a defined hardware address length\n    of 6 to avoid loading netif->hwaddr_len every time (since this file is only\n    used for ethernet and struct eth_addr already had a defined length of 6).\n\n  2007-06-17 Simon Goldschmidt\n  * sockets.c, sockets.h: Implemented socket options SO_NO_CHECK for UDP sockets\n    to disable UDP checksum generation on transmit.\n\n  2007-06-13 Frdric Bernon, Simon Goldschmidt\n  * debug.h, api_msg.c: change LWIP_ERROR to use it to check errors like invalid\n    pointers or parameters, and let the possibility to redefined it in cc.h. Use\n    this macro to check \"conn\" parameter in api_msg.c functions.\n\n  2007-06-11 Simon Goldschmidt\n  * sockets.c, sockets.h: Added UDP lite support for sockets\n\n  2007-06-10 Simon Goldschmidt\n  * udp.h, opt.h, api_msg.c, ip.c, udp.c: Included switch LWIP_UDPLITE (enabled\n    by default) to switch off UDP-Lite support if not needed (reduces udp.c code\n    size)\n\n  2007-06-09 Dominik Spies (integrated by Frdric Bernon)\n  * autoip.h, autoip.c, dhcp.h, dhcp.c, netif.h, netif.c, etharp.h, etharp.c, opt.h:\n    AutoIP implementation available for IPv4, with new options LWIP_AUTOIP and\n    LWIP_DHCP_AUTOIP_COOP if you want to cooperate with DHCP. Some tips to adapt\n    (see TODO mark in the source code).\n\n  2007-06-09 Simon Goldschmidt\n  * etharp.h, etharp.c, ethernetif.c: Modified order of parameters for\n    etharp_output() to match netif->output so etharp_output() can be used\n    directly as netif->output to save one function call.\n\n  2007-06-08 Simon Goldschmidt\n  * netif.h, ethernetif.c, slipif.c, loopif.c: Added define\n    NETIF_INIT_SNMP(netif, type, speed) to initialize per-netif snmp variables,\n    added initialization of those to ethernetif, slipif and loopif.\n\n  2007-05-18 Simon Goldschmidt\n  * opt.h, ip_frag.c, ip_frag.h, ip.c: Added option IP_FRAG_USES_STATIC_BUF\n    (defaulting to off for now) that can be set to 0 to send fragmented\n    packets by passing PBUF_REFs down the stack.\n\n  2007-05-23 Frdric Bernon\n  * api_lib.c: Implement SO_RCVTIMEO for accept and recv on TCP\n    connections, such present in patch #5959.\n\n  2007-05-23 Frdric Bernon\n  * api.h, api_lib.c, api_msg.c, sockets.c: group the different NETCONN_UDPxxx\n    code in only one part...\n\n  2007-05-18 Simon Goldschmidt\n  * opt.h, memp.h, memp.c: Added option MEMP_OVERFLOW_CHECK to check for memp\n    elements to overflow. This is achieved by adding some bytes before and after\n    each pool element (increasing their size, of course), filling them with a\n    prominent value and checking them on freeing the element.\n    Set it to 2 to also check every element in every pool each time memp_malloc()\n    or memp_free() is called (slower but more helpful).\n\n  2007-05-10 Simon Goldschmidt\n  * opt.h, memp.h, memp.c, pbuf.c (see task #6831): use a new memp pool for\n    PBUF_POOL pbufs instead of the old pool implementation in pbuf.c to reduce\n    code size.\n\n  2007-05-11 Frdric Bernon\n  * sockets.c, api_lib.c, api_msg.h, api_msg.c, netifapi.h, netifapi.c, tcpip.c:\n    Include a function pointer instead of a table index in the message to reduce\n    footprint. Disable some part of lwip_send and lwip_sendto if some options are\n    not set (LWIP_TCP, LWIP_UDP, LWIP_RAW).\n\n  2007-05-10 Simon Goldschmidt\n  * *.h (except netif/ppp/*.h): Included patch #5448: include '#ifdef __cplusplus\n    \\ extern \"C\" {' in all header files. Now you can write your application using\n    the lwIP stack in C++ and simply #include the core files. Note I have left\n    out the netif/ppp/*h header files for now, since I don't know which files are\n    included by applications and which are for internal use only.\n\n  2007-05-09 Simon Goldschmidt\n  * opt.h, *.c/*.h: Included patch #5920: Create define to override C-library\n    memcpy. 2 Defines are created: MEMCPY() for normal memcpy, SMEMCPY() for\n    situations where some compilers might inline the copy and save a function\n    call. Also replaced all calls to memcpy() with calls to (S)MEMCPY().\n\n  2007-05-08 Simon Goldschmidt\n  * mem.h: If MEM_LIBC_MALLOC==1, allow the defines (e.g. mem_malloc() -> malloc())\n    to be overriden in case the C-library malloc implementation is not protected\n    against concurrent access.\n\n  2007-05-04 Simon Goldschmidt (Atte Kojo)\n  * etharp.c: Introduced fast one-entry-cache to speed up ARP lookup when sending\n    multiple packets to the same host.\n\n  2007-05-04 Frdric Bernon, Jonathan Larmour\n  * sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c: Fix bug #19162 \"lwip_sento: a possible\n    to corrupt remote addr/port connection state\". Reduce problems \"not enought memory\" with\n    netbuf (if we receive lot of datagrams). Improve lwip_sendto (only one exchange between\n    sockets api and api_msg which run in tcpip_thread context). Add netconn_sento function.\n    Warning, if you directly access to \"fromaddr\" & \"fromport\" field from netbuf struct,\n    these fields are now renamed \"addr\" & \"port\".\n\n  2007-04-11 Jonathan Larmour\n  * sys.h, api_lib.c: Provide new sys_mbox_tryfetch function. Require ports to provide new\n    sys_arch_mbox_tryfetch function to get a message if one is there, otherwise return\n    with SYS_MBOX_EMPTY. sys_arch_mbox_tryfetch can be implemented as a function-like macro\n    by the port in sys_arch.h if desired.\n\n  2007-04-06 Frdric Bernon, Simon Goldschmidt\n  * opt.h, tcpip.h, tcpip.c, netifapi.h, netifapi.c: New configuration option LWIP_NETIF_API\n    allow to use thread-safe functions to add/remove netif in list, and to start/stop dhcp\n    clients, using new functions from netifapi.h. Disable as default (no port change to do).\n\n  2007-04-05 Frdric Bernon\n  * sockets.c: remplace ENOBUFS errors on alloc_socket by ENFILE to be more BSD compliant.\n\n  2007-04-04 Simon Goldschmidt\n  * arch.h, api_msg.c, dhcp.c, msg_in.c, sockets.c: Introduced #define LWIP_UNUSED_ARG(x)\n    use this for and architecture-independent form to tell the compiler you intentionally\n    are not using this variable. Can be overriden in cc.h.\n\n  2007-03-28 Frdric Bernon\n  * opt.h, netif.h, dhcp.h, dhcp.c: New configuration option LWIP_NETIF_HOSTNAME allow to\n    define a hostname in netif struct (this is just a pointer, so, you can use a hardcoded\n    string, point on one of your's ethernetif field, or alloc a string you will free yourself).\n    It will be used by DHCP to register a client hostname, but can also be use when you call\n    snmp_set_sysname.\n\n  2007-03-28 Frdric Bernon\n  * netif.h, netif.c: A new NETIF_FLAG_ETHARP flag is defined in netif.h, to allow to \n    initialize a network interface's flag with. It tell this interface is an ethernet\n    device, and we can use ARP with it to do a \"gratuitous ARP\" (RFC 3220 \"IP Mobility\n    Support for IPv4\" section 4.6) when interface is \"up\" with netif_set_up().\n\n  2007-03-26 Frdric Bernon, Jonathan Larmour\n  * opt.h, tcpip.c: New configuration option LWIP_ARP allow to disable ARP init at build\n    time if you only use PPP or SLIP. The default is enable. Note we don't have to call \n    etharp_init in your port's initilization sequence if you use tcpip.c, because this call\n    is done in tcpip_init function.\n\n  2007-03-22 Frdric Bernon\n  * stats.h, stats.c, msg_in.c: Stats counters can be change to u32_t if necessary with the\n    new option LWIP_STATS_LARGE. If you need this option, define LWIP_STATS_LARGE to 1 in\n    your lwipopts.h. More, unused counters are not defined in the stats structs, and not \n    display by stats_display(). Note that some options (SYS_STATS and RAW_STATS) are defined\n    but never used. Fix msg_in.c with the correct #if test for a stat display.\n\n  2007-03-21 Kieran Mansley\n  * netif.c, netif.h: Apply patch#4197 with some changes (originator: rireland@hmgsl.com). \n    Provides callback on netif up/down state change.\n\n  2007-03-11 Frdric Bernon, Mace Gael, Steve Reynolds\n  * sockets.h, sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c, igmp.h, igmp.c,\n    ip.c, netif.h, tcpip.c, opt.h:\n    New configuration option LWIP_IGMP to enable IGMP processing. Based on only one \n    filter per all network interfaces. Declare a new function in netif to enable to\n    control the MAC filter (to reduce lwIP traffic processing).\n\n  2007-03-11 Frdric Bernon\n  * tcp.h, tcp.c, sockets.c, tcp_out.c, tcp_in.c, opt.h: Keepalive values can\n    be configured at run time with LWIP_TCP_KEEPALIVE, but don't change this\n    unless you know what you're doing (default are RFC1122 compliant). Note\n    that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set in seconds.\n\n  2007-03-08 Frdric Bernon\n  * tcp.h: Keepalive values can be configured at compile time, but don't change\n    this unless you know what you're doing (default are RFC1122 compliant).\n\n  2007-03-08 Frdric Bernon\n  * sockets.c, api.h, api_lib.c, tcpip.c, sys.h, sys.c, err.c, opt.h:\n    Implement LWIP_SO_RCVTIMEO configuration option to enable/disable SO_RCVTIMEO\n    on UDP sockets/netconn.\n\n  2007-03-08 Simon Goldschmidt\n  * snmp_msg.h, msg_in.c: SNMP UDP ports can be configured at compile time.\n\n  2007-03-06 Frdric Bernon\n  * api.h, api_lib.c, sockets.h, sockets.c, tcpip.c, sys.h, sys.c, err.h: \n    Implement SO_RCVTIMEO on UDP sockets/netconn.\n\n  2007-02-28 Kieran Mansley (based on patch from Simon Goldschmidt)\n  * api_lib.c, tcpip.c, memp.c, memp.h: make API msg structs allocated\n    on the stack and remove the API msg type from memp\n\n  2007-02-26 Jonathan Larmour (based on patch from Simon Goldschmidt)\n  * sockets.h, sockets.c: Move socket initialization to new\n    lwip_socket_init() function.\n    NOTE: this changes the API with ports. Ports will have to be\n    updated to call lwip_socket_init() now.\n\n  2007-02-26 Jonathan Larmour (based on patch from Simon Goldschmidt)\n  * api_lib.c: Use memcpy in netbuf_copy_partial.\n\n\n  ++ Bug fixes:\n\n  2008-03-17 Frdric Bernon, Ed Kerekes\n  * igmp.h, igmp.c: Fix bug #22613 \"IGMP iphdr problem\" (could have\n    some problems to fill the IP header on some targets, use now the\n    ip.h macros to do it).\n\n  2008-03-13 Frdric Bernon\n  * sockets.c: Fix bug #22435 \"lwip_recvfrom with TCP break;\". Using\n    (lwip_)recvfrom with valid \"from\" and \"fromlen\" parameters, on a\n    TCP connection caused a crash. Note that using (lwip_)recvfrom\n    like this is a bit slow and that using (lwip)getpeername is the\n    good lwip way to do it (so, using recv is faster on tcp sockets).\n\n  2008-03-12 Frdric Bernon, Jonathan Larmour\n  * api_msg.c, contrib/apps/ping.c: Fix bug #22530 \"api_msg.c's\n    recv_raw() does not consume data\", and the ping sample (with\n    LWIP_SOCKET=1, the code did the wrong supposition that lwip_recvfrom\n    returned the IP payload, without the IP header).\n\n  2008-03-04 Jonathan Larmour\n  * mem.c, stats.c, mem.h: apply patch #6414 to avoid compiler errors\n  and/or warnings on some systems where mem_size_t and size_t differ.\n  * pbuf.c, ppp.c: Fix warnings on some systems with mem_malloc.\n\n  2008-03-04 Kieran Mansley (contributions by others) \n  * Numerous small compiler error/warning fixes from contributions to\n    mailing list after 1.3.0 release candidate made.\n\n  2008-01-25 Cui hengbin (integrated by Frdric Bernon)\n  * dns.c: Fix bug #22108 \"DNS problem\" caused by unaligned structures.\n\n  2008-01-15 Kieran Mansley\n  * tcp_out.c: BUG20511.  Modify persist timer to start when we are\n    prevented from sending by a small send window, not just a zero\n    send window.\n\n  2008-01-09 Jonathan Larmour\n  * opt.h, ip.c: Rename IP_OPTIONS define to IP_OPTIONS_ALLOWED to avoid\n    conflict with Linux system headers.\n\n  2008-01-06 Jonathan Larmour\n  * dhcp.c: fix bug #19927: \"DHCP NACK problem\" by clearing any existing set IP\n    address entirely on receiving a DHCPNAK, and restarting discovery.\n\n  2007-12-21 Simon Goldschmidt\n  * sys.h, api_lib.c, api_msg.c, sockets.c: fix bug #21698: \"netconn->recv_avail\n    is not protected\" by using new macros for interlocked access to modify/test\n    netconn->recv_avail.\n\n  2007-12-20 Kieran Mansley (based on patch from Oleg Tyshev)\n  * tcp_in.c: fix bug# 21535 (nrtx not reset correctly in SYN_SENT state)\n\n  2007-12-20 Kieran Mansley (based on patch from Per-Henrik Lundbolm)\n  * tcp.c, tcp_in.c, tcp_out.c, tcp.h: fix bug #20199 (better handling\n    of silly window avoidance and prevent lwIP from shrinking the window)\n\n  2007-12-04 Simon Goldschmidt\n  * tcp.c, tcp_in.c: fix bug #21699 (segment leak in ooseq processing when last\n    data packet was lost): add assert that all segment lists are empty in\n    tcp_pcb_remove before setting pcb to CLOSED state; don't directly set CLOSED\n    state from LAST_ACK in tcp_process\n\n  2007-12-02 Simon Goldschmidt\n  * sockets.h: fix bug #21654: exclude definition of struct timeval from #ifndef FD_SET\n    If including <sys/time.h> for system-struct timeval, LWIP_TIMEVAL_PRIVATE now\n    has to be set to 0 in lwipopts.h\n\n  2007-12-02 Simon Goldschmidt\n  * api_msg.c, api_lib.c: fix bug #21656 (recvmbox problem in netconn API): always\n    allocate a recvmbox in netconn_new_with_proto_and_callback. For a tcp-listen\n    netconn, this recvmbox is later freed and a new mbox is allocated for acceptmbox.\n    This is a fix for thread-safety and allocates all items needed for a netconn\n    when the netconn is created.\n\n  2007-11-30 Simon Goldschmidt\n  * udp.c: first attempt to fix bug #21655 (DHCP doesn't work reliably with multiple\n    netifs): if LWIP_DHCP is enabled, UDP packets to DHCP_CLIENT_PORT are passed\n    to netif->dhcp->pcb only (if that exists) and not to any other pcb for the same\n    port (only solution to let UDP pcbs 'bind' to a netif instead of an IP address)\n\n  2007-11-27 Simon Goldschmidt\n  * ip.c: fixed bug #21643 (udp_send/raw_send don't fail if netif is down) by\n    letting ip_route only use netifs that are up.\n\n  2007-11-27 Simon Goldschmidt\n  * err.h, api_lib.c, api_msg.c, sockets.c: Changed error handling: ERR_MEM, ERR_BUF\n    and ERR_RTE are seen as non-fatal, all other errors are fatal. netconns and\n    sockets block most operations once they have seen a fatal error.\n\n  2007-11-27 Simon Goldschmidt\n  * udp.h, udp.c, dhcp.c: Implemented new function udp_sendto_if which takes the\n    netif to send as an argument (to be able to send on netifs that are down).\n\n  2007-11-26 Simon Goldschmidt\n  * tcp_in.c: Fixed bug #21582: pcb->acked accounting can be wrong when ACKs\n    arrive out-of-order\n\n  2007-11-21 Simon Goldschmidt\n  * tcp.h, tcp_out.c, api_msg.c: Fixed bug #20287: tcp_output_nagle sends too early\n    Fixed the nagle algorithm; nagle now also works for all raw API applications\n    and has to be explicitly disabled with 'tcp_pcb->flags |= TF_NODELAY'\n\n  2007-11-12 Frdric Bernon\n  * sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c: Fixed bug #20900. Now, most\n    of the netconn_peer and netconn_addr processing is done inside tcpip_thread\n    context in do_getaddr.\n\n  2007-11-10 Simon Goldschmidt\n  * etharp.c: Fixed bug: assert fired when MEMP_ARP_QUEUE was empty (which can\n    happen any time). Now the packet simply isn't enqueued when out of memory.\n\n  2007-11-01 Simon Goldschmidt\n  * tcp.c, tcp_in.c: Fixed bug #21494: The send mss (pcb->mss) is set to 536 (or\n    TCP_MSS if that is smaller) as long as no MSS option is received from the\n    remote host.\n\n  2007-11-01 Simon Goldschmidt\n  * tcp.h, tcp.c, tcp_in.c: Fixed bug #21491: The MSS option sent (with SYN)\n    is now based on TCP_MSS instead of pcb->mss (on passive open now effectively\n    sending our configured TCP_MSS instead of the one received).\n\n  2007-11-01 Simon Goldschmidt\n  * tcp_in.c: Fixed bug #21181: On active open, the initial congestion window was\n    calculated based on the configured TCP_MSS, not on the MSS option received\n    with SYN+ACK.\n\n  2007-10-09 Simon Goldschmidt\n  * udp.c, inet.c, inet.h: Fixed UDPLite: send: Checksum was always generated too\n    short and also was generated wrong if checksum coverage != tot_len;\n    receive: checksum was calculated wrong if checksum coverage != tot_len\n\n  2007-10-08 Simon Goldschmidt\n  * mem.c: lfree was not updated in mem_realloc!\n\n  2007-10-07 Frdric Bernon\n  * sockets.c, api.h, api_lib.c: First step to fix \"bug #20900 : Potential\n    crash error problem with netconn_peer & netconn_addr\". VERY IMPORTANT:\n    this change cause an API breakage for netconn_addr, since a parameter\n    type change. Any compiler should cause an error without any changes in\n    yours netconn_peer calls (so, it can't be a \"silent change\"). It also\n    reduce a little bit the footprint for socket layer (lwip_getpeername &\n    lwip_getsockname use now a common lwip_getaddrname function since \n    netconn_peer & netconn_addr have the same parameters).\n\n  2007-09-20 Simon Goldschmidt\n  * tcp.c: Fixed bug #21080 (tcp_bind without check pcbs in TIME_WAIT state)\n    by checking  tcp_tw_pcbs also\n\n  2007-09-19 Simon Goldschmidt\n  * icmp.c: Fixed bug #21107 (didn't reset IP TTL in ICMP echo replies)\n\n  2007-09-15 Mike Kleshov\n  * mem.c: Fixed bug #21077 (inaccuracy in calculation of lwip_stat.mem.used)\n\n  2007-09-06 Frdric Bernon\n  * several-files: replace some #include \"arch/cc.h\" by \"lwip/arch.h\", or simply remove\n    it as long as \"lwip/opt.h\" is included before (this one include \"lwip/debug.h\" which\n    already include \"lwip/arch.h\"). Like that, default defines are provided by \"lwip/arch.h\"\n    if they are not defined in cc.h, in the same spirit than \"lwip/opt.h\" for lwipopts.h.\n\n  2007-08-30 Frdric Bernon\n  * igmp.h, igmp.c: Some changes to remove some redundant code, add some traces, \n    and fix some coding style.\n\n  2007-08-28 Frdric Bernon\n  * tcpip.c: Fix TCPIP_MSG_INPKT processing: now, tcpip_input can be used for any\n    kind of packets. These packets are considered like Ethernet packets (payload \n    pointing to ethhdr) if the netif got the NETIF_FLAG_ETHARP flag. Else, packets \n    are considered like IP packets (payload pointing to iphdr).\n\n  2007-08-27 Frdric Bernon\n  * api.h, api_lib.c, api_msg.c: First fix for \"bug #20900 : Potential crash error\n    problem with netconn_peer & netconn_addr\". Introduce NETCONN_LISTEN netconn_state\n    and remove obsolete ones (NETCONN_RECV & NETCONN_ACCEPT).\n\n  2007-08-24 Kieran Mansley\n  * inet.c Modify (acc >> 16) test to ((acc >> 16) != 0) to help buggy\n    compiler (Paradigm C++)\n\n  2007-08-09 Frdric Bernon, Bill Florac\n  * stats.h, stats.c, igmp.h, igmp.c, opt.h: Fix for bug #20503 : IGMP Improvement.\n    Introduce IGMP_STATS to centralize statistics management.\n\n  2007-08-09 Frdric Bernon, Bill Florac\n  * udp.c: Fix for bug #20503 : IGMP Improvement. Enable to receive a multicast\n    packet on a udp pcb binded on an netif's IP address, and not on \"any\".\n\n  2007-08-09 Frdric Bernon, Bill Florac\n  * igmp.h, igmp.c, ip.c: Fix minor changes from bug #20503 : IGMP Improvement.\n    This is mainly on using lookup/lookfor, and some coding styles...\n\n  2007-07-26 Frdric Bernon (and \"thedoctor\")\n  * igmp.c: Fix bug #20595 to accept IGMPv3 \"Query\" messages.\n\n  2007-07-25 Simon Goldschmidt\n  * api_msg.c, tcp.c: Another fix for bug #20021: by not returning an error if\n    tcp_output fails in tcp_close, the code in do_close_internal gets simpler\n    (tcp_output is called again later from tcp timers).\n\n  2007-07-25 Simon Goldschmidt\n  * ip_frag.c: Fixed bug #20429: use the new pbuf_copy_partial instead of the old\n    copy_from_pbuf, which illegally modified the given pbuf.\n\n  2007-07-25 Simon Goldschmidt\n  * tcp_out.c: tcp_enqueue: pcb->snd_queuelen didn't work for chaine PBUF_RAMs:\n    changed snd_queuelen++ to snd_queuelen += pbuf_clen(p).\n\n  2007-07-24 Simon Goldschmidt\n  * api_msg.c, tcp.c: Fix bug #20480: Check the pcb passed to tcp_listen() for the\n    correct state (must be CLOSED).\n\n  2007-07-13 Thomas Taranowski (commited by Jared Grubb)\n  * memp.c: Fix bug #20478: memp_malloc returned NULL+MEMP_SIZE on failed\n    allocation. It now returns NULL.\n\n  2007-07-13 Frdric Bernon\n  * api_msg.c: Fix bug #20318: api_msg \"recv\" callbacks don't call pbuf_free in\n    all error cases.\n\n  2007-07-13 Frdric Bernon\n  * api_msg.c: Fix bug #20315: possible memory leak problem if tcp_listen failed,\n    because current code doesn't follow rawapi.txt documentation.\n\n  2007-07-13 Kieran Mansley\n  * src/core/tcp_in.c Apply patch#5741 from Oleg Tyshev to fix bug in\n    out of sequence processing of received packets\n\n  2007-07-03 Simon Goldschmidt\n  * nearly-all-files: Added assertions where PBUF_RAM pbufs are used and an\n    assumption is made that this pbuf is in one piece (i.e. not chained). These\n    assumptions clash with the possibility of converting to fully pool-based\n    pbuf implementations, where PBUF_RAM pbufs might be chained.\n\n  2007-07-03 Simon Goldschmidt\n  * api.h, api_lib.c, api_msg.c: Final fix for bug #20021 and some other problems\n    when closing tcp netconns: removed conn->sem, less context switches when\n    closing, both netconn_close and netconn_delete should safely close tcp\n    connections.\n\n  2007-07-02 Simon Goldschmidt\n  * ipv4/ip.h, ipv6/ip.h, opt.h, netif.h, etharp.h, ipv4/ip.c, netif.c, raw.c,\n    tcp_out.c, udp.c, etharp.c: Added option LWIP_NETIF_HWADDRHINT (default=off)\n    to cache ARP table indices with each pcb instead of single-entry cache for\n    the complete stack.\n\n  2007-07-02 Simon Goldschmidt\n  * tcp.h, tcp.c, tcp_in.c, tcp_out.c: Added some ASSERTS and casts to prevent\n    warnings when assigning to smaller types.\n\n  2007-06-28 Simon Goldschmidt\n  * tcp_out.c: Added check to prevent tcp_pcb->snd_queuelen from overflowing.\n\n  2007-06-28 Simon Goldschmidt\n  * tcp.h: Fixed bug #20287: Fixed nagle algorithm (sending was done too early if\n    a segment contained chained pbufs)\n\n  2007-06-28 Frdric Bernon\n  * autoip.c: replace most of rand() calls by a macro LWIP_AUTOIP_RAND which compute\n    a \"pseudo-random\" value based on netif's MAC and some autoip fields. It's always\n    possible to define this macro in your own lwipopts.h to always use C library's\n    rand(). Note that autoip_create_rand_addr doesn't use this macro.\n\n  2007-06-28 Frdric Bernon\n  * netifapi.h, netifapi.c, tcpip.h, tcpip.c: Update code to handle the option\n    LWIP_TCPIP_CORE_LOCKING, and do some changes to be coherent with last modifications\n    in api_lib/api_msg (use pointers and not type with table, etc...) \n\n  2007-06-26 Simon Goldschmidt\n  * udp.h: Fixed bug #20259: struct udp_hdr was lacking the packin defines.\n\n  2007-06-25 Simon Goldschmidt\n  * udp.c: Fixed bug #20253: icmp_dest_unreach was called with a wrong p->payload\n    for udp packets with no matching pcb.\n\n  2007-06-25 Simon Goldschmidt\n  * udp.c: Fixed bug #20220: UDP PCB search in udp_input(): a non-local match\n    could get udp input packets if the remote side matched.\n\n  2007-06-13 Simon Goldschmidt\n  * netif.c: Fixed bug #20180 (TCP pcbs listening on IP_ADDR_ANY could get\n    changed in netif_set_ipaddr if previous netif->ip_addr.addr was 0.\n\n  2007-06-13 Simon Goldschmidt\n  * api_msg.c: pcb_new sets conn->err if protocol is not implemented\n    -> netconn_new_..() does not allocate a new connection for unsupported\n    protocols.\n\n  2007-06-13 Frdric Bernon, Simon Goldschmidt\n  * api_lib.c: change return expression in netconn_addr and netconn_peer, because\n    conn->err was reset to ERR_OK without any reasons (and error was lost)...\n\n  2007-06-13 Frdric Bernon, Matthias Weisser\n  * opt.h, mem.h, mem.c, memp.c, pbuf.c, ip_frag.c, vj.c: Fix bug #20162. Rename\n    MEM_ALIGN in LWIP_MEM_ALIGN and MEM_ALIGN_SIZE in LWIP_MEM_ALIGN_SIZE to avoid\n    some macro names collision with some OS macros.\n\n  2007-06-11 Simon Goldschmidt\n  * udp.c: UDP Lite: corrected the use of chksum_len (based on RFC3828: if it's 0,\n    create checksum over the complete packet. On RX, if it's < 8 (and not 0),\n    discard the packet. Also removed the duplicate 'udphdr->chksum = 0' for both\n    UDP & UDP Lite.\n\n  2007-06-11 Srinivas Gollakota & Oleg Tyshev\n  * tcp_out.c: Fix for bug #20075 : \"A problem with keep-alive timer and TCP flags\"\n    where TCP flags wasn't initialized in tcp_keepalive.\n\n  2007-06-03 Simon Goldschmidt\n  * udp.c: udp_input(): Input pbuf was not freed if pcb had no recv function\n    registered, p->payload was modified without modifying p->len if sending\n    icmp_dest_unreach() (had no negative effect but was definitively wrong).\n\n  2007-06-03 Simon Goldschmidt\n  * icmp.c: Corrected bug #19937: For responding to an icmp echo request, icmp\n    re-used the input pbuf even if that didn't have enough space to include the\n    link headers. Now the space is tested and a new pbuf is allocated for the\n    echo response packet if the echo request pbuf isn't big enough.\n\n  2007-06-01 Simon Goldschmidt\n  * sockets.c: Checked in patch #5914: Moved sockopt processing into tcpip_thread.\n\n  2007-05-23 Frdric Bernon\n  * api_lib.c, sockets.c: Fixed bug #5958 for netconn_listen (acceptmbox only\n    allocated by do_listen if success) and netconn_accept errors handling. In\n    most of api_lib functions, we replace some errors checkings like \"if (conn==NULL)\"\n    by ASSERT, except for netconn_delete.\n\n  2007-05-23 Frdric Bernon\n  * api_lib.c: Fixed bug #5957 \"Safe-thread problem inside netconn_recv\" to return\n    an error code if it's impossible to fetch a pbuf on a TCP connection (and not\n    directly close the recvmbox).\n\n  2007-05-22 Simon Goldschmidt\n  * tcp.c: Fixed bug #1895 (tcp_bind not correct) by introducing a list of\n    bound but unconnected (and non-listening) tcp_pcbs.\n\n  2007-05-22 Frdric Bernon\n  * sys.h, sys.c, api_lib.c, tcpip.c: remove sys_mbox_fetch_timeout() (was only\n    used for LWIP_SO_RCVTIMEO option) and use sys_arch_mbox_fetch() instead of\n    sys_mbox_fetch() in api files. Now, users SHOULD NOT use internal lwIP features\n    like \"sys_timeout\" in their application threads.\n\n  2007-05-22 Frdric Bernon\n  * api.h, api_lib.c, api_msg.h, api_msg.c: change the struct api_msg_msg to see\n    which parameters are used by which do_xxx function, and to avoid \"misusing\"\n    parameters (patch #5938).\n\n  2007-05-22 Simon Goldschmidt\n  * api_lib.c, api_msg.c, raw.c, api.h, api_msg.h, raw.h: Included patch #5938:\n    changed raw_pcb.protocol from u16_t to u8_t since for IPv4 and IPv6, proto\n    is only 8 bits wide. This affects the api, as there, the protocol was\n    u16_t, too.\n\n  2007-05-18 Simon Goldschmidt\n  * memp.c: addition to patch #5913: smaller pointer was returned but\n    memp_memory was the same size -> did not save memory.\n\n  2007-05-16 Simon Goldschmidt\n  * loopif.c, slipif.c: Fix bug #19729: free pbuf if netif->input() returns\n    != ERR_OK.\n\n  2007-05-16 Simon Goldschmidt\n  * api_msg.c, udp.c: If a udp_pcb has a local_ip set, check if it is the same\n    as the one of the netif used for sending to prevent sending from old\n    addresses after a netif address gets changed (partly fixes bug #3168).\n\n  2007-05-16 Frdric Bernon\n  * tcpip.c, igmp.h, igmp.c: Fixed bug \"#19800 : IGMP: igmp_tick() will not work\n    with NO_SYS=1\". Note that igmp_init is always in tcpip_thread (and not in \n    tcpip_init) because we have to be sure that network interfaces are already\n    added (mac filter is updated only in igmp_init for the moment).\n\n  2007-05-16 Simon Goldschmidt\n  * mem.c, memp.c: Removed semaphores from memp, changed sys_sem_wait calls\n    into sys_arch_sem_wait calls to prevent timers from running while waiting\n    for the heap. This fixes bug #19167.\n\n  2007-05-13 Simon Goldschmidt\n  * tcp.h, sockets.h, sockets.c: Fixed bug from patch #5865 by moving the defines\n    for socket options (lwip_set/-getsockopt) used with level IPPROTO_TCP from\n    tcp.h to sockets.h.\n\n  2007-05-07 Simon Goldschmidt\n  * mem.c: Another attempt to fix bug #17922.\n\n  2007-05-04 Simon Goldschmidt\n  * pbuf.c, pbuf.h, etharp.c: Further update to ARP queueing: Changed pbuf_copy()\n    implementation so that it can be reused (don't allocate the target\n    pbuf inside pbuf_copy()).\n\n  2007-05-04 Simon Goldschmidt\n  * memp.c: checked in patch #5913: in memp_malloc() we can return memp as mem\n    to save a little RAM (next pointer of memp is not used while not in pool).\n\n  2007-05-03 \"maq\"\n  * sockets.c: Fix ioctl FIONREAD when some data remains from last recv.\n    (patch #3574).\n\n  2007-04-23 Simon Goldschmidt\n  * loopif.c, loopif.h, opt.h, src/netif/FILES: fix bug #2595: \"loopif results\n    in NULL reference for incoming TCP packets\". Loopif has to be configured\n    (using LWIP_LOOPIF_MULTITHREADING) to directly call netif->input()\n    (multithreading environments, e.g. netif->input() = tcpip_input()) or\n    putting packets on a list that is fed to the stack by calling loopif_poll()\n    (single-thread / NO_SYS / polling environment where e.g.\n    netif->input() = ip_input).\n\n  2007-04-17 Jonathan Larmour\n  * pbuf.c: Use s32_t in pbuf_realloc(), as an s16_t can't reliably hold\n    the difference between two u16_t's.\n  * sockets.h: FD_SETSIZE needs to match number of sockets, which is\n    MEMP_NUM_NETCONN in sockets.c right now.\n\n  2007-04-12 Jonathan Larmour\n  * icmp.c: Reset IP header TTL in ICMP ECHO responses (bug #19580).\n\n  2007-04-12 Kieran Mansley\n  * tcp.c, tcp_in.c, tcp_out.c, tcp.h: Modify way the retransmission\n    timer is reset to fix bug#19434, with help from Oleg Tyshev.\n\n  2007-04-11 Simon Goldschmidt\n  * etharp.c, pbuf.c, pbuf.h: 3rd fix for bug #11400 (arp-queuing): More pbufs than\n    previously thought need to be copied (everything but PBUF_ROM!). Cleaned up\n    pbuf.c: removed functions no needed any more (by etharp).\n\n  2007-04-11 Kieran Mansley\n  * inet.c, ip_addr.h, sockets.h, sys.h, tcp.h: Apply patch #5745: Fix\n    \"Constant is long\" warnings with 16bit compilers.  Contributed by\n    avatar@mmlab.cse.yzu.edu.tw\n\n  2007-04-05 Frdric Bernon, Jonathan Larmour\n  * api_msg.c: Fix bug #16830: \"err_tcp() posts to connection mailbox when no pend on\n    the mailbox is active\". Now, the post is only done during a connect, and do_send,\n    do_write and do_join_leave_group don't do anything if a previous error was signaled.\n\n  2007-04-03 Frdric Bernon\n  * ip.c: Don't set the IP_DF (\"Don't fragment\") flag in the IP header in IP output\n    packets. See patch #5834.\n\n  2007-03-30 Frdric Bernon\n  * api_msg.c: add a \"pcb_new\" helper function to avoid redundant code, and to add\n    missing  pcb allocations checking (in do_bind, and for each raw_new). Fix style.\n\n  2007-03-30 Frdric Bernon\n  * most of files: prefix all debug.h define with \"LWIP_\" to avoid any conflict with\n    others environment defines (these were too \"generic\").\n\n  2007-03-28 Frdric Bernon\n  * api.h, api_lib.c, sockets.c: netbuf_ref doesn't check its internal pbuf_alloc call\n    result and can cause a crash. lwip_send now check netbuf_ref result.\n\n  2007-03-28 Simon Goldschmidt\n  * sockets.c Remove \"#include <errno.h>\" from sockets.c to avoid multiple\n    definition of macros (in errno.h and lwip/arch.h) if LWIP_PROVIDE_ERRNO is\n    defined. This is the way it should have been already (looking at\n    doc/sys_arch.txt)\n\n  2007-03-28 Kieran Mansley\n  * opt.h Change default PBUF_POOL_BUFSIZE (again) to accomodate default MSS +\n    IP and TCP headers *and* physical link headers\n\n  2007-03-26 Frdric Bernon (based on patch from Dmitry Potapov)\n  * api_lib.c: patch for netconn_write(), fixes a possible race condition which cause\n    to send some garbage. It is not a definitive solution, but the patch does solve\n    the problem for most cases.\n\n  2007-03-22 Frdric Bernon\n  * api_msg.h, api_msg.c: Remove obsolete API_MSG_ACCEPT and do_accept (never used).\n\n  2007-03-22 Frdric Bernon\n  * api_lib.c: somes resources couldn't be freed if there was errors during\n    netconn_new_with_proto_and_callback.\n\n  2007-03-22 Frdric Bernon\n  * ethernetif.c: update netif->input calls to check return value. In older ports,\n    it's a good idea to upgrade them, even if before, there could be another problem\n    (access to an uninitialized mailbox).\n\n  2007-03-21 Simon Goldschmidt\n  * sockets.c: fixed bug #5067 (essentialy a signed/unsigned warning fixed\n    by casting to unsigned).\n\n  2007-03-21 Frdric Bernon\n  * api_lib.c, api_msg.c, tcpip.c: integrate sys_mbox_fetch(conn->mbox, NULL) calls from\n    api_lib.c to tcpip.c's tcpip_apimsg(). Now, use a local variable and not a\n    dynamic one from memp to send tcpip_msg to tcpip_thread in a synchrone call.\n    Free tcpip_msg from tcpip_apimsg is not done in tcpip_thread. This give a\n    faster and more reliable communication between api_lib and tcpip.\n\n  2007-03-21 Frdric Bernon\n  * opt.h: Add LWIP_NETIF_CALLBACK (to avoid compiler warning) and set it to 0.\n\n  2007-03-21 Frdric Bernon\n  * api_msg.c, igmp.c, igmp.h: Fix C++ style comments\n\n  2007-03-21 Kieran Mansley\n  * opt.h Change default PBUF_POOL_BUFSIZE to accomodate default MSS +\n    IP and TCP headers\n\n  2007-03-21 Kieran Mansley\n  * Fix all uses of pbuf_header to check the return value.  In some\n    cases just assert if it fails as I'm not sure how to fix them, but\n    this is no worse than before when they would carry on regardless\n    of the failure.\n\n  2007-03-21 Kieran Mansley\n  * sockets.c, igmp.c, igmp.h, memp.h: Fix C++ style comments and\n    comment out missing header include in icmp.c\n\n  2007-03-20 Frdric Bernon\n  * memp.h, stats.c: Fix stats_display function where memp_names table wasn't\n    synchronized with memp.h.\n\n  2007-03-20 Frdric Bernon\n  * tcpip.c: Initialize tcpip's mbox, and verify if initialized in tcpip_input,\n    tcpip_ethinput, tcpip_callback, tcpip_apimsg, to fix a init problem with \n    network interfaces. Also fix a compiler warning.\n\n  2007-03-20 Kieran Mansley\n  * udp.c: Only try and use pbuf_header() to make space for headers if\n    not a ROM or REF pbuf.\n\n  2007-03-19 Frdric Bernon\n  * api_msg.h, api_msg.c, tcpip.h, tcpip.c: Add return types to tcpip_apimsg()\n    and api_msg_post().\n\n  2007-03-19 Frdric Bernon\n  * Remove unimplemented \"memp_realloc\" function from memp.h.\n\n  2007-03-11 Simon Goldschmidt\n  * pbuf.c: checked in patch #5796: pbuf_alloc: len field claculation caused\n    memory corruption.\n\n  2007-03-11 Simon Goldschmidt (based on patch from Dmitry Potapov)\n  * api_lib.c, sockets.c, api.h, api_msg.h, sockets.h: Fixed bug #19251\n    (missing `const' qualifier in socket functions), to get more compatible to\n    standard POSIX sockets.\n\n  2007-03-11 Frdric Bernon (based on patch from Dmitry Potapov)\n  * sockets.c: Add asserts inside bind, connect and sendto to check input\n    parameters. Remove excessive set_errno() calls after get_socket(), because\n    errno is set inside of get_socket(). Move last sock_set_errno() inside\n    lwip_close.\n\n  2007-03-09 Simon Goldschmidt\n  * memp.c: Fixed bug #11400: New etharp queueing introduced bug: memp_memory\n    was allocated too small.\n\n  2007-03-06 Simon Goldschmidt\n  * tcpip.c: Initialize dhcp timers in tcpip_thread (if LWIP_DHCP) to protect\n    the stack from concurrent access.\n\n  2007-03-06 Frdric Bernon, Dmitry Potapov\n  * tcpip.c, ip_frag.c, ethernetif.c: Fix some build problems, and a redundancy\n    call to \"lwip_stats.link.recv++;\" in low_level_input() & ethernetif_input().\n\n  2007-03-06 Simon Goldschmidt\n  * ip_frag.c, ip_frag.h: Reduce code size: don't include code in those files\n    if IP_FRAG == 0 and IP_REASSEMBLY == 0\n\n  2007-03-06 Frdric Bernon, Simon Goldschmidt\n  * opt.h, ip_frag.h, tcpip.h, tcpip.c, ethernetif.c: add new configuration\n    option named ETHARP_TCPIP_ETHINPUT, which enable the new tcpip_ethinput.\n    Allow to do ARP processing for incoming packets inside tcpip_thread\n    (protecting ARP layer against concurrent access). You can also disable\n    old code using tcp_input with new define ETHARP_TCPIP_INPUT set to 0.\n    Older ports have to use tcpip_ethinput.\n\n  2007-03-06 Simon Goldschmidt (based on patch from Dmitry Potapov)\n  * err.h, err.c: fixed compiler warning \"initialization dircards qualifiers\n    from pointer target type\"\n\n  2007-03-05 Frdric Bernon\n  * opt.h, sockets.h: add new configuration options (LWIP_POSIX_SOCKETS_IO_NAMES,\n    ETHARP_TRUST_IP_MAC, review SO_REUSE)\n\n  2007-03-04 Frdric Bernon\n  * api_msg.c: Remove some compiler warnings : parameter \"pcb\" was never\n    referenced.\n\n  2007-03-04 Frdric Bernon\n  * api_lib.c: Fix \"[patch #5764] api_lib.c cleanup: after patch #5687\" (from\n    Dmitry Potapov).\n    The api_msg struct stay on the stack (not moved to netconn struct).\n\n  2007-03-04 Simon Goldschmidt (based on patch from Dmitry Potapov)\n  * pbuf.c: Fix BUG#19168 - pbuf_free can cause deadlock (if\n    SYS_LIGHTWEIGHT_PROT=1 & freeing PBUF_RAM when mem_sem is not available)\n    Also fixed cast warning in pbuf_alloc()\n\n  2007-03-04 Simon Goldschmidt\n  * etharp.c, etharp.h, memp.c, memp.h, opt.h: Fix BUG#11400 - don't corrupt\n    existing pbuf chain when enqueuing multiple pbufs to a pending ARP request\n\n  2007-03-03 Frdric Bernon\n  * udp.c: remove obsolete line \"static struct udp_pcb *pcb_cache = NULL;\"\n    It is static, and never used in udp.c except udp_init().\n\n  2007-03-02 Simon Goldschmidt\n  * tcpip.c: Moved call to ip_init(), udp_init() and tcp_init() from\n    tcpip_thread() to tcpip_init(). This way, raw API connections can be\n    initialized before tcpip_thread is running (e.g. before OS is started)\n\n  2007-03-02 Frdric Bernon\n  * rawapi.txt: Fix documentation mismatch with etharp.h about etharp_tmr's call\n    interval.\n\n  2007-02-28 Kieran Mansley \n  * pbuf.c: Fix BUG#17645 - ensure pbuf payload pointer is not moved\n    outside the region of the pbuf by pbuf_header()\n\n  2007-02-28 Kieran Mansley \n  * sockets.c: Fix BUG#19161 - ensure milliseconds timeout is non-zero\n    when supplied timeout is also non-zero \n\n(STABLE-1.2.0)\n\n  2006-12-05 Leon Woestenberg\n  * CHANGELOG: Mention STABLE-1.2.0 release.\n\n  ++ New features:\n\n  2006-12-01 Christiaan Simons\n  * mem.h, opt.h: Added MEM_LIBC_MALLOC option.\n    Note this is a workaround. Currently I have no other options left.\n\n  2006-10-26 Christiaan Simons (accepted patch by Jonathan Larmour)\n  * ipv4/ip_frag.c: rename MAX_MTU to IP_FRAG_MAX_MTU and move define\n    to include/lwip/opt.h.\n  * ipv4/lwip/ip_frag.h: Remove unused IP_REASS_INTERVAL.\n    Move IP_REASS_MAXAGE and IP_REASS_BUFSIZE to include/lwip/opt.h.\n  * opt.h: Add above new options.\n\n  2006-08-18 Christiaan Simons\n  * tcp_{in,out}.c: added SNMP counters.\n  * ipv4/ip.c: added SNMP counters.\n  * ipv4/ip_frag.c: added SNMP counters.\n\n  2006-08-08 Christiaan Simons\n  * etharp.{c,h}: added etharp_find_addr() to read\n    (stable) ethernet/IP address pair from ARP table\n\n  2006-07-14 Christiaan Simons\n  * mib_structs.c: added\n  * include/lwip/snmp_structs.h: added\n  * netif.{c,h}, netif/ethernetif.c: added SNMP statistics to netif struct\n\n  2006-07-06 Christiaan Simons\n  * snmp/asn1_{enc,dec}.c added\n  * snmp/mib2.c added\n  * snmp/msg_{in,out}.c added\n  * include/lwip/snmp_asn1.h added\n  * include/lwip/snmp_msg.h added\n  * doc/snmp_agent.txt added\n\n  2006-03-29 Christiaan Simons\n  * inet.c, inet.h: Added platform byteswap support.\n    Added LWIP_PLATFORM_BYTESWAP define (defaults to 0) and\n    optional LWIP_PLATFORM_HTONS(), LWIP_PLATFORM_HTONL() macros.\n\n  ++ Bug fixes:\n\n  2006-11-30 Christiaan Simons\n  * dhcp.c: Fixed false triggers of request_timeout.\n\n  2006-11-28 Christiaan Simons\n  * netif.c: In netif_add() fixed missing clear of ip_addr, netmask, gw and flags.\n\n  2006-10-11 Christiaan Simons\n  * api_lib.c etharp.c, ip.c, memp.c, stats.c, sys.{c,h} tcp.h:\n    Partially accepted patch #5449 for ANSI C compatibility / build fixes.\n  * ipv4/lwip/ip.h ipv6/lwip/ip.h: Corrected UDP-Lite protocol\n    identifier from 170 to 136 (bug #17574).\n\n  2006-10-10 Christiaan Simons\n  * api_msg.c: Fixed Nagle algorithm as reported by Bob Grice.\n\n  2006-08-17 Christiaan Simons\n  * udp.c: Fixed bug #17200, added check for broadcast\n    destinations for PCBs bound to a unicast address.\n\n  2006-08-07 Christiaan Simons\n  * api_msg.c: Flushing TCP output in do_close() (bug #15926).\n\n  2006-06-27 Christiaan Simons\n  * api_msg.c: Applied patch for cold case (bug #11135).\n    In accept_function() ensure newconn->callback is always initialized.\n\n  2006-06-15 Christiaan Simons\n  * mem.h: added MEM_SIZE_F alias to fix an ancient cold case (bug #1748),\n    facilitate printing of mem_size_t and u16_t statistics.\n\n  2006-06-14 Christiaan Simons\n  * api_msg.c: Applied patch #5146 to handle allocation failures\n    in accept() by Kevin Lawson.\n\n  2006-05-26 Christiaan Simons\n  * api_lib.c: Removed conn->sem creation and destruction \n    from netconn_write() and added sys_sem_new to netconn_new_*.\n\n(STABLE-1_1_1)\n\n  2006-03-03  Christiaan Simons\n  * ipv4/ip_frag.c: Added bound-checking assertions on ip_reassbitmap\n    access and added pbuf_alloc() return value checks.\n\n  2006-01-01  Leon Woestenberg <leon.woestenberg@gmx.net>\n  * tcp_{in,out}.c, tcp_out.c: Removed 'even sndbuf' fix in TCP, which is\n    now handled by the checksum routine properly.\n\n  2006-02-27  Leon Woestenberg <leon.woestenberg@gmx.net>\n   * pbuf.c: Fix alignment; pbuf_init() would not work unless\n     pbuf_pool_memory[] was properly aligned. (Patch by Curt McDowell.)\n\n  2005-12-20  Leon Woestenberg <leon.woestenberg@gmx.net>\n  * tcp.c: Remove PCBs which stay in LAST_ACK state too long. Patch\n    submitted by Mitrani Hiroshi.\n\n  2005-12-15  Christiaan Simons\n  * inet.c: Disabled the added summing routine to preserve code space.\n\n  2005-12-14  Leon Woestenberg <leon.woestenberg@gmx.net>\n  * tcp_in.c: Duplicate FIN ACK race condition fix by Kelvin Lawson.\n    Added Curt McDowell's optimized checksumming routine for future\n    inclusion. Need to create test case for unaliged, aligned, odd,\n    even length combination of cases on various endianess machines.\n\n  2005-12-09  Christiaan Simons\n  * inet.c: Rewrote standard checksum routine in proper portable C.\n\n  2005-11-25  Christiaan Simons\n  * udp.c tcp.c: Removed SO_REUSE hack. Should reside in socket code only.\n  * *.c: introduced cc.h LWIP_DEBUG formatters matching the u16_t, s16_t,\n    u32_t, s32_t typedefs. This solves most debug word-length assumes.\n\n  2005-07-17 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * inet.c: Fixed unaligned 16-bit access in the standard checksum\n    routine by Peter Jolasson.\n  * slipif.c: Fixed implementation assumption of single-pbuf datagrams.\n\n  2005-02-04 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * tcp_out.c: Fixed uninitialized 'queue' referenced in memerr branch.\n  * tcp_{out|in}.c: Applied patch fixing unaligned access.\n\n  2005-01-04 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * pbuf.c: Fixed missing semicolon after LWIP_DEBUG statement.\n\n  2005-01-03 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * udp.c: UDP pcb->recv() was called even when it was NULL.\n\n(STABLE-1_1_0)\n\n  2004-12-28 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * etharp.*: Disabled multiple packets on the ARP queue.\n    This clashes with TCP queueing.\n\n  2004-11-28 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * etharp.*: Fixed race condition from ARP request to ARP timeout.\n    Halved the ARP period, doubled the period counts.\n    ETHARP_MAX_PENDING now should be at least 2. This prevents\n    the counter from reaching 0 right away (which would allow\n    too little time for ARP responses to be received).\n\n  2004-11-25 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * dhcp.c: Decline messages were not multicast but unicast.\n  * etharp.c: ETHARP_CREATE is renamed to ETHARP_TRY_HARD.\n    Do not try hard to insert arbitrary packet's source address,\n    etharp_ip_input() now calls etharp_update() without ETHARP_TRY_HARD. \n    etharp_query() now always DOES call ETHARP_TRY_HARD so that users\n    querying an address will see it appear in the cache (DHCP could\n    suffer from this when a server invalidly gave an in-use address.)\n  * ipv4/ip_addr.h: Renamed ip_addr_maskcmp() to _netcmp() as we are\n    comparing network addresses (identifiers), not the network masks\n    themselves.\n  * ipv4/ip_addr.c: ip_addr_isbroadcast() now checks that the given\n    IP address actually belongs to the network of the given interface.\n\n  2004-11-24 Kieran Mansley <kjm25@cam.ac.uk>\n  * tcp.c: Increment pcb->snd_buf when ACK is received in SYN_SENT state.\n\n(STABLE-1_1_0-RC1)\n\n  2004-10-16 Kieran Mansley <kjm25@cam.ac.uk>\n  * tcp.c: Add code to tcp_recved() to send an ACK (window update) immediately,\n    even if one is already pending, if the rcv_wnd is above a threshold\n    (currently TCP_WND/2). This avoids waiting for a timer to expire to send a\n    delayed ACK in order to open the window if the stack is only receiving data.\n\n  2004-09-12 Kieran Mansley <kjm25@cam.ac.uk>\n  * tcp*.*: Retransmit time-out handling improvement by Sam Jansen.\n\n  2004-08-20 Tony Mountifield <tony@softins.co.uk>\n  * etharp.c: Make sure the first pbuf queued on an ARP entry\n    is properly ref counted.\n\n  2004-07-27 Tony Mountifield <tony@softins.co.uk>\n  * debug.h: Added (int) cast in LWIP_DEBUGF() to avoid compiler\n    warnings about comparison.\n  * pbuf.c: Stopped compiler complaining of empty if statement\n    when LWIP_DEBUGF() empty.  Closed an unclosed comment.\n  * tcp.c: Stopped compiler complaining of empty if statement\n    when LWIP_DEBUGF() empty.\n  * ip.h Corrected IPH_TOS() macro: returns a byte, so doesn't need htons().\n  * inet.c: Added a couple of casts to quiet the compiler.\n    No need to test isascii(c) before isdigit(c) or isxdigit(c).\n\n  2004-07-22 Tony Mountifield <tony@softins.co.uk>\n  * inet.c: Made data types consistent in inet_ntoa().\n    Added casts for return values of checksum routines, to pacify compiler.\n  * ip_frag.c, tcp_out.c, sockets.c, pbuf.c\n    Small corrections to some debugging statements, to pacify compiler.\n\n  2004-07-21 Tony Mountifield <tony@softins.co.uk>\n  * etharp.c: Removed spurious semicolon and added missing end-of-comment.\n  * ethernetif.c Updated low_level_output() to match prototype for\n    netif->linkoutput and changed low_level_input() similarly for consistency.\n  * api_msg.c: Changed recv_raw() from int to u8_t, to match prototype\n    of raw_recv() in raw.h and so avoid compiler error.\n  * sockets.c: Added trivial (int) cast to keep compiler happier.\n  * ip.c, netif.c Changed debug statements to use the tidier ip4_addrN() macros.\n\n(STABLE-1_0_0)\n\n  ++ Changes:\n\n  2004-07-05 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * sockets.*: Restructured LWIP_PRIVATE_TIMEVAL. Make sure\n    your cc.h file defines this either 1 or 0. If non-defined,\n    defaults to 1.\n  * .c: Added <string.h> and <errno.h> includes where used.\n  * etharp.c: Made some array indices unsigned.\n\n  2004-06-27 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * netif.*: Added netif_set_up()/down().\n  * dhcp.c: Changes to restart program flow.\n\n  2004-05-07 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * etharp.c: In find_entry(), instead of a list traversal per candidate, do a\n    single-pass lookup for different candidates. Should exploit locality.\n\n  2004-04-29 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * tcp*.c: Cleaned up source comment documentation for Doxygen processing.\n  * opt.h: ETHARP_ALWAYS_INSERT option removed to comply with ARP RFC.\n  * etharp.c: update_arp_entry() only adds new ARP entries when adviced to by\n    the caller. This deprecates the ETHARP_ALWAYS_INSERT overrule option.\n\n  ++ Bug fixes:\n\n  2004-04-27 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * etharp.c: Applied patch of bug #8708 by Toni Mountifield with a solution\n    suggested by Timmy Brolin. Fix for 32-bit processors that cannot access\n    non-aligned 32-bit words, such as soms 32-bit TCP/IP header fields. Fix\n    is to prefix the 14-bit Ethernet headers with two padding bytes.\n\n  2004-04-23 Leon Woestenberg <leon.woestenberg@gmx.net>\n  * ip_addr.c: Fix in the ip_addr_isbroadcast() check.\n  * etharp.c: Fixed the case where the packet that initiates the ARP request\n    is not queued, and gets lost. Fixed the case where the packets destination\n    address is already known; we now always queue the packet and perform an ARP\n    request.\n\n(STABLE-0_7_0)\n\n  ++ Bug fixes:\n\n  * Fixed TCP bug for SYN_SENT to ESTABLISHED state transition.\n  * Fixed TCP bug in dequeueing of FIN from out of order segment queue.\n  * Fixed two possible NULL references in rare cases.\n\n(STABLE-0_6_6)\n\n  ++ Bug fixes:\n\n  * Fixed DHCP which did not include the IP address in DECLINE messages.\n\n  ++ Changes:\n\n  * etharp.c has been hauled over a bit.\n\n(STABLE-0_6_5)\n\n  ++ Bug fixes:\n\n  * Fixed TCP bug induced by bad window resizing with unidirectional TCP traffic.\n  * Packets sent from ARP queue had invalid source hardware address.\n\n  ++ Changes:\n\n  * Pass-by ARP requests do now update the cache.\n\n  ++ New features:\n\n  * No longer dependent on ctype.h.\n  * New socket options.\n  * Raw IP pcb support.\n\n(STABLE-0_6_4)\n\n  ++ Bug fixes:\n\n  * Some debug formatters and casts fixed.\n  * Numereous fixes in PPP.\n\n  ++ Changes:\n\n  * DEBUGF now is LWIP_DEBUGF\n  * pbuf_dechain() has been re-enabled.\n  * Mentioned the changed use of CVS branches in README.\n\n(STABLE-0_6_3)\n\n  ++ Bug fixes:\n\n  * Fixed pool pbuf memory leak in pbuf_alloc().\n    Occured if not enough PBUF_POOL pbufs for a packet pbuf chain.\n    Reported by Savin Zlobec.\n\n  * PBUF_POOL chains had their tot_len field not set for non-first\n    pbufs. Fixed in pbuf_alloc().\n\n  ++ New features:\n\n  * Added PPP stack contributed by Marc Boucher\n\n  ++ Changes:\n\n  * Now drops short packets for ICMP/UDP/TCP protocols. More robust.\n\n  * ARP queueuing now queues the latest packet instead of the first.\n    This is the RFC recommended behaviour, but can be overridden in\n    lwipopts.h.\n\n(0.6.2)\n\n  ++ Bugfixes:\n\n  * TCP has been fixed to deal with the new use of the pbuf->ref\n    counter.\n\n  * DHCP dhcp_inform() crash bug fixed.\n\n  ++ Changes:\n\n  * Removed pbuf_pool_free_cache and pbuf_pool_alloc_cache. Also removed\n    pbuf_refresh(). This has sped up pbuf pool operations considerably.\n    Implemented by David Haas.\n\n(0.6.1)\n\n  ++ New features:\n\n  * The packet buffer implementation has been enhanced to support\n    zero-copy and copy-on-demand for packet buffers which have their\n    payloads in application-managed memory.\n    Implemented by David Haas.\n\n    Use PBUF_REF to make a pbuf refer to RAM. lwIP will use zero-copy\n    if an outgoing packet can be directly sent on the link, or perform\n    a copy-on-demand when necessary.\n\n    The application can safely assume the packet is sent, and the RAM\n    is available to the application directly after calling udp_send()\n    or similar function.\n\n  ++ Bugfixes:\n\n  * ARP_QUEUEING should now correctly work for all cases, including\n    PBUF_REF.\n    Implemented by Leon Woestenberg.\n\n  ++ Changes:\n\n  * IP_ADDR_ANY is no longer a NULL pointer. Instead, it is a pointer\n    to a '0.0.0.0' IP address.\n\n  * The packet buffer implementation is changed. The pbuf->ref counter\n    meaning has changed, and several pbuf functions have been\n    adapted accordingly.\n\n  * netif drivers have to be changed to set the hardware address length field\n    that must be initialized correctly by the driver (hint: 6 for Ethernet MAC).\n    See the contrib/ports/c16x cs8900 driver as a driver example.\n\n  * netif's have a dhcp field that must be initialized to NULL by the driver.\n    See the contrib/ports/c16x cs8900 driver as a driver example.\n\n(0.5.x) This file has been unmaintained up to 0.6.1. All changes are\n  logged in CVS but have not been explained here.\n\n(0.5.3) Changes since version 0.5.2\n\n  ++ Bugfixes:\n\n  * memp_malloc(MEMP_API_MSG) could fail with multiple application\n    threads because it wasn't protected by semaphores.\n\n  ++ Other changes:\n\n  * struct ip_addr now packed.\n\n  * The name of the time variable in arp.c has been changed to ctime\n    to avoid conflicts with the time() function.\n\n(0.5.2) Changes since version 0.5.1\n\n  ++ New features:\n\n  * A new TCP function, tcp_tmr(), now handles both TCP timers.\n\n  ++ Bugfixes:\n\n  * A bug in tcp_parseopt() could cause the stack to hang because of a\n    malformed TCP option.\n\n  * The address of new connections in the accept() function in the BSD\n    socket library was not handled correctly.\n\n  * pbuf_dechain() did not update the ->tot_len field of the tail.\n\n  * Aborted TCP connections were not handled correctly in all\n    situations.\n\n  ++ Other changes:\n\n  * All protocol header structs are now packed.\n\n  * The ->len field in the tcp_seg structure now counts the actual\n    amount of data, and does not add one for SYN and FIN segments.\n\n(0.5.1) Changes since version 0.5.0\n\n  ++ New features:\n\n  * Possible to run as a user process under Linux.\n\n  * Preliminary support for cross platform packed structs.\n\n  * ARP timer now implemented.\n\n  ++ Bugfixes:\n\n  * TCP output queue length was badly initialized when opening\n    connections.\n\n  * TCP delayed ACKs were not sent correctly.\n\n  * Explicit initialization of BSS segment variables.\n\n  * read() in BSD socket library could drop data.\n\n  * Problems with memory alignment.\n\n  * Situations when all TCP buffers were used could lead to\n    starvation.\n\n  * TCP MSS option wasn't parsed correctly.\n\n  * Problems with UDP checksum calculation.\n\n  * IP multicast address tests had endianess problems.\n\n  * ARP requests had wrong destination hardware address.\n\n  ++ Other changes:\n\n  * struct eth_addr changed from u16_t[3] array to u8_t[6].\n\n  * A ->linkoutput() member was added to struct netif.\n\n  * TCP and UDP ->dest_* struct members where changed to ->remote_*.\n\n  * ntoh* macros are now null definitions for big endian CPUs.\n\n(0.5.0) Changes since version 0.4.2\n\n  ++ New features:\n\n  * Redesigned operating system emulation layer to make porting easier.\n\n  * Better control over TCP output buffers.\n\n  * Documenation added.\n\n  ++ Bugfixes:\n\n  * Locking issues in buffer management.\n\n  * Bugfixes in the sequential API.\n\n  * IP forwarding could cause memory leakage. This has been fixed.\n\n  ++ Other changes:\n\n  * Directory structure somewhat changed; the core/ tree has been\n    collapsed.\n\n(0.4.2) Changes since version 0.4.1\n\n  ++ New features:\n\n  * Experimental ARP implementation added.\n\n  * Skeleton Ethernet driver added.\n\n  * Experimental BSD socket API library added.\n\n  ++ Bugfixes:\n\n  * In very intense situations, memory leakage could occur. This has\n    been fixed.\n\n  ++ Other changes:\n\n  * Variables named \"data\" and \"code\" have been renamed in order to\n    avoid name conflicts in certain compilers.\n\n  * Variable++ have in appliciable cases been translated to ++variable\n    since some compilers generate better code in the latter case.\n\n(0.4.1) Changes since version 0.4\n\n  ++ New features:\n\n  * TCP: Connection attempts time out earlier than data\n    transmissions. Nagle algorithm implemented. Push flag set on the\n    last segment in a burst.\n\n  * UDP: experimental support for UDP-Lite extensions.\n\n  ++ Bugfixes:\n\n  * TCP: out of order segments were in some cases handled incorrectly,\n    and this has now been fixed. Delayed acknowledgements was broken\n    in 0.4, has now been fixed. Binding to an address that is in use\n    now results in an error. Reset connections sometimes hung an\n    application; this has been fixed.\n\n  * Checksum calculation sometimes failed for chained pbufs with odd\n    lengths. This has been fixed.\n\n  * API: a lot of bug fixes in the API. The UDP API has been improved\n    and tested. Error reporting and handling has been\n    improved. Logical flaws and race conditions for incoming TCP\n    connections has been found and removed.\n\n  * Memory manager: alignment issues. Reallocating memory sometimes\n    failed, this has been fixed.\n\n  * Generic library: bcopy was flawed and has been fixed.\n\n  ++ Other changes:\n\n  * API: all datatypes has been changed from generic ones such as\n    ints, to specified ones such as u16_t. Functions that return\n    errors now have the correct type (err_t).\n\n  * General: A lot of code cleaned up and debugging code removed. Many\n    portability issues have been fixed.\n\n  * The license was changed; the advertising clause was removed.\n\n  * C64 port added.\n\n  * Thanks: Huge thanks go to Dagan Galarneau, Horst Garnetzke, Petri\n    Kosunen, Mikael Caleres, and Frits Wilmink for reporting and\n    fixing bugs!\n\n(0.4) Changes since version 0.3.1\n\n  * Memory management has been radically changed; instead of\n    allocating memory from a shared heap, memory for objects that are\n    rapidly allocated and deallocated is now kept in pools. Allocation\n    and deallocation from those memory pools is very fast. The shared\n    heap is still present but is used less frequently.\n\n  * The memory, memory pool, and packet buffer subsystems now support\n    4-, 2-, or 1-byte alignment.\n\n  * \"Out of memory\" situations are handled in a more robust way.\n\n  * Stack usage has been reduced.\n\n  * Easier configuration of lwIP parameters such as memory usage,\n    TTLs, statistics gathering, etc. All configuration parameters are\n    now kept in a single header file \"lwipopts.h\".\n\n  * The directory structure has been changed slightly so that all\n    architecture specific files are kept under the src/arch\n    hierarchy.\n\n  * Error propagation has been improved, both in the protocol modules\n    and in the API.\n\n  * The code for the RTXC architecture has been implemented, tested\n    and put to use.\n\n  * Bugs have been found and corrected in the TCP, UDP, IP, API, and\n    the Internet checksum modules.\n\n  * Bugs related to porting between a 32-bit and a 16-bit architecture\n    have been found and corrected.\n\n  * The license has been changed slightly to conform more with the\n    original BSD license, including the advertisement clause.\n\n(0.3.1) Changes since version 0.3\n\n  * Fix of a fatal bug in the buffer management. Pbufs with allocated\n    RAM never returned the RAM when the pbuf was deallocated.\n\n  * TCP congestion control, window updates and retransmissions did not\n    work correctly. This has now been fixed.\n\n  * Bugfixes in the API.\n\n(0.3) Changes since version 0.2\n\n  * New and improved directory structure. All include files are now\n    kept in a dedicated include/ directory.\n\n  * The API now has proper error handling. A new function,\n    netconn_err(), now returns an error code for the connection in\n    case of errors.\n\n  * Improvements in the memory management subsystem. The system now\n    keeps a pointer to the lowest free memory block. A new function,\n    mem_malloc2() tries to allocate memory once, and if it fails tries\n    to free some memory and retry the allocation.\n\n  * Much testing has been done with limited memory\n    configurations. lwIP now does a better job when overloaded.\n\n  * Some bugfixes and improvements to the buffer (pbuf) subsystem.\n\n  * Many bugfixes in the TCP code:\n\n    - Fixed a bug in tcp_close().\n\n    - The TCP receive window was incorrectly closed when out of\n      sequence segments was received. This has been fixed.\n\n    - Connections are now timed-out of the FIN-WAIT-2 state.\n\n    - The initial congestion window could in some cases be too\n      large. This has been fixed.\n\n    - The retransmission queue could in some cases be screwed up. This\n      has been fixed.\n\n    - TCP RST flag now handled correctly.\n\n    - Out of sequence data was in some cases never delivered to the\n      application. This has been fixed.\n\n    - Retransmitted segments now contain the correct acknowledgment\n      number and advertised window.\n\n    - TCP retransmission timeout backoffs are not correctly computed\n      (ala BSD). After a number of retransmissions, TCP now gives up\n      the connection.\n\n  * TCP connections now are kept on three lists, one for active\n    connections, one for listening connections, and one for\n    connections that are in TIME-WAIT. This greatly speeds up the fast\n    timeout processing for sending delayed ACKs.\n\n  * TCP now provides proper feedback to the application when a\n    connection has been successfully set up.\n\n  * More comments have been added to the code. The code has also been\n    somewhat cleaned up.\n\n(0.2) Initial public release.\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/COPYING",
    "content": "/*\n * Copyright (c) 2001, 2002 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/FILES",
    "content": "src/      - The source code for the lwIP TCP/IP stack.\ndoc/      - The documentation for lwIP.\n\nSee also the FILES file in each subdirectory.\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/README",
    "content": "INTRODUCTION\n\nlwIP is a small independent implementation of the TCP/IP protocol\nsuite that has been developed by Adam Dunkels at the Computer and\nNetworks Architectures (CNA) lab at the Swedish Institute of Computer\nScience (SICS).\n\nThe focus of the lwIP TCP/IP implementation is to reduce the RAM usage\nwhile still having a full scale TCP. This making lwIP suitable for use\nin embedded systems with tens of kilobytes of free RAM and room for\naround 40 kilobytes of code ROM.\n\nFEATURES\n\n  * IP (Internet Protocol) including packet forwarding over multiple network\n    interfaces\n  * ICMP (Internet Control Message Protocol) for network maintenance and debugging\n  * IGMP (Internet Group Management Protocol) for multicast traffic management\n  * UDP (User Datagram Protocol) including experimental UDP-lite extensions\n  * TCP (Transmission Control Protocol) with congestion control, RTT estimation\n    and fast recovery/fast retransmit\n  * Specialized raw/native API for enhanced performance\n  * Optional Berkeley-like socket API\n  * DNS (Domain names resolver)\n  * SNMP (Simple Network Management Protocol)\n  * DHCP (Dynamic Host Configuration Protocol)\n  * AUTOIP (for IPv4, conform with RFC 3927)\n  * PPP (Point-to-Point Protocol)\n  * ARP (Address Resolution Protocol) for Ethernet\n\nLICENSE\n\nlwIP is freely available under a BSD license.\n\nDEVELOPMENT\n\nlwIP has grown into an excellent TCP/IP stack for embedded devices,\nand developers using the stack often submit bug fixes, improvements,\nand additions to the stack to further increase its usefulness.\n\nDevelopment of lwIP is hosted on Savannah, a central point for\nsoftware development, maintenance and distribution. Everyone can\nhelp improve lwIP by use of Savannah's interface, CVS and the\nmailing list. A core team of developers will commit changes to the\nCVS source tree.\n\nThe lwIP TCP/IP stack is maintained in the 'lwip' CVS module and\ncontributions (such as platform ports) are in the 'contrib' module.\n\nSee doc/savannah.txt for details on CVS server access for users and\ndevelopers.\n\nLast night's CVS tar ball can be downloaded from:\n  http://savannah.gnu.org/cvs.backups/lwip.tar.gz [CHANGED - NEEDS FIXING]\n\nThe current CVS trees are web-browsable:\n  http://savannah.nongnu.org/cgi-bin/viewcvs/lwip/lwip/\n  http://savannah.nongnu.org/cgi-bin/viewcvs/lwip/contrib/\n\nSubmit patches and bugs via the lwIP project page:\n  http://savannah.nongnu.org/projects/lwip/\n\n\nDOCUMENTATION\n\nThe original out-dated homepage of lwIP and Adam Dunkels' papers on\nlwIP are at the official lwIP home page:\n  http://www.sics.se/~adam/lwip/\n\nSelf documentation of the source code is regularly extracted from the\ncurrent CVS sources and is available from this web page:\n  http://www.nongnu.org/lwip/\n\nThere is now a constantly growin wiki about lwIP at\n  http://lwip.wikia.com/wiki/LwIP_Wiki\n\nAlso, there are mailing lists you can subscribe at\n  http://savannah.nongnu.org/mail/?group=lwip\nplus searchable archives:\n  http://lists.nongnu.org/archive/html/lwip-users/\n  http://lists.nongnu.org/archive/html/lwip-devel/\n\nReading Adam's papers, the files in docs/, browsing the source code\ndocumentation and browsing the mailing list archives is a good way to\nbecome familiar with the design of lwIP.\n\nAdam Dunkels <adam@sics.se>\nLeon Woestenberg <leon.woestenberg@gmx.net>\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/UPGRADING",
    "content": "This file lists major changes between release versions that require\nports or applications to be changed. Use it to update a port or an\napplication written for an older version of lwIP to correctly work\nwith newer versions.\n\n\n(CVS HEAD)\n\n  * [Enter new changes just after this line - do not remove this line]\n\n  ++ Application changes:\n\n  * Replaced struct ip_addr by typedef ip_addr_t (struct ip_addr is kept for\n    compatibility to old applications, but will be removed in the future).\n\n  * Renamed mem_realloc() to mem_trim() to prevent confusion with realloc()\n\n  +++ Raw API:\n    * Changed the semantics of tcp_close() (since it was rather a\n      shutdown before): Now the application does *NOT* get any calls to the recv\n      callback (aside from NULL/closed) after calling tcp_close()\n\n    * When calling tcp_abort() from a raw API TCP callback function,\n      make sure you return ERR_ABRT to prevent accessing unallocated memory.\n      (ERR_ABRT now means the applicaiton has called tcp_abort!)\n\n  +++ Netconn API:\n    * Changed netconn_receive() and netconn_accept() to return\n      err_t, not a pointer to new data/netconn.\n\n  +++ Socket API:\n    * LWIP_SO_RCVTIMEO: when accept() or recv() time out, they\n      now set errno to EWOULDBLOCK/EAGAIN, not ETIMEDOUT.\n\n    * Added a minimal version of posix fctl() to have a\n      standardised way to set O_NONBLOCK for nonblocking sockets.\n\n  +++ all APIs:\n    * correctly implemented SO(F)_REUSEADDR\n\n  ++ Port changes\n\n  +++ new files:\n\n    * Added 4 new files: def.c, timers.c, timers.h, tcp_impl.h:\n\n    * Moved stack-internal parts of tcp.h to tcp_impl.h, tcp.h now only contains\n      the actual application programmer's API\n  \n    * Separated timer implementation from sys.h/.c, moved to timers.h/.c;\n      Added timer implementation for NO_SYS==1, set NO_SYS_NO_TIMERS==1 if you\n      still want to use your own timer implementation for NO_SYS==0 (as before).\n\n  +++ sys layer:\n\n    * Converted mbox- and semaphore-functions to take pointers to sys_mbox_t/\n      sys_sem_t;\n\n    * Converted sys_mbox_new/sys_sem_new to take pointers and return err_t;\n\n    * Added Mutex concept in sys_arch (define LWIP_COMPAT_MUTEX to let sys.h use\n      binary semaphores instead of mutexes - as before)\n\n  +++ new options:\n\n     * Don't waste memory when chaining segments, added option TCP_OVERSIZE to\n       prevent creating many small pbufs when calling tcp_write with many small\n       blocks of data. Instead, pbufs are allocated larger than needed and the\n       space is used for later calls to tcp_write.\n\n     * Added LWIP_NETIF_TX_SINGLE_PBUF to always copy to try to create single pbufs\n       in tcp_write/udp_send.\n\n    * Added an additional option LWIP_ETHERNET to support ethernet without ARP\n      (necessary for pure PPPoE)\n\n    * Add MEMP_SEPARATE_POOLS to place memory pools in separate arrays. This may\n      be used to place these pools into user-defined memory by using external\n      declaration.\n\n    * Added TCP_SNDQUEUELOWAT corresponding to TCP_SNDLOWAT\n\n  +++ new pools:\n\n     * Netdb uses a memp pool for allocating memory when getaddrinfo() is called,\n       so MEMP_NUM_NETDB has to be set accordingly.\n\n     * DNS_LOCAL_HOSTLIST_IS_DYNAMIC uses a memp pool instead of the heap, so\n       MEMP_NUM_LOCALHOSTLIST has to be set accordingly.\n\n     * Snmp-agent uses a memp pools instead of the heap, so MEMP_NUM_SNMP_* have\n       to be set accordingly.\n\n     * PPPoE uses a MEMP pool instead of the heap, so MEMP_NUM_PPPOE_INTERFACES\n       has to be set accordingly\n\n  * Integrated loopif into netif.c - loopif does not have to be created by the\n    port any more, just define LWIP_HAVE_LOOPIF to 1.\n\n  * Added define LWIP_RAND() for lwip-wide randomization (needs to be defined\n    in cc.h, e.g. used by igmp)\n\n  * Added printf-formatter X8_F to printf u8_t as hex\n\n  * The heap now may be moved to user-defined memory by defining\n    LWIP_RAM_HEAP_POINTER as a void pointer to that memory's address\n\n  * added autoip_set_struct() and dhcp_set_struct() to let autoip and dhcp work\n    with user-allocated structs instead of calling mem_malloc\n\n  * Added const char* name to mem- and memp-stats for easier debugging.\n\n  * Calculate the TCP/UDP checksum while copying to only fetch data once:\n    Define LWIP_CHKSUM_COPY to a memcpy-like function that returns the checksum\n\n  * Added SO_REUSE_RXTOALL to pass received UDP broadcast/multicast packets to\n    more than one pcb.\n\n  * Changed the semantics of ARP_QUEUEING==0: ARP_QUEUEING now cannot be turned\n    off any more, if this is set to 0, only one packet (the most recent one) is\n    queued (like demanded by RFC 1122).\n\n  \n  ++ Major bugfixes/improvements\n\n  * Implemented tcp_shutdown() to only shut down one end of a connection\n  * Implemented shutdown() at socket- and netconn-level\n  * Added errorset support to select() + improved select speed overhead\n  * Merged pppd to v2.3.11 (including some backported bugfixes from 2.4.x)\n  * Added timer implementation for NO_SYS==1 (may be disabled with NO_SYS_NO_TIMERS==1\n  * Use macros defined in ip_addr.h to work with IP addresses\n  * Implemented many nonblocking socket/netconn functions\n  * Fixed ARP input processing: only add a new entry if a request was directed as us\n  * mem_realloc() to mem_trim() to prevent confusion with realloc()\n  * Some improvements for AutoIP (don't route/forward link-local addresses, don't break\n    existing connections when assigning a routable address)\n  * Correctly handle remote side overrunning our rcv_wnd in ooseq case\n  * Removed packing from ip_addr_t, the packed version is now only used in protocol headers\n  * Corrected PBUF_POOL_BUFSIZE for ports where ETH_PAD_SIZE > 0\n  * Added support for static ARP table entries\n\n(STABLE-1.3.2)\n\n  * initial version of this file\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/arch/cc.h",
    "content": "/*\n * Copyright (c) 2001-2003 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef LWIP_ARCH_CC_H\n#define LWIP_ARCH_CC_H\n\n/* Include some files for defining library routines */\n#include <sys/time.h>\n\n#define LWIP_TIMEVAL_PRIVATE 0\n\n/* Define platform endianness */\n#ifndef BYTE_ORDER\n#define BYTE_ORDER LITTLE_ENDIAN\n#endif /* BYTE_ORDER */\n\n/* Define generic types used in lwIP */\ntypedef unsigned   char    u8_t;\ntypedef signed     char    s8_t;\ntypedef unsigned   short   u16_t;\ntypedef signed     short   s16_t;\ntypedef unsigned   int     u32_t;\ntypedef signed     int     s32_t;\n\ntypedef unsigned long mem_ptr_t;\n\n/* Define (sn)printf formatters for these lwIP types */\n#define X8_F  \"02x\"\n#define U16_F \"hu\"\n#define S16_F \"hd\"\n#define X16_F \"hx\"\n#define U32_F \"u\"\n#define S32_F \"d\"\n#define X32_F \"x\"\n\n/* If only we could use C99 and get %zu */\n#if defined(__x86_64__)\n#define SZT_F \"lu\"\n#else\n#define SZT_F \"u\"\n#endif\n\n/* Compiler hints for packing structures */\n#define PACK_STRUCT_FIELD(x) x\n#define PACK_STRUCT_STRUCT __attribute__((packed))\n#define PACK_STRUCT_BEGIN\n#define PACK_STRUCT_END\n\n/* prototypes for printf() and abort() */\n#include <stdio.h>\n#include <stdlib.h>\n/* Plaform specific diagnostic output */\n#define LWIP_PLATFORM_DIAG(x)\tdo {printf x;} while(0)\n\n#ifdef LWIP_UNIX_EMPTY_ASSERT\n#define LWIP_PLATFORM_ASSERT(x)\n#else\n#define LWIP_PLATFORM_ASSERT(x) do {printf(\"Assertion \\\"%s\\\" failed at line %d in %s\\n\", \\\nx, __LINE__, __FILE__); fflush(NULL); abort();} while(0)\n#endif\n\n#define LWIP_RAND() ((u32_t)rand())\n\nstruct sio_status_s;\ntypedef struct sio_status_s sio_status_t;\n#define sio_fd_t sio_status_t*\n#define __sio_fd_t_defined\n\n#endif /* LWIP_ARCH_CC_H */"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/arch/perf.h",
    "content": "#ifndef perf_h\n#define perf_h\n\n#define PERF_START\n#define PERF_STOP(x)\n\n#endif /* perf_h */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/arch/sys_arch.h",
    "content": "#ifndef __ARCH_SYS_ARCH_H__\n#define __ARCH_SYS_ARCH_H__\n\n#define SYS_MBOX_NULL   NULL\n#define SYS_SEM_NULL    NULL\n\n#endif /* __ARCH_SYS_ARCH_H__ */"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/compat.h",
    "content": "#ifndef compat_h\n#define compat_h\n\n#include \"lwip/tcp.h\"\n\nvoid tcp_accepted_c(struct tcp_pcb *pcb);\n\n#endif /* compat_h */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/api.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_API_H__\n#define __LWIP_API_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */\n\n#include <stddef.h> /* for size_t */\n\n#include \"lwip/netbuf.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/err.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Throughout this file, IP addresses and port numbers are expected to be in\n * the same byte order as in the corresponding pcb.\n */\n\n/* Flags for netconn_write (u8_t) */\n#define NETCONN_NOFLAG    0x00\n#define NETCONN_NOCOPY    0x00 /* Only for source code compatibility */\n#define NETCONN_COPY      0x01\n#define NETCONN_MORE      0x02\n#define NETCONN_DONTBLOCK 0x04\n\n/* Flags for struct netconn.flags (u8_t) */\n/** TCP: when data passed to netconn_write doesn't fit into the send buffer,\n    this temporarily stores whether to wake up the original application task\n    if data couldn't be sent in the first try. */\n#define NETCONN_FLAG_WRITE_DELAYED            0x01\n/** Should this netconn avoid blocking? */\n#define NETCONN_FLAG_NON_BLOCKING             0x02\n/** Was the last connect action a non-blocking one? */\n#define NETCONN_FLAG_IN_NONBLOCKING_CONNECT   0x04\n/** If this is set, a TCP netconn must call netconn_recved() to update\n    the TCP receive window (done automatically if not set). */\n#define NETCONN_FLAG_NO_AUTO_RECVED           0x08\n/** If a nonblocking write has been rejected before, poll_tcp needs to\n    check if the netconn is writable again */\n#define NETCONN_FLAG_CHECK_WRITESPACE         0x10\n\n\n/* Helpers to process several netconn_types by the same code */\n#define NETCONNTYPE_GROUP(t)    (t&0xF0)\n#define NETCONNTYPE_DATAGRAM(t) (t&0xE0)\n\n/** Protocol family and type of the netconn */\nenum netconn_type {\n  NETCONN_INVALID    = 0,\n  /* NETCONN_TCP Group */\n  NETCONN_TCP        = 0x10,\n  /* NETCONN_UDP Group */\n  NETCONN_UDP        = 0x20,\n  NETCONN_UDPLITE    = 0x21,\n  NETCONN_UDPNOCHKSUM= 0x22,\n  /* NETCONN_RAW Group */\n  NETCONN_RAW        = 0x40\n};\n\n/** Current state of the netconn. Non-TCP netconns are always\n * in state NETCONN_NONE! */\nenum netconn_state {\n  NETCONN_NONE,\n  NETCONN_WRITE,\n  NETCONN_LISTEN,\n  NETCONN_CONNECT,\n  NETCONN_CLOSE\n};\n\n/** Use to inform the callback function about changes */\nenum netconn_evt {\n  NETCONN_EVT_RCVPLUS,\n  NETCONN_EVT_RCVMINUS,\n  NETCONN_EVT_SENDPLUS,\n  NETCONN_EVT_SENDMINUS,\n  NETCONN_EVT_ERROR\n};\n\n#if LWIP_IGMP\n/** Used for netconn_join_leave_group() */\nenum netconn_igmp {\n  NETCONN_JOIN,\n  NETCONN_LEAVE\n};\n#endif /* LWIP_IGMP */\n\n/* forward-declare some structs to avoid to include their headers */\nstruct ip_pcb;\nstruct tcp_pcb;\nstruct udp_pcb;\nstruct raw_pcb;\nstruct netconn;\nstruct api_msg_msg;\n\n/** A callback prototype to inform about events for a netconn */\ntypedef void (* netconn_callback)(struct netconn *, enum netconn_evt, u16_t len);\n\n/** A netconn descriptor */\nstruct netconn {\n  /** type of the netconn (TCP, UDP or RAW) */\n  enum netconn_type type;\n  /** current state of the netconn */\n  enum netconn_state state;\n  /** the lwIP internal protocol control block */\n  union {\n    struct ip_pcb  *ip;\n    struct tcp_pcb *tcp;\n    struct udp_pcb *udp;\n    struct raw_pcb *raw;\n  } pcb;\n  /** the last error this netconn had */\n  err_t last_err;\n  /** sem that is used to synchroneously execute functions in the core context */\n  sys_sem_t op_completed;\n  /** mbox where received packets are stored until they are fetched\n      by the netconn application thread (can grow quite big) */\n  sys_mbox_t recvmbox;\n#if LWIP_TCP\n  /** mbox where new connections are stored until processed\n      by the application thread */\n  sys_mbox_t acceptmbox;\n#endif /* LWIP_TCP */\n  /** only used for socket layer */\n#if LWIP_SOCKET\n  int socket;\n#endif /* LWIP_SOCKET */\n#if LWIP_SO_SNDTIMEO\n  /** timeout to wait for sending data (which means enqueueing data for sending\n      in internal buffers) */\n  s32_t send_timeout;\n#endif /* LWIP_SO_RCVTIMEO */\n#if LWIP_SO_RCVTIMEO\n  /** timeout to wait for new data to be received\n      (or connections to arrive for listening netconns) */\n  int recv_timeout;\n#endif /* LWIP_SO_RCVTIMEO */\n#if LWIP_SO_RCVBUF\n  /** maximum amount of bytes queued in recvmbox\n      not used for TCP: adjust TCP_WND instead! */\n  int recv_bufsize;\n  /** number of bytes currently in recvmbox to be received,\n      tested against recv_bufsize to limit bytes on recvmbox\n      for UDP and RAW, used for FIONREAD */\n  s16_t recv_avail;\n#endif /* LWIP_SO_RCVBUF */\n  /** flags holding more netconn-internal state, see NETCONN_FLAG_* defines */\n  u8_t flags;\n#if LWIP_TCP\n  /** TCP: when data passed to netconn_write doesn't fit into the send buffer,\n      this temporarily stores how much is already sent. */\n  size_t write_offset;\n  /** TCP: when data passed to netconn_write doesn't fit into the send buffer,\n      this temporarily stores the message.\n      Also used during connect and close. */\n  struct api_msg_msg *current_msg;\n#endif /* LWIP_TCP */\n  /** A callback function that is informed about events for this netconn */\n  netconn_callback callback;\n};\n\n/** Register an Network connection event */\n#define API_EVENT(c,e,l) if (c->callback) {         \\\n                           (*c->callback)(c, e, l); \\\n                         }\n\n/** Set conn->last_err to err but don't overwrite fatal errors */\n#define NETCONN_SET_SAFE_ERR(conn, err) do { \\\n  SYS_ARCH_DECL_PROTECT(lev); \\\n  SYS_ARCH_PROTECT(lev); \\\n  if (!ERR_IS_FATAL((conn)->last_err)) { \\\n    (conn)->last_err = err; \\\n  } \\\n  SYS_ARCH_UNPROTECT(lev); \\\n} while(0);\n\n/* Network connection functions: */\n#define netconn_new(t)                  netconn_new_with_proto_and_callback(t, 0, NULL)\n#define netconn_new_with_callback(t, c) netconn_new_with_proto_and_callback(t, 0, c)\nstruct\nnetconn *netconn_new_with_proto_and_callback(enum netconn_type t, u8_t proto,\n                                             netconn_callback callback);\nerr_t   netconn_delete(struct netconn *conn);\n/** Get the type of a netconn (as enum netconn_type). */\n#define netconn_type(conn) (conn->type)\n\nerr_t   netconn_getaddr(struct netconn *conn, ip_addr_t *addr,\n                        u16_t *port, u8_t local);\n#define netconn_peer(c,i,p) netconn_getaddr(c,i,p,0)\n#define netconn_addr(c,i,p) netconn_getaddr(c,i,p,1)\n\nerr_t   netconn_bind(struct netconn *conn, ip_addr_t *addr, u16_t port);\nerr_t   netconn_connect(struct netconn *conn, ip_addr_t *addr, u16_t port);\nerr_t   netconn_disconnect (struct netconn *conn);\nerr_t   netconn_listen_with_backlog(struct netconn *conn, u8_t backlog);\n#define netconn_listen(conn) netconn_listen_with_backlog(conn, TCP_DEFAULT_LISTEN_BACKLOG)\nerr_t   netconn_accept(struct netconn *conn, struct netconn **new_conn);\nerr_t   netconn_recv(struct netconn *conn, struct netbuf **new_buf);\nerr_t   netconn_recv_tcp_pbuf(struct netconn *conn, struct pbuf **new_buf);\nvoid    netconn_recved(struct netconn *conn, u32_t length);\nerr_t   netconn_sendto(struct netconn *conn, struct netbuf *buf,\n                       ip_addr_t *addr, u16_t port);\nerr_t   netconn_send(struct netconn *conn, struct netbuf *buf);\nerr_t   netconn_write_partly(struct netconn *conn, const void *dataptr, size_t size,\n                             u8_t apiflags, size_t *bytes_written);\n#define netconn_write(conn, dataptr, size, apiflags) \\\n          netconn_write_partly(conn, dataptr, size, apiflags, NULL)\nerr_t   netconn_close(struct netconn *conn);\nerr_t   netconn_shutdown(struct netconn *conn, u8_t shut_rx, u8_t shut_tx);\n\n#if LWIP_IGMP\nerr_t   netconn_join_leave_group(struct netconn *conn, ip_addr_t *multiaddr,\n                                 ip_addr_t *netif_addr, enum netconn_igmp join_or_leave);\n#endif /* LWIP_IGMP */\n#if LWIP_DNS\nerr_t   netconn_gethostbyname(const char *name, ip_addr_t *addr);\n#endif /* LWIP_DNS */\n\n#define netconn_err(conn)               ((conn)->last_err)\n#define netconn_recv_bufsize(conn)      ((conn)->recv_bufsize)\n\n/** Set the blocking status of netconn calls (@todo: write/send is missing) */\n#define netconn_set_nonblocking(conn, val)  do { if(val) { \\\n  (conn)->flags |= NETCONN_FLAG_NON_BLOCKING; \\\n} else { \\\n  (conn)->flags &= ~ NETCONN_FLAG_NON_BLOCKING; }} while(0)\n/** Get the blocking status of netconn calls (@todo: write/send is missing) */\n#define netconn_is_nonblocking(conn)        (((conn)->flags & NETCONN_FLAG_NON_BLOCKING) != 0)\n\n/** TCP: Set the no-auto-recved status of netconn calls (see NETCONN_FLAG_NO_AUTO_RECVED) */\n#define netconn_set_noautorecved(conn, val)  do { if(val) { \\\n  (conn)->flags |= NETCONN_FLAG_NO_AUTO_RECVED; \\\n} else { \\\n  (conn)->flags &= ~ NETCONN_FLAG_NO_AUTO_RECVED; }} while(0)\n/** TCP: Get the no-auto-recved status of netconn calls (see NETCONN_FLAG_NO_AUTO_RECVED) */\n#define netconn_get_noautorecved(conn)        (((conn)->flags & NETCONN_FLAG_NO_AUTO_RECVED) != 0)\n\n#if LWIP_SO_SNDTIMEO\n/** Set the send timeout in milliseconds */\n#define netconn_set_sendtimeout(conn, timeout)      ((conn)->send_timeout = (timeout))\n/** Get the send timeout in milliseconds */\n#define netconn_get_sendtimeout(conn)               ((conn)->send_timeout)\n#endif /* LWIP_SO_SNDTIMEO */\n#if LWIP_SO_RCVTIMEO\n/** Set the receive timeout in milliseconds */\n#define netconn_set_recvtimeout(conn, timeout)      ((conn)->recv_timeout = (timeout))\n/** Get the receive timeout in milliseconds */\n#define netconn_get_recvtimeout(conn)               ((conn)->recv_timeout)\n#endif /* LWIP_SO_RCVTIMEO */\n#if LWIP_SO_RCVBUF\n/** Set the receive buffer in bytes */\n#define netconn_set_recvbufsize(conn, recvbufsize)  ((conn)->recv_bufsize = (recvbufsize))\n/** Get the receive buffer in bytes */\n#define netconn_get_recvbufsize(conn)               ((conn)->recv_bufsize)\n#endif /* LWIP_SO_RCVBUF*/\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_NETCONN */\n\n#endif /* __LWIP_API_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/api_msg.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_API_MSG_H__\n#define __LWIP_API_MSG_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */\n\n#include <stddef.h> /* for size_t */\n\n#include \"lwip/ip_addr.h\"\n#include \"lwip/err.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/igmp.h\"\n#include \"lwip/api.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* For the netconn API, these values are use as a bitmask! */\n#define NETCONN_SHUT_RD   1\n#define NETCONN_SHUT_WR   2\n#define NETCONN_SHUT_RDWR (NETCONN_SHUT_RD | NETCONN_SHUT_WR)\n\n/* IP addresses and port numbers are expected to be in\n * the same byte order as in the corresponding pcb.\n */\n/** This struct includes everything that is necessary to execute a function\n    for a netconn in another thread context (mainly used to process netconns\n    in the tcpip_thread context to be thread safe). */\nstruct api_msg_msg {\n  /** The netconn which to process - always needed: it includes the semaphore\n      which is used to block the application thread until the function finished. */\n  struct netconn *conn;\n  /** The return value of the function executed in tcpip_thread. */\n  err_t err;\n  /** Depending on the executed function, one of these union members is used */\n  union {\n    /** used for do_send */\n    struct netbuf *b;\n    /** used for do_newconn */\n    struct {\n      u8_t proto;\n    } n;\n    /** used for do_bind and do_connect */\n    struct {\n      ip_addr_t *ipaddr;\n      u16_t port;\n    } bc;\n    /** used for do_getaddr */\n    struct {\n      ip_addr_t *ipaddr;\n      u16_t *port;\n      u8_t local;\n    } ad;\n    /** used for do_write */\n    struct {\n      const void *dataptr;\n      size_t len;\n      u8_t apiflags;\n#if LWIP_SO_SNDTIMEO\n      u32_t time_started;\n#endif /* LWIP_SO_SNDTIMEO */\n    } w;\n    /** used for do_recv */\n    struct {\n      u32_t len;\n    } r;\n    /** used for do_close (/shutdown) */\n    struct {\n      u8_t shut;\n    } sd;\n#if LWIP_IGMP\n    /** used for do_join_leave_group */\n    struct {\n      ip_addr_t *multiaddr;\n      ip_addr_t *netif_addr;\n      enum netconn_igmp join_or_leave;\n    } jl;\n#endif /* LWIP_IGMP */\n#if TCP_LISTEN_BACKLOG\n    struct {\n      u8_t backlog;\n    } lb;\n#endif /* TCP_LISTEN_BACKLOG */\n  } msg;\n};\n\n/** This struct contains a function to execute in another thread context and\n    a struct api_msg_msg that serves as an argument for this function.\n    This is passed to tcpip_apimsg to execute functions in tcpip_thread context. */\nstruct api_msg {\n  /** function to execute in tcpip_thread context */\n  void (* function)(struct api_msg_msg *msg);\n  /** arguments for this function */\n  struct api_msg_msg msg;\n};\n\n#if LWIP_DNS\n/** As do_gethostbyname requires more arguments but doesn't require a netconn,\n    it has its own struct (to avoid struct api_msg getting bigger than necessary).\n    do_gethostbyname must be called using tcpip_callback instead of tcpip_apimsg\n    (see netconn_gethostbyname). */\nstruct dns_api_msg {\n  /** Hostname to query or dotted IP address string */\n  const char *name;\n  /** Rhe resolved address is stored here */\n  ip_addr_t *addr;\n  /** This semaphore is posted when the name is resolved, the application thread\n      should wait on it. */\n  sys_sem_t *sem;\n  /** Errors are given back here */\n  err_t *err;\n};\n#endif /* LWIP_DNS */\n\nvoid do_newconn         ( struct api_msg_msg *msg);\nvoid do_delconn         ( struct api_msg_msg *msg);\nvoid do_bind            ( struct api_msg_msg *msg);\nvoid do_connect         ( struct api_msg_msg *msg);\nvoid do_disconnect      ( struct api_msg_msg *msg);\nvoid do_listen          ( struct api_msg_msg *msg);\nvoid do_send            ( struct api_msg_msg *msg);\nvoid do_recv            ( struct api_msg_msg *msg);\nvoid do_write           ( struct api_msg_msg *msg);\nvoid do_getaddr         ( struct api_msg_msg *msg);\nvoid do_close           ( struct api_msg_msg *msg);\nvoid do_shutdown        ( struct api_msg_msg *msg);\n#if LWIP_IGMP\nvoid do_join_leave_group( struct api_msg_msg *msg);\n#endif /* LWIP_IGMP */\n\n#if LWIP_DNS\nvoid do_gethostbyname(void *arg);\n#endif /* LWIP_DNS */\n\nstruct netconn* netconn_alloc(enum netconn_type t, netconn_callback callback);\nvoid netconn_free(struct netconn *conn);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_NETCONN */\n\n#endif /* __LWIP_API_MSG_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/arch.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_ARCH_H__\n#define __LWIP_ARCH_H__\n\n//#ifndef LITTLE_ENDIAN\n//#define LITTLE_ENDIAN 1234\n//#endif\n//\n//#ifndef BIG_ENDIAN\n//#define BIG_ENDIAN 4321\n//#endif\n\n#include \"arch/cc.h\"\n\n/** Temporary: define format string for size_t if not defined in cc.h */\n#ifndef SZT_F\n#define SZT_F U32_F\n#endif /* SZT_F */\n/** Temporary upgrade helper: define format string for u8_t as hex if not\n    defined in cc.h */\n#ifndef X8_F\n#define X8_F  \"02x\"\n#endif /* X8_F */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef PACK_STRUCT_BEGIN\n#define PACK_STRUCT_BEGIN\n#endif /* PACK_STRUCT_BEGIN */\n\n#ifndef PACK_STRUCT_END\n#define PACK_STRUCT_END\n#endif /* PACK_STRUCT_END */\n\n#ifndef PACK_STRUCT_FIELD\n#define PACK_STRUCT_FIELD(x) x\n#endif /* PACK_STRUCT_FIELD */\n\n\n#ifndef LWIP_UNUSED_ARG\n#define LWIP_UNUSED_ARG(x) (void)x\n#endif /* LWIP_UNUSED_ARG */ \n\n\n#ifdef LWIP_PROVIDE_ERRNO\n\n#define  EPERM         1  /* Operation not permitted */\n#define  ENOENT        2  /* No such file or directory */\n#define  ESRCH         3  /* No such process */\n#define  EINTR         4  /* Interrupted system call */\n#define  EIO           5  /* I/O error */\n#define  ENXIO         6  /* No such device or address */\n#define  E2BIG         7  /* Arg list too long */\n#define  ENOEXEC       8  /* Exec format error */\n#define  EBADF         9  /* Bad file number */\n#define  ECHILD       10  /* No child processes */\n#define  EAGAIN       11  /* Try again */\n#define  ENOMEM       12  /* Out of memory */\n#define  EACCES       13  /* Permission denied */\n#define  EFAULT       14  /* Bad address */\n#define  ENOTBLK      15  /* Block device required */\n#define  EBUSY        16  /* Device or resource busy */\n#define  EEXIST       17  /* File exists */\n#define  EXDEV        18  /* Cross-device link */\n#define  ENODEV       19  /* No such device */\n#define  ENOTDIR      20  /* Not a directory */\n#define  EISDIR       21  /* Is a directory */\n#define  EINVAL       22  /* Invalid argument */\n#define  ENFILE       23  /* File table overflow */\n#define  EMFILE       24  /* Too many open files */\n#define  ENOTTY       25  /* Not a typewriter */\n#define  ETXTBSY      26  /* Text file busy */\n#define  EFBIG        27  /* File too large */\n#define  ENOSPC       28  /* No space left on device */\n#define  ESPIPE       29  /* Illegal seek */\n#define  EROFS        30  /* Read-only file system */\n#define  EMLINK       31  /* Too many links */\n#define  EPIPE        32  /* Broken pipe */\n#define  EDOM         33  /* Math argument out of domain of func */\n#define  ERANGE       34  /* Math result not representable */\n#define  EDEADLK      35  /* Resource deadlock would occur */\n#define  ENAMETOOLONG 36  /* File name too long */\n#define  ENOLCK       37  /* No record locks available */\n#define  ENOSYS       38  /* Function not implemented */\n#define  ENOTEMPTY    39  /* Directory not empty */\n#define  ELOOP        40  /* Too many symbolic links encountered */\n#define  EWOULDBLOCK  EAGAIN  /* Operation would block */\n#define  ENOMSG       42  /* No message of desired type */\n#define  EIDRM        43  /* Identifier removed */\n#define  ECHRNG       44  /* Channel number out of range */\n#define  EL2NSYNC     45  /* Level 2 not synchronized */\n#define  EL3HLT       46  /* Level 3 halted */\n#define  EL3RST       47  /* Level 3 reset */\n#define  ELNRNG       48  /* Link number out of range */\n#define  EUNATCH      49  /* Protocol driver not attached */\n#define  ENOCSI       50  /* No CSI structure available */\n#define  EL2HLT       51  /* Level 2 halted */\n#define  EBADE        52  /* Invalid exchange */\n#define  EBADR        53  /* Invalid request descriptor */\n#define  EXFULL       54  /* Exchange full */\n#define  ENOANO       55  /* No anode */\n#define  EBADRQC      56  /* Invalid request code */\n#define  EBADSLT      57  /* Invalid slot */\n\n#define  EDEADLOCK    EDEADLK\n\n#define  EBFONT       59  /* Bad font file format */\n#define  ENOSTR       60  /* Device not a stream */\n#define  ENODATA      61  /* No data available */\n#define  ETIME        62  /* Timer expired */\n#define  ENOSR        63  /* Out of streams resources */\n#define  ENONET       64  /* Machine is not on the network */\n#define  ENOPKG       65  /* Package not installed */\n#define  EREMOTE      66  /* Object is remote */\n#define  ENOLINK      67  /* Link has been severed */\n#define  EADV         68  /* Advertise error */\n#define  ESRMNT       69  /* Srmount error */\n#define  ECOMM        70  /* Communication error on send */\n#define  EPROTO       71  /* Protocol error */\n#define  EMULTIHOP    72  /* Multihop attempted */\n#define  EDOTDOT      73  /* RFS specific error */\n#define  EBADMSG      74  /* Not a data message */\n#define  EOVERFLOW    75  /* Value too large for defined data type */\n#define  ENOTUNIQ     76  /* Name not unique on network */\n#define  EBADFD       77  /* File descriptor in bad state */\n#define  EREMCHG      78  /* Remote address changed */\n#define  ELIBACC      79  /* Can not access a needed shared library */\n#define  ELIBBAD      80  /* Accessing a corrupted shared library */\n#define  ELIBSCN      81  /* .lib section in a.out corrupted */\n#define  ELIBMAX      82  /* Attempting to link in too many shared libraries */\n#define  ELIBEXEC     83  /* Cannot exec a shared library directly */\n#define  EILSEQ       84  /* Illegal byte sequence */\n#define  ERESTART     85  /* Interrupted system call should be restarted */\n#define  ESTRPIPE     86  /* Streams pipe error */\n#define  EUSERS       87  /* Too many users */\n#define  ENOTSOCK     88  /* Socket operation on non-socket */\n#define  EDESTADDRREQ 89  /* Destination address required */\n#define  EMSGSIZE     90  /* Message too long */\n#define  EPROTOTYPE   91  /* Protocol wrong type for socket */\n#define  ENOPROTOOPT  92  /* Protocol not available */\n#define  EPROTONOSUPPORT 93  /* Protocol not supported */\n#define  ESOCKTNOSUPPORT 94  /* Socket type not supported */\n#define  EOPNOTSUPP      95  /* Operation not supported on transport endpoint */\n#define  EPFNOSUPPORT    96  /* Protocol family not supported */\n#define  EAFNOSUPPORT    97  /* Address family not supported by protocol */\n#define  EADDRINUSE      98  /* Address already in use */\n#define  EADDRNOTAVAIL   99  /* Cannot assign requested address */\n#define  ENETDOWN       100  /* Network is down */\n#define  ENETUNREACH    101  /* Network is unreachable */\n#define  ENETRESET      102  /* Network dropped connection because of reset */\n#define  ECONNABORTED   103  /* Software caused connection abort */\n#define  ECONNRESET     104  /* Connection reset by peer */\n#define  ENOBUFS        105  /* No buffer space available */\n#define  EISCONN        106  /* Transport endpoint is already connected */\n#define  ENOTCONN       107  /* Transport endpoint is not connected */\n#define  ESHUTDOWN      108  /* Cannot send after transport endpoint shutdown */\n#define  ETOOMANYREFS   109  /* Too many references: cannot splice */\n#define  ETIMEDOUT      110  /* Connection timed out */\n#define  ECONNREFUSED   111  /* Connection refused */\n#define  EHOSTDOWN      112  /* Host is down */\n#define  EHOSTUNREACH   113  /* No route to host */\n#define  EALREADY       114  /* Operation already in progress */\n#define  EINPROGRESS    115  /* Operation now in progress */\n#define  ESTALE         116  /* Stale NFS file handle */\n#define  EUCLEAN        117  /* Structure needs cleaning */\n#define  ENOTNAM        118  /* Not a XENIX named type file */\n#define  ENAVAIL        119  /* No XENIX semaphores available */\n#define  EISNAM         120  /* Is a named type file */\n#define  EREMOTEIO      121  /* Remote I/O error */\n#define  EDQUOT         122  /* Quota exceeded */\n\n#define  ENOMEDIUM      123  /* No medium found */\n#define  EMEDIUMTYPE    124  /* Wrong medium type */\n\n#ifndef errno\nextern int errno;\n#endif\n\n#endif /* LWIP_PROVIDE_ERRNO */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_ARCH_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/autoip.h",
    "content": "/**\n * @file\n *\n * AutoIP Automatic LinkLocal IP Configuration\n */\n\n/*\n *\n * Copyright (c) 2007 Dominik Spies <kontakt@dspies.de>\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Dominik Spies <kontakt@dspies.de>\n *\n * This is a AutoIP implementation for the lwIP TCP/IP stack. It aims to conform\n * with RFC 3927.\n *\n *\n * Please coordinate changes and requests with Dominik Spies\n * <kontakt@dspies.de>\n */\n \n#ifndef __LWIP_AUTOIP_H__\n#define __LWIP_AUTOIP_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_AUTOIP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/netif.h\"\n#include \"lwip/udp.h\"\n#include \"netif/etharp.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* AutoIP Timing */\n#define AUTOIP_TMR_INTERVAL      100\n#define AUTOIP_TICKS_PER_SECOND (1000 / AUTOIP_TMR_INTERVAL)\n\n/* RFC 3927 Constants */\n#define PROBE_WAIT               1   /* second   (initial random delay)                 */\n#define PROBE_MIN                1   /* second   (minimum delay till repeated probe)    */\n#define PROBE_MAX                2   /* seconds  (maximum delay till repeated probe)    */\n#define PROBE_NUM                3   /*          (number of probe packets)              */\n#define ANNOUNCE_NUM             2   /*          (number of announcement packets)       */\n#define ANNOUNCE_INTERVAL        2   /* seconds  (time between announcement packets)    */\n#define ANNOUNCE_WAIT            2   /* seconds  (delay before announcing)              */\n#define MAX_CONFLICTS            10  /*          (max conflicts before rate limiting)   */\n#define RATE_LIMIT_INTERVAL      60  /* seconds  (delay between successive attempts)    */\n#define DEFEND_INTERVAL          10  /* seconds  (min. wait between defensive ARPs)     */\n\n/* AutoIP client states */\n#define AUTOIP_STATE_OFF         0\n#define AUTOIP_STATE_PROBING     1\n#define AUTOIP_STATE_ANNOUNCING  2\n#define AUTOIP_STATE_BOUND       3\n\nstruct autoip\n{\n  ip_addr_t llipaddr;       /* the currently selected, probed, announced or used LL IP-Address */\n  u8_t state;               /* current AutoIP state machine state */\n  u8_t sent_num;            /* sent number of probes or announces, dependent on state */\n  u16_t ttw;                /* ticks to wait, tick is AUTOIP_TMR_INTERVAL long */\n  u8_t lastconflict;        /* ticks until a conflict can be solved by defending */\n  u8_t tried_llipaddr;      /* total number of probed/used Link Local IP-Addresses */\n};\n\n\n#define autoip_init() /* Compatibility define, no init needed. */\n\n/** Set a struct autoip allocated by the application to work with */\nvoid autoip_set_struct(struct netif *netif, struct autoip *autoip);\n\n/** Start AutoIP client */\nerr_t autoip_start(struct netif *netif);\n\n/** Stop AutoIP client */\nerr_t autoip_stop(struct netif *netif);\n\n/** Handles every incoming ARP Packet, called by etharp_arp_input */\nvoid autoip_arp_reply(struct netif *netif, struct etharp_hdr *hdr);\n\n/** Has to be called in loop every AUTOIP_TMR_INTERVAL milliseconds */\nvoid autoip_tmr(void);\n\n/** Handle a possible change in the network configuration */\nvoid autoip_network_changed(struct netif *netif);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_AUTOIP */\n\n#endif /* __LWIP_AUTOIP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/debug.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_DEBUG_H__\n#define __LWIP_DEBUG_H__\n\n#include \"lwip/arch.h\"\n#include \"lwip/opt.h\"\n\n/** lower two bits indicate debug level\n * - 0 all\n * - 1 warning\n * - 2 serious\n * - 3 severe\n */\n#define LWIP_DBG_LEVEL_ALL     0x00\n#define LWIP_DBG_LEVEL_OFF     LWIP_DBG_LEVEL_ALL /* compatibility define only */\n#define LWIP_DBG_LEVEL_WARNING 0x01 /* bad checksums, dropped packets, ... */\n#define LWIP_DBG_LEVEL_SERIOUS 0x02 /* memory allocation failures, ... */\n#define LWIP_DBG_LEVEL_SEVERE  0x03\n#define LWIP_DBG_MASK_LEVEL    0x03\n\n/** flag for LWIP_DEBUGF to enable that debug message */\n#define LWIP_DBG_ON            0x80U\n/** flag for LWIP_DEBUGF to disable that debug message */\n#define LWIP_DBG_OFF           0x00U\n\n/** flag for LWIP_DEBUGF indicating a tracing message (to follow program flow) */\n#define LWIP_DBG_TRACE         0x40U\n/** flag for LWIP_DEBUGF indicating a state debug message (to follow module states) */\n#define LWIP_DBG_STATE         0x20U\n/** flag for LWIP_DEBUGF indicating newly added code, not thoroughly tested yet */\n#define LWIP_DBG_FRESH         0x10U\n/** flag for LWIP_DEBUGF to halt after printing this debug message */\n#define LWIP_DBG_HALT          0x08U\n\n#ifndef LWIP_NOASSERT\n#define LWIP_ASSERT(message, assertion) do { if(!(assertion)) \\\n  LWIP_PLATFORM_ASSERT(message); } while(0)\n#else  /* LWIP_NOASSERT */\n#define LWIP_ASSERT(message, assertion) \n#endif /* LWIP_NOASSERT */\n\n/** if \"expression\" isn't true, then print \"message\" and execute \"handler\" expression */\n#ifndef LWIP_ERROR\n#define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \\\n  LWIP_PLATFORM_ASSERT(message); handler;}} while(0)\n#endif /* LWIP_ERROR */\n\n#ifdef LWIP_DEBUG\n/** print debug message only if debug message type is enabled...\n *  AND is of correct type AND is at least LWIP_DBG_LEVEL\n */\n#define LWIP_DEBUGF(debug, message) do { \\\n                               if ( \\\n                                   ((debug) & LWIP_DBG_ON) && \\\n                                   ((debug) & LWIP_DBG_TYPES_ON) && \\\n                                   ((s16_t)((debug) & LWIP_DBG_MASK_LEVEL) >= LWIP_DBG_MIN_LEVEL)) { \\\n                                 LWIP_PLATFORM_DIAG(message); \\\n                                 if ((debug) & LWIP_DBG_HALT) { \\\n                                   while(1); \\\n                                 } \\\n                               } \\\n                             } while(0)\n\n#else  /* LWIP_DEBUG */\n#define LWIP_DEBUGF(debug, message) \n#endif /* LWIP_DEBUG */\n\n#endif /* __LWIP_DEBUG_H__ */\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/def.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_DEF_H__\n#define __LWIP_DEF_H__\n\n/* arch.h might define NULL already */\n#include \"lwip/arch.h\"\n#include \"lwip/opt.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define LWIP_MAX(x , y)  (((x) > (y)) ? (x) : (y))\n#define LWIP_MIN(x , y)  (((x) < (y)) ? (x) : (y))\n\n#ifndef NULL\n#define NULL ((void *)0)\n#endif\n\n/* Endianess-optimized shifting of two u8_t to create one u16_t */\n#if BYTE_ORDER == LITTLE_ENDIAN\n#define LWIP_MAKE_U16(a, b) ((a << 8) | b)\n#else\n#define LWIP_MAKE_U16(a, b) ((b << 8) | a)\n#endif \n\n#ifndef LWIP_PLATFORM_BYTESWAP\n#define LWIP_PLATFORM_BYTESWAP 0\n#endif\n\n#ifndef LWIP_PREFIX_BYTEORDER_FUNCS\n/* workaround for naming collisions on some platforms */\n\n#ifdef htons\n#undef htons\n#endif /* htons */\n#ifdef htonl\n#undef htonl\n#endif /* htonl */\n#ifdef ntohs\n#undef ntohs\n#endif /* ntohs */\n#ifdef ntohl\n#undef ntohl\n#endif /* ntohl */\n\n#define htons(x) lwip_htons(x)\n#define ntohs(x) lwip_ntohs(x)\n#define htonl(x) lwip_htonl(x)\n#define ntohl(x) lwip_ntohl(x)\n#endif /* LWIP_PREFIX_BYTEORDER_FUNCS */\n\n#if BYTE_ORDER == BIG_ENDIAN\n#define lwip_htons(x) (x)\n#define lwip_ntohs(x) (x)\n#define lwip_htonl(x) (x)\n#define lwip_ntohl(x) (x)\n#define PP_HTONS(x) (x)\n#define PP_NTOHS(x) (x)\n#define PP_HTONL(x) (x)\n#define PP_NTOHL(x) (x)\n#else /* BYTE_ORDER != BIG_ENDIAN */\n#if LWIP_PLATFORM_BYTESWAP\n#define lwip_htons(x) LWIP_PLATFORM_HTONS(x)\n#define lwip_ntohs(x) LWIP_PLATFORM_HTONS(x)\n#define lwip_htonl(x) LWIP_PLATFORM_HTONL(x)\n#define lwip_ntohl(x) LWIP_PLATFORM_HTONL(x)\n#else /* LWIP_PLATFORM_BYTESWAP */\nu16_t lwip_htons(u16_t x);\nu16_t lwip_ntohs(u16_t x);\nu32_t lwip_htonl(u32_t x);\nu32_t lwip_ntohl(u32_t x);\n#endif /* LWIP_PLATFORM_BYTESWAP */\n\n/* These macros should be calculated by the preprocessor and are used\n   with compile-time constants only (so that there is no little-endian\n   overhead at runtime). */\n#define PP_HTONS(x) ((((x) & 0xff) << 8) | (((x) & 0xff00) >> 8))\n#define PP_NTOHS(x) PP_HTONS(x)\n#define PP_HTONL(x) ((((x) & 0xff) << 24) | \\\n                     (((x) & 0xff00) << 8) | \\\n                     (((x) & 0xff0000UL) >> 8) | \\\n                     (((x) & 0xff000000UL) >> 24))\n#define PP_NTOHL(x) PP_HTONL(x)\n\n#endif /* BYTE_ORDER == BIG_ENDIAN */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_DEF_H__ */\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/dhcp.h",
    "content": "/** @file\n */\n\n#ifndef __LWIP_DHCP_H__\n#define __LWIP_DHCP_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_DHCP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/netif.h\"\n#include \"lwip/udp.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** period (in seconds) of the application calling dhcp_coarse_tmr() */\n#define DHCP_COARSE_TIMER_SECS 60 \n/** period (in milliseconds) of the application calling dhcp_coarse_tmr() */\n#define DHCP_COARSE_TIMER_MSECS (DHCP_COARSE_TIMER_SECS * 1000UL)\n/** period (in milliseconds) of the application calling dhcp_fine_tmr() */\n#define DHCP_FINE_TIMER_MSECS 500 \n\n#define DHCP_CHADDR_LEN 16U\n#define DHCP_SNAME_LEN  64U\n#define DHCP_FILE_LEN   128U\n\nstruct dhcp\n{\n  /** transaction identifier of last sent request */ \n  u32_t xid;\n  /** our connection to the DHCP server */ \n  struct udp_pcb *pcb;\n  /** incoming msg */\n  struct dhcp_msg *msg_in;\n  /** current DHCP state machine state */\n  u8_t state;\n  /** retries of current request */\n  u8_t tries;\n#if LWIP_DHCP_AUTOIP_COOP\n  u8_t autoip_coop_state;\n#endif\n  u8_t subnet_mask_given;\n\n  struct pbuf *p_out; /* pbuf of outcoming msg */\n  struct dhcp_msg *msg_out; /* outgoing msg */\n  u16_t options_out_len; /* outgoing msg options length */\n  u16_t request_timeout; /* #ticks with period DHCP_FINE_TIMER_SECS for request timeout */\n  u16_t t1_timeout;  /* #ticks with period DHCP_COARSE_TIMER_SECS for renewal time */\n  u16_t t2_timeout;  /* #ticks with period DHCP_COARSE_TIMER_SECS for rebind time */\n  ip_addr_t server_ip_addr; /* dhcp server address that offered this lease */\n  ip_addr_t offered_ip_addr;\n  ip_addr_t offered_sn_mask;\n  ip_addr_t offered_gw_addr;\n \n  u32_t offered_t0_lease; /* lease period (in seconds) */\n  u32_t offered_t1_renew; /* recommended renew time (usually 50% of lease period) */\n  u32_t offered_t2_rebind; /* recommended rebind time (usually 66% of lease period)  */\n  /* @todo: LWIP_DHCP_BOOTP_FILE configuration option?\n     integrate with possible TFTP-client for booting? */\n#if LWIP_DHCP_BOOTP_FILE\n  ip_addr_t offered_si_addr;\n  char boot_file_name[DHCP_FILE_LEN];\n#endif /* LWIP_DHCP_BOOTPFILE */\n};\n\n/* MUST be compiled with \"pack structs\" or equivalent! */\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\n/** minimum set of fields of any DHCP message */\nstruct dhcp_msg\n{\n  PACK_STRUCT_FIELD(u8_t op);\n  PACK_STRUCT_FIELD(u8_t htype);\n  PACK_STRUCT_FIELD(u8_t hlen);\n  PACK_STRUCT_FIELD(u8_t hops);\n  PACK_STRUCT_FIELD(u32_t xid);\n  PACK_STRUCT_FIELD(u16_t secs);\n  PACK_STRUCT_FIELD(u16_t flags);\n  PACK_STRUCT_FIELD(ip_addr_p_t ciaddr);\n  PACK_STRUCT_FIELD(ip_addr_p_t yiaddr);\n  PACK_STRUCT_FIELD(ip_addr_p_t siaddr);\n  PACK_STRUCT_FIELD(ip_addr_p_t giaddr);\n  PACK_STRUCT_FIELD(u8_t chaddr[DHCP_CHADDR_LEN]);\n  PACK_STRUCT_FIELD(u8_t sname[DHCP_SNAME_LEN]);\n  PACK_STRUCT_FIELD(u8_t file[DHCP_FILE_LEN]);\n  PACK_STRUCT_FIELD(u32_t cookie);\n#define DHCP_MIN_OPTIONS_LEN 68U\n/** make sure user does not configure this too small */\n#if ((defined(DHCP_OPTIONS_LEN)) && (DHCP_OPTIONS_LEN < DHCP_MIN_OPTIONS_LEN))\n#  undef DHCP_OPTIONS_LEN\n#endif\n/** allow this to be configured in lwipopts.h, but not too small */\n#if (!defined(DHCP_OPTIONS_LEN))\n/** set this to be sufficient for your options in outgoing DHCP msgs */\n#  define DHCP_OPTIONS_LEN DHCP_MIN_OPTIONS_LEN\n#endif\n  PACK_STRUCT_FIELD(u8_t options[DHCP_OPTIONS_LEN]);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\nvoid dhcp_set_struct(struct netif *netif, struct dhcp *dhcp);\n/** Remove a struct dhcp previously set to the netif using dhcp_set_struct() */\n#define dhcp_remove_struct(netif) do { (netif)->dhcp = NULL; } while(0)\nvoid dhcp_cleanup(struct netif *netif);\n/** start DHCP configuration */\nerr_t dhcp_start(struct netif *netif);\n/** enforce early lease renewal (not needed normally)*/\nerr_t dhcp_renew(struct netif *netif);\n/** release the DHCP lease, usually called before dhcp_stop()*/\nerr_t dhcp_release(struct netif *netif);\n/** stop DHCP configuration */\nvoid dhcp_stop(struct netif *netif);\n/** inform server of our manual IP address */\nvoid dhcp_inform(struct netif *netif);\n/** Handle a possible change in the network configuration */\nvoid dhcp_network_changed(struct netif *netif);\n\n/** if enabled, check whether the offered IP address is not in use, using ARP */\n#if DHCP_DOES_ARP_CHECK\nvoid dhcp_arp_reply(struct netif *netif, ip_addr_t *addr);\n#endif\n\n/** to be called every minute */\nvoid dhcp_coarse_tmr(void);\n/** to be called every half second */\nvoid dhcp_fine_tmr(void);\n \n/** DHCP message item offsets and length */\n#define DHCP_OP_OFS       0\n#define DHCP_HTYPE_OFS    1\n#define DHCP_HLEN_OFS     2\n#define DHCP_HOPS_OFS     3\n#define DHCP_XID_OFS      4\n#define DHCP_SECS_OFS     8\n#define DHCP_FLAGS_OFS    10\n#define DHCP_CIADDR_OFS   12\n#define DHCP_YIADDR_OFS   16\n#define DHCP_SIADDR_OFS   20\n#define DHCP_GIADDR_OFS   24\n#define DHCP_CHADDR_OFS   28\n#define DHCP_SNAME_OFS    44\n#define DHCP_FILE_OFS     108\n#define DHCP_MSG_LEN      236\n\n#define DHCP_COOKIE_OFS   DHCP_MSG_LEN\n#define DHCP_OPTIONS_OFS  (DHCP_MSG_LEN + 4)\n\n#define DHCP_CLIENT_PORT  68  \n#define DHCP_SERVER_PORT  67\n\n/** DHCP client states */\n#define DHCP_OFF          0\n#define DHCP_REQUESTING   1\n#define DHCP_INIT         2\n#define DHCP_REBOOTING    3\n#define DHCP_REBINDING    4\n#define DHCP_RENEWING     5\n#define DHCP_SELECTING    6\n#define DHCP_INFORMING    7\n#define DHCP_CHECKING     8\n#define DHCP_PERMANENT    9\n#define DHCP_BOUND        10\n/** not yet implemented #define DHCP_RELEASING 11 */\n#define DHCP_BACKING_OFF  12\n\n/** AUTOIP cooperatation flags */\n#define DHCP_AUTOIP_COOP_STATE_OFF  0\n#define DHCP_AUTOIP_COOP_STATE_ON   1\n \n#define DHCP_BOOTREQUEST  1\n#define DHCP_BOOTREPLY    2\n\n/** DHCP message types */\n#define DHCP_DISCOVER 1\n#define DHCP_OFFER    2\n#define DHCP_REQUEST  3\n#define DHCP_DECLINE  4\n#define DHCP_ACK      5\n#define DHCP_NAK      6\n#define DHCP_RELEASE  7\n#define DHCP_INFORM   8\n\n/** DHCP hardware type, currently only ethernet is supported */\n#define DHCP_HTYPE_ETH 1\n\n#define DHCP_MAGIC_COOKIE 0x63825363UL\n\n/* This is a list of options for BOOTP and DHCP, see RFC 2132 for descriptions */\n\n/** BootP options */\n#define DHCP_OPTION_PAD 0\n#define DHCP_OPTION_SUBNET_MASK 1 /* RFC 2132 3.3 */\n#define DHCP_OPTION_ROUTER 3\n#define DHCP_OPTION_DNS_SERVER 6 \n#define DHCP_OPTION_HOSTNAME 12\n#define DHCP_OPTION_IP_TTL 23\n#define DHCP_OPTION_MTU 26\n#define DHCP_OPTION_BROADCAST 28\n#define DHCP_OPTION_TCP_TTL 37\n#define DHCP_OPTION_END 255\n\n/** DHCP options */\n#define DHCP_OPTION_REQUESTED_IP 50 /* RFC 2132 9.1, requested IP address */\n#define DHCP_OPTION_LEASE_TIME 51 /* RFC 2132 9.2, time in seconds, in 4 bytes */\n#define DHCP_OPTION_OVERLOAD 52 /* RFC2132 9.3, use file and/or sname field for options */\n\n#define DHCP_OPTION_MESSAGE_TYPE 53 /* RFC 2132 9.6, important for DHCP */\n#define DHCP_OPTION_MESSAGE_TYPE_LEN 1\n\n#define DHCP_OPTION_SERVER_ID 54 /* RFC 2132 9.7, server IP address */\n#define DHCP_OPTION_PARAMETER_REQUEST_LIST 55 /* RFC 2132 9.8, requested option types */\n\n#define DHCP_OPTION_MAX_MSG_SIZE 57 /* RFC 2132 9.10, message size accepted >= 576 */\n#define DHCP_OPTION_MAX_MSG_SIZE_LEN 2\n\n#define DHCP_OPTION_T1 58 /* T1 renewal time */\n#define DHCP_OPTION_T2 59 /* T2 rebinding time */\n#define DHCP_OPTION_US 60\n#define DHCP_OPTION_CLIENT_ID 61\n#define DHCP_OPTION_TFTP_SERVERNAME 66\n#define DHCP_OPTION_BOOTFILE 67\n\n/** possible combinations of overloading the file and sname fields with options */\n#define DHCP_OVERLOAD_NONE 0\n#define DHCP_OVERLOAD_FILE 1\n#define DHCP_OVERLOAD_SNAME  2\n#define DHCP_OVERLOAD_SNAME_FILE 3\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_DHCP */\n\n#endif /*__LWIP_DHCP_H__*/\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/dns.h",
    "content": "/**\n * lwip DNS resolver header file.\n\n * Author: Jim Pettinato \n *   April 2007\n\n * ported from uIP resolv.c Copyright (c) 2002-2003, Adam Dunkels.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n *    products derived from this software without specific prior\n *    written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\n * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\n * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n#ifndef __LWIP_DNS_H__\n#define __LWIP_DNS_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_DNS /* don't build if not configured for use in lwipopts.h */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** DNS timer period */\n#define DNS_TMR_INTERVAL          1000\n\n/** DNS field TYPE used for \"Resource Records\" */\n#define DNS_RRTYPE_A              1     /* a host address */\n#define DNS_RRTYPE_NS             2     /* an authoritative name server */\n#define DNS_RRTYPE_MD             3     /* a mail destination (Obsolete - use MX) */\n#define DNS_RRTYPE_MF             4     /* a mail forwarder (Obsolete - use MX) */\n#define DNS_RRTYPE_CNAME          5     /* the canonical name for an alias */\n#define DNS_RRTYPE_SOA            6     /* marks the start of a zone of authority */\n#define DNS_RRTYPE_MB             7     /* a mailbox domain name (EXPERIMENTAL) */\n#define DNS_RRTYPE_MG             8     /* a mail group member (EXPERIMENTAL) */\n#define DNS_RRTYPE_MR             9     /* a mail rename domain name (EXPERIMENTAL) */\n#define DNS_RRTYPE_NULL           10    /* a null RR (EXPERIMENTAL) */\n#define DNS_RRTYPE_WKS            11    /* a well known service description */\n#define DNS_RRTYPE_PTR            12    /* a domain name pointer */\n#define DNS_RRTYPE_HINFO          13    /* host information */\n#define DNS_RRTYPE_MINFO          14    /* mailbox or mail list information */\n#define DNS_RRTYPE_MX             15    /* mail exchange */\n#define DNS_RRTYPE_TXT            16    /* text strings */\n\n/** DNS field CLASS used for \"Resource Records\" */\n#define DNS_RRCLASS_IN            1     /* the Internet */\n#define DNS_RRCLASS_CS            2     /* the CSNET class (Obsolete - used only for examples in some obsolete RFCs) */\n#define DNS_RRCLASS_CH            3     /* the CHAOS class */\n#define DNS_RRCLASS_HS            4     /* Hesiod [Dyer 87] */\n#define DNS_RRCLASS_FLUSH         0x800 /* Flush bit */\n\n/* The size used for the next line is rather a hack, but it prevents including socket.h in all files\n   that include memp.h, and that would possibly break portability (since socket.h defines some types\n   and constants possibly already define by the OS).\n   Calculation rule:\n   sizeof(struct addrinfo) + sizeof(struct sockaddr_in) + DNS_MAX_NAME_LENGTH + 1 byte zero-termination */\n#define NETDB_ELEM_SIZE           (32 + 16 + DNS_MAX_NAME_LENGTH + 1)\n\n#if DNS_LOCAL_HOSTLIST\n/** struct used for local host-list */\nstruct local_hostlist_entry {\n  /** static hostname */\n  const char *name;\n  /** static host address in network byteorder */\n  ip_addr_t addr;\n  struct local_hostlist_entry *next;\n};\n#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC\n#ifndef DNS_LOCAL_HOSTLIST_MAX_NAMELEN\n#define DNS_LOCAL_HOSTLIST_MAX_NAMELEN  DNS_MAX_NAME_LENGTH\n#endif\n#define LOCALHOSTLIST_ELEM_SIZE ((sizeof(struct local_hostlist_entry) + DNS_LOCAL_HOSTLIST_MAX_NAMELEN + 1))\n#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */\n#endif /* DNS_LOCAL_HOSTLIST */\n\n/** Callback which is invoked when a hostname is found.\n * A function of this type must be implemented by the application using the DNS resolver.\n * @param name pointer to the name that was looked up.\n * @param ipaddr pointer to an ip_addr_t containing the IP address of the hostname,\n *        or NULL if the name could not be found (or on any other error).\n * @param callback_arg a user-specified callback argument passed to dns_gethostbyname\n*/\ntypedef void (*dns_found_callback)(const char *name, ip_addr_t *ipaddr, void *callback_arg);\n\nvoid           dns_init(void);\nvoid           dns_tmr(void);\nvoid           dns_setserver(u8_t numdns, ip_addr_t *dnsserver);\nip_addr_t      dns_getserver(u8_t numdns);\nerr_t          dns_gethostbyname(const char *hostname, ip_addr_t *addr,\n                                 dns_found_callback found, void *callback_arg);\n\n#if DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC\nint            dns_local_removehost(const char *hostname, const ip_addr_t *addr);\nerr_t          dns_local_addhost(const char *hostname, const ip_addr_t *addr);\n#endif /* DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_DNS */\n\n#endif /* __LWIP_DNS_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/err.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_ERR_H__\n#define __LWIP_ERR_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/arch.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** Define LWIP_ERR_T in cc.h if you want to use\n *  a different type for your platform (must be signed). */\n#ifdef LWIP_ERR_T\ntypedef LWIP_ERR_T err_t;\n#else /* LWIP_ERR_T */\ntypedef s8_t err_t;\n#endif /* LWIP_ERR_T*/\n\n/* Definitions for error constants. */\n\n#define ERR_OK          0    /* No error, everything OK. */\n#define ERR_MEM        -1    /* Out of memory error.     */\n#define ERR_BUF        -2    /* Buffer error.            */\n#define ERR_TIMEOUT    -3    /* Timeout.                 */\n#define ERR_RTE        -4    /* Routing problem.         */\n#define ERR_INPROGRESS -5    /* Operation in progress    */\n#define ERR_VAL        -6    /* Illegal value.           */\n#define ERR_WOULDBLOCK -7    /* Operation would block.   */\n#define ERR_USE        -8    /* Address in use.          */\n#define ERR_ISCONN     -9    /* Already connected.       */\n\n#define ERR_IS_FATAL(e) ((e) < ERR_ISCONN)\n\n#define ERR_ABRT       -10   /* Connection aborted.      */\n#define ERR_RST        -11   /* Connection reset.        */\n#define ERR_CLSD       -12   /* Connection closed.       */\n#define ERR_CONN       -13   /* Not connected.           */\n\n#define ERR_ARG        -14   /* Illegal argument.        */\n\n#define ERR_IF         -15   /* Low-level netif error    */\n\n\n#ifdef LWIP_DEBUG\nextern const char *lwip_strerr(err_t err);\n#else\n#define lwip_strerr(x) \"\"\n#endif /* LWIP_DEBUG */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_ERR_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/icmp.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_ICMP_H__\n#define __LWIP_ICMP_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define ICMP_ER   0    /* echo reply */\n#define ICMP_DUR  3    /* destination unreachable */\n#define ICMP_SQ   4    /* source quench */\n#define ICMP_RD   5    /* redirect */\n#define ICMP_ECHO 8    /* echo */\n#define ICMP_TE  11    /* time exceeded */\n#define ICMP_PP  12    /* parameter problem */\n#define ICMP_TS  13    /* timestamp */\n#define ICMP_TSR 14    /* timestamp reply */\n#define ICMP_IRQ 15    /* information request */\n#define ICMP_IR  16    /* information reply */\n\nenum icmp_dur_type {\n  ICMP_DUR_NET   = 0,  /* net unreachable */\n  ICMP_DUR_HOST  = 1,  /* host unreachable */\n  ICMP_DUR_PROTO = 2,  /* protocol unreachable */\n  ICMP_DUR_PORT  = 3,  /* port unreachable */\n  ICMP_DUR_FRAG  = 4,  /* fragmentation needed and DF set */\n  ICMP_DUR_SR    = 5   /* source route failed */\n};\n\nenum icmp_te_type {\n  ICMP_TE_TTL  = 0,    /* time to live exceeded in transit */\n  ICMP_TE_FRAG = 1     /* fragment reassembly time exceeded */\n};\n\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\n/** This is the standard ICMP header only that the u32_t data\n *  is splitted to two u16_t like ICMP echo needs it.\n *  This header is also used for other ICMP types that do not\n *  use the data part.\n */\nPACK_STRUCT_BEGIN\nstruct icmp_echo_hdr {\n  PACK_STRUCT_FIELD(u8_t type);\n  PACK_STRUCT_FIELD(u8_t code);\n  PACK_STRUCT_FIELD(u16_t chksum);\n  PACK_STRUCT_FIELD(u16_t id);\n  PACK_STRUCT_FIELD(u16_t seqno);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#define ICMPH_TYPE(hdr) ((hdr)->type)\n#define ICMPH_CODE(hdr) ((hdr)->code)\n\n/** Combines type and code to an u16_t */\n#define ICMPH_TYPE_SET(hdr, t) ((hdr)->type = (t))\n#define ICMPH_CODE_SET(hdr, c) ((hdr)->code = (c))\n\n\n#if LWIP_ICMP /* don't build if not configured for use in lwipopts.h */\n\nvoid icmp_input(struct pbuf *p, struct netif *inp);\nvoid icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t);\nvoid icmp_time_exceeded(struct pbuf *p, enum icmp_te_type t);\n\n#endif /* LWIP_ICMP */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_ICMP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/igmp.h",
    "content": "/*\n * Copyright (c) 2002 CITEL Technologies Ltd.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without \n * modification, are permitted provided that the following conditions \n * are met: \n * 1. Redistributions of source code must retain the above copyright \n *    notice, this list of conditions and the following disclaimer. \n * 2. Redistributions in binary form must reproduce the above copyright \n *    notice, this list of conditions and the following disclaimer in the \n *    documentation and/or other materials provided with the distribution. \n * 3. Neither the name of CITEL Technologies Ltd nor the names of its contributors \n *    may be used to endorse or promote products derived from this software \n *    without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY CITEL TECHNOLOGIES AND CONTRIBUTORS ``AS IS''\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \n * ARE DISCLAIMED.  IN NO EVENT SHALL CITEL TECHNOLOGIES OR CONTRIBUTORS BE LIABLE \n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \n * SUCH DAMAGE. \n *\n * This file is a contribution to the lwIP TCP/IP stack.\n * The Swedish Institute of Computer Science and Adam Dunkels\n * are specifically granted permission to redistribute this\n * source code.\n*/\n\n#ifndef __LWIP_IGMP_H__\n#define __LWIP_IGMP_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/pbuf.h\"\n\n#if LWIP_IGMP /* don't build if not configured for use in lwipopts.h */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n/* IGMP timer */\n#define IGMP_TMR_INTERVAL              100 /* Milliseconds */\n#define IGMP_V1_DELAYING_MEMBER_TMR   (1000/IGMP_TMR_INTERVAL)\n#define IGMP_JOIN_DELAYING_MEMBER_TMR (500 /IGMP_TMR_INTERVAL)\n\n/* MAC Filter Actions, these are passed to a netif's\n * igmp_mac_filter callback function. */\n#define IGMP_DEL_MAC_FILTER            0\n#define IGMP_ADD_MAC_FILTER            1\n\n\n/**\n * igmp group structure - there is\n * a list of groups for each interface\n * these should really be linked from the interface, but\n * if we keep them separate we will not affect the lwip original code\n * too much\n * \n * There will be a group for the all systems group address but this \n * will not run the state machine as it is used to kick off reports\n * from all the other groups\n */\nstruct igmp_group {\n  /** next link */\n  struct igmp_group *next;\n  /** interface on which the group is active */\n  struct netif      *netif;\n  /** multicast address */\n  ip_addr_t          group_address;\n  /** signifies we were the last person to report */\n  u8_t               last_reporter_flag;\n  /** current state of the group */\n  u8_t               group_state;\n  /** timer for reporting, negative is OFF */\n  u16_t              timer;\n  /** counter of simultaneous uses */\n  u8_t               use;\n};\n\n/*  Prototypes */\nvoid   igmp_init(void);\nerr_t  igmp_start(struct netif *netif);\nerr_t  igmp_stop(struct netif *netif);\nvoid   igmp_report_groups(struct netif *netif);\nstruct igmp_group *igmp_lookfor_group(struct netif *ifp, ip_addr_t *addr);\nvoid   igmp_input(struct pbuf *p, struct netif *inp, ip_addr_t *dest);\nerr_t  igmp_joingroup(ip_addr_t *ifaddr, ip_addr_t *groupaddr);\nerr_t  igmp_leavegroup(ip_addr_t *ifaddr, ip_addr_t *groupaddr);\nvoid   igmp_tmr(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_IGMP */\n\n#endif /* __LWIP_IGMP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/inet.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_INET_H__\n#define __LWIP_INET_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/def.h\"\n#include \"lwip/ip_addr.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** For compatibility with BSD code */\n//struct in_addr {\n//  u32_t s_addr;\n//};\n\n/** 255.255.255.255 */\n#define INADDR_NONE         IPADDR_NONE\n/** 127.0.0.1 */\n#define INADDR_LOOPBACK     IPADDR_LOOPBACK\n/** 0.0.0.0 */\n#define INADDR_ANY          IPADDR_ANY\n/** 255.255.255.255 */\n#define INADDR_BROADCAST    IPADDR_BROADCAST\n\n/* Definitions of the bits in an Internet address integer.\n\n   On subnets, host and network parts are found according to\n   the subnet mask, not these masks.  */\n#define IN_CLASSA(a)        IP_CLASSA(a)\n#define IN_CLASSA_NET       IP_CLASSA_NET\n#define IN_CLASSA_NSHIFT    IP_CLASSA_NSHIFT\n#define IN_CLASSA_HOST      IP_CLASSA_HOST\n#define IN_CLASSA_MAX       IP_CLASSA_MAX\n\n#define IN_CLASSB(b)        IP_CLASSB(b)\n#define IN_CLASSB_NET       IP_CLASSB_NET\n#define IN_CLASSB_NSHIFT    IP_CLASSB_NSHIFT\n#define IN_CLASSB_HOST      IP_CLASSB_HOST\n#define IN_CLASSB_MAX       IP_CLASSB_MAX\n\n#define IN_CLASSC(c)        IP_CLASSC(c)\n#define IN_CLASSC_NET       IP_CLASSC_NET\n#define IN_CLASSC_NSHIFT    IP_CLASSC_NSHIFT\n#define IN_CLASSC_HOST      IP_CLASSC_HOST\n#define IN_CLASSC_MAX       IP_CLASSC_MAX\n\n#define IN_CLASSD(d)        IP_CLASSD(d)\n#define IN_CLASSD_NET       IP_CLASSD_NET     /* These ones aren't really */\n#define IN_CLASSD_NSHIFT    IP_CLASSD_NSHIFT  /*   net and host fields, but */\n#define IN_CLASSD_HOST      IP_CLASSD_HOST    /*   routing needn't know. */\n#define IN_CLASSD_MAX       IP_CLASSD_MAX\n\n#define IN_MULTICAST(a)     IP_MULTICAST(a)\n\n#define IN_EXPERIMENTAL(a)  IP_EXPERIMENTAL(a)\n#define IN_BADCLASS(a)      IP_BADCLASS(a)\n\n#define IN_LOOPBACKNET      IP_LOOPBACKNET\n\n#define inet_addr_from_ipaddr(target_inaddr, source_ipaddr) ((target_inaddr)->s_addr = ip4_addr_get_u32(source_ipaddr))\n#define inet_addr_to_ipaddr(target_ipaddr, source_inaddr)   (ip4_addr_set_u32(target_ipaddr, (source_inaddr)->s_addr))\n/* ATTENTION: the next define only works because both s_addr and ip_addr_t are an u32_t effectively! */\n#define inet_addr_to_ipaddr_p(target_ipaddr_p, source_inaddr)   ((target_ipaddr_p) = (ip_addr_t*)&((source_inaddr)->s_addr))\n\n/* directly map this to the lwip internal functions */\n#define inet_addr(cp)         ipaddr_addr(cp)\n#define inet_aton(cp, addr)   ipaddr_aton(cp, (ip_addr_t*)addr)\n#define inet_ntoa(addr)       ipaddr_ntoa((ip_addr_t*)&(addr))\n#define inet_ntoa_r(addr, buf, buflen) ipaddr_ntoa_r((ip_addr_t*)&(addr), buf, buflen)\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_INET_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/inet_chksum.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_INET_CHKSUM_H__\n#define __LWIP_INET_CHKSUM_H__\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/pbuf.h\"\n#include \"lwip/ip_addr.h\"\n\n/** Swap the bytes in an u16_t: much like htons() for little-endian */\n#ifndef SWAP_BYTES_IN_WORD\n#if LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN)\n/* little endian and PLATFORM_BYTESWAP defined */\n#define SWAP_BYTES_IN_WORD(w) LWIP_PLATFORM_HTONS(w)\n#else /* LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN) */\n/* can't use htons on big endian (or PLATFORM_BYTESWAP not defined)... */\n#define SWAP_BYTES_IN_WORD(w) (((w) & 0xff) << 8) | (((w) & 0xff00) >> 8)\n#endif /* LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN)*/\n#endif /* SWAP_BYTES_IN_WORD */\n\n/** Split an u32_t in two u16_ts and add them up */\n#ifndef FOLD_U32T\n#define FOLD_U32T(u)          (((u) >> 16) + ((u) & 0x0000ffffUL))\n#endif\n\n#if LWIP_CHECKSUM_ON_COPY\n/** Function-like macro: same as MEMCPY but returns the checksum of copied data\n    as u16_t */\n#ifndef LWIP_CHKSUM_COPY\n#define LWIP_CHKSUM_COPY(dst, src, len) lwip_chksum_copy(dst, src, len)\n#ifndef LWIP_CHKSUM_COPY_ALGORITHM\n#define LWIP_CHKSUM_COPY_ALGORITHM 1\n#endif /* LWIP_CHKSUM_COPY_ALGORITHM */\n#endif /* LWIP_CHKSUM_COPY */\n#else /* LWIP_CHECKSUM_ON_COPY */\n#define LWIP_CHKSUM_COPY_ALGORITHM 0\n#endif /* LWIP_CHECKSUM_ON_COPY */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nu16_t inet_chksum(void *dataptr, u16_t len);\nu16_t inet_chksum_pbuf(struct pbuf *p);\nu16_t inet_chksum_pseudo(struct pbuf *p,\n       ip_addr_t *src, ip_addr_t *dest,\n       u8_t proto, u16_t proto_len);\nu16_t inet_chksum_pseudo_partial(struct pbuf *p,\n       ip_addr_t *src, ip_addr_t *dest,\n       u8_t proto, u16_t proto_len, u16_t chksum_len);\n#if LWIP_CHKSUM_COPY_ALGORITHM\nu16_t lwip_chksum_copy(void *dst, const void *src, u16_t len);\n#endif /* LWIP_CHKSUM_COPY_ALGORITHM */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_INET_H__ */\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/init.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_INIT_H__\n#define __LWIP_INIT_H__\n\n#include \"lwip/opt.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** X.x.x: Major version of the stack */\n#define LWIP_VERSION_MAJOR      1U\n/** x.X.x: Minor version of the stack */\n#define LWIP_VERSION_MINOR      4U\n/** x.x.X: Revision of the stack */\n#define LWIP_VERSION_REVISION   1U\n/** For release candidates, this is set to 1..254\n  * For official releases, this is set to 255 (LWIP_RC_RELEASE)\n  * For development versions (CVS), this is set to 0 (LWIP_RC_DEVELOPMENT) */\n#define LWIP_VERSION_RC         0U\n\n/** LWIP_VERSION_RC is set to LWIP_RC_RELEASE for official releases */\n#define LWIP_RC_RELEASE         255U\n/** LWIP_VERSION_RC is set to LWIP_RC_DEVELOPMENT for CVS versions */\n#define LWIP_RC_DEVELOPMENT     0U\n\n#define LWIP_VERSION_IS_RELEASE     (LWIP_VERSION_RC == LWIP_RC_RELEASE)\n#define LWIP_VERSION_IS_DEVELOPMENT (LWIP_VERSION_RC == LWIP_RC_DEVELOPMENT)\n#define LWIP_VERSION_IS_RC          ((LWIP_VERSION_RC != LWIP_RC_RELEASE) && (LWIP_VERSION_RC != LWIP_RC_DEVELOPMENT))\n\n/** Provides the version of the stack */\n#define LWIP_VERSION   (LWIP_VERSION_MAJOR << 24   | LWIP_VERSION_MINOR << 16 | \\\n                        LWIP_VERSION_REVISION << 8 | LWIP_VERSION_RC)\n\n/* Modules initialization */\nvoid lwip_init(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_INIT_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/ip.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_IP_H__\n#define __LWIP_IP_H__\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/def.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/err.h\"\n#include \"lwip/netif.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** Currently, the function ip_output_if_opt() is only used with IGMP */\n#define IP_OPTIONS_SEND   LWIP_IGMP\n\n#define IP_HLEN 20\n\n#define IP_PROTO_ICMP    1\n#define IP_PROTO_IGMP    2\n#define IP_PROTO_UDP     17\n#define IP_PROTO_UDPLITE 136\n#define IP_PROTO_TCP     6\n\n/* This is passed as the destination address to ip_output_if (not\n   to ip_output), meaning that an IP header already is constructed\n   in the pbuf. This is used when TCP retransmits. */\n#ifdef IP_HDRINCL\n#undef IP_HDRINCL\n#endif /* IP_HDRINCL */\n#define IP_HDRINCL  NULL\n\n#if LWIP_NETIF_HWADDRHINT\n#define IP_PCB_ADDRHINT ;u8_t addr_hint\n#else\n#define IP_PCB_ADDRHINT\n#endif /* LWIP_NETIF_HWADDRHINT */\n\n/* This is the common part of all PCB types. It needs to be at the\n   beginning of a PCB type definition. It is located here so that\n   changes to this common part are made in one location instead of\n   having to change all PCB structs. */\n#define IP_PCB \\\n  /* ip addresses in network byte order */ \\\n  ip_addr_t local_ip; \\\n  ip_addr_t remote_ip; \\\n   /* Socket options */  \\\n  u8_t so_options;      \\\n   /* Type Of Service */ \\\n  u8_t tos;              \\\n  /* Time To Live */     \\\n  u8_t ttl               \\\n  /* link layer address resolution hint */ \\\n  IP_PCB_ADDRHINT\n\nstruct ip_pcb {\n/* Common members of all PCB types */\n  IP_PCB;\n};\n\n/*\n * Option flags per-socket. These are the same like SO_XXX.\n */\n/*#define SOF_DEBUG       0x01U     Unimplemented: turn on debugging info recording */\n#define SOF_ACCEPTCONN    0x02U  /* socket has had listen() */\n#define SOF_REUSEADDR     0x04U  /* allow local address reuse */\n#define SOF_KEEPALIVE     0x08U  /* keep connections alive */\n/*#define SOF_DONTROUTE   0x10U     Unimplemented: just use interface addresses */\n#define SOF_BROADCAST     0x20U  /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */\n/*#define SOF_USELOOPBACK 0x40U     Unimplemented: bypass hardware when possible */\n#define SOF_LINGER        0x80U  /* linger on close if data present */\n/*#define SOF_OOBINLINE   0x0100U   Unimplemented: leave received OOB data in line */\n/*#define SOF_REUSEPORT   0x0200U   Unimplemented: allow local address & port reuse */\n\n/* These flags are inherited (e.g. from a listen-pcb to a connection-pcb): */\n#define SOF_INHERITED   (SOF_REUSEADDR|SOF_KEEPALIVE|SOF_LINGER/*|SOF_DEBUG|SOF_DONTROUTE|SOF_OOBINLINE*/)\n\n\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct ip_hdr {\n  /* version / header length */\n  PACK_STRUCT_FIELD(u8_t _v_hl);\n  /* type of service */\n  PACK_STRUCT_FIELD(u8_t _tos);\n  /* total length */\n  PACK_STRUCT_FIELD(u16_t _len);\n  /* identification */\n  PACK_STRUCT_FIELD(u16_t _id);\n  /* fragment offset field */\n  PACK_STRUCT_FIELD(u16_t _offset);\n#define IP_RF 0x8000U        /* reserved fragment flag */\n#define IP_DF 0x4000U        /* dont fragment flag */\n#define IP_MF 0x2000U        /* more fragments flag */\n#define IP_OFFMASK 0x1fffU   /* mask for fragmenting bits */\n  /* time to live */\n  PACK_STRUCT_FIELD(u8_t _ttl);\n  /* protocol*/\n  PACK_STRUCT_FIELD(u8_t _proto);\n  /* checksum */\n  PACK_STRUCT_FIELD(u16_t _chksum);\n  /* source and destination IP addresses */\n  PACK_STRUCT_FIELD(ip_addr_p_t src);\n  PACK_STRUCT_FIELD(ip_addr_p_t dest); \n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#define IPH_V(hdr)  ((hdr)->_v_hl >> 4)\n#define IPH_HL(hdr) ((hdr)->_v_hl & 0x0f)\n#define IPH_TOS(hdr) ((hdr)->_tos)\n#define IPH_LEN(hdr) ((hdr)->_len)\n#define IPH_ID(hdr) ((hdr)->_id)\n#define IPH_OFFSET(hdr) ((hdr)->_offset)\n#define IPH_TTL(hdr) ((hdr)->_ttl)\n#define IPH_PROTO(hdr) ((hdr)->_proto)\n#define IPH_CHKSUM(hdr) ((hdr)->_chksum)\n\n#define IPH_VHL_SET(hdr, v, hl) (hdr)->_v_hl = (((v) << 4) | (hl))\n#define IPH_TOS_SET(hdr, tos) (hdr)->_tos = (tos)\n#define IPH_LEN_SET(hdr, len) (hdr)->_len = (len)\n#define IPH_ID_SET(hdr, id) (hdr)->_id = (id)\n#define IPH_OFFSET_SET(hdr, off) (hdr)->_offset = (off)\n#define IPH_TTL_SET(hdr, ttl) (hdr)->_ttl = (u8_t)(ttl)\n#define IPH_PROTO_SET(hdr, proto) (hdr)->_proto = (u8_t)(proto)\n#define IPH_CHKSUM_SET(hdr, chksum) (hdr)->_chksum = (chksum)\n\n/** The interface that provided the packet for the current callback invocation. */\nextern struct netif *current_netif;\n/** Header of the input packet currently being processed. */\nextern const struct ip_hdr *current_header;\n/** Source IP address of current_header */\nextern ip_addr_t current_iphdr_src;\n/** Destination IP address of current_header */\nextern ip_addr_t current_iphdr_dest;\n\n#define ip_init() /* Compatibility define, not init needed. */\nstruct netif *ip_route(ip_addr_t *dest);\nerr_t ip_input(struct pbuf *p, struct netif *inp);\nerr_t ip_output(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,\n       u8_t ttl, u8_t tos, u8_t proto);\nerr_t ip_output_if(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,\n       u8_t ttl, u8_t tos, u8_t proto,\n       struct netif *netif);\n#if LWIP_NETIF_HWADDRHINT\nerr_t ip_output_hinted(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,\n       u8_t ttl, u8_t tos, u8_t proto, u8_t *addr_hint);\n#endif /* LWIP_NETIF_HWADDRHINT */\n#if IP_OPTIONS_SEND\nerr_t ip_output_if_opt(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,\n       u8_t ttl, u8_t tos, u8_t proto, struct netif *netif, void *ip_options,\n       u16_t optlen);\n#endif /* IP_OPTIONS_SEND */\n/** Get the interface that received the current packet.\n * This function must only be called from a receive callback (udp_recv,\n * raw_recv, tcp_accept). It will return NULL otherwise. */\n#define ip_current_netif()  (current_netif)\n/** Get the IP header of the current packet.\n * This function must only be called from a receive callback (udp_recv,\n * raw_recv, tcp_accept). It will return NULL otherwise. */\n#define ip_current_header() (current_header)\n/** Source IP address of current_header */\n#define ip_current_src_addr()  (&current_iphdr_src)\n/** Destination IP address of current_header */\n#define ip_current_dest_addr() (&current_iphdr_dest)\n\n/** Gets an IP pcb option (SOF_* flags) */\n#define ip_get_option(pcb, opt)   ((pcb)->so_options & (opt))\n/** Sets an IP pcb option (SOF_* flags) */\n#define ip_set_option(pcb, opt)   ((pcb)->so_options |= (opt))\n/** Resets an IP pcb option (SOF_* flags) */\n#define ip_reset_option(pcb, opt) ((pcb)->so_options &= ~(opt))\n\n#if IP_DEBUG\nvoid ip_debug_print(struct pbuf *p);\n#else\n#define ip_debug_print(p)\n#endif /* IP_DEBUG */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_IP_H__ */\n\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/ip_addr.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_IP_ADDR_H__\n#define __LWIP_IP_ADDR_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/def.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* This is the aligned version of ip_addr_t,\n   used as local variable, on the stack, etc. */\nstruct ip_addr {\n  u32_t addr;\n};\n\n/* This is the packed version of ip_addr_t,\n   used in network headers that are itself packed */\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct ip_addr_packed {\n  PACK_STRUCT_FIELD(u32_t addr);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n/** ip_addr_t uses a struct for convenience only, so that the same defines can\n * operate both on ip_addr_t as well as on ip_addr_p_t. */\ntypedef struct ip_addr ip_addr_t;\ntypedef struct ip_addr_packed ip_addr_p_t;\n\n/*\n * struct ipaddr2 is used in the definition of the ARP packet format in\n * order to support compilers that don't have structure packing.\n */\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct ip_addr2 {\n  PACK_STRUCT_FIELD(u16_t addrw[2]);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n/* Forward declaration to not include netif.h */\nstruct netif;\n\nextern const ip_addr_t ip_addr_any;\nextern const ip_addr_t ip_addr_broadcast;\n\n/** IP_ADDR_ can be used as a fixed IP address\n *  for the wildcard and the broadcast address\n */\n#define IP_ADDR_ANY         ((ip_addr_t *)&ip_addr_any)\n#define IP_ADDR_BROADCAST   ((ip_addr_t *)&ip_addr_broadcast)\n\n/** 255.255.255.255 */\n#define IPADDR_NONE         ((u32_t)0xffffffffUL)\n/** 127.0.0.1 */\n#define IPADDR_LOOPBACK     ((u32_t)0x7f000001UL)\n/** 0.0.0.0 */\n#define IPADDR_ANY          ((u32_t)0x00000000UL)\n/** 255.255.255.255 */\n#define IPADDR_BROADCAST    ((u32_t)0xffffffffUL)\n\n/* Definitions of the bits in an Internet address integer.\n\n   On subnets, host and network parts are found according to\n   the subnet mask, not these masks.  */\n#define IP_CLASSA(a)        ((((u32_t)(a)) & 0x80000000UL) == 0)\n#define IP_CLASSA_NET       0xff000000\n#define IP_CLASSA_NSHIFT    24\n#define IP_CLASSA_HOST      (0xffffffff & ~IP_CLASSA_NET)\n#define IP_CLASSA_MAX       128\n\n#define IP_CLASSB(a)        ((((u32_t)(a)) & 0xc0000000UL) == 0x80000000UL)\n#define IP_CLASSB_NET       0xffff0000\n#define IP_CLASSB_NSHIFT    16\n#define IP_CLASSB_HOST      (0xffffffff & ~IP_CLASSB_NET)\n#define IP_CLASSB_MAX       65536\n\n#define IP_CLASSC(a)        ((((u32_t)(a)) & 0xe0000000UL) == 0xc0000000UL)\n#define IP_CLASSC_NET       0xffffff00\n#define IP_CLASSC_NSHIFT    8\n#define IP_CLASSC_HOST      (0xffffffff & ~IP_CLASSC_NET)\n\n#define IP_CLASSD(a)        (((u32_t)(a) & 0xf0000000UL) == 0xe0000000UL)\n#define IP_CLASSD_NET       0xf0000000          /* These ones aren't really */\n#define IP_CLASSD_NSHIFT    28                  /*   net and host fields, but */\n#define IP_CLASSD_HOST      0x0fffffff          /*   routing needn't know. */\n#define IP_MULTICAST(a)     IP_CLASSD(a)\n\n#define IP_EXPERIMENTAL(a)  (((u32_t)(a) & 0xf0000000UL) == 0xf0000000UL)\n#define IP_BADCLASS(a)      (((u32_t)(a) & 0xf0000000UL) == 0xf0000000UL)\n\n#define IP_LOOPBACKNET      127                 /* official! */\n\n\n#if BYTE_ORDER == BIG_ENDIAN\n/** Set an IP address given by the four byte-parts */\n#define IP4_ADDR(ipaddr, a,b,c,d) \\\n        (ipaddr)->addr = ((u32_t)((a) & 0xff) << 24) | \\\n                         ((u32_t)((b) & 0xff) << 16) | \\\n                         ((u32_t)((c) & 0xff) << 8)  | \\\n                          (u32_t)((d) & 0xff)\n#else\n/** Set an IP address given by the four byte-parts.\n    Little-endian version that prevents the use of htonl. */\n#define IP4_ADDR(ipaddr, a,b,c,d) \\\n        (ipaddr)->addr = ((u32_t)((d) & 0xff) << 24) | \\\n                         ((u32_t)((c) & 0xff) << 16) | \\\n                         ((u32_t)((b) & 0xff) << 8)  | \\\n                          (u32_t)((a) & 0xff)\n#endif\n\n/** MEMCPY-like copying of IP addresses where addresses are known to be\n * 16-bit-aligned if the port is correctly configured (so a port could define\n * this to copying 2 u16_t's) - no NULL-pointer-checking needed. */\n#ifndef IPADDR2_COPY\n#define IPADDR2_COPY(dest, src) SMEMCPY(dest, src, sizeof(ip_addr_t))\n#endif\n\n/** Copy IP address - faster than ip_addr_set: no NULL check */\n#define ip_addr_copy(dest, src) ((dest).addr = (src).addr)\n/** Safely copy one IP address to another (src may be NULL) */\n#define ip_addr_set(dest, src) ((dest)->addr = \\\n                                    ((src) == NULL ? 0 : \\\n                                    (src)->addr))\n/** Set complete address to zero */\n#define ip_addr_set_zero(ipaddr)      ((ipaddr)->addr = 0)\n/** Set address to IPADDR_ANY (no need for htonl()) */\n#define ip_addr_set_any(ipaddr)       ((ipaddr)->addr = IPADDR_ANY)\n/** Set address to loopback address */\n#define ip_addr_set_loopback(ipaddr)  ((ipaddr)->addr = PP_HTONL(IPADDR_LOOPBACK))\n/** Safely copy one IP address to another and change byte order\n * from host- to network-order. */\n#define ip_addr_set_hton(dest, src) ((dest)->addr = \\\n                               ((src) == NULL ? 0:\\\n                               htonl((src)->addr)))\n/** IPv4 only: set the IP address given as an u32_t */\n#define ip4_addr_set_u32(dest_ipaddr, src_u32) ((dest_ipaddr)->addr = (src_u32))\n/** IPv4 only: get the IP address as an u32_t */\n#define ip4_addr_get_u32(src_ipaddr) ((src_ipaddr)->addr)\n\n/** Get the network address by combining host address with netmask */\n#define ip_addr_get_network(target, host, netmask) ((target)->addr = ((host)->addr) & ((netmask)->addr))\n\n/**\n * Determine if two address are on the same network.\n *\n * @arg addr1 IP address 1\n * @arg addr2 IP address 2\n * @arg mask network identifier mask\n * @return !0 if the network identifiers of both address match\n */\n#define ip_addr_netcmp(addr1, addr2, mask) (((addr1)->addr & \\\n                                              (mask)->addr) == \\\n                                             ((addr2)->addr & \\\n                                              (mask)->addr))\n#define ip_addr_cmp(addr1, addr2) ((addr1)->addr == (addr2)->addr)\n\n#define ip_addr_isany(addr1) ((addr1) == NULL || (addr1)->addr == IPADDR_ANY)\n\n#define ip_addr_isbroadcast(ipaddr, netif) ip4_addr_isbroadcast((ipaddr)->addr, (netif))\nu8_t ip4_addr_isbroadcast(u32_t addr, const struct netif *netif);\n\n#define ip_addr_netmask_valid(netmask) ip4_addr_netmask_valid((netmask)->addr)\nu8_t ip4_addr_netmask_valid(u32_t netmask);\n\n#define ip_addr_ismulticast(addr1) (((addr1)->addr & PP_HTONL(0xf0000000UL)) == PP_HTONL(0xe0000000UL))\n\n#define ip_addr_islinklocal(addr1) (((addr1)->addr & PP_HTONL(0xffff0000UL)) == PP_HTONL(0xa9fe0000UL))\n\n#define ip_addr_debug_print(debug, ipaddr) \\\n  LWIP_DEBUGF(debug, (\"%\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F,             \\\n                      ipaddr != NULL ? ip4_addr1_16(ipaddr) : 0,       \\\n                      ipaddr != NULL ? ip4_addr2_16(ipaddr) : 0,       \\\n                      ipaddr != NULL ? ip4_addr3_16(ipaddr) : 0,       \\\n                      ipaddr != NULL ? ip4_addr4_16(ipaddr) : 0))\n\n/* Get one byte from the 4-byte address */\n#define ip4_addr1(ipaddr) (((u8_t*)(ipaddr))[0])\n#define ip4_addr2(ipaddr) (((u8_t*)(ipaddr))[1])\n#define ip4_addr3(ipaddr) (((u8_t*)(ipaddr))[2])\n#define ip4_addr4(ipaddr) (((u8_t*)(ipaddr))[3])\n/* These are cast to u16_t, with the intent that they are often arguments\n * to printf using the U16_F format from cc.h. */\n#define ip4_addr1_16(ipaddr) ((u16_t)ip4_addr1(ipaddr))\n#define ip4_addr2_16(ipaddr) ((u16_t)ip4_addr2(ipaddr))\n#define ip4_addr3_16(ipaddr) ((u16_t)ip4_addr3(ipaddr))\n#define ip4_addr4_16(ipaddr) ((u16_t)ip4_addr4(ipaddr))\n\n/** For backwards compatibility */\n#define ip_ntoa(ipaddr)  ipaddr_ntoa(ipaddr)\n\nu32_t ipaddr_addr(const char *cp);\nint ipaddr_aton(const char *cp, ip_addr_t *addr);\n/** returns ptr to static buffer; not reentrant! */\nchar *ipaddr_ntoa(const ip_addr_t *addr);\nchar *ipaddr_ntoa_r(const ip_addr_t *addr, char *buf, int buflen);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_IP_ADDR_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/ip_frag.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Jani Monoses <jani@iv.ro>\n *\n */\n\n#ifndef __LWIP_IP_FRAG_H__\n#define __LWIP_IP_FRAG_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/err.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/ip.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#if IP_REASSEMBLY\n/* The IP reassembly timer interval in milliseconds. */\n#define IP_TMR_INTERVAL 1000\n\n/* IP reassembly helper struct.\n * This is exported because memp needs to know the size.\n */\nstruct ip_reassdata {\n  struct ip_reassdata *next;\n  struct pbuf *p;\n  struct ip_hdr iphdr;\n  u16_t datagram_len;\n  u8_t flags;\n  u8_t timer;\n};\n\nvoid ip_reass_init(void);\nvoid ip_reass_tmr(void);\nstruct pbuf * ip_reass(struct pbuf *p);\n#endif /* IP_REASSEMBLY */\n\n#if IP_FRAG\n#if !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF\n/** A custom pbuf that holds a reference to another pbuf, which is freed\n * when this custom pbuf is freed. This is used to create a custom PBUF_REF\n * that points into the original pbuf. */\nstruct pbuf_custom_ref {\n  /** 'base class' */\n  struct pbuf_custom pc;\n  /** pointer to the original pbuf that is referenced */\n  struct pbuf *original;\n};\n#endif /* !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF */\n\nerr_t ip_frag(struct pbuf *p, struct netif *netif, ip_addr_t *dest);\n#endif /* IP_FRAG */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_IP_FRAG_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/mem.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_MEM_H__\n#define __LWIP_MEM_H__\n\n#include \"lwip/opt.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#if MEM_LIBC_MALLOC\n\n#include <stddef.h> /* for size_t */\n\ntypedef size_t mem_size_t;\n#define MEM_SIZE_F SZT_F\n\n/* aliases for C library malloc() */\n#define mem_init()\n/* in case C library malloc() needs extra protection,\n * allow these defines to be overridden.\n */\n#ifndef mem_free\n#define mem_free free\n#endif\n#ifndef mem_malloc\n#define mem_malloc malloc\n#endif\n#ifndef mem_calloc\n#define mem_calloc calloc\n#endif\n/* Since there is no C library allocation function to shrink memory without\n   moving it, define this to nothing. */\n#ifndef mem_trim\n#define mem_trim(mem, size) (mem)\n#endif\n#else /* MEM_LIBC_MALLOC */\n\n/* MEM_SIZE would have to be aligned, but using 64000 here instead of\n * 65535 leaves some room for alignment...\n */\n#if MEM_SIZE > 64000L\ntypedef u32_t mem_size_t;\n#define MEM_SIZE_F U32_F\n#else\ntypedef u16_t mem_size_t;\n#define MEM_SIZE_F U16_F\n#endif /* MEM_SIZE > 64000 */\n\n#if MEM_USE_POOLS\n/** mem_init is not used when using pools instead of a heap */\n#define mem_init()\n/** mem_trim is not used when using pools instead of a heap:\n    we can't free part of a pool element and don't want to copy the rest */\n#define mem_trim(mem, size) (mem)\n#else /* MEM_USE_POOLS */\n/* lwIP alternative malloc */\nvoid  mem_init(void);\nvoid *mem_trim(void *mem, mem_size_t size);\n#endif /* MEM_USE_POOLS */\nvoid *mem_malloc(mem_size_t size);\nvoid *mem_calloc(mem_size_t count, mem_size_t size);\nvoid  mem_free(void *mem);\n#endif /* MEM_LIBC_MALLOC */\n\n/** Calculate memory size for an aligned buffer - returns the next highest\n * multiple of MEM_ALIGNMENT (e.g. LWIP_MEM_ALIGN_SIZE(3) and\n * LWIP_MEM_ALIGN_SIZE(4) will both yield 4 for MEM_ALIGNMENT == 4).\n */\n#ifndef LWIP_MEM_ALIGN_SIZE\n#define LWIP_MEM_ALIGN_SIZE(size) (((size) + MEM_ALIGNMENT - 1) & ~(MEM_ALIGNMENT-1))\n#endif\n\n/** Calculate safe memory size for an aligned buffer when using an unaligned\n * type as storage. This includes a safety-margin on (MEM_ALIGNMENT - 1) at the\n * start (e.g. if buffer is u8_t[] and actual data will be u32_t*)\n */\n#ifndef LWIP_MEM_ALIGN_BUFFER\n#define LWIP_MEM_ALIGN_BUFFER(size) (((size) + MEM_ALIGNMENT - 1))\n#endif\n\n/** Align a memory pointer to the alignment defined by MEM_ALIGNMENT\n * so that ADDR % MEM_ALIGNMENT == 0\n */\n#ifndef LWIP_MEM_ALIGN\n#define LWIP_MEM_ALIGN(addr) ((void *)(((mem_ptr_t)(addr) + MEM_ALIGNMENT - 1) & ~(mem_ptr_t)(MEM_ALIGNMENT-1)))\n#endif\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_MEM_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/memp.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#ifndef __LWIP_MEMP_H__\n#define __LWIP_MEMP_H__\n\n#include \"lwip/opt.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Create the list of all memory pools managed by memp. MEMP_MAX represents a NULL pool at the end */\ntypedef enum {\n#define LWIP_MEMPOOL(name,num,size,desc)  MEMP_##name,\n#include \"lwip/memp_std.h\"\n  MEMP_MAX\n} memp_t;\n\n#if MEM_USE_POOLS\n/* Use a helper type to get the start and end of the user \"memory pools\" for mem_malloc */\ntypedef enum {\n    /* Get the first (via:\n       MEMP_POOL_HELPER_START = ((u8_t) 1*MEMP_POOL_A + 0*MEMP_POOL_B + 0*MEMP_POOL_C + 0)*/\n    MEMP_POOL_HELPER_FIRST = ((u8_t)\n#define LWIP_MEMPOOL(name,num,size,desc)\n#define LWIP_MALLOC_MEMPOOL_START 1\n#define LWIP_MALLOC_MEMPOOL(num, size) * MEMP_POOL_##size + 0\n#define LWIP_MALLOC_MEMPOOL_END\n#include \"lwip/memp_std.h\"\n    ) ,\n    /* Get the last (via:\n       MEMP_POOL_HELPER_END = ((u8_t) 0 + MEMP_POOL_A*0 + MEMP_POOL_B*0 + MEMP_POOL_C*1) */\n    MEMP_POOL_HELPER_LAST = ((u8_t)\n#define LWIP_MEMPOOL(name,num,size,desc)\n#define LWIP_MALLOC_MEMPOOL_START\n#define LWIP_MALLOC_MEMPOOL(num, size) 0 + MEMP_POOL_##size *\n#define LWIP_MALLOC_MEMPOOL_END 1\n#include \"lwip/memp_std.h\"\n    )\n} memp_pool_helper_t;\n\n/* The actual start and stop values are here (cast them over)\n   We use this helper type and these defines so we can avoid using const memp_t values */\n#define MEMP_POOL_FIRST ((memp_t) MEMP_POOL_HELPER_FIRST)\n#define MEMP_POOL_LAST   ((memp_t) MEMP_POOL_HELPER_LAST)\n#endif /* MEM_USE_POOLS */\n\n#if MEMP_MEM_MALLOC || MEM_USE_POOLS\nextern const u16_t memp_sizes[MEMP_MAX];\n#endif /* MEMP_MEM_MALLOC || MEM_USE_POOLS */\n\n#if MEMP_MEM_MALLOC\n\n#include \"mem.h\"\n\n#define memp_init()\n#define memp_malloc(type)     mem_malloc(memp_sizes[type])\n#define memp_free(type, mem)  mem_free(mem)\n\n#else /* MEMP_MEM_MALLOC */\n\n#if MEM_USE_POOLS\n/** This structure is used to save the pool one element came from. */\nstruct memp_malloc_helper\n{\n   memp_t poolnr;\n};\n#endif /* MEM_USE_POOLS */\n\nvoid  memp_init(void);\n\n#if MEMP_OVERFLOW_CHECK\nvoid *memp_malloc_fn(memp_t type, const char* file, const int line);\n#define memp_malloc(t) memp_malloc_fn((t), __FILE__, __LINE__)\n#else\nvoid *memp_malloc(memp_t type);\n#endif\nvoid  memp_free(memp_t type, void *mem);\n\n#endif /* MEMP_MEM_MALLOC */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_MEMP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/memp_std.h",
    "content": "/*\n * SETUP: Make sure we define everything we will need.\n *\n * We have create three types of pools:\n *   1) MEMPOOL - standard pools\n *   2) MALLOC_MEMPOOL - to be used by mem_malloc in mem.c\n *   3) PBUF_MEMPOOL - a mempool of pbuf's, so include space for the pbuf struct\n *\n * If the include'r doesn't require any special treatment of each of the types\n * above, then will declare #2 & #3 to be just standard mempools.\n */\n#ifndef LWIP_MALLOC_MEMPOOL\n/* This treats \"malloc pools\" just like any other pool.\n   The pools are a little bigger to provide 'size' as the amount of user data. */\n#define LWIP_MALLOC_MEMPOOL(num, size) LWIP_MEMPOOL(POOL_##size, num, (size + sizeof(struct memp_malloc_helper)), \"MALLOC_\"#size)\n#define LWIP_MALLOC_MEMPOOL_START\n#define LWIP_MALLOC_MEMPOOL_END\n#endif /* LWIP_MALLOC_MEMPOOL */ \n\n#ifndef LWIP_PBUF_MEMPOOL\n/* This treats \"pbuf pools\" just like any other pool.\n * Allocates buffers for a pbuf struct AND a payload size */\n#define LWIP_PBUF_MEMPOOL(name, num, payload, desc) LWIP_MEMPOOL(name, num, (MEMP_ALIGN_SIZE(sizeof(struct pbuf)) + MEMP_ALIGN_SIZE(payload)), desc)\n#endif /* LWIP_PBUF_MEMPOOL */\n\n\n/*\n * A list of internal pools used by LWIP.\n *\n * LWIP_MEMPOOL(pool_name, number_elements, element_size, pool_description)\n *     creates a pool name MEMP_pool_name. description is used in stats.c\n */\n#if LWIP_RAW\nLWIP_MEMPOOL(RAW_PCB,        MEMP_NUM_RAW_PCB,         sizeof(struct raw_pcb),        \"RAW_PCB\")\n#endif /* LWIP_RAW */\n\n#if LWIP_UDP\nLWIP_MEMPOOL(UDP_PCB,        MEMP_NUM_UDP_PCB,         sizeof(struct udp_pcb),        \"UDP_PCB\")\n#endif /* LWIP_UDP */\n\n#if LWIP_TCP\nLWIP_MEMPOOL(TCP_PCB,        MEMP_NUM_TCP_PCB,         sizeof(struct tcp_pcb),        \"TCP_PCB\")\nLWIP_MEMPOOL(TCP_PCB_LISTEN, MEMP_NUM_TCP_PCB_LISTEN,  sizeof(struct tcp_pcb_listen), \"TCP_PCB_LISTEN\")\nLWIP_MEMPOOL(TCP_SEG,        MEMP_NUM_TCP_SEG,         sizeof(struct tcp_seg),        \"TCP_SEG\")\n#endif /* LWIP_TCP */\n\n#if IP_REASSEMBLY\nLWIP_MEMPOOL(REASSDATA,      MEMP_NUM_REASSDATA,       sizeof(struct ip_reassdata),   \"REASSDATA\")\n#endif /* IP_REASSEMBLY */\n#if IP_FRAG && !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF\nLWIP_MEMPOOL(FRAG_PBUF,      MEMP_NUM_FRAG_PBUF,       sizeof(struct pbuf_custom_ref),\"FRAG_PBUF\")\n#endif /* IP_FRAG && !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF */\n\n#if LWIP_NETCONN\nLWIP_MEMPOOL(NETBUF,         MEMP_NUM_NETBUF,          sizeof(struct netbuf),         \"NETBUF\")\nLWIP_MEMPOOL(NETCONN,        MEMP_NUM_NETCONN,         sizeof(struct netconn),        \"NETCONN\")\n#endif /* LWIP_NETCONN */\n\n#if NO_SYS==0\nLWIP_MEMPOOL(TCPIP_MSG_API,  MEMP_NUM_TCPIP_MSG_API,   sizeof(struct tcpip_msg),      \"TCPIP_MSG_API\")\n#if !LWIP_TCPIP_CORE_LOCKING_INPUT\nLWIP_MEMPOOL(TCPIP_MSG_INPKT,MEMP_NUM_TCPIP_MSG_INPKT, sizeof(struct tcpip_msg),      \"TCPIP_MSG_INPKT\")\n#endif /* !LWIP_TCPIP_CORE_LOCKING_INPUT */\n#endif /* NO_SYS==0 */\n\n#if LWIP_ARP && ARP_QUEUEING\nLWIP_MEMPOOL(ARP_QUEUE,      MEMP_NUM_ARP_QUEUE,       sizeof(struct etharp_q_entry), \"ARP_QUEUE\")\n#endif /* LWIP_ARP && ARP_QUEUEING */\n\n#if LWIP_IGMP\nLWIP_MEMPOOL(IGMP_GROUP,     MEMP_NUM_IGMP_GROUP,      sizeof(struct igmp_group),     \"IGMP_GROUP\")\n#endif /* LWIP_IGMP */\n\n#if (!NO_SYS || (NO_SYS && !NO_SYS_NO_TIMERS)) /* LWIP_TIMERS */\nLWIP_MEMPOOL(SYS_TIMEOUT,    MEMP_NUM_SYS_TIMEOUT,     sizeof(struct sys_timeo),      \"SYS_TIMEOUT\")\n#endif /* LWIP_TIMERS */\n\n#if LWIP_SNMP\nLWIP_MEMPOOL(SNMP_ROOTNODE,  MEMP_NUM_SNMP_ROOTNODE,   sizeof(struct mib_list_rootnode), \"SNMP_ROOTNODE\")\nLWIP_MEMPOOL(SNMP_NODE,      MEMP_NUM_SNMP_NODE,       sizeof(struct mib_list_node),     \"SNMP_NODE\")\nLWIP_MEMPOOL(SNMP_VARBIND,   MEMP_NUM_SNMP_VARBIND,    sizeof(struct snmp_varbind),      \"SNMP_VARBIND\")\nLWIP_MEMPOOL(SNMP_VALUE,     MEMP_NUM_SNMP_VALUE,      SNMP_MAX_VALUE_SIZE,              \"SNMP_VALUE\")\n#endif /* LWIP_SNMP */\n#if LWIP_DNS && LWIP_SOCKET\nLWIP_MEMPOOL(NETDB,          MEMP_NUM_NETDB,           NETDB_ELEM_SIZE,               \"NETDB\")\n#endif /* LWIP_DNS && LWIP_SOCKET */\n#if LWIP_DNS && DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC\nLWIP_MEMPOOL(LOCALHOSTLIST,  MEMP_NUM_LOCALHOSTLIST,   LOCALHOSTLIST_ELEM_SIZE,       \"LOCALHOSTLIST\")\n#endif /* LWIP_DNS && DNS_LOCAL_HOSTLIST && DNS_LOCAL_HOSTLIST_IS_DYNAMIC */\n#if PPP_SUPPORT && PPPOE_SUPPORT\nLWIP_MEMPOOL(PPPOE_IF,      MEMP_NUM_PPPOE_INTERFACES, sizeof(struct pppoe_softc),    \"PPPOE_IF\")\n#endif /* PPP_SUPPORT && PPPOE_SUPPORT */\n\n/*\n * A list of pools of pbuf's used by LWIP.\n *\n * LWIP_PBUF_MEMPOOL(pool_name, number_elements, pbuf_payload_size, pool_description)\n *     creates a pool name MEMP_pool_name. description is used in stats.c\n *     This allocates enough space for the pbuf struct and a payload.\n *     (Example: pbuf_payload_size=0 allocates only size for the struct)\n */\nLWIP_PBUF_MEMPOOL(PBUF,      MEMP_NUM_PBUF,            0,                             \"PBUF_REF/ROM\")\nLWIP_PBUF_MEMPOOL(PBUF_POOL, PBUF_POOL_SIZE,           PBUF_POOL_BUFSIZE,             \"PBUF_POOL\")\n\n\n/*\n * Allow for user-defined pools; this must be explicitly set in lwipopts.h\n * since the default is to NOT look for lwippools.h\n */\n#if MEMP_USE_CUSTOM_POOLS\n#include \"lwippools.h\"\n#endif /* MEMP_USE_CUSTOM_POOLS */\n\n/*\n * REQUIRED CLEANUP: Clear up so we don't get \"multiply defined\" error later\n * (#undef is ignored for something that is not defined)\n */\n#undef LWIP_MEMPOOL\n#undef LWIP_MALLOC_MEMPOOL\n#undef LWIP_MALLOC_MEMPOOL_START\n#undef LWIP_MALLOC_MEMPOOL_END\n#undef LWIP_PBUF_MEMPOOL\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/netbuf.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_NETBUF_H__\n#define __LWIP_NETBUF_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/ip_addr.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** This netbuf has dest-addr/port set */\n#define NETBUF_FLAG_DESTADDR    0x01\n/** This netbuf includes a checksum */\n#define NETBUF_FLAG_CHKSUM      0x02\n\nstruct netbuf {\n  struct pbuf *p, *ptr;\n  ip_addr_t addr;\n  u16_t port;\n#if LWIP_NETBUF_RECVINFO || LWIP_CHECKSUM_ON_COPY\n#if LWIP_CHECKSUM_ON_COPY\n  u8_t flags;\n#endif /* LWIP_CHECKSUM_ON_COPY */\n  u16_t toport_chksum;\n#if LWIP_NETBUF_RECVINFO\n  ip_addr_t toaddr;\n#endif /* LWIP_NETBUF_RECVINFO */\n#endif /* LWIP_NETBUF_RECVINFO || LWIP_CHECKSUM_ON_COPY */\n};\n\n/* Network buffer functions: */\nstruct netbuf *   netbuf_new      (void);\nvoid              netbuf_delete   (struct netbuf *buf);\nvoid *            netbuf_alloc    (struct netbuf *buf, u16_t size);\nvoid              netbuf_free     (struct netbuf *buf);\nerr_t             netbuf_ref      (struct netbuf *buf,\n                                   const void *dataptr, u16_t size);\nvoid              netbuf_chain    (struct netbuf *head,\n           struct netbuf *tail);\n\nerr_t             netbuf_data     (struct netbuf *buf,\n                                   void **dataptr, u16_t *len);\ns8_t              netbuf_next     (struct netbuf *buf);\nvoid              netbuf_first    (struct netbuf *buf);\n\n\n#define netbuf_copy_partial(buf, dataptr, len, offset) \\\n  pbuf_copy_partial((buf)->p, (dataptr), (len), (offset))\n#define netbuf_copy(buf,dataptr,len) netbuf_copy_partial(buf, dataptr, len, 0)\n#define netbuf_take(buf, dataptr, len) pbuf_take((buf)->p, dataptr, len)\n#define netbuf_len(buf)              ((buf)->p->tot_len)\n#define netbuf_fromaddr(buf)         (&((buf)->addr))\n#define netbuf_set_fromaddr(buf, fromaddr) ip_addr_set((&(buf)->addr), fromaddr)\n#define netbuf_fromport(buf)         ((buf)->port)\n#if LWIP_NETBUF_RECVINFO\n#define netbuf_destaddr(buf)         (&((buf)->toaddr))\n#define netbuf_set_destaddr(buf, destaddr) ip_addr_set((&(buf)->addr), destaddr)\n#define netbuf_destport(buf)         (((buf)->flags & NETBUF_FLAG_DESTADDR) ? (buf)->toport_chksum : 0)\n#endif /* LWIP_NETBUF_RECVINFO */\n#if LWIP_CHECKSUM_ON_COPY\n#define netbuf_set_chksum(buf, chksum) do { (buf)->flags = NETBUF_FLAG_CHKSUM; \\\n                                            (buf)->toport_chksum = chksum; } while(0)\n#endif /* LWIP_CHECKSUM_ON_COPY */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_NETBUF_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/netdb.h",
    "content": "/*\n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Simon Goldschmidt\n *\n */\n#ifndef __LWIP_NETDB_H__\n#define __LWIP_NETDB_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_DNS && LWIP_SOCKET\n\n#include <stddef.h> /* for size_t */\n\n#include \"lwip/inet.h\"\n#include \"lwip/sockets.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* some rarely used options */\n#ifndef LWIP_DNS_API_DECLARE_H_ERRNO\n#define LWIP_DNS_API_DECLARE_H_ERRNO 1\n#endif\n\n#ifndef LWIP_DNS_API_DEFINE_ERRORS\n#define LWIP_DNS_API_DEFINE_ERRORS 1\n#endif\n\n#ifndef LWIP_DNS_API_DECLARE_STRUCTS\n#define LWIP_DNS_API_DECLARE_STRUCTS 1\n#endif\n\n#if LWIP_DNS_API_DEFINE_ERRORS\n/** Errors used by the DNS API functions, h_errno can be one of them */\n#define EAI_NONAME      200\n#define EAI_SERVICE     201\n#define EAI_FAIL        202\n#define EAI_MEMORY      203\n\n#define HOST_NOT_FOUND  210\n#define NO_DATA         211\n#define NO_RECOVERY     212\n#define TRY_AGAIN       213\n#endif /* LWIP_DNS_API_DEFINE_ERRORS */\n\n#if LWIP_DNS_API_DECLARE_STRUCTS\nstruct hostent {\n    char  *h_name;      /* Official name of the host. */\n    char **h_aliases;   /* A pointer to an array of pointers to alternative host names,\n                           terminated by a null pointer. */\n    int    h_addrtype;  /* Address type. */\n    int    h_length;    /* The length, in bytes, of the address. */\n    char **h_addr_list; /* A pointer to an array of pointers to network addresses (in\n                           network byte order) for the host, terminated by a null pointer. */\n#define h_addr h_addr_list[0] /* for backward compatibility */\n};\n\nstruct addrinfo {\n    int               ai_flags;      /* Input flags. */\n    int               ai_family;     /* Address family of socket. */\n    int               ai_socktype;   /* Socket type. */\n    int               ai_protocol;   /* Protocol of socket. */\n    socklen_t         ai_addrlen;    /* Length of socket address. */\n    struct sockaddr  *ai_addr;       /* Socket address of socket. */\n    char             *ai_canonname;  /* Canonical name of service location. */\n    struct addrinfo  *ai_next;       /* Pointer to next in list. */\n};\n#endif /* LWIP_DNS_API_DECLARE_STRUCTS */\n\n#if LWIP_DNS_API_DECLARE_H_ERRNO\n/* application accessable error code set by the DNS API functions */\nextern int h_errno;\n#endif /* LWIP_DNS_API_DECLARE_H_ERRNO*/\n\nstruct hostent *lwip_gethostbyname(const char *name);\nint lwip_gethostbyname_r(const char *name, struct hostent *ret, char *buf,\n                size_t buflen, struct hostent **result, int *h_errnop);\nvoid lwip_freeaddrinfo(struct addrinfo *ai);\nint lwip_getaddrinfo(const char *nodename,\n       const char *servname,\n       const struct addrinfo *hints,\n       struct addrinfo **res);\n\n#if LWIP_COMPAT_SOCKETS\n#define gethostbyname(name) lwip_gethostbyname(name)\n#define gethostbyname_r(name, ret, buf, buflen, result, h_errnop) \\\n       lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop)\n#define freeaddrinfo(addrinfo) lwip_freeaddrinfo(addrinfo)\n#define getaddrinfo(nodname, servname, hints, res) \\\n       lwip_getaddrinfo(nodname, servname, hints, res)\n#endif /* LWIP_COMPAT_SOCKETS */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_DNS && LWIP_SOCKET */\n\n#endif /* __LWIP_NETDB_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/netif.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_NETIF_H__\n#define __LWIP_NETIF_H__\n\n#include \"lwip/opt.h\"\n\n#define ENABLE_LOOPBACK (LWIP_NETIF_LOOPBACK || LWIP_HAVE_LOOPIF)\n\n#include \"lwip/err.h\"\n\n#include \"lwip/ip_addr.h\"\n\n#include \"lwip/def.h\"\n#include \"lwip/pbuf.h\"\n#if LWIP_DHCP\nstruct dhcp;\n#endif\n#if LWIP_AUTOIP\nstruct autoip;\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Throughout this file, IP addresses are expected to be in\n * the same byte order as in IP_PCB. */\n\n/** must be the maximum of all used hardware address lengths\n    across all types of interfaces in use */\n#define NETIF_MAX_HWADDR_LEN 6U\n\n/** Whether the network interface is 'up'. This is\n * a software flag used to control whether this network\n * interface is enabled and processes traffic.\n * It is set by the startup code (for static IP configuration) or\n * by dhcp/autoip when an address has been assigned.\n */\n#define NETIF_FLAG_UP           0x01U\n/** If set, the netif has broadcast capability.\n * Set by the netif driver in its init function. */\n#define NETIF_FLAG_BROADCAST    0x02U\n/** If set, the netif is one end of a point-to-point connection.\n * Set by the netif driver in its init function. */\n#define NETIF_FLAG_POINTTOPOINT 0x04U\n/** If set, the interface is configured using DHCP.\n * Set by the DHCP code when starting or stopping DHCP. */\n#define NETIF_FLAG_DHCP         0x08U\n/** If set, the interface has an active link\n *  (set by the network interface driver).\n * Either set by the netif driver in its init function (if the link\n * is up at that time) or at a later point once the link comes up\n * (if link detection is supported by the hardware). */\n#define NETIF_FLAG_LINK_UP      0x10U\n/** If set, the netif is an ethernet device using ARP.\n * Set by the netif driver in its init function.\n * Used to check input packet types and use of DHCP. */\n#define NETIF_FLAG_ETHARP       0x20U\n/** If set, the netif is an ethernet device. It might not use\n * ARP or TCP/IP if it is used for PPPoE only.\n */\n#define NETIF_FLAG_ETHERNET     0x40U\n/** If set, the netif has IGMP capability.\n * Set by the netif driver in its init function. */\n#define NETIF_FLAG_IGMP         0x80U\n\n/** Function prototype for netif init functions. Set up flags and output/linkoutput\n * callback functions in this function.\n *\n * @param netif The netif to initialize\n */\ntypedef err_t (*netif_init_fn)(struct netif *netif);\n/** Function prototype for netif->input functions. This function is saved as 'input'\n * callback function in the netif struct. Call it when a packet has been received.\n *\n * @param p The received packet, copied into a pbuf\n * @param inp The netif which received the packet\n */\ntypedef err_t (*netif_input_fn)(struct pbuf *p, struct netif *inp);\n/** Function prototype for netif->output functions. Called by lwIP when a packet\n * shall be sent. For ethernet netif, set this to 'etharp_output' and set\n * 'linkoutput'.\n *\n * @param netif The netif which shall send a packet\n * @param p The packet to send (p->payload points to IP header)\n * @param ipaddr The IP address to which the packet shall be sent\n */\ntypedef err_t (*netif_output_fn)(struct netif *netif, struct pbuf *p,\n       ip_addr_t *ipaddr);\n/** Function prototype for netif->linkoutput functions. Only used for ethernet\n * netifs. This function is called by ARP when a packet shall be sent.\n *\n * @param netif The netif which shall send a packet\n * @param p The packet to send (raw ethernet packet)\n */\ntypedef err_t (*netif_linkoutput_fn)(struct netif *netif, struct pbuf *p);\n/** Function prototype for netif status- or link-callback functions. */\ntypedef void (*netif_status_callback_fn)(struct netif *netif);\n/** Function prototype for netif igmp_mac_filter functions */\ntypedef err_t (*netif_igmp_mac_filter_fn)(struct netif *netif,\n       ip_addr_t *group, u8_t action);\n\n/** Generic data structure used for all lwIP network interfaces.\n *  The following fields should be filled in by the initialization\n *  function for the device driver: hwaddr_len, hwaddr[], mtu, flags */\nstruct netif {\n  /** pointer to next in linked list */\n  struct netif *next;\n\n  /** IP address configuration in network byte order */\n  ip_addr_t ip_addr;\n  ip_addr_t netmask;\n  ip_addr_t gw;\n\n  /** This function is called by the network device driver\n   *  to pass a packet up the TCP/IP stack. */\n  netif_input_fn input;\n  /** This function is called by the IP module when it wants\n   *  to send a packet on the interface. This function typically\n   *  first resolves the hardware address, then sends the packet. */\n  netif_output_fn output;\n  /** This function is called by the ARP module when it wants\n   *  to send a packet on the interface. This function outputs\n   *  the pbuf as-is on the link medium. */\n  netif_linkoutput_fn linkoutput;\n#if LWIP_NETIF_STATUS_CALLBACK\n  /** This function is called when the netif state is set to up or down\n   */\n  netif_status_callback_fn status_callback;\n#endif /* LWIP_NETIF_STATUS_CALLBACK */\n#if LWIP_NETIF_LINK_CALLBACK\n  /** This function is called when the netif link is set to up or down\n   */\n  netif_status_callback_fn link_callback;\n#endif /* LWIP_NETIF_LINK_CALLBACK */\n#if LWIP_NETIF_REMOVE_CALLBACK\n  /** This function is called when the netif has been removed */\n  netif_status_callback_fn remove_callback;\n#endif /* LWIP_NETIF_REMOVE_CALLBACK */\n  /** This field can be set by the device driver and could point\n   *  to state information for the device. */\n  void *state;\n#if LWIP_DHCP\n  /** the DHCP client state information for this netif */\n  struct dhcp *dhcp;\n#endif /* LWIP_DHCP */\n#if LWIP_AUTOIP\n  /** the AutoIP client state information for this netif */\n  struct autoip *autoip;\n#endif\n#if LWIP_NETIF_HOSTNAME\n  /* the hostname for this netif, NULL is a valid value */\n  char*  hostname;\n#endif /* LWIP_NETIF_HOSTNAME */\n  /** maximum transfer unit (in bytes) */\n  u16_t mtu;\n  /** number of bytes used in hwaddr */\n  u8_t hwaddr_len;\n  /** link level hardware address of this interface */\n  u8_t hwaddr[NETIF_MAX_HWADDR_LEN];\n  /** flags (see NETIF_FLAG_ above) */\n  u8_t flags;\n  /** descriptive abbreviation */\n  char name[2];\n  /** number of this interface */\n  u8_t num;\n#if LWIP_SNMP\n  /** link type (from \"snmp_ifType\" enum from snmp.h) */\n  u8_t link_type;\n  /** (estimate) link speed */\n  u32_t link_speed;\n  /** timestamp at last change made (up/down) */\n  u32_t ts;\n  /** counters */\n  u32_t ifinoctets;\n  u32_t ifinucastpkts;\n  u32_t ifinnucastpkts;\n  u32_t ifindiscards;\n  u32_t ifoutoctets;\n  u32_t ifoutucastpkts;\n  u32_t ifoutnucastpkts;\n  u32_t ifoutdiscards;\n#endif /* LWIP_SNMP */\n#if LWIP_IGMP\n  /** This function could be called to add or delete a entry in the multicast\n      filter table of the ethernet MAC.*/\n  netif_igmp_mac_filter_fn igmp_mac_filter;\n#endif /* LWIP_IGMP */\n#if LWIP_NETIF_HWADDRHINT\n  u8_t *addr_hint;\n#endif /* LWIP_NETIF_HWADDRHINT */\n#if ENABLE_LOOPBACK\n  /* List of packets to be queued for ourselves. */\n  struct pbuf *loop_first;\n  struct pbuf *loop_last;\n#if LWIP_LOOPBACK_MAX_PBUFS\n  u16_t loop_cnt_current;\n#endif /* LWIP_LOOPBACK_MAX_PBUFS */\n#endif /* ENABLE_LOOPBACK */\n};\n\n#if LWIP_SNMP\n#define NETIF_INIT_SNMP(netif, type, speed) \\\n  /* use \"snmp_ifType\" enum from snmp.h for \"type\", snmp_ifType_ethernet_csmacd by example */ \\\n  (netif)->link_type = (type);    \\\n  /* your link speed here (units: bits per second) */  \\\n  (netif)->link_speed = (speed);  \\\n  (netif)->ts = 0;              \\\n  (netif)->ifinoctets = 0;      \\\n  (netif)->ifinucastpkts = 0;   \\\n  (netif)->ifinnucastpkts = 0;  \\\n  (netif)->ifindiscards = 0;    \\\n  (netif)->ifoutoctets = 0;     \\\n  (netif)->ifoutucastpkts = 0;  \\\n  (netif)->ifoutnucastpkts = 0; \\\n  (netif)->ifoutdiscards = 0\n#else /* LWIP_SNMP */\n#define NETIF_INIT_SNMP(netif, type, speed)\n#endif /* LWIP_SNMP */\n\n\n/** The list of network interfaces. */\nextern struct netif *netif_list;\n/** The default network interface. */\nextern struct netif *netif_default;\n\nvoid netif_init(void);\n\nstruct netif *netif_add(struct netif *netif, ip_addr_t *ipaddr, ip_addr_t *netmask,\n      ip_addr_t *gw, void *state, netif_init_fn init, netif_input_fn input);\n\nvoid\nnetif_set_addr(struct netif *netif, ip_addr_t *ipaddr, ip_addr_t *netmask,\n      ip_addr_t *gw);\nvoid netif_remove(struct netif * netif);\n\n/* Returns a network interface given its name. The name is of the form\n   \"et0\", where the first two letters are the \"name\" field in the\n   netif structure, and the digit is in the num field in the same\n   structure. */\nstruct netif *netif_find(char *name);\n\nvoid netif_set_default(struct netif *netif);\n\nvoid netif_set_ipaddr(struct netif *netif, ip_addr_t *ipaddr);\nvoid netif_set_netmask(struct netif *netif, ip_addr_t *netmask);\nvoid netif_set_gw(struct netif *netif, ip_addr_t *gw);\n\nvoid netif_set_up(struct netif *netif);\nvoid netif_set_down(struct netif *netif);\n/** Ask if an interface is up */\n#define netif_is_up(netif) (((netif)->flags & NETIF_FLAG_UP) ? (u8_t)1 : (u8_t)0)\n\n#if LWIP_NETIF_STATUS_CALLBACK\nvoid netif_set_status_callback(struct netif *netif, netif_status_callback_fn status_callback);\n#endif /* LWIP_NETIF_STATUS_CALLBACK */\n#if LWIP_NETIF_REMOVE_CALLBACK\nvoid netif_set_remove_callback(struct netif *netif, netif_status_callback_fn remove_callback);\n#endif /* LWIP_NETIF_REMOVE_CALLBACK */\n\nvoid netif_set_link_up(struct netif *netif);\nvoid netif_set_link_down(struct netif *netif);\n/** Ask if a link is up */ \n#define netif_is_link_up(netif) (((netif)->flags & NETIF_FLAG_LINK_UP) ? (u8_t)1 : (u8_t)0)\n\n#if LWIP_NETIF_LINK_CALLBACK\nvoid netif_set_link_callback(struct netif *netif, netif_status_callback_fn link_callback);\n#endif /* LWIP_NETIF_LINK_CALLBACK */\n\n#if LWIP_NETIF_HOSTNAME\n#define netif_set_hostname(netif, name) do { if((netif) != NULL) { (netif)->hostname = name; }}while(0)\n#define netif_get_hostname(netif) (((netif) != NULL) ? ((netif)->hostname) : NULL)\n#endif /* LWIP_NETIF_HOSTNAME */\n\n#if LWIP_IGMP\n#define netif_set_igmp_mac_filter(netif, function) do { if((netif) != NULL) { (netif)->igmp_mac_filter = function; }}while(0)\n#define netif_get_igmp_mac_filter(netif) (((netif) != NULL) ? ((netif)->igmp_mac_filter) : NULL)\n#endif /* LWIP_IGMP */\n\n#if ENABLE_LOOPBACK\nerr_t netif_loop_output(struct netif *netif, struct pbuf *p, ip_addr_t *dest_ip);\nvoid netif_poll(struct netif *netif);\n#if !LWIP_NETIF_LOOPBACK_MULTITHREADING\nvoid netif_poll_all(void);\n#endif /* !LWIP_NETIF_LOOPBACK_MULTITHREADING */\n#endif /* ENABLE_LOOPBACK */\n\n#if LWIP_NETIF_HWADDRHINT\n#define NETIF_SET_HWADDRHINT(netif, hint) ((netif)->addr_hint = (hint))\n#else /* LWIP_NETIF_HWADDRHINT */\n#define NETIF_SET_HWADDRHINT(netif, hint)\n#endif /* LWIP_NETIF_HWADDRHINT */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_NETIF_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/netifapi.h",
    "content": "/*\n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n */\n \n#ifndef __LWIP_NETIFAPI_H__\n#define __LWIP_NETIFAPI_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_NETIF_API /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/sys.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/dhcp.h\"\n#include \"lwip/autoip.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\ntypedef void (*netifapi_void_fn)(struct netif *netif);\ntypedef err_t (*netifapi_errt_fn)(struct netif *netif);\n\nstruct netifapi_msg_msg {\n#if !LWIP_TCPIP_CORE_LOCKING\n  sys_sem_t sem;\n#endif /* !LWIP_TCPIP_CORE_LOCKING */\n  err_t err;\n  struct netif *netif;\n  union {\n    struct {\n      ip_addr_t *ipaddr;\n      ip_addr_t *netmask;\n      ip_addr_t *gw;\n      void *state;\n      netif_init_fn init;\n      netif_input_fn input;\n    } add;\n    struct {\n      netifapi_void_fn voidfunc;\n      netifapi_errt_fn errtfunc;\n    } common;\n  } msg;\n};\n\nstruct netifapi_msg {\n  void (* function)(struct netifapi_msg_msg *msg);\n  struct netifapi_msg_msg msg;\n};\n\n\n/* API for application */\nerr_t netifapi_netif_add       ( struct netif *netif,\n                                 ip_addr_t *ipaddr,\n                                 ip_addr_t *netmask,\n                                 ip_addr_t *gw,\n                                 void *state,\n                                 netif_init_fn init,\n                                 netif_input_fn input);\n\nerr_t netifapi_netif_set_addr  ( struct netif *netif,\n                                 ip_addr_t *ipaddr,\n                                 ip_addr_t *netmask,\n                                 ip_addr_t *gw );\n\nerr_t netifapi_netif_common    ( struct netif *netif,\n                                 netifapi_void_fn voidfunc,\n                                 netifapi_errt_fn errtfunc);\n\n#define netifapi_netif_remove(n)      netifapi_netif_common(n, netif_remove, NULL)\n#define netifapi_netif_set_up(n)      netifapi_netif_common(n, netif_set_up, NULL)\n#define netifapi_netif_set_down(n)    netifapi_netif_common(n, netif_set_down, NULL)\n#define netifapi_netif_set_default(n) netifapi_netif_common(n, netif_set_default, NULL)\n#define netifapi_dhcp_start(n)        netifapi_netif_common(n, NULL, dhcp_start)\n#define netifapi_dhcp_stop(n)         netifapi_netif_common(n, dhcp_stop, NULL)\n#define netifapi_autoip_start(n)      netifapi_netif_common(n, NULL, autoip_start)\n#define netifapi_autoip_stop(n)       netifapi_netif_common(n, NULL, autoip_stop)\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_NETIF_API */\n\n#endif /* __LWIP_NETIFAPI_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/opt.h",
    "content": "/**\n * @file\n *\n * lwIP Options Configuration\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_OPT_H__\n#define __LWIP_OPT_H__\n\n/*\n * Include user defined options first. Anything not defined in these files\n * will be set to standard values. Override anything you dont like!\n */\n#include \"lwipopts.h\"\n#include \"lwip/debug.h\"\n\n/*\n   -----------------------------------------------\n   ---------- Platform specific locking ----------\n   -----------------------------------------------\n*/\n\n/**\n * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain\n * critical regions during buffer allocation, deallocation and memory\n * allocation and deallocation.\n */\n#ifndef SYS_LIGHTWEIGHT_PROT\n#define SYS_LIGHTWEIGHT_PROT            0\n#endif\n\n/** \n * NO_SYS==1: Provides VERY minimal functionality. Otherwise,\n * use lwIP facilities.\n */\n#ifndef NO_SYS\n#define NO_SYS                          0\n#endif\n\n/**\n * NO_SYS_NO_TIMERS==1: Drop support for sys_timeout when NO_SYS==1\n * Mainly for compatibility to old versions.\n */\n#ifndef NO_SYS_NO_TIMERS\n#define NO_SYS_NO_TIMERS                0\n#endif\n\n/**\n * MEMCPY: override this if you have a faster implementation at hand than the\n * one included in your C library\n */\n#ifndef MEMCPY\n#define MEMCPY(dst,src,len)             memcpy(dst,src,len)\n#endif\n\n/**\n * SMEMCPY: override this with care! Some compilers (e.g. gcc) can inline a\n * call to memcpy() if the length is known at compile time and is small.\n */\n#ifndef SMEMCPY\n#define SMEMCPY(dst,src,len)            memcpy(dst,src,len)\n#endif\n\n/*\n   ------------------------------------\n   ---------- Memory options ----------\n   ------------------------------------\n*/\n/**\n * MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library\n * instead of the lwip internal allocator. Can save code size if you\n * already use it.\n */\n#ifndef MEM_LIBC_MALLOC\n#define MEM_LIBC_MALLOC                 0\n#endif\n\n/**\n* MEMP_MEM_MALLOC==1: Use mem_malloc/mem_free instead of the lwip pool allocator.\n* Especially useful with MEM_LIBC_MALLOC but handle with care regarding execution\n* speed and usage from interrupts!\n*/\n#ifndef MEMP_MEM_MALLOC\n#define MEMP_MEM_MALLOC                 0\n#endif\n\n/**\n * MEM_ALIGNMENT: should be set to the alignment of the CPU\n *    4 byte alignment -> #define MEM_ALIGNMENT 4\n *    2 byte alignment -> #define MEM_ALIGNMENT 2\n */\n#ifndef MEM_ALIGNMENT\n#define MEM_ALIGNMENT                   1\n#endif\n\n/**\n * MEM_SIZE: the size of the heap memory. If the application will send\n * a lot of data that needs to be copied, this should be set high.\n */\n#ifndef MEM_SIZE\n#define MEM_SIZE                        1600\n#endif\n\n/**\n * MEMP_SEPARATE_POOLS: if defined to 1, each pool is placed in its own array.\n * This can be used to individually change the location of each pool.\n * Default is one big array for all pools\n */\n#ifndef MEMP_SEPARATE_POOLS\n#define MEMP_SEPARATE_POOLS             0\n#endif\n\n/**\n * MEMP_OVERFLOW_CHECK: memp overflow protection reserves a configurable\n * amount of bytes before and after each memp element in every pool and fills\n * it with a prominent default value.\n *    MEMP_OVERFLOW_CHECK == 0 no checking\n *    MEMP_OVERFLOW_CHECK == 1 checks each element when it is freed\n *    MEMP_OVERFLOW_CHECK >= 2 checks each element in every pool every time\n *      memp_malloc() or memp_free() is called (useful but slow!)\n */\n#ifndef MEMP_OVERFLOW_CHECK\n#define MEMP_OVERFLOW_CHECK             0\n#endif\n\n/**\n * MEMP_SANITY_CHECK==1: run a sanity check after each memp_free() to make\n * sure that there are no cycles in the linked lists.\n */\n#ifndef MEMP_SANITY_CHECK\n#define MEMP_SANITY_CHECK               0\n#endif\n\n/**\n * MEM_USE_POOLS==1: Use an alternative to malloc() by allocating from a set\n * of memory pools of various sizes. When mem_malloc is called, an element of\n * the smallest pool that can provide the length needed is returned.\n * To use this, MEMP_USE_CUSTOM_POOLS also has to be enabled.\n */\n#ifndef MEM_USE_POOLS\n#define MEM_USE_POOLS                   0\n#endif\n\n/**\n * MEM_USE_POOLS_TRY_BIGGER_POOL==1: if one malloc-pool is empty, try the next\n * bigger pool - WARNING: THIS MIGHT WASTE MEMORY but it can make a system more\n * reliable. */\n#ifndef MEM_USE_POOLS_TRY_BIGGER_POOL\n#define MEM_USE_POOLS_TRY_BIGGER_POOL   0\n#endif\n\n/**\n * MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h\n * that defines additional pools beyond the \"standard\" ones required\n * by lwIP. If you set this to 1, you must have lwippools.h in your \n * inlude path somewhere. \n */\n#ifndef MEMP_USE_CUSTOM_POOLS\n#define MEMP_USE_CUSTOM_POOLS           0\n#endif\n\n/**\n * Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from\n * interrupt context (or another context that doesn't allow waiting for a\n * semaphore).\n * If set to 1, mem_malloc will be protected by a semaphore and SYS_ARCH_PROTECT,\n * while mem_free will only use SYS_ARCH_PROTECT. mem_malloc SYS_ARCH_UNPROTECTs\n * with each loop so that mem_free can run.\n *\n * ATTENTION: As you can see from the above description, this leads to dis-/\n * enabling interrupts often, which can be slow! Also, on low memory, mem_malloc\n * can need longer.\n *\n * If you don't want that, at least for NO_SYS=0, you can still use the following\n * functions to enqueue a deallocation call which then runs in the tcpip_thread\n * context:\n * - pbuf_free_callback(p);\n * - mem_free_callback(m);\n */\n#ifndef LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0\n#endif\n\n/*\n   ------------------------------------------------\n   ---------- Internal Memory Pool Sizes ----------\n   ------------------------------------------------\n*/\n/**\n * MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF).\n * If the application sends a lot of data out of ROM (or other static memory),\n * this should be set high.\n */\n#ifndef MEMP_NUM_PBUF\n#define MEMP_NUM_PBUF                   16\n#endif\n\n/**\n * MEMP_NUM_RAW_PCB: Number of raw connection PCBs\n * (requires the LWIP_RAW option)\n */\n#ifndef MEMP_NUM_RAW_PCB\n#define MEMP_NUM_RAW_PCB                4\n#endif\n\n/**\n * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One\n * per active UDP \"connection\".\n * (requires the LWIP_UDP option)\n */\n#ifndef MEMP_NUM_UDP_PCB\n#define MEMP_NUM_UDP_PCB                4\n#endif\n\n/**\n * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections.\n * (requires the LWIP_TCP option)\n */\n#ifndef MEMP_NUM_TCP_PCB\n#define MEMP_NUM_TCP_PCB                5\n#endif\n\n/**\n * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections.\n * (requires the LWIP_TCP option)\n */\n#ifndef MEMP_NUM_TCP_PCB_LISTEN\n#define MEMP_NUM_TCP_PCB_LISTEN         8\n#endif\n\n/**\n * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments.\n * (requires the LWIP_TCP option)\n */\n#ifndef MEMP_NUM_TCP_SEG\n#define MEMP_NUM_TCP_SEG                16\n#endif\n\n/**\n * MEMP_NUM_REASSDATA: the number of IP packets simultaneously queued for\n * reassembly (whole packets, not fragments!)\n */\n#ifndef MEMP_NUM_REASSDATA\n#define MEMP_NUM_REASSDATA              5\n#endif\n\n/**\n * MEMP_NUM_FRAG_PBUF: the number of IP fragments simultaneously sent\n * (fragments, not whole packets!).\n * This is only used with IP_FRAG_USES_STATIC_BUF==0 and\n * LWIP_NETIF_TX_SINGLE_PBUF==0 and only has to be > 1 with DMA-enabled MACs\n * where the packet is not yet sent when netif->output returns.\n */\n#ifndef MEMP_NUM_FRAG_PBUF\n#define MEMP_NUM_FRAG_PBUF              15\n#endif\n\n/**\n * MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing\n * packets (pbufs) that are waiting for an ARP request (to resolve\n * their destination address) to finish.\n * (requires the ARP_QUEUEING option)\n */\n#ifndef MEMP_NUM_ARP_QUEUE\n#define MEMP_NUM_ARP_QUEUE              30\n#endif\n\n/**\n * MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces\n * can be members et the same time (one per netif - allsystems group -, plus one\n * per netif membership).\n * (requires the LWIP_IGMP option)\n */\n#ifndef MEMP_NUM_IGMP_GROUP\n#define MEMP_NUM_IGMP_GROUP             8\n#endif\n\n/**\n * MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts.\n * (requires NO_SYS==0)\n * The default number of timeouts is calculated here for all enabled modules.\n * The formula expects settings to be either '0' or '1'.\n */\n#ifndef MEMP_NUM_SYS_TIMEOUT\n#define MEMP_NUM_SYS_TIMEOUT            (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT)\n#endif\n\n/**\n * MEMP_NUM_NETBUF: the number of struct netbufs.\n * (only needed if you use the sequential API, like api_lib.c)\n */\n#ifndef MEMP_NUM_NETBUF\n#define MEMP_NUM_NETBUF                 2\n#endif\n\n/**\n * MEMP_NUM_NETCONN: the number of struct netconns.\n * (only needed if you use the sequential API, like api_lib.c)\n */\n#ifndef MEMP_NUM_NETCONN\n#define MEMP_NUM_NETCONN                4\n#endif\n\n/**\n * MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used\n * for callback/timeout API communication. \n * (only needed if you use tcpip.c)\n */\n#ifndef MEMP_NUM_TCPIP_MSG_API\n#define MEMP_NUM_TCPIP_MSG_API          8\n#endif\n\n/**\n * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used\n * for incoming packets. \n * (only needed if you use tcpip.c)\n */\n#ifndef MEMP_NUM_TCPIP_MSG_INPKT\n#define MEMP_NUM_TCPIP_MSG_INPKT        8\n#endif\n\n/**\n * MEMP_NUM_SNMP_NODE: the number of leafs in the SNMP tree.\n */\n#ifndef MEMP_NUM_SNMP_NODE\n#define MEMP_NUM_SNMP_NODE              50\n#endif\n\n/**\n * MEMP_NUM_SNMP_ROOTNODE: the number of branches in the SNMP tree.\n * Every branch has one leaf (MEMP_NUM_SNMP_NODE) at least!\n */\n#ifndef MEMP_NUM_SNMP_ROOTNODE\n#define MEMP_NUM_SNMP_ROOTNODE          30\n#endif\n\n/**\n * MEMP_NUM_SNMP_VARBIND: the number of concurrent requests (does not have to\n * be changed normally) - 2 of these are used per request (1 for input,\n * 1 for output)\n */\n#ifndef MEMP_NUM_SNMP_VARBIND\n#define MEMP_NUM_SNMP_VARBIND           2\n#endif\n\n/**\n * MEMP_NUM_SNMP_VALUE: the number of OID or values concurrently used\n * (does not have to be changed normally) - 3 of these are used per request\n * (1 for the value read and 2 for OIDs - input and output)\n */\n#ifndef MEMP_NUM_SNMP_VALUE\n#define MEMP_NUM_SNMP_VALUE             3\n#endif\n\n/**\n * MEMP_NUM_NETDB: the number of concurrently running lwip_addrinfo() calls\n * (before freeing the corresponding memory using lwip_freeaddrinfo()).\n */\n#ifndef MEMP_NUM_NETDB\n#define MEMP_NUM_NETDB                  1\n#endif\n\n/**\n * MEMP_NUM_LOCALHOSTLIST: the number of host entries in the local host list\n * if DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1.\n */\n#ifndef MEMP_NUM_LOCALHOSTLIST\n#define MEMP_NUM_LOCALHOSTLIST          1\n#endif\n\n/**\n * MEMP_NUM_PPPOE_INTERFACES: the number of concurrently active PPPoE\n * interfaces (only used with PPPOE_SUPPORT==1)\n */\n#ifndef MEMP_NUM_PPPOE_INTERFACES\n#define MEMP_NUM_PPPOE_INTERFACES       1\n#endif\n\n/**\n * PBUF_POOL_SIZE: the number of buffers in the pbuf pool. \n */\n#ifndef PBUF_POOL_SIZE\n#define PBUF_POOL_SIZE                  16\n#endif\n\n/*\n   ---------------------------------\n   ---------- ARP options ----------\n   ---------------------------------\n*/\n/**\n * LWIP_ARP==1: Enable ARP functionality.\n */\n#ifndef LWIP_ARP\n#define LWIP_ARP                        1\n#endif\n\n/**\n * ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached.\n */\n#ifndef ARP_TABLE_SIZE\n#define ARP_TABLE_SIZE                  10\n#endif\n\n/**\n * ARP_QUEUEING==1: Multiple outgoing packets are queued during hardware address\n * resolution. By default, only the most recent packet is queued per IP address.\n * This is sufficient for most protocols and mainly reduces TCP connection\n * startup time. Set this to 1 if you know your application sends more than one\n * packet in a row to an IP address that is not in the ARP cache.\n */\n#ifndef ARP_QUEUEING\n#define ARP_QUEUEING                    0\n#endif\n\n/**\n * ETHARP_TRUST_IP_MAC==1: Incoming IP packets cause the ARP table to be\n * updated with the source MAC and IP addresses supplied in the packet.\n * You may want to disable this if you do not trust LAN peers to have the\n * correct addresses, or as a limited approach to attempt to handle\n * spoofing. If disabled, lwIP will need to make a new ARP request if\n * the peer is not already in the ARP table, adding a little latency.\n * The peer *is* in the ARP table if it requested our address before.\n * Also notice that this slows down input processing of every IP packet!\n */\n#ifndef ETHARP_TRUST_IP_MAC\n#define ETHARP_TRUST_IP_MAC             0\n#endif\n\n/**\n * ETHARP_SUPPORT_VLAN==1: support receiving ethernet packets with VLAN header.\n * Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check.\n * If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted.\n * If ETHARP_VLAN_CHECK is not defined, all traffic is accepted.\n * Alternatively, define a function/define ETHARP_VLAN_CHECK_FN(eth_hdr, vlan)\n * that returns 1 to accept a packet or 0 to drop a packet.\n */\n#ifndef ETHARP_SUPPORT_VLAN\n#define ETHARP_SUPPORT_VLAN             0\n#endif\n\n/** LWIP_ETHERNET==1: enable ethernet support for PPPoE even though ARP\n * might be disabled\n */\n#ifndef LWIP_ETHERNET\n#define LWIP_ETHERNET                   (LWIP_ARP || PPPOE_SUPPORT)\n#endif\n\n/** ETH_PAD_SIZE: number of bytes added before the ethernet header to ensure\n * alignment of payload after that header. Since the header is 14 bytes long,\n * without this padding e.g. addresses in the IP header will not be aligned\n * on a 32-bit boundary, so setting this to 2 can speed up 32-bit-platforms.\n */\n#ifndef ETH_PAD_SIZE\n#define ETH_PAD_SIZE                    0\n#endif\n\n/** ETHARP_SUPPORT_STATIC_ENTRIES==1: enable code to support static ARP table\n * entries (using etharp_add_static_entry/etharp_remove_static_entry).\n */\n#ifndef ETHARP_SUPPORT_STATIC_ENTRIES\n#define ETHARP_SUPPORT_STATIC_ENTRIES   0\n#endif\n\n\n/*\n   --------------------------------\n   ---------- IP options ----------\n   --------------------------------\n*/\n/**\n * IP_FORWARD==1: Enables the ability to forward IP packets across network\n * interfaces. If you are going to run lwIP on a device with only one network\n * interface, define this to 0.\n */\n#ifndef IP_FORWARD\n#define IP_FORWARD                      0\n#endif\n\n/**\n * IP_OPTIONS_ALLOWED: Defines the behavior for IP options.\n *      IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped.\n *      IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed).\n */\n#ifndef IP_OPTIONS_ALLOWED\n#define IP_OPTIONS_ALLOWED              1\n#endif\n\n/**\n * IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that\n * this option does not affect outgoing packet sizes, which can be controlled\n * via IP_FRAG.\n */\n#ifndef IP_REASSEMBLY\n#define IP_REASSEMBLY                   1\n#endif\n\n/**\n * IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note\n * that this option does not affect incoming packet sizes, which can be\n * controlled via IP_REASSEMBLY.\n */\n#ifndef IP_FRAG\n#define IP_FRAG                         1\n#endif\n\n/**\n * IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally)\n * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived\n * in this time, the whole packet is discarded.\n */\n#ifndef IP_REASS_MAXAGE\n#define IP_REASS_MAXAGE                 3\n#endif\n\n/**\n * IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled.\n * Since the received pbufs are enqueued, be sure to configure\n * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive\n * packets even if the maximum amount of fragments is enqueued for reassembly!\n */\n#ifndef IP_REASS_MAX_PBUFS\n#define IP_REASS_MAX_PBUFS              10\n#endif\n\n/**\n * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP\n * fragmentation. Otherwise pbufs are allocated and reference the original\n * packet data to be fragmented (or with LWIP_NETIF_TX_SINGLE_PBUF==1,\n * new PBUF_RAM pbufs are used for fragments).\n * ATTENTION: IP_FRAG_USES_STATIC_BUF==1 may not be used for DMA-enabled MACs!\n */\n#ifndef IP_FRAG_USES_STATIC_BUF\n#define IP_FRAG_USES_STATIC_BUF         0\n#endif\n\n/**\n * IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer\n * (requires IP_FRAG_USES_STATIC_BUF==1)\n */\n#if IP_FRAG_USES_STATIC_BUF && !defined(IP_FRAG_MAX_MTU)\n#define IP_FRAG_MAX_MTU                 1500\n#endif\n\n/**\n * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers.\n */\n#ifndef IP_DEFAULT_TTL\n#define IP_DEFAULT_TTL                  255\n#endif\n\n/**\n * IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast\n * filter per pcb on udp and raw send operations. To enable broadcast filter\n * on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1.\n */\n#ifndef IP_SOF_BROADCAST\n#define IP_SOF_BROADCAST                0\n#endif\n\n/**\n * IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast\n * filter on recv operations.\n */\n#ifndef IP_SOF_BROADCAST_RECV\n#define IP_SOF_BROADCAST_RECV           0\n#endif\n\n/**\n * IP_FORWARD_ALLOW_TX_ON_RX_NETIF==1: allow ip_forward() to send packets back\n * out on the netif where it was received. This should only be used for\n * wireless networks.\n * ATTENTION: When this is 1, make sure your netif driver correctly marks incoming\n * link-layer-broadcast/multicast packets as such using the corresponding pbuf flags!\n */\n#ifndef IP_FORWARD_ALLOW_TX_ON_RX_NETIF\n#define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0\n#endif\n\n/**\n * LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS==1: randomize the local port for the first\n * local TCP/UDP pcb (default==0). This can prevent creating predictable port\n * numbers after booting a device.\n */\n#ifndef LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS\n#define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 0\n#endif\n\n/*\n   ----------------------------------\n   ---------- ICMP options ----------\n   ----------------------------------\n*/\n/**\n * LWIP_ICMP==1: Enable ICMP module inside the IP stack.\n * Be careful, disable that make your product non-compliant to RFC1122\n */\n#ifndef LWIP_ICMP\n#define LWIP_ICMP                       1\n#endif\n\n/**\n * ICMP_TTL: Default value for Time-To-Live used by ICMP packets.\n */\n#ifndef ICMP_TTL\n#define ICMP_TTL                       (IP_DEFAULT_TTL)\n#endif\n\n/**\n * LWIP_BROADCAST_PING==1: respond to broadcast pings (default is unicast only)\n */\n#ifndef LWIP_BROADCAST_PING\n#define LWIP_BROADCAST_PING             0\n#endif\n\n/**\n * LWIP_MULTICAST_PING==1: respond to multicast pings (default is unicast only)\n */\n#ifndef LWIP_MULTICAST_PING\n#define LWIP_MULTICAST_PING             0\n#endif\n\n/*\n   ---------------------------------\n   ---------- RAW options ----------\n   ---------------------------------\n*/\n/**\n * LWIP_RAW==1: Enable application layer to hook into the IP layer itself.\n */\n#ifndef LWIP_RAW\n#define LWIP_RAW                        1\n#endif\n\n/**\n * LWIP_RAW==1: Enable application layer to hook into the IP layer itself.\n */\n#ifndef RAW_TTL\n#define RAW_TTL                        (IP_DEFAULT_TTL)\n#endif\n\n/*\n   ----------------------------------\n   ---------- DHCP options ----------\n   ----------------------------------\n*/\n/**\n * LWIP_DHCP==1: Enable DHCP module.\n */\n#ifndef LWIP_DHCP\n#define LWIP_DHCP                       0\n#endif\n\n/**\n * DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address.\n */\n#ifndef DHCP_DOES_ARP_CHECK\n#define DHCP_DOES_ARP_CHECK             ((LWIP_DHCP) && (LWIP_ARP))\n#endif\n\n/*\n   ------------------------------------\n   ---------- AUTOIP options ----------\n   ------------------------------------\n*/\n/**\n * LWIP_AUTOIP==1: Enable AUTOIP module.\n */\n#ifndef LWIP_AUTOIP\n#define LWIP_AUTOIP                     0\n#endif\n\n/**\n * LWIP_DHCP_AUTOIP_COOP==1: Allow DHCP and AUTOIP to be both enabled on\n * the same interface at the same time.\n */\n#ifndef LWIP_DHCP_AUTOIP_COOP\n#define LWIP_DHCP_AUTOIP_COOP           0\n#endif\n\n/**\n * LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes\n * that should be sent before falling back on AUTOIP. This can be set\n * as low as 1 to get an AutoIP address very quickly, but you should\n * be prepared to handle a changing IP address when DHCP overrides\n * AutoIP.\n */\n#ifndef LWIP_DHCP_AUTOIP_COOP_TRIES\n#define LWIP_DHCP_AUTOIP_COOP_TRIES     9\n#endif\n\n/*\n   ----------------------------------\n   ---------- SNMP options ----------\n   ----------------------------------\n*/\n/**\n * LWIP_SNMP==1: Turn on SNMP module. UDP must be available for SNMP\n * transport.\n */\n#ifndef LWIP_SNMP\n#define LWIP_SNMP                       0\n#endif\n\n/**\n * SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will\n * allow. At least one request buffer is required.\n * Does not have to be changed unless external MIBs answer request asynchronously\n */\n#ifndef SNMP_CONCURRENT_REQUESTS\n#define SNMP_CONCURRENT_REQUESTS        1\n#endif\n\n/**\n * SNMP_TRAP_DESTINATIONS: Number of trap destinations. At least one trap\n * destination is required\n */\n#ifndef SNMP_TRAP_DESTINATIONS\n#define SNMP_TRAP_DESTINATIONS          1\n#endif\n\n/**\n * SNMP_PRIVATE_MIB: \n * When using a private MIB, you have to create a file 'private_mib.h' that contains\n * a 'struct mib_array_node mib_private' which contains your MIB.\n */\n#ifndef SNMP_PRIVATE_MIB\n#define SNMP_PRIVATE_MIB                0\n#endif\n\n/**\n * Only allow SNMP write actions that are 'safe' (e.g. disabeling netifs is not\n * a safe action and disabled when SNMP_SAFE_REQUESTS = 1).\n * Unsafe requests are disabled by default!\n */\n#ifndef SNMP_SAFE_REQUESTS\n#define SNMP_SAFE_REQUESTS              1\n#endif\n\n/**\n * The maximum length of strings used. This affects the size of\n * MEMP_SNMP_VALUE elements.\n */\n#ifndef SNMP_MAX_OCTET_STRING_LEN\n#define SNMP_MAX_OCTET_STRING_LEN       127\n#endif\n\n/**\n * The maximum depth of the SNMP tree.\n * With private MIBs enabled, this depends on your MIB!\n * This affects the size of MEMP_SNMP_VALUE elements.\n */\n#ifndef SNMP_MAX_TREE_DEPTH\n#define SNMP_MAX_TREE_DEPTH             15\n#endif\n\n/**\n * The size of the MEMP_SNMP_VALUE elements, normally calculated from\n * SNMP_MAX_OCTET_STRING_LEN and SNMP_MAX_TREE_DEPTH.\n */\n#ifndef SNMP_MAX_VALUE_SIZE\n#define SNMP_MAX_VALUE_SIZE             LWIP_MAX((SNMP_MAX_OCTET_STRING_LEN)+1, sizeof(s32_t)*(SNMP_MAX_TREE_DEPTH))\n#endif\n\n/*\n   ----------------------------------\n   ---------- IGMP options ----------\n   ----------------------------------\n*/\n/**\n * LWIP_IGMP==1: Turn on IGMP module. \n */\n#ifndef LWIP_IGMP\n#define LWIP_IGMP                       0\n#endif\n\n/*\n   ----------------------------------\n   ---------- DNS options -----------\n   ----------------------------------\n*/\n/**\n * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS\n * transport.\n */\n#ifndef LWIP_DNS\n#define LWIP_DNS                        0\n#endif\n\n/** DNS maximum number of entries to maintain locally. */\n#ifndef DNS_TABLE_SIZE\n#define DNS_TABLE_SIZE                  4\n#endif\n\n/** DNS maximum host name length supported in the name table. */\n#ifndef DNS_MAX_NAME_LENGTH\n#define DNS_MAX_NAME_LENGTH             256\n#endif\n\n/** The maximum of DNS servers */\n#ifndef DNS_MAX_SERVERS\n#define DNS_MAX_SERVERS                 2\n#endif\n\n/** DNS do a name checking between the query and the response. */\n#ifndef DNS_DOES_NAME_CHECK\n#define DNS_DOES_NAME_CHECK             1\n#endif\n\n/** DNS message max. size. Default value is RFC compliant. */\n#ifndef DNS_MSG_SIZE\n#define DNS_MSG_SIZE                    512\n#endif\n\n/** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled,\n *  you have to define\n *    #define DNS_LOCAL_HOSTLIST_INIT {{\"host1\", 0x123}, {\"host2\", 0x234}}\n *  (an array of structs name/address, where address is an u32_t in network\n *  byte order).\n *\n *  Instead, you can also use an external function:\n *  #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name)\n *  that returns the IP address or INADDR_NONE if not found.\n */\n#ifndef DNS_LOCAL_HOSTLIST\n#define DNS_LOCAL_HOSTLIST              0\n#endif /* DNS_LOCAL_HOSTLIST */\n\n/** If this is turned on, the local host-list can be dynamically changed\n *  at runtime. */\n#ifndef DNS_LOCAL_HOSTLIST_IS_DYNAMIC\n#define DNS_LOCAL_HOSTLIST_IS_DYNAMIC   0\n#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */\n\n/*\n   ---------------------------------\n   ---------- UDP options ----------\n   ---------------------------------\n*/\n/**\n * LWIP_UDP==1: Turn on UDP.\n */\n#ifndef LWIP_UDP\n#define LWIP_UDP                        1\n#endif\n\n/**\n * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP)\n */\n#ifndef LWIP_UDPLITE\n#define LWIP_UDPLITE                    0\n#endif\n\n/**\n * UDP_TTL: Default Time-To-Live value.\n */\n#ifndef UDP_TTL\n#define UDP_TTL                         (IP_DEFAULT_TTL)\n#endif\n\n/**\n * LWIP_NETBUF_RECVINFO==1: append destination addr and port to every netbuf.\n */\n#ifndef LWIP_NETBUF_RECVINFO\n#define LWIP_NETBUF_RECVINFO            0\n#endif\n\n/*\n   ---------------------------------\n   ---------- TCP options ----------\n   ---------------------------------\n*/\n/**\n * LWIP_TCP==1: Turn on TCP.\n */\n#ifndef LWIP_TCP\n#define LWIP_TCP                        1\n#endif\n\n/**\n * TCP_TTL: Default Time-To-Live value.\n */\n#ifndef TCP_TTL\n#define TCP_TTL                         (IP_DEFAULT_TTL)\n#endif\n\n/**\n * TCP_WND: The size of a TCP window.  This must be at least \n * (2 * TCP_MSS) for things to work well\n */\n#ifndef TCP_WND\n#define TCP_WND                         (4 * TCP_MSS)\n#endif \n\n/**\n * TCP_MAXRTX: Maximum number of retransmissions of data segments.\n */\n#ifndef TCP_MAXRTX\n#define TCP_MAXRTX                      12\n#endif\n\n/**\n * TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments.\n */\n#ifndef TCP_SYNMAXRTX\n#define TCP_SYNMAXRTX                   6\n#endif\n\n/**\n * TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order.\n * Define to 0 if your device is low on memory.\n */\n#ifndef TCP_QUEUE_OOSEQ\n#define TCP_QUEUE_OOSEQ                 (LWIP_TCP)\n#endif\n\n/**\n * TCP_MSS: TCP Maximum segment size. (default is 536, a conservative default,\n * you might want to increase this.)\n * For the receive side, this MSS is advertised to the remote side\n * when opening a connection. For the transmit size, this MSS sets\n * an upper limit on the MSS advertised by the remote host.\n */\n#ifndef TCP_MSS\n#define TCP_MSS                         536\n#endif\n\n/**\n * TCP_CALCULATE_EFF_SEND_MSS: \"The maximum size of a segment that TCP really\n * sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which\n * reflects the available reassembly buffer size at the remote host) and the\n * largest size permitted by the IP layer\" (RFC 1122)\n * Setting this to 1 enables code that checks TCP_MSS against the MTU of the\n * netif used for a connection and limits the MSS if it would be too big otherwise.\n */\n#ifndef TCP_CALCULATE_EFF_SEND_MSS\n#define TCP_CALCULATE_EFF_SEND_MSS      1\n#endif\n\n\n/**\n * TCP_SND_BUF: TCP sender buffer space (bytes).\n * To achieve good performance, this should be at least 2 * TCP_MSS.\n */\n#ifndef TCP_SND_BUF\n#define TCP_SND_BUF                     (2 * TCP_MSS)\n#endif\n\n/**\n * TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least\n * as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work.\n */\n#ifndef TCP_SND_QUEUELEN\n#define TCP_SND_QUEUELEN                ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))\n#endif\n\n/**\n * TCP_SNDLOWAT: TCP writable space (bytes). This must be less than\n * TCP_SND_BUF. It is the amount of space which must be available in the\n * TCP snd_buf for select to return writable (combined with TCP_SNDQUEUELOWAT).\n */\n#ifndef TCP_SNDLOWAT\n#define TCP_SNDLOWAT                    LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1)\n#endif\n\n/**\n * TCP_SNDQUEUELOWAT: TCP writable bufs (pbuf count). This must be less\n * than TCP_SND_QUEUELEN. If the number of pbufs queued on a pcb drops below\n * this number, select returns writable (combined with TCP_SNDLOWAT).\n */\n#ifndef TCP_SNDQUEUELOWAT\n#define TCP_SNDQUEUELOWAT               LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5)\n#endif\n\n/**\n * TCP_OOSEQ_MAX_BYTES: The maximum number of bytes queued on ooseq per pcb.\n * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==0.\n */\n#ifndef TCP_OOSEQ_MAX_BYTES\n#define TCP_OOSEQ_MAX_BYTES             0\n#endif\n\n/**\n * TCP_OOSEQ_MAX_PBUFS: The maximum number of pbufs queued on ooseq per pcb.\n * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==0.\n */\n#ifndef TCP_OOSEQ_MAX_PBUFS\n#define TCP_OOSEQ_MAX_PBUFS             0\n#endif\n\n/**\n * TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb.\n */\n#ifndef TCP_LISTEN_BACKLOG\n#define TCP_LISTEN_BACKLOG              0\n#endif\n\n/**\n * The maximum allowed backlog for TCP listen netconns.\n * This backlog is used unless another is explicitly specified.\n * 0xff is the maximum (u8_t).\n */\n#ifndef TCP_DEFAULT_LISTEN_BACKLOG\n#define TCP_DEFAULT_LISTEN_BACKLOG      0xff\n#endif\n\n/**\n * TCP_OVERSIZE: The maximum number of bytes that tcp_write may\n * allocate ahead of time in an attempt to create shorter pbuf chains\n * for transmission. The meaningful range is 0 to TCP_MSS. Some\n * suggested values are:\n *\n * 0:         Disable oversized allocation. Each tcp_write() allocates a new\n              pbuf (old behaviour).\n * 1:         Allocate size-aligned pbufs with minimal excess. Use this if your\n *            scatter-gather DMA requires aligned fragments.\n * 128:       Limit the pbuf/memory overhead to 20%.\n * TCP_MSS:   Try to create unfragmented TCP packets.\n * TCP_MSS/4: Try to create 4 fragments or less per TCP packet.\n */\n#ifndef TCP_OVERSIZE\n#define TCP_OVERSIZE                    TCP_MSS\n#endif\n\n/**\n * LWIP_TCP_TIMESTAMPS==1: support the TCP timestamp option.\n */\n#ifndef LWIP_TCP_TIMESTAMPS\n#define LWIP_TCP_TIMESTAMPS             0\n#endif\n\n/**\n * TCP_WND_UPDATE_THRESHOLD: difference in window to trigger an\n * explicit window update\n */\n#ifndef TCP_WND_UPDATE_THRESHOLD\n#define TCP_WND_UPDATE_THRESHOLD   (TCP_WND / 4)\n#endif\n\n/**\n * LWIP_EVENT_API and LWIP_CALLBACK_API: Only one of these should be set to 1.\n *     LWIP_EVENT_API==1: The user defines lwip_tcp_event() to receive all\n *         events (accept, sent, etc) that happen in the system.\n *     LWIP_CALLBACK_API==1: The PCB callback function is called directly\n *         for the event. This is the default.\n */\n#if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API)\n#define LWIP_EVENT_API                  0\n#define LWIP_CALLBACK_API               1\n#endif\n\n\n/*\n   ----------------------------------\n   ---------- Pbuf options ----------\n   ----------------------------------\n*/\n/**\n * PBUF_LINK_HLEN: the number of bytes that should be allocated for a\n * link level header. The default is 14, the standard value for\n * Ethernet.\n */\n#ifndef PBUF_LINK_HLEN\n#define PBUF_LINK_HLEN                  (14 + ETH_PAD_SIZE)\n#endif\n\n/**\n * PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. The default is\n * designed to accomodate single full size TCP frame in one pbuf, including\n * TCP_MSS, IP header, and link header.\n */\n#ifndef PBUF_POOL_BUFSIZE\n#define PBUF_POOL_BUFSIZE               LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)\n#endif\n\n/*\n   ------------------------------------------------\n   ---------- Network Interfaces options ----------\n   ------------------------------------------------\n*/\n/**\n * LWIP_NETIF_HOSTNAME==1: use DHCP_OPTION_HOSTNAME with netif's hostname\n * field.\n */\n#ifndef LWIP_NETIF_HOSTNAME\n#define LWIP_NETIF_HOSTNAME             0\n#endif\n\n/**\n * LWIP_NETIF_API==1: Support netif api (in netifapi.c)\n */\n#ifndef LWIP_NETIF_API\n#define LWIP_NETIF_API                  0\n#endif\n\n/**\n * LWIP_NETIF_STATUS_CALLBACK==1: Support a callback function whenever an interface\n * changes its up/down status (i.e., due to DHCP IP acquistion)\n */\n#ifndef LWIP_NETIF_STATUS_CALLBACK\n#define LWIP_NETIF_STATUS_CALLBACK      0\n#endif\n\n/**\n * LWIP_NETIF_LINK_CALLBACK==1: Support a callback function from an interface\n * whenever the link changes (i.e., link down)\n */\n#ifndef LWIP_NETIF_LINK_CALLBACK\n#define LWIP_NETIF_LINK_CALLBACK        0\n#endif\n\n/**\n * LWIP_NETIF_REMOVE_CALLBACK==1: Support a callback function that is called\n * when a netif has been removed\n */\n#ifndef LWIP_NETIF_REMOVE_CALLBACK\n#define LWIP_NETIF_REMOVE_CALLBACK      0\n#endif\n\n/**\n * LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g. table\n * indices) in struct netif. TCP and UDP can make use of this to prevent\n * scanning the ARP table for every sent packet. While this is faster for big\n * ARP tables or many concurrent connections, it might be counterproductive\n * if you have a tiny ARP table or if there never are concurrent connections.\n */\n#ifndef LWIP_NETIF_HWADDRHINT\n#define LWIP_NETIF_HWADDRHINT           0\n#endif\n\n/**\n * LWIP_NETIF_LOOPBACK==1: Support sending packets with a destination IP\n * address equal to the netif IP address, looping them back up the stack.\n */\n#ifndef LWIP_NETIF_LOOPBACK\n#define LWIP_NETIF_LOOPBACK             0\n#endif\n\n/**\n * LWIP_LOOPBACK_MAX_PBUFS: Maximum number of pbufs on queue for loopback\n * sending for each netif (0 = disabled)\n */\n#ifndef LWIP_LOOPBACK_MAX_PBUFS\n#define LWIP_LOOPBACK_MAX_PBUFS         0\n#endif\n\n/**\n * LWIP_NETIF_LOOPBACK_MULTITHREADING: Indicates whether threading is enabled in\n * the system, as netifs must change how they behave depending on this setting\n * for the LWIP_NETIF_LOOPBACK option to work.\n * Setting this is needed to avoid reentering non-reentrant functions like\n * tcp_input().\n *    LWIP_NETIF_LOOPBACK_MULTITHREADING==1: Indicates that the user is using a\n *       multithreaded environment like tcpip.c. In this case, netif->input()\n *       is called directly.\n *    LWIP_NETIF_LOOPBACK_MULTITHREADING==0: Indicates a polling (or NO_SYS) setup.\n *       The packets are put on a list and netif_poll() must be called in\n *       the main application loop.\n */\n#ifndef LWIP_NETIF_LOOPBACK_MULTITHREADING\n#define LWIP_NETIF_LOOPBACK_MULTITHREADING    (!NO_SYS)\n#endif\n\n/**\n * LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data\n * to be sent into one single pbuf. This is for compatibility with DMA-enabled\n * MACs that do not support scatter-gather.\n * Beware that this might involve CPU-memcpy before transmitting that would not\n * be needed without this flag! Use this only if you need to!\n *\n * @todo: TCP and IP-frag do not work with this, yet:\n */\n#ifndef LWIP_NETIF_TX_SINGLE_PBUF\n#define LWIP_NETIF_TX_SINGLE_PBUF             0\n#endif /* LWIP_NETIF_TX_SINGLE_PBUF */\n\n/*\n   ------------------------------------\n   ---------- LOOPIF options ----------\n   ------------------------------------\n*/\n/**\n * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1) and loopif.c\n */\n#ifndef LWIP_HAVE_LOOPIF\n#define LWIP_HAVE_LOOPIF                0\n#endif\n\n/*\n   ------------------------------------\n   ---------- SLIPIF options ----------\n   ------------------------------------\n*/\n/**\n * LWIP_HAVE_SLIPIF==1: Support slip interface and slipif.c\n */\n#ifndef LWIP_HAVE_SLIPIF\n#define LWIP_HAVE_SLIPIF                0\n#endif\n\n/*\n   ------------------------------------\n   ---------- Thread options ----------\n   ------------------------------------\n*/\n/**\n * TCPIP_THREAD_NAME: The name assigned to the main tcpip thread.\n */\n#ifndef TCPIP_THREAD_NAME\n#define TCPIP_THREAD_NAME              \"tcpip_thread\"\n#endif\n\n/**\n * TCPIP_THREAD_STACKSIZE: The stack size used by the main tcpip thread.\n * The stack size value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef TCPIP_THREAD_STACKSIZE\n#define TCPIP_THREAD_STACKSIZE          0\n#endif\n\n/**\n * TCPIP_THREAD_PRIO: The priority assigned to the main tcpip thread.\n * The priority value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef TCPIP_THREAD_PRIO\n#define TCPIP_THREAD_PRIO               1\n#endif\n\n/**\n * TCPIP_MBOX_SIZE: The mailbox size for the tcpip thread messages\n * The queue size value itself is platform-dependent, but is passed to\n * sys_mbox_new() when tcpip_init is called.\n */\n#ifndef TCPIP_MBOX_SIZE\n#define TCPIP_MBOX_SIZE                 0\n#endif\n\n/**\n * SLIPIF_THREAD_NAME: The name assigned to the slipif_loop thread.\n */\n#ifndef SLIPIF_THREAD_NAME\n#define SLIPIF_THREAD_NAME             \"slipif_loop\"\n#endif\n\n/**\n * SLIP_THREAD_STACKSIZE: The stack size used by the slipif_loop thread.\n * The stack size value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef SLIPIF_THREAD_STACKSIZE\n#define SLIPIF_THREAD_STACKSIZE         0\n#endif\n\n/**\n * SLIPIF_THREAD_PRIO: The priority assigned to the slipif_loop thread.\n * The priority value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef SLIPIF_THREAD_PRIO\n#define SLIPIF_THREAD_PRIO              1\n#endif\n\n/**\n * PPP_THREAD_NAME: The name assigned to the pppInputThread.\n */\n#ifndef PPP_THREAD_NAME\n#define PPP_THREAD_NAME                \"pppInputThread\"\n#endif\n\n/**\n * PPP_THREAD_STACKSIZE: The stack size used by the pppInputThread.\n * The stack size value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef PPP_THREAD_STACKSIZE\n#define PPP_THREAD_STACKSIZE            0\n#endif\n\n/**\n * PPP_THREAD_PRIO: The priority assigned to the pppInputThread.\n * The priority value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef PPP_THREAD_PRIO\n#define PPP_THREAD_PRIO                 1\n#endif\n\n/**\n * DEFAULT_THREAD_NAME: The name assigned to any other lwIP thread.\n */\n#ifndef DEFAULT_THREAD_NAME\n#define DEFAULT_THREAD_NAME            \"lwIP\"\n#endif\n\n/**\n * DEFAULT_THREAD_STACKSIZE: The stack size used by any other lwIP thread.\n * The stack size value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef DEFAULT_THREAD_STACKSIZE\n#define DEFAULT_THREAD_STACKSIZE        0\n#endif\n\n/**\n * DEFAULT_THREAD_PRIO: The priority assigned to any other lwIP thread.\n * The priority value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef DEFAULT_THREAD_PRIO\n#define DEFAULT_THREAD_PRIO             1\n#endif\n\n/**\n * DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a\n * NETCONN_RAW. The queue size value itself is platform-dependent, but is passed\n * to sys_mbox_new() when the recvmbox is created.\n */\n#ifndef DEFAULT_RAW_RECVMBOX_SIZE\n#define DEFAULT_RAW_RECVMBOX_SIZE       0\n#endif\n\n/**\n * DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a\n * NETCONN_UDP. The queue size value itself is platform-dependent, but is passed\n * to sys_mbox_new() when the recvmbox is created.\n */\n#ifndef DEFAULT_UDP_RECVMBOX_SIZE\n#define DEFAULT_UDP_RECVMBOX_SIZE       0\n#endif\n\n/**\n * DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a\n * NETCONN_TCP. The queue size value itself is platform-dependent, but is passed\n * to sys_mbox_new() when the recvmbox is created.\n */\n#ifndef DEFAULT_TCP_RECVMBOX_SIZE\n#define DEFAULT_TCP_RECVMBOX_SIZE       0\n#endif\n\n/**\n * DEFAULT_ACCEPTMBOX_SIZE: The mailbox size for the incoming connections.\n * The queue size value itself is platform-dependent, but is passed to\n * sys_mbox_new() when the acceptmbox is created.\n */\n#ifndef DEFAULT_ACCEPTMBOX_SIZE\n#define DEFAULT_ACCEPTMBOX_SIZE         0\n#endif\n\n/*\n   ----------------------------------------------\n   ---------- Sequential layer options ----------\n   ----------------------------------------------\n*/\n/**\n * LWIP_TCPIP_CORE_LOCKING: (EXPERIMENTAL!)\n * Don't use it if you're not an active lwIP project member\n */\n#ifndef LWIP_TCPIP_CORE_LOCKING\n#define LWIP_TCPIP_CORE_LOCKING         0\n#endif\n\n/**\n * LWIP_TCPIP_CORE_LOCKING_INPUT: (EXPERIMENTAL!)\n * Don't use it if you're not an active lwIP project member\n */\n#ifndef LWIP_TCPIP_CORE_LOCKING_INPUT\n#define LWIP_TCPIP_CORE_LOCKING_INPUT   0\n#endif\n\n/**\n * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c)\n */\n#ifndef LWIP_NETCONN\n#define LWIP_NETCONN                    1\n#endif\n\n/** LWIP_TCPIP_TIMEOUT==1: Enable tcpip_timeout/tcpip_untimeout tod create\n * timers running in tcpip_thread from another thread.\n */\n#ifndef LWIP_TCPIP_TIMEOUT\n#define LWIP_TCPIP_TIMEOUT              1\n#endif\n\n/*\n   ------------------------------------\n   ---------- Socket options ----------\n   ------------------------------------\n*/\n/**\n * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)\n */\n#ifndef LWIP_SOCKET\n#define LWIP_SOCKET                     1\n#endif\n\n/**\n * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.\n * (only used if you use sockets.c)\n */\n#ifndef LWIP_COMPAT_SOCKETS\n#define LWIP_COMPAT_SOCKETS             1\n#endif\n\n/**\n * LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names.\n * Disable this option if you use a POSIX operating system that uses the same\n * names (read, write & close). (only used if you use sockets.c)\n */\n#ifndef LWIP_POSIX_SOCKETS_IO_NAMES\n#define LWIP_POSIX_SOCKETS_IO_NAMES     1\n#endif\n\n/**\n * LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT\n * options processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set\n * in seconds. (does not require sockets.c, and will affect tcp.c)\n */\n#ifndef LWIP_TCP_KEEPALIVE\n#define LWIP_TCP_KEEPALIVE              0\n#endif\n\n/**\n * LWIP_SO_SNDTIMEO==1: Enable send timeout for sockets/netconns and\n * SO_SNDTIMEO processing.\n */\n#ifndef LWIP_SO_SNDTIMEO\n#define LWIP_SO_SNDTIMEO                0\n#endif\n\n/**\n * LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and\n * SO_RCVTIMEO processing.\n */\n#ifndef LWIP_SO_RCVTIMEO\n#define LWIP_SO_RCVTIMEO                0\n#endif\n\n/**\n * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing.\n */\n#ifndef LWIP_SO_RCVBUF\n#define LWIP_SO_RCVBUF                  0\n#endif\n\n/**\n * If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize.\n */\n#ifndef RECV_BUFSIZE_DEFAULT\n#define RECV_BUFSIZE_DEFAULT            INT_MAX\n#endif\n\n/**\n * SO_REUSE==1: Enable SO_REUSEADDR option.\n */\n#ifndef SO_REUSE\n#define SO_REUSE                        0\n#endif\n\n/**\n * SO_REUSE_RXTOALL==1: Pass a copy of incoming broadcast/multicast packets\n * to all local matches if SO_REUSEADDR is turned on.\n * WARNING: Adds a memcpy for every packet if passing to more than one pcb!\n */\n#ifndef SO_REUSE_RXTOALL\n#define SO_REUSE_RXTOALL                0\n#endif\n\n/*\n   ----------------------------------------\n   ---------- Statistics options ----------\n   ----------------------------------------\n*/\n/**\n * LWIP_STATS==1: Enable statistics collection in lwip_stats.\n */\n#ifndef LWIP_STATS\n#define LWIP_STATS                      1\n#endif\n\n#if LWIP_STATS\n\n/**\n * LWIP_STATS_DISPLAY==1: Compile in the statistics output functions.\n */\n#ifndef LWIP_STATS_DISPLAY\n#define LWIP_STATS_DISPLAY              0\n#endif\n\n/**\n * LINK_STATS==1: Enable link stats.\n */\n#ifndef LINK_STATS\n#define LINK_STATS                      1\n#endif\n\n/**\n * ETHARP_STATS==1: Enable etharp stats.\n */\n#ifndef ETHARP_STATS\n#define ETHARP_STATS                    (LWIP_ARP)\n#endif\n\n/**\n * IP_STATS==1: Enable IP stats.\n */\n#ifndef IP_STATS\n#define IP_STATS                        1\n#endif\n\n/**\n * IPFRAG_STATS==1: Enable IP fragmentation stats. Default is\n * on if using either frag or reass.\n */\n#ifndef IPFRAG_STATS\n#define IPFRAG_STATS                    (IP_REASSEMBLY || IP_FRAG)\n#endif\n\n/**\n * ICMP_STATS==1: Enable ICMP stats.\n */\n#ifndef ICMP_STATS\n#define ICMP_STATS                      1\n#endif\n\n/**\n * IGMP_STATS==1: Enable IGMP stats.\n */\n#ifndef IGMP_STATS\n#define IGMP_STATS                      (LWIP_IGMP)\n#endif\n\n/**\n * UDP_STATS==1: Enable UDP stats. Default is on if\n * UDP enabled, otherwise off.\n */\n#ifndef UDP_STATS\n#define UDP_STATS                       (LWIP_UDP)\n#endif\n\n/**\n * TCP_STATS==1: Enable TCP stats. Default is on if TCP\n * enabled, otherwise off.\n */\n#ifndef TCP_STATS\n#define TCP_STATS                       (LWIP_TCP)\n#endif\n\n/**\n * MEM_STATS==1: Enable mem.c stats.\n */\n#ifndef MEM_STATS\n#define MEM_STATS                       ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0))\n#endif\n\n/**\n * MEMP_STATS==1: Enable memp.c pool stats.\n */\n#ifndef MEMP_STATS\n#define MEMP_STATS                      (MEMP_MEM_MALLOC == 0)\n#endif\n\n/**\n * SYS_STATS==1: Enable system stats (sem and mbox counts, etc).\n */\n#ifndef SYS_STATS\n#define SYS_STATS                       (NO_SYS == 0)\n#endif\n\n#else\n\n#define LINK_STATS                      0\n#define IP_STATS                        0\n#define IPFRAG_STATS                    0\n#define ICMP_STATS                      0\n#define IGMP_STATS                      0\n#define UDP_STATS                       0\n#define TCP_STATS                       0\n#define MEM_STATS                       0\n#define MEMP_STATS                      0\n#define SYS_STATS                       0\n#define LWIP_STATS_DISPLAY              0\n\n#endif /* LWIP_STATS */\n\n/*\n   ---------------------------------\n   ---------- PPP options ----------\n   ---------------------------------\n*/\n/**\n * PPP_SUPPORT==1: Enable PPP.\n */\n#ifndef PPP_SUPPORT\n#define PPP_SUPPORT                     0\n#endif\n\n/**\n * PPPOE_SUPPORT==1: Enable PPP Over Ethernet\n */\n#ifndef PPPOE_SUPPORT\n#define PPPOE_SUPPORT                   0\n#endif\n\n/**\n * PPPOS_SUPPORT==1: Enable PPP Over Serial\n */\n#ifndef PPPOS_SUPPORT\n#define PPPOS_SUPPORT                   PPP_SUPPORT\n#endif\n\n#if PPP_SUPPORT\n\n/**\n * NUM_PPP: Max PPP sessions.\n */\n#ifndef NUM_PPP\n#define NUM_PPP                         1\n#endif\n\n/**\n * PAP_SUPPORT==1: Support PAP.\n */\n#ifndef PAP_SUPPORT\n#define PAP_SUPPORT                     0\n#endif\n\n/**\n * CHAP_SUPPORT==1: Support CHAP.\n */\n#ifndef CHAP_SUPPORT\n#define CHAP_SUPPORT                    0\n#endif\n\n/**\n * MSCHAP_SUPPORT==1: Support MSCHAP. CURRENTLY NOT SUPPORTED! DO NOT SET!\n */\n#ifndef MSCHAP_SUPPORT\n#define MSCHAP_SUPPORT                  0\n#endif\n\n/**\n * CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET!\n */\n#ifndef CBCP_SUPPORT\n#define CBCP_SUPPORT                    0\n#endif\n\n/**\n * CCP_SUPPORT==1: Support CCP. CURRENTLY NOT SUPPORTED! DO NOT SET!\n */\n#ifndef CCP_SUPPORT\n#define CCP_SUPPORT                     0\n#endif\n\n/**\n * VJ_SUPPORT==1: Support VJ header compression.\n */\n#ifndef VJ_SUPPORT\n#define VJ_SUPPORT                      0\n#endif\n\n/**\n * MD5_SUPPORT==1: Support MD5 (see also CHAP).\n */\n#ifndef MD5_SUPPORT\n#define MD5_SUPPORT                     0\n#endif\n\n/*\n * Timeouts\n */\n#ifndef FSM_DEFTIMEOUT\n#define FSM_DEFTIMEOUT                  6       /* Timeout time in seconds */\n#endif\n\n#ifndef FSM_DEFMAXTERMREQS\n#define FSM_DEFMAXTERMREQS              2       /* Maximum Terminate-Request transmissions */\n#endif\n\n#ifndef FSM_DEFMAXCONFREQS\n#define FSM_DEFMAXCONFREQS              10      /* Maximum Configure-Request transmissions */\n#endif\n\n#ifndef FSM_DEFMAXNAKLOOPS\n#define FSM_DEFMAXNAKLOOPS              5       /* Maximum number of nak loops */\n#endif\n\n#ifndef UPAP_DEFTIMEOUT\n#define UPAP_DEFTIMEOUT                 6       /* Timeout (seconds) for retransmitting req */\n#endif\n\n#ifndef UPAP_DEFREQTIME\n#define UPAP_DEFREQTIME                 30      /* Time to wait for auth-req from peer */\n#endif\n\n#ifndef CHAP_DEFTIMEOUT\n#define CHAP_DEFTIMEOUT                 6       /* Timeout time in seconds */\n#endif\n\n#ifndef CHAP_DEFTRANSMITS\n#define CHAP_DEFTRANSMITS               10      /* max # times to send challenge */\n#endif\n\n/* Interval in seconds between keepalive echo requests, 0 to disable. */\n#ifndef LCP_ECHOINTERVAL\n#define LCP_ECHOINTERVAL                0\n#endif\n\n/* Number of unanswered echo requests before failure. */\n#ifndef LCP_MAXECHOFAILS\n#define LCP_MAXECHOFAILS                3\n#endif\n\n/* Max Xmit idle time (in jiffies) before resend flag char. */\n#ifndef PPP_MAXIDLEFLAG\n#define PPP_MAXIDLEFLAG                 100\n#endif\n\n/*\n * Packet sizes\n *\n * Note - lcp shouldn't be allowed to negotiate stuff outside these\n *    limits.  See lcp.h in the pppd directory.\n * (XXX - these constants should simply be shared by lcp.c instead\n *    of living in lcp.h)\n */\n#define PPP_MTU                         1500     /* Default MTU (size of Info field) */\n#ifndef PPP_MAXMTU\n/* #define PPP_MAXMTU  65535 - (PPP_HDRLEN + PPP_FCSLEN) */\n#define PPP_MAXMTU                      1500 /* Largest MTU we allow */\n#endif\n#define PPP_MINMTU                      64\n#define PPP_MRU                         1500     /* default MRU = max length of info field */\n#define PPP_MAXMRU                      1500     /* Largest MRU we allow */\n#ifndef PPP_DEFMRU\n#define PPP_DEFMRU                      296             /* Try for this */\n#endif\n#define PPP_MINMRU                      128             /* No MRUs below this */\n\n#ifndef MAXNAMELEN\n#define MAXNAMELEN                      256     /* max length of hostname or name for auth */\n#endif\n#ifndef MAXSECRETLEN\n#define MAXSECRETLEN                    256     /* max length of password or secret */\n#endif\n\n#endif /* PPP_SUPPORT */\n\n/*\n   --------------------------------------\n   ---------- Checksum options ----------\n   --------------------------------------\n*/\n/**\n * CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.\n */\n#ifndef CHECKSUM_GEN_IP\n#define CHECKSUM_GEN_IP                 1\n#endif\n \n/**\n * CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.\n */\n#ifndef CHECKSUM_GEN_UDP\n#define CHECKSUM_GEN_UDP                1\n#endif\n \n/**\n * CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.\n */\n#ifndef CHECKSUM_GEN_TCP\n#define CHECKSUM_GEN_TCP                1\n#endif\n\n/**\n * CHECKSUM_GEN_ICMP==1: Generate checksums in software for outgoing ICMP packets.\n */\n#ifndef CHECKSUM_GEN_ICMP\n#define CHECKSUM_GEN_ICMP               1\n#endif\n \n/**\n * CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.\n */\n#ifndef CHECKSUM_CHECK_IP\n#define CHECKSUM_CHECK_IP               1\n#endif\n \n/**\n * CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.\n */\n#ifndef CHECKSUM_CHECK_UDP\n#define CHECKSUM_CHECK_UDP              1\n#endif\n\n/**\n * CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.\n */\n#ifndef CHECKSUM_CHECK_TCP\n#define CHECKSUM_CHECK_TCP              1\n#endif\n\n/**\n * LWIP_CHECKSUM_ON_COPY==1: Calculate checksum when copying data from\n * application buffers to pbufs.\n */\n#ifndef LWIP_CHECKSUM_ON_COPY\n#define LWIP_CHECKSUM_ON_COPY           0\n#endif\n\n/*\n   ---------------------------------------\n   ---------- Hook options ---------------\n   ---------------------------------------\n*/\n\n/* Hooks are undefined by default, define them to a function if you need them. */\n\n/**\n * LWIP_HOOK_IP4_INPUT(pbuf, input_netif):\n * - called from ip_input() (IPv4)\n * - pbuf: received struct pbuf passed to ip_input()\n * - input_netif: struct netif on which the packet has been received\n * Return values:\n * - 0: Hook has not consumed the packet, packet is processed as normal\n * - != 0: Hook has consumed the packet.\n * If the hook consumed the packet, 'pbuf' is in the responsibility of the hook\n * (i.e. free it when done).\n */\n\n/**\n * LWIP_HOOK_IP4_ROUTE(dest):\n * - called from ip_route() (IPv4)\n * - dest: destination IPv4 address\n * Returns the destination netif or NULL if no destination netif is found. In\n * that case, ip_route() continues as normal.\n */\n\n/*\n   ---------------------------------------\n   ---------- Debugging options ----------\n   ---------------------------------------\n*/\n/**\n * LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is\n * compared against this value. If it is smaller, then debugging\n * messages are written.\n */\n#ifndef LWIP_DBG_MIN_LEVEL\n#define LWIP_DBG_MIN_LEVEL              LWIP_DBG_LEVEL_ALL\n#endif\n\n/**\n * LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable\n * debug messages of certain types.\n */\n#ifndef LWIP_DBG_TYPES_ON\n#define LWIP_DBG_TYPES_ON               LWIP_DBG_ON\n#endif\n\n/**\n * ETHARP_DEBUG: Enable debugging in etharp.c.\n */\n#ifndef ETHARP_DEBUG\n#define ETHARP_DEBUG                    LWIP_DBG_OFF\n#endif\n\n/**\n * NETIF_DEBUG: Enable debugging in netif.c.\n */\n#ifndef NETIF_DEBUG\n#define NETIF_DEBUG                     LWIP_DBG_OFF\n#endif\n\n/**\n * PBUF_DEBUG: Enable debugging in pbuf.c.\n */\n#ifndef PBUF_DEBUG\n#define PBUF_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * API_LIB_DEBUG: Enable debugging in api_lib.c.\n */\n#ifndef API_LIB_DEBUG\n#define API_LIB_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * API_MSG_DEBUG: Enable debugging in api_msg.c.\n */\n#ifndef API_MSG_DEBUG\n#define API_MSG_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * SOCKETS_DEBUG: Enable debugging in sockets.c.\n */\n#ifndef SOCKETS_DEBUG\n#define SOCKETS_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * ICMP_DEBUG: Enable debugging in icmp.c.\n */\n#ifndef ICMP_DEBUG\n#define ICMP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * IGMP_DEBUG: Enable debugging in igmp.c.\n */\n#ifndef IGMP_DEBUG\n#define IGMP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * INET_DEBUG: Enable debugging in inet.c.\n */\n#ifndef INET_DEBUG\n#define INET_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * IP_DEBUG: Enable debugging for IP.\n */\n#ifndef IP_DEBUG\n#define IP_DEBUG                        LWIP_DBG_OFF\n#endif\n\n/**\n * IP_REASS_DEBUG: Enable debugging in ip_frag.c for both frag & reass.\n */\n#ifndef IP_REASS_DEBUG\n#define IP_REASS_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * RAW_DEBUG: Enable debugging in raw.c.\n */\n#ifndef RAW_DEBUG\n#define RAW_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * MEM_DEBUG: Enable debugging in mem.c.\n */\n#ifndef MEM_DEBUG\n#define MEM_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * MEMP_DEBUG: Enable debugging in memp.c.\n */\n#ifndef MEMP_DEBUG\n#define MEMP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * SYS_DEBUG: Enable debugging in sys.c.\n */\n#ifndef SYS_DEBUG\n#define SYS_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * TIMERS_DEBUG: Enable debugging in timers.c.\n */\n#ifndef TIMERS_DEBUG\n#define TIMERS_DEBUG                    LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_DEBUG: Enable debugging for TCP.\n */\n#ifndef TCP_DEBUG\n#define TCP_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_INPUT_DEBUG: Enable debugging in tcp_in.c for incoming debug.\n */\n#ifndef TCP_INPUT_DEBUG\n#define TCP_INPUT_DEBUG                 LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_FR_DEBUG: Enable debugging in tcp_in.c for fast retransmit.\n */\n#ifndef TCP_FR_DEBUG\n#define TCP_FR_DEBUG                    LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_RTO_DEBUG: Enable debugging in TCP for retransmit\n * timeout.\n */\n#ifndef TCP_RTO_DEBUG\n#define TCP_RTO_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_CWND_DEBUG: Enable debugging for TCP congestion window.\n */\n#ifndef TCP_CWND_DEBUG\n#define TCP_CWND_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_WND_DEBUG: Enable debugging in tcp_in.c for window updating.\n */\n#ifndef TCP_WND_DEBUG\n#define TCP_WND_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_OUTPUT_DEBUG: Enable debugging in tcp_out.c output functions.\n */\n#ifndef TCP_OUTPUT_DEBUG\n#define TCP_OUTPUT_DEBUG                LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_RST_DEBUG: Enable debugging for TCP with the RST message.\n */\n#ifndef TCP_RST_DEBUG\n#define TCP_RST_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_QLEN_DEBUG: Enable debugging for TCP queue lengths.\n */\n#ifndef TCP_QLEN_DEBUG\n#define TCP_QLEN_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * UDP_DEBUG: Enable debugging in UDP.\n */\n#ifndef UDP_DEBUG\n#define UDP_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * TCPIP_DEBUG: Enable debugging in tcpip.c.\n */\n#ifndef TCPIP_DEBUG\n#define TCPIP_DEBUG                     LWIP_DBG_OFF\n#endif\n\n/**\n * PPP_DEBUG: Enable debugging for PPP.\n */\n#ifndef PPP_DEBUG\n#define PPP_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * SLIP_DEBUG: Enable debugging in slipif.c.\n */\n#ifndef SLIP_DEBUG\n#define SLIP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * DHCP_DEBUG: Enable debugging in dhcp.c.\n */\n#ifndef DHCP_DEBUG\n#define DHCP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * AUTOIP_DEBUG: Enable debugging in autoip.c.\n */\n#ifndef AUTOIP_DEBUG\n#define AUTOIP_DEBUG                    LWIP_DBG_OFF\n#endif\n\n/**\n * SNMP_MSG_DEBUG: Enable debugging for SNMP messages.\n */\n#ifndef SNMP_MSG_DEBUG\n#define SNMP_MSG_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * SNMP_MIB_DEBUG: Enable debugging for SNMP MIBs.\n */\n#ifndef SNMP_MIB_DEBUG\n#define SNMP_MIB_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * DNS_DEBUG: Enable debugging for DNS.\n */\n#ifndef DNS_DEBUG\n#define DNS_DEBUG                       LWIP_DBG_OFF\n#endif\n\n#endif /* __LWIP_OPT_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/pbuf.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#ifndef __LWIP_PBUF_H__\n#define __LWIP_PBUF_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/err.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** Currently, the pbuf_custom code is only needed for one specific configuration\n * of IP_FRAG */\n#define LWIP_SUPPORT_CUSTOM_PBUF (IP_FRAG && !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF)\n\n#define PBUF_TRANSPORT_HLEN 20\n#define PBUF_IP_HLEN        20\n\ntypedef enum {\n  PBUF_TRANSPORT,\n  PBUF_IP,\n  PBUF_LINK,\n  PBUF_RAW\n} pbuf_layer;\n\ntypedef enum {\n  PBUF_RAM, /* pbuf data is stored in RAM */\n  PBUF_ROM, /* pbuf data is stored in ROM */\n  PBUF_REF, /* pbuf comes from the pbuf pool */\n  PBUF_POOL /* pbuf payload refers to RAM */\n} pbuf_type;\n\n\n/** indicates this packet's data should be immediately passed to the application */\n#define PBUF_FLAG_PUSH      0x01U\n/** indicates this is a custom pbuf: pbuf_free and pbuf_header handle such a\n    a pbuf differently */\n#define PBUF_FLAG_IS_CUSTOM 0x02U\n/** indicates this pbuf is UDP multicast to be looped back */\n#define PBUF_FLAG_MCASTLOOP 0x04U\n/** indicates this pbuf was received as link-level broadcast */\n#define PBUF_FLAG_LLBCAST   0x08U\n/** indicates this pbuf was received as link-level multicast */\n#define PBUF_FLAG_LLMCAST   0x10U\n/** indicates this pbuf includes a TCP FIN flag */\n#define PBUF_FLAG_TCP_FIN   0x20U\n\nstruct pbuf {\n  /** next pbuf in singly linked pbuf chain */\n  struct pbuf *next;\n\n  /** pointer to the actual data in the buffer */\n  void *payload;\n\n  /**\n   * total length of this buffer and all next buffers in chain\n   * belonging to the same packet.\n   *\n   * For non-queue packet chains this is the invariant:\n   * p->tot_len == p->len + (p->next? p->next->tot_len: 0)\n   */\n  u16_t tot_len;\n\n  /** length of this buffer */\n  u16_t len;\n\n  /** pbuf_type as u8_t instead of enum to save space */\n  u8_t /*pbuf_type*/ type;\n\n  /** misc flags */\n  u8_t flags;\n\n  /**\n   * the reference count always equals the number of pointers\n   * that refer to this pbuf. This can be pointers from an application,\n   * the stack itself, or pbuf->next pointers from a chain.\n   */\n  u16_t ref;\n};\n\n#if LWIP_SUPPORT_CUSTOM_PBUF\n/** Prototype for a function to free a custom pbuf */\ntypedef void (*pbuf_free_custom_fn)(struct pbuf *p);\n\n/** A custom pbuf: like a pbuf, but following a function pointer to free it. */\nstruct pbuf_custom {\n  /** The actual pbuf */\n  struct pbuf pbuf;\n  /** This function is called when pbuf_free deallocates this pbuf(_custom) */\n  pbuf_free_custom_fn custom_free_function;\n};\n#endif /* LWIP_SUPPORT_CUSTOM_PBUF */\n\n#if LWIP_TCP && TCP_QUEUE_OOSEQ\n/** Define this to 0 to prevent freeing ooseq pbufs when the PBUF_POOL is empty */\n#ifndef PBUF_POOL_FREE_OOSEQ\n#define PBUF_POOL_FREE_OOSEQ 1\n#endif /* PBUF_POOL_FREE_OOSEQ */\n#if NO_SYS && PBUF_POOL_FREE_OOSEQ\nextern volatile u8_t pbuf_free_ooseq_pending;\nvoid pbuf_free_ooseq();\n/** When not using sys_check_timeouts(), call PBUF_CHECK_FREE_OOSEQ()\n    at regular intervals from main level to check if ooseq pbufs need to be\n    freed! */\n#define PBUF_CHECK_FREE_OOSEQ() do { if(pbuf_free_ooseq_pending) { \\\n  /* pbuf_alloc() reported PBUF_POOL to be empty -> try to free some \\\n     ooseq queued pbufs now */ \\\n  pbuf_free_ooseq(); }}while(0)\n#endif /* NO_SYS && PBUF_POOL_FREE_OOSEQ*/\n#endif /* LWIP_TCP && TCP_QUEUE_OOSEQ */\n\n/* Initializes the pbuf module. This call is empty for now, but may not be in future. */\n#define pbuf_init()\n\nstruct pbuf *pbuf_alloc(pbuf_layer l, u16_t length, pbuf_type type);\n#if LWIP_SUPPORT_CUSTOM_PBUF\nstruct pbuf *pbuf_alloced_custom(pbuf_layer l, u16_t length, pbuf_type type,\n                                 struct pbuf_custom *p, void *payload_mem,\n                                 u16_t payload_mem_len);\n#endif /* LWIP_SUPPORT_CUSTOM_PBUF */\nvoid pbuf_realloc(struct pbuf *p, u16_t size); \nu8_t pbuf_header(struct pbuf *p, s16_t header_size);\nvoid pbuf_ref(struct pbuf *p);\nu8_t pbuf_free(struct pbuf *p);\nu8_t pbuf_clen(struct pbuf *p);  \nvoid pbuf_cat(struct pbuf *head, struct pbuf *tail);\nvoid pbuf_chain(struct pbuf *head, struct pbuf *tail);\nstruct pbuf *pbuf_dechain(struct pbuf *p);\nerr_t pbuf_copy(struct pbuf *p_to, struct pbuf *p_from);\nu16_t pbuf_copy_partial(struct pbuf *p, void *dataptr, u16_t len, u16_t offset);\nerr_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len);\nstruct pbuf *pbuf_coalesce(struct pbuf *p, pbuf_layer layer);\n#if LWIP_CHECKSUM_ON_COPY\nerr_t pbuf_fill_chksum(struct pbuf *p, u16_t start_offset, const void *dataptr,\n                       u16_t len, u16_t *chksum);\n#endif /* LWIP_CHECKSUM_ON_COPY */\n\nu8_t pbuf_get_at(struct pbuf* p, u16_t offset);\nu16_t pbuf_memcmp(struct pbuf* p, u16_t offset, const void* s2, u16_t n);\nu16_t pbuf_memfind(struct pbuf* p, const void* mem, u16_t mem_len, u16_t start_offset);\nu16_t pbuf_strstr(struct pbuf* p, const char* substr);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_PBUF_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/raw.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_RAW_H__\n#define __LWIP_RAW_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_RAW /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/pbuf.h\"\n#include \"lwip/def.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/ip_addr.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nstruct raw_pcb;\n\n/** Function prototype for raw pcb receive callback functions.\n * @param arg user supplied argument (raw_pcb.recv_arg)\n * @param pcb the raw_pcb which received data\n * @param p the packet buffer that was received\n * @param addr the remote IP address from which the packet was received\n * @return 1 if the packet was 'eaten' (aka. deleted),\n *         0 if the packet lives on\n * If returning 1, the callback is responsible for freeing the pbuf\n * if it's not used any more.\n */\ntypedef u8_t (*raw_recv_fn)(void *arg, struct raw_pcb *pcb, struct pbuf *p,\n    ip_addr_t *addr);\n\nstruct raw_pcb {\n  /* Common members of all PCB types */\n  IP_PCB;\n\n  struct raw_pcb *next;\n\n  u8_t protocol;\n\n  /** receive callback function */\n  raw_recv_fn recv;\n  /* user-supplied argument for the recv callback */\n  void *recv_arg;\n};\n\n/* The following functions is the application layer interface to the\n   RAW code. */\nstruct raw_pcb * raw_new        (u8_t proto);\nvoid             raw_remove     (struct raw_pcb *pcb);\nerr_t            raw_bind       (struct raw_pcb *pcb, ip_addr_t *ipaddr);\nerr_t            raw_connect    (struct raw_pcb *pcb, ip_addr_t *ipaddr);\n\nvoid             raw_recv       (struct raw_pcb *pcb, raw_recv_fn recv, void *recv_arg);\nerr_t            raw_sendto     (struct raw_pcb *pcb, struct pbuf *p, ip_addr_t *ipaddr);\nerr_t            raw_send       (struct raw_pcb *pcb, struct pbuf *p);\n\n/* The following functions are the lower layer interface to RAW. */\nu8_t             raw_input      (struct pbuf *p, struct netif *inp);\n#define raw_init() /* Compatibility define, not init needed. */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_RAW */\n\n#endif /* __LWIP_RAW_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/sio.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n */\n\n/*\n * This is the interface to the platform specific serial IO module\n * It needs to be implemented by those platforms which need SLIP or PPP\n */\n\n#ifndef __SIO_H__\n#define __SIO_H__\n\n#include \"lwip/arch.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* If you want to define sio_fd_t elsewhere or differently,\n   define this in your cc.h file. */\n#ifndef __sio_fd_t_defined\ntypedef void * sio_fd_t;\n#endif\n\n/* The following functions can be defined to something else in your cc.h file\n   or be implemented in your custom sio.c file. */\n\n#ifndef sio_open\n/**\n * Opens a serial device for communication.\n * \n * @param devnum device number\n * @return handle to serial device if successful, NULL otherwise\n */\nsio_fd_t sio_open(u8_t devnum);\n#endif\n\n#ifndef sio_send\n/**\n * Sends a single character to the serial device.\n * \n * @param c character to send\n * @param fd serial device handle\n * \n * @note This function will block until the character can be sent.\n */\nvoid sio_send(u8_t c, sio_fd_t fd);\n#endif\n\n#ifndef sio_recv\n/**\n * Receives a single character from the serial device.\n * \n * @param fd serial device handle\n * \n * @note This function will block until a character is received.\n */\nu8_t sio_recv(sio_fd_t fd);\n#endif\n\n#ifndef sio_read\n/**\n * Reads from the serial device.\n * \n * @param fd serial device handle\n * @param data pointer to data buffer for receiving\n * @param len maximum length (in bytes) of data to receive\n * @return number of bytes actually received - may be 0 if aborted by sio_read_abort\n * \n * @note This function will block until data can be received. The blocking\n * can be cancelled by calling sio_read_abort().\n */\nu32_t sio_read(sio_fd_t fd, u8_t *data, u32_t len);\n#endif\n\n#ifndef sio_tryread\n/**\n * Tries to read from the serial device. Same as sio_read but returns\n * immediately if no data is available and never blocks.\n * \n * @param fd serial device handle\n * @param data pointer to data buffer for receiving\n * @param len maximum length (in bytes) of data to receive\n * @return number of bytes actually received\n */\nu32_t sio_tryread(sio_fd_t fd, u8_t *data, u32_t len);\n#endif\n\n#ifndef sio_write\n/**\n * Writes to the serial device.\n * \n * @param fd serial device handle\n * @param data pointer to data to send\n * @param len length (in bytes) of data to send\n * @return number of bytes actually sent\n * \n * @note This function will block until all data can be sent.\n */\nu32_t sio_write(sio_fd_t fd, u8_t *data, u32_t len);\n#endif\n\n#ifndef sio_read_abort\n/**\n * Aborts a blocking sio_read() call.\n * \n * @param fd serial device handle\n */\nvoid sio_read_abort(sio_fd_t fd);\n#endif\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __SIO_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/snmp.h",
    "content": "/*\n * Copyright (c) 2001, 2002 Leon Woestenberg <leon.woestenberg@axon.tv>\n * Copyright (c) 2001, 2002 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Leon Woestenberg <leon.woestenberg@axon.tv>\n *\n */\n#ifndef __LWIP_SNMP_H__\n#define __LWIP_SNMP_H__\n\n#include \"lwip/opt.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#include \"lwip/ip_addr.h\"\n\nstruct udp_pcb;\nstruct netif;\n\n/**\n * @see RFC1213, \"MIB-II, 6. Definitions\"\n */\nenum snmp_ifType {\n  snmp_ifType_other=1,                /* none of the following */\n  snmp_ifType_regular1822,\n  snmp_ifType_hdh1822,\n  snmp_ifType_ddn_x25,\n  snmp_ifType_rfc877_x25,\n  snmp_ifType_ethernet_csmacd,\n  snmp_ifType_iso88023_csmacd,\n  snmp_ifType_iso88024_tokenBus,\n  snmp_ifType_iso88025_tokenRing,\n  snmp_ifType_iso88026_man,\n  snmp_ifType_starLan,\n  snmp_ifType_proteon_10Mbit,\n  snmp_ifType_proteon_80Mbit,\n  snmp_ifType_hyperchannel,\n  snmp_ifType_fddi,\n  snmp_ifType_lapb,\n  snmp_ifType_sdlc,\n  snmp_ifType_ds1,                    /* T-1 */\n  snmp_ifType_e1,                     /* european equiv. of T-1 */\n  snmp_ifType_basicISDN,\n  snmp_ifType_primaryISDN,            /* proprietary serial */\n  snmp_ifType_propPointToPointSerial,\n  snmp_ifType_ppp,\n  snmp_ifType_softwareLoopback,\n  snmp_ifType_eon,                    /* CLNP over IP [11] */\n  snmp_ifType_ethernet_3Mbit,\n  snmp_ifType_nsip,                   /* XNS over IP */\n  snmp_ifType_slip,                   /* generic SLIP */\n  snmp_ifType_ultra,                  /* ULTRA technologies */\n  snmp_ifType_ds3,                    /* T-3 */\n  snmp_ifType_sip,                    /* SMDS */\n  snmp_ifType_frame_relay\n};\n\n#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */\n\n/** SNMP \"sysuptime\" Interval */\n#define SNMP_SYSUPTIME_INTERVAL 10\n\n/** fixed maximum length for object identifier type */\n#define LWIP_SNMP_OBJ_ID_LEN 32\n\n/** internal object identifier representation */\nstruct snmp_obj_id\n{\n  u8_t len;\n  s32_t id[LWIP_SNMP_OBJ_ID_LEN];\n};\n\n/* system */\nvoid snmp_set_sysdesr(u8_t* str, u8_t* len);\nvoid snmp_set_sysobjid(struct snmp_obj_id *oid);\nvoid snmp_get_sysobjid_ptr(struct snmp_obj_id **oid);\nvoid snmp_inc_sysuptime(void);\nvoid snmp_add_sysuptime(u32_t value);\nvoid snmp_get_sysuptime(u32_t *value);\nvoid snmp_set_syscontact(u8_t *ocstr, u8_t *ocstrlen);\nvoid snmp_set_sysname(u8_t *ocstr, u8_t *ocstrlen);\nvoid snmp_set_syslocation(u8_t *ocstr, u8_t *ocstrlen);\n\n/* network interface */\nvoid snmp_add_ifinoctets(struct netif *ni, u32_t value); \nvoid snmp_inc_ifinucastpkts(struct netif *ni);\nvoid snmp_inc_ifinnucastpkts(struct netif *ni);\nvoid snmp_inc_ifindiscards(struct netif *ni);\nvoid snmp_add_ifoutoctets(struct netif *ni, u32_t value);\nvoid snmp_inc_ifoutucastpkts(struct netif *ni);\nvoid snmp_inc_ifoutnucastpkts(struct netif *ni);\nvoid snmp_inc_ifoutdiscards(struct netif *ni);\nvoid snmp_inc_iflist(void);\nvoid snmp_dec_iflist(void);\n\n/* ARP (for atTable and ipNetToMediaTable) */\nvoid snmp_insert_arpidx_tree(struct netif *ni, ip_addr_t *ip);\nvoid snmp_delete_arpidx_tree(struct netif *ni, ip_addr_t *ip);\n\n/* IP */\nvoid snmp_inc_ipinreceives(void);\nvoid snmp_inc_ipinhdrerrors(void);\nvoid snmp_inc_ipinaddrerrors(void);\nvoid snmp_inc_ipforwdatagrams(void);\nvoid snmp_inc_ipinunknownprotos(void);\nvoid snmp_inc_ipindiscards(void);\nvoid snmp_inc_ipindelivers(void);\nvoid snmp_inc_ipoutrequests(void);\nvoid snmp_inc_ipoutdiscards(void);\nvoid snmp_inc_ipoutnoroutes(void);\nvoid snmp_inc_ipreasmreqds(void);\nvoid snmp_inc_ipreasmoks(void);\nvoid snmp_inc_ipreasmfails(void);\nvoid snmp_inc_ipfragoks(void);\nvoid snmp_inc_ipfragfails(void);\nvoid snmp_inc_ipfragcreates(void);\nvoid snmp_inc_iproutingdiscards(void);\nvoid snmp_insert_ipaddridx_tree(struct netif *ni);\nvoid snmp_delete_ipaddridx_tree(struct netif *ni);\nvoid snmp_insert_iprteidx_tree(u8_t dflt, struct netif *ni);\nvoid snmp_delete_iprteidx_tree(u8_t dflt, struct netif *ni);\n\n/* ICMP */\nvoid snmp_inc_icmpinmsgs(void);\nvoid snmp_inc_icmpinerrors(void);\nvoid snmp_inc_icmpindestunreachs(void);\nvoid snmp_inc_icmpintimeexcds(void);\nvoid snmp_inc_icmpinparmprobs(void);\nvoid snmp_inc_icmpinsrcquenchs(void);\nvoid snmp_inc_icmpinredirects(void);\nvoid snmp_inc_icmpinechos(void);\nvoid snmp_inc_icmpinechoreps(void);\nvoid snmp_inc_icmpintimestamps(void);\nvoid snmp_inc_icmpintimestampreps(void);\nvoid snmp_inc_icmpinaddrmasks(void);\nvoid snmp_inc_icmpinaddrmaskreps(void);\nvoid snmp_inc_icmpoutmsgs(void);\nvoid snmp_inc_icmpouterrors(void);\nvoid snmp_inc_icmpoutdestunreachs(void);\nvoid snmp_inc_icmpouttimeexcds(void);\nvoid snmp_inc_icmpoutparmprobs(void);\nvoid snmp_inc_icmpoutsrcquenchs(void);\nvoid snmp_inc_icmpoutredirects(void); \nvoid snmp_inc_icmpoutechos(void);\nvoid snmp_inc_icmpoutechoreps(void);\nvoid snmp_inc_icmpouttimestamps(void);\nvoid snmp_inc_icmpouttimestampreps(void);\nvoid snmp_inc_icmpoutaddrmasks(void);\nvoid snmp_inc_icmpoutaddrmaskreps(void);\n\n/* TCP */\nvoid snmp_inc_tcpactiveopens(void);\nvoid snmp_inc_tcppassiveopens(void);\nvoid snmp_inc_tcpattemptfails(void);\nvoid snmp_inc_tcpestabresets(void);\nvoid snmp_inc_tcpinsegs(void);\nvoid snmp_inc_tcpoutsegs(void);\nvoid snmp_inc_tcpretranssegs(void);\nvoid snmp_inc_tcpinerrs(void);\nvoid snmp_inc_tcpoutrsts(void);\n\n/* UDP */\nvoid snmp_inc_udpindatagrams(void);\nvoid snmp_inc_udpnoports(void);\nvoid snmp_inc_udpinerrors(void);\nvoid snmp_inc_udpoutdatagrams(void);\nvoid snmp_insert_udpidx_tree(struct udp_pcb *pcb);\nvoid snmp_delete_udpidx_tree(struct udp_pcb *pcb);\n\n/* SNMP */\nvoid snmp_inc_snmpinpkts(void);\nvoid snmp_inc_snmpoutpkts(void);\nvoid snmp_inc_snmpinbadversions(void);\nvoid snmp_inc_snmpinbadcommunitynames(void);\nvoid snmp_inc_snmpinbadcommunityuses(void);\nvoid snmp_inc_snmpinasnparseerrs(void);\nvoid snmp_inc_snmpintoobigs(void);\nvoid snmp_inc_snmpinnosuchnames(void);\nvoid snmp_inc_snmpinbadvalues(void);\nvoid snmp_inc_snmpinreadonlys(void);\nvoid snmp_inc_snmpingenerrs(void);\nvoid snmp_add_snmpintotalreqvars(u8_t value);\nvoid snmp_add_snmpintotalsetvars(u8_t value);\nvoid snmp_inc_snmpingetrequests(void);\nvoid snmp_inc_snmpingetnexts(void);\nvoid snmp_inc_snmpinsetrequests(void);\nvoid snmp_inc_snmpingetresponses(void);\nvoid snmp_inc_snmpintraps(void);\nvoid snmp_inc_snmpouttoobigs(void);\nvoid snmp_inc_snmpoutnosuchnames(void);\nvoid snmp_inc_snmpoutbadvalues(void);\nvoid snmp_inc_snmpoutgenerrs(void);\nvoid snmp_inc_snmpoutgetrequests(void);\nvoid snmp_inc_snmpoutgetnexts(void);\nvoid snmp_inc_snmpoutsetrequests(void);\nvoid snmp_inc_snmpoutgetresponses(void);\nvoid snmp_inc_snmpouttraps(void);\nvoid snmp_get_snmpgrpid_ptr(struct snmp_obj_id **oid);\nvoid snmp_set_snmpenableauthentraps(u8_t *value);\nvoid snmp_get_snmpenableauthentraps(u8_t *value);\n\n/* LWIP_SNMP support not available */\n/* define everything to be empty */\n#else\n\n/* system */\n#define snmp_set_sysdesr(str, len)\n#define snmp_set_sysobjid(oid);\n#define snmp_get_sysobjid_ptr(oid)\n#define snmp_inc_sysuptime()\n#define snmp_add_sysuptime(value)\n#define snmp_get_sysuptime(value)\n#define snmp_set_syscontact(ocstr, ocstrlen);\n#define snmp_set_sysname(ocstr, ocstrlen);\n#define snmp_set_syslocation(ocstr, ocstrlen);\n\n/* network interface */\n#define snmp_add_ifinoctets(ni,value) \n#define snmp_inc_ifinucastpkts(ni)\n#define snmp_inc_ifinnucastpkts(ni)\n#define snmp_inc_ifindiscards(ni)\n#define snmp_add_ifoutoctets(ni,value)\n#define snmp_inc_ifoutucastpkts(ni)\n#define snmp_inc_ifoutnucastpkts(ni)\n#define snmp_inc_ifoutdiscards(ni)\n#define snmp_inc_iflist()\n#define snmp_dec_iflist()\n\n/* ARP */\n#define snmp_insert_arpidx_tree(ni,ip)\n#define snmp_delete_arpidx_tree(ni,ip)\n\n/* IP */\n#define snmp_inc_ipinreceives()\n#define snmp_inc_ipinhdrerrors()\n#define snmp_inc_ipinaddrerrors()\n#define snmp_inc_ipforwdatagrams()\n#define snmp_inc_ipinunknownprotos()\n#define snmp_inc_ipindiscards()\n#define snmp_inc_ipindelivers()\n#define snmp_inc_ipoutrequests()\n#define snmp_inc_ipoutdiscards()\n#define snmp_inc_ipoutnoroutes()\n#define snmp_inc_ipreasmreqds()\n#define snmp_inc_ipreasmoks()\n#define snmp_inc_ipreasmfails()\n#define snmp_inc_ipfragoks()\n#define snmp_inc_ipfragfails()\n#define snmp_inc_ipfragcreates()\n#define snmp_inc_iproutingdiscards()\n#define snmp_insert_ipaddridx_tree(ni)\n#define snmp_delete_ipaddridx_tree(ni)\n#define snmp_insert_iprteidx_tree(dflt, ni)\n#define snmp_delete_iprteidx_tree(dflt, ni)\n\n/* ICMP */\n#define snmp_inc_icmpinmsgs()\n#define snmp_inc_icmpinerrors() \n#define snmp_inc_icmpindestunreachs() \n#define snmp_inc_icmpintimeexcds()\n#define snmp_inc_icmpinparmprobs() \n#define snmp_inc_icmpinsrcquenchs() \n#define snmp_inc_icmpinredirects() \n#define snmp_inc_icmpinechos() \n#define snmp_inc_icmpinechoreps()\n#define snmp_inc_icmpintimestamps() \n#define snmp_inc_icmpintimestampreps()\n#define snmp_inc_icmpinaddrmasks()\n#define snmp_inc_icmpinaddrmaskreps()\n#define snmp_inc_icmpoutmsgs()\n#define snmp_inc_icmpouterrors()\n#define snmp_inc_icmpoutdestunreachs() \n#define snmp_inc_icmpouttimeexcds() \n#define snmp_inc_icmpoutparmprobs()\n#define snmp_inc_icmpoutsrcquenchs()\n#define snmp_inc_icmpoutredirects() \n#define snmp_inc_icmpoutechos() \n#define snmp_inc_icmpoutechoreps()\n#define snmp_inc_icmpouttimestamps()\n#define snmp_inc_icmpouttimestampreps()\n#define snmp_inc_icmpoutaddrmasks()\n#define snmp_inc_icmpoutaddrmaskreps()\n/* TCP */\n#define snmp_inc_tcpactiveopens()\n#define snmp_inc_tcppassiveopens()\n#define snmp_inc_tcpattemptfails()\n#define snmp_inc_tcpestabresets()\n#define snmp_inc_tcpinsegs()\n#define snmp_inc_tcpoutsegs()\n#define snmp_inc_tcpretranssegs()\n#define snmp_inc_tcpinerrs()\n#define snmp_inc_tcpoutrsts()\n\n/* UDP */\n#define snmp_inc_udpindatagrams()\n#define snmp_inc_udpnoports()\n#define snmp_inc_udpinerrors()\n#define snmp_inc_udpoutdatagrams()\n#define snmp_insert_udpidx_tree(pcb)\n#define snmp_delete_udpidx_tree(pcb)\n\n/* SNMP */\n#define snmp_inc_snmpinpkts()\n#define snmp_inc_snmpoutpkts()\n#define snmp_inc_snmpinbadversions()\n#define snmp_inc_snmpinbadcommunitynames()\n#define snmp_inc_snmpinbadcommunityuses()\n#define snmp_inc_snmpinasnparseerrs()\n#define snmp_inc_snmpintoobigs()\n#define snmp_inc_snmpinnosuchnames()\n#define snmp_inc_snmpinbadvalues()\n#define snmp_inc_snmpinreadonlys()\n#define snmp_inc_snmpingenerrs()\n#define snmp_add_snmpintotalreqvars(value)\n#define snmp_add_snmpintotalsetvars(value)\n#define snmp_inc_snmpingetrequests()\n#define snmp_inc_snmpingetnexts()\n#define snmp_inc_snmpinsetrequests()\n#define snmp_inc_snmpingetresponses()\n#define snmp_inc_snmpintraps()\n#define snmp_inc_snmpouttoobigs()\n#define snmp_inc_snmpoutnosuchnames()\n#define snmp_inc_snmpoutbadvalues()\n#define snmp_inc_snmpoutgenerrs()\n#define snmp_inc_snmpoutgetrequests()\n#define snmp_inc_snmpoutgetnexts()\n#define snmp_inc_snmpoutsetrequests()\n#define snmp_inc_snmpoutgetresponses()\n#define snmp_inc_snmpouttraps()\n#define snmp_get_snmpgrpid_ptr(oid)\n#define snmp_set_snmpenableauthentraps(value)\n#define snmp_get_snmpenableauthentraps(value)\n\n#endif /* LWIP_SNMP */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_SNMP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/snmp_asn1.h",
    "content": "/**\n * @file\n * Abstract Syntax Notation One (ISO 8824, 8825) codec.\n */\n \n/*\n * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Christiaan Simons <christiaan.simons@axon.tv>\n */\n\n#ifndef __LWIP_SNMP_ASN1_H__\n#define __LWIP_SNMP_ASN1_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/err.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/snmp.h\"\n\n#if LWIP_SNMP\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define SNMP_ASN1_UNIV   (0)    /* (!0x80 | !0x40) */\n#define SNMP_ASN1_APPLIC (0x40) /* (!0x80 |  0x40) */\n#define SNMP_ASN1_CONTXT (0x80) /* ( 0x80 | !0x40) */\n\n#define SNMP_ASN1_CONSTR (0x20) /* ( 0x20) */\n#define SNMP_ASN1_PRIMIT (0)    /* (!0x20) */\n\n/* universal tags */\n#define SNMP_ASN1_INTEG  2\n#define SNMP_ASN1_OC_STR 4\n#define SNMP_ASN1_NUL    5\n#define SNMP_ASN1_OBJ_ID 6\n#define SNMP_ASN1_SEQ    16\n\n/* application specific (SNMP) tags */\n#define SNMP_ASN1_IPADDR 0    /* octet string size(4) */\n#define SNMP_ASN1_COUNTER 1   /* u32_t */\n#define SNMP_ASN1_GAUGE 2     /* u32_t */\n#define SNMP_ASN1_TIMETICKS 3 /* u32_t */\n#define SNMP_ASN1_OPAQUE 4    /* octet string */\n\n/* context specific (SNMP) tags */\n#define SNMP_ASN1_PDU_GET_REQ 0\n#define SNMP_ASN1_PDU_GET_NEXT_REQ 1\n#define SNMP_ASN1_PDU_GET_RESP 2\n#define SNMP_ASN1_PDU_SET_REQ 3\n#define SNMP_ASN1_PDU_TRAP 4\n\nerr_t snmp_asn1_dec_type(struct pbuf *p, u16_t ofs, u8_t *type);\nerr_t snmp_asn1_dec_length(struct pbuf *p, u16_t ofs, u8_t *octets_used, u16_t *length);\nerr_t snmp_asn1_dec_u32t(struct pbuf *p, u16_t ofs, u16_t len, u32_t *value);\nerr_t snmp_asn1_dec_s32t(struct pbuf *p, u16_t ofs, u16_t len, s32_t *value);\nerr_t snmp_asn1_dec_oid(struct pbuf *p, u16_t ofs, u16_t len, struct snmp_obj_id *oid);\nerr_t snmp_asn1_dec_raw(struct pbuf *p, u16_t ofs, u16_t len, u16_t raw_len, u8_t *raw);\n\nvoid snmp_asn1_enc_length_cnt(u16_t length, u8_t *octets_needed);\nvoid snmp_asn1_enc_u32t_cnt(u32_t value, u16_t *octets_needed);\nvoid snmp_asn1_enc_s32t_cnt(s32_t value, u16_t *octets_needed);\nvoid snmp_asn1_enc_oid_cnt(u8_t ident_len, s32_t *ident, u16_t *octets_needed);\nerr_t snmp_asn1_enc_type(struct pbuf *p, u16_t ofs, u8_t type);\nerr_t snmp_asn1_enc_length(struct pbuf *p, u16_t ofs, u16_t length);\nerr_t snmp_asn1_enc_u32t(struct pbuf *p, u16_t ofs, u16_t octets_needed, u32_t value);\nerr_t snmp_asn1_enc_s32t(struct pbuf *p, u16_t ofs, u16_t octets_needed, s32_t value);\nerr_t snmp_asn1_enc_oid(struct pbuf *p, u16_t ofs, u8_t ident_len, s32_t *ident);\nerr_t snmp_asn1_enc_raw(struct pbuf *p, u16_t ofs, u16_t raw_len, u8_t *raw);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_SNMP */\n\n#endif /* __LWIP_SNMP_ASN1_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/snmp_msg.h",
    "content": "/**\n * @file\n * SNMP Agent message handling structures.\n */\n\n/*\n * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Christiaan Simons <christiaan.simons@axon.tv>\n */\n\n#ifndef __LWIP_SNMP_MSG_H__\n#define __LWIP_SNMP_MSG_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/snmp.h\"\n#include \"lwip/snmp_structs.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/err.h\"\n\n#if LWIP_SNMP\n\n#if SNMP_PRIVATE_MIB\n/* When using a private MIB, you have to create a file 'private_mib.h' that contains\n * a 'struct mib_array_node mib_private' which contains your MIB. */\n#include \"private_mib.h\"\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* The listen port of the SNMP agent. Clients have to make their requests to\n   this port. Most standard clients won't work if you change this! */\n#ifndef SNMP_IN_PORT\n#define SNMP_IN_PORT 161\n#endif\n/* The remote port the SNMP agent sends traps to. Most standard trap sinks won't\n   work if you change this! */\n#ifndef SNMP_TRAP_PORT\n#define SNMP_TRAP_PORT 162\n#endif\n\n#define SNMP_ES_NOERROR 0\n#define SNMP_ES_TOOBIG 1\n#define SNMP_ES_NOSUCHNAME 2\n#define SNMP_ES_BADVALUE 3\n#define SNMP_ES_READONLY 4\n#define SNMP_ES_GENERROR 5\n\n#define SNMP_GENTRAP_COLDSTART 0\n#define SNMP_GENTRAP_WARMSTART 1\n#define SNMP_GENTRAP_AUTHFAIL 4\n#define SNMP_GENTRAP_ENTERPRISESPC 6\n\nstruct snmp_varbind\n{\n  /* next pointer, NULL for last in list */\n  struct snmp_varbind *next;\n  /* previous pointer, NULL for first in list */\n  struct snmp_varbind *prev;\n\n  /* object identifier length (in s32_t) */\n  u8_t ident_len;\n  /* object identifier array */\n  s32_t *ident;\n\n  /* object value ASN1 type */\n  u8_t value_type;\n  /* object value length (in u8_t) */\n  u8_t value_len;\n  /* object value */\n  void *value;\n\n  /* encoding varbind seq length length */\n  u8_t seqlenlen;\n  /* encoding object identifier length length */\n  u8_t olenlen;\n  /* encoding object value length length */\n  u8_t vlenlen;\n  /* encoding varbind seq length */\n  u16_t seqlen;\n  /* encoding object identifier length */\n  u16_t olen;\n  /* encoding object value length */\n  u16_t vlen;\n};\n\nstruct snmp_varbind_root\n{\n  struct snmp_varbind *head;\n  struct snmp_varbind *tail;\n  /* number of variable bindings in list */\n  u8_t count;\n  /* encoding varbind-list seq length length */\n  u8_t seqlenlen;\n  /* encoding varbind-list seq length */\n  u16_t seqlen;\n};\n\n/** output response message header length fields */\nstruct snmp_resp_header_lengths\n{\n  /* encoding error-index length length */\n  u8_t erridxlenlen;\n  /* encoding error-status length length */\n  u8_t errstatlenlen;\n  /* encoding request id length length */\n  u8_t ridlenlen;\n  /* encoding pdu length length */\n  u8_t pdulenlen;\n  /* encoding community length length */\n  u8_t comlenlen;\n  /* encoding version length length */\n  u8_t verlenlen;\n  /* encoding sequence length length */\n  u8_t seqlenlen;\n\n  /* encoding error-index length */\n  u16_t erridxlen;\n  /* encoding error-status length */\n  u16_t errstatlen;\n  /* encoding request id length */\n  u16_t ridlen;\n  /* encoding pdu length */\n  u16_t pdulen;\n  /* encoding community length */\n  u16_t comlen;\n  /* encoding version length */\n  u16_t verlen;\n  /* encoding sequence length */\n  u16_t seqlen;\n};\n\n/** output response message header length fields */\nstruct snmp_trap_header_lengths\n{\n  /* encoding timestamp length length */\n  u8_t tslenlen;\n  /* encoding specific-trap length length */\n  u8_t strplenlen;\n  /* encoding generic-trap length length */\n  u8_t gtrplenlen;\n  /* encoding agent-addr length length */\n  u8_t aaddrlenlen;\n  /* encoding enterprise-id length length */\n  u8_t eidlenlen;\n  /* encoding pdu length length */\n  u8_t pdulenlen;\n  /* encoding community length length */\n  u8_t comlenlen;\n  /* encoding version length length */\n  u8_t verlenlen;\n  /* encoding sequence length length */\n  u8_t seqlenlen;\n\n  /* encoding timestamp length */\n  u16_t tslen;\n  /* encoding specific-trap length */\n  u16_t strplen;\n  /* encoding generic-trap length */\n  u16_t gtrplen;\n  /* encoding agent-addr length */\n  u16_t aaddrlen;\n  /* encoding enterprise-id length */\n  u16_t eidlen;\n  /* encoding pdu length */\n  u16_t pdulen;\n  /* encoding community length */\n  u16_t comlen;\n  /* encoding version length */\n  u16_t verlen;\n  /* encoding sequence length */\n  u16_t seqlen;\n};\n\n/* Accepting new SNMP messages. */\n#define SNMP_MSG_EMPTY                 0\n/* Search for matching object for variable binding. */\n#define SNMP_MSG_SEARCH_OBJ            1\n/* Perform SNMP operation on in-memory object.\n   Pass-through states, for symmetry only. */\n#define SNMP_MSG_INTERNAL_GET_OBJDEF   2\n#define SNMP_MSG_INTERNAL_GET_VALUE    3\n#define SNMP_MSG_INTERNAL_SET_TEST     4\n#define SNMP_MSG_INTERNAL_GET_OBJDEF_S 5\n#define SNMP_MSG_INTERNAL_SET_VALUE    6\n/* Perform SNMP operation on object located externally.\n   In theory this could be used for building a proxy agent.\n   Practical use is for an enterprise spc. app. gateway. */\n#define SNMP_MSG_EXTERNAL_GET_OBJDEF   7\n#define SNMP_MSG_EXTERNAL_GET_VALUE    8\n#define SNMP_MSG_EXTERNAL_SET_TEST     9\n#define SNMP_MSG_EXTERNAL_GET_OBJDEF_S 10\n#define SNMP_MSG_EXTERNAL_SET_VALUE    11\n\n#define SNMP_COMMUNITY_STR_LEN 64\nstruct snmp_msg_pstat\n{\n  /* lwIP local port (161) binding */\n  struct udp_pcb *pcb;\n  /* source IP address */\n  ip_addr_t sip;\n  /* source UDP port */\n  u16_t sp;\n  /* request type */\n  u8_t rt;\n  /* request ID */\n  s32_t rid;\n  /* error status */\n  s32_t error_status;\n  /* error index */\n  s32_t error_index;\n  /* community name (zero terminated) */\n  u8_t community[SNMP_COMMUNITY_STR_LEN + 1];\n  /* community string length (exclusive zero term) */\n  u8_t com_strlen;\n  /* one out of MSG_EMPTY, MSG_DEMUX, MSG_INTERNAL, MSG_EXTERNAL_x */\n  u8_t state;\n  /* saved arguments for MSG_EXTERNAL_x */\n  struct mib_external_node *ext_mib_node;\n  struct snmp_name_ptr ext_name_ptr;\n  struct obj_def ext_object_def;\n  struct snmp_obj_id ext_oid;\n  /* index into input variable binding list */\n  u8_t vb_idx;\n  /* ptr into input variable binding list */\n  struct snmp_varbind *vb_ptr;\n  /* list of variable bindings from input */\n  struct snmp_varbind_root invb;\n  /* list of variable bindings to output */\n  struct snmp_varbind_root outvb;\n  /* output response lengths used in ASN encoding */\n  struct snmp_resp_header_lengths rhl;\n};\n\nstruct snmp_msg_trap\n{\n  /* lwIP local port (161) binding */\n  struct udp_pcb *pcb;\n  /* destination IP address in network order */\n  ip_addr_t dip;\n\n  /* source enterprise ID (sysObjectID) */\n  struct snmp_obj_id *enterprise;\n  /* source IP address, raw network order format */\n  u8_t sip_raw[4];\n  /* generic trap code */\n  u32_t gen_trap;\n  /* specific trap code */\n  u32_t spc_trap;\n  /* timestamp */\n  u32_t ts;\n  /* list of variable bindings to output */\n  struct snmp_varbind_root outvb;\n  /* output trap lengths used in ASN encoding */\n  struct snmp_trap_header_lengths thl;\n};\n\n/** Agent Version constant, 0 = v1 oddity */\nextern const s32_t snmp_version;\n/** Agent default \"public\" community string */\nextern const char snmp_publiccommunity[7];\n\nextern struct snmp_msg_trap trap_msg;\n\n/** Agent setup, start listening to port 161. */\nvoid snmp_init(void);\nvoid snmp_trap_dst_enable(u8_t dst_idx, u8_t enable);\nvoid snmp_trap_dst_ip_set(u8_t dst_idx, ip_addr_t *dst);\n\n/** Varbind-list functions. */\nstruct snmp_varbind* snmp_varbind_alloc(struct snmp_obj_id *oid, u8_t type, u8_t len);\nvoid snmp_varbind_free(struct snmp_varbind *vb);\nvoid snmp_varbind_list_free(struct snmp_varbind_root *root);\nvoid snmp_varbind_tail_add(struct snmp_varbind_root *root, struct snmp_varbind *vb);\nstruct snmp_varbind* snmp_varbind_tail_remove(struct snmp_varbind_root *root);\n\n/** Handle an internal (recv) or external (private response) event. */\nvoid snmp_msg_event(u8_t request_id);\nerr_t snmp_send_response(struct snmp_msg_pstat *m_stat);\nerr_t snmp_send_trap(s8_t generic_trap, struct snmp_obj_id *eoid, s32_t specific_trap);\nvoid snmp_coldstart_trap(void);\nvoid snmp_authfail_trap(void);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_SNMP */\n\n#endif /* __LWIP_SNMP_MSG_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/snmp_structs.h",
    "content": "/**\n * @file\n * Generic MIB tree structures.\n *\n * @todo namespace prefixes\n */\n\n/*\n * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Christiaan Simons <christiaan.simons@axon.tv>\n */\n\n#ifndef __LWIP_SNMP_STRUCTS_H__\n#define __LWIP_SNMP_STRUCTS_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/snmp.h\"\n\n#if SNMP_PRIVATE_MIB\n/* When using a private MIB, you have to create a file 'private_mib.h' that contains\n * a 'struct mib_array_node mib_private' which contains your MIB. */\n#include \"private_mib.h\"\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* MIB object instance */\n#define MIB_OBJECT_NONE 0 \n#define MIB_OBJECT_SCALAR 1\n#define MIB_OBJECT_TAB 2\n\n/* MIB access types */\n#define MIB_ACCESS_READ   1\n#define MIB_ACCESS_WRITE  2\n\n/* MIB object access */\n#define MIB_OBJECT_READ_ONLY      MIB_ACCESS_READ\n#define MIB_OBJECT_READ_WRITE     (MIB_ACCESS_READ | MIB_ACCESS_WRITE)\n#define MIB_OBJECT_WRITE_ONLY     MIB_ACCESS_WRITE\n#define MIB_OBJECT_NOT_ACCESSIBLE 0\n\n/** object definition returned by (get_object_def)() */\nstruct obj_def\n{\n  /* MIB_OBJECT_NONE (0), MIB_OBJECT_SCALAR (1), MIB_OBJECT_TAB (2) */\n  u8_t instance;\n  /* 0 read-only, 1 read-write, 2 write-only, 3 not-accessible */\n  u8_t access;\n  /* ASN type for this object */\n  u8_t asn_type;\n  /* value length (host length) */\n  u16_t v_len;\n  /* length of instance part of supplied object identifier */\n  u8_t  id_inst_len;\n  /* instance part of supplied object identifier */\n  s32_t *id_inst_ptr;\n};\n\nstruct snmp_name_ptr\n{\n  u8_t ident_len;\n  s32_t *ident;\n};\n\n/** MIB const scalar (.0) node */\n#define MIB_NODE_SC 0x01\n/** MIB const array node */\n#define MIB_NODE_AR 0x02\n/** MIB array node (mem_malloced from RAM) */\n#define MIB_NODE_RA 0x03\n/** MIB list root node (mem_malloced from RAM) */\n#define MIB_NODE_LR 0x04\n/** MIB node for external objects */\n#define MIB_NODE_EX 0x05\n\n/** node \"base class\" layout, the mandatory fields for a node  */\nstruct mib_node\n{\n  /** returns struct obj_def for the given object identifier */\n  void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);\n  /** returns object value for the given object identifier,\n     @note the caller must allocate at least len bytes for the value */\n  void (*get_value)(struct obj_def *od, u16_t len, void *value);\n  /** tests length and/or range BEFORE setting */\n  u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);\n  /** sets object value, only to be called when set_test()  */\n  void (*set_value)(struct obj_def *od, u16_t len, void *value);  \n  /** One out of MIB_NODE_AR, MIB_NODE_LR or MIB_NODE_EX */\n  u8_t node_type;\n  /* array or max list length */\n  u16_t maxlength;\n};\n\n/** derived node for scalars .0 index */\ntypedef struct mib_node mib_scalar_node;\n\n/** derived node, points to a fixed size const array\n    of sub-identifiers plus a 'child' pointer */\nstruct mib_array_node\n{\n  /* inherited \"base class\" members */\n  void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);\n  void (*get_value)(struct obj_def *od, u16_t len, void *value);\n  u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);\n  void (*set_value)(struct obj_def *od, u16_t len, void *value);\n\n  u8_t node_type;\n  u16_t maxlength;\n\n  /* additional struct members */\n  const s32_t *objid;\n  struct mib_node* const *nptr;\n};\n\n/** derived node, points to a fixed size mem_malloced array\n    of sub-identifiers plus a 'child' pointer */\nstruct mib_ram_array_node\n{\n  /* inherited \"base class\" members */\n  void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);\n  void (*get_value)(struct obj_def *od, u16_t len, void *value);\n  u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);\n  void (*set_value)(struct obj_def *od, u16_t len, void *value);\n\n  u8_t node_type;\n  u16_t maxlength;\n\n  /* aditional struct members */\n  s32_t *objid;\n  struct mib_node **nptr;\n};\n\nstruct mib_list_node\n{\n  struct mib_list_node *prev;  \n  struct mib_list_node *next;\n  s32_t objid;\n  struct mib_node *nptr;\n};\n\n/** derived node, points to a doubly linked list\n    of sub-identifiers plus a 'child' pointer */\nstruct mib_list_rootnode\n{\n  /* inherited \"base class\" members */\n  void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);\n  void (*get_value)(struct obj_def *od, u16_t len, void *value);\n  u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);\n  void (*set_value)(struct obj_def *od, u16_t len, void *value);\n\n  u8_t node_type;\n  u16_t maxlength;\n\n  /* additional struct members */\n  struct mib_list_node *head;\n  struct mib_list_node *tail;\n  /* counts list nodes in list  */\n  u16_t count;\n};\n\n/** derived node, has access functions for mib object in external memory or device\n    using 'tree_level' and 'idx', with a range 0 .. (level_length() - 1) */\nstruct mib_external_node\n{\n  /* inherited \"base class\" members */\n  void (*get_object_def)(u8_t ident_len, s32_t *ident, struct obj_def *od);\n  void (*get_value)(struct obj_def *od, u16_t len, void *value);\n  u8_t (*set_test)(struct obj_def *od, u16_t len, void *value);\n  void (*set_value)(struct obj_def *od, u16_t len, void *value);\n\n  u8_t node_type;\n  u16_t maxlength;\n\n  /* additional struct members */\n  /** points to an external (in memory) record of some sort of addressing\n      information, passed to and interpreted by the funtions below */\n  void* addr_inf;\n  /** tree levels under this node */\n  u8_t tree_levels;\n  /** number of objects at this level */\n  u16_t (*level_length)(void* addr_inf, u8_t level);\n  /** compares object sub identifier with external id\n      return zero when equal, nonzero when unequal */\n  s32_t (*ident_cmp)(void* addr_inf, u8_t level, u16_t idx, s32_t sub_id);\n  void (*get_objid)(void* addr_inf, u8_t level, u16_t idx, s32_t *sub_id);\n\n  /** async Questions */\n  void (*get_object_def_q)(void* addr_inf, u8_t rid, u8_t ident_len, s32_t *ident);\n  void (*get_value_q)(u8_t rid, struct obj_def *od);\n  void (*set_test_q)(u8_t rid, struct obj_def *od);\n  void (*set_value_q)(u8_t rid, struct obj_def *od, u16_t len, void *value);\n  /** async Answers */\n  void (*get_object_def_a)(u8_t rid, u8_t ident_len, s32_t *ident, struct obj_def *od);\n  void (*get_value_a)(u8_t rid, struct obj_def *od, u16_t len, void *value);\n  u8_t (*set_test_a)(u8_t rid, struct obj_def *od, u16_t len, void *value);\n  void (*set_value_a)(u8_t rid, struct obj_def *od, u16_t len, void *value);\n  /** async Panic Close (agent returns error reply, \n      e.g. used for external transaction cleanup) */\n  void (*get_object_def_pc)(u8_t rid, u8_t ident_len, s32_t *ident);\n  void (*get_value_pc)(u8_t rid, struct obj_def *od);\n  void (*set_test_pc)(u8_t rid, struct obj_def *od);\n  void (*set_value_pc)(u8_t rid, struct obj_def *od);\n};\n\n/** export MIB tree from mib2.c */\nextern const struct mib_array_node internet;\n\n/** dummy function pointers for non-leaf MIB nodes from mib2.c */\nvoid noleafs_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nvoid noleafs_get_value(struct obj_def *od, u16_t len, void *value);\nu8_t noleafs_set_test(struct obj_def *od, u16_t len, void *value);\nvoid noleafs_set_value(struct obj_def *od, u16_t len, void *value);\n\nvoid snmp_oidtoip(s32_t *ident, ip_addr_t *ip);\nvoid snmp_iptooid(ip_addr_t *ip, s32_t *ident);\nvoid snmp_ifindextonetif(s32_t ifindex, struct netif **netif);\nvoid snmp_netiftoifindex(struct netif *netif, s32_t *ifidx);\n\nstruct mib_list_node* snmp_mib_ln_alloc(s32_t id);\nvoid snmp_mib_ln_free(struct mib_list_node *ln);\nstruct mib_list_rootnode* snmp_mib_lrn_alloc(void);\nvoid snmp_mib_lrn_free(struct mib_list_rootnode *lrn);\n\ns8_t snmp_mib_node_insert(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_node **insn);\ns8_t snmp_mib_node_find(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_node **fn);\nstruct mib_list_rootnode *snmp_mib_node_delete(struct mib_list_rootnode *rn, struct mib_list_node *n);\n\nstruct mib_node* snmp_search_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snmp_name_ptr *np);\nstruct mib_node* snmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snmp_obj_id *oidret);\nu8_t snmp_iso_prefix_tst(u8_t ident_len, s32_t *ident);\nu8_t snmp_iso_prefix_expand(u8_t ident_len, s32_t *ident, struct snmp_obj_id *oidret);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_SNMP */\n\n#endif /* __LWIP_SNMP_STRUCTS_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/sockets.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n\n#ifndef __LWIP_SOCKETS_H__\n#define __LWIP_SOCKETS_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */\n\n#include <stddef.h> /* for size_t */\n\n#include \"lwip/ip_addr.h\"\n#include \"lwip/inet.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* members are in network byte order */\nstruct sockaddr_in {\n  u8_t sin_len;\n  u8_t sin_family;\n  u16_t sin_port;\n  struct in_addr sin_addr;\n  char sin_zero[8];\n};\n\nstruct sockaddr {\n  u8_t sa_len;\n  u8_t sa_family;\n  char sa_data[14];\n};\n\n/* If your port already typedef's socklen_t, define SOCKLEN_T_DEFINED\n   to prevent this code from redefining it. */\n#if !defined(socklen_t) && !defined(SOCKLEN_T_DEFINED)\ntypedef u32_t socklen_t;\n#endif\n\n/* Socket protocol types (TCP/UDP/RAW) */\n#define SOCK_STREAM     1\n#define SOCK_DGRAM      2\n#define SOCK_RAW        3\n\n/*\n * Option flags per-socket. These must match the SOF_ flags in ip.h (checked in init.c)\n */\n#define  SO_DEBUG       0x0001 /* Unimplemented: turn on debugging info recording */\n#define  SO_ACCEPTCONN  0x0002 /* socket has had listen() */\n#define  SO_REUSEADDR   0x0004 /* Allow local address reuse */\n#define  SO_KEEPALIVE   0x0008 /* keep connections alive */\n#define  SO_DONTROUTE   0x0010 /* Unimplemented: just use interface addresses */\n#define  SO_BROADCAST   0x0020 /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */\n#define  SO_USELOOPBACK 0x0040 /* Unimplemented: bypass hardware when possible */\n#define  SO_LINGER      0x0080 /* linger on close if data present */\n#define  SO_OOBINLINE   0x0100 /* Unimplemented: leave received OOB data in line */\n#define  SO_REUSEPORT   0x0200 /* Unimplemented: allow local address & port reuse */\n\n#define SO_DONTLINGER   ((int)(~SO_LINGER))\n\n/*\n * Additional options, not kept in so_options.\n */\n#define SO_SNDBUF    0x1001    /* Unimplemented: send buffer size */\n#define SO_RCVBUF    0x1002    /* receive buffer size */\n#define SO_SNDLOWAT  0x1003    /* Unimplemented: send low-water mark */\n#define SO_RCVLOWAT  0x1004    /* Unimplemented: receive low-water mark */\n#define SO_SNDTIMEO  0x1005    /* Unimplemented: send timeout */\n#define SO_RCVTIMEO  0x1006    /* receive timeout */\n#define SO_ERROR     0x1007    /* get error status and clear */\n#define SO_TYPE      0x1008    /* get socket type */\n#define SO_CONTIMEO  0x1009    /* Unimplemented: connect timeout */\n#define SO_NO_CHECK  0x100a    /* don't create UDP checksum */\n\n\n/*\n * Structure used for manipulating linger option.\n */\nstruct linger {\n       int l_onoff;                /* option on/off */\n       int l_linger;               /* linger time */\n};\n\n/*\n * Level number for (get/set)sockopt() to apply to socket itself.\n */\n#define  SOL_SOCKET  0xfff    /* options for socket level */\n\n\n#define AF_UNSPEC       0\n#define AF_INET         2\n#define PF_INET         AF_INET\n#define PF_UNSPEC       AF_UNSPEC\n\n#define IPPROTO_IP      0\n#define IPPROTO_TCP     6\n#define IPPROTO_UDP     17\n#define IPPROTO_UDPLITE 136\n\n/* Flags we can use with send and recv. */\n#define MSG_PEEK       0x01    /* Peeks at an incoming message */\n#define MSG_WAITALL    0x02    /* Unimplemented: Requests that the function block until the full amount of data requested can be returned */\n#define MSG_OOB        0x04    /* Unimplemented: Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific */\n#define MSG_DONTWAIT   0x08    /* Nonblocking i/o for this operation only */\n#define MSG_MORE       0x10    /* Sender will send more */\n\n\n/*\n * Options for level IPPROTO_IP\n */\n#define IP_TOS             1\n#define IP_TTL             2\n\n#if LWIP_TCP\n/*\n * Options for level IPPROTO_TCP\n */\n#define TCP_NODELAY    0x01    /* don't delay send to coalesce packets */\n#define TCP_KEEPALIVE  0x02    /* send KEEPALIVE probes when idle for pcb->keep_idle milliseconds */\n#define TCP_KEEPIDLE   0x03    /* set pcb->keep_idle  - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt */\n#define TCP_KEEPINTVL  0x04    /* set pcb->keep_intvl - Use seconds for get/setsockopt */\n#define TCP_KEEPCNT    0x05    /* set pcb->keep_cnt   - Use number of probes sent for get/setsockopt */\n#endif /* LWIP_TCP */\n\n#if LWIP_UDP && LWIP_UDPLITE\n/*\n * Options for level IPPROTO_UDPLITE\n */\n#define UDPLITE_SEND_CSCOV 0x01 /* sender checksum coverage */\n#define UDPLITE_RECV_CSCOV 0x02 /* minimal receiver checksum coverage */\n#endif /* LWIP_UDP && LWIP_UDPLITE*/\n\n\n#if LWIP_IGMP\n/*\n * Options and types for UDP multicast traffic handling\n */\n#define IP_ADD_MEMBERSHIP  3\n#define IP_DROP_MEMBERSHIP 4\n#define IP_MULTICAST_TTL   5\n#define IP_MULTICAST_IF    6\n#define IP_MULTICAST_LOOP  7\n\ntypedef struct ip_mreq {\n    struct in_addr imr_multiaddr; /* IP multicast address of group */\n    struct in_addr imr_interface; /* local IP address of interface */\n} ip_mreq;\n#endif /* LWIP_IGMP */\n\n/*\n * The Type of Service provides an indication of the abstract\n * parameters of the quality of service desired.  These parameters are\n * to be used to guide the selection of the actual service parameters\n * when transmitting a datagram through a particular network.  Several\n * networks offer service precedence, which somehow treats high\n * precedence traffic as more important than other traffic (generally\n * by accepting only traffic above a certain precedence at time of high\n * load).  The major choice is a three way tradeoff between low-delay,\n * high-reliability, and high-throughput.\n * The use of the Delay, Throughput, and Reliability indications may\n * increase the cost (in some sense) of the service.  In many networks\n * better performance for one of these parameters is coupled with worse\n * performance on another.  Except for very unusual cases at most two\n * of these three indications should be set.\n */\n#define IPTOS_TOS_MASK          0x1E\n#define IPTOS_TOS(tos)          ((tos) & IPTOS_TOS_MASK)\n#define IPTOS_LOWDELAY          0x10\n#define IPTOS_THROUGHPUT        0x08\n#define IPTOS_RELIABILITY       0x04\n#define IPTOS_LOWCOST           0x02\n#define IPTOS_MINCOST           IPTOS_LOWCOST\n\n/*\n * The Network Control precedence designation is intended to be used\n * within a network only.  The actual use and control of that\n * designation is up to each network. The Internetwork Control\n * designation is intended for use by gateway control originators only.\n * If the actual use of these precedence designations is of concern to\n * a particular network, it is the responsibility of that network to\n * control the access to, and use of, those precedence designations.\n */\n#define IPTOS_PREC_MASK                 0xe0\n#define IPTOS_PREC(tos)                ((tos) & IPTOS_PREC_MASK)\n#define IPTOS_PREC_NETCONTROL           0xe0\n#define IPTOS_PREC_INTERNETCONTROL      0xc0\n#define IPTOS_PREC_CRITIC_ECP           0xa0\n#define IPTOS_PREC_FLASHOVERRIDE        0x80\n#define IPTOS_PREC_FLASH                0x60\n#define IPTOS_PREC_IMMEDIATE            0x40\n#define IPTOS_PREC_PRIORITY             0x20\n#define IPTOS_PREC_ROUTINE              0x00\n\n\n/*\n * Commands for ioctlsocket(),  taken from the BSD file fcntl.h.\n * lwip_ioctl only supports FIONREAD and FIONBIO, for now\n *\n * Ioctl's have the command encoded in the lower word,\n * and the size of any in or out parameters in the upper\n * word.  The high 2 bits of the upper word are used\n * to encode the in/out status of the parameter; for now\n * we restrict parameters to at most 128 bytes.\n */\n#if !defined(FIONREAD) || !defined(FIONBIO)\n#define IOCPARM_MASK    0x7fU           /* parameters must be < 128 bytes */\n#define IOC_VOID        0x20000000UL    /* no parameters */\n#define IOC_OUT         0x40000000UL    /* copy out parameters */\n#define IOC_IN          0x80000000UL    /* copy in parameters */\n#define IOC_INOUT       (IOC_IN|IOC_OUT)\n                                        /* 0x20000000 distinguishes new &\n                                           old ioctl's */\n#define _IO(x,y)        (IOC_VOID|((x)<<8)|(y))\n\n#define _IOR(x,y,t)     (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))\n\n#define _IOW(x,y,t)     (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))\n#endif /* !defined(FIONREAD) || !defined(FIONBIO) */\n\n#ifndef FIONREAD\n#define FIONREAD    _IOR('f', 127, unsigned long) /* get # bytes to read */\n#endif\n#ifndef FIONBIO\n#define FIONBIO     _IOW('f', 126, unsigned long) /* set/clear non-blocking i/o */\n#endif\n\n/* Socket I/O Controls: unimplemented */\n#ifndef SIOCSHIWAT\n#define SIOCSHIWAT  _IOW('s',  0, unsigned long)  /* set high watermark */\n#define SIOCGHIWAT  _IOR('s',  1, unsigned long)  /* get high watermark */\n#define SIOCSLOWAT  _IOW('s',  2, unsigned long)  /* set low watermark */\n#define SIOCGLOWAT  _IOR('s',  3, unsigned long)  /* get low watermark */\n#define SIOCATMARK  _IOR('s',  7, unsigned long)  /* at oob mark? */\n#endif\n\n/* commands for fnctl */\n#ifndef F_GETFL\n#define F_GETFL 3\n#endif\n#ifndef F_SETFL\n#define F_SETFL 4\n#endif\n\n/* File status flags and file access modes for fnctl,\n   these are bits in an int. */\n#ifndef O_NONBLOCK\n#define O_NONBLOCK  1 /* nonblocking I/O */\n#endif\n#ifndef O_NDELAY\n#define O_NDELAY    1 /* same as O_NONBLOCK, for compatibility */\n#endif\n\n#ifndef SHUT_RD\n  #define SHUT_RD   0\n  #define SHUT_WR   1\n  #define SHUT_RDWR 2\n#endif\n\n/* FD_SET used for lwip_select */\n#ifndef FD_SET\n  #undef  FD_SETSIZE\n  /* Make FD_SETSIZE match NUM_SOCKETS in socket.c */\n  #define FD_SETSIZE    MEMP_NUM_NETCONN\n  #define FD_SET(n, p)  ((p)->fd_bits[(n)/8] |=  (1 << ((n) & 7)))\n  #define FD_CLR(n, p)  ((p)->fd_bits[(n)/8] &= ~(1 << ((n) & 7)))\n  #define FD_ISSET(n,p) ((p)->fd_bits[(n)/8] &   (1 << ((n) & 7)))\n  #define FD_ZERO(p)    memset((void*)(p),0,sizeof(*(p)))\n\n  typedef struct fd_set {\n          unsigned char fd_bits [(FD_SETSIZE+7)/8];\n        } fd_set;\n\n#endif /* FD_SET */\n\n/** LWIP_TIMEVAL_PRIVATE: if you want to use the struct timeval provided\n * by your system, set this to 0 and include <sys/time.h> in cc.h */ \n#ifndef LWIP_TIMEVAL_PRIVATE\n#define LWIP_TIMEVAL_PRIVATE 1\n#endif\n\n#if LWIP_TIMEVAL_PRIVATE\nstruct timeval {\n  long    tv_sec;         /* seconds */\n  long    tv_usec;        /* and microseconds */\n};\n#endif /* LWIP_TIMEVAL_PRIVATE */\n\nvoid lwip_socket_init(void);\n\nint lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen);\nint lwip_bind(int s, const struct sockaddr *name, socklen_t namelen);\nint lwip_shutdown(int s, int how);\nint lwip_getpeername (int s, struct sockaddr *name, socklen_t *namelen);\nint lwip_getsockname (int s, struct sockaddr *name, socklen_t *namelen);\nint lwip_getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen);\nint lwip_setsockopt (int s, int level, int optname, const void *optval, socklen_t optlen);\nint lwip_close(int s);\nint lwip_connect(int s, const struct sockaddr *name, socklen_t namelen);\nint lwip_listen(int s, int backlog);\nint lwip_recv(int s, void *mem, size_t len, int flags);\nint lwip_read(int s, void *mem, size_t len);\nint lwip_recvfrom(int s, void *mem, size_t len, int flags,\n      struct sockaddr *from, socklen_t *fromlen);\nint lwip_send(int s, const void *dataptr, size_t size, int flags);\nint lwip_sendto(int s, const void *dataptr, size_t size, int flags,\n    const struct sockaddr *to, socklen_t tolen);\nint lwip_socket(int domain, int type, int protocol);\nint lwip_write(int s, const void *dataptr, size_t size);\nint lwip_select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset,\n                struct timeval *timeout);\nint lwip_ioctl(int s, long cmd, void *argp);\nint lwip_fcntl(int s, int cmd, int val);\n\n#if LWIP_COMPAT_SOCKETS\n#define accept(a,b,c)         lwip_accept(a,b,c)\n#define bind(a,b,c)           lwip_bind(a,b,c)\n#define shutdown(a,b)         lwip_shutdown(a,b)\n#define closesocket(s)        lwip_close(s)\n#define connect(a,b,c)        lwip_connect(a,b,c)\n#define getsockname(a,b,c)    lwip_getsockname(a,b,c)\n#define getpeername(a,b,c)    lwip_getpeername(a,b,c)\n#define setsockopt(a,b,c,d,e) lwip_setsockopt(a,b,c,d,e)\n#define getsockopt(a,b,c,d,e) lwip_getsockopt(a,b,c,d,e)\n#define listen(a,b)           lwip_listen(a,b)\n#define recv(a,b,c,d)         lwip_recv(a,b,c,d)\n#define recvfrom(a,b,c,d,e,f) lwip_recvfrom(a,b,c,d,e,f)\n#define send(a,b,c,d)         lwip_send(a,b,c,d)\n#define sendto(a,b,c,d,e,f)   lwip_sendto(a,b,c,d,e,f)\n#define socket(a,b,c)         lwip_socket(a,b,c)\n#define select(a,b,c,d,e)     lwip_select(a,b,c,d,e)\n#define ioctlsocket(a,b,c)    lwip_ioctl(a,b,c)\n\n#if LWIP_POSIX_SOCKETS_IO_NAMES\n#define read(a,b,c)           lwip_read(a,b,c)\n#define write(a,b,c)          lwip_write(a,b,c)\n#define close(s)              lwip_close(s)\n#define fcntl(a,b,c)          lwip_fcntl(a,b,c)\n#endif /* LWIP_POSIX_SOCKETS_IO_NAMES */\n\n#endif /* LWIP_COMPAT_SOCKETS */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_SOCKET */\n\n#endif /* __LWIP_SOCKETS_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/stats.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_STATS_H__\n#define __LWIP_STATS_H__\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/mem.h\"\n#include \"lwip/memp.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#if LWIP_STATS\n\n#ifndef LWIP_STATS_LARGE\n#define LWIP_STATS_LARGE 0\n#endif\n\n#if LWIP_STATS_LARGE\n#define STAT_COUNTER     u32_t\n#define STAT_COUNTER_F   U32_F\n#else\n#define STAT_COUNTER     u16_t\n#define STAT_COUNTER_F   U16_F\n#endif \n\nstruct stats_proto {\n  STAT_COUNTER xmit;             /* Transmitted packets. */\n  STAT_COUNTER recv;             /* Received packets. */\n  STAT_COUNTER fw;               /* Forwarded packets. */\n  STAT_COUNTER drop;             /* Dropped packets. */\n  STAT_COUNTER chkerr;           /* Checksum error. */\n  STAT_COUNTER lenerr;           /* Invalid length error. */\n  STAT_COUNTER memerr;           /* Out of memory error. */\n  STAT_COUNTER rterr;            /* Routing error. */\n  STAT_COUNTER proterr;          /* Protocol error. */\n  STAT_COUNTER opterr;           /* Error in options. */\n  STAT_COUNTER err;              /* Misc error. */\n  STAT_COUNTER cachehit;\n};\n\nstruct stats_igmp {\n  STAT_COUNTER xmit;             /* Transmitted packets. */\n  STAT_COUNTER recv;             /* Received packets. */\n  STAT_COUNTER drop;             /* Dropped packets. */\n  STAT_COUNTER chkerr;           /* Checksum error. */\n  STAT_COUNTER lenerr;           /* Invalid length error. */\n  STAT_COUNTER memerr;           /* Out of memory error. */\n  STAT_COUNTER proterr;          /* Protocol error. */\n  STAT_COUNTER rx_v1;            /* Received v1 frames. */\n  STAT_COUNTER rx_group;         /* Received group-specific queries. */\n  STAT_COUNTER rx_general;       /* Received general queries. */\n  STAT_COUNTER rx_report;        /* Received reports. */\n  STAT_COUNTER tx_join;          /* Sent joins. */\n  STAT_COUNTER tx_leave;         /* Sent leaves. */\n  STAT_COUNTER tx_report;        /* Sent reports. */\n};\n\nstruct stats_mem {\n#ifdef LWIP_DEBUG\n  const char *name;\n#endif /* LWIP_DEBUG */\n  mem_size_t avail;\n  mem_size_t used;\n  mem_size_t max;\n  STAT_COUNTER err;\n  STAT_COUNTER illegal;\n};\n\nstruct stats_syselem {\n  STAT_COUNTER used;\n  STAT_COUNTER max;\n  STAT_COUNTER err;\n};\n\nstruct stats_sys {\n  struct stats_syselem sem;\n  struct stats_syselem mutex;\n  struct stats_syselem mbox;\n};\n\nstruct stats_ {\n#if LINK_STATS\n  struct stats_proto link;\n#endif\n#if ETHARP_STATS\n  struct stats_proto etharp;\n#endif\n#if IPFRAG_STATS\n  struct stats_proto ip_frag;\n#endif\n#if IP_STATS\n  struct stats_proto ip;\n#endif\n#if ICMP_STATS\n  struct stats_proto icmp;\n#endif\n#if IGMP_STATS\n  struct stats_igmp igmp;\n#endif\n#if UDP_STATS\n  struct stats_proto udp;\n#endif\n#if TCP_STATS\n  struct stats_proto tcp;\n#endif\n#if MEM_STATS\n  struct stats_mem mem;\n#endif\n#if MEMP_STATS\n  struct stats_mem memp[MEMP_MAX];\n#endif\n#if SYS_STATS\n  struct stats_sys sys;\n#endif\n};\n\nextern struct stats_ lwip_stats;\n\nvoid stats_init(void);\n\n#define STATS_INC(x) ++lwip_stats.x\n#define STATS_DEC(x) --lwip_stats.x\n#define STATS_INC_USED(x, y) do { lwip_stats.x.used += y; \\\n                                if (lwip_stats.x.max < lwip_stats.x.used) { \\\n                                    lwip_stats.x.max = lwip_stats.x.used; \\\n                                } \\\n                             } while(0)\n#else /* LWIP_STATS */\n#define stats_init()\n#define STATS_INC(x)\n#define STATS_DEC(x)\n#define STATS_INC_USED(x)\n#endif /* LWIP_STATS */\n\n#if TCP_STATS\n#define TCP_STATS_INC(x) STATS_INC(x)\n#define TCP_STATS_DISPLAY() stats_display_proto(&lwip_stats.tcp, \"TCP\")\n#else\n#define TCP_STATS_INC(x)\n#define TCP_STATS_DISPLAY()\n#endif\n\n#if UDP_STATS\n#define UDP_STATS_INC(x) STATS_INC(x)\n#define UDP_STATS_DISPLAY() stats_display_proto(&lwip_stats.udp, \"UDP\")\n#else\n#define UDP_STATS_INC(x)\n#define UDP_STATS_DISPLAY()\n#endif\n\n#if ICMP_STATS\n#define ICMP_STATS_INC(x) STATS_INC(x)\n#define ICMP_STATS_DISPLAY() stats_display_proto(&lwip_stats.icmp, \"ICMP\")\n#else\n#define ICMP_STATS_INC(x)\n#define ICMP_STATS_DISPLAY()\n#endif\n\n#if IGMP_STATS\n#define IGMP_STATS_INC(x) STATS_INC(x)\n#define IGMP_STATS_DISPLAY() stats_display_igmp(&lwip_stats.igmp)\n#else\n#define IGMP_STATS_INC(x)\n#define IGMP_STATS_DISPLAY()\n#endif\n\n#if IP_STATS\n#define IP_STATS_INC(x) STATS_INC(x)\n#define IP_STATS_DISPLAY() stats_display_proto(&lwip_stats.ip, \"IP\")\n#else\n#define IP_STATS_INC(x)\n#define IP_STATS_DISPLAY()\n#endif\n\n#if IPFRAG_STATS\n#define IPFRAG_STATS_INC(x) STATS_INC(x)\n#define IPFRAG_STATS_DISPLAY() stats_display_proto(&lwip_stats.ip_frag, \"IP_FRAG\")\n#else\n#define IPFRAG_STATS_INC(x)\n#define IPFRAG_STATS_DISPLAY()\n#endif\n\n#if ETHARP_STATS\n#define ETHARP_STATS_INC(x) STATS_INC(x)\n#define ETHARP_STATS_DISPLAY() stats_display_proto(&lwip_stats.etharp, \"ETHARP\")\n#else\n#define ETHARP_STATS_INC(x)\n#define ETHARP_STATS_DISPLAY()\n#endif\n\n#if LINK_STATS\n#define LINK_STATS_INC(x) STATS_INC(x)\n#define LINK_STATS_DISPLAY() stats_display_proto(&lwip_stats.link, \"LINK\")\n#else\n#define LINK_STATS_INC(x)\n#define LINK_STATS_DISPLAY()\n#endif\n\n#if MEM_STATS\n#define MEM_STATS_AVAIL(x, y) lwip_stats.mem.x = y\n#define MEM_STATS_INC(x) STATS_INC(mem.x)\n#define MEM_STATS_INC_USED(x, y) STATS_INC_USED(mem, y)\n#define MEM_STATS_DEC_USED(x, y) lwip_stats.mem.x -= y\n#define MEM_STATS_DISPLAY() stats_display_mem(&lwip_stats.mem, \"HEAP\")\n#else\n#define MEM_STATS_AVAIL(x, y)\n#define MEM_STATS_INC(x)\n#define MEM_STATS_INC_USED(x, y)\n#define MEM_STATS_DEC_USED(x, y)\n#define MEM_STATS_DISPLAY()\n#endif\n\n#if MEMP_STATS\n#define MEMP_STATS_AVAIL(x, i, y) lwip_stats.memp[i].x = y\n#define MEMP_STATS_INC(x, i) STATS_INC(memp[i].x)\n#define MEMP_STATS_DEC(x, i) STATS_DEC(memp[i].x)\n#define MEMP_STATS_INC_USED(x, i) STATS_INC_USED(memp[i], 1)\n#define MEMP_STATS_DISPLAY(i) stats_display_memp(&lwip_stats.memp[i], i)\n#else\n#define MEMP_STATS_AVAIL(x, i, y)\n#define MEMP_STATS_INC(x, i)\n#define MEMP_STATS_DEC(x, i)\n#define MEMP_STATS_INC_USED(x, i)\n#define MEMP_STATS_DISPLAY(i)\n#endif\n\n#if SYS_STATS\n#define SYS_STATS_INC(x) STATS_INC(sys.x)\n#define SYS_STATS_DEC(x) STATS_DEC(sys.x)\n#define SYS_STATS_INC_USED(x) STATS_INC_USED(sys.x, 1)\n#define SYS_STATS_DISPLAY() stats_display_sys(&lwip_stats.sys)\n#else\n#define SYS_STATS_INC(x)\n#define SYS_STATS_DEC(x)\n#define SYS_STATS_INC_USED(x)\n#define SYS_STATS_DISPLAY()\n#endif\n\n/* Display of statistics */\n#if LWIP_STATS_DISPLAY\nvoid stats_display(void);\nvoid stats_display_proto(struct stats_proto *proto, const char *name);\nvoid stats_display_igmp(struct stats_igmp *igmp);\nvoid stats_display_mem(struct stats_mem *mem, const char *name);\nvoid stats_display_memp(struct stats_mem *mem, int index);\nvoid stats_display_sys(struct stats_sys *sys);\n#else /* LWIP_STATS_DISPLAY */\n#define stats_display()\n#define stats_display_proto(proto, name)\n#define stats_display_igmp(igmp)\n#define stats_display_mem(mem, name)\n#define stats_display_memp(mem, index)\n#define stats_display_sys(sys)\n#endif /* LWIP_STATS_DISPLAY */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_STATS_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/sys.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_SYS_H__\n#define __LWIP_SYS_H__\n\n#include \"lwip/opt.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#if NO_SYS\n\n/* For a totally minimal and standalone system, we provide null\n   definitions of the sys_ functions. */\ntypedef u8_t sys_sem_t;\ntypedef u8_t sys_mutex_t;\ntypedef u8_t sys_mbox_t;\n\n#define sys_sem_new(s, c) ERR_OK\n#define sys_sem_signal(s)\n#define sys_sem_wait(s)\n#define sys_arch_sem_wait(s,t)\n#define sys_sem_free(s)\n#define sys_sem_valid(s) 0\n#define sys_sem_set_invalid(s)\n#define sys_mutex_new(mu) ERR_OK\n#define sys_mutex_lock(mu)\n#define sys_mutex_unlock(mu)\n#define sys_mutex_free(mu)\n#define sys_mutex_valid(mu) 0\n#define sys_mutex_set_invalid(mu)\n#define sys_mbox_new(m, s) ERR_OK\n#define sys_mbox_fetch(m,d)\n#define sys_mbox_tryfetch(m,d)\n#define sys_mbox_post(m,d)\n#define sys_mbox_trypost(m,d)\n#define sys_mbox_free(m)\n#define sys_mbox_valid(m)\n#define sys_mbox_set_invalid(m)\n\n#define sys_thread_new(n,t,a,s,p)\n\n#define sys_msleep(t)\n\n#else /* NO_SYS */\n\n/** Return code for timeouts from sys_arch_mbox_fetch and sys_arch_sem_wait */\n#define SYS_ARCH_TIMEOUT 0xffffffffUL\n\n/** sys_mbox_tryfetch() returns SYS_MBOX_EMPTY if appropriate.\n * For now we use the same magic value, but we allow this to change in future.\n */\n#define SYS_MBOX_EMPTY SYS_ARCH_TIMEOUT \n\n#include \"lwip/err.h\"\n#include \"arch/sys_arch.h\"\n\n/** Function prototype for thread functions */\ntypedef void (*lwip_thread_fn)(void *arg);\n\n/* Function prototypes for functions to be implemented by platform ports\n   (in sys_arch.c) */\n\n/* Mutex functions: */\n\n/** Define LWIP_COMPAT_MUTEX if the port has no mutexes and binary semaphores\n    should be used instead */\n#if LWIP_COMPAT_MUTEX\n/* for old ports that don't have mutexes: define them to binary semaphores */\n#define sys_mutex_t                   sys_sem_t\n#define sys_mutex_new(mutex)          sys_sem_new(mutex, 1)\n#define sys_mutex_lock(mutex)         sys_sem_wait(mutex)\n#define sys_mutex_unlock(mutex)       sys_sem_signal(mutex)\n#define sys_mutex_free(mutex)         sys_sem_free(mutex)\n#define sys_mutex_valid(mutex)        sys_sem_valid(mutex)\n#define sys_mutex_set_invalid(mutex)  sys_sem_set_invalid(mutex)\n\n#else /* LWIP_COMPAT_MUTEX */\n\n/** Create a new mutex\n * @param mutex pointer to the mutex to create\n * @return a new mutex */\nerr_t sys_mutex_new(sys_mutex_t *mutex);\n/** Lock a mutex\n * @param mutex the mutex to lock */\nvoid sys_mutex_lock(sys_mutex_t *mutex);\n/** Unlock a mutex\n * @param mutex the mutex to unlock */\nvoid sys_mutex_unlock(sys_mutex_t *mutex);\n/** Delete a semaphore\n * @param mutex the mutex to delete */\nvoid sys_mutex_free(sys_mutex_t *mutex); \n#ifndef sys_mutex_valid\n/** Check if a mutex is valid/allocated: return 1 for valid, 0 for invalid */\nint sys_mutex_valid(sys_mutex_t *mutex);\n#endif\n#ifndef sys_mutex_set_invalid\n/** Set a mutex invalid so that sys_mutex_valid returns 0 */\nvoid sys_mutex_set_invalid(sys_mutex_t *mutex);\n#endif\n#endif /* LWIP_COMPAT_MUTEX */\n\n/* Semaphore functions: */\n\n/** Create a new semaphore\n * @param sem pointer to the semaphore to create\n * @param count initial count of the semaphore\n * @return ERR_OK if successful, another err_t otherwise */\nerr_t sys_sem_new(sys_sem_t *sem, u8_t count);\n/** Signals a semaphore\n * @param sem the semaphore to signal */\nvoid sys_sem_signal(sys_sem_t *sem);\n/** Wait for a semaphore for the specified timeout\n * @param sem the semaphore to wait for\n * @param timeout timeout in milliseconds to wait (0 = wait forever)\n * @return time (in milliseconds) waited for the semaphore\n *         or SYS_ARCH_TIMEOUT on timeout */\nu32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout);\n/** Delete a semaphore\n * @param sem semaphore to delete */\nvoid sys_sem_free(sys_sem_t *sem);\n/** Wait for a semaphore - forever/no timeout */\n#define sys_sem_wait(sem)                  sys_arch_sem_wait(sem, 0)\n#ifndef sys_sem_valid\n/** Check if a sempahore is valid/allocated: return 1 for valid, 0 for invalid */\nint sys_sem_valid(sys_sem_t *sem);\n#endif\n#ifndef sys_sem_set_invalid\n/** Set a semaphore invalid so that sys_sem_valid returns 0 */\nvoid sys_sem_set_invalid(sys_sem_t *sem);\n#endif\n\n/* Time functions. */\n#ifndef sys_msleep\nvoid sys_msleep(u32_t ms); /* only has a (close to) 1 jiffy resolution. */\n#endif\n\n/* Mailbox functions. */\n\n/** Create a new mbox of specified size\n * @param mbox pointer to the mbox to create\n * @param size (miminum) number of messages in this mbox\n * @return ERR_OK if successful, another err_t otherwise */\nerr_t sys_mbox_new(sys_mbox_t *mbox, int size);\n/** Post a message to an mbox - may not fail\n * -> blocks if full, only used from tasks not from ISR\n * @param mbox mbox to posts the message\n * @param msg message to post (ATTENTION: can be NULL) */\nvoid sys_mbox_post(sys_mbox_t *mbox, void *msg);\n/** Try to post a message to an mbox - may fail if full or ISR\n * @param mbox mbox to posts the message\n * @param msg message to post (ATTENTION: can be NULL) */\nerr_t sys_mbox_trypost(sys_mbox_t *mbox, void *msg);\n/** Wait for a new message to arrive in the mbox\n * @param mbox mbox to get a message from\n * @param msg pointer where the message is stored\n * @param timeout maximum time (in milliseconds) to wait for a message\n * @return time (in milliseconds) waited for a message, may be 0 if not waited\n           or SYS_ARCH_TIMEOUT on timeout\n *         The returned time has to be accurate to prevent timer jitter! */\nu32_t sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout);\n/* Allow port to override with a macro, e.g. special timout for sys_arch_mbox_fetch() */\n#ifndef sys_arch_mbox_tryfetch\n/** Wait for a new message to arrive in the mbox\n * @param mbox mbox to get a message from\n * @param msg pointer where the message is stored\n * @param timeout maximum time (in milliseconds) to wait for a message\n * @return 0 (milliseconds) if a message has been received\n *         or SYS_MBOX_EMPTY if the mailbox is empty */\nu32_t sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg);\n#endif\n/** For now, we map straight to sys_arch implementation. */\n#define sys_mbox_tryfetch(mbox, msg) sys_arch_mbox_tryfetch(mbox, msg)\n/** Delete an mbox\n * @param mbox mbox to delete */\nvoid sys_mbox_free(sys_mbox_t *mbox);\n#define sys_mbox_fetch(mbox, msg) sys_arch_mbox_fetch(mbox, msg, 0)\n#ifndef sys_mbox_valid\n/** Check if an mbox is valid/allocated: return 1 for valid, 0 for invalid */\nint sys_mbox_valid(sys_mbox_t *mbox);\n#endif\n#ifndef sys_mbox_set_invalid\n/** Set an mbox invalid so that sys_mbox_valid returns 0 */\nvoid sys_mbox_set_invalid(sys_mbox_t *mbox);\n#endif\n\n/** The only thread function:\n * Creates a new thread\n * @param name human-readable name for the thread (used for debugging purposes)\n * @param thread thread-function\n * @param arg parameter passed to 'thread'\n * @param stacksize stack size in bytes for the new thread (may be ignored by ports)\n * @param prio priority of the new thread (may be ignored by ports) */\nsys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread, void *arg, int stacksize, int prio);\n\n#endif /* NO_SYS */\n\n/* sys_init() must be called before anthing else. */\nvoid sys_init(void);\n\n#ifndef sys_jiffies\n/** Ticks/jiffies since power up. */\nu32_t sys_jiffies(void);\n#endif\n\n/** Returns the current time in milliseconds,\n * may be the same as sys_jiffies or at least based on it. */\nu32_t sys_now(void);\n\n/* Critical Region Protection */\n/* These functions must be implemented in the sys_arch.c file.\n   In some implementations they can provide a more light-weight protection\n   mechanism than using semaphores. Otherwise semaphores can be used for\n   implementation */\n#ifndef SYS_ARCH_PROTECT\n/** SYS_LIGHTWEIGHT_PROT\n * define SYS_LIGHTWEIGHT_PROT in lwipopts.h if you want inter-task protection\n * for certain critical regions during buffer allocation, deallocation and memory\n * allocation and deallocation.\n */\n#if SYS_LIGHTWEIGHT_PROT\n\n/** SYS_ARCH_DECL_PROTECT\n * declare a protection variable. This macro will default to defining a variable of\n * type sys_prot_t. If a particular port needs a different implementation, then\n * this macro may be defined in sys_arch.h.\n */\n#define SYS_ARCH_DECL_PROTECT(lev) sys_prot_t lev\n/** SYS_ARCH_PROTECT\n * Perform a \"fast\" protect. This could be implemented by\n * disabling interrupts for an embedded system or by using a semaphore or\n * mutex. The implementation should allow calling SYS_ARCH_PROTECT when\n * already protected. The old protection level is returned in the variable\n * \"lev\". This macro will default to calling the sys_arch_protect() function\n * which should be implemented in sys_arch.c. If a particular port needs a\n * different implementation, then this macro may be defined in sys_arch.h\n */\n#define SYS_ARCH_PROTECT(lev) lev = sys_arch_protect()\n/** SYS_ARCH_UNPROTECT\n * Perform a \"fast\" set of the protection level to \"lev\". This could be\n * implemented by setting the interrupt level to \"lev\" within the MACRO or by\n * using a semaphore or mutex.  This macro will default to calling the\n * sys_arch_unprotect() function which should be implemented in\n * sys_arch.c. If a particular port needs a different implementation, then\n * this macro may be defined in sys_arch.h\n */\n#define SYS_ARCH_UNPROTECT(lev) sys_arch_unprotect(lev)\nsys_prot_t sys_arch_protect(void);\nvoid sys_arch_unprotect(sys_prot_t pval);\n\n#else\n\n#define SYS_ARCH_DECL_PROTECT(lev)\n#define SYS_ARCH_PROTECT(lev)\n#define SYS_ARCH_UNPROTECT(lev)\n\n#endif /* SYS_LIGHTWEIGHT_PROT */\n\n#endif /* SYS_ARCH_PROTECT */\n\n/*\n * Macros to set/get and increase/decrease variables in a thread-safe way.\n * Use these for accessing variable that are used from more than one thread.\n */\n\n#ifndef SYS_ARCH_INC\n#define SYS_ARCH_INC(var, val) do { \\\n                                SYS_ARCH_DECL_PROTECT(old_level); \\\n                                SYS_ARCH_PROTECT(old_level); \\\n                                var += val; \\\n                                SYS_ARCH_UNPROTECT(old_level); \\\n                              } while(0)\n#endif /* SYS_ARCH_INC */\n\n#ifndef SYS_ARCH_DEC\n#define SYS_ARCH_DEC(var, val) do { \\\n                                SYS_ARCH_DECL_PROTECT(old_level); \\\n                                SYS_ARCH_PROTECT(old_level); \\\n                                var -= val; \\\n                                SYS_ARCH_UNPROTECT(old_level); \\\n                              } while(0)\n#endif /* SYS_ARCH_DEC */\n\n#ifndef SYS_ARCH_GET\n#define SYS_ARCH_GET(var, ret) do { \\\n                                SYS_ARCH_DECL_PROTECT(old_level); \\\n                                SYS_ARCH_PROTECT(old_level); \\\n                                ret = var; \\\n                                SYS_ARCH_UNPROTECT(old_level); \\\n                              } while(0)\n#endif /* SYS_ARCH_GET */\n\n#ifndef SYS_ARCH_SET\n#define SYS_ARCH_SET(var, val) do { \\\n                                SYS_ARCH_DECL_PROTECT(old_level); \\\n                                SYS_ARCH_PROTECT(old_level); \\\n                                var = val; \\\n                                SYS_ARCH_UNPROTECT(old_level); \\\n                              } while(0)\n#endif /* SYS_ARCH_SET */\n\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __LWIP_SYS_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/tcp.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_TCP_H__\n#define __LWIP_TCP_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/mem.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/icmp.h\"\n#include \"lwip/err.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nstruct tcp_pcb;\n\n/** Function prototype for tcp accept callback functions. Called when a new\n * connection can be accepted on a listening pcb.\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param newpcb The new connection pcb\n * @param err An error code if there has been an error accepting.\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n */\ntypedef err_t (*tcp_accept_fn)(void *arg, struct tcp_pcb *newpcb, err_t err);\n\n/** Function prototype for tcp receive callback functions. Called when data has\n * been received.\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param tpcb The connection pcb which received data\n * @param p The received data (or NULL when the connection has been closed!)\n * @param err An error code if there has been an error receiving\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n */\ntypedef err_t (*tcp_recv_fn)(void *arg, struct tcp_pcb *tpcb,\n                             struct pbuf *p, err_t err);\n\n/** Function prototype for tcp sent callback functions. Called when sent data has\n * been acknowledged by the remote side. Use it to free corresponding resources.\n * This also means that the pcb has now space available to send new data.\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param tpcb The connection pcb for which data has been acknowledged\n * @param len The amount of bytes acknowledged\n * @return ERR_OK: try to send some data by calling tcp_output\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n */\ntypedef err_t (*tcp_sent_fn)(void *arg, struct tcp_pcb *tpcb,\n                              u16_t len);\n\n/** Function prototype for tcp poll callback functions. Called periodically as\n * specified by @see tcp_poll.\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param tpcb tcp pcb\n * @return ERR_OK: try to send some data by calling tcp_output\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n */\ntypedef err_t (*tcp_poll_fn)(void *arg, struct tcp_pcb *tpcb);\n\n/** Function prototype for tcp error callback functions. Called when the pcb\n * receives a RST or is unexpectedly closed for any other reason.\n *\n * @note The corresponding pcb is already freed when this callback is called!\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param err Error code to indicate why the pcb has been closed\n *            ERR_ABRT: aborted through tcp_abort or by a TCP timer\n *            ERR_RST: the connection was reset by the remote host\n */\ntypedef void  (*tcp_err_fn)(void *arg, err_t err);\n\n/** Function prototype for tcp connected callback functions. Called when a pcb\n * is connected to the remote side after initiating a connection attempt by\n * calling tcp_connect().\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param tpcb The connection pcb which is connected\n * @param err An unused error code, always ERR_OK currently ;-) TODO!\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n *\n * @note When a connection attempt fails, the error callback is currently called!\n */\ntypedef err_t (*tcp_connected_fn)(void *arg, struct tcp_pcb *tpcb, err_t err);\n\nenum tcp_state {\n  CLOSED      = 0,\n  LISTEN      = 1,\n  SYN_SENT    = 2,\n  SYN_RCVD    = 3,\n  ESTABLISHED = 4,\n  FIN_WAIT_1  = 5,\n  FIN_WAIT_2  = 6,\n  CLOSE_WAIT  = 7,\n  CLOSING     = 8,\n  LAST_ACK    = 9,\n  TIME_WAIT   = 10\n};\n\n#if LWIP_CALLBACK_API\n  /* Function to call when a listener has been connected.\n   * @param arg user-supplied argument (tcp_pcb.callback_arg)\n   * @param pcb a new tcp_pcb that now is connected\n   * @param err an error argument (TODO: that is current always ERR_OK?)\n   * @return ERR_OK: accept the new connection,\n   *                 any other err_t abortsthe new connection\n   */\n#define DEF_ACCEPT_CALLBACK  tcp_accept_fn accept;\n#else /* LWIP_CALLBACK_API */\n#define DEF_ACCEPT_CALLBACK\n#endif /* LWIP_CALLBACK_API */\n\n/**\n * members common to struct tcp_pcb and struct tcp_listen_pcb\n */\n#define TCP_PCB_COMMON(type) \\\n  type *next; /* for the linked list */ \\\n  void *callback_arg; \\\n  /* the accept callback for listen- and normal pcbs, if LWIP_CALLBACK_API */ \\\n  DEF_ACCEPT_CALLBACK \\\n  enum tcp_state state; /* TCP state */ \\\n  u8_t prio; \\\n  /* ports are in host byte order */ \\\n  u16_t local_port\n\n\n/* the TCP protocol control block */\nstruct tcp_pcb {\n/** common PCB members */\n  IP_PCB;\n/** protocol specific PCB members */\n  TCP_PCB_COMMON(struct tcp_pcb);\n\n  /* ports are in host byte order */\n  u16_t remote_port;\n  \n  u8_t flags;\n#define TF_ACK_DELAY   ((u8_t)0x01U)   /* Delayed ACK. */\n#define TF_ACK_NOW     ((u8_t)0x02U)   /* Immediate ACK. */\n#define TF_INFR        ((u8_t)0x04U)   /* In fast recovery. */\n#define TF_TIMESTAMP   ((u8_t)0x08U)   /* Timestamp option enabled */\n#define TF_RXCLOSED    ((u8_t)0x10U)   /* rx closed by tcp_shutdown */\n#define TF_FIN         ((u8_t)0x20U)   /* Connection was closed locally (FIN segment enqueued). */\n#define TF_NODELAY     ((u8_t)0x40U)   /* Disable Nagle algorithm */\n#define TF_NAGLEMEMERR ((u8_t)0x80U)   /* nagle enabled, memerr, try to output to prevent delayed ACK to happen */\n\n  /* the rest of the fields are in host byte order\n     as we have to do some math with them */\n\n  /* Timers */\n  u8_t polltmr, pollinterval;\n  u8_t last_timer;\n  u32_t tmr;\n\n  /* receiver variables */\n  u32_t rcv_nxt;   /* next seqno expected */\n  u16_t rcv_wnd;   /* receiver window available */\n  u16_t rcv_ann_wnd; /* receiver window to announce */\n  u32_t rcv_ann_right_edge; /* announced right edge of window */\n\n  /* Retransmission timer. */\n  s16_t rtime;\n\n  u16_t mss;   /* maximum segment size */\n\n  /* RTT (round trip time) estimation variables */\n  u32_t rttest; /* RTT estimate in 500ms ticks */\n  u32_t rtseq;  /* sequence number being timed */\n  s16_t sa, sv; /* @todo document this */\n\n  s16_t rto;    /* retransmission time-out */\n  u8_t nrtx;    /* number of retransmissions */\n\n  /* fast retransmit/recovery */\n  u8_t dupacks;\n  u32_t lastack; /* Highest acknowledged seqno. */\n\n  /* congestion avoidance/control variables */\n  u16_t cwnd;\n  u16_t ssthresh;\n\n  /* sender variables */\n  u32_t snd_nxt;   /* next new seqno to be sent */\n  u32_t snd_wl1, snd_wl2; /* Sequence and acknowledgement numbers of last\n                             window update. */\n  u32_t snd_lbb;       /* Sequence number of next byte to be buffered. */\n  u16_t snd_wnd;   /* sender window */\n  u16_t snd_wnd_max; /* the maximum sender window announced by the remote host */\n\n  u16_t acked;\n\n  u16_t snd_buf;   /* Available buffer space for sending (in bytes). */\n#define TCP_SNDQUEUELEN_OVERFLOW (0xffffU-3)\n  u16_t snd_queuelen; /* Available buffer space for sending (in tcp_segs). */\n\n#if TCP_OVERSIZE\n  /* Extra bytes available at the end of the last pbuf in unsent. */\n  u16_t unsent_oversize;\n#endif /* TCP_OVERSIZE */ \n\n  /* These are ordered by sequence number: */\n  struct tcp_seg *unsent;   /* Unsent (queued) segments. */\n  struct tcp_seg *unacked;  /* Sent but unacknowledged segments. */\n#if TCP_QUEUE_OOSEQ  \n  struct tcp_seg *ooseq;    /* Received out of sequence segments. */\n#endif /* TCP_QUEUE_OOSEQ */\n\n  struct pbuf *refused_data; /* Data previously received but not yet taken by upper layer */\n\n#if LWIP_CALLBACK_API\n  /* Function to be called when more send buffer space is available. */\n  tcp_sent_fn sent;\n  /* Function to be called when (in-sequence) data has arrived. */\n  tcp_recv_fn recv;\n  /* Function to be called when a connection has been set up. */\n  tcp_connected_fn connected;\n  /* Function which is called periodically. */\n  tcp_poll_fn poll;\n  /* Function to be called whenever a fatal error occurs. */\n  tcp_err_fn errf;\n#endif /* LWIP_CALLBACK_API */\n\n#if LWIP_TCP_TIMESTAMPS\n  u32_t ts_lastacksent;\n  u32_t ts_recent;\n#endif /* LWIP_TCP_TIMESTAMPS */\n\n  /* idle time before KEEPALIVE is sent */\n  u32_t keep_idle;\n#if LWIP_TCP_KEEPALIVE\n  u32_t keep_intvl;\n  u32_t keep_cnt;\n#endif /* LWIP_TCP_KEEPALIVE */\n  \n  /* Persist timer counter */\n  u8_t persist_cnt;\n  /* Persist timer back-off */\n  u8_t persist_backoff;\n\n  /* KEEPALIVE counter */\n  u8_t keep_cnt_sent;\n};\n\nstruct tcp_pcb_listen {  \n/* Common members of all PCB types */\n  IP_PCB;\n/* Protocol specific PCB members */\n  TCP_PCB_COMMON(struct tcp_pcb_listen);\n\n#if TCP_LISTEN_BACKLOG\n  u8_t backlog;\n  u8_t accepts_pending;\n#endif /* TCP_LISTEN_BACKLOG */\n};\n\n#if LWIP_EVENT_API\n\nenum lwip_event {\n  LWIP_EVENT_ACCEPT,\n  LWIP_EVENT_SENT,\n  LWIP_EVENT_RECV,\n  LWIP_EVENT_CONNECTED,\n  LWIP_EVENT_POLL,\n  LWIP_EVENT_ERR\n};\n\nerr_t lwip_tcp_event(void *arg, struct tcp_pcb *pcb,\n         enum lwip_event,\n         struct pbuf *p,\n         u16_t size,\n         err_t err);\n\n#endif /* LWIP_EVENT_API */\n\n/* Application program's interface: */\nstruct tcp_pcb * tcp_new     (void);\n\nvoid             tcp_arg     (struct tcp_pcb *pcb, void *arg);\nvoid             tcp_accept  (struct tcp_pcb *pcb, tcp_accept_fn accept);\nvoid             tcp_recv    (struct tcp_pcb *pcb, tcp_recv_fn recv);\nvoid             tcp_sent    (struct tcp_pcb *pcb, tcp_sent_fn sent);\nvoid             tcp_poll    (struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval);\nvoid             tcp_err     (struct tcp_pcb *pcb, tcp_err_fn err);\n\n#define          tcp_mss(pcb)             (((pcb)->flags & TF_TIMESTAMP) ? ((pcb)->mss - 12)  : (pcb)->mss)\n#define          tcp_sndbuf(pcb)          ((pcb)->snd_buf)\n#define          tcp_sndqueuelen(pcb)     ((pcb)->snd_queuelen)\n#define          tcp_nagle_disable(pcb)   ((pcb)->flags |= TF_NODELAY)\n#define          tcp_nagle_enable(pcb)    ((pcb)->flags &= ~TF_NODELAY)\n#define          tcp_nagle_disabled(pcb)  (((pcb)->flags & TF_NODELAY) != 0)\n\n#if TCP_LISTEN_BACKLOG\n#define          tcp_accepted(pcb) do { \\\nLWIP_ASSERT(\"pcb->state == LISTEN (called for wrong pcb?)\", pcb->state == LISTEN); \\\n(((struct tcp_pcb_listen *)(pcb))->accepts_pending--); } while(0)\n#else  /* TCP_LISTEN_BACKLOG */\n#define          tcp_accepted(pcb) LWIP_ASSERT(\"pcb->state == LISTEN (called for wrong pcb?)\", \\\n(pcb)->state == LISTEN)\n#endif /* TCP_LISTEN_BACKLOG */\n\nvoid             tcp_recved  (struct tcp_pcb *pcb, u16_t len);\nerr_t            tcp_bind    (struct tcp_pcb *pcb, ip_addr_t *ipaddr,\n                              u16_t port);\nerr_t            tcp_connect (struct tcp_pcb *pcb, ip_addr_t *ipaddr,\n                              u16_t port, tcp_connected_fn connected);\n\nstruct tcp_pcb * tcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog);\n#define          tcp_listen(pcb) tcp_listen_with_backlog(pcb, TCP_DEFAULT_LISTEN_BACKLOG)\n\nvoid             tcp_abort (struct tcp_pcb *pcb);\nerr_t            tcp_close   (struct tcp_pcb *pcb);\nerr_t            tcp_shutdown(struct tcp_pcb *pcb, int shut_rx, int shut_tx);\n\n/* Flags for \"apiflags\" parameter in tcp_write */\n#define TCP_WRITE_FLAG_COPY 0x01\n#define TCP_WRITE_FLAG_MORE 0x02\n\nerr_t            tcp_write   (struct tcp_pcb *pcb, const void *dataptr, u16_t len,\n                              u8_t apiflags);\n\nvoid             tcp_setprio (struct tcp_pcb *pcb, u8_t prio);\n\n#define TCP_PRIO_MIN    1\n#define TCP_PRIO_NORMAL 64\n#define TCP_PRIO_MAX    127\n\nerr_t            tcp_output  (struct tcp_pcb *pcb);\n\n\nconst char* tcp_debug_state_str(enum tcp_state s);\n\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_TCP */\n\n#endif /* __LWIP_TCP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/tcp_impl.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_TCP_IMPL_H__\n#define __LWIP_TCP_IMPL_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/tcp.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/icmp.h\"\n#include \"lwip/err.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Functions for interfacing with TCP: */\n\n/* Lower layer interface to TCP: */\nvoid             tcp_init    (void);  /* Initialize this module. */\nvoid             tcp_tmr     (void);  /* Must be called every\n                                         TCP_TMR_INTERVAL\n                                         ms. (Typically 250 ms). */\n/* It is also possible to call these two functions at the right\n   intervals (instead of calling tcp_tmr()). */\nvoid             tcp_slowtmr (void);\nvoid             tcp_fasttmr (void);\n\n\n/* Only used by IP to pass a TCP segment to TCP: */\nvoid             tcp_input   (struct pbuf *p, struct netif *inp);\n/* Used within the TCP code only: */\nstruct tcp_pcb * tcp_alloc   (u8_t prio);\nvoid             tcp_abandon (struct tcp_pcb *pcb, int reset);\nerr_t            tcp_send_empty_ack(struct tcp_pcb *pcb);\nvoid             tcp_rexmit  (struct tcp_pcb *pcb);\nvoid             tcp_rexmit_rto  (struct tcp_pcb *pcb);\nvoid             tcp_rexmit_fast (struct tcp_pcb *pcb);\nu32_t            tcp_update_rcv_ann_wnd(struct tcp_pcb *pcb);\nerr_t            tcp_process_refused_data(struct tcp_pcb *pcb);\n\n/**\n * This is the Nagle algorithm: try to combine user data to send as few TCP\n * segments as possible. Only send if\n * - no previously transmitted data on the connection remains unacknowledged or\n * - the TF_NODELAY flag is set (nagle algorithm turned off for this pcb) or\n * - the only unsent segment is at least pcb->mss bytes long (or there is more\n *   than one unsent segment - with lwIP, this can happen although unsent->len < mss)\n * - or if we are in fast-retransmit (TF_INFR)\n */\n#define tcp_do_output_nagle(tpcb) ((((tpcb)->unacked == NULL) || \\\n                            ((tpcb)->flags & (TF_NODELAY | TF_INFR)) || \\\n                            (((tpcb)->unsent != NULL) && (((tpcb)->unsent->next != NULL) || \\\n                              ((tpcb)->unsent->len >= (tpcb)->mss))) || \\\n                            ((tcp_sndbuf(tpcb) == 0) || (tcp_sndqueuelen(tpcb) >= TCP_SND_QUEUELEN)) \\\n                            ) ? 1 : 0)\n#define tcp_output_nagle(tpcb) (tcp_do_output_nagle(tpcb) ? tcp_output(tpcb) : ERR_OK)\n\n\n#define TCP_SEQ_LT(a,b)     ((s32_t)((u32_t)(a) - (u32_t)(b)) < 0)\n#define TCP_SEQ_LEQ(a,b)    ((s32_t)((u32_t)(a) - (u32_t)(b)) <= 0)\n#define TCP_SEQ_GT(a,b)     ((s32_t)((u32_t)(a) - (u32_t)(b)) > 0)\n#define TCP_SEQ_GEQ(a,b)    ((s32_t)((u32_t)(a) - (u32_t)(b)) >= 0)\n/* is b<=a<=c? */\n#if 0 /* see bug #10548 */\n#define TCP_SEQ_BETWEEN(a,b,c) ((c)-(b) >= (a)-(b))\n#endif\n#define TCP_SEQ_BETWEEN(a,b,c) (TCP_SEQ_GEQ(a,b) && TCP_SEQ_LEQ(a,c))\n#define TCP_FIN 0x01U\n#define TCP_SYN 0x02U\n#define TCP_RST 0x04U\n#define TCP_PSH 0x08U\n#define TCP_ACK 0x10U\n#define TCP_URG 0x20U\n#define TCP_ECE 0x40U\n#define TCP_CWR 0x80U\n\n#define TCP_FLAGS 0x3fU\n\n/* Length of the TCP header, excluding options. */\n#define TCP_HLEN 20\n\n#ifndef TCP_TMR_INTERVAL\n#define TCP_TMR_INTERVAL       250  /* The TCP timer interval in milliseconds. */\n#endif /* TCP_TMR_INTERVAL */\n\n#ifndef TCP_FAST_INTERVAL\n#define TCP_FAST_INTERVAL      TCP_TMR_INTERVAL /* the fine grained timeout in milliseconds */\n#endif /* TCP_FAST_INTERVAL */\n\n#ifndef TCP_SLOW_INTERVAL\n#define TCP_SLOW_INTERVAL      (2*TCP_TMR_INTERVAL)  /* the coarse grained timeout in milliseconds */\n#endif /* TCP_SLOW_INTERVAL */\n\n#define TCP_FIN_WAIT_TIMEOUT 20000 /* milliseconds */\n#define TCP_SYN_RCVD_TIMEOUT 20000 /* milliseconds */\n\n#define TCP_OOSEQ_TIMEOUT        6U /* x RTO */\n\n#ifndef TCP_MSL\n#define TCP_MSL 60000UL /* The maximum segment lifetime in milliseconds */\n#endif\n\n/* Keepalive values, compliant with RFC 1122. Don't change this unless you know what you're doing */\n#ifndef  TCP_KEEPIDLE_DEFAULT\n#define  TCP_KEEPIDLE_DEFAULT     7200000UL /* Default KEEPALIVE timer in milliseconds */\n#endif\n\n#ifndef  TCP_KEEPINTVL_DEFAULT\n#define  TCP_KEEPINTVL_DEFAULT    75000UL   /* Default Time between KEEPALIVE probes in milliseconds */\n#endif\n\n#ifndef  TCP_KEEPCNT_DEFAULT\n#define  TCP_KEEPCNT_DEFAULT      9U        /* Default Counter for KEEPALIVE probes */\n#endif\n\n#define  TCP_MAXIDLE              TCP_KEEPCNT_DEFAULT * TCP_KEEPINTVL_DEFAULT  /* Maximum KEEPALIVE probe time */\n\n/* Fields are (of course) in network byte order.\n * Some fields are converted to host byte order in tcp_input().\n */\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct tcp_hdr {\n  PACK_STRUCT_FIELD(u16_t src);\n  PACK_STRUCT_FIELD(u16_t dest);\n  PACK_STRUCT_FIELD(u32_t seqno);\n  PACK_STRUCT_FIELD(u32_t ackno);\n  PACK_STRUCT_FIELD(u16_t _hdrlen_rsvd_flags);\n  PACK_STRUCT_FIELD(u16_t wnd);\n  PACK_STRUCT_FIELD(u16_t chksum);\n  PACK_STRUCT_FIELD(u16_t urgp);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#define TCPH_HDRLEN(phdr) (ntohs((phdr)->_hdrlen_rsvd_flags) >> 12)\n#define TCPH_FLAGS(phdr)  (ntohs((phdr)->_hdrlen_rsvd_flags) & TCP_FLAGS)\n\n#define TCPH_HDRLEN_SET(phdr, len) (phdr)->_hdrlen_rsvd_flags = htons(((len) << 12) | TCPH_FLAGS(phdr))\n#define TCPH_FLAGS_SET(phdr, flags) (phdr)->_hdrlen_rsvd_flags = (((phdr)->_hdrlen_rsvd_flags & PP_HTONS((u16_t)(~(u16_t)(TCP_FLAGS)))) | htons(flags))\n#define TCPH_HDRLEN_FLAGS_SET(phdr, len, flags) (phdr)->_hdrlen_rsvd_flags = htons(((len) << 12) | (flags))\n\n#define TCPH_SET_FLAG(phdr, flags ) (phdr)->_hdrlen_rsvd_flags = ((phdr)->_hdrlen_rsvd_flags | htons(flags))\n#define TCPH_UNSET_FLAG(phdr, flags) (phdr)->_hdrlen_rsvd_flags = htons(ntohs((phdr)->_hdrlen_rsvd_flags) | (TCPH_FLAGS(phdr) & ~(flags)) )\n\n#define TCP_TCPLEN(seg) ((seg)->len + ((TCPH_FLAGS((seg)->tcphdr) & (TCP_FIN | TCP_SYN)) != 0))\n\n/** Flags used on input processing, not on pcb->flags\n*/\n#define TF_RESET     (u8_t)0x08U   /* Connection was reset. */\n#define TF_CLOSED    (u8_t)0x10U   /* Connection was sucessfully closed. */\n#define TF_GOT_FIN   (u8_t)0x20U   /* Connection was closed by the remote end. */\n\n\n#if LWIP_EVENT_API\n\n#define TCP_EVENT_ACCEPT(pcb,err,ret)    ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\\\n                LWIP_EVENT_ACCEPT, NULL, 0, err)\n#define TCP_EVENT_SENT(pcb,space,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\\\n                   LWIP_EVENT_SENT, NULL, space, ERR_OK)\n#define TCP_EVENT_RECV(pcb,p,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\\\n                LWIP_EVENT_RECV, (p), 0, (err))\n#define TCP_EVENT_CLOSED(pcb,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\\\n                LWIP_EVENT_RECV, NULL, 0, ERR_OK)\n#define TCP_EVENT_CONNECTED(pcb,err,ret) ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\\\n                LWIP_EVENT_CONNECTED, NULL, 0, (err))\n#define TCP_EVENT_POLL(pcb,ret)       ret = lwip_tcp_event((pcb)->callback_arg, (pcb),\\\n                LWIP_EVENT_POLL, NULL, 0, ERR_OK)\n#define TCP_EVENT_ERR(errf,arg,err)  lwip_tcp_event((arg), NULL, \\\n                LWIP_EVENT_ERR, NULL, 0, (err))\n\n#else /* LWIP_EVENT_API */\n\n#define TCP_EVENT_ACCEPT(pcb,err,ret)                          \\\n  do {                                                         \\\n    if((pcb)->accept != NULL)                                  \\\n      (ret) = (pcb)->accept((pcb)->callback_arg,(pcb),(err));  \\\n    else (ret) = ERR_ARG;                                      \\\n  } while (0)\n\n#define TCP_EVENT_SENT(pcb,space,ret)                          \\\n  do {                                                         \\\n    if((pcb)->sent != NULL)                                    \\\n      (ret) = (pcb)->sent((pcb)->callback_arg,(pcb),(space));  \\\n    else (ret) = ERR_OK;                                       \\\n  } while (0)\n\n#define TCP_EVENT_RECV(pcb,p,err,ret)                          \\\n  do {                                                         \\\n    if((pcb)->recv != NULL) {                                  \\\n      (ret) = (pcb)->recv((pcb)->callback_arg,(pcb),(p),(err));\\\n    } else {                                                   \\\n      (ret) = tcp_recv_null(NULL, (pcb), (p), (err));          \\\n    }                                                          \\\n  } while (0)\n\n#define TCP_EVENT_CLOSED(pcb,ret)                                \\\n  do {                                                           \\\n    if(((pcb)->recv != NULL)) {                                  \\\n      (ret) = (pcb)->recv((pcb)->callback_arg,(pcb),NULL,ERR_OK);\\\n    } else {                                                     \\\n      (ret) = ERR_OK;                                            \\\n    }                                                            \\\n  } while (0)\n\n#define TCP_EVENT_CONNECTED(pcb,err,ret)                         \\\n  do {                                                           \\\n    if((pcb)->connected != NULL)                                 \\\n      (ret) = (pcb)->connected((pcb)->callback_arg,(pcb),(err)); \\\n    else (ret) = ERR_OK;                                         \\\n  } while (0)\n\n#define TCP_EVENT_POLL(pcb,ret)                                \\\n  do {                                                         \\\n    if((pcb)->poll != NULL)                                    \\\n      (ret) = (pcb)->poll((pcb)->callback_arg,(pcb));          \\\n    else (ret) = ERR_OK;                                       \\\n  } while (0)\n\n#define TCP_EVENT_ERR(errf,arg,err)                            \\\n  do {                                                         \\\n    if((errf) != NULL)                                         \\\n      (errf)((arg),(err));                                     \\\n  } while (0)\n\n#endif /* LWIP_EVENT_API */\n\n/** Enabled extra-check for TCP_OVERSIZE if LWIP_DEBUG is enabled */\n#if TCP_OVERSIZE && defined(LWIP_DEBUG)\n#define TCP_OVERSIZE_DBGCHECK 1\n#else\n#define TCP_OVERSIZE_DBGCHECK 0\n#endif\n\n/** Don't generate checksum on copy if CHECKSUM_GEN_TCP is disabled */\n#define TCP_CHECKSUM_ON_COPY  (LWIP_CHECKSUM_ON_COPY && CHECKSUM_GEN_TCP)\n\n/* This structure represents a TCP segment on the unsent, unacked and ooseq queues */\nstruct tcp_seg {\n  struct tcp_seg *next;    /* used when putting segements on a queue */\n  struct pbuf *p;          /* buffer containing data + TCP header */\n  u16_t len;               /* the TCP length of this segment */\n#if TCP_OVERSIZE_DBGCHECK\n  u16_t oversize_left;     /* Extra bytes available at the end of the last\n                              pbuf in unsent (used for asserting vs.\n                              tcp_pcb.unsent_oversized only) */\n#endif /* TCP_OVERSIZE_DBGCHECK */ \n#if TCP_CHECKSUM_ON_COPY\n  u16_t chksum;\n  u8_t  chksum_swapped;\n#endif /* TCP_CHECKSUM_ON_COPY */\n  u8_t  flags;\n#define TF_SEG_OPTS_MSS         (u8_t)0x01U /* Include MSS option. */\n#define TF_SEG_OPTS_TS          (u8_t)0x02U /* Include timestamp option. */\n#define TF_SEG_DATA_CHECKSUMMED (u8_t)0x04U /* ALL data (not the header) is\n                                               checksummed into 'chksum' */\n  struct tcp_hdr *tcphdr;  /* the TCP header */\n};\n\n#define LWIP_TCP_OPT_LENGTH(flags)              \\\n  (flags & TF_SEG_OPTS_MSS ? 4  : 0) +          \\\n  (flags & TF_SEG_OPTS_TS  ? 12 : 0)\n\n/** This returns a TCP header option for MSS in an u32_t */\n#define TCP_BUILD_MSS_OPTION(mss) htonl(0x02040000 | ((mss) & 0xFFFF))\n\n/* Global variables: */\nextern struct tcp_pcb *tcp_input_pcb;\nextern u32_t tcp_ticks;\nextern u8_t tcp_active_pcbs_changed;\n\n/* The TCP PCB lists. */\nunion tcp_listen_pcbs_t { /* List of all TCP PCBs in LISTEN state. */\n  struct tcp_pcb_listen *listen_pcbs; \n  struct tcp_pcb *pcbs;\n};\nextern struct tcp_pcb *tcp_bound_pcbs;\nextern union tcp_listen_pcbs_t tcp_listen_pcbs;\nextern struct tcp_pcb *tcp_active_pcbs;  /* List of all TCP PCBs that are in a\n              state in which they accept or send\n              data. */\nextern struct tcp_pcb *tcp_tw_pcbs;      /* List of all TCP PCBs in TIME-WAIT. */\n\nextern struct tcp_pcb *tcp_tmp_pcb;      /* Only used for temporary storage. */\n\n/* Axioms about the above lists:   \n   1) Every TCP PCB that is not CLOSED is in one of the lists.\n   2) A PCB is only in one of the lists.\n   3) All PCBs in the tcp_listen_pcbs list is in LISTEN state.\n   4) All PCBs in the tcp_tw_pcbs list is in TIME-WAIT state.\n*/\n/* Define two macros, TCP_REG and TCP_RMV that registers a TCP PCB\n   with a PCB list or removes a PCB from a list, respectively. */\n#ifndef TCP_DEBUG_PCB_LISTS\n#define TCP_DEBUG_PCB_LISTS 0\n#endif\n#if TCP_DEBUG_PCB_LISTS\n#define TCP_REG(pcbs, npcb) do {\\\n                            LWIP_DEBUGF(TCP_DEBUG, (\"TCP_REG %p local port %d\\n\", (npcb), (npcb)->local_port)); \\\n                            for(tcp_tmp_pcb = *(pcbs); \\\n          tcp_tmp_pcb != NULL; \\\n        tcp_tmp_pcb = tcp_tmp_pcb->next) { \\\n                                LWIP_ASSERT(\"TCP_REG: already registered\\n\", tcp_tmp_pcb != (npcb)); \\\n                            } \\\n                            LWIP_ASSERT(\"TCP_REG: pcb->state != CLOSED\", ((pcbs) == &tcp_bound_pcbs) || ((npcb)->state != CLOSED)); \\\n                            (npcb)->next = *(pcbs); \\\n                            LWIP_ASSERT(\"TCP_REG: npcb->next != npcb\", (npcb)->next != (npcb)); \\\n                            *(pcbs) = (npcb); \\\n                            LWIP_ASSERT(\"TCP_RMV: tcp_pcbs sane\", tcp_pcbs_sane()); \\\n              tcp_timer_needed(); \\\n                            } while(0)\n#define TCP_RMV(pcbs, npcb) do { \\\n                            LWIP_ASSERT(\"TCP_RMV: pcbs != NULL\", *(pcbs) != NULL); \\\n                            LWIP_DEBUGF(TCP_DEBUG, (\"TCP_RMV: removing %p from %p\\n\", (npcb), *(pcbs))); \\\n                            if(*(pcbs) == (npcb)) { \\\n                               *(pcbs) = (*pcbs)->next; \\\n                            } else for(tcp_tmp_pcb = *(pcbs); tcp_tmp_pcb != NULL; tcp_tmp_pcb = tcp_tmp_pcb->next) { \\\n                               if(tcp_tmp_pcb->next == (npcb)) { \\\n                                  tcp_tmp_pcb->next = (npcb)->next; \\\n                                  break; \\\n                               } \\\n                            } \\\n                            (npcb)->next = NULL; \\\n                            LWIP_ASSERT(\"TCP_RMV: tcp_pcbs sane\", tcp_pcbs_sane()); \\\n                            LWIP_DEBUGF(TCP_DEBUG, (\"TCP_RMV: removed %p from %p\\n\", (npcb), *(pcbs))); \\\n                            } while(0)\n\n#else /* LWIP_DEBUG */\n\n#define TCP_REG(pcbs, npcb)                        \\\n  do {                                             \\\n    (npcb)->next = *pcbs;                          \\\n    *(pcbs) = (npcb);                              \\\n    tcp_timer_needed();                            \\\n  } while (0)\n\n#define TCP_RMV(pcbs, npcb)                        \\\n  do {                                             \\\n    if(*(pcbs) == (npcb)) {                        \\\n      (*(pcbs)) = (*pcbs)->next;                   \\\n    }                                              \\\n    else {                                         \\\n      for(tcp_tmp_pcb = *pcbs;                     \\\n          tcp_tmp_pcb != NULL;                     \\\n          tcp_tmp_pcb = tcp_tmp_pcb->next) {       \\\n        if(tcp_tmp_pcb->next == (npcb)) {          \\\n          tcp_tmp_pcb->next = (npcb)->next;        \\\n          break;                                   \\\n        }                                          \\\n      }                                            \\\n    }                                              \\\n    (npcb)->next = NULL;                           \\\n  } while(0)\n\n#endif /* LWIP_DEBUG */\n\n#define TCP_REG_ACTIVE(npcb)                       \\\n  do {                                             \\\n    TCP_REG(&tcp_active_pcbs, npcb);               \\\n    tcp_active_pcbs_changed = 1;                   \\\n  } while (0)\n\n#define TCP_RMV_ACTIVE(npcb)                       \\\n  do {                                             \\\n    TCP_RMV(&tcp_active_pcbs, npcb);               \\\n    tcp_active_pcbs_changed = 1;                   \\\n  } while (0)\n\n#define TCP_PCB_REMOVE_ACTIVE(pcb)                 \\\n  do {                                             \\\n    tcp_pcb_remove(&tcp_active_pcbs, pcb);         \\\n    tcp_active_pcbs_changed = 1;                   \\\n  } while (0)\n\n\n/* Internal functions: */\nstruct tcp_pcb *tcp_pcb_copy(struct tcp_pcb *pcb);\nvoid tcp_pcb_purge(struct tcp_pcb *pcb);\nvoid tcp_pcb_remove(struct tcp_pcb **pcblist, struct tcp_pcb *pcb);\n\nvoid tcp_segs_free(struct tcp_seg *seg);\nvoid tcp_seg_free(struct tcp_seg *seg);\nstruct tcp_seg *tcp_seg_copy(struct tcp_seg *seg);\n\n#define tcp_ack(pcb)                               \\\n  do {                                             \\\n    if((pcb)->flags & TF_ACK_DELAY) {              \\\n      (pcb)->flags &= ~TF_ACK_DELAY;               \\\n      (pcb)->flags |= TF_ACK_NOW;                  \\\n    }                                              \\\n    else {                                         \\\n      (pcb)->flags |= TF_ACK_DELAY;                \\\n    }                                              \\\n  } while (0)\n\n#define tcp_ack_now(pcb)                           \\\n  do {                                             \\\n    (pcb)->flags |= TF_ACK_NOW;                    \\\n  } while (0)\n\nerr_t tcp_send_fin(struct tcp_pcb *pcb);\nerr_t tcp_enqueue_flags(struct tcp_pcb *pcb, u8_t flags);\n\nvoid tcp_rexmit_seg(struct tcp_pcb *pcb, struct tcp_seg *seg);\n\nvoid tcp_rst(u32_t seqno, u32_t ackno,\n       ip_addr_t *local_ip, ip_addr_t *remote_ip,\n       u16_t local_port, u16_t remote_port);\n\nu32_t tcp_next_iss(void);\n\nvoid tcp_keepalive(struct tcp_pcb *pcb);\nvoid tcp_zero_window_probe(struct tcp_pcb *pcb);\n\n#if TCP_CALCULATE_EFF_SEND_MSS\nu16_t tcp_eff_send_mss(u16_t sendmss, ip_addr_t *addr);\n#endif /* TCP_CALCULATE_EFF_SEND_MSS */\n\n#if LWIP_CALLBACK_API\nerr_t tcp_recv_null(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err);\n#endif /* LWIP_CALLBACK_API */\n\n#if TCP_DEBUG || TCP_INPUT_DEBUG || TCP_OUTPUT_DEBUG\nvoid tcp_debug_print(struct tcp_hdr *tcphdr);\nvoid tcp_debug_print_flags(u8_t flags);\nvoid tcp_debug_print_state(enum tcp_state s);\nvoid tcp_debug_print_pcbs(void);\ns16_t tcp_pcbs_sane(void);\n#else\n#  define tcp_debug_print(tcphdr)\n#  define tcp_debug_print_flags(flags)\n#  define tcp_debug_print_state(s)\n#  define tcp_debug_print_pcbs()\n#  define tcp_pcbs_sane() 1\n#endif /* TCP_DEBUG */\n\n/** External function (implemented in timers.c), called when TCP detects\n * that a timer is needed (i.e. active- or time-wait-pcb found). */\nvoid tcp_timer_needed(void);\n\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_TCP */\n\n#endif /* __LWIP_TCP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/tcpip.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_TCPIP_H__\n#define __LWIP_TCPIP_H__\n\n#include \"lwip/opt.h\"\n\n#if !NO_SYS /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/api_msg.h\"\n#include \"lwip/netifapi.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/api.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/timers.h\"\n#include \"lwip/netif.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/** Define this to something that triggers a watchdog. This is called from\n * tcpip_thread after processing a message. */\n#ifndef LWIP_TCPIP_THREAD_ALIVE\n#define LWIP_TCPIP_THREAD_ALIVE()\n#endif\n\n#if LWIP_TCPIP_CORE_LOCKING\n/** The global semaphore to lock the stack. */\nextern sys_mutex_t lock_tcpip_core;\n#define LOCK_TCPIP_CORE()     sys_mutex_lock(&lock_tcpip_core)\n#define UNLOCK_TCPIP_CORE()   sys_mutex_unlock(&lock_tcpip_core)\n#define TCPIP_APIMSG(m)       tcpip_apimsg_lock(m)\n#define TCPIP_APIMSG_ACK(m)\n#define TCPIP_NETIFAPI(m)     tcpip_netifapi_lock(m)\n#define TCPIP_NETIFAPI_ACK(m)\n#else /* LWIP_TCPIP_CORE_LOCKING */\n#define LOCK_TCPIP_CORE()\n#define UNLOCK_TCPIP_CORE()\n#define TCPIP_APIMSG(m)       tcpip_apimsg(m)\n#define TCPIP_APIMSG_ACK(m)   sys_sem_signal(&m->conn->op_completed)\n#define TCPIP_NETIFAPI(m)     tcpip_netifapi(m)\n#define TCPIP_NETIFAPI_ACK(m) sys_sem_signal(&m->sem)\n#endif /* LWIP_TCPIP_CORE_LOCKING */\n\n/** Function prototype for the init_done function passed to tcpip_init */\ntypedef void (*tcpip_init_done_fn)(void *arg);\n/** Function prototype for functions passed to tcpip_callback() */\ntypedef void (*tcpip_callback_fn)(void *ctx);\n\n/* Forward declarations */\nstruct tcpip_callback_msg;\n\nvoid tcpip_init(tcpip_init_done_fn tcpip_init_done, void *arg);\n\n#if LWIP_NETCONN\nerr_t tcpip_apimsg(struct api_msg *apimsg);\n#if LWIP_TCPIP_CORE_LOCKING\nerr_t tcpip_apimsg_lock(struct api_msg *apimsg);\n#endif /* LWIP_TCPIP_CORE_LOCKING */\n#endif /* LWIP_NETCONN */\n\nerr_t tcpip_input(struct pbuf *p, struct netif *inp);\n\n#if LWIP_NETIF_API\nerr_t tcpip_netifapi(struct netifapi_msg *netifapimsg);\n#if LWIP_TCPIP_CORE_LOCKING\nerr_t tcpip_netifapi_lock(struct netifapi_msg *netifapimsg);\n#endif /* LWIP_TCPIP_CORE_LOCKING */\n#endif /* LWIP_NETIF_API */\n\nerr_t tcpip_callback_with_block(tcpip_callback_fn function, void *ctx, u8_t block);\n#define tcpip_callback(f, ctx)              tcpip_callback_with_block(f, ctx, 1)\n\nstruct tcpip_callback_msg* tcpip_callbackmsg_new(tcpip_callback_fn function, void *ctx);\nvoid   tcpip_callbackmsg_delete(struct tcpip_callback_msg* msg);\nerr_t  tcpip_trycallback(struct tcpip_callback_msg* msg);\n\n/* free pbufs or heap memory from another context without blocking */\nerr_t pbuf_free_callback(struct pbuf *p);\nerr_t mem_free_callback(void *m);\n\n#if LWIP_TCPIP_TIMEOUT\nerr_t tcpip_timeout(u32_t msecs, sys_timeout_handler h, void *arg);\nerr_t tcpip_untimeout(sys_timeout_handler h, void *arg);\n#endif /* LWIP_TCPIP_TIMEOUT */\n\nenum tcpip_msg_type {\n#if LWIP_NETCONN\n  TCPIP_MSG_API,\n#endif /* LWIP_NETCONN */\n  TCPIP_MSG_INPKT,\n#if LWIP_NETIF_API\n  TCPIP_MSG_NETIFAPI,\n#endif /* LWIP_NETIF_API */\n#if LWIP_TCPIP_TIMEOUT\n  TCPIP_MSG_TIMEOUT,\n  TCPIP_MSG_UNTIMEOUT,\n#endif /* LWIP_TCPIP_TIMEOUT */\n  TCPIP_MSG_CALLBACK,\n  TCPIP_MSG_CALLBACK_STATIC\n};\n\nstruct tcpip_msg {\n  enum tcpip_msg_type type;\n  sys_sem_t *sem;\n  union {\n#if LWIP_NETCONN\n    struct api_msg *apimsg;\n#endif /* LWIP_NETCONN */\n#if LWIP_NETIF_API\n    struct netifapi_msg *netifapimsg;\n#endif /* LWIP_NETIF_API */\n    struct {\n      struct pbuf *p;\n      struct netif *netif;\n    } inp;\n    struct {\n      tcpip_callback_fn function;\n      void *ctx;\n    } cb;\n#if LWIP_TCPIP_TIMEOUT\n    struct {\n      u32_t msecs;\n      sys_timeout_handler h;\n      void *arg;\n    } tmo;\n#endif /* LWIP_TCPIP_TIMEOUT */\n  } msg;\n};\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* !NO_SYS */\n\n#endif /* __LWIP_TCPIP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/timers.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *         Simon Goldschmidt\n *\n */\n#ifndef __LWIP_TIMERS_H__\n#define __LWIP_TIMERS_H__\n\n#include \"lwip/opt.h\"\n\n/* Timers are not supported when NO_SYS==1 and NO_SYS_NO_TIMERS==1 */\n#define LWIP_TIMERS (!NO_SYS || (NO_SYS && !NO_SYS_NO_TIMERS))\n\n#if LWIP_TIMERS\n\n#include \"lwip/err.h\"\n#if !NO_SYS\n#include \"lwip/sys.h\"\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef LWIP_DEBUG_TIMERNAMES\n#ifdef LWIP_DEBUG\n#define LWIP_DEBUG_TIMERNAMES SYS_DEBUG\n#else /* LWIP_DEBUG */\n#define LWIP_DEBUG_TIMERNAMES 0\n#endif /* LWIP_DEBUG*/\n#endif\n\n/** Function prototype for a timeout callback function. Register such a function\n * using sys_timeout().\n *\n * @param arg Additional argument to pass to the function - set up by sys_timeout()\n */\ntypedef void (* sys_timeout_handler)(void *arg);\n\nstruct sys_timeo {\n  struct sys_timeo *next;\n  u32_t time;\n  sys_timeout_handler h;\n  void *arg;\n#if LWIP_DEBUG_TIMERNAMES\n  const char* handler_name;\n#endif /* LWIP_DEBUG_TIMERNAMES */\n};\n\nvoid sys_timeouts_init(void);\n\n#if LWIP_DEBUG_TIMERNAMES\nvoid sys_timeout_debug(u32_t msecs, sys_timeout_handler handler, void *arg, const char* handler_name);\n#define sys_timeout(msecs, handler, arg) sys_timeout_debug(msecs, handler, arg, #handler)\n#else /* LWIP_DEBUG_TIMERNAMES */\nvoid sys_timeout(u32_t msecs, sys_timeout_handler handler, void *arg);\n#endif /* LWIP_DEBUG_TIMERNAMES */\n\nvoid sys_untimeout(sys_timeout_handler handler, void *arg);\n#if NO_SYS\nvoid sys_check_timeouts(void);\nvoid sys_restart_timeouts(void);\n#else /* NO_SYS */\nvoid sys_timeouts_mbox_fetch(sys_mbox_t *mbox, void **msg);\n#endif /* NO_SYS */\n\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_TIMERS */\n#endif /* __LWIP_TIMERS_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip/udp.h",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __LWIP_UDP_H__\n#define __LWIP_UDP_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_UDP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/pbuf.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/ip.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define UDP_HLEN 8\n\n/* Fields are (of course) in network byte order. */\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct udp_hdr {\n  PACK_STRUCT_FIELD(u16_t src);\n  PACK_STRUCT_FIELD(u16_t dest);  /* src/dest UDP ports */\n  PACK_STRUCT_FIELD(u16_t len);\n  PACK_STRUCT_FIELD(u16_t chksum);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#define UDP_FLAGS_NOCHKSUM       0x01U\n#define UDP_FLAGS_UDPLITE        0x02U\n#define UDP_FLAGS_CONNECTED      0x04U\n#define UDP_FLAGS_MULTICAST_LOOP 0x08U\n\nstruct udp_pcb;\n\n/** Function prototype for udp pcb receive callback functions\n * addr and port are in same byte order as in the pcb\n * The callback is responsible for freeing the pbuf\n * if it's not used any more.\n *\n * ATTENTION: Be aware that 'addr' points into the pbuf 'p' so freeing this pbuf\n *            makes 'addr' invalid, too.\n *\n * @param arg user supplied argument (udp_pcb.recv_arg)\n * @param pcb the udp_pcb which received data\n * @param p the packet buffer that was received\n * @param addr the remote IP address from which the packet was received\n * @param port the remote port from which the packet was received\n */\ntypedef void (*udp_recv_fn)(void *arg, struct udp_pcb *pcb, struct pbuf *p,\n    ip_addr_t *addr, u16_t port);\n\n\nstruct udp_pcb {\n/* Common members of all PCB types */\n  IP_PCB;\n\n/* Protocol specific PCB members */\n\n  struct udp_pcb *next;\n\n  u8_t flags;\n  /** ports are in host byte order */\n  u16_t local_port, remote_port;\n\n#if LWIP_IGMP\n  /** outgoing network interface for multicast packets */\n  ip_addr_t multicast_ip;\n#endif /* LWIP_IGMP */\n\n#if LWIP_UDPLITE\n  /** used for UDP_LITE only */\n  u16_t chksum_len_rx, chksum_len_tx;\n#endif /* LWIP_UDPLITE */\n\n  /** receive callback function */\n  udp_recv_fn recv;\n  /** user-supplied argument for the recv callback */\n  void *recv_arg;  \n};\n/* udp_pcbs export for exernal reference (e.g. SNMP agent) */\nextern struct udp_pcb *udp_pcbs;\n\n/* The following functions is the application layer interface to the\n   UDP code. */\nstruct udp_pcb * udp_new        (void);\nvoid             udp_remove     (struct udp_pcb *pcb);\nerr_t            udp_bind       (struct udp_pcb *pcb, ip_addr_t *ipaddr,\n                                 u16_t port);\nerr_t            udp_connect    (struct udp_pcb *pcb, ip_addr_t *ipaddr,\n                                 u16_t port);\nvoid             udp_disconnect (struct udp_pcb *pcb);\nvoid             udp_recv       (struct udp_pcb *pcb, udp_recv_fn recv,\n                                 void *recv_arg);\nerr_t            udp_sendto_if  (struct udp_pcb *pcb, struct pbuf *p,\n                                 ip_addr_t *dst_ip, u16_t dst_port,\n                                 struct netif *netif);\nerr_t            udp_sendto     (struct udp_pcb *pcb, struct pbuf *p,\n                                 ip_addr_t *dst_ip, u16_t dst_port);\nerr_t            udp_send       (struct udp_pcb *pcb, struct pbuf *p);\n\n#if LWIP_CHECKSUM_ON_COPY\nerr_t            udp_sendto_if_chksum(struct udp_pcb *pcb, struct pbuf *p,\n                                 ip_addr_t *dst_ip, u16_t dst_port,\n                                 struct netif *netif, u8_t have_chksum,\n                                 u16_t chksum);\nerr_t            udp_sendto_chksum(struct udp_pcb *pcb, struct pbuf *p,\n                                 ip_addr_t *dst_ip, u16_t dst_port,\n                                 u8_t have_chksum, u16_t chksum);\nerr_t            udp_send_chksum(struct udp_pcb *pcb, struct pbuf *p,\n                                 u8_t have_chksum, u16_t chksum);\n#endif /* LWIP_CHECKSUM_ON_COPY */\n\n#define          udp_flags(pcb) ((pcb)->flags)\n#define          udp_setflags(pcb, f)  ((pcb)->flags = (f))\n\n/* The following functions are the lower layer interface to UDP. */\nvoid             udp_input      (struct pbuf *p, struct netif *inp);\n\nvoid             udp_init       (void);\n\n#if UDP_DEBUG\nvoid udp_debug_print(struct udp_hdr *udphdr);\n#else\n#define udp_debug_print(udphdr)\n#endif\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* LWIP_UDP */\n\n#endif /* __LWIP_UDP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwip.h",
    "content": "#ifndef lwip_h\n#define lwip_h\n\n#import <Foundation/Foundation.h>\n#if TARGET_OS_IPHONE\n#import <UIKit/UIKit.h>\n#else\n#import <Cocoa/Cocoa.h>\n#endif\n\n//! Project version number for lwip.\nFOUNDATION_EXPORT double lwipVersionNumber;\n\n//! Project version string for lwip.\nFOUNDATION_EXPORT const unsigned char lwipVersionString[];\n\n/* Modules initialization */\nvoid lwip_init(void);\n\nvoid sys_check_timeouts(void);\nvoid sys_restart_timeouts(void);\n\n/* Define generic types used in lwIP */\ntypedef unsigned   char    u8_t;\ntypedef signed     char    s8_t;\ntypedef unsigned   short   u16_t;\ntypedef signed     short   s16_t;\ntypedef unsigned   int     u32_t;\ntypedef signed     int     s32_t;\n\ntypedef unsigned long mem_ptr_t;\n\n\ntypedef s8_t err_t;\n\n/* Definitions for error constants. */\n\n#define ERR_OK          0    /* No error, everything OK. */\n#define ERR_MEM        -1    /* Out of memory error.     */\n#define ERR_BUF        -2    /* Buffer error.            */\n#define ERR_TIMEOUT    -3    /* Timeout.                 */\n#define ERR_RTE        -4    /* Routing problem.         */\n#define ERR_INPROGRESS -5    /* Operation in progress    */\n#define ERR_VAL        -6    /* Illegal value.           */\n#define ERR_WOULDBLOCK -7    /* Operation would block.   */\n#define ERR_USE        -8    /* Address in use.          */\n#define ERR_ISCONN     -9    /* Already connected.       */\n\n#define ERR_IS_FATAL(e) ((e) < ERR_ISCONN)\n\n#define ERR_ABRT       -10   /* Connection aborted.      */\n#define ERR_RST        -11   /* Connection reset.        */\n#define ERR_CLSD       -12   /* Connection closed.       */\n#define ERR_CONN       -13   /* Not connected.           */\n\n#define ERR_ARG        -14   /* Illegal argument.        */\n\n#define ERR_IF         -15   /* Low-level netif error    */\n\n/* This is the aligned version of ip_addr_t,\n used as local variable, on the stack, etc. */\nstruct ip_addr {\n    u32_t addr;\n};\ntypedef struct ip_addr ip_addr_t;\n\nextern const ip_addr_t ip_addr_any;\nextern const ip_addr_t ip_addr_broadcast;\n\n/** IP_ADDR_ can be used as a fixed IP address\n *  for the wildcard and the broadcast address\n */\n#define IP_ADDR_ANY         ((ip_addr_t *)&ip_addr_any)\n#define IP_ADDR_BROADCAST   ((ip_addr_t *)&ip_addr_broadcast)\n\n/** 255.255.255.255 */\n#define IPADDR_NONE         ((u32_t)0xffffffffUL)\n/** 127.0.0.1 */\n#define IPADDR_LOOPBACK     ((u32_t)0x7f000001UL)\n/** 0.0.0.0 */\n#define IPADDR_ANY          ((u32_t)0x00000000UL)\n\ntypedef enum {\n    PBUF_RAM, /* pbuf data is stored in RAM */\n    PBUF_ROM, /* pbuf data is stored in ROM */\n    PBUF_REF, /* pbuf comes from the pbuf pool */\n    PBUF_POOL /* pbuf payload refers to RAM */\n} pbuf_type;\n\nstruct pbuf {\n    /** next pbuf in singly linked pbuf chain */\n    struct pbuf *next;\n    \n    /** pointer to the actual data in the buffer */\n    void *payload;\n    \n    /**\n     * total length of this buffer and all next buffers in chain\n     * belonging to the same packet.\n     *\n     * For non-queue packet chains this is the invariant:\n     * p->tot_len == p->len + (p->next? p->next->tot_len: 0)\n     */\n    u16_t tot_len;\n    \n    /** length of this buffer */\n    u16_t len;\n    \n    /** pbuf_type as u8_t instead of enum to save space */\n    u8_t /*pbuf_type*/ type;\n    \n    /** misc flags */\n    u8_t flags;\n    \n    /**\n     * the reference count always equals the number of pointers\n     * that refer to this pbuf. This can be pointers from an application,\n     * the stack itself, or pbuf->next pointers from a chain.\n     */\n    u16_t ref;\n};\n\ntypedef enum {\n    PBUF_TRANSPORT,\n    PBUF_IP,\n    PBUF_LINK,\n    PBUF_RAW\n} pbuf_layer;\n\nstruct pbuf *pbuf_alloc(pbuf_layer l, u16_t length, pbuf_type type);\nvoid pbuf_realloc(struct pbuf *p, u16_t size);\nu8_t pbuf_header(struct pbuf *p, s16_t header_size);\nvoid pbuf_ref(struct pbuf *p);\nu8_t pbuf_free(struct pbuf *p);\nu8_t pbuf_clen(struct pbuf *p);\nvoid pbuf_cat(struct pbuf *head, struct pbuf *tail);\nvoid pbuf_chain(struct pbuf *head, struct pbuf *tail);\nstruct pbuf *pbuf_dechain(struct pbuf *p);\nerr_t pbuf_copy(struct pbuf *p_to, struct pbuf *p_from);\nu16_t pbuf_copy_partial(struct pbuf *p, void *dataptr, u16_t len, u16_t offset);\nerr_t pbuf_take(struct pbuf *buf, const void *dataptr, u16_t len);\n\n\n/* This is the common part of all PCB types. It needs to be at the\n beginning of a PCB type definition. It is located here so that\n changes to this common part are made in one location instead of\n having to change all PCB structs. */\n#define IP_PCB \\\n/* ip addresses in network byte order */ \\\nip_addr_t local_ip; \\\nip_addr_t remote_ip; \\\n/* Socket options */  \\\nu8_t so_options;      \\\n/* Type Of Service */ \\\nu8_t tos;              \\\n/* Time To Live */     \\\nu8_t ttl\n\n#define DEF_ACCEPT_CALLBACK  tcp_accept_fn accept;\n\n/**\n * members common to struct tcp_pcb and struct tcp_listen_pcb\n */\n#define TCP_PCB_COMMON(type) \\\ntype *next; /* for the linked list */ \\\nvoid *callback_arg; \\\n/* the accept callback for listen- and normal pcbs, if LWIP_CALLBACK_API */ \\\nDEF_ACCEPT_CALLBACK \\\nenum tcp_state state; /* TCP state */ \\\nu8_t prio; \\\n/* ports are in host byte order */ \\\nu16_t local_port\n\nenum tcp_state {\n    CLOSED      = 0,\n    LISTEN      = 1,\n    SYN_SENT    = 2,\n    SYN_RCVD    = 3,\n    ESTABLISHED = 4,\n    FIN_WAIT_1  = 5,\n    FIN_WAIT_2  = 6,\n    CLOSE_WAIT  = 7,\n    CLOSING     = 8,\n    LAST_ACK    = 9,\n    TIME_WAIT   = 10\n};\n\nstruct tcp_pcb;\n/** Function prototype for tcp accept callback functions. Called when a new\n * connection can be accepted on a listening pcb.\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param newpcb The new connection pcb\n * @param err An error code if there has been an error accepting.\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n */\ntypedef err_t (*tcp_accept_fn)(void *arg, struct tcp_pcb *newpcb, err_t err);\n\n/* the TCP protocol control block */\nstruct tcp_pcb {\n    /** common PCB members */\n    IP_PCB;\n    /** protocol specific PCB members */\n    TCP_PCB_COMMON(struct tcp_pcb);\n    \n    /* ports are in host byte order */\n    u16_t remote_port;\n};\n\n/** Function prototype for tcp receive callback functions. Called when data has\n * been received.\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param tpcb The connection pcb which received data\n * @param p The received data (or NULL when the connection has been closed!)\n * @param err An error code if there has been an error receiving\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n */\ntypedef err_t (*tcp_recv_fn)(void *arg, struct tcp_pcb *tpcb,\n                             struct pbuf *p, err_t err);\n\n/** Function prototype for tcp sent callback functions. Called when sent data has\n * been acknowledged by the remote side. Use it to free corresponding resources.\n * This also means that the pcb has now space available to send new data.\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param tpcb The connection pcb for which data has been acknowledged\n * @param len The amount of bytes acknowledged\n * @return ERR_OK: try to send some data by calling tcp_output\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n */\ntypedef err_t (*tcp_sent_fn)(void *arg, struct tcp_pcb *tpcb,\n                             u16_t len);\n\n/** Function prototype for tcp poll callback functions. Called periodically as\n * specified by @see tcp_poll.\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param tpcb tcp pcb\n * @return ERR_OK: try to send some data by calling tcp_output\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n */\ntypedef err_t (*tcp_poll_fn)(void *arg, struct tcp_pcb *tpcb);\n\n/** Function prototype for tcp error callback functions. Called when the pcb\n * receives a RST or is unexpectedly closed for any other reason.\n *\n * @note The corresponding pcb is already freed when this callback is called!\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param err Error code to indicate why the pcb has been closed\n *            ERR_ABRT: aborted through tcp_abort or by a TCP timer\n *            ERR_RST: the connection was reset by the remote host\n */\ntypedef void  (*tcp_err_fn)(void *arg, err_t err);\n\n/** Function prototype for tcp connected callback functions. Called when a pcb\n * is connected to the remote side after initiating a connection attempt by\n * calling tcp_connect().\n *\n * @param arg Additional argument to pass to the callback function (@see tcp_arg())\n * @param tpcb The connection pcb which is connected\n * @param err An unused error code, always ERR_OK currently ;-) TODO!\n *            Only return ERR_ABRT if you have called tcp_abort from within the\n *            callback function!\n *\n * @note When a connection attempt fails, the error callback is currently called!\n */\ntypedef err_t (*tcp_connected_fn)(void *arg, struct tcp_pcb *tpcb, err_t err);\n\n\n\n\n/* Application program's interface: */\nstruct tcp_pcb * tcp_new     (void);\n\nvoid             tcp_arg     (struct tcp_pcb *pcb, void *arg);\nvoid             tcp_accept  (struct tcp_pcb *pcb, tcp_accept_fn accept);\nvoid             tcp_recv    (struct tcp_pcb *pcb, tcp_recv_fn recv);\nvoid             tcp_sent    (struct tcp_pcb *pcb, tcp_sent_fn sent);\nvoid             tcp_poll    (struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval);\nvoid             tcp_err     (struct tcp_pcb *pcb, tcp_err_fn err);\n\n#define          tcp_mss(pcb)             (((pcb)->flags & TF_TIMESTAMP) ? ((pcb)->mss - 12)  : (pcb)->mss)\n#define          tcp_sndbuf(pcb)          ((pcb)->snd_buf)\n#define          tcp_sndqueuelen(pcb)     ((pcb)->snd_queuelen)\n#define          tcp_nagle_disable(pcb)   ((pcb)->flags |= TF_NODELAY)\n#define          tcp_nagle_enable(pcb)    ((pcb)->flags &= ~TF_NODELAY)\n#define          tcp_nagle_disabled(pcb)  (((pcb)->flags & TF_NODELAY) != 0)\n\n#if TCP_LISTEN_BACKLOG\n#define          tcp_accepted(pcb) do { \\\nLWIP_ASSERT(\"pcb->state == LISTEN (called for wrong pcb?)\", pcb->state == LISTEN); \\\n(((struct tcp_pcb_listen *)(pcb))->accepts_pending--); } while(0)\n#else  /* TCP_LISTEN_BACKLOG */\n#define          tcp_accepted(pcb) LWIP_ASSERT(\"pcb->state == LISTEN (called for wrong pcb?)\", \\\n(pcb)->state == LISTEN)\n#endif /* TCP_LISTEN_BACKLOG */\n\nvoid             tcp_recved  (struct tcp_pcb *pcb, u16_t len);\nerr_t            tcp_bind    (struct tcp_pcb *pcb, ip_addr_t *ipaddr,\n                              u16_t port);\nerr_t            tcp_connect (struct tcp_pcb *pcb, ip_addr_t *ipaddr,\n                              u16_t port, tcp_connected_fn connected);\n\nstruct tcp_pcb * tcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog);\n#define          tcp_listen(pcb) tcp_listen_with_backlog(pcb, TCP_DEFAULT_LISTEN_BACKLOG)\n\nvoid             tcp_abort (struct tcp_pcb *pcb);\nerr_t            tcp_close   (struct tcp_pcb *pcb);\nerr_t            tcp_shutdown(struct tcp_pcb *pcb, int shut_rx, int shut_tx);\n\n/* Flags for \"apiflags\" parameter in tcp_write */\n#define TCP_WRITE_FLAG_COPY 0x01\n#define TCP_WRITE_FLAG_MORE 0x02\n\nerr_t            tcp_write   (struct tcp_pcb *pcb, const void *dataptr, u16_t len,\n                              u8_t apiflags);\n\nvoid             tcp_setprio (struct tcp_pcb *pcb, u8_t prio);\n\n#define TCP_PRIO_MIN    1\n#define TCP_PRIO_NORMAL 64\n#define TCP_PRIO_MAX    127\n\nerr_t            tcp_output  (struct tcp_pcb *pcb);\n\nvoid tcp_accepted_c(struct tcp_pcb *pcb);\n#define TCP_DEFAULT_LISTEN_BACKLOG 0xff\nstruct tcp_pcb * tcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog);\n\n\n/** The list of network interfaces. */\nextern struct netif *netif_list;\n/** The default network interface. */\nextern struct netif *netif_default;\n\nstruct netif;\n/** Function prototype for netif init functions. Set up flags and output/linkoutput\n * callback functions in this function.\n *\n * @param netif The netif to initialize\n */\ntypedef err_t (*netif_init_fn)(struct netif *netif);\n/** Function prototype for netif->input functions. This function is saved as 'input'\n * callback function in the netif struct. Call it when a packet has been received.\n *\n * @param p The received packet, copied into a pbuf\n * @param inp The netif which received the packet\n */\ntypedef err_t (*netif_input_fn)(struct pbuf *p, struct netif *inp);\n/** Function prototype for netif->output functions. Called by lwIP when a packet\n * shall be sent. For ethernet netif, set this to 'etharp_output' and set\n * 'linkoutput'.\n *\n * @param netif The netif which shall send a packet\n * @param p The packet to send (p->payload points to IP header)\n * @param ipaddr The IP address to which the packet shall be sent\n */\ntypedef err_t (*netif_output_fn)(struct netif *netif, struct pbuf *p,\n                                 ip_addr_t *ipaddr);\n/** Function prototype for netif->linkoutput functions. Only used for ethernet\n * netifs. This function is called by ARP when a packet shall be sent.\n *\n * @param netif The netif which shall send a packet\n * @param p The packet to send (raw ethernet packet)\n */\ntypedef err_t (*netif_linkoutput_fn)(struct netif *netif, struct pbuf *p);\n/** Function prototype for netif status- or link-callback functions. */\ntypedef void (*netif_status_callback_fn)(struct netif *netif);\n/** Function prototype for netif igmp_mac_filter functions */\ntypedef err_t (*netif_igmp_mac_filter_fn)(struct netif *netif,\n                                          ip_addr_t *group, u8_t action);\n\n/** must be the maximum of all used hardware address lengths\n across all types of interfaces in use */\n#define NETIF_MAX_HWADDR_LEN 6U\n\nstruct netif {\n    /** pointer to next in linked list */\n    struct netif *next;\n    \n    /** IP address configuration in network byte order */\n    ip_addr_t ip_addr;\n    ip_addr_t netmask;\n    ip_addr_t gw;\n    \n    /** This function is called by the network device driver\n     *  to pass a packet up the TCP/IP stack. */\n    netif_input_fn input;\n    /** This function is called by the IP module when it wants\n     *  to send a packet on the interface. This function typically\n     *  first resolves the hardware address, then sends the packet. */\n    netif_output_fn output;\n    /** This function is called by the ARP module when it wants\n     *  to send a packet on the interface. This function outputs\n     *  the pbuf as-is on the link medium. */\n    netif_linkoutput_fn linkoutput;\n#if LWIP_NETIF_STATUS_CALLBACK\n    /** This function is called when the netif state is set to up or down\n     */\n    netif_status_callback_fn status_callback;\n#endif /* LWIP_NETIF_STATUS_CALLBACK */\n#if LWIP_NETIF_LINK_CALLBACK\n    /** This function is called when the netif link is set to up or down\n     */\n    netif_status_callback_fn link_callback;\n#endif /* LWIP_NETIF_LINK_CALLBACK */\n#if LWIP_NETIF_REMOVE_CALLBACK\n    /** This function is called when the netif has been removed */\n    netif_status_callback_fn remove_callback;\n#endif /* LWIP_NETIF_REMOVE_CALLBACK */\n    /** This field can be set by the device driver and could point\n     *  to state information for the device. */\n    void *state;\n#if LWIP_DHCP\n    /** the DHCP client state information for this netif */\n    struct dhcp *dhcp;\n#endif /* LWIP_DHCP */\n#if LWIP_AUTOIP\n    /** the AutoIP client state information for this netif */\n    struct autoip *autoip;\n#endif\n#if LWIP_NETIF_HOSTNAME\n    /* the hostname for this netif, NULL is a valid value */\n    char*  hostname;\n#endif /* LWIP_NETIF_HOSTNAME */\n    /** maximum transfer unit (in bytes) */\n    u16_t mtu;\n    /** number of bytes used in hwaddr */\n    u8_t hwaddr_len;\n    /** link level hardware address of this interface */\n    u8_t hwaddr[NETIF_MAX_HWADDR_LEN];\n    /** flags (see NETIF_FLAG_ above) */\n    u8_t flags;\n    /** descriptive abbreviation */\n    char name[2];\n    /** number of this interface */\n    u8_t num;\n#if LWIP_SNMP\n    /** link type (from \"snmp_ifType\" enum from snmp.h) */\n    u8_t link_type;\n    /** (estimate) link speed */\n    u32_t link_speed;\n    /** timestamp at last change made (up/down) */\n    u32_t ts;\n    /** counters */\n    u32_t ifinoctets;\n    u32_t ifinucastpkts;\n    u32_t ifinnucastpkts;\n    u32_t ifindiscards;\n    u32_t ifoutoctets;\n    u32_t ifoutucastpkts;\n    u32_t ifoutnucastpkts;\n    u32_t ifoutdiscards;\n#endif /* LWIP_SNMP */\n#if LWIP_IGMP\n    /** This function could be called to add or delete a entry in the multicast\n     filter table of the ethernet MAC.*/\n    netif_igmp_mac_filter_fn igmp_mac_filter;\n#endif /* LWIP_IGMP */\n#if LWIP_NETIF_HWADDRHINT\n    u8_t *addr_hint;\n#endif /* LWIP_NETIF_HWADDRHINT */\n#if ENABLE_LOOPBACK\n    /* List of packets to be queued for ourselves. */\n    struct pbuf *loop_first;\n    struct pbuf *loop_last;\n#if LWIP_LOOPBACK_MAX_PBUFS\n    u16_t loop_cnt_current;\n#endif /* LWIP_LOOPBACK_MAX_PBUFS */\n#endif /* ENABLE_LOOPBACK */\n};\n\n\n#endif /* lwip_h */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/lwipopts.h",
    "content": "#ifndef lwipopts_h\n#define lwipopts_h\n\n/**\n * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain\n * critical regions during buffer allocation, deallocation and memory\n * allocation and deallocation.\n */\n#ifndef SYS_LIGHTWEIGHT_PROT\n#define SYS_LIGHTWEIGHT_PROT            0\n#endif\n\n/**\n * NO_SYS==1: Provides VERY minimal functionality. Otherwise,\n * use lwIP facilities.\n */\n#ifndef NO_SYS\n#define NO_SYS                          1\n#endif\n\n/**\n * NO_SYS_NO_TIMERS==1: Drop support for sys_timeout when NO_SYS==1\n * Mainly for compatibility to old versions.\n */\n#ifndef NO_SYS_NO_TIMERS\n#define NO_SYS_NO_TIMERS                0\n#endif\n\n/**\n * MEMCPY: override this if you have a faster implementation at hand than the\n * one included in your C library\n */\n#ifndef MEMCPY\n#define MEMCPY(dst,src,len)             memcpy(dst,src,len)\n#endif\n\n/**\n * SMEMCPY: override this with care! Some compilers (e.g. gcc) can inline a\n * call to memcpy() if the length is known at compile time and is small.\n */\n#ifndef SMEMCPY\n#define SMEMCPY(dst,src,len)            memcpy(dst,src,len)\n#endif\n\n/*\n ------------------------------------\n ---------- Memory options ----------\n ------------------------------------\n */\n/**\n * MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library\n * instead of the lwip internal allocator. Can save code size if you\n * already use it.\n */\n#ifndef MEM_LIBC_MALLOC\n#define MEM_LIBC_MALLOC                 1\n#endif\n\n/**\n * MEMP_MEM_MALLOC==1: Use mem_malloc/mem_free instead of the lwip pool allocator.\n * Especially useful with MEM_LIBC_MALLOC but handle with care regarding execution\n * speed and usage from interrupts!\n */\n#ifndef MEMP_MEM_MALLOC\n#define MEMP_MEM_MALLOC                 1\n#endif\n\n/**\n * MEM_ALIGNMENT: should be set to the alignment of the CPU\n *    4 byte alignment -> #define MEM_ALIGNMENT 4\n *    2 byte alignment -> #define MEM_ALIGNMENT 2\n */\n#ifndef MEM_ALIGNMENT\n#define MEM_ALIGNMENT                   1\n#endif\n\n/**\n * MEM_SIZE: the size of the heap memory. If the application will send\n * a lot of data that needs to be copied, this should be set high.\n */\n#ifndef MEM_SIZE\n#define MEM_SIZE                        512000\n#endif\n\n/**\n * MEMP_SEPARATE_POOLS: if defined to 1, each pool is placed in its own array.\n * This can be used to individually change the location of each pool.\n * Default is one big array for all pools\n */\n#ifndef MEMP_SEPARATE_POOLS\n#define MEMP_SEPARATE_POOLS             0\n#endif\n\n/**\n * MEMP_OVERFLOW_CHECK: memp overflow protection reserves a configurable\n * amount of bytes before and after each memp element in every pool and fills\n * it with a prominent default value.\n *    MEMP_OVERFLOW_CHECK == 0 no checking\n *    MEMP_OVERFLOW_CHECK == 1 checks each element when it is freed\n *    MEMP_OVERFLOW_CHECK >= 2 checks each element in every pool every time\n *      memp_malloc() or memp_free() is called (useful but slow!)\n */\n#ifndef MEMP_OVERFLOW_CHECK\n#define MEMP_OVERFLOW_CHECK             0\n#endif\n\n/**\n * MEMP_SANITY_CHECK==1: run a sanity check after each memp_free() to make\n * sure that there are no cycles in the linked lists.\n */\n#ifndef MEMP_SANITY_CHECK\n#define MEMP_SANITY_CHECK               0\n#endif\n\n/**\n * MEM_USE_POOLS==1: Use an alternative to malloc() by allocating from a set\n * of memory pools of various sizes. When mem_malloc is called, an element of\n * the smallest pool that can provide the length needed is returned.\n * To use this, MEMP_USE_CUSTOM_POOLS also has to be enabled.\n */\n#ifndef MEM_USE_POOLS\n#define MEM_USE_POOLS                   0\n#endif\n\n/**\n * MEM_USE_POOLS_TRY_BIGGER_POOL==1: if one malloc-pool is empty, try the next\n * bigger pool - WARNING: THIS MIGHT WASTE MEMORY but it can make a system more\n * reliable. */\n#ifndef MEM_USE_POOLS_TRY_BIGGER_POOL\n#define MEM_USE_POOLS_TRY_BIGGER_POOL   0\n#endif\n\n/**\n * MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h\n * that defines additional pools beyond the \"standard\" ones required\n * by lwIP. If you set this to 1, you must have lwippools.h in your\n * inlude path somewhere.\n */\n#ifndef MEMP_USE_CUSTOM_POOLS\n#define MEMP_USE_CUSTOM_POOLS           0\n#endif\n\n/**\n * Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from\n * interrupt context (or another context that doesn't allow waiting for a\n * semaphore).\n * If set to 1, mem_malloc will be protected by a semaphore and SYS_ARCH_PROTECT,\n * while mem_free will only use SYS_ARCH_PROTECT. mem_malloc SYS_ARCH_UNPROTECTs\n * with each loop so that mem_free can run.\n *\n * ATTENTION: As you can see from the above description, this leads to dis-/\n * enabling interrupts often, which can be slow! Also, on low memory, mem_malloc\n * can need longer.\n *\n * If you don't want that, at least for NO_SYS=0, you can still use the following\n * functions to enqueue a deallocation call which then runs in the tcpip_thread\n * context:\n * - pbuf_free_callback(p);\n * - mem_free_callback(m);\n */\n#ifndef LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0\n#endif\n\n/*\n ------------------------------------------------\n ---------- Internal Memory Pool Sizes ----------\n ------------------------------------------------\n */\n/**\n * MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF).\n * If the application sends a lot of data out of ROM (or other static memory),\n * this should be set high.\n */\n#ifndef MEMP_NUM_PBUF\n#define MEMP_NUM_PBUF                   16\n#endif\n\n/**\n * MEMP_NUM_RAW_PCB: Number of raw connection PCBs\n * (requires the LWIP_RAW option)\n */\n#ifndef MEMP_NUM_RAW_PCB\n#define MEMP_NUM_RAW_PCB                64\n#endif\n\n/**\n * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One\n * per active UDP \"connection\".\n * (requires the LWIP_UDP option)\n */\n#ifndef MEMP_NUM_UDP_PCB\n#define MEMP_NUM_UDP_PCB                4\n#endif\n\n/**\n * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections.\n * (requires the LWIP_TCP option)\n */\n#ifndef MEMP_NUM_TCP_PCB\n#define MEMP_NUM_TCP_PCB                64\n#endif\n\n/**\n * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections.\n * (requires the LWIP_TCP option)\n */\n#ifndef MEMP_NUM_TCP_PCB_LISTEN\n#define MEMP_NUM_TCP_PCB_LISTEN         8\n#endif\n\n/**\n * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments.\n * (requires the LWIP_TCP option)\n */\n#ifndef MEMP_NUM_TCP_SEG\n#define MEMP_NUM_TCP_SEG                64\n#endif\n\n/**\n * MEMP_NUM_REASSDATA: the number of IP packets simultaneously queued for\n * reassembly (whole packets, not fragments!)\n */\n#ifndef MEMP_NUM_REASSDATA\n#define MEMP_NUM_REASSDATA              5\n#endif\n\n/**\n * MEMP_NUM_FRAG_PBUF: the number of IP fragments simultaneously sent\n * (fragments, not whole packets!).\n * This is only used with IP_FRAG_USES_STATIC_BUF==0 and\n * LWIP_NETIF_TX_SINGLE_PBUF==0 and only has to be > 1 with DMA-enabled MACs\n * where the packet is not yet sent when netif->output returns.\n */\n#ifndef MEMP_NUM_FRAG_PBUF\n#define MEMP_NUM_FRAG_PBUF              15\n#endif\n\n/**\n * MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing\n * packets (pbufs) that are waiting for an ARP request (to resolve\n * their destination address) to finish.\n * (requires the ARP_QUEUEING option)\n */\n#ifndef MEMP_NUM_ARP_QUEUE\n#define MEMP_NUM_ARP_QUEUE              30\n#endif\n\n/**\n * MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces\n * can be members et the same time (one per netif - allsystems group -, plus one\n * per netif membership).\n * (requires the LWIP_IGMP option)\n */\n#ifndef MEMP_NUM_IGMP_GROUP\n#define MEMP_NUM_IGMP_GROUP             8\n#endif\n\n/**\n * MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts.\n * (requires NO_SYS==0)\n * The default number of timeouts is calculated here for all enabled modules.\n * The formula expects settings to be either '0' or '1'.\n */\n#ifndef MEMP_NUM_SYS_TIMEOUT\n#define MEMP_NUM_SYS_TIMEOUT            (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT)\n#endif\n\n/**\n * MEMP_NUM_NETBUF: the number of struct netbufs.\n * (only needed if you use the sequential API, like api_lib.c)\n */\n#ifndef MEMP_NUM_NETBUF\n#define MEMP_NUM_NETBUF                 2\n#endif\n\n/**\n * MEMP_NUM_NETCONN: the number of struct netconns.\n * (only needed if you use the sequential API, like api_lib.c)\n */\n#ifndef MEMP_NUM_NETCONN\n#define MEMP_NUM_NETCONN                4\n#endif\n\n/**\n * MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used\n * for callback/timeout API communication.\n * (only needed if you use tcpip.c)\n */\n#ifndef MEMP_NUM_TCPIP_MSG_API\n#define MEMP_NUM_TCPIP_MSG_API          8\n#endif\n\n/**\n * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used\n * for incoming packets.\n * (only needed if you use tcpip.c)\n */\n#ifndef MEMP_NUM_TCPIP_MSG_INPKT\n#define MEMP_NUM_TCPIP_MSG_INPKT        8\n#endif\n\n/**\n * MEMP_NUM_SNMP_NODE: the number of leafs in the SNMP tree.\n */\n#ifndef MEMP_NUM_SNMP_NODE\n#define MEMP_NUM_SNMP_NODE              50\n#endif\n\n/**\n * MEMP_NUM_SNMP_ROOTNODE: the number of branches in the SNMP tree.\n * Every branch has one leaf (MEMP_NUM_SNMP_NODE) at least!\n */\n#ifndef MEMP_NUM_SNMP_ROOTNODE\n#define MEMP_NUM_SNMP_ROOTNODE          30\n#endif\n\n/**\n * MEMP_NUM_SNMP_VARBIND: the number of concurrent requests (does not have to\n * be changed normally) - 2 of these are used per request (1 for input,\n * 1 for output)\n */\n#ifndef MEMP_NUM_SNMP_VARBIND\n#define MEMP_NUM_SNMP_VARBIND           2\n#endif\n\n/**\n * MEMP_NUM_SNMP_VALUE: the number of OID or values concurrently used\n * (does not have to be changed normally) - 3 of these are used per request\n * (1 for the value read and 2 for OIDs - input and output)\n */\n#ifndef MEMP_NUM_SNMP_VALUE\n#define MEMP_NUM_SNMP_VALUE             3\n#endif\n\n/**\n * MEMP_NUM_NETDB: the number of concurrently running lwip_addrinfo() calls\n * (before freeing the corresponding memory using lwip_freeaddrinfo()).\n */\n#ifndef MEMP_NUM_NETDB\n#define MEMP_NUM_NETDB                  1\n#endif\n\n/**\n * MEMP_NUM_LOCALHOSTLIST: the number of host entries in the local host list\n * if DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1.\n */\n#ifndef MEMP_NUM_LOCALHOSTLIST\n#define MEMP_NUM_LOCALHOSTLIST          1\n#endif\n\n/**\n * MEMP_NUM_PPPOE_INTERFACES: the number of concurrently active PPPoE\n * interfaces (only used with PPPOE_SUPPORT==1)\n */\n#ifndef MEMP_NUM_PPPOE_INTERFACES\n#define MEMP_NUM_PPPOE_INTERFACES       1\n#endif\n\n/**\n * PBUF_POOL_SIZE: the number of buffers in the pbuf pool.\n */\n#ifndef PBUF_POOL_SIZE\n#define PBUF_POOL_SIZE                  500\n#endif\n\n/*\n ---------------------------------\n ---------- ARP options ----------\n ---------------------------------\n */\n/**\n * LWIP_ARP==1: Enable ARP functionality.\n */\n#ifndef LWIP_ARP\n#define LWIP_ARP                        0\n#endif\n\n/**\n * ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached.\n */\n#ifndef ARP_TABLE_SIZE\n#define ARP_TABLE_SIZE                  10\n#endif\n\n/**\n * ARP_QUEUEING==1: Multiple outgoing packets are queued during hardware address\n * resolution. By default, only the most recent packet is queued per IP address.\n * This is sufficient for most protocols and mainly reduces TCP connection\n * startup time. Set this to 1 if you know your application sends more than one\n * packet in a row to an IP address that is not in the ARP cache.\n */\n#ifndef ARP_QUEUEING\n#define ARP_QUEUEING                    0\n#endif\n\n/**\n * ETHARP_TRUST_IP_MAC==1: Incoming IP packets cause the ARP table to be\n * updated with the source MAC and IP addresses supplied in the packet.\n * You may want to disable this if you do not trust LAN peers to have the\n * correct addresses, or as a limited approach to attempt to handle\n * spoofing. If disabled, lwIP will need to make a new ARP request if\n * the peer is not already in the ARP table, adding a little latency.\n * The peer *is* in the ARP table if it requested our address before.\n * Also notice that this slows down input processing of every IP packet!\n */\n#ifndef ETHARP_TRUST_IP_MAC\n#define ETHARP_TRUST_IP_MAC             0\n#endif\n\n/**\n * ETHARP_SUPPORT_VLAN==1: support receiving ethernet packets with VLAN header.\n * Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check.\n * If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted.\n * If ETHARP_VLAN_CHECK is not defined, all traffic is accepted.\n * Alternatively, define a function/define ETHARP_VLAN_CHECK_FN(eth_hdr, vlan)\n * that returns 1 to accept a packet or 0 to drop a packet.\n */\n#ifndef ETHARP_SUPPORT_VLAN\n#define ETHARP_SUPPORT_VLAN             0\n#endif\n\n/** LWIP_ETHERNET==1: enable ethernet support for PPPoE even though ARP\n * might be disabled\n */\n#ifndef LWIP_ETHERNET\n#define LWIP_ETHERNET                   (LWIP_ARP || PPPOE_SUPPORT)\n#endif\n\n/** ETH_PAD_SIZE: number of bytes added before the ethernet header to ensure\n * alignment of payload after that header. Since the header is 14 bytes long,\n * without this padding e.g. addresses in the IP header will not be aligned\n * on a 32-bit boundary, so setting this to 2 can speed up 32-bit-platforms.\n */\n#ifndef ETH_PAD_SIZE\n#define ETH_PAD_SIZE                    0\n#endif\n\n/** ETHARP_SUPPORT_STATIC_ENTRIES==1: enable code to support static ARP table\n * entries (using etharp_add_static_entry/etharp_remove_static_entry).\n */\n#ifndef ETHARP_SUPPORT_STATIC_ENTRIES\n#define ETHARP_SUPPORT_STATIC_ENTRIES   0\n#endif\n\n\n/*\n --------------------------------\n ---------- IP options ----------\n --------------------------------\n */\n/**\n * IP_FORWARD==1: Enables the ability to forward IP packets across network\n * interfaces. If you are going to run lwIP on a device with only one network\n * interface, define this to 0.\n */\n#ifndef IP_FORWARD\n#define IP_FORWARD                      0\n#endif\n\n/**\n * IP_OPTIONS_ALLOWED: Defines the behavior for IP options.\n *      IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped.\n *      IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed).\n */\n#ifndef IP_OPTIONS_ALLOWED\n#define IP_OPTIONS_ALLOWED              1\n#endif\n\n/**\n * IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that\n * this option does not affect outgoing packet sizes, which can be controlled\n * via IP_FRAG.\n */\n#ifndef IP_REASSEMBLY\n#define IP_REASSEMBLY                   0\n#endif\n\n/**\n * IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note\n * that this option does not affect incoming packet sizes, which can be\n * controlled via IP_REASSEMBLY.\n */\n#ifndef IP_FRAG\n#define IP_FRAG                         1\n#endif\n\n/**\n * IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally)\n * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived\n * in this time, the whole packet is discarded.\n */\n#ifndef IP_REASS_MAXAGE\n#define IP_REASS_MAXAGE                 3\n#endif\n\n/**\n * IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled.\n * Since the received pbufs are enqueued, be sure to configure\n * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive\n * packets even if the maximum amount of fragments is enqueued for reassembly!\n */\n#ifndef IP_REASS_MAX_PBUFS\n#define IP_REASS_MAX_PBUFS              10\n#endif\n\n/**\n * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP\n * fragmentation. Otherwise pbufs are allocated and reference the original\n * packet data to be fragmented (or with LWIP_NETIF_TX_SINGLE_PBUF==1,\n * new PBUF_RAM pbufs are used for fragments).\n * ATTENTION: IP_FRAG_USES_STATIC_BUF==1 may not be used for DMA-enabled MACs!\n */\n#ifndef IP_FRAG_USES_STATIC_BUF\n#define IP_FRAG_USES_STATIC_BUF         0\n#endif\n\n/**\n * IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer\n * (requires IP_FRAG_USES_STATIC_BUF==1)\n */\n#if IP_FRAG_USES_STATIC_BUF && !defined(IP_FRAG_MAX_MTU)\n#define IP_FRAG_MAX_MTU                 1500\n#endif\n\n/**\n * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers.\n */\n#ifndef IP_DEFAULT_TTL\n#define IP_DEFAULT_TTL                  255\n#endif\n\n/**\n * IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast\n * filter per pcb on udp and raw send operations. To enable broadcast filter\n * on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1.\n */\n#ifndef IP_SOF_BROADCAST\n#define IP_SOF_BROADCAST                0\n#endif\n\n/**\n * IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast\n * filter on recv operations.\n */\n#ifndef IP_SOF_BROADCAST_RECV\n#define IP_SOF_BROADCAST_RECV           0\n#endif\n\n/**\n * IP_FORWARD_ALLOW_TX_ON_RX_NETIF==1: allow ip_forward() to send packets back\n * out on the netif where it was received. This should only be used for\n * wireless networks.\n * ATTENTION: When this is 1, make sure your netif driver correctly marks incoming\n * link-layer-broadcast/multicast packets as such using the corresponding pbuf flags!\n */\n#ifndef IP_FORWARD_ALLOW_TX_ON_RX_NETIF\n#define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0\n#endif\n\n/**\n * LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS==1: randomize the local port for the first\n * local TCP/UDP pcb (default==0). This can prevent creating predictable port\n * numbers after booting a device.\n */\n#ifndef LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS\n#define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 0\n#endif\n\n/*\n ----------------------------------\n ---------- ICMP options ----------\n ----------------------------------\n */\n/**\n * LWIP_ICMP==1: Enable ICMP module inside the IP stack.\n * Be careful, disable that make your product non-compliant to RFC1122\n */\n#ifndef LWIP_ICMP\n#define LWIP_ICMP                       0\n#endif\n\n/**\n * ICMP_TTL: Default value for Time-To-Live used by ICMP packets.\n */\n#ifndef ICMP_TTL\n#define ICMP_TTL                       (IP_DEFAULT_TTL)\n#endif\n\n/**\n * LWIP_BROADCAST_PING==1: respond to broadcast pings (default is unicast only)\n */\n#ifndef LWIP_BROADCAST_PING\n#define LWIP_BROADCAST_PING             0\n#endif\n\n/**\n * LWIP_MULTICAST_PING==1: respond to multicast pings (default is unicast only)\n */\n#ifndef LWIP_MULTICAST_PING\n#define LWIP_MULTICAST_PING             0\n#endif\n\n/*\n ---------------------------------\n ---------- RAW options ----------\n ---------------------------------\n */\n/**\n * LWIP_RAW==1: Enable application layer to hook into the IP layer itself.\n */\n#ifndef LWIP_RAW\n#define LWIP_RAW                        1\n#endif\n\n/**\n * LWIP_RAW==1: Enable application layer to hook into the IP layer itself.\n */\n#ifndef RAW_TTL\n#define RAW_TTL                        (IP_DEFAULT_TTL)\n#endif\n\n/*\n ----------------------------------\n ---------- DHCP options ----------\n ----------------------------------\n */\n/**\n * LWIP_DHCP==1: Enable DHCP module.\n */\n#ifndef LWIP_DHCP\n#define LWIP_DHCP                       0\n#endif\n\n/**\n * DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address.\n */\n#ifndef DHCP_DOES_ARP_CHECK\n#define DHCP_DOES_ARP_CHECK             ((LWIP_DHCP) && (LWIP_ARP))\n#endif\n\n/*\n ------------------------------------\n ---------- AUTOIP options ----------\n ------------------------------------\n */\n/**\n * LWIP_AUTOIP==1: Enable AUTOIP module.\n */\n#ifndef LWIP_AUTOIP\n#define LWIP_AUTOIP                     0\n#endif\n\n/**\n * LWIP_DHCP_AUTOIP_COOP==1: Allow DHCP and AUTOIP to be both enabled on\n * the same interface at the same time.\n */\n#ifndef LWIP_DHCP_AUTOIP_COOP\n#define LWIP_DHCP_AUTOIP_COOP           0\n#endif\n\n/**\n * LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes\n * that should be sent before falling back on AUTOIP. This can be set\n * as low as 1 to get an AutoIP address very quickly, but you should\n * be prepared to handle a changing IP address when DHCP overrides\n * AutoIP.\n */\n#ifndef LWIP_DHCP_AUTOIP_COOP_TRIES\n#define LWIP_DHCP_AUTOIP_COOP_TRIES     9\n#endif\n\n/*\n ----------------------------------\n ---------- SNMP options ----------\n ----------------------------------\n */\n/**\n * LWIP_SNMP==1: Turn on SNMP module. UDP must be available for SNMP\n * transport.\n */\n#ifndef LWIP_SNMP\n#define LWIP_SNMP                       0\n#endif\n\n/**\n * SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will\n * allow. At least one request buffer is required.\n * Does not have to be changed unless external MIBs answer request asynchronously\n */\n#ifndef SNMP_CONCURRENT_REQUESTS\n#define SNMP_CONCURRENT_REQUESTS        1\n#endif\n\n/**\n * SNMP_TRAP_DESTINATIONS: Number of trap destinations. At least one trap\n * destination is required\n */\n#ifndef SNMP_TRAP_DESTINATIONS\n#define SNMP_TRAP_DESTINATIONS          1\n#endif\n\n/**\n * SNMP_PRIVATE_MIB:\n * When using a private MIB, you have to create a file 'private_mib.h' that contains\n * a 'struct mib_array_node mib_private' which contains your MIB.\n */\n#ifndef SNMP_PRIVATE_MIB\n#define SNMP_PRIVATE_MIB                0\n#endif\n\n/**\n * Only allow SNMP write actions that are 'safe' (e.g. disabeling netifs is not\n * a safe action and disabled when SNMP_SAFE_REQUESTS = 1).\n * Unsafe requests are disabled by default!\n */\n#ifndef SNMP_SAFE_REQUESTS\n#define SNMP_SAFE_REQUESTS              1\n#endif\n\n/**\n * The maximum length of strings used. This affects the size of\n * MEMP_SNMP_VALUE elements.\n */\n#ifndef SNMP_MAX_OCTET_STRING_LEN\n#define SNMP_MAX_OCTET_STRING_LEN       127\n#endif\n\n/**\n * The maximum depth of the SNMP tree.\n * With private MIBs enabled, this depends on your MIB!\n * This affects the size of MEMP_SNMP_VALUE elements.\n */\n#ifndef SNMP_MAX_TREE_DEPTH\n#define SNMP_MAX_TREE_DEPTH             15\n#endif\n\n/**\n * The size of the MEMP_SNMP_VALUE elements, normally calculated from\n * SNMP_MAX_OCTET_STRING_LEN and SNMP_MAX_TREE_DEPTH.\n */\n#ifndef SNMP_MAX_VALUE_SIZE\n#define SNMP_MAX_VALUE_SIZE             LWIP_MAX((SNMP_MAX_OCTET_STRING_LEN)+1, sizeof(s32_t)*(SNMP_MAX_TREE_DEPTH))\n#endif\n\n/*\n ----------------------------------\n ---------- IGMP options ----------\n ----------------------------------\n */\n/**\n * LWIP_IGMP==1: Turn on IGMP module.\n */\n#ifndef LWIP_IGMP\n#define LWIP_IGMP                       0\n#endif\n\n/*\n ----------------------------------\n ---------- DNS options -----------\n ----------------------------------\n */\n/**\n * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS\n * transport.\n */\n#ifndef LWIP_DNS\n#define LWIP_DNS                        0\n#endif\n\n/** DNS maximum number of entries to maintain locally. */\n#ifndef DNS_TABLE_SIZE\n#define DNS_TABLE_SIZE                  4\n#endif\n\n/** DNS maximum host name length supported in the name table. */\n#ifndef DNS_MAX_NAME_LENGTH\n#define DNS_MAX_NAME_LENGTH             256\n#endif\n\n/** The maximum of DNS servers */\n#ifndef DNS_MAX_SERVERS\n#define DNS_MAX_SERVERS                 2\n#endif\n\n/** DNS do a name checking between the query and the response. */\n#ifndef DNS_DOES_NAME_CHECK\n#define DNS_DOES_NAME_CHECK             1\n#endif\n\n/** DNS message max. size. Default value is RFC compliant. */\n#ifndef DNS_MSG_SIZE\n#define DNS_MSG_SIZE                    512\n#endif\n\n/** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled,\n *  you have to define\n *    #define DNS_LOCAL_HOSTLIST_INIT {{\"host1\", 0x123}, {\"host2\", 0x234}}\n *  (an array of structs name/address, where address is an u32_t in network\n *  byte order).\n *\n *  Instead, you can also use an external function:\n *  #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name)\n *  that returns the IP address or INADDR_NONE if not found.\n */\n#ifndef DNS_LOCAL_HOSTLIST\n#define DNS_LOCAL_HOSTLIST              0\n#endif /* DNS_LOCAL_HOSTLIST */\n\n/** If this is turned on, the local host-list can be dynamically changed\n *  at runtime. */\n#ifndef DNS_LOCAL_HOSTLIST_IS_DYNAMIC\n#define DNS_LOCAL_HOSTLIST_IS_DYNAMIC   0\n#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */\n\n/*\n ---------------------------------\n ---------- UDP options ----------\n ---------------------------------\n */\n/**\n * LWIP_UDP==1: Turn on UDP.\n */\n#ifndef LWIP_UDP\n#define LWIP_UDP                        0\n#endif\n\n/**\n * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP)\n */\n#ifndef LWIP_UDPLITE\n#define LWIP_UDPLITE                    0\n#endif\n\n/**\n * UDP_TTL: Default Time-To-Live value.\n */\n#ifndef UDP_TTL\n#define UDP_TTL                         (IP_DEFAULT_TTL)\n#endif\n\n/**\n * LWIP_NETBUF_RECVINFO==1: append destination addr and port to every netbuf.\n */\n#ifndef LWIP_NETBUF_RECVINFO\n#define LWIP_NETBUF_RECVINFO            0\n#endif\n\n/*\n ---------------------------------\n ---------- TCP options ----------\n ---------------------------------\n */\n/**\n * LWIP_TCP==1: Turn on TCP.\n */\n#ifndef LWIP_TCP\n#define LWIP_TCP                        1\n#endif\n\n/**\n * TCP_TTL: Default Time-To-Live value.\n */\n#ifndef TCP_TTL\n#define TCP_TTL                         (IP_DEFAULT_TTL)\n#endif\n\n/**\n * TCP_WND: The size of a TCP window.  This must be at least\n * (2 * TCP_MSS) for things to work well\n */\n#ifndef TCP_WND\n#define TCP_WND                         0xFFFF\n#endif\n\n/**\n * TCP_MAXRTX: Maximum number of retransmissions of data segments.\n */\n#ifndef TCP_MAXRTX\n#define TCP_MAXRTX                      12\n#endif\n\n/**\n * TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments.\n */\n#ifndef TCP_SYNMAXRTX\n#define TCP_SYNMAXRTX                   6\n#endif\n\n/**\n * TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order.\n * Define to 0 if your device is low on memory.\n */\n#ifndef TCP_QUEUE_OOSEQ\n#define TCP_QUEUE_OOSEQ                 (LWIP_TCP)\n#endif\n\n/**\n * TCP_MSS: TCP Maximum segment size. (default is 536, a conservative default,\n * you might want to increase this.)\n * For the receive side, this MSS is advertised to the remote side\n * when opening a connection. For the transmit size, this MSS sets\n * an upper limit on the MSS advertised by the remote host.\n */\n#ifndef TCP_MSS\n#define TCP_MSS                         1460\n#endif\n\n/**\n * TCP_CALCULATE_EFF_SEND_MSS: \"The maximum size of a segment that TCP really\n * sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which\n * reflects the available reassembly buffer size at the remote host) and the\n * largest size permitted by the IP layer\" (RFC 1122)\n * Setting this to 1 enables code that checks TCP_MSS against the MTU of the\n * netif used for a connection and limits the MSS if it would be too big otherwise.\n */\n#ifndef TCP_CALCULATE_EFF_SEND_MSS\n#define TCP_CALCULATE_EFF_SEND_MSS      1\n#endif\n\n\n/**\n * TCP_SND_BUF: TCP sender buffer space (bytes).\n * To achieve good performance, this should be at least 2 * TCP_MSS.\n */\n#ifndef TCP_SND_BUF\n#define TCP_SND_BUF                     TCP_WND\n#endif\n\n/**\n * TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least\n * as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work.\n */\n#ifndef TCP_SND_QUEUELEN\n#define TCP_SND_QUEUELEN                TCP_SNDQUEUELEN_OVERFLOW\n#endif\n\n/**\n * TCP_SNDLOWAT: TCP writable space (bytes). This must be less than\n * TCP_SND_BUF. It is the amount of space which must be available in the\n * TCP snd_buf for select to return writable (combined with TCP_SNDQUEUELOWAT).\n */\n#ifndef TCP_SNDLOWAT\n#define TCP_SNDLOWAT                    LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1)\n#endif\n\n/**\n * TCP_SNDQUEUELOWAT: TCP writable bufs (pbuf count). This must be less\n * than TCP_SND_QUEUELEN. If the number of pbufs queued on a pcb drops below\n * this number, select returns writable (combined with TCP_SNDLOWAT).\n */\n#ifndef TCP_SNDQUEUELOWAT\n#define TCP_SNDQUEUELOWAT               LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5)\n#endif\n\n/**\n * TCP_OOSEQ_MAX_BYTES: The maximum number of bytes queued on ooseq per pcb.\n * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==0.\n */\n#ifndef TCP_OOSEQ_MAX_BYTES\n#define TCP_OOSEQ_MAX_BYTES             0\n#endif\n\n/**\n * TCP_OOSEQ_MAX_PBUFS: The maximum number of pbufs queued on ooseq per pcb.\n * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==0.\n */\n#ifndef TCP_OOSEQ_MAX_PBUFS\n#define TCP_OOSEQ_MAX_PBUFS             0\n#endif\n\n/**\n * TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb.\n */\n#ifndef TCP_LISTEN_BACKLOG\n#define TCP_LISTEN_BACKLOG              0\n#endif\n\n/**\n * The maximum allowed backlog for TCP listen netconns.\n * This backlog is used unless another is explicitly specified.\n * 0xff is the maximum (u8_t).\n */\n#ifndef TCP_DEFAULT_LISTEN_BACKLOG\n#define TCP_DEFAULT_LISTEN_BACKLOG      0xff\n#endif\n\n/**\n * TCP_OVERSIZE: The maximum number of bytes that tcp_write may\n * allocate ahead of time in an attempt to create shorter pbuf chains\n * for transmission. The meaningful range is 0 to TCP_MSS. Some\n * suggested values are:\n *\n * 0:         Disable oversized allocation. Each tcp_write() allocates a new\n pbuf (old behaviour).\n * 1:         Allocate size-aligned pbufs with minimal excess. Use this if your\n *            scatter-gather DMA requires aligned fragments.\n * 128:       Limit the pbuf/memory overhead to 20%.\n * TCP_MSS:   Try to create unfragmented TCP packets.\n * TCP_MSS/4: Try to create 4 fragments or less per TCP packet.\n */\n#ifndef TCP_OVERSIZE\n#define TCP_OVERSIZE                    TCP_MSS\n#endif\n\n/**\n * LWIP_TCP_TIMESTAMPS==1: support the TCP timestamp option.\n */\n#ifndef LWIP_TCP_TIMESTAMPS\n#define LWIP_TCP_TIMESTAMPS             0\n#endif\n\n/**\n * TCP_WND_UPDATE_THRESHOLD: difference in window to trigger an\n * explicit window update\n */\n#ifndef TCP_WND_UPDATE_THRESHOLD\n#define TCP_WND_UPDATE_THRESHOLD   (TCP_WND / 4)\n#endif\n\n/**\n * LWIP_EVENT_API and LWIP_CALLBACK_API: Only one of these should be set to 1.\n *     LWIP_EVENT_API==1: The user defines lwip_tcp_event() to receive all\n *         events (accept, sent, etc) that happen in the system.\n *     LWIP_CALLBACK_API==1: The PCB callback function is called directly\n *         for the event. This is the default.\n */\n#if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API)\n#define LWIP_EVENT_API                  0\n#define LWIP_CALLBACK_API               1\n#endif\n\n\n/*\n ----------------------------------\n ---------- Pbuf options ----------\n ----------------------------------\n */\n/**\n * PBUF_LINK_HLEN: the number of bytes that should be allocated for a\n * link level header. The default is 14, the standard value for\n * Ethernet.\n */\n#ifndef PBUF_LINK_HLEN\n#define PBUF_LINK_HLEN                  (14 + ETH_PAD_SIZE)\n#endif\n\n/**\n * PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. The default is\n * designed to accomodate single full size TCP frame in one pbuf, including\n * TCP_MSS, IP header, and link header.\n */\n#ifndef PBUF_POOL_BUFSIZE\n#define PBUF_POOL_BUFSIZE               LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)\n#endif\n\n/*\n ------------------------------------------------\n ---------- Network Interfaces options ----------\n ------------------------------------------------\n */\n/**\n * LWIP_NETIF_HOSTNAME==1: use DHCP_OPTION_HOSTNAME with netif's hostname\n * field.\n */\n#ifndef LWIP_NETIF_HOSTNAME\n#define LWIP_NETIF_HOSTNAME             0\n#endif\n\n/**\n * LWIP_NETIF_API==1: Support netif api (in netifapi.c)\n */\n#ifndef LWIP_NETIF_API\n#define LWIP_NETIF_API                  0\n#endif\n\n/**\n * LWIP_NETIF_STATUS_CALLBACK==1: Support a callback function whenever an interface\n * changes its up/down status (i.e., due to DHCP IP acquistion)\n */\n#ifndef LWIP_NETIF_STATUS_CALLBACK\n#define LWIP_NETIF_STATUS_CALLBACK      0\n#endif\n\n/**\n * LWIP_NETIF_LINK_CALLBACK==1: Support a callback function from an interface\n * whenever the link changes (i.e., link down)\n */\n#ifndef LWIP_NETIF_LINK_CALLBACK\n#define LWIP_NETIF_LINK_CALLBACK        0\n#endif\n\n/**\n * LWIP_NETIF_REMOVE_CALLBACK==1: Support a callback function that is called\n * when a netif has been removed\n */\n#ifndef LWIP_NETIF_REMOVE_CALLBACK\n#define LWIP_NETIF_REMOVE_CALLBACK      0\n#endif\n\n/**\n * LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g. table\n * indices) in struct netif. TCP and UDP can make use of this to prevent\n * scanning the ARP table for every sent packet. While this is faster for big\n * ARP tables or many concurrent connections, it might be counterproductive\n * if you have a tiny ARP table or if there never are concurrent connections.\n */\n#ifndef LWIP_NETIF_HWADDRHINT\n#define LWIP_NETIF_HWADDRHINT           0\n#endif\n\n/**\n * LWIP_NETIF_LOOPBACK==1: Support sending packets with a destination IP\n * address equal to the netif IP address, looping them back up the stack.\n */\n#ifndef LWIP_NETIF_LOOPBACK\n#define LWIP_NETIF_LOOPBACK             0\n#endif\n\n/**\n * LWIP_LOOPBACK_MAX_PBUFS: Maximum number of pbufs on queue for loopback\n * sending for each netif (0 = disabled)\n */\n#ifndef LWIP_LOOPBACK_MAX_PBUFS\n#define LWIP_LOOPBACK_MAX_PBUFS         0\n#endif\n\n/**\n * LWIP_NETIF_LOOPBACK_MULTITHREADING: Indicates whether threading is enabled in\n * the system, as netifs must change how they behave depending on this setting\n * for the LWIP_NETIF_LOOPBACK option to work.\n * Setting this is needed to avoid reentering non-reentrant functions like\n * tcp_input().\n *    LWIP_NETIF_LOOPBACK_MULTITHREADING==1: Indicates that the user is using a\n *       multithreaded environment like tcpip.c. In this case, netif->input()\n *       is called directly.\n *    LWIP_NETIF_LOOPBACK_MULTITHREADING==0: Indicates a polling (or NO_SYS) setup.\n *       The packets are put on a list and netif_poll() must be called in\n *       the main application loop.\n */\n#ifndef LWIP_NETIF_LOOPBACK_MULTITHREADING\n#define LWIP_NETIF_LOOPBACK_MULTITHREADING    (!NO_SYS)\n#endif\n\n/**\n * LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data\n * to be sent into one single pbuf. This is for compatibility with DMA-enabled\n * MACs that do not support scatter-gather.\n * Beware that this might involve CPU-memcpy before transmitting that would not\n * be needed without this flag! Use this only if you need to!\n *\n * @todo: TCP and IP-frag do not work with this, yet:\n */\n#ifndef LWIP_NETIF_TX_SINGLE_PBUF\n#define LWIP_NETIF_TX_SINGLE_PBUF             0\n#endif /* LWIP_NETIF_TX_SINGLE_PBUF */\n\n/*\n ------------------------------------\n ---------- LOOPIF options ----------\n ------------------------------------\n */\n/**\n * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1) and loopif.c\n */\n#ifndef LWIP_HAVE_LOOPIF\n#define LWIP_HAVE_LOOPIF                1\n#endif\n\n/*\n ------------------------------------\n ---------- SLIPIF options ----------\n ------------------------------------\n */\n/**\n * LWIP_HAVE_SLIPIF==1: Support slip interface and slipif.c\n */\n#ifndef LWIP_HAVE_SLIPIF\n#define LWIP_HAVE_SLIPIF                0\n#endif\n\n/*\n ------------------------------------\n ---------- Thread options ----------\n ------------------------------------\n */\n/**\n * TCPIP_THREAD_NAME: The name assigned to the main tcpip thread.\n */\n#ifndef TCPIP_THREAD_NAME\n#define TCPIP_THREAD_NAME              \"tcpip_thread\"\n#endif\n\n/**\n * TCPIP_THREAD_STACKSIZE: The stack size used by the main tcpip thread.\n * The stack size value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef TCPIP_THREAD_STACKSIZE\n#define TCPIP_THREAD_STACKSIZE          0\n#endif\n\n/**\n * TCPIP_THREAD_PRIO: The priority assigned to the main tcpip thread.\n * The priority value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef TCPIP_THREAD_PRIO\n#define TCPIP_THREAD_PRIO               1\n#endif\n\n/**\n * TCPIP_MBOX_SIZE: The mailbox size for the tcpip thread messages\n * The queue size value itself is platform-dependent, but is passed to\n * sys_mbox_new() when tcpip_init is called.\n */\n#ifndef TCPIP_MBOX_SIZE\n#define TCPIP_MBOX_SIZE                 0\n#endif\n\n/**\n * SLIPIF_THREAD_NAME: The name assigned to the slipif_loop thread.\n */\n#ifndef SLIPIF_THREAD_NAME\n#define SLIPIF_THREAD_NAME             \"slipif_loop\"\n#endif\n\n/**\n * SLIP_THREAD_STACKSIZE: The stack size used by the slipif_loop thread.\n * The stack size value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef SLIPIF_THREAD_STACKSIZE\n#define SLIPIF_THREAD_STACKSIZE         0\n#endif\n\n/**\n * SLIPIF_THREAD_PRIO: The priority assigned to the slipif_loop thread.\n * The priority value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef SLIPIF_THREAD_PRIO\n#define SLIPIF_THREAD_PRIO              1\n#endif\n\n/**\n * PPP_THREAD_NAME: The name assigned to the pppInputThread.\n */\n#ifndef PPP_THREAD_NAME\n#define PPP_THREAD_NAME                \"pppInputThread\"\n#endif\n\n/**\n * PPP_THREAD_STACKSIZE: The stack size used by the pppInputThread.\n * The stack size value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef PPP_THREAD_STACKSIZE\n#define PPP_THREAD_STACKSIZE            0\n#endif\n\n/**\n * PPP_THREAD_PRIO: The priority assigned to the pppInputThread.\n * The priority value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef PPP_THREAD_PRIO\n#define PPP_THREAD_PRIO                 1\n#endif\n\n/**\n * DEFAULT_THREAD_NAME: The name assigned to any other lwIP thread.\n */\n#ifndef DEFAULT_THREAD_NAME\n#define DEFAULT_THREAD_NAME            \"lwIP\"\n#endif\n\n/**\n * DEFAULT_THREAD_STACKSIZE: The stack size used by any other lwIP thread.\n * The stack size value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef DEFAULT_THREAD_STACKSIZE\n#define DEFAULT_THREAD_STACKSIZE        0\n#endif\n\n/**\n * DEFAULT_THREAD_PRIO: The priority assigned to any other lwIP thread.\n * The priority value itself is platform-dependent, but is passed to\n * sys_thread_new() when the thread is created.\n */\n#ifndef DEFAULT_THREAD_PRIO\n#define DEFAULT_THREAD_PRIO             1\n#endif\n\n/**\n * DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a\n * NETCONN_RAW. The queue size value itself is platform-dependent, but is passed\n * to sys_mbox_new() when the recvmbox is created.\n */\n#ifndef DEFAULT_RAW_RECVMBOX_SIZE\n#define DEFAULT_RAW_RECVMBOX_SIZE       0\n#endif\n\n/**\n * DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a\n * NETCONN_UDP. The queue size value itself is platform-dependent, but is passed\n * to sys_mbox_new() when the recvmbox is created.\n */\n#ifndef DEFAULT_UDP_RECVMBOX_SIZE\n#define DEFAULT_UDP_RECVMBOX_SIZE       0\n#endif\n\n/**\n * DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a\n * NETCONN_TCP. The queue size value itself is platform-dependent, but is passed\n * to sys_mbox_new() when the recvmbox is created.\n */\n#ifndef DEFAULT_TCP_RECVMBOX_SIZE\n#define DEFAULT_TCP_RECVMBOX_SIZE       0\n#endif\n\n/**\n * DEFAULT_ACCEPTMBOX_SIZE: The mailbox size for the incoming connections.\n * The queue size value itself is platform-dependent, but is passed to\n * sys_mbox_new() when the acceptmbox is created.\n */\n#ifndef DEFAULT_ACCEPTMBOX_SIZE\n#define DEFAULT_ACCEPTMBOX_SIZE         0\n#endif\n\n/*\n ----------------------------------------------\n ---------- Sequential layer options ----------\n ----------------------------------------------\n */\n/**\n * LWIP_TCPIP_CORE_LOCKING: (EXPERIMENTAL!)\n * Don't use it if you're not an active lwIP project member\n */\n#ifndef LWIP_TCPIP_CORE_LOCKING\n#define LWIP_TCPIP_CORE_LOCKING         0\n#endif\n\n/**\n * LWIP_TCPIP_CORE_LOCKING_INPUT: (EXPERIMENTAL!)\n * Don't use it if you're not an active lwIP project member\n */\n#ifndef LWIP_TCPIP_CORE_LOCKING_INPUT\n#define LWIP_TCPIP_CORE_LOCKING_INPUT   0\n#endif\n\n/**\n * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c)\n */\n#ifndef LWIP_NETCONN\n#define LWIP_NETCONN                    0\n#endif\n\n/** LWIP_TCPIP_TIMEOUT==1: Enable tcpip_timeout/tcpip_untimeout tod create\n * timers running in tcpip_thread from another thread.\n */\n#ifndef LWIP_TCPIP_TIMEOUT\n#define LWIP_TCPIP_TIMEOUT              1\n#endif\n\n/*\n ------------------------------------\n ---------- Socket options ----------\n ------------------------------------\n */\n/**\n * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)\n */\n#ifndef LWIP_SOCKET\n#define LWIP_SOCKET                     0\n#endif\n\n/**\n * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names.\n * (only used if you use sockets.c)\n */\n#ifndef LWIP_COMPAT_SOCKETS\n#define LWIP_COMPAT_SOCKETS             1\n#endif\n\n/**\n * LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names.\n * Disable this option if you use a POSIX operating system that uses the same\n * names (read, write & close). (only used if you use sockets.c)\n */\n#ifndef LWIP_POSIX_SOCKETS_IO_NAMES\n#define LWIP_POSIX_SOCKETS_IO_NAMES     1\n#endif\n\n/**\n * LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT\n * options processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set\n * in seconds. (does not require sockets.c, and will affect tcp.c)\n */\n#ifndef LWIP_TCP_KEEPALIVE\n#define LWIP_TCP_KEEPALIVE              0\n#endif\n\n/**\n * LWIP_SO_SNDTIMEO==1: Enable send timeout for sockets/netconns and\n * SO_SNDTIMEO processing.\n */\n#ifndef LWIP_SO_SNDTIMEO\n#define LWIP_SO_SNDTIMEO                0\n#endif\n\n/**\n * LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and\n * SO_RCVTIMEO processing.\n */\n#ifndef LWIP_SO_RCVTIMEO\n#define LWIP_SO_RCVTIMEO                0\n#endif\n\n/**\n * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing.\n */\n#ifndef LWIP_SO_RCVBUF\n#define LWIP_SO_RCVBUF                  0\n#endif\n\n/**\n * If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize.\n */\n#ifndef RECV_BUFSIZE_DEFAULT\n#define RECV_BUFSIZE_DEFAULT            INT_MAX\n#endif\n\n/**\n * SO_REUSE==1: Enable SO_REUSEADDR option.\n */\n#ifndef SO_REUSE\n#define SO_REUSE                        0\n#endif\n\n/**\n * SO_REUSE_RXTOALL==1: Pass a copy of incoming broadcast/multicast packets\n * to all local matches if SO_REUSEADDR is turned on.\n * WARNING: Adds a memcpy for every packet if passing to more than one pcb!\n */\n#ifndef SO_REUSE_RXTOALL\n#define SO_REUSE_RXTOALL                0\n#endif\n\n/*\n ----------------------------------------\n ---------- Statistics options ----------\n ----------------------------------------\n */\n/**\n * LWIP_STATS==1: Enable statistics collection in lwip_stats.\n */\n#ifndef LWIP_STATS\n#define LWIP_STATS                      0\n#endif\n\n#if LWIP_STATS\n\n/**\n * LWIP_STATS_DISPLAY==1: Compile in the statistics output functions.\n */\n#ifndef LWIP_STATS_DISPLAY\n#define LWIP_STATS_DISPLAY              0\n#endif\n\n/**\n * LINK_STATS==1: Enable link stats.\n */\n#ifndef LINK_STATS\n#define LINK_STATS                      1\n#endif\n\n/**\n * ETHARP_STATS==1: Enable etharp stats.\n */\n#ifndef ETHARP_STATS\n#define ETHARP_STATS                    (LWIP_ARP)\n#endif\n\n/**\n * IP_STATS==1: Enable IP stats.\n */\n#ifndef IP_STATS\n#define IP_STATS                        1\n#endif\n\n/**\n * IPFRAG_STATS==1: Enable IP fragmentation stats. Default is\n * on if using either frag or reass.\n */\n#ifndef IPFRAG_STATS\n#define IPFRAG_STATS                    (IP_REASSEMBLY || IP_FRAG)\n#endif\n\n/**\n * ICMP_STATS==1: Enable ICMP stats.\n */\n#ifndef ICMP_STATS\n#define ICMP_STATS                      1\n#endif\n\n/**\n * IGMP_STATS==1: Enable IGMP stats.\n */\n#ifndef IGMP_STATS\n#define IGMP_STATS                      (LWIP_IGMP)\n#endif\n\n/**\n * UDP_STATS==1: Enable UDP stats. Default is on if\n * UDP enabled, otherwise off.\n */\n#ifndef UDP_STATS\n#define UDP_STATS                       (LWIP_UDP)\n#endif\n\n/**\n * TCP_STATS==1: Enable TCP stats. Default is on if TCP\n * enabled, otherwise off.\n */\n#ifndef TCP_STATS\n#define TCP_STATS                       (LWIP_TCP)\n#endif\n\n/**\n * MEM_STATS==1: Enable mem.c stats.\n */\n#ifndef MEM_STATS\n#define MEM_STATS                       ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0))\n#endif\n\n/**\n * MEMP_STATS==1: Enable memp.c pool stats.\n */\n#ifndef MEMP_STATS\n#define MEMP_STATS                      (MEMP_MEM_MALLOC == 0)\n#endif\n\n/**\n * SYS_STATS==1: Enable system stats (sem and mbox counts, etc).\n */\n#ifndef SYS_STATS\n#define SYS_STATS                       (NO_SYS == 0)\n#endif\n\n#else\n\n#define LINK_STATS                      0\n#define IP_STATS                        0\n#define IPFRAG_STATS                    0\n#define ICMP_STATS                      0\n#define IGMP_STATS                      0\n#define UDP_STATS                       0\n#define TCP_STATS                       0\n#define MEM_STATS                       0\n#define MEMP_STATS                      0\n#define SYS_STATS                       0\n#define LWIP_STATS_DISPLAY              0\n\n#endif /* LWIP_STATS */\n\n/*\n ---------------------------------\n ---------- PPP options ----------\n ---------------------------------\n */\n/**\n * PPP_SUPPORT==1: Enable PPP.\n */\n#ifndef PPP_SUPPORT\n#define PPP_SUPPORT                     0\n#endif\n\n/**\n * PPPOE_SUPPORT==1: Enable PPP Over Ethernet\n */\n#ifndef PPPOE_SUPPORT\n#define PPPOE_SUPPORT                   0\n#endif\n\n/**\n * PPPOS_SUPPORT==1: Enable PPP Over Serial\n */\n#ifndef PPPOS_SUPPORT\n#define PPPOS_SUPPORT                   PPP_SUPPORT\n#endif\n\n#if PPP_SUPPORT\n\n/**\n * NUM_PPP: Max PPP sessions.\n */\n#ifndef NUM_PPP\n#define NUM_PPP                         1\n#endif\n\n/**\n * PAP_SUPPORT==1: Support PAP.\n */\n#ifndef PAP_SUPPORT\n#define PAP_SUPPORT                     0\n#endif\n\n/**\n * CHAP_SUPPORT==1: Support CHAP.\n */\n#ifndef CHAP_SUPPORT\n#define CHAP_SUPPORT                    0\n#endif\n\n/**\n * MSCHAP_SUPPORT==1: Support MSCHAP. CURRENTLY NOT SUPPORTED! DO NOT SET!\n */\n#ifndef MSCHAP_SUPPORT\n#define MSCHAP_SUPPORT                  0\n#endif\n\n/**\n * CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET!\n */\n#ifndef CBCP_SUPPORT\n#define CBCP_SUPPORT                    0\n#endif\n\n/**\n * CCP_SUPPORT==1: Support CCP. CURRENTLY NOT SUPPORTED! DO NOT SET!\n */\n#ifndef CCP_SUPPORT\n#define CCP_SUPPORT                     0\n#endif\n\n/**\n * VJ_SUPPORT==1: Support VJ header compression.\n */\n#ifndef VJ_SUPPORT\n#define VJ_SUPPORT                      0\n#endif\n\n/**\n * MD5_SUPPORT==1: Support MD5 (see also CHAP).\n */\n#ifndef MD5_SUPPORT\n#define MD5_SUPPORT                     0\n#endif\n\n/*\n * Timeouts\n */\n#ifndef FSM_DEFTIMEOUT\n#define FSM_DEFTIMEOUT                  6       /* Timeout time in seconds */\n#endif\n\n#ifndef FSM_DEFMAXTERMREQS\n#define FSM_DEFMAXTERMREQS              2       /* Maximum Terminate-Request transmissions */\n#endif\n\n#ifndef FSM_DEFMAXCONFREQS\n#define FSM_DEFMAXCONFREQS              10      /* Maximum Configure-Request transmissions */\n#endif\n\n#ifndef FSM_DEFMAXNAKLOOPS\n#define FSM_DEFMAXNAKLOOPS              5       /* Maximum number of nak loops */\n#endif\n\n#ifndef UPAP_DEFTIMEOUT\n#define UPAP_DEFTIMEOUT                 6       /* Timeout (seconds) for retransmitting req */\n#endif\n\n#ifndef UPAP_DEFREQTIME\n#define UPAP_DEFREQTIME                 30      /* Time to wait for auth-req from peer */\n#endif\n\n#ifndef CHAP_DEFTIMEOUT\n#define CHAP_DEFTIMEOUT                 6       /* Timeout time in seconds */\n#endif\n\n#ifndef CHAP_DEFTRANSMITS\n#define CHAP_DEFTRANSMITS               10      /* max # times to send challenge */\n#endif\n\n/* Interval in seconds between keepalive echo requests, 0 to disable. */\n#ifndef LCP_ECHOINTERVAL\n#define LCP_ECHOINTERVAL                0\n#endif\n\n/* Number of unanswered echo requests before failure. */\n#ifndef LCP_MAXECHOFAILS\n#define LCP_MAXECHOFAILS                3\n#endif\n\n/* Max Xmit idle time (in jiffies) before resend flag char. */\n#ifndef PPP_MAXIDLEFLAG\n#define PPP_MAXIDLEFLAG                 100\n#endif\n\n/*\n * Packet sizes\n *\n * Note - lcp shouldn't be allowed to negotiate stuff outside these\n *    limits.  See lcp.h in the pppd directory.\n * (XXX - these constants should simply be shared by lcp.c instead\n *    of living in lcp.h)\n */\n#define PPP_MTU                         1500     /* Default MTU (size of Info field) */\n#ifndef PPP_MAXMTU\n/* #define PPP_MAXMTU  65535 - (PPP_HDRLEN + PPP_FCSLEN) */\n#define PPP_MAXMTU                      1500 /* Largest MTU we allow */\n#endif\n#define PPP_MINMTU                      64\n#define PPP_MRU                         1500     /* default MRU = max length of info field */\n#define PPP_MAXMRU                      1500     /* Largest MRU we allow */\n#ifndef PPP_DEFMRU\n#define PPP_DEFMRU                      296             /* Try for this */\n#endif\n#define PPP_MINMRU                      128             /* No MRUs below this */\n\n#ifndef MAXNAMELEN\n#define MAXNAMELEN                      256     /* max length of hostname or name for auth */\n#endif\n#ifndef MAXSECRETLEN\n#define MAXSECRETLEN                    256     /* max length of password or secret */\n#endif\n\n#endif /* PPP_SUPPORT */\n\n/*\n --------------------------------------\n ---------- Checksum options ----------\n --------------------------------------\n */\n/**\n * CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets.\n */\n#ifndef CHECKSUM_GEN_IP\n#define CHECKSUM_GEN_IP                 1\n#endif\n\n/**\n * CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets.\n */\n#ifndef CHECKSUM_GEN_UDP\n#define CHECKSUM_GEN_UDP                1\n#endif\n\n/**\n * CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets.\n */\n#ifndef CHECKSUM_GEN_TCP\n#define CHECKSUM_GEN_TCP                1\n#endif\n\n/**\n * CHECKSUM_GEN_ICMP==1: Generate checksums in software for outgoing ICMP packets.\n */\n#ifndef CHECKSUM_GEN_ICMP\n#define CHECKSUM_GEN_ICMP               1\n#endif\n\n/**\n * CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets.\n */\n#ifndef CHECKSUM_CHECK_IP\n#define CHECKSUM_CHECK_IP               0\n#endif\n\n/**\n * CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets.\n */\n#ifndef CHECKSUM_CHECK_UDP\n#define CHECKSUM_CHECK_UDP              0\n#endif\n\n/**\n * CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets.\n */\n#ifndef CHECKSUM_CHECK_TCP\n#define CHECKSUM_CHECK_TCP              0\n#endif\n\n/**\n * LWIP_CHECKSUM_ON_COPY==1: Calculate checksum when copying data from\n * application buffers to pbufs.\n */\n#ifndef LWIP_CHECKSUM_ON_COPY\n#define LWIP_CHECKSUM_ON_COPY           0\n#endif\n\n/*\n ---------------------------------------\n ---------- Hook options ---------------\n ---------------------------------------\n */\n\n/* Hooks are undefined by default, define them to a function if you need them. */\n\n/**\n * LWIP_HOOK_IP4_INPUT(pbuf, input_netif):\n * - called from ip_input() (IPv4)\n * - pbuf: received struct pbuf passed to ip_input()\n * - input_netif: struct netif on which the packet has been received\n * Return values:\n * - 0: Hook has not consumed the packet, packet is processed as normal\n * - != 0: Hook has consumed the packet.\n * If the hook consumed the packet, 'pbuf' is in the responsibility of the hook\n * (i.e. free it when done).\n */\n\n/**\n * LWIP_HOOK_IP4_ROUTE(dest):\n * - called from ip_route() (IPv4)\n * - dest: destination IPv4 address\n * Returns the destination netif or NULL if no destination netif is found. In\n * that case, ip_route() continues as normal.\n */\n\n/*\n ---------------------------------------\n ---------- Debugging options ----------\n ---------------------------------------\n */\n/**\n * LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is\n * compared against this value. If it is smaller, then debugging\n * messages are written.\n */\n#ifndef LWIP_DBG_MIN_LEVEL\n#define LWIP_DBG_MIN_LEVEL              LWIP_DBG_LEVEL_ALL\n#endif\n\n/**\n * LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable\n * debug messages of certain types.\n */\n#ifndef LWIP_DBG_TYPES_ON\n#define LWIP_DBG_TYPES_ON               LWIP_DBG_ON\n#endif\n\n/**\n * ETHARP_DEBUG: Enable debugging in etharp.c.\n */\n#ifndef ETHARP_DEBUG\n#define ETHARP_DEBUG                    LWIP_DBG_OFF\n#endif\n\n/**\n * NETIF_DEBUG: Enable debugging in netif.c.\n */\n#ifndef NETIF_DEBUG\n#define NETIF_DEBUG                     LWIP_DBG_OFF\n#endif\n\n/**\n * PBUF_DEBUG: Enable debugging in pbuf.c.\n */\n#ifndef PBUF_DEBUG\n#define PBUF_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * API_LIB_DEBUG: Enable debugging in api_lib.c.\n */\n#ifndef API_LIB_DEBUG\n#define API_LIB_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * API_MSG_DEBUG: Enable debugging in api_msg.c.\n */\n#ifndef API_MSG_DEBUG\n#define API_MSG_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * SOCKETS_DEBUG: Enable debugging in sockets.c.\n */\n#ifndef SOCKETS_DEBUG\n#define SOCKETS_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * ICMP_DEBUG: Enable debugging in icmp.c.\n */\n#ifndef ICMP_DEBUG\n#define ICMP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * IGMP_DEBUG: Enable debugging in igmp.c.\n */\n#ifndef IGMP_DEBUG\n#define IGMP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * INET_DEBUG: Enable debugging in inet.c.\n */\n#ifndef INET_DEBUG\n#define INET_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * IP_DEBUG: Enable debugging for IP.\n */\n#ifndef IP_DEBUG\n#define IP_DEBUG                        LWIP_DBG_OFF\n#endif\n\n/**\n * IP_REASS_DEBUG: Enable debugging in ip_frag.c for both frag & reass.\n */\n#ifndef IP_REASS_DEBUG\n#define IP_REASS_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * RAW_DEBUG: Enable debugging in raw.c.\n */\n#ifndef RAW_DEBUG\n#define RAW_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * MEM_DEBUG: Enable debugging in mem.c.\n */\n#ifndef MEM_DEBUG\n#define MEM_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * MEMP_DEBUG: Enable debugging in memp.c.\n */\n#ifndef MEMP_DEBUG\n#define MEMP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * SYS_DEBUG: Enable debugging in sys.c.\n */\n#ifndef SYS_DEBUG\n#define SYS_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * TIMERS_DEBUG: Enable debugging in timers.c.\n */\n#ifndef TIMERS_DEBUG\n#define TIMERS_DEBUG                    LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_DEBUG: Enable debugging for TCP.\n */\n#ifndef TCP_DEBUG\n#define TCP_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_INPUT_DEBUG: Enable debugging in tcp_in.c for incoming debug.\n */\n#ifndef TCP_INPUT_DEBUG\n#define TCP_INPUT_DEBUG                 LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_FR_DEBUG: Enable debugging in tcp_in.c for fast retransmit.\n */\n#ifndef TCP_FR_DEBUG\n#define TCP_FR_DEBUG                    LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_RTO_DEBUG: Enable debugging in TCP for retransmit\n * timeout.\n */\n#ifndef TCP_RTO_DEBUG\n#define TCP_RTO_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_CWND_DEBUG: Enable debugging for TCP congestion window.\n */\n#ifndef TCP_CWND_DEBUG\n#define TCP_CWND_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_WND_DEBUG: Enable debugging in tcp_in.c for window updating.\n */\n#ifndef TCP_WND_DEBUG\n#define TCP_WND_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_OUTPUT_DEBUG: Enable debugging in tcp_out.c output functions.\n */\n#ifndef TCP_OUTPUT_DEBUG\n#define TCP_OUTPUT_DEBUG                LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_RST_DEBUG: Enable debugging for TCP with the RST message.\n */\n#ifndef TCP_RST_DEBUG\n#define TCP_RST_DEBUG                   LWIP_DBG_OFF\n#endif\n\n/**\n * TCP_QLEN_DEBUG: Enable debugging for TCP queue lengths.\n */\n#ifndef TCP_QLEN_DEBUG\n#define TCP_QLEN_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * UDP_DEBUG: Enable debugging in UDP.\n */\n#ifndef UDP_DEBUG\n#define UDP_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * TCPIP_DEBUG: Enable debugging in tcpip.c.\n */\n#ifndef TCPIP_DEBUG\n#define TCPIP_DEBUG                     LWIP_DBG_OFF\n#endif\n\n/**\n * PPP_DEBUG: Enable debugging for PPP.\n */\n#ifndef PPP_DEBUG\n#define PPP_DEBUG                       LWIP_DBG_OFF\n#endif\n\n/**\n * SLIP_DEBUG: Enable debugging in slipif.c.\n */\n#ifndef SLIP_DEBUG\n#define SLIP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * DHCP_DEBUG: Enable debugging in dhcp.c.\n */\n#ifndef DHCP_DEBUG\n#define DHCP_DEBUG                      LWIP_DBG_OFF\n#endif\n\n/**\n * AUTOIP_DEBUG: Enable debugging in autoip.c.\n */\n#ifndef AUTOIP_DEBUG\n#define AUTOIP_DEBUG                    LWIP_DBG_OFF\n#endif\n\n/**\n * SNMP_MSG_DEBUG: Enable debugging for SNMP messages.\n */\n#ifndef SNMP_MSG_DEBUG\n#define SNMP_MSG_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * SNMP_MIB_DEBUG: Enable debugging for SNMP MIBs.\n */\n#ifndef SNMP_MIB_DEBUG\n#define SNMP_MIB_DEBUG                  LWIP_DBG_OFF\n#endif\n\n/**\n * DNS_DEBUG: Enable debugging for DNS.\n */\n#ifndef DNS_DEBUG\n#define DNS_DEBUG                       LWIP_DBG_OFF\n#endif\n\n#endif /* lwipopts_h */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/netif/etharp.h",
    "content": "/*\n * Copyright (c) 2001-2003 Swedish Institute of Computer Science.\n * Copyright (c) 2003-2004 Leon Woestenberg <leon.woestenberg@axon.tv>\n * Copyright (c) 2003-2004 Axon Digital Design B.V., The Netherlands.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#ifndef __NETIF_ETHARP_H__\n#define __NETIF_ETHARP_H__\n\n#include \"lwip/opt.h\"\n\n#if LWIP_ARP || LWIP_ETHERNET /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/pbuf.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/ip.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef ETHARP_HWADDR_LEN\n#define ETHARP_HWADDR_LEN     6\n#endif\n\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct eth_addr {\n  PACK_STRUCT_FIELD(u8_t addr[ETHARP_HWADDR_LEN]);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\n/** Ethernet header */\nstruct eth_hdr {\n#if ETH_PAD_SIZE\n  PACK_STRUCT_FIELD(u8_t padding[ETH_PAD_SIZE]);\n#endif\n  PACK_STRUCT_FIELD(struct eth_addr dest);\n  PACK_STRUCT_FIELD(struct eth_addr src);\n  PACK_STRUCT_FIELD(u16_t type);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#define SIZEOF_ETH_HDR (14 + ETH_PAD_SIZE)\n\n#if ETHARP_SUPPORT_VLAN\n\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\n/** VLAN header inserted between ethernet header and payload\n * if 'type' in ethernet header is ETHTYPE_VLAN.\n * See IEEE802.Q */\nstruct eth_vlan_hdr {\n  PACK_STRUCT_FIELD(u16_t prio_vid);\n  PACK_STRUCT_FIELD(u16_t tpid);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#define SIZEOF_VLAN_HDR 4\n#define VLAN_ID(vlan_hdr) (htons((vlan_hdr)->prio_vid) & 0xFFF)\n\n#endif /* ETHARP_SUPPORT_VLAN */\n\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\n/** the ARP message, see RFC 826 (\"Packet format\") */\nstruct etharp_hdr {\n  PACK_STRUCT_FIELD(u16_t hwtype);\n  PACK_STRUCT_FIELD(u16_t proto);\n  PACK_STRUCT_FIELD(u8_t  hwlen);\n  PACK_STRUCT_FIELD(u8_t  protolen);\n  PACK_STRUCT_FIELD(u16_t opcode);\n  PACK_STRUCT_FIELD(struct eth_addr shwaddr);\n  PACK_STRUCT_FIELD(struct ip_addr2 sipaddr);\n  PACK_STRUCT_FIELD(struct eth_addr dhwaddr);\n  PACK_STRUCT_FIELD(struct ip_addr2 dipaddr);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#define SIZEOF_ETHARP_HDR 28\n#define SIZEOF_ETHARP_PACKET (SIZEOF_ETH_HDR + SIZEOF_ETHARP_HDR)\n\n/** 5 seconds period */\n#define ARP_TMR_INTERVAL 5000\n\n#define ETHTYPE_ARP       0x0806U\n#define ETHTYPE_IP        0x0800U\n#define ETHTYPE_VLAN      0x8100U\n#define ETHTYPE_PPPOEDISC 0x8863U  /* PPP Over Ethernet Discovery Stage */\n#define ETHTYPE_PPPOE     0x8864U  /* PPP Over Ethernet Session Stage */\n\n/** MEMCPY-like macro to copy to/from struct eth_addr's that are local variables\n * or known to be 32-bit aligned within the protocol header. */\n#ifndef ETHADDR32_COPY\n#define ETHADDR32_COPY(src, dst)  SMEMCPY(src, dst, ETHARP_HWADDR_LEN)\n#endif\n\n/** MEMCPY-like macro to copy to/from struct eth_addr's that are no local\n * variables and known to be 16-bit aligned within the protocol header. */\n#ifndef ETHADDR16_COPY\n#define ETHADDR16_COPY(src, dst)  SMEMCPY(src, dst, ETHARP_HWADDR_LEN)\n#endif\n\n#if LWIP_ARP /* don't build if not configured for use in lwipopts.h */\n\n/** ARP message types (opcodes) */\n#define ARP_REQUEST 1\n#define ARP_REPLY   2\n\n/** Define this to 1 and define LWIP_ARP_FILTER_NETIF_FN(pbuf, netif, type)\n * to a filter function that returns the correct netif when using multiple\n * netifs on one hardware interface where the netif's low-level receive\n * routine cannot decide for the correct netif (e.g. when mapping multiple\n * IP addresses to one hardware interface).\n */\n#ifndef LWIP_ARP_FILTER_NETIF\n#define LWIP_ARP_FILTER_NETIF 0\n#endif\n\n#if ARP_QUEUEING\n/** struct for queueing outgoing packets for unknown address\n  * defined here to be accessed by memp.h\n  */\nstruct etharp_q_entry {\n  struct etharp_q_entry *next;\n  struct pbuf *p;\n};\n#endif /* ARP_QUEUEING */\n\n#define etharp_init() /* Compatibility define, not init needed. */\nvoid etharp_tmr(void);\ns8_t etharp_find_addr(struct netif *netif, ip_addr_t *ipaddr,\n         struct eth_addr **eth_ret, ip_addr_t **ip_ret);\nerr_t etharp_output(struct netif *netif, struct pbuf *q, ip_addr_t *ipaddr);\nerr_t etharp_query(struct netif *netif, ip_addr_t *ipaddr, struct pbuf *q);\nerr_t etharp_request(struct netif *netif, ip_addr_t *ipaddr);\n/** For Ethernet network interfaces, we might want to send \"gratuitous ARP\";\n *  this is an ARP packet sent by a node in order to spontaneously cause other\n *  nodes to update an entry in their ARP cache.\n *  From RFC 3220 \"IP Mobility Support for IPv4\" section 4.6. */\n#define etharp_gratuitous(netif) etharp_request((netif), &(netif)->ip_addr)\nvoid etharp_cleanup_netif(struct netif *netif);\n\n#if ETHARP_SUPPORT_STATIC_ENTRIES\nerr_t etharp_add_static_entry(ip_addr_t *ipaddr, struct eth_addr *ethaddr);\nerr_t etharp_remove_static_entry(ip_addr_t *ipaddr);\n#endif /* ETHARP_SUPPORT_STATIC_ENTRIES */\n\n#if LWIP_AUTOIP\nerr_t etharp_raw(struct netif *netif, const struct eth_addr *ethsrc_addr,\n                 const struct eth_addr *ethdst_addr,\n                 const struct eth_addr *hwsrc_addr, const ip_addr_t *ipsrc_addr,\n                 const struct eth_addr *hwdst_addr, const ip_addr_t *ipdst_addr,\n                 const u16_t opcode);\n#endif /* LWIP_AUTOIP */\n\n#endif /* LWIP_ARP */\n\nerr_t ethernet_input(struct pbuf *p, struct netif *netif);\n\n#define eth_addr_cmp(addr1, addr2) (memcmp((addr1)->addr, (addr2)->addr, ETHARP_HWADDR_LEN) == 0)\n\nextern const struct eth_addr ethbroadcast, ethzero;\n\n#endif /* LWIP_ARP || LWIP_ETHERNET */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* __NETIF_ARP_H__ */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/netif/ppp_oe.h",
    "content": "/*****************************************************************************\n* ppp_oe.h - PPP Over Ethernet implementation for lwIP.\n*\n* Copyright (c) 2006 by Marc Boucher, Services Informatiques (MBSI) inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 06-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n*****************************************************************************/\n\n\n\n/* based on NetBSD: if_pppoe.c,v 1.64 2006/01/31 23:50:15 martin Exp */\n\n/*-\n * Copyright (c) 2002 The NetBSD Foundation, Inc.\n * All rights reserved.\n *\n * This code is derived from software contributed to The NetBSD Foundation\n * by Martin Husemann <martin@NetBSD.org>.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software\n *    must display the following acknowledgement:\n *        This product includes software developed by the NetBSD\n *        Foundation, Inc. and its contributors.\n * 4. Neither the name of The NetBSD Foundation nor the names of its\n *    contributors may be used to endorse or promote products derived\n *    from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS\n * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\n * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS\n * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n#ifndef PPP_OE_H\n#define PPP_OE_H\n\n#include \"lwip/opt.h\"\n\n#if PPPOE_SUPPORT > 0\n\n#include \"netif/etharp.h\"\n\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct pppoehdr {\n  PACK_STRUCT_FIELD(u8_t vertype);\n  PACK_STRUCT_FIELD(u8_t code);\n  PACK_STRUCT_FIELD(u16_t session);\n  PACK_STRUCT_FIELD(u16_t plen);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct pppoetag {\n  PACK_STRUCT_FIELD(u16_t tag);\n  PACK_STRUCT_FIELD(u16_t len);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n\n#define PPPOE_STATE_INITIAL   0\n#define PPPOE_STATE_PADI_SENT 1\n#define PPPOE_STATE_PADR_SENT 2\n#define PPPOE_STATE_SESSION   3\n#define PPPOE_STATE_CLOSING   4\n/* passive */\n#define PPPOE_STATE_PADO_SENT 1\n\n#define PPPOE_HEADERLEN       sizeof(struct pppoehdr)\n#define PPPOE_VERTYPE         0x11    /* VER=1, TYPE = 1 */\n\n#define PPPOE_TAG_EOL         0x0000  /* end of list */\n#define PPPOE_TAG_SNAME       0x0101  /* service name */\n#define PPPOE_TAG_ACNAME      0x0102  /* access concentrator name */\n#define PPPOE_TAG_HUNIQUE     0x0103  /* host unique */\n#define PPPOE_TAG_ACCOOKIE    0x0104  /* AC cookie */\n#define PPPOE_TAG_VENDOR      0x0105  /* vendor specific */\n#define PPPOE_TAG_RELAYSID    0x0110  /* relay session id */\n#define PPPOE_TAG_SNAME_ERR   0x0201  /* service name error */\n#define PPPOE_TAG_ACSYS_ERR   0x0202  /* AC system error */\n#define PPPOE_TAG_GENERIC_ERR 0x0203  /* gerneric error */\n\n#define PPPOE_CODE_PADI       0x09    /* Active Discovery Initiation */\n#define PPPOE_CODE_PADO       0x07    /* Active Discovery Offer */\n#define PPPOE_CODE_PADR       0x19    /* Active Discovery Request */\n#define PPPOE_CODE_PADS       0x65    /* Active Discovery Session confirmation */\n#define PPPOE_CODE_PADT       0xA7    /* Active Discovery Terminate */\n\n#ifndef ETHERMTU\n#define ETHERMTU 1500\n#endif\n\n/* two byte PPP protocol discriminator, then IP data */\n#define PPPOE_MAXMTU          (ETHERMTU-PPPOE_HEADERLEN-2)\n\n#ifndef PPPOE_MAX_AC_COOKIE_LEN\n#define PPPOE_MAX_AC_COOKIE_LEN   64\n#endif\n\nstruct pppoe_softc {\n  struct pppoe_softc *next;\n  struct netif *sc_ethif;      /* ethernet interface we are using */\n  int sc_pd;                   /* ppp unit number */\n  void (*sc_linkStatusCB)(int pd, int up);\n\n  int sc_state;                /* discovery phase or session connected */\n  struct eth_addr sc_dest;     /* hardware address of concentrator */\n  u16_t sc_session;            /* PPPoE session id */\n\n#ifdef PPPOE_TODO\n  char *sc_service_name;       /* if != NULL: requested name of service */\n  char *sc_concentrator_name;  /* if != NULL: requested concentrator id */\n#endif /* PPPOE_TODO */\n  u8_t sc_ac_cookie[PPPOE_MAX_AC_COOKIE_LEN]; /* content of AC cookie we must echo back */\n  size_t sc_ac_cookie_len;     /* length of cookie data */\n#ifdef PPPOE_SERVER\n  u8_t *sc_hunique;            /* content of host unique we must echo back */\n  size_t sc_hunique_len;       /* length of host unique */\n#endif\n  int sc_padi_retried;         /* number of PADI retries already done */\n  int sc_padr_retried;         /* number of PADR retries already done */\n};\n\n\n#define pppoe_init() /* compatibility define, no initialization needed */\n\nerr_t pppoe_create(struct netif *ethif, int pd, void (*linkStatusCB)(int pd, int up), struct pppoe_softc **scptr);\nerr_t pppoe_destroy(struct netif *ifp);\n\nint pppoe_connect(struct pppoe_softc *sc);\nvoid pppoe_disconnect(struct pppoe_softc *sc);\n\nvoid pppoe_disc_input(struct netif *netif, struct pbuf *p);\nvoid pppoe_data_input(struct netif *netif, struct pbuf *p);\n\nerr_t pppoe_xmit(struct pppoe_softc *sc, struct pbuf *pb);\n\n/** used in ppp.c */\n#define PPPOE_HDRLEN (sizeof(struct eth_hdr) + PPPOE_HEADERLEN)\n\n#endif /* PPPOE_SUPPORT */\n\n#endif /* PPP_OE_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/netif/slipif.h",
    "content": "/*\n * Copyright (c) 2001, Swedish Institute of Computer Science.\n * All rights reserved. \n *\n * Redistribution and use in source and binary forms, with or without \n * modification, are permitted provided that the following conditions \n * are met: \n * 1. Redistributions of source code must retain the above copyright \n *    notice, this list of conditions and the following disclaimer. \n * 2. Redistributions in binary form must reproduce the above copyright \n *    notice, this list of conditions and the following disclaimer in the \n *    documentation and/or other materials provided with the distribution. \n * 3. Neither the name of the Institute nor the names of its contributors \n *    may be used to endorse or promote products derived from this software \n *    without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND \n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \n * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE \n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \n * SUCH DAMAGE. \n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n#ifndef __NETIF_SLIPIF_H__\n#define __NETIF_SLIPIF_H__\n\n#include \"lwip/opt.h\"\n#include \"lwip/netif.h\"\n\n/** Set this to 1 to start a thread that blocks reading on the serial line\n * (using sio_read()).\n */\n#ifndef SLIP_USE_RX_THREAD\n#define SLIP_USE_RX_THREAD !NO_SYS\n#endif\n\n/** Set this to 1 to enable functions to pass in RX bytes from ISR context.\n * If enabled, slipif_received_byte[s]() process incoming bytes and put assembled\n * packets on a queue, which is fed into lwIP from slipif_poll().\n * If disabled, slipif_poll() polls the serila line (using sio_tryread()).\n */\n#ifndef SLIP_RX_FROM_ISR\n#define SLIP_RX_FROM_ISR 0\n#endif\n\n/** Set this to 1 (default for SLIP_RX_FROM_ISR) to queue incoming packets\n * received by slipif_received_byte[s]() as long as PBUF_POOL pbufs are available.\n * If disabled, packets will be dropped if more than one packet is received.\n */\n#ifndef SLIP_RX_QUEUE\n#define SLIP_RX_QUEUE SLIP_RX_FROM_ISR\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nerr_t slipif_init(struct netif * netif);\nvoid slipif_poll(struct netif *netif);\n#if SLIP_RX_FROM_ISR\nvoid slipif_process_rxqueue(struct netif *netif);\nvoid slipif_received_byte(struct netif *netif, u8_t data);\nvoid slipif_received_bytes(struct netif *netif, u8_t *data, u8_t len);\n#endif /* SLIP_RX_FROM_ISR */\n\n#ifdef __cplusplus\n}\n#endif\n \n#endif \n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/FILES",
    "content": "api/      - The code for the high-level wrapper API. Not needed if\n            you use the lowel-level call-back/raw API.\n\ncore/     - The core of the TPC/IP stack; protocol implementations,\n            memory and buffer management, and the low-level raw API.\n\ninclude/  - lwIP include files.\n\nnetif/    - Generic network interface device drivers are kept here,\n            as well as the ARP module.\n\nFor more information on the various subdirectories, check the FILES\nfile in each directory.\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/api/api_lib.c",
    "content": "/**\n * @file\n * Sequential API External module\n *\n */\n \n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n/* This is the part of the API that is linked with\n   the application */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/api.h\"\n#include \"lwip/tcpip.h\"\n#include \"lwip/memp.h\"\n\n#include \"lwip/ip.h\"\n#include \"lwip/raw.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/tcp.h\"\n\n#include <string.h>\n\n/**\n * Create a new netconn (of a specific type) that has a callback function.\n * The corresponding pcb is also created.\n *\n * @param t the type of 'connection' to create (@see enum netconn_type)\n * @param proto the IP protocol for RAW IP pcbs\n * @param callback a function to call on status changes (RX available, TX'ed)\n * @return a newly allocated struct netconn or\n *         NULL on memory error\n */\nstruct netconn*\nnetconn_new_with_proto_and_callback(enum netconn_type t, u8_t proto, netconn_callback callback)\n{\n  struct netconn *conn;\n  struct api_msg msg;\n\n  conn = netconn_alloc(t, callback);\n  if (conn != NULL) {\n    msg.function = do_newconn;\n    msg.msg.msg.n.proto = proto;\n    msg.msg.conn = conn;\n    if (TCPIP_APIMSG(&msg) != ERR_OK) {\n      LWIP_ASSERT(\"freeing conn without freeing pcb\", conn->pcb.tcp == NULL);\n      LWIP_ASSERT(\"conn has no op_completed\", sys_sem_valid(&conn->op_completed));\n      LWIP_ASSERT(\"conn has no recvmbox\", sys_mbox_valid(&conn->recvmbox));\n#if LWIP_TCP\n      LWIP_ASSERT(\"conn->acceptmbox shouldn't exist\", !sys_mbox_valid(&conn->acceptmbox));\n#endif /* LWIP_TCP */\n      sys_sem_free(&conn->op_completed);\n      sys_mbox_free(&conn->recvmbox);\n      memp_free(MEMP_NETCONN, conn);\n      return NULL;\n    }\n  }\n  return conn;\n}\n\n/**\n * Close a netconn 'connection' and free its resources.\n * UDP and RAW connection are completely closed, TCP pcbs might still be in a waitstate\n * after this returns.\n *\n * @param conn the netconn to delete\n * @return ERR_OK if the connection was deleted\n */\nerr_t\nnetconn_delete(struct netconn *conn)\n{\n  struct api_msg msg;\n\n  /* No ASSERT here because possible to get a (conn == NULL) if we got an accept error */\n  if (conn == NULL) {\n    return ERR_OK;\n  }\n\n  msg.function = do_delconn;\n  msg.msg.conn = conn;\n  tcpip_apimsg(&msg);\n\n  netconn_free(conn);\n\n  /* don't care for return value of do_delconn since it only calls void functions */\n\n  return ERR_OK;\n}\n\n/**\n * Get the local or remote IP address and port of a netconn.\n * For RAW netconns, this returns the protocol instead of a port!\n *\n * @param conn the netconn to query\n * @param addr a pointer to which to save the IP address\n * @param port a pointer to which to save the port (or protocol for RAW)\n * @param local 1 to get the local IP address, 0 to get the remote one\n * @return ERR_CONN for invalid connections\n *         ERR_OK if the information was retrieved\n */\nerr_t\nnetconn_getaddr(struct netconn *conn, ip_addr_t *addr, u16_t *port, u8_t local)\n{\n  struct api_msg msg;\n  err_t err;\n\n  LWIP_ERROR(\"netconn_getaddr: invalid conn\", (conn != NULL), return ERR_ARG;);\n  LWIP_ERROR(\"netconn_getaddr: invalid addr\", (addr != NULL), return ERR_ARG;);\n  LWIP_ERROR(\"netconn_getaddr: invalid port\", (port != NULL), return ERR_ARG;);\n\n  msg.function = do_getaddr;\n  msg.msg.conn = conn;\n  msg.msg.msg.ad.ipaddr = addr;\n  msg.msg.msg.ad.port = port;\n  msg.msg.msg.ad.local = local;\n  err = TCPIP_APIMSG(&msg);\n\n  NETCONN_SET_SAFE_ERR(conn, err);\n  return err;\n}\n\n/**\n * Bind a netconn to a specific local IP address and port.\n * Binding one netconn twice might not always be checked correctly!\n *\n * @param conn the netconn to bind\n * @param addr the local IP address to bind the netconn to (use IP_ADDR_ANY\n *             to bind to all addresses)\n * @param port the local port to bind the netconn to (not used for RAW)\n * @return ERR_OK if bound, any other err_t on failure\n */\nerr_t\nnetconn_bind(struct netconn *conn, ip_addr_t *addr, u16_t port)\n{\n  struct api_msg msg;\n  err_t err;\n\n  LWIP_ERROR(\"netconn_bind: invalid conn\", (conn != NULL), return ERR_ARG;);\n\n  msg.function = do_bind;\n  msg.msg.conn = conn;\n  msg.msg.msg.bc.ipaddr = addr;\n  msg.msg.msg.bc.port = port;\n  err = TCPIP_APIMSG(&msg);\n\n  NETCONN_SET_SAFE_ERR(conn, err);\n  return err;\n}\n\n/**\n * Connect a netconn to a specific remote IP address and port.\n *\n * @param conn the netconn to connect\n * @param addr the remote IP address to connect to\n * @param port the remote port to connect to (no used for RAW)\n * @return ERR_OK if connected, return value of tcp_/udp_/raw_connect otherwise\n */\nerr_t\nnetconn_connect(struct netconn *conn, ip_addr_t *addr, u16_t port)\n{\n  struct api_msg msg;\n  err_t err;\n\n  LWIP_ERROR(\"netconn_connect: invalid conn\", (conn != NULL), return ERR_ARG;);\n\n  msg.function = do_connect;\n  msg.msg.conn = conn;\n  msg.msg.msg.bc.ipaddr = addr;\n  msg.msg.msg.bc.port = port;\n  /* This is the only function which need to not block tcpip_thread */\n  err = tcpip_apimsg(&msg);\n\n  NETCONN_SET_SAFE_ERR(conn, err);\n  return err;\n}\n\n/**\n * Disconnect a netconn from its current peer (only valid for UDP netconns).\n *\n * @param conn the netconn to disconnect\n * @return TODO: return value is not set here...\n */\nerr_t\nnetconn_disconnect(struct netconn *conn)\n{\n  struct api_msg msg;\n  err_t err;\n\n  LWIP_ERROR(\"netconn_disconnect: invalid conn\", (conn != NULL), return ERR_ARG;);\n\n  msg.function = do_disconnect;\n  msg.msg.conn = conn;\n  err = TCPIP_APIMSG(&msg);\n\n  NETCONN_SET_SAFE_ERR(conn, err);\n  return err;\n}\n\n/**\n * Set a TCP netconn into listen mode\n *\n * @param conn the tcp netconn to set to listen mode\n * @param backlog the listen backlog, only used if TCP_LISTEN_BACKLOG==1\n * @return ERR_OK if the netconn was set to listen (UDP and RAW netconns\n *         don't return any error (yet?))\n */\nerr_t\nnetconn_listen_with_backlog(struct netconn *conn, u8_t backlog)\n{\n#if LWIP_TCP\n  struct api_msg msg;\n  err_t err;\n\n  /* This does no harm. If TCP_LISTEN_BACKLOG is off, backlog is unused. */\n  LWIP_UNUSED_ARG(backlog);\n\n  LWIP_ERROR(\"netconn_listen: invalid conn\", (conn != NULL), return ERR_ARG;);\n\n  msg.function = do_listen;\n  msg.msg.conn = conn;\n#if TCP_LISTEN_BACKLOG\n  msg.msg.msg.lb.backlog = backlog;\n#endif /* TCP_LISTEN_BACKLOG */\n  err = TCPIP_APIMSG(&msg);\n\n  NETCONN_SET_SAFE_ERR(conn, err);\n  return err;\n#else /* LWIP_TCP */\n  LWIP_UNUSED_ARG(conn);\n  LWIP_UNUSED_ARG(backlog);\n  return ERR_ARG;\n#endif /* LWIP_TCP */\n}\n\n/**\n * Accept a new connection on a TCP listening netconn.\n *\n * @param conn the TCP listen netconn\n * @param new_conn pointer where the new connection is stored\n * @return ERR_OK if a new connection has been received or an error\n *                code otherwise\n */\nerr_t\nnetconn_accept(struct netconn *conn, struct netconn **new_conn)\n{\n#if LWIP_TCP\n  struct netconn *newconn;\n  err_t err;\n#if TCP_LISTEN_BACKLOG\n  struct api_msg msg;\n#endif /* TCP_LISTEN_BACKLOG */\n\n  LWIP_ERROR(\"netconn_accept: invalid pointer\",    (new_conn != NULL),                  return ERR_ARG;);\n  *new_conn = NULL;\n  LWIP_ERROR(\"netconn_accept: invalid conn\",       (conn != NULL),                      return ERR_ARG;);\n  LWIP_ERROR(\"netconn_accept: invalid acceptmbox\", sys_mbox_valid(&conn->acceptmbox),   return ERR_ARG;);\n\n  err = conn->last_err;\n  if (ERR_IS_FATAL(err)) {\n    /* don't recv on fatal errors: this might block the application task\n       waiting on acceptmbox forever! */\n    return err;\n  }\n\n#if LWIP_SO_RCVTIMEO\n  if (sys_arch_mbox_fetch(&conn->acceptmbox, (void **)&newconn, conn->recv_timeout) == SYS_ARCH_TIMEOUT) {\n    NETCONN_SET_SAFE_ERR(conn, ERR_TIMEOUT);\n    return ERR_TIMEOUT;\n  }\n#else\n  sys_arch_mbox_fetch(&conn->acceptmbox, (void **)&newconn, 0);\n#endif /* LWIP_SO_RCVTIMEO*/\n  /* Register event with callback */\n  API_EVENT(conn, NETCONN_EVT_RCVMINUS, 0);\n\n  if (newconn == NULL) {\n    /* connection has been aborted */\n    NETCONN_SET_SAFE_ERR(conn, ERR_ABRT);\n    return ERR_ABRT;\n  }\n#if TCP_LISTEN_BACKLOG\n  /* Let the stack know that we have accepted the connection. */\n  msg.function = do_recv;\n  msg.msg.conn = conn;\n  /* don't care for the return value of do_recv */\n  TCPIP_APIMSG(&msg);\n#endif /* TCP_LISTEN_BACKLOG */\n\n  *new_conn = newconn;\n  /* don't set conn->last_err: it's only ERR_OK, anyway */\n  return ERR_OK;\n#else /* LWIP_TCP */\n  LWIP_UNUSED_ARG(conn);\n  LWIP_UNUSED_ARG(new_conn);\n  return ERR_ARG;\n#endif /* LWIP_TCP */\n}\n\n/**\n * Receive data: actual implementation that doesn't care whether pbuf or netbuf\n * is received\n *\n * @param conn the netconn from which to receive data\n * @param new_buf pointer where a new pbuf/netbuf is stored when received data\n * @return ERR_OK if data has been received, an error code otherwise (timeout,\n *                memory error or another error)\n */\nstatic err_t\nnetconn_recv_data(struct netconn *conn, void **new_buf)\n{\n  void *buf = NULL;\n  u16_t len;\n  err_t err;\n#if LWIP_TCP\n  struct api_msg msg;\n#endif /* LWIP_TCP */\n\n  LWIP_ERROR(\"netconn_recv: invalid pointer\", (new_buf != NULL), return ERR_ARG;);\n  *new_buf = NULL;\n  LWIP_ERROR(\"netconn_recv: invalid conn\",    (conn != NULL),    return ERR_ARG;);\n  LWIP_ERROR(\"netconn_accept: invalid recvmbox\", sys_mbox_valid(&conn->recvmbox), return ERR_CONN;);\n\n  err = conn->last_err;\n  if (ERR_IS_FATAL(err)) {\n    /* don't recv on fatal errors: this might block the application task\n       waiting on recvmbox forever! */\n    /* @todo: this does not allow us to fetch data that has been put into recvmbox\n       before the fatal error occurred - is that a problem? */\n    return err;\n  }\n\n#if LWIP_SO_RCVTIMEO\n  if (sys_arch_mbox_fetch(&conn->recvmbox, &buf, conn->recv_timeout) == SYS_ARCH_TIMEOUT) {\n    NETCONN_SET_SAFE_ERR(conn, ERR_TIMEOUT);\n    return ERR_TIMEOUT;\n  }\n#else\n  sys_arch_mbox_fetch(&conn->recvmbox, &buf, 0);\n#endif /* LWIP_SO_RCVTIMEO*/\n\n#if LWIP_TCP\n#if (LWIP_UDP || LWIP_RAW)\n  if (conn->type == NETCONN_TCP)\n#endif /* (LWIP_UDP || LWIP_RAW) */\n  {\n    if (!netconn_get_noautorecved(conn) || (buf == NULL)) {\n      /* Let the stack know that we have taken the data. */\n      /* TODO: Speedup: Don't block and wait for the answer here\n         (to prevent multiple thread-switches). */\n      msg.function = do_recv;\n      msg.msg.conn = conn;\n      if (buf != NULL) {\n        msg.msg.msg.r.len = ((struct pbuf *)buf)->tot_len;\n      } else {\n        msg.msg.msg.r.len = 1;\n      }\n      /* don't care for the return value of do_recv */\n      TCPIP_APIMSG(&msg);\n    }\n\n    /* If we are closed, we indicate that we no longer wish to use the socket */\n    if (buf == NULL) {\n      API_EVENT(conn, NETCONN_EVT_RCVMINUS, 0);\n      /* Avoid to lose any previous error code */\n      NETCONN_SET_SAFE_ERR(conn, ERR_CLSD);\n      return ERR_CLSD;\n    }\n    len = ((struct pbuf *)buf)->tot_len;\n  }\n#endif /* LWIP_TCP */\n#if LWIP_TCP && (LWIP_UDP || LWIP_RAW)\n  else\n#endif /* LWIP_TCP && (LWIP_UDP || LWIP_RAW) */\n#if (LWIP_UDP || LWIP_RAW)\n  {\n    LWIP_ASSERT(\"buf != NULL\", buf != NULL);\n    len = netbuf_len((struct netbuf *)buf);\n  }\n#endif /* (LWIP_UDP || LWIP_RAW) */\n\n#if LWIP_SO_RCVBUF\n  SYS_ARCH_DEC(conn->recv_avail, len);\n#endif /* LWIP_SO_RCVBUF */\n  /* Register event with callback */\n  API_EVENT(conn, NETCONN_EVT_RCVMINUS, len);\n\n  LWIP_DEBUGF(API_LIB_DEBUG, (\"netconn_recv_data: received %p, len=%\"U16_F\"\\n\", buf, len));\n\n  *new_buf = buf;\n  /* don't set conn->last_err: it's only ERR_OK, anyway */\n  return ERR_OK;\n}\n\n/**\n * Receive data (in form of a pbuf) from a TCP netconn\n *\n * @param conn the netconn from which to receive data\n * @param new_buf pointer where a new pbuf is stored when received data\n * @return ERR_OK if data has been received, an error code otherwise (timeout,\n *                memory error or another error)\n *         ERR_ARG if conn is not a TCP netconn\n */\nerr_t\nnetconn_recv_tcp_pbuf(struct netconn *conn, struct pbuf **new_buf)\n{\n  LWIP_ERROR(\"netconn_recv: invalid conn\", (conn != NULL) &&\n             netconn_type(conn) == NETCONN_TCP, return ERR_ARG;);\n\n  return netconn_recv_data(conn, (void **)new_buf);\n}\n\n/**\n * Receive data (in form of a netbuf containing a packet buffer) from a netconn\n *\n * @param conn the netconn from which to receive data\n * @param new_buf pointer where a new netbuf is stored when received data\n * @return ERR_OK if data has been received, an error code otherwise (timeout,\n *                memory error or another error)\n */\nerr_t\nnetconn_recv(struct netconn *conn, struct netbuf **new_buf)\n{\n#if LWIP_TCP\n  struct netbuf *buf = NULL;\n  err_t err;\n#endif /* LWIP_TCP */\n\n  LWIP_ERROR(\"netconn_recv: invalid pointer\", (new_buf != NULL), return ERR_ARG;);\n  *new_buf = NULL;\n  LWIP_ERROR(\"netconn_recv: invalid conn\",    (conn != NULL),    return ERR_ARG;);\n  LWIP_ERROR(\"netconn_accept: invalid recvmbox\", sys_mbox_valid(&conn->recvmbox), return ERR_CONN;);\n\n#if LWIP_TCP\n#if (LWIP_UDP || LWIP_RAW)\n  if (conn->type == NETCONN_TCP)\n#endif /* (LWIP_UDP || LWIP_RAW) */\n  {\n    struct pbuf *p = NULL;\n    /* This is not a listening netconn, since recvmbox is set */\n\n    buf = (struct netbuf *)memp_malloc(MEMP_NETBUF);\n    if (buf == NULL) {\n      NETCONN_SET_SAFE_ERR(conn, ERR_MEM);\n      return ERR_MEM;\n    }\n\n    err = netconn_recv_data(conn, (void **)&p);\n    if (err != ERR_OK) {\n      memp_free(MEMP_NETBUF, buf);\n      return err;\n    }\n    LWIP_ASSERT(\"p != NULL\", p != NULL);\n\n    buf->p = p;\n    buf->ptr = p;\n    buf->port = 0;\n    ip_addr_set_any(&buf->addr);\n    *new_buf = buf;\n    /* don't set conn->last_err: it's only ERR_OK, anyway */\n    return ERR_OK;\n  }\n#endif /* LWIP_TCP */\n#if LWIP_TCP && (LWIP_UDP || LWIP_RAW)\n  else\n#endif /* LWIP_TCP && (LWIP_UDP || LWIP_RAW) */\n  {\n#if (LWIP_UDP || LWIP_RAW)\n    return netconn_recv_data(conn, (void **)new_buf);\n#endif /* (LWIP_UDP || LWIP_RAW) */\n  }\n}\n\n/**\n * TCP: update the receive window: by calling this, the application\n * tells the stack that it has processed data and is able to accept\n * new data.\n * ATTENTION: use with care, this is mainly used for sockets!\n * Can only be used when calling netconn_set_noautorecved(conn, 1) before.\n *\n * @param conn the netconn for which to update the receive window\n * @param length amount of data processed (ATTENTION: this must be accurate!)\n */\nvoid\nnetconn_recved(struct netconn *conn, u32_t length)\n{\n#if LWIP_TCP\n  if ((conn != NULL) && (conn->type == NETCONN_TCP) &&\n      (netconn_get_noautorecved(conn))) {\n    struct api_msg msg;\n    /* Let the stack know that we have taken the data. */\n    /* TODO: Speedup: Don't block and wait for the answer here\n       (to prevent multiple thread-switches). */\n    msg.function = do_recv;\n    msg.msg.conn = conn;\n    msg.msg.msg.r.len = length;\n    /* don't care for the return value of do_recv */\n    TCPIP_APIMSG(&msg);\n  }\n#else /* LWIP_TCP */\n  LWIP_UNUSED_ARG(conn);\n  LWIP_UNUSED_ARG(length);\n#endif /* LWIP_TCP */\n}\n\n/**\n * Send data (in form of a netbuf) to a specific remote IP address and port.\n * Only to be used for UDP and RAW netconns (not TCP).\n *\n * @param conn the netconn over which to send data\n * @param buf a netbuf containing the data to send\n * @param addr the remote IP address to which to send the data\n * @param port the remote port to which to send the data\n * @return ERR_OK if data was sent, any other err_t on error\n */\nerr_t\nnetconn_sendto(struct netconn *conn, struct netbuf *buf, ip_addr_t *addr, u16_t port)\n{\n  if (buf != NULL) {\n    ip_addr_set(&buf->addr, addr);\n    buf->port = port;\n    return netconn_send(conn, buf);\n  }\n  return ERR_VAL;\n}\n\n/**\n * Send data over a UDP or RAW netconn (that is already connected).\n *\n * @param conn the UDP or RAW netconn over which to send data\n * @param buf a netbuf containing the data to send\n * @return ERR_OK if data was sent, any other err_t on error\n */\nerr_t\nnetconn_send(struct netconn *conn, struct netbuf *buf)\n{\n  struct api_msg msg;\n  err_t err;\n\n  LWIP_ERROR(\"netconn_send: invalid conn\",  (conn != NULL), return ERR_ARG;);\n\n  LWIP_DEBUGF(API_LIB_DEBUG, (\"netconn_send: sending %\"U16_F\" bytes\\n\", buf->p->tot_len));\n  msg.function = do_send;\n  msg.msg.conn = conn;\n  msg.msg.msg.b = buf;\n  err = TCPIP_APIMSG(&msg);\n\n  NETCONN_SET_SAFE_ERR(conn, err);\n  return err;\n}\n\n/**\n * Send data over a TCP netconn.\n *\n * @param conn the TCP netconn over which to send data\n * @param dataptr pointer to the application buffer that contains the data to send\n * @param size size of the application data to send\n * @param apiflags combination of following flags :\n * - NETCONN_COPY: data will be copied into memory belonging to the stack\n * - NETCONN_MORE: for TCP connection, PSH flag will be set on last segment sent\n * - NETCONN_DONTBLOCK: only write the data if all dat can be written at once\n * @param bytes_written pointer to a location that receives the number of written bytes\n * @return ERR_OK if data was sent, any other err_t on error\n */\nerr_t\nnetconn_write_partly(struct netconn *conn, const void *dataptr, size_t size,\n                     u8_t apiflags, size_t *bytes_written)\n{\n  struct api_msg msg;\n  err_t err;\n  u8_t dontblock;\n\n  LWIP_ERROR(\"netconn_write: invalid conn\",  (conn != NULL), return ERR_ARG;);\n  LWIP_ERROR(\"netconn_write: invalid conn->type\",  (conn->type == NETCONN_TCP), return ERR_VAL;);\n  if (size == 0) {\n    return ERR_OK;\n  }\n  dontblock = netconn_is_nonblocking(conn) || (apiflags & NETCONN_DONTBLOCK);\n  if (dontblock && !bytes_written) {\n    /* This implies netconn_write() cannot be used for non-blocking send, since\n       it has no way to return the number of bytes written. */\n    return ERR_VAL;\n  }\n\n  /* non-blocking write sends as much  */\n  msg.function = do_write;\n  msg.msg.conn = conn;\n  msg.msg.msg.w.dataptr = dataptr;\n  msg.msg.msg.w.apiflags = apiflags;\n  msg.msg.msg.w.len = size;\n#if LWIP_SO_SNDTIMEO\n  if (conn->send_timeout != 0) {\n    /* get the time we started, which is later compared to\n        sys_now() + conn->send_timeout */\n    msg.msg.msg.w.time_started = sys_now();\n  } else {\n    msg.msg.msg.w.time_started = 0;\n  }\n#endif /* LWIP_SO_SNDTIMEO */\n\n  /* For locking the core: this _can_ be delayed on low memory/low send buffer,\n     but if it is, this is done inside api_msg.c:do_write(), so we can use the\n     non-blocking version here. */\n  err = TCPIP_APIMSG(&msg);\n  if ((err == ERR_OK) && (bytes_written != NULL)) {\n    if (dontblock\n#if LWIP_SO_SNDTIMEO\n        || (conn->send_timeout != 0)\n#endif /* LWIP_SO_SNDTIMEO */\n       ) {\n      /* nonblocking write: maybe the data has been sent partly */\n      *bytes_written = msg.msg.msg.w.len;\n    } else {\n      /* blocking call succeeded: all data has been sent if it */\n      *bytes_written = size;\n    }\n  }\n\n  NETCONN_SET_SAFE_ERR(conn, err);\n  return err;\n}\n\n/**\n * Close ot shutdown a TCP netconn (doesn't delete it).\n *\n * @param conn the TCP netconn to close or shutdown\n * @param how fully close or only shutdown one side?\n * @return ERR_OK if the netconn was closed, any other err_t on error\n */\nstatic err_t\nnetconn_close_shutdown(struct netconn *conn, u8_t how)\n{\n  struct api_msg msg;\n  err_t err;\n\n  LWIP_ERROR(\"netconn_close: invalid conn\",  (conn != NULL), return ERR_ARG;);\n\n  msg.function = do_close;\n  msg.msg.conn = conn;\n  /* shutting down both ends is the same as closing */\n  msg.msg.msg.sd.shut = how;\n  /* because of the LWIP_TCPIP_CORE_LOCKING implementation of do_close,\n     don't use TCPIP_APIMSG here */\n  err = tcpip_apimsg(&msg);\n\n  NETCONN_SET_SAFE_ERR(conn, err);\n  return err;\n}\n\n/**\n * Close a TCP netconn (doesn't delete it).\n *\n * @param conn the TCP netconn to close\n * @return ERR_OK if the netconn was closed, any other err_t on error\n */\nerr_t\nnetconn_close(struct netconn *conn)\n{\n  /* shutting down both ends is the same as closing */\n  return netconn_close_shutdown(conn, NETCONN_SHUT_RDWR);\n}\n\n/**\n * Shut down one or both sides of a TCP netconn (doesn't delete it).\n *\n * @param conn the TCP netconn to shut down\n * @return ERR_OK if the netconn was closed, any other err_t on error\n */\nerr_t\nnetconn_shutdown(struct netconn *conn, u8_t shut_rx, u8_t shut_tx)\n{\n  return netconn_close_shutdown(conn, (shut_rx ? NETCONN_SHUT_RD : 0) | (shut_tx ? NETCONN_SHUT_WR : 0));\n}\n\n#if LWIP_IGMP\n/**\n * Join multicast groups for UDP netconns.\n *\n * @param conn the UDP netconn for which to change multicast addresses\n * @param multiaddr IP address of the multicast group to join or leave\n * @param netif_addr the IP address of the network interface on which to send\n *                  the igmp message\n * @param join_or_leave flag whether to send a join- or leave-message\n * @return ERR_OK if the action was taken, any err_t on error\n */\nerr_t\nnetconn_join_leave_group(struct netconn *conn,\n                         ip_addr_t *multiaddr,\n                         ip_addr_t *netif_addr,\n                         enum netconn_igmp join_or_leave)\n{\n  struct api_msg msg;\n  err_t err;\n\n  LWIP_ERROR(\"netconn_join_leave_group: invalid conn\",  (conn != NULL), return ERR_ARG;);\n\n  msg.function = do_join_leave_group;\n  msg.msg.conn = conn;\n  msg.msg.msg.jl.multiaddr = multiaddr;\n  msg.msg.msg.jl.netif_addr = netif_addr;\n  msg.msg.msg.jl.join_or_leave = join_or_leave;\n  err = TCPIP_APIMSG(&msg);\n\n  NETCONN_SET_SAFE_ERR(conn, err);\n  return err;\n}\n#endif /* LWIP_IGMP */\n\n#if LWIP_DNS\n/**\n * Execute a DNS query, only one IP address is returned\n *\n * @param name a string representation of the DNS host name to query\n * @param addr a preallocated ip_addr_t where to store the resolved IP address\n * @return ERR_OK: resolving succeeded\n *         ERR_MEM: memory error, try again later\n *         ERR_ARG: dns client not initialized or invalid hostname\n *         ERR_VAL: dns server response was invalid\n */\nerr_t\nnetconn_gethostbyname(const char *name, ip_addr_t *addr)\n{\n  struct dns_api_msg msg;\n  err_t err;\n  sys_sem_t sem;\n\n  LWIP_ERROR(\"netconn_gethostbyname: invalid name\", (name != NULL), return ERR_ARG;);\n  LWIP_ERROR(\"netconn_gethostbyname: invalid addr\", (addr != NULL), return ERR_ARG;);\n\n  err = sys_sem_new(&sem, 0);\n  if (err != ERR_OK) {\n    return err;\n  }\n\n  msg.name = name;\n  msg.addr = addr;\n  msg.err = &err;\n  msg.sem = &sem;\n\n  tcpip_callback(do_gethostbyname, &msg);\n  sys_sem_wait(&sem);\n  sys_sem_free(&sem);\n\n  return err;\n}\n#endif /* LWIP_DNS*/\n\n#endif /* LWIP_NETCONN */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/api/api_msg.c",
    "content": "/**\n * @file\n * Sequential API Internal module\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/api_msg.h\"\n\n#include \"lwip/ip.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/tcp.h\"\n#include \"lwip/raw.h\"\n\n#include \"lwip/memp.h\"\n#include \"lwip/tcpip.h\"\n#include \"lwip/igmp.h\"\n#include \"lwip/dns.h\"\n\n#include <string.h>\n\n#define SET_NONBLOCKING_CONNECT(conn, val)  do { if(val) { \\\n  (conn)->flags |= NETCONN_FLAG_IN_NONBLOCKING_CONNECT; \\\n} else { \\\n  (conn)->flags &= ~ NETCONN_FLAG_IN_NONBLOCKING_CONNECT; }} while(0)\n#define IN_NONBLOCKING_CONNECT(conn) (((conn)->flags & NETCONN_FLAG_IN_NONBLOCKING_CONNECT) != 0)\n\n/* forward declarations */\n#if LWIP_TCP\nstatic err_t do_writemore(struct netconn *conn);\nstatic void do_close_internal(struct netconn *conn);\n#endif\n\n#if LWIP_RAW\n/**\n * Receive callback function for RAW netconns.\n * Doesn't 'eat' the packet, only references it and sends it to\n * conn->recvmbox\n *\n * @see raw.h (struct raw_pcb.recv) for parameters and return value\n */\nstatic u8_t\nrecv_raw(void *arg, struct raw_pcb *pcb, struct pbuf *p,\n    ip_addr_t *addr)\n{\n  struct pbuf *q;\n  struct netbuf *buf;\n  struct netconn *conn;\n\n  LWIP_UNUSED_ARG(addr);\n  conn = (struct netconn *)arg;\n\n  if ((conn != NULL) && sys_mbox_valid(&conn->recvmbox)) {\n#if LWIP_SO_RCVBUF\n    int recv_avail;\n    SYS_ARCH_GET(conn->recv_avail, recv_avail);\n    if ((recv_avail + (int)(p->tot_len)) > conn->recv_bufsize) {\n      return 0;\n    }\n#endif /* LWIP_SO_RCVBUF */\n    /* copy the whole packet into new pbufs */\n    q = pbuf_alloc(PBUF_RAW, p->tot_len, PBUF_RAM);\n    if(q != NULL) {\n      if (pbuf_copy(q, p) != ERR_OK) {\n        pbuf_free(q);\n        q = NULL;\n      }\n    }\n\n    if (q != NULL) {\n      u16_t len;\n      buf = (struct netbuf *)memp_malloc(MEMP_NETBUF);\n      if (buf == NULL) {\n        pbuf_free(q);\n        return 0;\n      }\n\n      buf->p = q;\n      buf->ptr = q;\n      ip_addr_copy(buf->addr, *ip_current_src_addr());\n      buf->port = pcb->protocol;\n\n      len = q->tot_len;\n      if (sys_mbox_trypost(&conn->recvmbox, buf) != ERR_OK) {\n        netbuf_delete(buf);\n        return 0;\n      } else {\n#if LWIP_SO_RCVBUF\n        SYS_ARCH_INC(conn->recv_avail, len);\n#endif /* LWIP_SO_RCVBUF */\n        /* Register event with callback */\n        API_EVENT(conn, NETCONN_EVT_RCVPLUS, len);\n      }\n    }\n  }\n\n  return 0; /* do not eat the packet */\n}\n#endif /* LWIP_RAW*/\n\n#if LWIP_UDP\n/**\n * Receive callback function for UDP netconns.\n * Posts the packet to conn->recvmbox or deletes it on memory error.\n *\n * @see udp.h (struct udp_pcb.recv) for parameters\n */\nstatic void\nrecv_udp(void *arg, struct udp_pcb *pcb, struct pbuf *p,\n   ip_addr_t *addr, u16_t port)\n{\n  struct netbuf *buf;\n  struct netconn *conn;\n  u16_t len;\n#if LWIP_SO_RCVBUF\n  int recv_avail;\n#endif /* LWIP_SO_RCVBUF */\n\n  LWIP_UNUSED_ARG(pcb); /* only used for asserts... */\n  LWIP_ASSERT(\"recv_udp must have a pcb argument\", pcb != NULL);\n  LWIP_ASSERT(\"recv_udp must have an argument\", arg != NULL);\n  conn = (struct netconn *)arg;\n  LWIP_ASSERT(\"recv_udp: recv for wrong pcb!\", conn->pcb.udp == pcb);\n\n#if LWIP_SO_RCVBUF\n  SYS_ARCH_GET(conn->recv_avail, recv_avail);\n  if ((conn == NULL) || !sys_mbox_valid(&conn->recvmbox) ||\n      ((recv_avail + (int)(p->tot_len)) > conn->recv_bufsize)) {\n#else  /* LWIP_SO_RCVBUF */\n  if ((conn == NULL) || !sys_mbox_valid(&conn->recvmbox)) {\n#endif /* LWIP_SO_RCVBUF */\n    pbuf_free(p);\n    return;\n  }\n\n  buf = (struct netbuf *)memp_malloc(MEMP_NETBUF);\n  if (buf == NULL) {\n    pbuf_free(p);\n    return;\n  } else {\n    buf->p = p;\n    buf->ptr = p;\n    ip_addr_set(&buf->addr, addr);\n    buf->port = port;\n#if LWIP_NETBUF_RECVINFO\n    {\n      const struct ip_hdr* iphdr = ip_current_header();\n      /* get the UDP header - always in the first pbuf, ensured by udp_input */\n      const struct udp_hdr* udphdr = (void*)(((char*)iphdr) + IPH_LEN(iphdr));\n#if LWIP_CHECKSUM_ON_COPY\n      buf->flags = NETBUF_FLAG_DESTADDR;\n#endif /* LWIP_CHECKSUM_ON_COPY */\n      ip_addr_set(&buf->toaddr, ip_current_dest_addr());\n      buf->toport_chksum = udphdr->dest;\n    }\n#endif /* LWIP_NETBUF_RECVINFO */\n  }\n\n  len = p->tot_len;\n  if (sys_mbox_trypost(&conn->recvmbox, buf) != ERR_OK) {\n    netbuf_delete(buf);\n    return;\n  } else {\n#if LWIP_SO_RCVBUF\n    SYS_ARCH_INC(conn->recv_avail, len);\n#endif /* LWIP_SO_RCVBUF */\n    /* Register event with callback */\n    API_EVENT(conn, NETCONN_EVT_RCVPLUS, len);\n  }\n}\n#endif /* LWIP_UDP */\n\n#if LWIP_TCP\n/**\n * Receive callback function for TCP netconns.\n * Posts the packet to conn->recvmbox, but doesn't delete it on errors.\n *\n * @see tcp.h (struct tcp_pcb.recv) for parameters and return value\n */\nstatic err_t\nrecv_tcp(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err)\n{\n  struct netconn *conn;\n  u16_t len;\n\n  LWIP_UNUSED_ARG(pcb);\n  LWIP_ASSERT(\"recv_tcp must have a pcb argument\", pcb != NULL);\n  LWIP_ASSERT(\"recv_tcp must have an argument\", arg != NULL);\n  conn = (struct netconn *)arg;\n  LWIP_ASSERT(\"recv_tcp: recv for wrong pcb!\", conn->pcb.tcp == pcb);\n\n  if (conn == NULL) {\n    return ERR_VAL;\n  }\n  if (!sys_mbox_valid(&conn->recvmbox)) {\n    /* recvmbox already deleted */\n    if (p != NULL) {\n      tcp_recved(pcb, p->tot_len);\n      pbuf_free(p);\n    }\n    return ERR_OK;\n  }\n  /* Unlike for UDP or RAW pcbs, don't check for available space\n     using recv_avail since that could break the connection\n     (data is already ACKed) */\n\n  /* don't overwrite fatal errors! */\n  NETCONN_SET_SAFE_ERR(conn, err);\n\n  if (p != NULL) {\n    len = p->tot_len;\n  } else {\n    len = 0;\n  }\n\n  if (sys_mbox_trypost(&conn->recvmbox, p) != ERR_OK) {\n    /* don't deallocate p: it is presented to us later again from tcp_fasttmr! */\n    return ERR_MEM;\n  } else {\n#if LWIP_SO_RCVBUF\n    SYS_ARCH_INC(conn->recv_avail, len);\n#endif /* LWIP_SO_RCVBUF */\n    /* Register event with callback */\n    API_EVENT(conn, NETCONN_EVT_RCVPLUS, len);\n  }\n\n  return ERR_OK;\n}\n\n/**\n * Poll callback function for TCP netconns.\n * Wakes up an application thread that waits for a connection to close\n * or data to be sent. The application thread then takes the\n * appropriate action to go on.\n *\n * Signals the conn->sem.\n * netconn_close waits for conn->sem if closing failed.\n *\n * @see tcp.h (struct tcp_pcb.poll) for parameters and return value\n */\nstatic err_t\npoll_tcp(void *arg, struct tcp_pcb *pcb)\n{\n  struct netconn *conn = (struct netconn *)arg;\n\n  LWIP_UNUSED_ARG(pcb);\n  LWIP_ASSERT(\"conn != NULL\", (conn != NULL));\n\n  if (conn->state == NETCONN_WRITE) {\n    do_writemore(conn);\n  } else if (conn->state == NETCONN_CLOSE) {\n    do_close_internal(conn);\n  }\n  /* @todo: implement connect timeout here? */\n\n  /* Did a nonblocking write fail before? Then check available write-space. */\n  if (conn->flags & NETCONN_FLAG_CHECK_WRITESPACE) {\n    /* If the queued byte- or pbuf-count drops below the configured low-water limit,\n       let select mark this pcb as writable again. */\n    if ((conn->pcb.tcp != NULL) && (tcp_sndbuf(conn->pcb.tcp) > TCP_SNDLOWAT) &&\n      (tcp_sndqueuelen(conn->pcb.tcp) < TCP_SNDQUEUELOWAT)) {\n      conn->flags &= ~NETCONN_FLAG_CHECK_WRITESPACE;\n      API_EVENT(conn, NETCONN_EVT_SENDPLUS, 0);\n    }\n  }\n\n  return ERR_OK;\n}\n\n/**\n * Sent callback function for TCP netconns.\n * Signals the conn->sem and calls API_EVENT.\n * netconn_write waits for conn->sem if send buffer is low.\n *\n * @see tcp.h (struct tcp_pcb.sent) for parameters and return value\n */\nstatic err_t\nsent_tcp(void *arg, struct tcp_pcb *pcb, u16_t len)\n{\n  struct netconn *conn = (struct netconn *)arg;\n\n  LWIP_UNUSED_ARG(pcb);\n  LWIP_ASSERT(\"conn != NULL\", (conn != NULL));\n\n  if (conn->state == NETCONN_WRITE) {\n    do_writemore(conn);\n  } else if (conn->state == NETCONN_CLOSE) {\n    do_close_internal(conn);\n  }\n\n  if (conn) {\n    /* If the queued byte- or pbuf-count drops below the configured low-water limit,\n       let select mark this pcb as writable again. */\n    if ((conn->pcb.tcp != NULL) && (tcp_sndbuf(conn->pcb.tcp) > TCP_SNDLOWAT) &&\n      (tcp_sndqueuelen(conn->pcb.tcp) < TCP_SNDQUEUELOWAT)) {\n      conn->flags &= ~NETCONN_FLAG_CHECK_WRITESPACE;\n      API_EVENT(conn, NETCONN_EVT_SENDPLUS, len);\n    }\n  }\n  \n  return ERR_OK;\n}\n\n/**\n * Error callback function for TCP netconns.\n * Signals conn->sem, posts to all conn mboxes and calls API_EVENT.\n * The application thread has then to decide what to do.\n *\n * @see tcp.h (struct tcp_pcb.err) for parameters\n */\nstatic void\nerr_tcp(void *arg, err_t err)\n{\n  struct netconn *conn;\n  enum netconn_state old_state;\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  conn = (struct netconn *)arg;\n  LWIP_ASSERT(\"conn != NULL\", (conn != NULL));\n\n  conn->pcb.tcp = NULL;\n\n  /* no check since this is always fatal! */\n  SYS_ARCH_PROTECT(lev);\n  conn->last_err = err;\n  SYS_ARCH_UNPROTECT(lev);\n\n  /* reset conn->state now before waking up other threads */\n  old_state = conn->state;\n  conn->state = NETCONN_NONE;\n\n  /* Notify the user layer about a connection error. Used to signal\n     select. */\n  API_EVENT(conn, NETCONN_EVT_ERROR, 0);\n  /* Try to release selects pending on 'read' or 'write', too.\n     They will get an error if they actually try to read or write. */\n  API_EVENT(conn, NETCONN_EVT_RCVPLUS, 0);\n  API_EVENT(conn, NETCONN_EVT_SENDPLUS, 0);\n\n  /* pass NULL-message to recvmbox to wake up pending recv */\n  if (sys_mbox_valid(&conn->recvmbox)) {\n    /* use trypost to prevent deadlock */\n    sys_mbox_trypost(&conn->recvmbox, NULL);\n  }\n  /* pass NULL-message to acceptmbox to wake up pending accept */\n  if (sys_mbox_valid(&conn->acceptmbox)) {\n    /* use trypost to preven deadlock */\n    sys_mbox_trypost(&conn->acceptmbox, NULL);\n  }\n\n  if ((old_state == NETCONN_WRITE) || (old_state == NETCONN_CLOSE) ||\n      (old_state == NETCONN_CONNECT)) {\n    /* calling do_writemore/do_close_internal is not necessary\n       since the pcb has already been deleted! */\n    int was_nonblocking_connect = IN_NONBLOCKING_CONNECT(conn);\n    SET_NONBLOCKING_CONNECT(conn, 0);\n\n    if (!was_nonblocking_connect) {\n      /* set error return code */\n      LWIP_ASSERT(\"conn->current_msg != NULL\", conn->current_msg != NULL);\n      conn->current_msg->err = err;\n      conn->current_msg = NULL;\n      /* wake up the waiting task */\n      sys_sem_signal(&conn->op_completed);\n    }\n  } else {\n    LWIP_ASSERT(\"conn->current_msg == NULL\", conn->current_msg == NULL);\n  }\n}\n\n/**\n * Setup a tcp_pcb with the correct callback function pointers\n * and their arguments.\n *\n * @param conn the TCP netconn to setup\n */\nstatic void\nsetup_tcp(struct netconn *conn)\n{\n  struct tcp_pcb *pcb;\n\n  pcb = conn->pcb.tcp;\n  tcp_arg(pcb, conn);\n  tcp_recv(pcb, recv_tcp);\n  tcp_sent(pcb, sent_tcp);\n  tcp_poll(pcb, poll_tcp, 4);\n  tcp_err(pcb, err_tcp);\n}\n\n/**\n * Accept callback function for TCP netconns.\n * Allocates a new netconn and posts that to conn->acceptmbox.\n *\n * @see tcp.h (struct tcp_pcb_listen.accept) for parameters and return value\n */\nstatic err_t\naccept_function(void *arg, struct tcp_pcb *newpcb, err_t err)\n{\n  struct netconn *newconn;\n  struct netconn *conn = (struct netconn *)arg;\n\n  LWIP_DEBUGF(API_MSG_DEBUG, (\"accept_function: newpcb->tate: %s\\n\", tcp_debug_state_str(newpcb->state)));\n\n  if (!sys_mbox_valid(&conn->acceptmbox)) {\n    LWIP_DEBUGF(API_MSG_DEBUG, (\"accept_function: acceptmbox already deleted\\n\"));\n    return ERR_VAL;\n  }\n\n  /* We have to set the callback here even though\n   * the new socket is unknown. conn->socket is marked as -1. */\n  newconn = netconn_alloc(conn->type, conn->callback);\n  if (newconn == NULL) {\n    return ERR_MEM;\n  }\n  newconn->pcb.tcp = newpcb;\n  setup_tcp(newconn);\n  /* no protection: when creating the pcb, the netconn is not yet known\n     to the application thread */\n  newconn->last_err = err;\n\n  if (sys_mbox_trypost(&conn->acceptmbox, newconn) != ERR_OK) {\n    /* When returning != ERR_OK, the pcb is aborted in tcp_process(),\n       so do nothing here! */\n    /* remove all references to this netconn from the pcb */\n    struct tcp_pcb* pcb = newconn->pcb.tcp;\n    tcp_arg(pcb, NULL);\n    tcp_recv(pcb, NULL);\n    tcp_sent(pcb, NULL);\n    tcp_poll(pcb, NULL, 4);\n    tcp_err(pcb, NULL);\n    /* remove reference from to the pcb from this netconn */\n    newconn->pcb.tcp = NULL;\n    /* no need to drain since we know the recvmbox is empty. */\n    sys_mbox_free(&newconn->recvmbox);\n    sys_mbox_set_invalid(&newconn->recvmbox);\n    netconn_free(newconn);\n    return ERR_MEM;\n  } else {\n    /* Register event with callback */\n    API_EVENT(conn, NETCONN_EVT_RCVPLUS, 0);\n  }\n\n  return ERR_OK;\n}\n#endif /* LWIP_TCP */\n\n/**\n * Create a new pcb of a specific type.\n * Called from do_newconn().\n *\n * @param msg the api_msg_msg describing the connection type\n * @return msg->conn->err, but the return value is currently ignored\n */\nstatic void\npcb_new(struct api_msg_msg *msg)\n{\n  LWIP_ASSERT(\"pcb_new: pcb already allocated\", msg->conn->pcb.tcp == NULL);\n\n  /* Allocate a PCB for this connection */\n  switch(NETCONNTYPE_GROUP(msg->conn->type)) {\n#if LWIP_RAW\n  case NETCONN_RAW:\n    msg->conn->pcb.raw = raw_new(msg->msg.n.proto);\n    if(msg->conn->pcb.raw == NULL) {\n      msg->err = ERR_MEM;\n      break;\n    }\n    raw_recv(msg->conn->pcb.raw, recv_raw, msg->conn);\n    break;\n#endif /* LWIP_RAW */\n#if LWIP_UDP\n  case NETCONN_UDP:\n    msg->conn->pcb.udp = udp_new();\n    if(msg->conn->pcb.udp == NULL) {\n      msg->err = ERR_MEM;\n      break;\n    }\n#if LWIP_UDPLITE\n    if (msg->conn->type==NETCONN_UDPLITE) {\n      udp_setflags(msg->conn->pcb.udp, UDP_FLAGS_UDPLITE);\n    }\n#endif /* LWIP_UDPLITE */\n    if (msg->conn->type==NETCONN_UDPNOCHKSUM) {\n      udp_setflags(msg->conn->pcb.udp, UDP_FLAGS_NOCHKSUM);\n    }\n    udp_recv(msg->conn->pcb.udp, recv_udp, msg->conn);\n    break;\n#endif /* LWIP_UDP */\n#if LWIP_TCP\n  case NETCONN_TCP:\n    msg->conn->pcb.tcp = tcp_new();\n    if(msg->conn->pcb.tcp == NULL) {\n      msg->err = ERR_MEM;\n      break;\n    }\n    setup_tcp(msg->conn);\n    break;\n#endif /* LWIP_TCP */\n  default:\n    /* Unsupported netconn type, e.g. protocol disabled */\n    msg->err = ERR_VAL;\n    break;\n  }\n}\n\n/**\n * Create a new pcb of a specific type inside a netconn.\n * Called from netconn_new_with_proto_and_callback.\n *\n * @param msg the api_msg_msg describing the connection type\n */\nvoid\ndo_newconn(struct api_msg_msg *msg)\n{\n  msg->err = ERR_OK;\n  if(msg->conn->pcb.tcp == NULL) {\n    pcb_new(msg);\n  }\n  /* Else? This \"new\" connection already has a PCB allocated. */\n  /* Is this an error condition? Should it be deleted? */\n  /* We currently just are happy and return. */\n\n  TCPIP_APIMSG_ACK(msg);\n}\n\n/**\n * Create a new netconn (of a specific type) that has a callback function.\n * The corresponding pcb is NOT created!\n *\n * @param t the type of 'connection' to create (@see enum netconn_type)\n * @param proto the IP protocol for RAW IP pcbs\n * @param callback a function to call on status changes (RX available, TX'ed)\n * @return a newly allocated struct netconn or\n *         NULL on memory error\n */\nstruct netconn*\nnetconn_alloc(enum netconn_type t, netconn_callback callback)\n{\n  struct netconn *conn;\n  int size;\n\n  conn = (struct netconn *)memp_malloc(MEMP_NETCONN);\n  if (conn == NULL) {\n    return NULL;\n  }\n\n  conn->last_err = ERR_OK;\n  conn->type = t;\n  conn->pcb.tcp = NULL;\n\n#if (DEFAULT_RAW_RECVMBOX_SIZE == DEFAULT_UDP_RECVMBOX_SIZE) && \\\n    (DEFAULT_RAW_RECVMBOX_SIZE == DEFAULT_TCP_RECVMBOX_SIZE)\n  size = DEFAULT_RAW_RECVMBOX_SIZE;\n#else\n  switch(NETCONNTYPE_GROUP(t)) {\n#if LWIP_RAW\n  case NETCONN_RAW:\n    size = DEFAULT_RAW_RECVMBOX_SIZE;\n    break;\n#endif /* LWIP_RAW */\n#if LWIP_UDP\n  case NETCONN_UDP:\n    size = DEFAULT_UDP_RECVMBOX_SIZE;\n    break;\n#endif /* LWIP_UDP */\n#if LWIP_TCP\n  case NETCONN_TCP:\n    size = DEFAULT_TCP_RECVMBOX_SIZE;\n    break;\n#endif /* LWIP_TCP */\n  default:\n    LWIP_ASSERT(\"netconn_alloc: undefined netconn_type\", 0);\n    goto free_and_return;\n  }\n#endif\n\n  if (sys_sem_new(&conn->op_completed, 0) != ERR_OK) {\n    goto free_and_return;\n  }\n  if (sys_mbox_new(&conn->recvmbox, size) != ERR_OK) {\n    sys_sem_free(&conn->op_completed);\n    goto free_and_return;\n  }\n\n#if LWIP_TCP\n  sys_mbox_set_invalid(&conn->acceptmbox);\n#endif\n  conn->state        = NETCONN_NONE;\n#if LWIP_SOCKET\n  /* initialize socket to -1 since 0 is a valid socket */\n  conn->socket       = -1;\n#endif /* LWIP_SOCKET */\n  conn->callback     = callback;\n#if LWIP_TCP\n  conn->current_msg  = NULL;\n  conn->write_offset = 0;\n#endif /* LWIP_TCP */\n#if LWIP_SO_SNDTIMEO\n  conn->send_timeout = 0;\n#endif /* LWIP_SO_SNDTIMEO */\n#if LWIP_SO_RCVTIMEO\n  conn->recv_timeout = 0;\n#endif /* LWIP_SO_RCVTIMEO */\n#if LWIP_SO_RCVBUF\n  conn->recv_bufsize = RECV_BUFSIZE_DEFAULT;\n  conn->recv_avail   = 0;\n#endif /* LWIP_SO_RCVBUF */\n  conn->flags = 0;\n  return conn;\nfree_and_return:\n  memp_free(MEMP_NETCONN, conn);\n  return NULL;\n}\n\n/**\n * Delete a netconn and all its resources.\n * The pcb is NOT freed (since we might not be in the right thread context do this).\n *\n * @param conn the netconn to free\n */\nvoid\nnetconn_free(struct netconn *conn)\n{\n  LWIP_ASSERT(\"PCB must be deallocated outside this function\", conn->pcb.tcp == NULL);\n  LWIP_ASSERT(\"recvmbox must be deallocated before calling this function\",\n    !sys_mbox_valid(&conn->recvmbox));\n#if LWIP_TCP\n  LWIP_ASSERT(\"acceptmbox must be deallocated before calling this function\",\n    !sys_mbox_valid(&conn->acceptmbox));\n#endif /* LWIP_TCP */\n\n  sys_sem_free(&conn->op_completed);\n  sys_sem_set_invalid(&conn->op_completed);\n\n  memp_free(MEMP_NETCONN, conn);\n}\n\n/**\n * Delete rcvmbox and acceptmbox of a netconn and free the left-over data in\n * these mboxes\n *\n * @param conn the netconn to free\n * @bytes_drained bytes drained from recvmbox\n * @accepts_drained pending connections drained from acceptmbox\n */\nstatic void\nnetconn_drain(struct netconn *conn)\n{\n  void *mem;\n#if LWIP_TCP\n  struct pbuf *p;\n#endif /* LWIP_TCP */\n\n  /* This runs in tcpip_thread, so we don't need to lock against rx packets */\n\n  /* Delete and drain the recvmbox. */\n  if (sys_mbox_valid(&conn->recvmbox)) {\n    while (sys_mbox_tryfetch(&conn->recvmbox, &mem) != SYS_MBOX_EMPTY) {\n#if LWIP_TCP\n      if (conn->type == NETCONN_TCP) {\n        if(mem != NULL) {\n          p = (struct pbuf*)mem;\n          /* pcb might be set to NULL already by err_tcp() */\n          if (conn->pcb.tcp != NULL) {\n            tcp_recved(conn->pcb.tcp, p->tot_len);\n          }\n          pbuf_free(p);\n        }\n      } else\n#endif /* LWIP_TCP */\n      {\n        netbuf_delete((struct netbuf *)mem);\n      }\n    }\n    sys_mbox_free(&conn->recvmbox);\n    sys_mbox_set_invalid(&conn->recvmbox);\n  }\n\n  /* Delete and drain the acceptmbox. */\n#if LWIP_TCP\n  if (sys_mbox_valid(&conn->acceptmbox)) {\n    while (sys_mbox_tryfetch(&conn->acceptmbox, &mem) != SYS_MBOX_EMPTY) {\n      struct netconn *newconn = (struct netconn *)mem;\n      /* Only tcp pcbs have an acceptmbox, so no need to check conn->type */\n      /* pcb might be set to NULL already by err_tcp() */\n      if (conn->pcb.tcp != NULL) {\n        tcp_accepted(conn->pcb.tcp);\n      }\n      /* drain recvmbox */\n      netconn_drain(newconn);\n      if (newconn->pcb.tcp != NULL) {\n        tcp_abort(newconn->pcb.tcp);\n        newconn->pcb.tcp = NULL;\n      }\n      netconn_free(newconn);\n    }\n    sys_mbox_free(&conn->acceptmbox);\n    sys_mbox_set_invalid(&conn->acceptmbox);\n  }\n#endif /* LWIP_TCP */\n}\n\n#if LWIP_TCP\n/**\n * Internal helper function to close a TCP netconn: since this sometimes\n * doesn't work at the first attempt, this function is called from multiple\n * places.\n *\n * @param conn the TCP netconn to close\n */\nstatic void\ndo_close_internal(struct netconn *conn)\n{\n  err_t err;\n  u8_t shut, shut_rx, shut_tx, close;\n\n  LWIP_ASSERT(\"invalid conn\", (conn != NULL));\n  LWIP_ASSERT(\"this is for tcp netconns only\", (conn->type == NETCONN_TCP));\n  LWIP_ASSERT(\"conn must be in state NETCONN_CLOSE\", (conn->state == NETCONN_CLOSE));\n  LWIP_ASSERT(\"pcb already closed\", (conn->pcb.tcp != NULL));\n  LWIP_ASSERT(\"conn->current_msg != NULL\", conn->current_msg != NULL);\n\n  shut = conn->current_msg->msg.sd.shut;\n  shut_rx = shut & NETCONN_SHUT_RD;\n  shut_tx = shut & NETCONN_SHUT_WR;\n  /* shutting down both ends is the same as closing */\n  close = shut == NETCONN_SHUT_RDWR;\n\n  /* Set back some callback pointers */\n  if (close) {\n    tcp_arg(conn->pcb.tcp, NULL);\n  }\n  if (conn->pcb.tcp->state == LISTEN) {\n    tcp_accept(conn->pcb.tcp, NULL);\n  } else {\n    /* some callbacks have to be reset if tcp_close is not successful */\n    if (shut_rx) {\n      tcp_recv(conn->pcb.tcp, NULL);\n      tcp_accept(conn->pcb.tcp, NULL);\n    }\n    if (shut_tx) {\n      tcp_sent(conn->pcb.tcp, NULL);\n    }\n    if (close) {\n      tcp_poll(conn->pcb.tcp, NULL, 4);\n      tcp_err(conn->pcb.tcp, NULL);\n    }\n  }\n  /* Try to close the connection */\n  if (close) {\n    err = tcp_close(conn->pcb.tcp);\n  } else {\n    err = tcp_shutdown(conn->pcb.tcp, shut_rx, shut_tx);\n  }\n  if (err == ERR_OK) {\n    /* Closing succeeded */\n    conn->current_msg->err = ERR_OK;\n    conn->current_msg = NULL;\n    conn->state = NETCONN_NONE;\n    if (close) {\n      /* Set back some callback pointers as conn is going away */\n      conn->pcb.tcp = NULL;\n      /* Trigger select() in socket layer. Make sure everybody notices activity\n       on the connection, error first! */\n      API_EVENT(conn, NETCONN_EVT_ERROR, 0);\n    }\n    if (shut_rx) {\n      API_EVENT(conn, NETCONN_EVT_RCVPLUS, 0);\n    }\n    if (shut_tx) {\n      API_EVENT(conn, NETCONN_EVT_SENDPLUS, 0);\n    }\n    /* wake up the application task */\n    sys_sem_signal(&conn->op_completed);\n  } else {\n    /* Closing failed, restore some of the callbacks */\n    /* Closing of listen pcb will never fail! */\n    LWIP_ASSERT(\"Closing a listen pcb may not fail!\", (conn->pcb.tcp->state != LISTEN));\n    tcp_sent(conn->pcb.tcp, sent_tcp);\n    tcp_poll(conn->pcb.tcp, poll_tcp, 4);\n    tcp_err(conn->pcb.tcp, err_tcp);\n    tcp_arg(conn->pcb.tcp, conn);\n    /* don't restore recv callback: we don't want to receive any more data */\n  }\n  /* If closing didn't succeed, we get called again either\n     from poll_tcp or from sent_tcp */\n}\n#endif /* LWIP_TCP */\n\n/**\n * Delete the pcb inside a netconn.\n * Called from netconn_delete.\n *\n * @param msg the api_msg_msg pointing to the connection\n */\nvoid\ndo_delconn(struct api_msg_msg *msg)\n{\n  /* @todo TCP: abort running write/connect? */\n if ((msg->conn->state != NETCONN_NONE) &&\n     (msg->conn->state != NETCONN_LISTEN) &&\n     (msg->conn->state != NETCONN_CONNECT)) {\n    /* this only happens for TCP netconns */\n    LWIP_ASSERT(\"msg->conn->type == NETCONN_TCP\", msg->conn->type == NETCONN_TCP);\n    msg->err = ERR_INPROGRESS;\n  } else {\n    LWIP_ASSERT(\"blocking connect in progress\",\n      (msg->conn->state != NETCONN_CONNECT) || IN_NONBLOCKING_CONNECT(msg->conn));\n    /* Drain and delete mboxes */\n    netconn_drain(msg->conn);\n\n    if (msg->conn->pcb.tcp != NULL) {\n\n      switch (NETCONNTYPE_GROUP(msg->conn->type)) {\n#if LWIP_RAW\n      case NETCONN_RAW:\n        raw_remove(msg->conn->pcb.raw);\n        break;\n#endif /* LWIP_RAW */\n#if LWIP_UDP\n      case NETCONN_UDP:\n        msg->conn->pcb.udp->recv_arg = NULL;\n        udp_remove(msg->conn->pcb.udp);\n        break;\n#endif /* LWIP_UDP */\n#if LWIP_TCP\n      case NETCONN_TCP:\n        LWIP_ASSERT(\"already writing or closing\", msg->conn->current_msg == NULL &&\n          msg->conn->write_offset == 0);\n        msg->conn->state = NETCONN_CLOSE;\n        msg->msg.sd.shut = NETCONN_SHUT_RDWR;\n        msg->conn->current_msg = msg;\n        do_close_internal(msg->conn);\n        /* API_EVENT is called inside do_close_internal, before releasing\n           the application thread, so we can return at this point! */\n        return;\n#endif /* LWIP_TCP */\n      default:\n        break;\n      }\n      msg->conn->pcb.tcp = NULL;\n    }\n    /* tcp netconns don't come here! */\n\n    /* @todo: this lets select make the socket readable and writable,\n       which is wrong! errfd instead? */\n    API_EVENT(msg->conn, NETCONN_EVT_RCVPLUS, 0);\n    API_EVENT(msg->conn, NETCONN_EVT_SENDPLUS, 0);\n  }\n  if (sys_sem_valid(&msg->conn->op_completed)) {\n    sys_sem_signal(&msg->conn->op_completed);\n  }\n}\n\n/**\n * Bind a pcb contained in a netconn\n * Called from netconn_bind.\n *\n * @param msg the api_msg_msg pointing to the connection and containing\n *            the IP address and port to bind to\n */\nvoid\ndo_bind(struct api_msg_msg *msg)\n{\n  if (ERR_IS_FATAL(msg->conn->last_err)) {\n    msg->err = msg->conn->last_err;\n  } else {\n    msg->err = ERR_VAL;\n    if (msg->conn->pcb.tcp != NULL) {\n      switch (NETCONNTYPE_GROUP(msg->conn->type)) {\n#if LWIP_RAW\n      case NETCONN_RAW:\n        msg->err = raw_bind(msg->conn->pcb.raw, msg->msg.bc.ipaddr);\n        break;\n#endif /* LWIP_RAW */\n#if LWIP_UDP\n      case NETCONN_UDP:\n        msg->err = udp_bind(msg->conn->pcb.udp, msg->msg.bc.ipaddr, msg->msg.bc.port);\n        break;\n#endif /* LWIP_UDP */\n#if LWIP_TCP\n      case NETCONN_TCP:\n        msg->err = tcp_bind(msg->conn->pcb.tcp, msg->msg.bc.ipaddr, msg->msg.bc.port);\n        break;\n#endif /* LWIP_TCP */\n      default:\n        break;\n      }\n    }\n  }\n  TCPIP_APIMSG_ACK(msg);\n}\n\n#if LWIP_TCP\n/**\n * TCP callback function if a connection (opened by tcp_connect/do_connect) has\n * been established (or reset by the remote host).\n *\n * @see tcp.h (struct tcp_pcb.connected) for parameters and return values\n */\nstatic err_t\ndo_connected(void *arg, struct tcp_pcb *pcb, err_t err)\n{\n  struct netconn *conn;\n  int was_blocking;\n\n  LWIP_UNUSED_ARG(pcb);\n\n  conn = (struct netconn *)arg;\n\n  if (conn == NULL) {\n    return ERR_VAL;\n  }\n\n  LWIP_ASSERT(\"conn->state == NETCONN_CONNECT\", conn->state == NETCONN_CONNECT);\n  LWIP_ASSERT(\"(conn->current_msg != NULL) || conn->in_non_blocking_connect\",\n    (conn->current_msg != NULL) || IN_NONBLOCKING_CONNECT(conn));\n\n  if (conn->current_msg != NULL) {\n    conn->current_msg->err = err;\n  }\n  if ((conn->type == NETCONN_TCP) && (err == ERR_OK)) {\n    setup_tcp(conn);\n  }\n  was_blocking = !IN_NONBLOCKING_CONNECT(conn);\n  SET_NONBLOCKING_CONNECT(conn, 0);\n  conn->current_msg = NULL;\n  conn->state = NETCONN_NONE;\n  if (!was_blocking) {\n    NETCONN_SET_SAFE_ERR(conn, ERR_OK);\n  }\n  API_EVENT(conn, NETCONN_EVT_SENDPLUS, 0);\n\n  if (was_blocking) {\n    sys_sem_signal(&conn->op_completed);\n  }\n  return ERR_OK;\n}\n#endif /* LWIP_TCP */\n\n/**\n * Connect a pcb contained inside a netconn\n * Called from netconn_connect.\n *\n * @param msg the api_msg_msg pointing to the connection and containing\n *            the IP address and port to connect to\n */\nvoid\ndo_connect(struct api_msg_msg *msg)\n{\n  if (msg->conn->pcb.tcp == NULL) {\n    /* This may happen when calling netconn_connect() a second time */\n    msg->err = ERR_CLSD;\n  } else {\n    switch (NETCONNTYPE_GROUP(msg->conn->type)) {\n#if LWIP_RAW\n  case NETCONN_RAW:\n    msg->err = raw_connect(msg->conn->pcb.raw, msg->msg.bc.ipaddr);\n    break;\n#endif /* LWIP_RAW */\n#if LWIP_UDP\n  case NETCONN_UDP:\n    msg->err = udp_connect(msg->conn->pcb.udp, msg->msg.bc.ipaddr, msg->msg.bc.port);\n    break;\n#endif /* LWIP_UDP */\n#if LWIP_TCP\n  case NETCONN_TCP:\n    /* Prevent connect while doing any other action. */\n    if (msg->conn->state != NETCONN_NONE) {\n      msg->err = ERR_ISCONN;\n    } else {\n      setup_tcp(msg->conn);\n      msg->err = tcp_connect(msg->conn->pcb.tcp, msg->msg.bc.ipaddr,\n        msg->msg.bc.port, do_connected);\n      if (msg->err == ERR_OK) {\n        u8_t non_blocking = netconn_is_nonblocking(msg->conn);\n        msg->conn->state = NETCONN_CONNECT;\n        SET_NONBLOCKING_CONNECT(msg->conn, non_blocking);\n        if (non_blocking) {\n          msg->err = ERR_INPROGRESS;\n        } else {\n          msg->conn->current_msg = msg;\n          /* sys_sem_signal() is called from do_connected (or err_tcp()),\n          * when the connection is established! */\n          return;\n        }\n      }\n    }\n    break;\n#endif /* LWIP_TCP */\n  default:\n    LWIP_ERROR(\"Invalid netconn type\", 0, do{ msg->err = ERR_VAL; }while(0));\n    break;\n    }\n  }\n  sys_sem_signal(&msg->conn->op_completed);\n}\n\n/**\n * Connect a pcb contained inside a netconn\n * Only used for UDP netconns.\n * Called from netconn_disconnect.\n *\n * @param msg the api_msg_msg pointing to the connection to disconnect\n */\nvoid\ndo_disconnect(struct api_msg_msg *msg)\n{\n#if LWIP_UDP\n  if (NETCONNTYPE_GROUP(msg->conn->type) == NETCONN_UDP) {\n    udp_disconnect(msg->conn->pcb.udp);\n    msg->err = ERR_OK;\n  } else\n#endif /* LWIP_UDP */\n  {\n    msg->err = ERR_VAL;\n  }\n  TCPIP_APIMSG_ACK(msg);\n}\n\n#if LWIP_TCP\n/**\n * Set a TCP pcb contained in a netconn into listen mode\n * Called from netconn_listen.\n *\n * @param msg the api_msg_msg pointing to the connection\n */\nvoid\ndo_listen(struct api_msg_msg *msg)\n{\n  if (ERR_IS_FATAL(msg->conn->last_err)) {\n    msg->err = msg->conn->last_err;\n  } else {\n    msg->err = ERR_CONN;\n    if (msg->conn->pcb.tcp != NULL) {\n      if (msg->conn->type == NETCONN_TCP) {\n        if (msg->conn->state == NETCONN_NONE) {\n#if TCP_LISTEN_BACKLOG\n          struct tcp_pcb* lpcb = tcp_listen_with_backlog(msg->conn->pcb.tcp, msg->msg.lb.backlog);\n#else  /* TCP_LISTEN_BACKLOG */\n          struct tcp_pcb* lpcb = tcp_listen(msg->conn->pcb.tcp);\n#endif /* TCP_LISTEN_BACKLOG */\n          if (lpcb == NULL) {\n            /* in this case, the old pcb is still allocated */\n            msg->err = ERR_MEM;\n          } else {\n            /* delete the recvmbox and allocate the acceptmbox */\n            if (sys_mbox_valid(&msg->conn->recvmbox)) {\n              /** @todo: should we drain the recvmbox here? */\n              sys_mbox_free(&msg->conn->recvmbox);\n              sys_mbox_set_invalid(&msg->conn->recvmbox);\n            }\n            msg->err = ERR_OK;\n            if (!sys_mbox_valid(&msg->conn->acceptmbox)) {\n              msg->err = sys_mbox_new(&msg->conn->acceptmbox, DEFAULT_ACCEPTMBOX_SIZE);\n            }\n            if (msg->err == ERR_OK) {\n              msg->conn->state = NETCONN_LISTEN;\n              msg->conn->pcb.tcp = lpcb;\n              tcp_arg(msg->conn->pcb.tcp, msg->conn);\n              tcp_accept(msg->conn->pcb.tcp, accept_function);\n            } else {\n              /* since the old pcb is already deallocated, free lpcb now */\n              tcp_close(lpcb);\n              msg->conn->pcb.tcp = NULL;\n            }\n          }\n        }\n      } else {\n        msg->err = ERR_ARG;\n      }\n    }\n  }\n  TCPIP_APIMSG_ACK(msg);\n}\n#endif /* LWIP_TCP */\n\n/**\n * Send some data on a RAW or UDP pcb contained in a netconn\n * Called from netconn_send\n *\n * @param msg the api_msg_msg pointing to the connection\n */\nvoid\ndo_send(struct api_msg_msg *msg)\n{\n  if (ERR_IS_FATAL(msg->conn->last_err)) {\n    msg->err = msg->conn->last_err;\n  } else {\n    msg->err = ERR_CONN;\n    if (msg->conn->pcb.tcp != NULL) {\n      switch (NETCONNTYPE_GROUP(msg->conn->type)) {\n#if LWIP_RAW\n      case NETCONN_RAW:\n        if (ip_addr_isany(&msg->msg.b->addr)) {\n          msg->err = raw_send(msg->conn->pcb.raw, msg->msg.b->p);\n        } else {\n          msg->err = raw_sendto(msg->conn->pcb.raw, msg->msg.b->p, &msg->msg.b->addr);\n        }\n        break;\n#endif\n#if LWIP_UDP\n      case NETCONN_UDP:\n#if LWIP_CHECKSUM_ON_COPY\n        if (ip_addr_isany(&msg->msg.b->addr)) {\n          msg->err = udp_send_chksum(msg->conn->pcb.udp, msg->msg.b->p,\n            msg->msg.b->flags & NETBUF_FLAG_CHKSUM, msg->msg.b->toport_chksum);\n        } else {\n          msg->err = udp_sendto_chksum(msg->conn->pcb.udp, msg->msg.b->p,\n            &msg->msg.b->addr, msg->msg.b->port,\n            msg->msg.b->flags & NETBUF_FLAG_CHKSUM, msg->msg.b->toport_chksum);\n        }\n#else /* LWIP_CHECKSUM_ON_COPY */\n        if (ip_addr_isany(&msg->msg.b->addr)) {\n          msg->err = udp_send(msg->conn->pcb.udp, msg->msg.b->p);\n        } else {\n          msg->err = udp_sendto(msg->conn->pcb.udp, msg->msg.b->p, &msg->msg.b->addr, msg->msg.b->port);\n        }\n#endif /* LWIP_CHECKSUM_ON_COPY */\n        break;\n#endif /* LWIP_UDP */\n      default:\n        break;\n      }\n    }\n  }\n  TCPIP_APIMSG_ACK(msg);\n}\n\n#if LWIP_TCP\n/**\n * Indicate data has been received from a TCP pcb contained in a netconn\n * Called from netconn_recv\n *\n * @param msg the api_msg_msg pointing to the connection\n */\nvoid\ndo_recv(struct api_msg_msg *msg)\n{\n  msg->err = ERR_OK;\n  if (msg->conn->pcb.tcp != NULL) {\n    if (msg->conn->type == NETCONN_TCP) {\n#if TCP_LISTEN_BACKLOG\n      if (msg->conn->pcb.tcp->state == LISTEN) {\n        tcp_accepted(msg->conn->pcb.tcp);\n      } else\n#endif /* TCP_LISTEN_BACKLOG */\n      {\n        u32_t remaining = msg->msg.r.len;\n        do {\n          u16_t recved = (remaining > 0xffff) ? 0xffff : (u16_t)remaining;\n          tcp_recved(msg->conn->pcb.tcp, recved);\n          remaining -= recved;\n        }while(remaining != 0);\n      }\n    }\n  }\n  TCPIP_APIMSG_ACK(msg);\n}\n\n/**\n * See if more data needs to be written from a previous call to netconn_write.\n * Called initially from do_write. If the first call can't send all data\n * (because of low memory or empty send-buffer), this function is called again\n * from sent_tcp() or poll_tcp() to send more data. If all data is sent, the\n * blocking application thread (waiting in netconn_write) is released.\n *\n * @param conn netconn (that is currently in state NETCONN_WRITE) to process\n * @return ERR_OK\n *         ERR_MEM if LWIP_TCPIP_CORE_LOCKING=1 and sending hasn't yet finished\n */\nstatic err_t\ndo_writemore(struct netconn *conn)\n{\n  err_t err;\n  void *dataptr;\n  u16_t len, available;\n  u8_t write_finished = 0;\n  size_t diff;\n  u8_t dontblock = netconn_is_nonblocking(conn) ||\n       (conn->current_msg->msg.w.apiflags & NETCONN_DONTBLOCK);\n  u8_t apiflags = conn->current_msg->msg.w.apiflags;\n\n  LWIP_ASSERT(\"conn != NULL\", conn != NULL);\n  LWIP_ASSERT(\"conn->state == NETCONN_WRITE\", (conn->state == NETCONN_WRITE));\n  LWIP_ASSERT(\"conn->current_msg != NULL\", conn->current_msg != NULL);\n  LWIP_ASSERT(\"conn->pcb.tcp != NULL\", conn->pcb.tcp != NULL);\n  LWIP_ASSERT(\"conn->write_offset < conn->current_msg->msg.w.len\",\n    conn->write_offset < conn->current_msg->msg.w.len);\n\n#if LWIP_SO_SNDTIMEO\n  if ((conn->send_timeout != 0) &&\n      ((s32_t)(sys_now() - conn->current_msg->msg.w.time_started) >= conn->send_timeout)) {\n    write_finished = 1;\n    if (conn->write_offset == 0) {\n      /* nothing has been written */\n      err = ERR_WOULDBLOCK;\n      conn->current_msg->msg.w.len = 0;\n    } else {\n      /* partial write */\n      err = ERR_OK;\n      conn->current_msg->msg.w.len = conn->write_offset;\n    }\n  } else\n#endif /* LWIP_SO_SNDTIMEO */\n  {\n    dataptr = (u8_t*)conn->current_msg->msg.w.dataptr + conn->write_offset;\n    diff = conn->current_msg->msg.w.len - conn->write_offset;\n    if (diff > 0xffffUL) { /* max_u16_t */\n      len = 0xffff;\n#if LWIP_TCPIP_CORE_LOCKING\n      conn->flags |= NETCONN_FLAG_WRITE_DELAYED;\n#endif\n      apiflags |= TCP_WRITE_FLAG_MORE;\n    } else {\n      len = (u16_t)diff;\n    }\n    available = tcp_sndbuf(conn->pcb.tcp);\n    if (available < len) {\n      /* don't try to write more than sendbuf */\n      len = available;\n      if (dontblock){ \n        if (!len) {\n          err = ERR_WOULDBLOCK;\n          goto err_mem;\n        }\n      } else {\n#if LWIP_TCPIP_CORE_LOCKING\n        conn->flags |= NETCONN_FLAG_WRITE_DELAYED;\n#endif\n        apiflags |= TCP_WRITE_FLAG_MORE;\n      }\n    }\n    LWIP_ASSERT(\"do_writemore: invalid length!\", ((conn->write_offset + len) <= conn->current_msg->msg.w.len));\n    err = tcp_write(conn->pcb.tcp, dataptr, len, apiflags);\n    /* if OK or memory error, check available space */\n    if ((err == ERR_OK) || (err == ERR_MEM)) {\nerr_mem:\n      if (dontblock && (len < conn->current_msg->msg.w.len)) {\n        /* non-blocking write did not write everything: mark the pcb non-writable\n           and let poll_tcp check writable space to mark the pcb writable again */\n        API_EVENT(conn, NETCONN_EVT_SENDMINUS, len);\n        conn->flags |= NETCONN_FLAG_CHECK_WRITESPACE;\n      } else if ((tcp_sndbuf(conn->pcb.tcp) <= TCP_SNDLOWAT) ||\n                 (tcp_sndqueuelen(conn->pcb.tcp) >= TCP_SNDQUEUELOWAT)) {\n        /* The queued byte- or pbuf-count exceeds the configured low-water limit,\n           let select mark this pcb as non-writable. */\n        API_EVENT(conn, NETCONN_EVT_SENDMINUS, len);\n      }\n    }\n\n    if (err == ERR_OK) {\n      conn->write_offset += len;\n      if ((conn->write_offset == conn->current_msg->msg.w.len) || dontblock) {\n        /* return sent length */\n        conn->current_msg->msg.w.len = conn->write_offset;\n        /* everything was written */\n        write_finished = 1;\n        conn->write_offset = 0;\n      }\n      tcp_output(conn->pcb.tcp);\n    } else if ((err == ERR_MEM) && !dontblock) {\n      /* If ERR_MEM, we wait for sent_tcp or poll_tcp to be called\n         we do NOT return to the application thread, since ERR_MEM is\n         only a temporary error! */\n\n      /* tcp_write returned ERR_MEM, try tcp_output anyway */\n      tcp_output(conn->pcb.tcp);\n\n#if LWIP_TCPIP_CORE_LOCKING\n      conn->flags |= NETCONN_FLAG_WRITE_DELAYED;\n#endif\n    } else {\n      /* On errors != ERR_MEM, we don't try writing any more but return\n         the error to the application thread. */\n      write_finished = 1;\n      conn->current_msg->msg.w.len = 0;\n    }\n  }\n  if (write_finished) {\n    /* everything was written: set back connection state\n       and back to application task */\n    conn->current_msg->err = err;\n    conn->current_msg = NULL;\n    conn->state = NETCONN_NONE;\n#if LWIP_TCPIP_CORE_LOCKING\n    if ((conn->flags & NETCONN_FLAG_WRITE_DELAYED) != 0)\n#endif\n    {\n      sys_sem_signal(&conn->op_completed);\n    }\n  }\n#if LWIP_TCPIP_CORE_LOCKING\n  else\n    return ERR_MEM;\n#endif\n  return ERR_OK;\n}\n#endif /* LWIP_TCP */\n\n/**\n * Send some data on a TCP pcb contained in a netconn\n * Called from netconn_write\n *\n * @param msg the api_msg_msg pointing to the connection\n */\nvoid\ndo_write(struct api_msg_msg *msg)\n{\n  if (ERR_IS_FATAL(msg->conn->last_err)) {\n    msg->err = msg->conn->last_err;\n  } else {\n    if (msg->conn->type == NETCONN_TCP) {\n#if LWIP_TCP\n      if (msg->conn->state != NETCONN_NONE) {\n        /* netconn is connecting, closing or in blocking write */\n        msg->err = ERR_INPROGRESS;\n      } else if (msg->conn->pcb.tcp != NULL) {\n        msg->conn->state = NETCONN_WRITE;\n        /* set all the variables used by do_writemore */\n        LWIP_ASSERT(\"already writing or closing\", msg->conn->current_msg == NULL &&\n          msg->conn->write_offset == 0);\n        LWIP_ASSERT(\"msg->msg.w.len != 0\", msg->msg.w.len != 0);\n        msg->conn->current_msg = msg;\n        msg->conn->write_offset = 0;\n#if LWIP_TCPIP_CORE_LOCKING\n        msg->conn->flags &= ~NETCONN_FLAG_WRITE_DELAYED;\n        if (do_writemore(msg->conn) != ERR_OK) {\n          LWIP_ASSERT(\"state!\", msg->conn->state == NETCONN_WRITE);\n          UNLOCK_TCPIP_CORE();\n          sys_arch_sem_wait(&msg->conn->op_completed, 0);\n          LOCK_TCPIP_CORE();\n          LWIP_ASSERT(\"state!\", msg->conn->state == NETCONN_NONE);\n        }\n#else /* LWIP_TCPIP_CORE_LOCKING */\n        do_writemore(msg->conn);\n#endif /* LWIP_TCPIP_CORE_LOCKING */\n        /* for both cases: if do_writemore was called, don't ACK the APIMSG\n           since do_writemore ACKs it! */\n        return;\n      } else {\n        msg->err = ERR_CONN;\n      }\n#else /* LWIP_TCP */\n      msg->err = ERR_VAL;\n#endif /* LWIP_TCP */\n#if (LWIP_UDP || LWIP_RAW)\n    } else {\n      msg->err = ERR_VAL;\n#endif /* (LWIP_UDP || LWIP_RAW) */\n    }\n  }\n  TCPIP_APIMSG_ACK(msg);\n}\n\n/**\n * Return a connection's local or remote address\n * Called from netconn_getaddr\n *\n * @param msg the api_msg_msg pointing to the connection\n */\nvoid\ndo_getaddr(struct api_msg_msg *msg)\n{\n  if (msg->conn->pcb.ip != NULL) {\n    *(msg->msg.ad.ipaddr) = (msg->msg.ad.local ? msg->conn->pcb.ip->local_ip :\n                             msg->conn->pcb.ip->remote_ip);\n\n    msg->err = ERR_OK;\n    switch (NETCONNTYPE_GROUP(msg->conn->type)) {\n#if LWIP_RAW\n    case NETCONN_RAW:\n      if (msg->msg.ad.local) {\n        *(msg->msg.ad.port) = msg->conn->pcb.raw->protocol;\n      } else {\n        /* return an error as connecting is only a helper for upper layers */\n        msg->err = ERR_CONN;\n      }\n      break;\n#endif /* LWIP_RAW */\n#if LWIP_UDP\n    case NETCONN_UDP:\n      if (msg->msg.ad.local) {\n        *(msg->msg.ad.port) = msg->conn->pcb.udp->local_port;\n      } else {\n        if ((msg->conn->pcb.udp->flags & UDP_FLAGS_CONNECTED) == 0) {\n          msg->err = ERR_CONN;\n        } else {\n          *(msg->msg.ad.port) = msg->conn->pcb.udp->remote_port;\n        }\n      }\n      break;\n#endif /* LWIP_UDP */\n#if LWIP_TCP\n    case NETCONN_TCP:\n      *(msg->msg.ad.port) = (msg->msg.ad.local?msg->conn->pcb.tcp->local_port:msg->conn->pcb.tcp->remote_port);\n      break;\n#endif /* LWIP_TCP */\n    default:\n      LWIP_ASSERT(\"invalid netconn_type\", 0);\n      break;\n    }\n  } else {\n    msg->err = ERR_CONN;\n  }\n  TCPIP_APIMSG_ACK(msg);\n}\n\n/**\n * Close a TCP pcb contained in a netconn\n * Called from netconn_close\n *\n * @param msg the api_msg_msg pointing to the connection\n */\nvoid\ndo_close(struct api_msg_msg *msg)\n{\n#if LWIP_TCP\n  /* @todo: abort running write/connect? */\n  if ((msg->conn->state != NETCONN_NONE) && (msg->conn->state != NETCONN_LISTEN)) {\n    /* this only happens for TCP netconns */\n    LWIP_ASSERT(\"msg->conn->type == NETCONN_TCP\", msg->conn->type == NETCONN_TCP);\n    msg->err = ERR_INPROGRESS;\n  } else if ((msg->conn->pcb.tcp != NULL) && (msg->conn->type == NETCONN_TCP)) {\n    if ((msg->msg.sd.shut != NETCONN_SHUT_RDWR) && (msg->conn->state == NETCONN_LISTEN)) {\n      /* LISTEN doesn't support half shutdown */\n      msg->err = ERR_CONN;\n    } else {\n      if (msg->msg.sd.shut & NETCONN_SHUT_RD) {\n        /* Drain and delete mboxes */\n        netconn_drain(msg->conn);\n      }\n      LWIP_ASSERT(\"already writing or closing\", msg->conn->current_msg == NULL &&\n        msg->conn->write_offset == 0);\n      msg->conn->state = NETCONN_CLOSE;\n      msg->conn->current_msg = msg;\n      do_close_internal(msg->conn);\n      /* for tcp netconns, do_close_internal ACKs the message */\n      return;\n    }\n  } else\n#endif /* LWIP_TCP */\n  {\n    msg->err = ERR_VAL;\n  }\n  sys_sem_signal(&msg->conn->op_completed);\n}\n\n#if LWIP_IGMP\n/**\n * Join multicast groups for UDP netconns.\n * Called from netconn_join_leave_group\n *\n * @param msg the api_msg_msg pointing to the connection\n */\nvoid\ndo_join_leave_group(struct api_msg_msg *msg)\n{ \n  if (ERR_IS_FATAL(msg->conn->last_err)) {\n    msg->err = msg->conn->last_err;\n  } else {\n    if (msg->conn->pcb.tcp != NULL) {\n      if (NETCONNTYPE_GROUP(msg->conn->type) == NETCONN_UDP) {\n#if LWIP_UDP\n        if (msg->msg.jl.join_or_leave == NETCONN_JOIN) {\n          msg->err = igmp_joingroup(msg->msg.jl.netif_addr, msg->msg.jl.multiaddr);\n        } else {\n          msg->err = igmp_leavegroup(msg->msg.jl.netif_addr, msg->msg.jl.multiaddr);\n        }\n#endif /* LWIP_UDP */\n#if (LWIP_TCP || LWIP_RAW)\n      } else {\n        msg->err = ERR_VAL;\n#endif /* (LWIP_TCP || LWIP_RAW) */\n      }\n    } else {\n      msg->err = ERR_CONN;\n    }\n  }\n  TCPIP_APIMSG_ACK(msg);\n}\n#endif /* LWIP_IGMP */\n\n#if LWIP_DNS\n/**\n * Callback function that is called when DNS name is resolved\n * (or on timeout). A waiting application thread is waked up by\n * signaling the semaphore.\n */\nstatic void\ndo_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)\n{\n  struct dns_api_msg *msg = (struct dns_api_msg*)arg;\n\n  LWIP_ASSERT(\"DNS response for wrong host name\", strcmp(msg->name, name) == 0);\n  LWIP_UNUSED_ARG(name);\n\n  if (ipaddr == NULL) {\n    /* timeout or memory error */\n    *msg->err = ERR_VAL;\n  } else {\n    /* address was resolved */\n    *msg->err = ERR_OK;\n    *msg->addr = *ipaddr;\n  }\n  /* wake up the application task waiting in netconn_gethostbyname */\n  sys_sem_signal(msg->sem);\n}\n\n/**\n * Execute a DNS query\n * Called from netconn_gethostbyname\n *\n * @param arg the dns_api_msg pointing to the query\n */\nvoid\ndo_gethostbyname(void *arg)\n{\n  struct dns_api_msg *msg = (struct dns_api_msg*)arg;\n\n  *msg->err = dns_gethostbyname(msg->name, msg->addr, do_dns_found, msg);\n  if (*msg->err != ERR_INPROGRESS) {\n    /* on error or immediate success, wake up the application\n     * task waiting in netconn_gethostbyname */\n    sys_sem_signal(msg->sem);\n  }\n}\n#endif /* LWIP_DNS */\n\n#endif /* LWIP_NETCONN */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/api/err.c",
    "content": "/**\n * @file\n * Error Management module\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/err.h\"\n\n#ifdef LWIP_DEBUG\n\nstatic const char *err_strerr[] = {\n           \"Ok.\",                    /* ERR_OK          0  */\n           \"Out of memory error.\",   /* ERR_MEM        -1  */\n           \"Buffer error.\",          /* ERR_BUF        -2  */\n           \"Timeout.\",               /* ERR_TIMEOUT    -3  */\n           \"Routing problem.\",       /* ERR_RTE        -4  */\n           \"Operation in progress.\", /* ERR_INPROGRESS -5  */\n           \"Illegal value.\",         /* ERR_VAL        -6  */\n           \"Operation would block.\", /* ERR_WOULDBLOCK -7  */\n           \"Address in use.\",        /* ERR_USE        -8  */\n           \"Already connected.\",     /* ERR_ISCONN     -9  */\n           \"Connection aborted.\",    /* ERR_ABRT       -10 */\n           \"Connection reset.\",      /* ERR_RST        -11 */\n           \"Connection closed.\",     /* ERR_CLSD       -12 */\n           \"Not connected.\",         /* ERR_CONN       -13 */\n           \"Illegal argument.\",      /* ERR_ARG        -14 */\n           \"Low-level netif error.\", /* ERR_IF         -15 */\n};\n\n/**\n * Convert an lwip internal error to a string representation.\n *\n * @param err an lwip internal err_t\n * @return a string representation for err\n */\nconst char *\nlwip_strerr(err_t err)\n{\n  return err_strerr[-err];\n\n}\n\n#endif /* LWIP_DEBUG */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/api/netbuf.c",
    "content": "/**\n * @file\n * Network buffer management\n *\n */\n \n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_NETCONN /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/netbuf.h\"\n#include \"lwip/memp.h\"\n\n#include <string.h>\n\n/**\n * Create (allocate) and initialize a new netbuf.\n * The netbuf doesn't yet contain a packet buffer!\n *\n * @return a pointer to a new netbuf\n *         NULL on lack of memory\n */\nstruct\nnetbuf *netbuf_new(void)\n{\n  struct netbuf *buf;\n\n  buf = (struct netbuf *)memp_malloc(MEMP_NETBUF);\n  if (buf != NULL) {\n    buf->p = NULL;\n    buf->ptr = NULL;\n    ip_addr_set_any(&buf->addr);\n    buf->port = 0;\n#if LWIP_NETBUF_RECVINFO || LWIP_CHECKSUM_ON_COPY\n#if LWIP_CHECKSUM_ON_COPY\n    buf->flags = 0;\n#endif /* LWIP_CHECKSUM_ON_COPY */\n    buf->toport_chksum = 0;\n#if LWIP_NETBUF_RECVINFO\n    ip_addr_set_any(&buf->toaddr);\n#endif /* LWIP_NETBUF_RECVINFO */\n#endif /* LWIP_NETBUF_RECVINFO || LWIP_CHECKSUM_ON_COPY */\n    return buf;\n  } else {\n    return NULL;\n  }\n}\n\n/**\n * Deallocate a netbuf allocated by netbuf_new().\n *\n * @param buf pointer to a netbuf allocated by netbuf_new()\n */\nvoid\nnetbuf_delete(struct netbuf *buf)\n{\n  if (buf != NULL) {\n    if (buf->p != NULL) {\n      pbuf_free(buf->p);\n      buf->p = buf->ptr = NULL;\n    }\n    memp_free(MEMP_NETBUF, buf);\n  }\n}\n\n/**\n * Allocate memory for a packet buffer for a given netbuf.\n *\n * @param buf the netbuf for which to allocate a packet buffer\n * @param size the size of the packet buffer to allocate\n * @return pointer to the allocated memory\n *         NULL if no memory could be allocated\n */\nvoid *\nnetbuf_alloc(struct netbuf *buf, u16_t size)\n{\n  LWIP_ERROR(\"netbuf_alloc: invalid buf\", (buf != NULL), return NULL;);\n\n  /* Deallocate any previously allocated memory. */\n  if (buf->p != NULL) {\n    pbuf_free(buf->p);\n  }\n  buf->p = pbuf_alloc(PBUF_TRANSPORT, size, PBUF_RAM);\n  if (buf->p == NULL) {\n     return NULL;\n  }\n  LWIP_ASSERT(\"check that first pbuf can hold size\",\n             (buf->p->len >= size));\n  buf->ptr = buf->p;\n  return buf->p->payload;\n}\n\n/**\n * Free the packet buffer included in a netbuf\n *\n * @param buf pointer to the netbuf which contains the packet buffer to free\n */\nvoid\nnetbuf_free(struct netbuf *buf)\n{\n  LWIP_ERROR(\"netbuf_free: invalid buf\", (buf != NULL), return;);\n  if (buf->p != NULL) {\n    pbuf_free(buf->p);\n  }\n  buf->p = buf->ptr = NULL;\n}\n\n/**\n * Let a netbuf reference existing (non-volatile) data.\n *\n * @param buf netbuf which should reference the data\n * @param dataptr pointer to the data to reference\n * @param size size of the data\n * @return ERR_OK if data is referenced\n *         ERR_MEM if data couldn't be referenced due to lack of memory\n */\nerr_t\nnetbuf_ref(struct netbuf *buf, const void *dataptr, u16_t size)\n{\n  LWIP_ERROR(\"netbuf_ref: invalid buf\", (buf != NULL), return ERR_ARG;);\n  if (buf->p != NULL) {\n    pbuf_free(buf->p);\n  }\n  buf->p = pbuf_alloc(PBUF_TRANSPORT, 0, PBUF_REF);\n  if (buf->p == NULL) {\n    buf->ptr = NULL;\n    return ERR_MEM;\n  }\n  buf->p->payload = (void*)dataptr;\n  buf->p->len = buf->p->tot_len = size;\n  buf->ptr = buf->p;\n  return ERR_OK;\n}\n\n/**\n * Chain one netbuf to another (@see pbuf_chain)\n *\n * @param head the first netbuf\n * @param tail netbuf to chain after head, freed by this function, may not be reference after returning\n */\nvoid\nnetbuf_chain(struct netbuf *head, struct netbuf *tail)\n{\n  LWIP_ERROR(\"netbuf_ref: invalid head\", (head != NULL), return;);\n  LWIP_ERROR(\"netbuf_chain: invalid tail\", (tail != NULL), return;);\n  pbuf_cat(head->p, tail->p);\n  head->ptr = head->p;\n  memp_free(MEMP_NETBUF, tail);\n}\n\n/**\n * Get the data pointer and length of the data inside a netbuf.\n *\n * @param buf netbuf to get the data from\n * @param dataptr pointer to a void pointer where to store the data pointer\n * @param len pointer to an u16_t where the length of the data is stored\n * @return ERR_OK if the information was retreived,\n *         ERR_BUF on error.\n */\nerr_t\nnetbuf_data(struct netbuf *buf, void **dataptr, u16_t *len)\n{\n  LWIP_ERROR(\"netbuf_data: invalid buf\", (buf != NULL), return ERR_ARG;);\n  LWIP_ERROR(\"netbuf_data: invalid dataptr\", (dataptr != NULL), return ERR_ARG;);\n  LWIP_ERROR(\"netbuf_data: invalid len\", (len != NULL), return ERR_ARG;);\n\n  if (buf->ptr == NULL) {\n    return ERR_BUF;\n  }\n  *dataptr = buf->ptr->payload;\n  *len = buf->ptr->len;\n  return ERR_OK;\n}\n\n/**\n * Move the current data pointer of a packet buffer contained in a netbuf\n * to the next part.\n * The packet buffer itself is not modified.\n *\n * @param buf the netbuf to modify\n * @return -1 if there is no next part\n *         1  if moved to the next part but now there is no next part\n *         0  if moved to the next part and there are still more parts\n */\ns8_t\nnetbuf_next(struct netbuf *buf)\n{\n  LWIP_ERROR(\"netbuf_free: invalid buf\", (buf != NULL), return -1;);\n  if (buf->ptr->next == NULL) {\n    return -1;\n  }\n  buf->ptr = buf->ptr->next;\n  if (buf->ptr->next == NULL) {\n    return 1;\n  }\n  return 0;\n}\n\n/**\n * Move the current data pointer of a packet buffer contained in a netbuf\n * to the beginning of the packet.\n * The packet buffer itself is not modified.\n *\n * @param buf the netbuf to modify\n */\nvoid\nnetbuf_first(struct netbuf *buf)\n{\n  LWIP_ERROR(\"netbuf_free: invalid buf\", (buf != NULL), return;);\n  buf->ptr = buf->p;\n}\n\n#endif /* LWIP_NETCONN */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/api/netdb.c",
    "content": "/**\n * @file\n * API functions for name resolving\n *\n */\n\n/*\n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Simon Goldschmidt\n *\n */\n\n#include \"lwip/netdb.h\"\n\n#if LWIP_DNS && LWIP_SOCKET\n\n#include \"lwip/err.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/api.h\"\n#include \"lwip/dns.h\"\n\n#include <string.h>\n#include <stdlib.h>\n\n/** helper struct for gethostbyname_r to access the char* buffer */\nstruct gethostbyname_r_helper {\n  ip_addr_t *addr_list[2];\n  ip_addr_t addr;\n  char *aliases;\n};\n\n/** h_errno is exported in netdb.h for access by applications. */\n#if LWIP_DNS_API_DECLARE_H_ERRNO\nint h_errno;\n#endif /* LWIP_DNS_API_DECLARE_H_ERRNO */\n\n/** define \"hostent\" variables storage: 0 if we use a static (but unprotected)\n * set of variables for lwip_gethostbyname, 1 if we use a local storage */\n#ifndef LWIP_DNS_API_HOSTENT_STORAGE\n#define LWIP_DNS_API_HOSTENT_STORAGE 0\n#endif\n\n/** define \"hostent\" variables storage */\n#if LWIP_DNS_API_HOSTENT_STORAGE\n#define HOSTENT_STORAGE\n#else\n#define HOSTENT_STORAGE static\n#endif /* LWIP_DNS_API_STATIC_HOSTENT */\n\n/**\n * Returns an entry containing addresses of address family AF_INET\n * for the host with name name.\n * Due to dns_gethostbyname limitations, only one address is returned.\n *\n * @param name the hostname to resolve\n * @return an entry containing addresses of address family AF_INET\n *         for the host with name name\n */\nstruct hostent*\nlwip_gethostbyname(const char *name)\n{\n  err_t err;\n  ip_addr_t addr;\n\n  /* buffer variables for lwip_gethostbyname() */\n  HOSTENT_STORAGE struct hostent s_hostent;\n  HOSTENT_STORAGE char *s_aliases;\n  HOSTENT_STORAGE ip_addr_t s_hostent_addr;\n  HOSTENT_STORAGE ip_addr_t *s_phostent_addr[2];\n\n  /* query host IP address */\n  err = netconn_gethostbyname(name, &addr);\n  if (err != ERR_OK) {\n    LWIP_DEBUGF(DNS_DEBUG, (\"lwip_gethostbyname(%s) failed, err=%d\\n\", name, err));\n    h_errno = HOST_NOT_FOUND;\n    return NULL;\n  }\n\n  /* fill hostent */\n  s_hostent_addr = addr;\n  s_phostent_addr[0] = &s_hostent_addr;\n  s_phostent_addr[1] = NULL;\n  s_hostent.h_name = (char*)name;\n  s_hostent.h_aliases = &s_aliases;\n  s_hostent.h_addrtype = AF_INET;\n  s_hostent.h_length = sizeof(ip_addr_t);\n  s_hostent.h_addr_list = (char**)&s_phostent_addr;\n\n#if DNS_DEBUG\n  /* dump hostent */\n  LWIP_DEBUGF(DNS_DEBUG, (\"hostent.h_name           == %s\\n\", s_hostent.h_name));\n  LWIP_DEBUGF(DNS_DEBUG, (\"hostent.h_aliases        == %p\\n\", s_hostent.h_aliases));\n  if (s_hostent.h_aliases != NULL) {\n    u8_t idx;\n    for ( idx=0; s_hostent.h_aliases[idx]; idx++) {\n      LWIP_DEBUGF(DNS_DEBUG, (\"hostent.h_aliases[%i]->   == %p\\n\", idx, s_hostent.h_aliases[idx]));\n      LWIP_DEBUGF(DNS_DEBUG, (\"hostent.h_aliases[%i]->   == %s\\n\", idx, s_hostent.h_aliases[idx]));\n    }\n  }\n  LWIP_DEBUGF(DNS_DEBUG, (\"hostent.h_addrtype       == %d\\n\", s_hostent.h_addrtype));\n  LWIP_DEBUGF(DNS_DEBUG, (\"hostent.h_length         == %d\\n\", s_hostent.h_length));\n  LWIP_DEBUGF(DNS_DEBUG, (\"hostent.h_addr_list      == %p\\n\", s_hostent.h_addr_list));\n  if (s_hostent.h_addr_list != NULL) {\n    u8_t idx;\n    for ( idx=0; s_hostent.h_addr_list[idx]; idx++) {\n      LWIP_DEBUGF(DNS_DEBUG, (\"hostent.h_addr_list[%i]   == %p\\n\", idx, s_hostent.h_addr_list[idx]));\n      LWIP_DEBUGF(DNS_DEBUG, (\"hostent.h_addr_list[%i]-> == %s\\n\", idx, ip_ntoa((ip_addr_t*)s_hostent.h_addr_list[idx])));\n    }\n  }\n#endif /* DNS_DEBUG */\n\n#if LWIP_DNS_API_HOSTENT_STORAGE\n  /* this function should return the \"per-thread\" hostent after copy from s_hostent */\n  return sys_thread_hostent(&s_hostent);\n#else\n  return &s_hostent;\n#endif /* LWIP_DNS_API_HOSTENT_STORAGE */\n}\n\n/**\n * Thread-safe variant of lwip_gethostbyname: instead of using a static\n * buffer, this function takes buffer and errno pointers as arguments\n * and uses these for the result.\n *\n * @param name the hostname to resolve\n * @param ret pre-allocated struct where to store the result\n * @param buf pre-allocated buffer where to store additional data\n * @param buflen the size of buf\n * @param result pointer to a hostent pointer that is set to ret on success\n *               and set to zero on error\n * @param h_errnop pointer to an int where to store errors (instead of modifying\n *                 the global h_errno)\n * @return 0 on success, non-zero on error, additional error information\n *         is stored in *h_errnop instead of h_errno to be thread-safe\n */\nint\nlwip_gethostbyname_r(const char *name, struct hostent *ret, char *buf,\n                size_t buflen, struct hostent **result, int *h_errnop)\n{\n  err_t err;\n  struct gethostbyname_r_helper *h;\n  char *hostname;\n  size_t namelen;\n  int lh_errno;\n\n  if (h_errnop == NULL) {\n    /* ensure h_errnop is never NULL */\n    h_errnop = &lh_errno;\n  }\n\n  if (result == NULL) {\n    /* not all arguments given */\n    *h_errnop = EINVAL;\n    return -1;\n  }\n  /* first thing to do: set *result to nothing */\n  *result = NULL;\n  if ((name == NULL) || (ret == NULL) || (buf == NULL)) {\n    /* not all arguments given */\n    *h_errnop = EINVAL;\n    return -1;\n  }\n\n  namelen = strlen(name);\n  if (buflen < (sizeof(struct gethostbyname_r_helper) + namelen + 1 + (MEM_ALIGNMENT - 1))) {\n    /* buf can't hold the data needed + a copy of name */\n    *h_errnop = ERANGE;\n    return -1;\n  }\n\n  h = (struct gethostbyname_r_helper*)LWIP_MEM_ALIGN(buf);\n  hostname = ((char*)h) + sizeof(struct gethostbyname_r_helper);\n\n  /* query host IP address */\n  err = netconn_gethostbyname(name, &h->addr);\n  if (err != ERR_OK) {\n    LWIP_DEBUGF(DNS_DEBUG, (\"lwip_gethostbyname(%s) failed, err=%d\\n\", name, err));\n    *h_errnop = HOST_NOT_FOUND;\n    return -1;\n  }\n\n  /* copy the hostname into buf */\n  MEMCPY(hostname, name, namelen);\n  hostname[namelen] = 0;\n\n  /* fill hostent */\n  h->addr_list[0] = &h->addr;\n  h->addr_list[1] = NULL;\n  h->aliases = NULL;\n  ret->h_name = hostname;\n  ret->h_aliases = &h->aliases;\n  ret->h_addrtype = AF_INET;\n  ret->h_length = sizeof(ip_addr_t);\n  ret->h_addr_list = (char**)&h->addr_list;\n\n  /* set result != NULL */\n  *result = ret;\n\n  /* return success */\n  return 0;\n}\n\n/**\n * Frees one or more addrinfo structures returned by getaddrinfo(), along with\n * any additional storage associated with those structures. If the ai_next field\n * of the structure is not null, the entire list of structures is freed.\n *\n * @param ai struct addrinfo to free\n */\nvoid\nlwip_freeaddrinfo(struct addrinfo *ai)\n{\n  struct addrinfo *next;\n\n  while (ai != NULL) {\n    next = ai->ai_next;\n    memp_free(MEMP_NETDB, ai);\n    ai = next;\n  }\n}\n\n/**\n * Translates the name of a service location (for example, a host name) and/or\n * a service name and returns a set of socket addresses and associated\n * information to be used in creating a socket with which to address the\n * specified service.\n * Memory for the result is allocated internally and must be freed by calling\n * lwip_freeaddrinfo()!\n *\n * Due to a limitation in dns_gethostbyname, only the first address of a\n * host is returned.\n * Also, service names are not supported (only port numbers)!\n *\n * @param nodename descriptive name or address string of the host\n *                 (may be NULL -> local address)\n * @param servname port number as string of NULL \n * @param hints structure containing input values that set socktype and protocol\n * @param res pointer to a pointer where to store the result (set to NULL on failure)\n * @return 0 on success, non-zero on failure\n */\nint\nlwip_getaddrinfo(const char *nodename, const char *servname,\n       const struct addrinfo *hints, struct addrinfo **res)\n{\n  err_t err;\n  ip_addr_t addr;\n  struct addrinfo *ai;\n  struct sockaddr_in *sa = NULL;\n  int port_nr = 0;\n  size_t total_size;\n  size_t namelen = 0;\n\n  if (res == NULL) {\n    return EAI_FAIL;\n  }\n  *res = NULL;\n  if ((nodename == NULL) && (servname == NULL)) {\n    return EAI_NONAME;\n  }\n\n  if (servname != NULL) {\n    /* service name specified: convert to port number\n     * @todo?: currently, only ASCII integers (port numbers) are supported! */\n    port_nr = atoi(servname);\n    if ((port_nr <= 0) || (port_nr > 0xffff)) {\n      return EAI_SERVICE;\n    }\n  }\n\n  if (nodename != NULL) {\n    /* service location specified, try to resolve */\n    err = netconn_gethostbyname(nodename, &addr);\n    if (err != ERR_OK) {\n      return EAI_FAIL;\n    }\n  } else {\n    /* service location specified, use loopback address */\n    ip_addr_set_loopback(&addr);\n  }\n\n  total_size = sizeof(struct addrinfo) + sizeof(struct sockaddr_in);\n  if (nodename != NULL) {\n    namelen = strlen(nodename);\n    LWIP_ASSERT(\"namelen is too long\", (namelen + 1) <= (mem_size_t)-1);\n    total_size += namelen + 1;\n  }\n  /* If this fails, please report to lwip-devel! :-) */\n  LWIP_ASSERT(\"total_size <= NETDB_ELEM_SIZE: please report this!\",\n    total_size <= NETDB_ELEM_SIZE);\n  ai = (struct addrinfo *)memp_malloc(MEMP_NETDB);\n  if (ai == NULL) {\n    goto memerr;\n  }\n  memset(ai, 0, total_size);\n  sa = (struct sockaddr_in*)((u8_t*)ai + sizeof(struct addrinfo));\n  /* set up sockaddr */\n  inet_addr_from_ipaddr(&sa->sin_addr, &addr);\n  sa->sin_family = AF_INET;\n  sa->sin_len = sizeof(struct sockaddr_in);\n  sa->sin_port = htons((u16_t)port_nr);\n\n  /* set up addrinfo */\n  ai->ai_family = AF_INET;\n  if (hints != NULL) {\n    /* copy socktype & protocol from hints if specified */\n    ai->ai_socktype = hints->ai_socktype;\n    ai->ai_protocol = hints->ai_protocol;\n  }\n  if (nodename != NULL) {\n    /* copy nodename to canonname if specified */\n    ai->ai_canonname = ((char*)ai + sizeof(struct addrinfo) + sizeof(struct sockaddr_in));\n    MEMCPY(ai->ai_canonname, nodename, namelen);\n    ai->ai_canonname[namelen] = 0;\n  }\n  ai->ai_addrlen = sizeof(struct sockaddr_in);\n  ai->ai_addr = (struct sockaddr*)sa;\n\n  *res = ai;\n\n  return 0;\nmemerr:\n  if (ai != NULL) {\n    memp_free(MEMP_NETDB, ai);\n  }\n  return EAI_MEMORY;\n}\n\n#endif /* LWIP_DNS && LWIP_SOCKET */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/api/netifapi.c",
    "content": "/**\n * @file\n * Network Interface Sequential API module\n *\n */\n\n/*\n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_NETIF_API /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/netifapi.h\"\n#include \"lwip/tcpip.h\"\n\n/**\n * Call netif_add() inside the tcpip_thread context.\n */\nvoid\ndo_netifapi_netif_add(struct netifapi_msg_msg *msg)\n{\n  if (!netif_add( msg->netif,\n                  msg->msg.add.ipaddr,\n                  msg->msg.add.netmask,\n                  msg->msg.add.gw,\n                  msg->msg.add.state,\n                  msg->msg.add.init,\n                  msg->msg.add.input)) {\n    msg->err = ERR_IF;\n  } else {\n    msg->err = ERR_OK;\n  }\n  TCPIP_NETIFAPI_ACK(msg);\n}\n\n/**\n * Call netif_set_addr() inside the tcpip_thread context.\n */\nvoid\ndo_netifapi_netif_set_addr(struct netifapi_msg_msg *msg)\n{\n  netif_set_addr( msg->netif,\n                  msg->msg.add.ipaddr,\n                  msg->msg.add.netmask,\n                  msg->msg.add.gw);\n  msg->err = ERR_OK;\n  TCPIP_NETIFAPI_ACK(msg);\n}\n\n/**\n * Call the \"errtfunc\" (or the \"voidfunc\" if \"errtfunc\" is NULL) inside the\n * tcpip_thread context.\n */\nvoid\ndo_netifapi_netif_common(struct netifapi_msg_msg *msg)\n{\n  if (msg->msg.common.errtfunc != NULL) {\n    msg->err = msg->msg.common.errtfunc(msg->netif);\n  } else {\n    msg->err = ERR_OK;\n    msg->msg.common.voidfunc(msg->netif);\n  }\n  TCPIP_NETIFAPI_ACK(msg);\n}\n\n/**\n * Call netif_add() in a thread-safe way by running that function inside the\n * tcpip_thread context.\n *\n * @note for params @see netif_add()\n */\nerr_t\nnetifapi_netif_add(struct netif *netif,\n                   ip_addr_t *ipaddr,\n                   ip_addr_t *netmask,\n                   ip_addr_t *gw,\n                   void *state,\n                   netif_init_fn init,\n                   netif_input_fn input)\n{\n  struct netifapi_msg msg;\n  msg.function = do_netifapi_netif_add;\n  msg.msg.netif = netif;\n  msg.msg.msg.add.ipaddr  = ipaddr;\n  msg.msg.msg.add.netmask = netmask;\n  msg.msg.msg.add.gw      = gw;\n  msg.msg.msg.add.state   = state;\n  msg.msg.msg.add.init    = init;\n  msg.msg.msg.add.input   = input;\n  TCPIP_NETIFAPI(&msg);\n  return msg.msg.err;\n}\n\n/**\n * Call netif_set_addr() in a thread-safe way by running that function inside the\n * tcpip_thread context.\n *\n * @note for params @see netif_set_addr()\n */\nerr_t\nnetifapi_netif_set_addr(struct netif *netif,\n                        ip_addr_t *ipaddr,\n                        ip_addr_t *netmask,\n                        ip_addr_t *gw)\n{\n  struct netifapi_msg msg;\n  msg.function = do_netifapi_netif_set_addr;\n  msg.msg.netif = netif;\n  msg.msg.msg.add.ipaddr  = ipaddr;\n  msg.msg.msg.add.netmask = netmask;\n  msg.msg.msg.add.gw      = gw;\n  TCPIP_NETIFAPI(&msg);\n  return msg.msg.err;\n}\n\n/**\n * call the \"errtfunc\" (or the \"voidfunc\" if \"errtfunc\" is NULL) in a thread-safe\n * way by running that function inside the tcpip_thread context.\n *\n * @note use only for functions where there is only \"netif\" parameter.\n */\nerr_t\nnetifapi_netif_common(struct netif *netif, netifapi_void_fn voidfunc,\n                       netifapi_errt_fn errtfunc)\n{\n  struct netifapi_msg msg;\n  msg.function = do_netifapi_netif_common;\n  msg.msg.netif = netif;\n  msg.msg.msg.common.voidfunc = voidfunc;\n  msg.msg.msg.common.errtfunc = errtfunc;\n  TCPIP_NETIFAPI(&msg);\n  return msg.msg.err;\n}\n\n#endif /* LWIP_NETIF_API */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/api/sockets.c",
    "content": "/**\n * @file\n * Sockets BSD-Like API module\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n * Improved by Marc Boucher <marc@mbsi.ca> and David Haas <dhaas@alum.rpi.edu>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/sockets.h\"\n#include \"lwip/api.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/igmp.h\"\n#include \"lwip/inet.h\"\n#include \"lwip/tcp.h\"\n#include \"lwip/raw.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/tcpip.h\"\n#include \"lwip/pbuf.h\"\n#if LWIP_CHECKSUM_ON_COPY\n#include \"lwip/inet_chksum.h\"\n#endif\n\n#include <string.h>\n\n#define NUM_SOCKETS MEMP_NUM_NETCONN\n\n/** Contains all internal pointers and states used for a socket */\nstruct lwip_sock {\n  /** sockets currently are built on netconns, each socket has one netconn */\n  struct netconn *conn;\n  /** data that was left from the previous read */\n  void *lastdata;\n  /** offset in the data that was left from the previous read */\n  u16_t lastoffset;\n  /** number of times data was received, set by event_callback(),\n      tested by the receive and select functions */\n  s16_t rcvevent;\n  /** number of times data was ACKed (free send buffer), set by event_callback(),\n      tested by select */\n  u16_t sendevent;\n  /** error happened for this socket, set by event_callback(), tested by select */\n  u16_t errevent; \n  /** last error that occurred on this socket */\n  int err;\n  /** counter of how many threads are waiting for this socket using select */\n  int select_waiting;\n};\n\n/** Description for a task waiting in select */\nstruct lwip_select_cb {\n  /** Pointer to the next waiting task */\n  struct lwip_select_cb *next;\n  /** Pointer to the previous waiting task */\n  struct lwip_select_cb *prev;\n  /** readset passed to select */\n  fd_set *readset;\n  /** writeset passed to select */\n  fd_set *writeset;\n  /** unimplemented: exceptset passed to select */\n  fd_set *exceptset;\n  /** don't signal the same semaphore twice: set to 1 when signalled */\n  int sem_signalled;\n  /** semaphore to wake up a task waiting for select */\n  sys_sem_t sem;\n};\n\n/** This struct is used to pass data to the set/getsockopt_internal\n * functions running in tcpip_thread context (only a void* is allowed) */\nstruct lwip_setgetsockopt_data {\n  /** socket struct for which to change options */\n  struct lwip_sock *sock;\n#ifdef LWIP_DEBUG\n  /** socket index for which to change options */\n  int s;\n#endif /* LWIP_DEBUG */\n  /** level of the option to process */\n  int level;\n  /** name of the option to process */\n  int optname;\n  /** set: value to set the option to\n    * get: value of the option is stored here */\n  void *optval;\n  /** size of *optval */\n  socklen_t *optlen;\n  /** if an error occures, it is temporarily stored here */\n  err_t err;\n};\n\n/** The global array of available sockets */\nstatic struct lwip_sock sockets[NUM_SOCKETS];\n/** The global list of tasks waiting for select */\nstatic struct lwip_select_cb *select_cb_list;\n/** This counter is increased from lwip_select when the list is chagned\n    and checked in event_callback to see if it has changed. */\nstatic volatile int select_cb_ctr;\n\n/** Table to quickly map an lwIP error (err_t) to a socket error\n  * by using -err as an index */\nstatic const int err_to_errno_table[] = {\n  0,             /* ERR_OK          0      No error, everything OK. */\n  ENOMEM,        /* ERR_MEM        -1      Out of memory error.     */\n  ENOBUFS,       /* ERR_BUF        -2      Buffer error.            */\n  EWOULDBLOCK,   /* ERR_TIMEOUT    -3      Timeout                  */\n  EHOSTUNREACH,  /* ERR_RTE        -4      Routing problem.         */\n  EINPROGRESS,   /* ERR_INPROGRESS -5      Operation in progress    */\n  EINVAL,        /* ERR_VAL        -6      Illegal value.           */\n  EWOULDBLOCK,   /* ERR_WOULDBLOCK -7      Operation would block.   */\n  EADDRINUSE,    /* ERR_USE        -8      Address in use.          */\n  EALREADY,      /* ERR_ISCONN     -9      Already connected.       */\n  ECONNABORTED,  /* ERR_ABRT       -10     Connection aborted.      */\n  ECONNRESET,    /* ERR_RST        -11     Connection reset.        */\n  ENOTCONN,      /* ERR_CLSD       -12     Connection closed.       */\n  ENOTCONN,      /* ERR_CONN       -13     Not connected.           */\n  EIO,           /* ERR_ARG        -14     Illegal argument.        */\n  -1,            /* ERR_IF         -15     Low-level netif error    */\n};\n\n#define ERR_TO_ERRNO_TABLE_SIZE \\\n  (sizeof(err_to_errno_table)/sizeof(err_to_errno_table[0]))\n\n#define err_to_errno(err) \\\n  ((unsigned)(-(err)) < ERR_TO_ERRNO_TABLE_SIZE ? \\\n    err_to_errno_table[-(err)] : EIO)\n\n#ifdef ERRNO\n#ifndef set_errno\n#define set_errno(err) errno = (err)\n#endif\n#else /* ERRNO */\n#define set_errno(err)\n#endif /* ERRNO */\n\n#define sock_set_errno(sk, e) do { \\\n  sk->err = (e); \\\n  set_errno(sk->err); \\\n} while (0)\n\n/* Forward delcaration of some functions */\nstatic void event_callback(struct netconn *conn, enum netconn_evt evt, u16_t len);\nstatic void lwip_getsockopt_internal(void *arg);\nstatic void lwip_setsockopt_internal(void *arg);\n\n/**\n * Initialize this module. This function has to be called before any other\n * functions in this module!\n */\nvoid\nlwip_socket_init(void)\n{\n}\n\n/**\n * Map a externally used socket index to the internal socket representation.\n *\n * @param s externally used socket index\n * @return struct lwip_sock for the socket or NULL if not found\n */\nstatic struct lwip_sock *\nget_socket(int s)\n{\n  struct lwip_sock *sock;\n\n  if ((s < 0) || (s >= NUM_SOCKETS)) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"get_socket(%d): invalid\\n\", s));\n    set_errno(EBADF);\n    return NULL;\n  }\n\n  sock = &sockets[s];\n\n  if (!sock->conn) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"get_socket(%d): not active\\n\", s));\n    set_errno(EBADF);\n    return NULL;\n  }\n\n  return sock;\n}\n\n/**\n * Same as get_socket but doesn't set errno\n *\n * @param s externally used socket index\n * @return struct lwip_sock for the socket or NULL if not found\n */\nstatic struct lwip_sock *\ntryget_socket(int s)\n{\n  if ((s < 0) || (s >= NUM_SOCKETS)) {\n    return NULL;\n  }\n  if (!sockets[s].conn) {\n    return NULL;\n  }\n  return &sockets[s];\n}\n\n/**\n * Allocate a new socket for a given netconn.\n *\n * @param newconn the netconn for which to allocate a socket\n * @param accepted 1 if socket has been created by accept(),\n *                 0 if socket has been created by socket()\n * @return the index of the new socket; -1 on error\n */\nstatic int\nalloc_socket(struct netconn *newconn, int accepted)\n{\n  int i;\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  /* allocate a new socket identifier */\n  for (i = 0; i < NUM_SOCKETS; ++i) {\n    /* Protect socket array */\n    SYS_ARCH_PROTECT(lev);\n    if (!sockets[i].conn) {\n      sockets[i].conn       = newconn;\n      /* The socket is not yet known to anyone, so no need to protect\n         after having marked it as used. */\n      SYS_ARCH_UNPROTECT(lev);\n      sockets[i].lastdata   = NULL;\n      sockets[i].lastoffset = 0;\n      sockets[i].rcvevent   = 0;\n      /* TCP sendbuf is empty, but the socket is not yet writable until connected\n       * (unless it has been created by accept()). */\n      sockets[i].sendevent  = (newconn->type == NETCONN_TCP ? (accepted != 0) : 1);\n      sockets[i].errevent   = 0;\n      sockets[i].err        = 0;\n      sockets[i].select_waiting = 0;\n      return i;\n    }\n    SYS_ARCH_UNPROTECT(lev);\n  }\n  return -1;\n}\n\n/** Free a socket. The socket's netconn must have been\n * delete before!\n *\n * @param sock the socket to free\n * @param is_tcp != 0 for TCP sockets, used to free lastdata\n */\nstatic void\nfree_socket(struct lwip_sock *sock, int is_tcp)\n{\n  void *lastdata;\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  lastdata         = sock->lastdata;\n  sock->lastdata   = NULL;\n  sock->lastoffset = 0;\n  sock->err        = 0;\n\n  /* Protect socket array */\n  SYS_ARCH_PROTECT(lev);\n  sock->conn       = NULL;\n  SYS_ARCH_UNPROTECT(lev);\n  /* don't use 'sock' after this line, as another task might have allocated it */\n\n  if (lastdata != NULL) {\n    if (is_tcp) {\n      pbuf_free((struct pbuf *)lastdata);\n    } else {\n      netbuf_delete((struct netbuf *)lastdata);\n    }\n  }\n}\n\n/* Below this, the well-known socket functions are implemented.\n * Use google.com or opengroup.org to get a good description :-)\n *\n * Exceptions are documented!\n */\n\nint\nlwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen)\n{\n  struct lwip_sock *sock, *nsock;\n  struct netconn *newconn;\n  ip_addr_t naddr;\n  u16_t port;\n  int newsock;\n  struct sockaddr_in sin;\n  err_t err;\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_accept(%d)...\\n\", s));\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  if (netconn_is_nonblocking(sock->conn) && (sock->rcvevent <= 0)) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_accept(%d): returning EWOULDBLOCK\\n\", s));\n    sock_set_errno(sock, EWOULDBLOCK);\n    return -1;\n  }\n\n  /* wait for a new connection */\n  err = netconn_accept(sock->conn, &newconn);\n  if (err != ERR_OK) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_accept(%d): netconn_acept failed, err=%d\\n\", s, err));\n    if (netconn_type(sock->conn) != NETCONN_TCP) {\n      sock_set_errno(sock, EOPNOTSUPP);\n      return EOPNOTSUPP;\n    }\n    sock_set_errno(sock, err_to_errno(err));\n    return -1;\n  }\n  LWIP_ASSERT(\"newconn != NULL\", newconn != NULL);\n  /* Prevent automatic window updates, we do this on our own! */\n  netconn_set_noautorecved(newconn, 1);\n\n  /* get the IP address and port of the remote host */\n  err = netconn_peer(newconn, &naddr, &port);\n  if (err != ERR_OK) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_accept(%d): netconn_peer failed, err=%d\\n\", s, err));\n    netconn_delete(newconn);\n    sock_set_errno(sock, err_to_errno(err));\n    return -1;\n  }\n\n  /* Note that POSIX only requires us to check addr is non-NULL. addrlen must\n   * not be NULL if addr is valid.\n   */\n  if (NULL != addr) {\n    LWIP_ASSERT(\"addr valid but addrlen NULL\", addrlen != NULL);\n    memset(&sin, 0, sizeof(sin));\n    sin.sin_len = sizeof(sin);\n    sin.sin_family = AF_INET;\n    sin.sin_port = htons(port);\n    inet_addr_from_ipaddr(&sin.sin_addr, &naddr);\n\n    if (*addrlen > sizeof(sin))\n      *addrlen = sizeof(sin);\n\n    MEMCPY(addr, &sin, *addrlen);\n  }\n\n  newsock = alloc_socket(newconn, 1);\n  if (newsock == -1) {\n    netconn_delete(newconn);\n    sock_set_errno(sock, ENFILE);\n    return -1;\n  }\n  LWIP_ASSERT(\"invalid socket index\", (newsock >= 0) && (newsock < NUM_SOCKETS));\n  LWIP_ASSERT(\"newconn->callback == event_callback\", newconn->callback == event_callback);\n  nsock = &sockets[newsock];\n\n  /* See event_callback: If data comes in right away after an accept, even\n   * though the server task might not have created a new socket yet.\n   * In that case, newconn->socket is counted down (newconn->socket--),\n   * so nsock->rcvevent is >= 1 here!\n   */\n  SYS_ARCH_PROTECT(lev);\n  nsock->rcvevent += (s16_t)(-1 - newconn->socket);\n  newconn->socket = newsock;\n  SYS_ARCH_UNPROTECT(lev);\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_accept(%d) returning new sock=%d addr=\", s, newsock));\n  ip_addr_debug_print(SOCKETS_DEBUG, &naddr);\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\" port=%\"U16_F\"\\n\", port));\n\n  sock_set_errno(sock, 0);\n  return newsock;\n}\n\nint\nlwip_bind(int s, const struct sockaddr *name, socklen_t namelen)\n{\n  struct lwip_sock *sock;\n  ip_addr_t local_addr;\n  u16_t local_port;\n  err_t err;\n  const struct sockaddr_in *name_in;\n\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  /* check size, familiy and alignment of 'name' */\n  LWIP_ERROR(\"lwip_bind: invalid address\", ((namelen == sizeof(struct sockaddr_in)) &&\n             ((name->sa_family) == AF_INET) && ((((mem_ptr_t)name) % 4) == 0)),\n             sock_set_errno(sock, err_to_errno(ERR_ARG)); return -1;);\n  name_in = (const struct sockaddr_in *)(void*)name;\n\n  inet_addr_to_ipaddr(&local_addr, &name_in->sin_addr);\n  local_port = name_in->sin_port;\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_bind(%d, addr=\", s));\n  ip_addr_debug_print(SOCKETS_DEBUG, &local_addr);\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\" port=%\"U16_F\")\\n\", ntohs(local_port)));\n\n  err = netconn_bind(sock->conn, &local_addr, ntohs(local_port));\n\n  if (err != ERR_OK) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_bind(%d) failed, err=%d\\n\", s, err));\n    sock_set_errno(sock, err_to_errno(err));\n    return -1;\n  }\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_bind(%d) succeeded\\n\", s));\n  sock_set_errno(sock, 0);\n  return 0;\n}\n\nint\nlwip_close(int s)\n{\n  struct lwip_sock *sock;\n  int is_tcp = 0;\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_close(%d)\\n\", s));\n\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  if(sock->conn != NULL) {\n    is_tcp = netconn_type(sock->conn) == NETCONN_TCP;\n  } else {\n    LWIP_ASSERT(\"sock->lastdata == NULL\", sock->lastdata == NULL);\n  }\n\n  netconn_delete(sock->conn);\n\n  free_socket(sock, is_tcp);\n  set_errno(0);\n  return 0;\n}\n\nint\nlwip_connect(int s, const struct sockaddr *name, socklen_t namelen)\n{\n  struct lwip_sock *sock;\n  err_t err;\n  const struct sockaddr_in *name_in;\n\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  /* check size, familiy and alignment of 'name' */\n  LWIP_ERROR(\"lwip_connect: invalid address\", ((namelen == sizeof(struct sockaddr_in)) &&\n             ((name->sa_family) == AF_INET) && ((((mem_ptr_t)name) % 4) == 0)),\n             sock_set_errno(sock, err_to_errno(ERR_ARG)); return -1;);\n  name_in = (const struct sockaddr_in *)(void*)name;\n\n  if (name_in->sin_family == AF_UNSPEC) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_connect(%d, AF_UNSPEC)\\n\", s));\n    err = netconn_disconnect(sock->conn);\n  } else {\n    ip_addr_t remote_addr;\n    u16_t remote_port;\n\n    inet_addr_to_ipaddr(&remote_addr, &name_in->sin_addr);\n    remote_port = name_in->sin_port;\n\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_connect(%d, addr=\", s));\n    ip_addr_debug_print(SOCKETS_DEBUG, &remote_addr);\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\" port=%\"U16_F\")\\n\", ntohs(remote_port)));\n\n    err = netconn_connect(sock->conn, &remote_addr, ntohs(remote_port));\n  }\n\n  if (err != ERR_OK) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_connect(%d) failed, err=%d\\n\", s, err));\n    sock_set_errno(sock, err_to_errno(err));\n    return -1;\n  }\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_connect(%d) succeeded\\n\", s));\n  sock_set_errno(sock, 0);\n  return 0;\n}\n\n/**\n * Set a socket into listen mode.\n * The socket may not have been used for another connection previously.\n *\n * @param s the socket to set to listening mode\n * @param backlog (ATTENTION: needs TCP_LISTEN_BACKLOG=1)\n * @return 0 on success, non-zero on failure\n */\nint\nlwip_listen(int s, int backlog)\n{\n  struct lwip_sock *sock;\n  err_t err;\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_listen(%d, backlog=%d)\\n\", s, backlog));\n\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  /* limit the \"backlog\" parameter to fit in an u8_t */\n  backlog = LWIP_MIN(LWIP_MAX(backlog, 0), 0xff);\n\n  err = netconn_listen_with_backlog(sock->conn, (u8_t)backlog);\n\n  if (err != ERR_OK) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_listen(%d) failed, err=%d\\n\", s, err));\n    if (netconn_type(sock->conn) != NETCONN_TCP) {\n      sock_set_errno(sock, EOPNOTSUPP);\n      return EOPNOTSUPP;\n    }\n    sock_set_errno(sock, err_to_errno(err));\n    return -1;\n  }\n\n  sock_set_errno(sock, 0);\n  return 0;\n}\n\nint\nlwip_recvfrom(int s, void *mem, size_t len, int flags,\n        struct sockaddr *from, socklen_t *fromlen)\n{\n  struct lwip_sock *sock;\n  void             *buf = NULL;\n  struct pbuf      *p;\n  u16_t            buflen, copylen;\n  int              off = 0;\n  ip_addr_t        *addr;\n  u16_t            port;\n  u8_t             done = 0;\n  err_t            err;\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom(%d, %p, %\"SZT_F\", 0x%x, ..)\\n\", s, mem, len, flags));\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  do {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom: top while sock->lastdata=%p\\n\", sock->lastdata));\n    /* Check if there is data left from the last recv operation. */\n    if (sock->lastdata) {\n      buf = sock->lastdata;\n    } else {\n      /* If this is non-blocking call, then check first */\n      if (((flags & MSG_DONTWAIT) || netconn_is_nonblocking(sock->conn)) && \n          (sock->rcvevent <= 0)) {\n        if (off > 0) {\n          /* update receive window */\n          netconn_recved(sock->conn, (u32_t)off);\n          /* already received data, return that */\n          sock_set_errno(sock, 0);\n          return off;\n        }\n        LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom(%d): returning EWOULDBLOCK\\n\", s));\n        sock_set_errno(sock, EWOULDBLOCK);\n        return -1;\n      }\n\n      /* No data was left from the previous operation, so we try to get\n         some from the network. */\n      if (netconn_type(sock->conn) == NETCONN_TCP) {\n        err = netconn_recv_tcp_pbuf(sock->conn, (struct pbuf **)&buf);\n      } else {\n        err = netconn_recv(sock->conn, (struct netbuf **)&buf);\n      }\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom: netconn_recv err=%d, netbuf=%p\\n\",\n        err, buf));\n\n      if (err != ERR_OK) {\n        if (off > 0) {\n          /* update receive window */\n          netconn_recved(sock->conn, (u32_t)off);\n          /* already received data, return that */\n          sock_set_errno(sock, 0);\n          return off;\n        }\n        /* We should really do some error checking here. */\n        LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom(%d): buf == NULL, error is \\\"%s\\\"!\\n\",\n          s, lwip_strerr(err)));\n        sock_set_errno(sock, err_to_errno(err));\n        if (err == ERR_CLSD) {\n          return 0;\n        } else {\n          return -1;\n        }\n      }\n      LWIP_ASSERT(\"buf != NULL\", buf != NULL);\n      sock->lastdata = buf;\n    }\n\n    if (netconn_type(sock->conn) == NETCONN_TCP) {\n      p = (struct pbuf *)buf;\n    } else {\n      p = ((struct netbuf *)buf)->p;\n    }\n    buflen = p->tot_len;\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom: buflen=%\"U16_F\" len=%\"SZT_F\" off=%d sock->lastoffset=%\"U16_F\"\\n\",\n      buflen, len, off, sock->lastoffset));\n\n    buflen -= sock->lastoffset;\n\n    if (len > buflen) {\n      copylen = buflen;\n    } else {\n      copylen = (u16_t)len;\n    }\n\n    /* copy the contents of the received buffer into\n    the supplied memory pointer mem */\n    pbuf_copy_partial(p, (u8_t*)mem + off, copylen, sock->lastoffset);\n\n    off += copylen;\n\n    if (netconn_type(sock->conn) == NETCONN_TCP) {\n      LWIP_ASSERT(\"invalid copylen, len would underflow\", len >= copylen);\n      len -= copylen;\n      if ( (len <= 0) || \n           (p->flags & PBUF_FLAG_PUSH) || \n           (sock->rcvevent <= 0) || \n           ((flags & MSG_PEEK)!=0)) {\n        done = 1;\n      }\n    } else {\n      done = 1;\n    }\n\n    /* Check to see from where the data was.*/\n    if (done) {\n      ip_addr_t fromaddr;\n      if (from && fromlen) {\n        struct sockaddr_in sin;\n\n        if (netconn_type(sock->conn) == NETCONN_TCP) {\n          addr = &fromaddr;\n          netconn_getaddr(sock->conn, addr, &port, 0);\n        } else {\n          addr = netbuf_fromaddr((struct netbuf *)buf);\n          port = netbuf_fromport((struct netbuf *)buf);\n        }\n\n        memset(&sin, 0, sizeof(sin));\n        sin.sin_len = sizeof(sin);\n        sin.sin_family = AF_INET;\n        sin.sin_port = htons(port);\n        inet_addr_from_ipaddr(&sin.sin_addr, addr);\n\n        if (*fromlen > sizeof(sin)) {\n          *fromlen = sizeof(sin);\n        }\n\n        MEMCPY(from, &sin, *fromlen);\n\n        LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom(%d): addr=\", s));\n        ip_addr_debug_print(SOCKETS_DEBUG, addr);\n        LWIP_DEBUGF(SOCKETS_DEBUG, (\" port=%\"U16_F\" len=%d\\n\", port, off));\n      } else {\n#if SOCKETS_DEBUG\n        if (netconn_type(sock->conn) == NETCONN_TCP) {\n          addr = &fromaddr;\n          netconn_getaddr(sock->conn, addr, &port, 0);\n        } else {\n          addr = netbuf_fromaddr((struct netbuf *)buf);\n          port = netbuf_fromport((struct netbuf *)buf);\n        }\n\n        LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom(%d): addr=\", s));\n        ip_addr_debug_print(SOCKETS_DEBUG, addr);\n        LWIP_DEBUGF(SOCKETS_DEBUG, (\" port=%\"U16_F\" len=%d\\n\", port, off));\n#endif /*  SOCKETS_DEBUG */\n      }\n    }\n\n    /* If we don't peek the incoming message... */\n    if ((flags & MSG_PEEK) == 0) {\n      /* If this is a TCP socket, check if there is data left in the\n         buffer. If so, it should be saved in the sock structure for next\n         time around. */\n      if ((netconn_type(sock->conn) == NETCONN_TCP) && (buflen - copylen > 0)) {\n        sock->lastdata = buf;\n        sock->lastoffset += copylen;\n        LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom: lastdata now netbuf=%p\\n\", buf));\n      } else {\n        sock->lastdata = NULL;\n        sock->lastoffset = 0;\n        LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_recvfrom: deleting netbuf=%p\\n\", buf));\n        if (netconn_type(sock->conn) == NETCONN_TCP) {\n          pbuf_free((struct pbuf *)buf);\n        } else {\n          netbuf_delete((struct netbuf *)buf);\n        }\n      }\n    }\n  } while (!done);\n\n  if (off > 0) {\n    /* update receive window */\n    netconn_recved(sock->conn, (u32_t)off);\n  }\n  sock_set_errno(sock, 0);\n  return off;\n}\n\nint\nlwip_read(int s, void *mem, size_t len)\n{\n  return lwip_recvfrom(s, mem, len, 0, NULL, NULL);\n}\n\nint\nlwip_recv(int s, void *mem, size_t len, int flags)\n{\n  return lwip_recvfrom(s, mem, len, flags, NULL, NULL);\n}\n\nint\nlwip_send(int s, const void *data, size_t size, int flags)\n{\n  struct lwip_sock *sock;\n  err_t err;\n  u8_t write_flags;\n  size_t written;\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_send(%d, data=%p, size=%\"SZT_F\", flags=0x%x)\\n\",\n                              s, data, size, flags));\n\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  if (sock->conn->type != NETCONN_TCP) {\n#if (LWIP_UDP || LWIP_RAW)\n    return lwip_sendto(s, data, size, flags, NULL, 0);\n#else /* (LWIP_UDP || LWIP_RAW) */\n    sock_set_errno(sock, err_to_errno(ERR_ARG));\n    return -1;\n#endif /* (LWIP_UDP || LWIP_RAW) */\n  }\n\n  write_flags = NETCONN_COPY |\n    ((flags & MSG_MORE)     ? NETCONN_MORE      : 0) |\n    ((flags & MSG_DONTWAIT) ? NETCONN_DONTBLOCK : 0);\n  written = 0;\n  err = netconn_write_partly(sock->conn, data, size, write_flags, &written);\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_send(%d) err=%d written=%\"SZT_F\"\\n\", s, err, written));\n  sock_set_errno(sock, err_to_errno(err));\n  return (err == ERR_OK ? (int)written : -1);\n}\n\nint\nlwip_sendto(int s, const void *data, size_t size, int flags,\n       const struct sockaddr *to, socklen_t tolen)\n{\n  struct lwip_sock *sock;\n  err_t err;\n  u16_t short_size;\n  const struct sockaddr_in *to_in;\n  u16_t remote_port;\n#if !LWIP_TCPIP_CORE_LOCKING\n  struct netbuf buf;\n#endif\n\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  if (sock->conn->type == NETCONN_TCP) {\n#if LWIP_TCP\n    return lwip_send(s, data, size, flags);\n#else /* LWIP_TCP */\n    LWIP_UNUSED_ARG(flags);\n    sock_set_errno(sock, err_to_errno(ERR_ARG));\n    return -1;\n#endif /* LWIP_TCP */\n  }\n\n  /* @todo: split into multiple sendto's? */\n  LWIP_ASSERT(\"lwip_sendto: size must fit in u16_t\", size <= 0xffff);\n  short_size = (u16_t)size;\n  LWIP_ERROR(\"lwip_sendto: invalid address\", (((to == NULL) && (tolen == 0)) ||\n             ((tolen == sizeof(struct sockaddr_in)) &&\n             ((to->sa_family) == AF_INET) && ((((mem_ptr_t)to) % 4) == 0))),\n             sock_set_errno(sock, err_to_errno(ERR_ARG)); return -1;);\n  to_in = (const struct sockaddr_in *)(void*)to;\n\n#if LWIP_TCPIP_CORE_LOCKING\n  /* Should only be consider like a sample or a simple way to experiment this option (no check of \"to\" field...) */\n  {\n    struct pbuf* p;\n    ip_addr_t *remote_addr;\n\n#if LWIP_NETIF_TX_SINGLE_PBUF\n    p = pbuf_alloc(PBUF_TRANSPORT, short_size, PBUF_RAM);\n    if (p != NULL) {\n#if LWIP_CHECKSUM_ON_COPY\n      u16_t chksum = 0;\n      if (sock->conn->type != NETCONN_RAW) {\n        chksum = LWIP_CHKSUM_COPY(p->payload, data, short_size);\n      } else\n#endif /* LWIP_CHECKSUM_ON_COPY */\n      MEMCPY(p->payload, data, size);\n#else /* LWIP_NETIF_TX_SINGLE_PBUF */\n    p = pbuf_alloc(PBUF_TRANSPORT, short_size, PBUF_REF);\n    if (p != NULL) {\n      p->payload = (void*)data;\n#endif /* LWIP_NETIF_TX_SINGLE_PBUF */\n\n      if (to_in != NULL) {\n        inet_addr_to_ipaddr_p(remote_addr, &to_in->sin_addr);\n        remote_port = ntohs(to_in->sin_port);\n      } else {\n        remote_addr = &sock->conn->pcb.ip->remote_ip;\n#if LWIP_UDP\n        if (NETCONNTYPE_GROUP(sock->conn->type) == NETCONN_UDP) {\n          remote_port = sock->conn->pcb.udp->remote_port;\n        } else\n#endif /* LWIP_UDP */\n        {\n          remote_port = 0;\n        }\n      }\n\n      LOCK_TCPIP_CORE();\n      if (netconn_type(sock->conn) == NETCONN_RAW) {\n#if LWIP_RAW\n        err = sock->conn->last_err = raw_sendto(sock->conn->pcb.raw, p, remote_addr);\n#else /* LWIP_RAW */\n        err = ERR_ARG;\n#endif /* LWIP_RAW */\n      }\n#if LWIP_UDP && LWIP_RAW\n      else\n#endif /* LWIP_UDP && LWIP_RAW */\n      {\n#if LWIP_UDP\n#if LWIP_CHECKSUM_ON_COPY && LWIP_NETIF_TX_SINGLE_PBUF\n        err = sock->conn->last_err = udp_sendto_chksum(sock->conn->pcb.udp, p,\n          remote_addr, remote_port, 1, chksum);\n#else /* LWIP_CHECKSUM_ON_COPY && LWIP_NETIF_TX_SINGLE_PBUF */\n        err = sock->conn->last_err = udp_sendto(sock->conn->pcb.udp, p,\n          remote_addr, remote_port);\n#endif /* LWIP_CHECKSUM_ON_COPY && LWIP_NETIF_TX_SINGLE_PBUF */\n#else /* LWIP_UDP */\n        err = ERR_ARG;\n#endif /* LWIP_UDP */\n      }\n      UNLOCK_TCPIP_CORE();\n      \n      pbuf_free(p);\n    } else {\n      err = ERR_MEM;\n    }\n  }\n#else /* LWIP_TCPIP_CORE_LOCKING */\n  /* initialize a buffer */\n  buf.p = buf.ptr = NULL;\n#if LWIP_CHECKSUM_ON_COPY\n  buf.flags = 0;\n#endif /* LWIP_CHECKSUM_ON_COPY */\n  if (to) {\n    inet_addr_to_ipaddr(&buf.addr, &to_in->sin_addr);\n    remote_port           = ntohs(to_in->sin_port);\n    netbuf_fromport(&buf) = remote_port;\n  } else {\n    remote_port           = 0;\n    ip_addr_set_any(&buf.addr);\n    netbuf_fromport(&buf) = 0;\n  }\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_sendto(%d, data=%p, short_size=%\"U16_F\", flags=0x%x to=\",\n              s, data, short_size, flags));\n  ip_addr_debug_print(SOCKETS_DEBUG, &buf.addr);\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\" port=%\"U16_F\"\\n\", remote_port));\n\n  /* make the buffer point to the data that should be sent */\n#if LWIP_NETIF_TX_SINGLE_PBUF\n  /* Allocate a new netbuf and copy the data into it. */\n  if (netbuf_alloc(&buf, short_size) == NULL) {\n    err = ERR_MEM;\n  } else {\n#if LWIP_CHECKSUM_ON_COPY\n    if (sock->conn->type != NETCONN_RAW) {\n      u16_t chksum = LWIP_CHKSUM_COPY(buf.p->payload, data, short_size);\n      netbuf_set_chksum(&buf, chksum);\n      err = ERR_OK;\n    } else\n#endif /* LWIP_CHECKSUM_ON_COPY */\n    {\n      err = netbuf_take(&buf, data, short_size);\n    }\n  }\n#else /* LWIP_NETIF_TX_SINGLE_PBUF */\n  err = netbuf_ref(&buf, data, short_size);\n#endif /* LWIP_NETIF_TX_SINGLE_PBUF */\n  if (err == ERR_OK) {\n    /* send the data */\n    err = netconn_send(sock->conn, &buf);\n  }\n\n  /* deallocated the buffer */\n  netbuf_free(&buf);\n#endif /* LWIP_TCPIP_CORE_LOCKING */\n  sock_set_errno(sock, err_to_errno(err));\n  return (err == ERR_OK ? short_size : -1);\n}\n\nint\nlwip_socket(int domain, int type, int protocol)\n{\n  struct netconn *conn;\n  int i;\n\n  LWIP_UNUSED_ARG(domain);\n\n  /* create a netconn */\n  switch (type) {\n  case SOCK_RAW:\n    conn = netconn_new_with_proto_and_callback(NETCONN_RAW, (u8_t)protocol, event_callback);\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_socket(%s, SOCK_RAW, %d) = \",\n                                 domain == PF_INET ? \"PF_INET\" : \"UNKNOWN\", protocol));\n    break;\n  case SOCK_DGRAM:\n    conn = netconn_new_with_callback( (protocol == IPPROTO_UDPLITE) ?\n                 NETCONN_UDPLITE : NETCONN_UDP, event_callback);\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_socket(%s, SOCK_DGRAM, %d) = \",\n                                 domain == PF_INET ? \"PF_INET\" : \"UNKNOWN\", protocol));\n    break;\n  case SOCK_STREAM:\n    conn = netconn_new_with_callback(NETCONN_TCP, event_callback);\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_socket(%s, SOCK_STREAM, %d) = \",\n                                 domain == PF_INET ? \"PF_INET\" : \"UNKNOWN\", protocol));\n    if (conn != NULL) {\n      /* Prevent automatic window updates, we do this on our own! */\n      netconn_set_noautorecved(conn, 1);\n    }\n    break;\n  default:\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_socket(%d, %d/UNKNOWN, %d) = -1\\n\",\n                                 domain, type, protocol));\n    set_errno(EINVAL);\n    return -1;\n  }\n\n  if (!conn) {\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"-1 / ENOBUFS (could not create netconn)\\n\"));\n    set_errno(ENOBUFS);\n    return -1;\n  }\n\n  i = alloc_socket(conn, 0);\n\n  if (i == -1) {\n    netconn_delete(conn);\n    set_errno(ENFILE);\n    return -1;\n  }\n  conn->socket = i;\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"%d\\n\", i));\n  set_errno(0);\n  return i;\n}\n\nint\nlwip_write(int s, const void *data, size_t size)\n{\n  return lwip_send(s, data, size, 0);\n}\n\n/**\n * Go through the readset and writeset lists and see which socket of the sockets\n * set in the sets has events. On return, readset, writeset and exceptset have\n * the sockets enabled that had events.\n *\n * exceptset is not used for now!!!\n *\n * @param maxfdp1 the highest socket index in the sets\n * @param readset_in:    set of sockets to check for read events\n * @param writeset_in:   set of sockets to check for write events\n * @param exceptset_in:  set of sockets to check for error events\n * @param readset_out:   set of sockets that had read events\n * @param writeset_out:  set of sockets that had write events\n * @param exceptset_out: set os sockets that had error events\n * @return number of sockets that had events (read/write/exception) (>= 0)\n */\nstatic int\nlwip_selscan(int maxfdp1, fd_set *readset_in, fd_set *writeset_in, fd_set *exceptset_in,\n             fd_set *readset_out, fd_set *writeset_out, fd_set *exceptset_out)\n{\n  int i, nready = 0;\n  fd_set lreadset, lwriteset, lexceptset;\n  struct lwip_sock *sock;\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  FD_ZERO(&lreadset);\n  FD_ZERO(&lwriteset);\n  FD_ZERO(&lexceptset);\n\n  /* Go through each socket in each list to count number of sockets which\n     currently match */\n  for(i = 0; i < maxfdp1; i++) {\n    void* lastdata = NULL;\n    s16_t rcvevent = 0;\n    u16_t sendevent = 0;\n    u16_t errevent = 0;\n    /* First get the socket's status (protected)... */\n    SYS_ARCH_PROTECT(lev);\n    sock = tryget_socket(i);\n    if (sock != NULL) {\n      lastdata = sock->lastdata;\n      rcvevent = sock->rcvevent;\n      sendevent = sock->sendevent;\n      errevent = sock->errevent;\n    }\n    SYS_ARCH_UNPROTECT(lev);\n    /* ... then examine it: */\n    /* See if netconn of this socket is ready for read */\n    if (readset_in && FD_ISSET(i, readset_in) && ((lastdata != NULL) || (rcvevent > 0))) {\n      FD_SET(i, &lreadset);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_selscan: fd=%d ready for reading\\n\", i));\n      nready++;\n    }\n    /* See if netconn of this socket is ready for write */\n    if (writeset_in && FD_ISSET(i, writeset_in) && (sendevent != 0)) {\n      FD_SET(i, &lwriteset);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_selscan: fd=%d ready for writing\\n\", i));\n      nready++;\n    }\n    /* See if netconn of this socket had an error */\n    if (exceptset_in && FD_ISSET(i, exceptset_in) && (errevent != 0)) {\n      FD_SET(i, &lexceptset);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_selscan: fd=%d ready for exception\\n\", i));\n      nready++;\n    }\n  }\n  /* copy local sets to the ones provided as arguments */\n  *readset_out = lreadset;\n  *writeset_out = lwriteset;\n  *exceptset_out = lexceptset;\n\n  LWIP_ASSERT(\"nready >= 0\", nready >= 0);\n  return nready;\n}\n\n/**\n * Processing exceptset is not yet implemented.\n */\nint\nlwip_select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset,\n            struct timeval *timeout)\n{\n  u32_t waitres = 0;\n  int nready;\n  fd_set lreadset, lwriteset, lexceptset;\n  u32_t msectimeout;\n  struct lwip_select_cb select_cb;\n  err_t err;\n  int i;\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_select(%d, %p, %p, %p, tvsec=%\"S32_F\" tvusec=%\"S32_F\")\\n\",\n                  maxfdp1, (void *)readset, (void *) writeset, (void *) exceptset,\n                  timeout ? (s32_t)timeout->tv_sec : (s32_t)-1,\n                  timeout ? (s32_t)timeout->tv_usec : (s32_t)-1));\n\n  /* Go through each socket in each list to count number of sockets which\n     currently match */\n  nready = lwip_selscan(maxfdp1, readset, writeset, exceptset, &lreadset, &lwriteset, &lexceptset);\n\n  /* If we don't have any current events, then suspend if we are supposed to */\n  if (!nready) {\n    if (timeout && timeout->tv_sec == 0 && timeout->tv_usec == 0) {\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_select: no timeout, returning 0\\n\"));\n      /* This is OK as the local fdsets are empty and nready is zero,\n         or we would have returned earlier. */\n      goto return_copy_fdsets;\n    }\n\n    /* None ready: add our semaphore to list:\n       We don't actually need any dynamic memory. Our entry on the\n       list is only valid while we are in this function, so it's ok\n       to use local variables. */\n\n    select_cb.next = NULL;\n    select_cb.prev = NULL;\n    select_cb.readset = readset;\n    select_cb.writeset = writeset;\n    select_cb.exceptset = exceptset;\n    select_cb.sem_signalled = 0;\n    err = sys_sem_new(&select_cb.sem, 0);\n    if (err != ERR_OK) {\n      /* failed to create semaphore */\n      set_errno(ENOMEM);\n      return -1;\n    }\n\n    /* Protect the select_cb_list */\n    SYS_ARCH_PROTECT(lev);\n\n    /* Put this select_cb on top of list */\n    select_cb.next = select_cb_list;\n    if (select_cb_list != NULL) {\n      select_cb_list->prev = &select_cb;\n    }\n    select_cb_list = &select_cb;\n    /* Increasing this counter tells even_callback that the list has changed. */\n    select_cb_ctr++;\n\n    /* Now we can safely unprotect */\n    SYS_ARCH_UNPROTECT(lev);\n\n    /* Increase select_waiting for each socket we are interested in */\n    for(i = 0; i < maxfdp1; i++) {\n      if ((readset && FD_ISSET(i, readset)) ||\n          (writeset && FD_ISSET(i, writeset)) ||\n          (exceptset && FD_ISSET(i, exceptset))) {\n        struct lwip_sock *sock = tryget_socket(i);\n        LWIP_ASSERT(\"sock != NULL\", sock != NULL);\n        SYS_ARCH_PROTECT(lev);\n        sock->select_waiting++;\n        LWIP_ASSERT(\"sock->select_waiting > 0\", sock->select_waiting > 0);\n        SYS_ARCH_UNPROTECT(lev);\n      }\n    }\n\n    /* Call lwip_selscan again: there could have been events between\n       the last scan (whithout us on the list) and putting us on the list! */\n    nready = lwip_selscan(maxfdp1, readset, writeset, exceptset, &lreadset, &lwriteset, &lexceptset);\n    if (!nready) {\n      /* Still none ready, just wait to be woken */\n      if (timeout == 0) {\n        /* Wait forever */\n        msectimeout = 0;\n      } else {\n        msectimeout =  ((timeout->tv_sec * 1000) + ((timeout->tv_usec + 500)/1000));\n        if (msectimeout == 0) {\n          /* Wait 1ms at least (0 means wait forever) */\n          msectimeout = 1;\n        }\n      }\n\n      waitres = sys_arch_sem_wait(&select_cb.sem, msectimeout);\n    }\n    /* Increase select_waiting for each socket we are interested in */\n    for(i = 0; i < maxfdp1; i++) {\n      if ((readset && FD_ISSET(i, readset)) ||\n          (writeset && FD_ISSET(i, writeset)) ||\n          (exceptset && FD_ISSET(i, exceptset))) {\n        struct lwip_sock *sock = tryget_socket(i);\n        LWIP_ASSERT(\"sock != NULL\", sock != NULL);\n        SYS_ARCH_PROTECT(lev);\n        sock->select_waiting--;\n        LWIP_ASSERT(\"sock->select_waiting >= 0\", sock->select_waiting >= 0);\n        SYS_ARCH_UNPROTECT(lev);\n      }\n    }\n    /* Take us off the list */\n    SYS_ARCH_PROTECT(lev);\n    if (select_cb.next != NULL) {\n      select_cb.next->prev = select_cb.prev;\n    }\n    if (select_cb_list == &select_cb) {\n      LWIP_ASSERT(\"select_cb.prev == NULL\", select_cb.prev == NULL);\n      select_cb_list = select_cb.next;\n    } else {\n      LWIP_ASSERT(\"select_cb.prev != NULL\", select_cb.prev != NULL);\n      select_cb.prev->next = select_cb.next;\n    }\n    /* Increasing this counter tells even_callback that the list has changed. */\n    select_cb_ctr++;\n    SYS_ARCH_UNPROTECT(lev);\n\n    sys_sem_free(&select_cb.sem);\n    if (waitres == SYS_ARCH_TIMEOUT)  {\n      /* Timeout */\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_select: timeout expired\\n\"));\n      /* This is OK as the local fdsets are empty and nready is zero,\n         or we would have returned earlier. */\n      goto return_copy_fdsets;\n    }\n\n    /* See what's set */\n    nready = lwip_selscan(maxfdp1, readset, writeset, exceptset, &lreadset, &lwriteset, &lexceptset);\n  }\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_select: nready=%d\\n\", nready));\nreturn_copy_fdsets:\n  set_errno(0);\n  if (readset) {\n    *readset = lreadset;\n  }\n  if (writeset) {\n    *writeset = lwriteset;\n  }\n  if (exceptset) {\n    *exceptset = lexceptset;\n  }\n\n\n  return nready;\n}\n\n/**\n * Callback registered in the netconn layer for each socket-netconn.\n * Processes recvevent (data available) and wakes up tasks waiting for select.\n */\nstatic void\nevent_callback(struct netconn *conn, enum netconn_evt evt, u16_t len)\n{\n  int s;\n  struct lwip_sock *sock;\n  struct lwip_select_cb *scb;\n  int last_select_cb_ctr;\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  LWIP_UNUSED_ARG(len);\n\n  /* Get socket */\n  if (conn) {\n    s = conn->socket;\n    if (s < 0) {\n      /* Data comes in right away after an accept, even though\n       * the server task might not have created a new socket yet.\n       * Just count down (or up) if that's the case and we\n       * will use the data later. Note that only receive events\n       * can happen before the new socket is set up. */\n      SYS_ARCH_PROTECT(lev);\n      if (conn->socket < 0) {\n        if (evt == NETCONN_EVT_RCVPLUS) {\n          conn->socket--;\n        }\n        SYS_ARCH_UNPROTECT(lev);\n        return;\n      }\n      s = conn->socket;\n      SYS_ARCH_UNPROTECT(lev);\n    }\n\n    sock = get_socket(s);\n    if (!sock) {\n      return;\n    }\n  } else {\n    return;\n  }\n\n  SYS_ARCH_PROTECT(lev);\n  /* Set event as required */\n  switch (evt) {\n    case NETCONN_EVT_RCVPLUS:\n      sock->rcvevent++;\n      break;\n    case NETCONN_EVT_RCVMINUS:\n      sock->rcvevent--;\n      break;\n    case NETCONN_EVT_SENDPLUS:\n      sock->sendevent = 1;\n      break;\n    case NETCONN_EVT_SENDMINUS:\n      sock->sendevent = 0;\n      break;\n    case NETCONN_EVT_ERROR:\n      sock->errevent = 1;\n      break;\n    default:\n      LWIP_ASSERT(\"unknown event\", 0);\n      break;\n  }\n\n  if (sock->select_waiting == 0) {\n    /* noone is waiting for this socket, no need to check select_cb_list */\n    SYS_ARCH_UNPROTECT(lev);\n    return;\n  }\n\n  /* Now decide if anyone is waiting for this socket */\n  /* NOTE: This code goes through the select_cb_list list multiple times\n     ONLY IF a select was actually waiting. We go through the list the number\n     of waiting select calls + 1. This list is expected to be small. */\n\n  /* At this point, SYS_ARCH is still protected! */\nagain:\n  for (scb = select_cb_list; scb != NULL; scb = scb->next) {\n    if (scb->sem_signalled == 0) {\n      /* semaphore not signalled yet */\n      int do_signal = 0;\n      /* Test this select call for our socket */\n      if (sock->rcvevent > 0) {\n        if (scb->readset && FD_ISSET(s, scb->readset)) {\n          do_signal = 1;\n        }\n      }\n      if (sock->sendevent != 0) {\n        if (!do_signal && scb->writeset && FD_ISSET(s, scb->writeset)) {\n          do_signal = 1;\n        }\n      }\n      if (sock->errevent != 0) {\n        if (!do_signal && scb->exceptset && FD_ISSET(s, scb->exceptset)) {\n          do_signal = 1;\n        }\n      }\n      if (do_signal) {\n        scb->sem_signalled = 1;\n        /* Don't call SYS_ARCH_UNPROTECT() before signaling the semaphore, as this might\n           lead to the select thread taking itself off the list, invalidagin the semaphore. */\n        sys_sem_signal(&scb->sem);\n      }\n    }\n    /* unlock interrupts with each step */\n    last_select_cb_ctr = select_cb_ctr;\n    SYS_ARCH_UNPROTECT(lev);\n    /* this makes sure interrupt protection time is short */\n    SYS_ARCH_PROTECT(lev);\n    if (last_select_cb_ctr != select_cb_ctr) {\n      /* someone has changed select_cb_list, restart at the beginning */\n      goto again;\n    }\n  }\n  SYS_ARCH_UNPROTECT(lev);\n}\n\n/**\n * Unimplemented: Close one end of a full-duplex connection.\n * Currently, the full connection is closed.\n */\nint\nlwip_shutdown(int s, int how)\n{\n  struct lwip_sock *sock;\n  err_t err;\n  u8_t shut_rx = 0, shut_tx = 0;\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_shutdown(%d, how=%d)\\n\", s, how));\n\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  if (sock->conn != NULL) {\n    if (netconn_type(sock->conn) != NETCONN_TCP) {\n      sock_set_errno(sock, EOPNOTSUPP);\n      return EOPNOTSUPP;\n    }\n  } else {\n    sock_set_errno(sock, ENOTCONN);\n    return ENOTCONN;\n  }\n\n  if (how == SHUT_RD) {\n    shut_rx = 1;\n  } else if (how == SHUT_WR) {\n    shut_tx = 1;\n  } else if(how == SHUT_RDWR) {\n    shut_rx = 1;\n    shut_tx = 1;\n  } else {\n    sock_set_errno(sock, EINVAL);\n    return EINVAL;\n  }\n  err = netconn_shutdown(sock->conn, shut_rx, shut_tx);\n\n  sock_set_errno(sock, err_to_errno(err));\n  return (err == ERR_OK ? 0 : -1);\n}\n\nstatic int\nlwip_getaddrname(int s, struct sockaddr *name, socklen_t *namelen, u8_t local)\n{\n  struct lwip_sock *sock;\n  struct sockaddr_in sin;\n  ip_addr_t naddr;\n\n  sock = get_socket(s);\n  if (!sock) {\n    return -1;\n  }\n\n  memset(&sin, 0, sizeof(sin));\n  sin.sin_len = sizeof(sin);\n  sin.sin_family = AF_INET;\n\n  /* get the IP address and port */\n  netconn_getaddr(sock->conn, &naddr, &sin.sin_port, local);\n\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getaddrname(%d, addr=\", s));\n  ip_addr_debug_print(SOCKETS_DEBUG, &naddr);\n  LWIP_DEBUGF(SOCKETS_DEBUG, (\" port=%\"U16_F\")\\n\", sin.sin_port));\n\n  sin.sin_port = htons(sin.sin_port);\n  inet_addr_from_ipaddr(&sin.sin_addr, &naddr);\n\n  if (*namelen > sizeof(sin)) {\n    *namelen = sizeof(sin);\n  }\n\n  MEMCPY(name, &sin, *namelen);\n  sock_set_errno(sock, 0);\n  return 0;\n}\n\nint\nlwip_getpeername(int s, struct sockaddr *name, socklen_t *namelen)\n{\n  return lwip_getaddrname(s, name, namelen, 0);\n}\n\nint\nlwip_getsockname(int s, struct sockaddr *name, socklen_t *namelen)\n{\n  return lwip_getaddrname(s, name, namelen, 1);\n}\n\nint\nlwip_getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen)\n{\n  err_t err = ERR_OK;\n  struct lwip_sock *sock = get_socket(s);\n  struct lwip_setgetsockopt_data data;\n\n  if (!sock) {\n    return -1;\n  }\n\n  if ((NULL == optval) || (NULL == optlen)) {\n    sock_set_errno(sock, EFAULT);\n    return -1;\n  }\n\n  /* Do length and type checks for the various options first, to keep it readable. */\n  switch (level) {\n   \n/* Level: SOL_SOCKET */\n  case SOL_SOCKET:\n    switch (optname) {\n       \n    case SO_ACCEPTCONN:\n    case SO_BROADCAST:\n    /* UNIMPL case SO_DEBUG: */\n    /* UNIMPL case SO_DONTROUTE: */\n    case SO_ERROR:\n    case SO_KEEPALIVE:\n    /* UNIMPL case SO_CONTIMEO: */\n#if LWIP_SO_SNDTIMEO\n    case SO_SNDTIMEO:\n#endif /* LWIP_SO_SNDTIMEO */\n#if LWIP_SO_RCVTIMEO\n    case SO_RCVTIMEO:\n#endif /* LWIP_SO_RCVTIMEO */\n#if LWIP_SO_RCVBUF\n    case SO_RCVBUF:\n#endif /* LWIP_SO_RCVBUF */\n    /* UNIMPL case SO_OOBINLINE: */\n    /* UNIMPL case SO_SNDBUF: */\n    /* UNIMPL case SO_RCVLOWAT: */\n    /* UNIMPL case SO_SNDLOWAT: */\n#if SO_REUSE\n    case SO_REUSEADDR:\n    case SO_REUSEPORT:\n#endif /* SO_REUSE */\n    case SO_TYPE:\n    /* UNIMPL case SO_USELOOPBACK: */\n      if (*optlen < sizeof(int)) {\n        err = EINVAL;\n      }\n      break;\n\n    case SO_NO_CHECK:\n      if (*optlen < sizeof(int)) {\n        err = EINVAL;\n      }\n#if LWIP_UDP\n      if ((sock->conn->type != NETCONN_UDP) ||\n          ((udp_flags(sock->conn->pcb.udp) & UDP_FLAGS_UDPLITE) != 0)) {\n        /* this flag is only available for UDP, not for UDP lite */\n        err = EAFNOSUPPORT;\n      }\n#endif /* LWIP_UDP */\n      break;\n\n    default:\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, SOL_SOCKET, UNIMPL: optname=0x%x, ..)\\n\",\n                                  s, optname));\n      err = ENOPROTOOPT;\n    }  /* switch (optname) */\n    break;\n                     \n/* Level: IPPROTO_IP */\n  case IPPROTO_IP:\n    switch (optname) {\n    /* UNIMPL case IP_HDRINCL: */\n    /* UNIMPL case IP_RCVDSTADDR: */\n    /* UNIMPL case IP_RCVIF: */\n    case IP_TTL:\n    case IP_TOS:\n      if (*optlen < sizeof(int)) {\n        err = EINVAL;\n      }\n      break;\n#if LWIP_IGMP\n    case IP_MULTICAST_TTL:\n      if (*optlen < sizeof(u8_t)) {\n        err = EINVAL;\n      }\n      break;\n    case IP_MULTICAST_IF:\n      if (*optlen < sizeof(struct in_addr)) {\n        err = EINVAL;\n      }\n      break;\n    case IP_MULTICAST_LOOP:\n      if (*optlen < sizeof(u8_t)) {\n        err = EINVAL;\n      }\n      if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {\n        err = EAFNOSUPPORT;\n      }\n      break;\n#endif /* LWIP_IGMP */\n\n    default:\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, UNIMPL: optname=0x%x, ..)\\n\",\n                                  s, optname));\n      err = ENOPROTOOPT;\n    }  /* switch (optname) */\n    break;\n         \n#if LWIP_TCP\n/* Level: IPPROTO_TCP */\n  case IPPROTO_TCP:\n    if (*optlen < sizeof(int)) {\n      err = EINVAL;\n      break;\n    }\n    \n    /* If this is no TCP socket, ignore any options. */\n    if (sock->conn->type != NETCONN_TCP)\n      return 0;\n\n    switch (optname) {\n    case TCP_NODELAY:\n    case TCP_KEEPALIVE:\n#if LWIP_TCP_KEEPALIVE\n    case TCP_KEEPIDLE:\n    case TCP_KEEPINTVL:\n    case TCP_KEEPCNT:\n#endif /* LWIP_TCP_KEEPALIVE */\n      break;\n       \n    default:\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_TCP, UNIMPL: optname=0x%x, ..)\\n\",\n                                  s, optname));\n      err = ENOPROTOOPT;\n    }  /* switch (optname) */\n    break;\n#endif /* LWIP_TCP */\n#if LWIP_UDP && LWIP_UDPLITE\n/* Level: IPPROTO_UDPLITE */\n  case IPPROTO_UDPLITE:\n    if (*optlen < sizeof(int)) {\n      err = EINVAL;\n      break;\n    }\n    \n    /* If this is no UDP lite socket, ignore any options. */\n    if (sock->conn->type != NETCONN_UDPLITE) {\n      return 0;\n    }\n\n    switch (optname) {\n    case UDPLITE_SEND_CSCOV:\n    case UDPLITE_RECV_CSCOV:\n      break;\n       \n    default:\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_UDPLITE, UNIMPL: optname=0x%x, ..)\\n\",\n                                  s, optname));\n      err = ENOPROTOOPT;\n    }  /* switch (optname) */\n    break;\n#endif /* LWIP_UDP && LWIP_UDPLITE*/\n/* UNDEFINED LEVEL */\n  default:\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, level=0x%x, UNIMPL: optname=0x%x, ..)\\n\",\n                                  s, level, optname));\n      err = ENOPROTOOPT;\n  }  /* switch */\n\n   \n  if (err != ERR_OK) {\n    sock_set_errno(sock, err);\n    return -1;\n  }\n\n  /* Now do the actual option processing */\n  data.sock = sock;\n#ifdef LWIP_DEBUG\n  data.s = s;\n#endif /* LWIP_DEBUG */\n  data.level = level;\n  data.optname = optname;\n  data.optval = optval;\n  data.optlen = optlen;\n  data.err = err;\n  tcpip_callback(lwip_getsockopt_internal, &data);\n  sys_arch_sem_wait(&sock->conn->op_completed, 0);\n  /* maybe lwip_getsockopt_internal has changed err */\n  err = data.err;\n\n  sock_set_errno(sock, err);\n  return err ? -1 : 0;\n}\n\nstatic void\nlwip_getsockopt_internal(void *arg)\n{\n  struct lwip_sock *sock;\n#ifdef LWIP_DEBUG\n  int s;\n#endif /* LWIP_DEBUG */\n  int level, optname;\n  void *optval;\n  struct lwip_setgetsockopt_data *data;\n\n  LWIP_ASSERT(\"arg != NULL\", arg != NULL);\n\n  data = (struct lwip_setgetsockopt_data*)arg;\n  sock = data->sock;\n#ifdef LWIP_DEBUG\n  s = data->s;\n#endif /* LWIP_DEBUG */\n  level = data->level;\n  optname = data->optname;\n  optval = data->optval;\n\n  switch (level) {\n\n/* Level: SOL_SOCKET */\n  case SOL_SOCKET:\n    switch (optname) {\n\n    /* The option flags */\n    case SO_ACCEPTCONN:\n    case SO_BROADCAST:\n    /* UNIMPL case SO_DEBUG: */\n    /* UNIMPL case SO_DONTROUTE: */\n    case SO_KEEPALIVE:\n    /* UNIMPL case SO_OOBINCLUDE: */\n#if SO_REUSE\n    case SO_REUSEADDR:\n    case SO_REUSEPORT:\n#endif /* SO_REUSE */\n    /*case SO_USELOOPBACK: UNIMPL */\n      *(int*)optval = ip_get_option(sock->conn->pcb.ip, optname);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, SOL_SOCKET, optname=0x%x, ..) = %s\\n\",\n                                  s, optname, (*(int*)optval?\"on\":\"off\")));\n      break;\n\n    case SO_TYPE:\n      switch (NETCONNTYPE_GROUP(sock->conn->type)) {\n      case NETCONN_RAW:\n        *(int*)optval = SOCK_RAW;\n        break;\n      case NETCONN_TCP:\n        *(int*)optval = SOCK_STREAM;\n        break;\n      case NETCONN_UDP:\n        *(int*)optval = SOCK_DGRAM;\n        break;\n      default: /* unrecognized socket type */\n        *(int*)optval = sock->conn->type;\n        LWIP_DEBUGF(SOCKETS_DEBUG,\n                    (\"lwip_getsockopt(%d, SOL_SOCKET, SO_TYPE): unrecognized socket type %d\\n\",\n                    s, *(int *)optval));\n      }  /* switch (sock->conn->type) */\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, SOL_SOCKET, SO_TYPE) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n\n    case SO_ERROR:\n      /* only overwrite ERR_OK or tempoary errors */\n      if ((sock->err == 0) || (sock->err == EINPROGRESS)) {\n        sock_set_errno(sock, err_to_errno(sock->conn->last_err));\n      } \n      *(int *)optval = sock->err;\n      sock->err = 0;\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, SOL_SOCKET, SO_ERROR) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n\n#if LWIP_SO_SNDTIMEO\n    case SO_SNDTIMEO:\n      *(int *)optval = netconn_get_sendtimeout(sock->conn);\n      break;\n#endif /* LWIP_SO_SNDTIMEO */\n#if LWIP_SO_RCVTIMEO\n    case SO_RCVTIMEO:\n      *(int *)optval = netconn_get_recvtimeout(sock->conn);\n      break;\n#endif /* LWIP_SO_RCVTIMEO */\n#if LWIP_SO_RCVBUF\n    case SO_RCVBUF:\n      *(int *)optval = netconn_get_recvbufsize(sock->conn);\n      break;\n#endif /* LWIP_SO_RCVBUF */\n#if LWIP_UDP\n    case SO_NO_CHECK:\n      *(int*)optval = (udp_flags(sock->conn->pcb.udp) & UDP_FLAGS_NOCHKSUM) ? 1 : 0;\n      break;\n#endif /* LWIP_UDP*/\n    default:\n      LWIP_ASSERT(\"unhandled optname\", 0);\n      break;\n    }  /* switch (optname) */\n    break;\n\n/* Level: IPPROTO_IP */\n  case IPPROTO_IP:\n    switch (optname) {\n    case IP_TTL:\n      *(int*)optval = sock->conn->pcb.ip->ttl;\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, IP_TTL) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n    case IP_TOS:\n      *(int*)optval = sock->conn->pcb.ip->tos;\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, IP_TOS) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n#if LWIP_IGMP\n    case IP_MULTICAST_TTL:\n      *(u8_t*)optval = sock->conn->pcb.ip->ttl;\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, IP_MULTICAST_TTL) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n    case IP_MULTICAST_IF:\n      inet_addr_from_ipaddr((struct in_addr*)optval, &sock->conn->pcb.udp->multicast_ip);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, IP_MULTICAST_IF) = 0x%\"X32_F\"\\n\",\n                  s, *(u32_t *)optval));\n      break;\n    case IP_MULTICAST_LOOP:\n      if ((sock->conn->pcb.udp->flags & UDP_FLAGS_MULTICAST_LOOP) != 0) {\n        *(u8_t*)optval = 1;\n      } else {\n        *(u8_t*)optval = 0;\n      }\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, IP_MULTICAST_LOOP) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n#endif /* LWIP_IGMP */\n    default:\n      LWIP_ASSERT(\"unhandled optname\", 0);\n      break;\n    }  /* switch (optname) */\n    break;\n\n#if LWIP_TCP\n/* Level: IPPROTO_TCP */\n  case IPPROTO_TCP:\n    switch (optname) {\n    case TCP_NODELAY:\n      *(int*)optval = tcp_nagle_disabled(sock->conn->pcb.tcp);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_TCP, TCP_NODELAY) = %s\\n\",\n                  s, (*(int*)optval)?\"on\":\"off\") );\n      break;\n    case TCP_KEEPALIVE:\n      *(int*)optval = (int)sock->conn->pcb.tcp->keep_idle;\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, TCP_KEEPALIVE) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n\n#if LWIP_TCP_KEEPALIVE\n    case TCP_KEEPIDLE:\n      *(int*)optval = (int)(sock->conn->pcb.tcp->keep_idle/1000);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, TCP_KEEPIDLE) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n    case TCP_KEEPINTVL:\n      *(int*)optval = (int)(sock->conn->pcb.tcp->keep_intvl/1000);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, TCP_KEEPINTVL) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n    case TCP_KEEPCNT:\n      *(int*)optval = (int)sock->conn->pcb.tcp->keep_cnt;\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_IP, TCP_KEEPCNT) = %d\\n\",\n                  s, *(int *)optval));\n      break;\n#endif /* LWIP_TCP_KEEPALIVE */\n    default:\n      LWIP_ASSERT(\"unhandled optname\", 0);\n      break;\n    }  /* switch (optname) */\n    break;\n#endif /* LWIP_TCP */\n#if LWIP_UDP && LWIP_UDPLITE\n  /* Level: IPPROTO_UDPLITE */\n  case IPPROTO_UDPLITE:\n    switch (optname) {\n    case UDPLITE_SEND_CSCOV:\n      *(int*)optval = sock->conn->pcb.udp->chksum_len_tx;\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_UDPLITE, UDPLITE_SEND_CSCOV) = %d\\n\",\n                  s, (*(int*)optval)) );\n      break;\n    case UDPLITE_RECV_CSCOV:\n      *(int*)optval = sock->conn->pcb.udp->chksum_len_rx;\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_getsockopt(%d, IPPROTO_UDPLITE, UDPLITE_RECV_CSCOV) = %d\\n\",\n                  s, (*(int*)optval)) );\n      break;\n    default:\n      LWIP_ASSERT(\"unhandled optname\", 0);\n      break;\n    }  /* switch (optname) */\n    break;\n#endif /* LWIP_UDP */\n  default:\n    LWIP_ASSERT(\"unhandled level\", 0);\n    break;\n  } /* switch (level) */\n  sys_sem_signal(&sock->conn->op_completed);\n}\n\nint\nlwip_setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen)\n{\n  struct lwip_sock *sock = get_socket(s);\n  err_t err = ERR_OK;\n  struct lwip_setgetsockopt_data data;\n\n  if (!sock) {\n    return -1;\n  }\n\n  if (NULL == optval) {\n    sock_set_errno(sock, EFAULT);\n    return -1;\n  }\n\n  /* Do length and type checks for the various options first, to keep it readable. */\n  switch (level) {\n\n/* Level: SOL_SOCKET */\n  case SOL_SOCKET:\n    switch (optname) {\n\n    case SO_BROADCAST:\n    /* UNIMPL case SO_DEBUG: */\n    /* UNIMPL case SO_DONTROUTE: */\n    case SO_KEEPALIVE:\n    /* UNIMPL case case SO_CONTIMEO: */\n#if LWIP_SO_SNDTIMEO\n    case SO_SNDTIMEO:\n#endif /* LWIP_SO_SNDTIMEO */\n#if LWIP_SO_RCVTIMEO\n    case SO_RCVTIMEO:\n#endif /* LWIP_SO_RCVTIMEO */\n#if LWIP_SO_RCVBUF\n    case SO_RCVBUF:\n#endif /* LWIP_SO_RCVBUF */\n    /* UNIMPL case SO_OOBINLINE: */\n    /* UNIMPL case SO_SNDBUF: */\n    /* UNIMPL case SO_RCVLOWAT: */\n    /* UNIMPL case SO_SNDLOWAT: */\n#if SO_REUSE\n    case SO_REUSEADDR:\n    case SO_REUSEPORT:\n#endif /* SO_REUSE */\n    /* UNIMPL case SO_USELOOPBACK: */\n      if (optlen < sizeof(int)) {\n        err = EINVAL;\n      }\n      break;\n    case SO_NO_CHECK:\n      if (optlen < sizeof(int)) {\n        err = EINVAL;\n      }\n#if LWIP_UDP\n      if ((sock->conn->type != NETCONN_UDP) ||\n          ((udp_flags(sock->conn->pcb.udp) & UDP_FLAGS_UDPLITE) != 0)) {\n        /* this flag is only available for UDP, not for UDP lite */\n        err = EAFNOSUPPORT;\n      }\n#endif /* LWIP_UDP */\n      break;\n    default:\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, SOL_SOCKET, UNIMPL: optname=0x%x, ..)\\n\",\n                  s, optname));\n      err = ENOPROTOOPT;\n    }  /* switch (optname) */\n    break;\n\n/* Level: IPPROTO_IP */\n  case IPPROTO_IP:\n    switch (optname) {\n    /* UNIMPL case IP_HDRINCL: */\n    /* UNIMPL case IP_RCVDSTADDR: */\n    /* UNIMPL case IP_RCVIF: */\n    case IP_TTL:\n    case IP_TOS:\n      if (optlen < sizeof(int)) {\n        err = EINVAL;\n      }\n      break;\n#if LWIP_IGMP\n    case IP_MULTICAST_TTL:\n      if (optlen < sizeof(u8_t)) {\n        err = EINVAL;\n      }\n      if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {\n        err = EAFNOSUPPORT;\n      }\n      break;\n    case IP_MULTICAST_IF:\n      if (optlen < sizeof(struct in_addr)) {\n        err = EINVAL;\n      }\n      if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {\n        err = EAFNOSUPPORT;\n      }\n      break;\n    case IP_MULTICAST_LOOP:\n      if (optlen < sizeof(u8_t)) {\n        err = EINVAL;\n      }\n      if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {\n        err = EAFNOSUPPORT;\n      }\n      break;\n    case IP_ADD_MEMBERSHIP:\n    case IP_DROP_MEMBERSHIP:\n      if (optlen < sizeof(struct ip_mreq)) {\n        err = EINVAL;\n      }\n      if (NETCONNTYPE_GROUP(sock->conn->type) != NETCONN_UDP) {\n        err = EAFNOSUPPORT;\n      }\n      break;\n#endif /* LWIP_IGMP */\n      default:\n        LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_IP, UNIMPL: optname=0x%x, ..)\\n\",\n                    s, optname));\n        err = ENOPROTOOPT;\n    }  /* switch (optname) */\n    break;\n\n#if LWIP_TCP\n/* Level: IPPROTO_TCP */\n  case IPPROTO_TCP:\n    if (optlen < sizeof(int)) {\n      err = EINVAL;\n      break;\n    }\n\n    /* If this is no TCP socket, ignore any options. */\n    if (sock->conn->type != NETCONN_TCP)\n      return 0;\n\n    switch (optname) {\n    case TCP_NODELAY:\n    case TCP_KEEPALIVE:\n#if LWIP_TCP_KEEPALIVE\n    case TCP_KEEPIDLE:\n    case TCP_KEEPINTVL:\n    case TCP_KEEPCNT:\n#endif /* LWIP_TCP_KEEPALIVE */\n      break;\n\n    default:\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_TCP, UNIMPL: optname=0x%x, ..)\\n\",\n                  s, optname));\n      err = ENOPROTOOPT;\n    }  /* switch (optname) */\n    break;\n#endif /* LWIP_TCP */\n#if LWIP_UDP && LWIP_UDPLITE\n/* Level: IPPROTO_UDPLITE */\n  case IPPROTO_UDPLITE:\n    if (optlen < sizeof(int)) {\n      err = EINVAL;\n      break;\n    }\n\n    /* If this is no UDP lite socket, ignore any options. */\n    if (sock->conn->type != NETCONN_UDPLITE)\n      return 0;\n\n    switch (optname) {\n    case UDPLITE_SEND_CSCOV:\n    case UDPLITE_RECV_CSCOV:\n      break;\n\n    default:\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_UDPLITE, UNIMPL: optname=0x%x, ..)\\n\",\n                  s, optname));\n      err = ENOPROTOOPT;\n    }  /* switch (optname) */\n    break;\n#endif /* LWIP_UDP && LWIP_UDPLITE */\n/* UNDEFINED LEVEL */\n  default:\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, level=0x%x, UNIMPL: optname=0x%x, ..)\\n\",\n                s, level, optname));\n    err = ENOPROTOOPT;\n  }  /* switch (level) */\n\n\n  if (err != ERR_OK) {\n    sock_set_errno(sock, err);\n    return -1;\n  }\n\n\n  /* Now do the actual option processing */\n  data.sock = sock;\n#ifdef LWIP_DEBUG\n  data.s = s;\n#endif /* LWIP_DEBUG */\n  data.level = level;\n  data.optname = optname;\n  data.optval = (void*)optval;\n  data.optlen = &optlen;\n  data.err = err;\n  tcpip_callback(lwip_setsockopt_internal, &data);\n  sys_arch_sem_wait(&sock->conn->op_completed, 0);\n  /* maybe lwip_setsockopt_internal has changed err */\n  err = data.err;\n\n  sock_set_errno(sock, err);\n  return err ? -1 : 0;\n}\n\nstatic void\nlwip_setsockopt_internal(void *arg)\n{\n  struct lwip_sock *sock;\n#ifdef LWIP_DEBUG\n  int s;\n#endif /* LWIP_DEBUG */\n  int level, optname;\n  const void *optval;\n  struct lwip_setgetsockopt_data *data;\n\n  LWIP_ASSERT(\"arg != NULL\", arg != NULL);\n\n  data = (struct lwip_setgetsockopt_data*)arg;\n  sock = data->sock;\n#ifdef LWIP_DEBUG\n  s = data->s;\n#endif /* LWIP_DEBUG */\n  level = data->level;\n  optname = data->optname;\n  optval = data->optval;\n\n  switch (level) {\n\n/* Level: SOL_SOCKET */\n  case SOL_SOCKET:\n    switch (optname) {\n\n    /* The option flags */\n    case SO_BROADCAST:\n    /* UNIMPL case SO_DEBUG: */\n    /* UNIMPL case SO_DONTROUTE: */\n    case SO_KEEPALIVE:\n    /* UNIMPL case SO_OOBINCLUDE: */\n#if SO_REUSE\n    case SO_REUSEADDR:\n    case SO_REUSEPORT:\n#endif /* SO_REUSE */\n    /* UNIMPL case SO_USELOOPBACK: */\n      if (*(int*)optval) {\n        ip_set_option(sock->conn->pcb.ip, optname);\n      } else {\n        ip_reset_option(sock->conn->pcb.ip, optname);\n      }\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, SOL_SOCKET, optname=0x%x, ..) -> %s\\n\",\n                  s, optname, (*(int*)optval?\"on\":\"off\")));\n      break;\n#if LWIP_SO_SNDTIMEO\n    case SO_SNDTIMEO:\n      netconn_set_sendtimeout(sock->conn, (s32_t)*(int*)optval);\n      break;\n#endif /* LWIP_SO_SNDTIMEO */\n#if LWIP_SO_RCVTIMEO\n    case SO_RCVTIMEO:\n      netconn_set_recvtimeout(sock->conn, *(int*)optval);\n      break;\n#endif /* LWIP_SO_RCVTIMEO */\n#if LWIP_SO_RCVBUF\n    case SO_RCVBUF:\n      netconn_set_recvbufsize(sock->conn, *(int*)optval);\n      break;\n#endif /* LWIP_SO_RCVBUF */\n#if LWIP_UDP\n    case SO_NO_CHECK:\n      if (*(int*)optval) {\n        udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) | UDP_FLAGS_NOCHKSUM);\n      } else {\n        udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) & ~UDP_FLAGS_NOCHKSUM);\n      }\n      break;\n#endif /* LWIP_UDP */\n    default:\n      LWIP_ASSERT(\"unhandled optname\", 0);\n      break;\n    }  /* switch (optname) */\n    break;\n\n/* Level: IPPROTO_IP */\n  case IPPROTO_IP:\n    switch (optname) {\n    case IP_TTL:\n      sock->conn->pcb.ip->ttl = (u8_t)(*(int*)optval);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_IP, IP_TTL, ..) -> %d\\n\",\n                  s, sock->conn->pcb.ip->ttl));\n      break;\n    case IP_TOS:\n      sock->conn->pcb.ip->tos = (u8_t)(*(int*)optval);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_IP, IP_TOS, ..)-> %d\\n\",\n                  s, sock->conn->pcb.ip->tos));\n      break;\n#if LWIP_IGMP\n    case IP_MULTICAST_TTL:\n      sock->conn->pcb.udp->ttl = (u8_t)(*(u8_t*)optval);\n      break;\n    case IP_MULTICAST_IF:\n      inet_addr_to_ipaddr(&sock->conn->pcb.udp->multicast_ip, (struct in_addr*)optval);\n      break;\n    case IP_MULTICAST_LOOP:\n      if (*(u8_t*)optval) {\n        udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) | UDP_FLAGS_MULTICAST_LOOP);\n      } else {\n        udp_setflags(sock->conn->pcb.udp, udp_flags(sock->conn->pcb.udp) & ~UDP_FLAGS_MULTICAST_LOOP);\n      }\n      break;\n    case IP_ADD_MEMBERSHIP:\n    case IP_DROP_MEMBERSHIP:\n      {\n        /* If this is a TCP or a RAW socket, ignore these options. */\n        struct ip_mreq *imr = (struct ip_mreq *)optval;\n        ip_addr_t if_addr;\n        ip_addr_t multi_addr;\n        inet_addr_to_ipaddr(&if_addr, &imr->imr_interface);\n        inet_addr_to_ipaddr(&multi_addr, &imr->imr_multiaddr);\n        if(optname == IP_ADD_MEMBERSHIP){\n          data->err = igmp_joingroup(&if_addr, &multi_addr);\n        } else {\n          data->err = igmp_leavegroup(&if_addr, &multi_addr);\n        }\n        if(data->err != ERR_OK) {\n          data->err = EADDRNOTAVAIL;\n        }\n      }\n      break;\n#endif /* LWIP_IGMP */\n    default:\n      LWIP_ASSERT(\"unhandled optname\", 0);\n      break;\n    }  /* switch (optname) */\n    break;\n\n#if LWIP_TCP\n/* Level: IPPROTO_TCP */\n  case IPPROTO_TCP:\n    switch (optname) {\n    case TCP_NODELAY:\n      if (*(int*)optval) {\n        tcp_nagle_disable(sock->conn->pcb.tcp);\n      } else {\n        tcp_nagle_enable(sock->conn->pcb.tcp);\n      }\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_TCP, TCP_NODELAY) -> %s\\n\",\n                  s, (*(int *)optval)?\"on\":\"off\") );\n      break;\n    case TCP_KEEPALIVE:\n      sock->conn->pcb.tcp->keep_idle = (u32_t)(*(int*)optval);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_TCP, TCP_KEEPALIVE) -> %\"U32_F\"\\n\",\n                  s, sock->conn->pcb.tcp->keep_idle));\n      break;\n\n#if LWIP_TCP_KEEPALIVE\n    case TCP_KEEPIDLE:\n      sock->conn->pcb.tcp->keep_idle = 1000*(u32_t)(*(int*)optval);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_TCP, TCP_KEEPIDLE) -> %\"U32_F\"\\n\",\n                  s, sock->conn->pcb.tcp->keep_idle));\n      break;\n    case TCP_KEEPINTVL:\n      sock->conn->pcb.tcp->keep_intvl = 1000*(u32_t)(*(int*)optval);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_TCP, TCP_KEEPINTVL) -> %\"U32_F\"\\n\",\n                  s, sock->conn->pcb.tcp->keep_intvl));\n      break;\n    case TCP_KEEPCNT:\n      sock->conn->pcb.tcp->keep_cnt = (u32_t)(*(int*)optval);\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_TCP, TCP_KEEPCNT) -> %\"U32_F\"\\n\",\n                  s, sock->conn->pcb.tcp->keep_cnt));\n      break;\n#endif /* LWIP_TCP_KEEPALIVE */\n    default:\n      LWIP_ASSERT(\"unhandled optname\", 0);\n      break;\n    }  /* switch (optname) */\n    break;\n#endif /* LWIP_TCP*/\n#if LWIP_UDP && LWIP_UDPLITE\n  /* Level: IPPROTO_UDPLITE */\n  case IPPROTO_UDPLITE:\n    switch (optname) {\n    case UDPLITE_SEND_CSCOV:\n      if ((*(int*)optval != 0) && ((*(int*)optval < 8) || (*(int*)optval > 0xffff))) {\n        /* don't allow illegal values! */\n        sock->conn->pcb.udp->chksum_len_tx = 8;\n      } else {\n        sock->conn->pcb.udp->chksum_len_tx = (u16_t)*(int*)optval;\n      }\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_UDPLITE, UDPLITE_SEND_CSCOV) -> %d\\n\",\n                  s, (*(int*)optval)) );\n      break;\n    case UDPLITE_RECV_CSCOV:\n      if ((*(int*)optval != 0) && ((*(int*)optval < 8) || (*(int*)optval > 0xffff))) {\n        /* don't allow illegal values! */\n        sock->conn->pcb.udp->chksum_len_rx = 8;\n      } else {\n        sock->conn->pcb.udp->chksum_len_rx = (u16_t)*(int*)optval;\n      }\n      LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_setsockopt(%d, IPPROTO_UDPLITE, UDPLITE_RECV_CSCOV) -> %d\\n\",\n                  s, (*(int*)optval)) );\n      break;\n    default:\n      LWIP_ASSERT(\"unhandled optname\", 0);\n      break;\n    }  /* switch (optname) */\n    break;\n#endif /* LWIP_UDP */\n  default:\n    LWIP_ASSERT(\"unhandled level\", 0);\n    break;\n  }  /* switch (level) */\n  sys_sem_signal(&sock->conn->op_completed);\n}\n\nint\nlwip_ioctl(int s, long cmd, void *argp)\n{\n  struct lwip_sock *sock = get_socket(s);\n  u8_t val;\n#if LWIP_SO_RCVBUF\n  u16_t buflen = 0;\n  s16_t recv_avail;\n#endif /* LWIP_SO_RCVBUF */\n\n  if (!sock) {\n    return -1;\n  }\n\n  switch (cmd) {\n#if LWIP_SO_RCVBUF\n  case FIONREAD:\n    if (!argp) {\n      sock_set_errno(sock, EINVAL);\n      return -1;\n    }\n\n    SYS_ARCH_GET(sock->conn->recv_avail, recv_avail);\n    if (recv_avail < 0) {\n      recv_avail = 0;\n    }\n    *((u16_t*)argp) = (u16_t)recv_avail;\n\n    /* Check if there is data left from the last recv operation. /maq 041215 */\n    if (sock->lastdata) {\n      struct pbuf *p = (struct pbuf *)sock->lastdata;\n      if (netconn_type(sock->conn) != NETCONN_TCP) {\n        p = ((struct netbuf *)p)->p;\n      }\n      buflen = p->tot_len;\n      buflen -= sock->lastoffset;\n\n      *((u16_t*)argp) += buflen;\n    }\n\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_ioctl(%d, FIONREAD, %p) = %\"U16_F\"\\n\", s, argp, *((u16_t*)argp)));\n    sock_set_errno(sock, 0);\n    return 0;\n#endif /* LWIP_SO_RCVBUF */\n\n  case FIONBIO:\n    val = 0;\n    if (argp && *(u32_t*)argp) {\n      val = 1;\n    }\n    netconn_set_nonblocking(sock->conn, val);\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_ioctl(%d, FIONBIO, %d)\\n\", s, val));\n    sock_set_errno(sock, 0);\n    return 0;\n\n  default:\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_ioctl(%d, UNIMPL: 0x%lx, %p)\\n\", s, cmd, argp));\n    sock_set_errno(sock, ENOSYS); /* not yet implemented */\n    return -1;\n  } /* switch (cmd) */\n}\n\n/** A minimal implementation of fcntl.\n * Currently only the commands F_GETFL and F_SETFL are implemented.\n * Only the flag O_NONBLOCK is implemented.\n */\nint\nlwip_fcntl(int s, int cmd, int val)\n{\n  struct lwip_sock *sock = get_socket(s);\n  int ret = -1;\n\n  if (!sock || !sock->conn) {\n    return -1;\n  }\n\n  switch (cmd) {\n  case F_GETFL:\n    ret = netconn_is_nonblocking(sock->conn) ? O_NONBLOCK : 0;\n    break;\n  case F_SETFL:\n    if ((val & ~O_NONBLOCK) == 0) {\n      /* only O_NONBLOCK, all other bits are zero */\n      netconn_set_nonblocking(sock->conn, val & O_NONBLOCK);\n      ret = 0;\n    }\n    break;\n  default:\n    LWIP_DEBUGF(SOCKETS_DEBUG, (\"lwip_fcntl(%d, UNIMPL: %d, %d)\\n\", s, cmd, val));\n    break;\n  }\n  return ret;\n}\n\n#endif /* LWIP_SOCKET */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/api/tcpip.c",
    "content": "/**\n * @file\n * Sequential API Main thread module\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if !NO_SYS /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/sys.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/tcpip.h\"\n#include \"lwip/init.h\"\n#include \"netif/etharp.h\"\n#include \"netif/ppp_oe.h\"\n\n/* global variables */\nstatic tcpip_init_done_fn tcpip_init_done;\nstatic void *tcpip_init_done_arg;\nstatic sys_mbox_t mbox;\n\n#if LWIP_TCPIP_CORE_LOCKING\n/** The global semaphore to lock the stack. */\nsys_mutex_t lock_tcpip_core;\n#endif /* LWIP_TCPIP_CORE_LOCKING */\n\n\n/**\n * The main lwIP thread. This thread has exclusive access to lwIP core functions\n * (unless access to them is not locked). Other threads communicate with this\n * thread using message boxes.\n *\n * It also starts all the timers to make sure they are running in the right\n * thread context.\n *\n * @param arg unused argument\n */\nstatic void\ntcpip_thread(void *arg)\n{\n  struct tcpip_msg *msg;\n  LWIP_UNUSED_ARG(arg);\n\n  if (tcpip_init_done != NULL) {\n    tcpip_init_done(tcpip_init_done_arg);\n  }\n\n  LOCK_TCPIP_CORE();\n  while (1) {                          /* MAIN Loop */\n    UNLOCK_TCPIP_CORE();\n    LWIP_TCPIP_THREAD_ALIVE();\n    /* wait for a message, timeouts are processed while waiting */\n    sys_timeouts_mbox_fetch(&mbox, (void **)&msg);\n    LOCK_TCPIP_CORE();\n    switch (msg->type) {\n#if LWIP_NETCONN\n    case TCPIP_MSG_API:\n      LWIP_DEBUGF(TCPIP_DEBUG, (\"tcpip_thread: API message %p\\n\", (void *)msg));\n      msg->msg.apimsg->function(&(msg->msg.apimsg->msg));\n      break;\n#endif /* LWIP_NETCONN */\n\n#if !LWIP_TCPIP_CORE_LOCKING_INPUT\n    case TCPIP_MSG_INPKT:\n      LWIP_DEBUGF(TCPIP_DEBUG, (\"tcpip_thread: PACKET %p\\n\", (void *)msg));\n#if LWIP_ETHERNET\n      if (msg->msg.inp.netif->flags & (NETIF_FLAG_ETHARP | NETIF_FLAG_ETHERNET)) {\n        ethernet_input(msg->msg.inp.p, msg->msg.inp.netif);\n      } else\n#endif /* LWIP_ETHERNET */\n      {\n        ip_input(msg->msg.inp.p, msg->msg.inp.netif);\n      }\n      memp_free(MEMP_TCPIP_MSG_INPKT, msg);\n      break;\n#endif /* LWIP_TCPIP_CORE_LOCKING_INPUT */\n\n#if LWIP_NETIF_API\n    case TCPIP_MSG_NETIFAPI:\n      LWIP_DEBUGF(TCPIP_DEBUG, (\"tcpip_thread: Netif API message %p\\n\", (void *)msg));\n      msg->msg.netifapimsg->function(&(msg->msg.netifapimsg->msg));\n      break;\n#endif /* LWIP_NETIF_API */\n\n#if LWIP_TCPIP_TIMEOUT\n    case TCPIP_MSG_TIMEOUT:\n      LWIP_DEBUGF(TCPIP_DEBUG, (\"tcpip_thread: TIMEOUT %p\\n\", (void *)msg));\n      sys_timeout(msg->msg.tmo.msecs, msg->msg.tmo.h, msg->msg.tmo.arg);\n      memp_free(MEMP_TCPIP_MSG_API, msg);\n      break;\n    case TCPIP_MSG_UNTIMEOUT:\n      LWIP_DEBUGF(TCPIP_DEBUG, (\"tcpip_thread: UNTIMEOUT %p\\n\", (void *)msg));\n      sys_untimeout(msg->msg.tmo.h, msg->msg.tmo.arg);\n      memp_free(MEMP_TCPIP_MSG_API, msg);\n      break;\n#endif /* LWIP_TCPIP_TIMEOUT */\n\n    case TCPIP_MSG_CALLBACK:\n      LWIP_DEBUGF(TCPIP_DEBUG, (\"tcpip_thread: CALLBACK %p\\n\", (void *)msg));\n      msg->msg.cb.function(msg->msg.cb.ctx);\n      memp_free(MEMP_TCPIP_MSG_API, msg);\n      break;\n\n    case TCPIP_MSG_CALLBACK_STATIC:\n      LWIP_DEBUGF(TCPIP_DEBUG, (\"tcpip_thread: CALLBACK_STATIC %p\\n\", (void *)msg));\n      msg->msg.cb.function(msg->msg.cb.ctx);\n      break;\n\n    default:\n      LWIP_DEBUGF(TCPIP_DEBUG, (\"tcpip_thread: invalid message: %d\\n\", msg->type));\n      LWIP_ASSERT(\"tcpip_thread: invalid message\", 0);\n      break;\n    }\n  }\n}\n\n/**\n * Pass a received packet to tcpip_thread for input processing\n *\n * @param p the received packet, p->payload pointing to the Ethernet header or\n *          to an IP header (if inp doesn't have NETIF_FLAG_ETHARP or\n *          NETIF_FLAG_ETHERNET flags)\n * @param inp the network interface on which the packet was received\n */\nerr_t\ntcpip_input(struct pbuf *p, struct netif *inp)\n{\n#if LWIP_TCPIP_CORE_LOCKING_INPUT\n  err_t ret;\n  LWIP_DEBUGF(TCPIP_DEBUG, (\"tcpip_input: PACKET %p/%p\\n\", (void *)p, (void *)inp));\n  LOCK_TCPIP_CORE();\n#if LWIP_ETHERNET\n  if (inp->flags & (NETIF_FLAG_ETHARP | NETIF_FLAG_ETHERNET)) {\n    ret = ethernet_input(p, inp);\n  } else\n#endif /* LWIP_ETHERNET */\n  {\n    ret = ip_input(p, inp);\n  }\n  UNLOCK_TCPIP_CORE();\n  return ret;\n#else /* LWIP_TCPIP_CORE_LOCKING_INPUT */\n  struct tcpip_msg *msg;\n\n  if (!sys_mbox_valid(&mbox)) {\n    return ERR_VAL;\n  }\n  msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_INPKT);\n  if (msg == NULL) {\n    return ERR_MEM;\n  }\n\n  msg->type = TCPIP_MSG_INPKT;\n  msg->msg.inp.p = p;\n  msg->msg.inp.netif = inp;\n  if (sys_mbox_trypost(&mbox, msg) != ERR_OK) {\n    memp_free(MEMP_TCPIP_MSG_INPKT, msg);\n    return ERR_MEM;\n  }\n  return ERR_OK;\n#endif /* LWIP_TCPIP_CORE_LOCKING_INPUT */\n}\n\n/**\n * Call a specific function in the thread context of\n * tcpip_thread for easy access synchronization.\n * A function called in that way may access lwIP core code\n * without fearing concurrent access.\n *\n * @param f the function to call\n * @param ctx parameter passed to f\n * @param block 1 to block until the request is posted, 0 to non-blocking mode\n * @return ERR_OK if the function was called, another err_t if not\n */\nerr_t\ntcpip_callback_with_block(tcpip_callback_fn function, void *ctx, u8_t block)\n{\n  struct tcpip_msg *msg;\n\n  if (sys_mbox_valid(&mbox)) {\n    msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_API);\n    if (msg == NULL) {\n      return ERR_MEM;\n    }\n\n    msg->type = TCPIP_MSG_CALLBACK;\n    msg->msg.cb.function = function;\n    msg->msg.cb.ctx = ctx;\n    if (block) {\n      sys_mbox_post(&mbox, msg);\n    } else {\n      if (sys_mbox_trypost(&mbox, msg) != ERR_OK) {\n        memp_free(MEMP_TCPIP_MSG_API, msg);\n        return ERR_MEM;\n      }\n    }\n    return ERR_OK;\n  }\n  return ERR_VAL;\n}\n\n#if LWIP_TCPIP_TIMEOUT\n/**\n * call sys_timeout in tcpip_thread\n *\n * @param msec time in milliseconds for timeout\n * @param h function to be called on timeout\n * @param arg argument to pass to timeout function h\n * @return ERR_MEM on memory error, ERR_OK otherwise\n */\nerr_t\ntcpip_timeout(u32_t msecs, sys_timeout_handler h, void *arg)\n{\n  struct tcpip_msg *msg;\n\n  if (sys_mbox_valid(&mbox)) {\n    msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_API);\n    if (msg == NULL) {\n      return ERR_MEM;\n    }\n\n    msg->type = TCPIP_MSG_TIMEOUT;\n    msg->msg.tmo.msecs = msecs;\n    msg->msg.tmo.h = h;\n    msg->msg.tmo.arg = arg;\n    sys_mbox_post(&mbox, msg);\n    return ERR_OK;\n  }\n  return ERR_VAL;\n}\n\n/**\n * call sys_untimeout in tcpip_thread\n *\n * @param msec time in milliseconds for timeout\n * @param h function to be called on timeout\n * @param arg argument to pass to timeout function h\n * @return ERR_MEM on memory error, ERR_OK otherwise\n */\nerr_t\ntcpip_untimeout(sys_timeout_handler h, void *arg)\n{\n  struct tcpip_msg *msg;\n\n  if (sys_mbox_valid(&mbox)) {\n    msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_API);\n    if (msg == NULL) {\n      return ERR_MEM;\n    }\n\n    msg->type = TCPIP_MSG_UNTIMEOUT;\n    msg->msg.tmo.h = h;\n    msg->msg.tmo.arg = arg;\n    sys_mbox_post(&mbox, msg);\n    return ERR_OK;\n  }\n  return ERR_VAL;\n}\n#endif /* LWIP_TCPIP_TIMEOUT */\n\n#if LWIP_NETCONN\n/**\n * Call the lower part of a netconn_* function\n * This function is then running in the thread context\n * of tcpip_thread and has exclusive access to lwIP core code.\n *\n * @param apimsg a struct containing the function to call and its parameters\n * @return ERR_OK if the function was called, another err_t if not\n */\nerr_t\ntcpip_apimsg(struct api_msg *apimsg)\n{\n  struct tcpip_msg msg;\n#ifdef LWIP_DEBUG\n  /* catch functions that don't set err */\n  apimsg->msg.err = ERR_VAL;\n#endif\n  \n  if (sys_mbox_valid(&mbox)) {\n    msg.type = TCPIP_MSG_API;\n    msg.msg.apimsg = apimsg;\n    sys_mbox_post(&mbox, &msg);\n    sys_arch_sem_wait(&apimsg->msg.conn->op_completed, 0);\n    return apimsg->msg.err;\n  }\n  return ERR_VAL;\n}\n\n#if LWIP_TCPIP_CORE_LOCKING\n/**\n * Call the lower part of a netconn_* function\n * This function has exclusive access to lwIP core code by locking it\n * before the function is called.\n *\n * @param apimsg a struct containing the function to call and its parameters\n * @return ERR_OK (only for compatibility fo tcpip_apimsg())\n */\nerr_t\ntcpip_apimsg_lock(struct api_msg *apimsg)\n{\n#ifdef LWIP_DEBUG\n  /* catch functions that don't set err */\n  apimsg->msg.err = ERR_VAL;\n#endif\n\n  LOCK_TCPIP_CORE();\n  apimsg->function(&(apimsg->msg));\n  UNLOCK_TCPIP_CORE();\n  return apimsg->msg.err;\n\n}\n#endif /* LWIP_TCPIP_CORE_LOCKING */\n#endif /* LWIP_NETCONN */\n\n#if LWIP_NETIF_API\n#if !LWIP_TCPIP_CORE_LOCKING\n/**\n * Much like tcpip_apimsg, but calls the lower part of a netifapi_*\n * function.\n *\n * @param netifapimsg a struct containing the function to call and its parameters\n * @return error code given back by the function that was called\n */\nerr_t\ntcpip_netifapi(struct netifapi_msg* netifapimsg)\n{\n  struct tcpip_msg msg;\n  \n  if (sys_mbox_valid(&mbox)) {\n    err_t err = sys_sem_new(&netifapimsg->msg.sem, 0);\n    if (err != ERR_OK) {\n      netifapimsg->msg.err = err;\n      return err;\n    }\n    \n    msg.type = TCPIP_MSG_NETIFAPI;\n    msg.msg.netifapimsg = netifapimsg;\n    sys_mbox_post(&mbox, &msg);\n    sys_sem_wait(&netifapimsg->msg.sem);\n    sys_sem_free(&netifapimsg->msg.sem);\n    return netifapimsg->msg.err;\n  }\n  return ERR_VAL;\n}\n#else /* !LWIP_TCPIP_CORE_LOCKING */\n/**\n * Call the lower part of a netifapi_* function\n * This function has exclusive access to lwIP core code by locking it\n * before the function is called.\n *\n * @param netifapimsg a struct containing the function to call and its parameters\n * @return ERR_OK (only for compatibility fo tcpip_netifapi())\n */\nerr_t\ntcpip_netifapi_lock(struct netifapi_msg* netifapimsg)\n{\n  LOCK_TCPIP_CORE();  \n  netifapimsg->function(&(netifapimsg->msg));\n  UNLOCK_TCPIP_CORE();\n  return netifapimsg->msg.err;\n}\n#endif /* !LWIP_TCPIP_CORE_LOCKING */\n#endif /* LWIP_NETIF_API */\n\n/**\n * Allocate a structure for a static callback message and initialize it.\n * This is intended to be used to send \"static\" messages from interrupt context.\n *\n * @param function the function to call\n * @param ctx parameter passed to function\n * @return a struct pointer to pass to tcpip_trycallback().\n */\nstruct tcpip_callback_msg* tcpip_callbackmsg_new(tcpip_callback_fn function, void *ctx)\n{\n  struct tcpip_msg *msg = (struct tcpip_msg *)memp_malloc(MEMP_TCPIP_MSG_API);\n  if (msg == NULL) {\n    return NULL;\n  }\n  msg->type = TCPIP_MSG_CALLBACK_STATIC;\n  msg->msg.cb.function = function;\n  msg->msg.cb.ctx = ctx;\n  return (struct tcpip_callback_msg*)msg;\n}\n\n/**\n * Free a callback message allocated by tcpip_callbackmsg_new().\n *\n * @param msg the message to free\n */\nvoid tcpip_callbackmsg_delete(struct tcpip_callback_msg* msg)\n{\n  memp_free(MEMP_TCPIP_MSG_API, msg);\n}\n\n/**\n * Try to post a callback-message to the tcpip_thread mbox\n * This is intended to be used to send \"static\" messages from interrupt context.\n *\n * @param msg pointer to the message to post\n * @return sys_mbox_trypost() return code\n */\nerr_t\ntcpip_trycallback(struct tcpip_callback_msg* msg)\n{\n  if (!sys_mbox_valid(&mbox)) {\n    return ERR_VAL;\n  }\n  return sys_mbox_trypost(&mbox, msg);\n}\n\n/**\n * Initialize this module:\n * - initialize all sub modules\n * - start the tcpip_thread\n *\n * @param initfunc a function to call when tcpip_thread is running and finished initializing\n * @param arg argument to pass to initfunc\n */\nvoid\ntcpip_init(tcpip_init_done_fn initfunc, void *arg)\n{\n  lwip_init();\n\n  tcpip_init_done = initfunc;\n  tcpip_init_done_arg = arg;\n  if(sys_mbox_new(&mbox, TCPIP_MBOX_SIZE) != ERR_OK) {\n    LWIP_ASSERT(\"failed to create tcpip_thread mbox\", 0);\n  }\n#if LWIP_TCPIP_CORE_LOCKING\n  if(sys_mutex_new(&lock_tcpip_core) != ERR_OK) {\n    LWIP_ASSERT(\"failed to create lock_tcpip_core\", 0);\n  }\n#endif /* LWIP_TCPIP_CORE_LOCKING */\n\n  sys_thread_new(TCPIP_THREAD_NAME, tcpip_thread, NULL, TCPIP_THREAD_STACKSIZE, TCPIP_THREAD_PRIO);\n}\n\n/**\n * Simple callback function used with tcpip_callback to free a pbuf\n * (pbuf_free has a wrong signature for tcpip_callback)\n *\n * @param p The pbuf (chain) to be dereferenced.\n */\nstatic void\npbuf_free_int(void *p)\n{\n  struct pbuf *q = (struct pbuf *)p;\n  pbuf_free(q);\n}\n\n/**\n * A simple wrapper function that allows you to free a pbuf from interrupt context.\n *\n * @param p The pbuf (chain) to be dereferenced.\n * @return ERR_OK if callback could be enqueued, an err_t if not\n */\nerr_t\npbuf_free_callback(struct pbuf *p)\n{\n  return tcpip_callback_with_block(pbuf_free_int, p, 0);\n}\n\n/**\n * A simple wrapper function that allows you to free heap memory from\n * interrupt context.\n *\n * @param m the heap memory to free\n * @return ERR_OK if callback could be enqueued, an err_t if not\n */\nerr_t\nmem_free_callback(void *m)\n{\n  return tcpip_callback_with_block(mem_free, m, 0);\n}\n\n#endif /* !NO_SYS */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/def.c",
    "content": "/**\n * @file\n * Common functions used throughout the stack.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Simon Goldschmidt\n *\n */\n\n#include \"lwip/opt.h\"\n#include \"lwip/def.h\"\n\n/**\n * These are reference implementations of the byte swapping functions.\n * Again with the aim of being simple, correct and fully portable.\n * Byte swapping is the second thing you would want to optimize. You will\n * need to port it to your architecture and in your cc.h:\n * \n * #define LWIP_PLATFORM_BYTESWAP 1\n * #define LWIP_PLATFORM_HTONS(x) <your_htons>\n * #define LWIP_PLATFORM_HTONL(x) <your_htonl>\n *\n * Note ntohs() and ntohl() are merely references to the htonx counterparts.\n */\n\n#if (LWIP_PLATFORM_BYTESWAP == 0) && (BYTE_ORDER == LITTLE_ENDIAN)\n\n/**\n * Convert an u16_t from host- to network byte order.\n *\n * @param n u16_t in host byte order\n * @return n in network byte order\n */\nu16_t\nlwip_htons(u16_t n)\n{\n  return ((n & 0xff) << 8) | ((n & 0xff00) >> 8);\n}\n\n/**\n * Convert an u16_t from network- to host byte order.\n *\n * @param n u16_t in network byte order\n * @return n in host byte order\n */\nu16_t\nlwip_ntohs(u16_t n)\n{\n  return lwip_htons(n);\n}\n\n/**\n * Convert an u32_t from host- to network byte order.\n *\n * @param n u32_t in host byte order\n * @return n in network byte order\n */\nu32_t\nlwip_htonl(u32_t n)\n{\n  return ((n & 0xff) << 24) |\n    ((n & 0xff00) << 8) |\n    ((n & 0xff0000UL) >> 8) |\n    ((n & 0xff000000UL) >> 24);\n}\n\n/**\n * Convert an u32_t from network- to host byte order.\n *\n * @param n u32_t in network byte order\n * @return n in host byte order\n */\nu32_t\nlwip_ntohl(u32_t n)\n{\n  return lwip_htonl(n);\n}\n\n#endif /* (LWIP_PLATFORM_BYTESWAP == 0) && (BYTE_ORDER == LITTLE_ENDIAN) */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/dhcp.c",
    "content": "/**\n * @file\n * Dynamic Host Configuration Protocol client\n *\n */\n\n/*\n *\n * Copyright (c) 2001-2004 Leon Woestenberg <leon.woestenberg@gmx.net>\n * Copyright (c) 2001-2004 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is a contribution to the lwIP TCP/IP stack.\n * The Swedish Institute of Computer Science and Adam Dunkels\n * are specifically granted permission to redistribute this\n * source code.\n *\n * Author: Leon Woestenberg <leon.woestenberg@gmx.net>\n *\n * This is a DHCP client for the lwIP TCP/IP stack. It aims to conform\n * with RFC 2131 and RFC 2132.\n *\n * TODO:\n * - Support for interfaces other than Ethernet (SLIP, PPP, ...)\n *\n * Please coordinate changes and requests with Leon Woestenberg\n * <leon.woestenberg@gmx.net>\n *\n * Integration with your code:\n *\n * In lwip/dhcp.h\n * #define DHCP_COARSE_TIMER_SECS (recommended 60 which is a minute)\n * #define DHCP_FINE_TIMER_MSECS (recommended 500 which equals TCP coarse timer)\n *\n * Then have your application call dhcp_coarse_tmr() and\n * dhcp_fine_tmr() on the defined intervals.\n *\n * dhcp_start(struct netif *netif);\n * starts a DHCP client instance which configures the interface by\n * obtaining an IP address lease and maintaining it.\n *\n * Use dhcp_release(netif) to end the lease and use dhcp_stop(netif)\n * to remove the DHCP client.\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_DHCP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/stats.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/def.h\"\n#include \"lwip/dhcp.h\"\n#include \"lwip/autoip.h\"\n#include \"lwip/dns.h\"\n#include \"netif/etharp.h\"\n\n#include <string.h>\n\n/** DHCP_CREATE_RAND_XID: if this is set to 1, the xid is created using\n * LWIP_RAND() (this overrides DHCP_GLOBAL_XID)\n */\n#ifndef DHCP_CREATE_RAND_XID\n#define DHCP_CREATE_RAND_XID 1\n#endif\n\n/** Default for DHCP_GLOBAL_XID is 0xABCD0000\n * This can be changed by defining DHCP_GLOBAL_XID and DHCP_GLOBAL_XID_HEADER, e.g.\n *  #define DHCP_GLOBAL_XID_HEADER \"stdlib.h\"\n *  #define DHCP_GLOBAL_XID rand()\n */\n#ifdef DHCP_GLOBAL_XID_HEADER\n#include DHCP_GLOBAL_XID_HEADER /* include optional starting XID generation prototypes */\n#endif\n\n/** DHCP_OPTION_MAX_MSG_SIZE is set to the MTU\n * MTU is checked to be big enough in dhcp_start */\n#define DHCP_MAX_MSG_LEN(netif)        (netif->mtu)\n#define DHCP_MAX_MSG_LEN_MIN_REQUIRED  576\n/** Minimum length for reply before packet is parsed */\n#define DHCP_MIN_REPLY_LEN             44\n\n#define REBOOT_TRIES 2\n\n/** Option handling: options are parsed in dhcp_parse_reply\n * and saved in an array where other functions can load them from.\n * This might be moved into the struct dhcp (not necessarily since\n * lwIP is single-threaded and the array is only used while in recv\n * callback). */\n#define DHCP_OPTION_IDX_OVERLOAD    0\n#define DHCP_OPTION_IDX_MSG_TYPE    1\n#define DHCP_OPTION_IDX_SERVER_ID   2\n#define DHCP_OPTION_IDX_LEASE_TIME  3\n#define DHCP_OPTION_IDX_T1          4\n#define DHCP_OPTION_IDX_T2          5\n#define DHCP_OPTION_IDX_SUBNET_MASK 6\n#define DHCP_OPTION_IDX_ROUTER      7\n#define DHCP_OPTION_IDX_DNS_SERVER  8\n#define DHCP_OPTION_IDX_MAX         (DHCP_OPTION_IDX_DNS_SERVER + DNS_MAX_SERVERS)\n\n/** Holds the decoded option values, only valid while in dhcp_recv.\n    @todo: move this into struct dhcp? */\nu32_t dhcp_rx_options_val[DHCP_OPTION_IDX_MAX];\n/** Holds a flag which option was received and is contained in dhcp_rx_options_val,\n    only valid while in dhcp_recv.\n    @todo: move this into struct dhcp? */\nu8_t  dhcp_rx_options_given[DHCP_OPTION_IDX_MAX];\n\n#ifdef DHCP_GLOBAL_XID\nstatic u32_t xid;\nstatic u8_t xid_initialised;\n#endif /* DHCP_GLOBAL_XID */\n\n#define dhcp_option_given(dhcp, idx)          (dhcp_rx_options_given[idx] != 0)\n#define dhcp_got_option(dhcp, idx)            (dhcp_rx_options_given[idx] = 1)\n#define dhcp_clear_option(dhcp, idx)          (dhcp_rx_options_given[idx] = 0)\n#define dhcp_clear_all_options(dhcp)          (memset(dhcp_rx_options_given, 0, sizeof(dhcp_rx_options_given)))\n#define dhcp_get_option_value(dhcp, idx)      (dhcp_rx_options_val[idx])\n#define dhcp_set_option_value(dhcp, idx, val) (dhcp_rx_options_val[idx] = (val))\n\n\n/* DHCP client state machine functions */\nstatic err_t dhcp_discover(struct netif *netif);\nstatic err_t dhcp_select(struct netif *netif);\nstatic void dhcp_bind(struct netif *netif);\n#if DHCP_DOES_ARP_CHECK\nstatic err_t dhcp_decline(struct netif *netif);\n#endif /* DHCP_DOES_ARP_CHECK */\nstatic err_t dhcp_rebind(struct netif *netif);\nstatic err_t dhcp_reboot(struct netif *netif);\nstatic void dhcp_set_state(struct dhcp *dhcp, u8_t new_state);\n\n/* receive, unfold, parse and free incoming messages */\nstatic void dhcp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *addr, u16_t port);\n\n/* set the DHCP timers */\nstatic void dhcp_timeout(struct netif *netif);\nstatic void dhcp_t1_timeout(struct netif *netif);\nstatic void dhcp_t2_timeout(struct netif *netif);\n\n/* build outgoing messages */\n/* create a DHCP message, fill in common headers */\nstatic err_t dhcp_create_msg(struct netif *netif, struct dhcp *dhcp, u8_t message_type);\n/* free a DHCP request */\nstatic void dhcp_delete_msg(struct dhcp *dhcp);\n/* add a DHCP option (type, then length in bytes) */\nstatic void dhcp_option(struct dhcp *dhcp, u8_t option_type, u8_t option_len);\n/* add option values */\nstatic void dhcp_option_byte(struct dhcp *dhcp, u8_t value);\nstatic void dhcp_option_short(struct dhcp *dhcp, u16_t value);\nstatic void dhcp_option_long(struct dhcp *dhcp, u32_t value);\n#if LWIP_NETIF_HOSTNAME\nstatic void dhcp_option_hostname(struct dhcp *dhcp, struct netif *netif);\n#endif /* LWIP_NETIF_HOSTNAME */\n/* always add the DHCP options trailer to end and pad */\nstatic void dhcp_option_trailer(struct dhcp *dhcp);\n\n/**\n * Back-off the DHCP client (because of a received NAK response).\n *\n * Back-off the DHCP client because of a received NAK. Receiving a\n * NAK means the client asked for something non-sensible, for\n * example when it tries to renew a lease obtained on another network.\n *\n * We clear any existing set IP address and restart DHCP negotiation\n * afresh (as per RFC2131 3.2.3).\n *\n * @param netif the netif under DHCP control\n */\nstatic void\ndhcp_handle_nak(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_handle_nak(netif=%p) %c%c%\"U16_F\"\\n\", \n    (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num));\n  /* Set the interface down since the address must no longer be used, as per RFC2131 */\n  netif_set_down(netif);\n  /* remove IP address from interface */\n  netif_set_ipaddr(netif, IP_ADDR_ANY);\n  netif_set_gw(netif, IP_ADDR_ANY);\n  netif_set_netmask(netif, IP_ADDR_ANY); \n  /* Change to a defined state */\n  dhcp_set_state(dhcp, DHCP_BACKING_OFF);\n  /* We can immediately restart discovery */\n  dhcp_discover(netif);\n}\n\n#if DHCP_DOES_ARP_CHECK\n/**\n * Checks if the offered IP address is already in use.\n *\n * It does so by sending an ARP request for the offered address and\n * entering CHECKING state. If no ARP reply is received within a small\n * interval, the address is assumed to be free for use by us.\n *\n * @param netif the netif under DHCP control\n */\nstatic void\ndhcp_check(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  err_t result;\n  u16_t msecs;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_check(netif=%p) %c%c\\n\", (void *)netif, (s16_t)netif->name[0],\n    (s16_t)netif->name[1]));\n  dhcp_set_state(dhcp, DHCP_CHECKING);\n  /* create an ARP query for the offered IP address, expecting that no host\n     responds, as the IP address should not be in use. */\n  result = etharp_query(netif, &dhcp->offered_ip_addr, NULL);\n  if (result != ERR_OK) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, (\"dhcp_check: could not perform ARP query\\n\"));\n  }\n  dhcp->tries++;\n  msecs = 500;\n  dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_check(): set request timeout %\"U16_F\" msecs\\n\", msecs));\n}\n#endif /* DHCP_DOES_ARP_CHECK */\n\n/**\n * Remember the configuration offered by a DHCP server.\n *\n * @param netif the netif under DHCP control\n */\nstatic void\ndhcp_handle_offer(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_handle_offer(netif=%p) %c%c%\"U16_F\"\\n\",\n    (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num));\n  /* obtain the server address */\n  if (dhcp_option_given(dhcp, DHCP_OPTION_IDX_SERVER_ID)) {\n    ip4_addr_set_u32(&dhcp->server_ip_addr, htonl(dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_SERVER_ID)));\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, (\"dhcp_handle_offer(): server 0x%08\"X32_F\"\\n\",\n      ip4_addr_get_u32(&dhcp->server_ip_addr)));\n    /* remember offered address */\n    ip_addr_copy(dhcp->offered_ip_addr, dhcp->msg_in->yiaddr);\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, (\"dhcp_handle_offer(): offer for 0x%08\"X32_F\"\\n\",\n      ip4_addr_get_u32(&dhcp->offered_ip_addr)));\n\n    dhcp_select(netif);\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS,\n      (\"dhcp_handle_offer(netif=%p) did not get server ID!\\n\", (void*)netif));\n  }\n}\n\n/**\n * Select a DHCP server offer out of all offers.\n *\n * Simply select the first offer received.\n *\n * @param netif the netif under DHCP control\n * @return lwIP specific error (see error.h)\n */\nstatic err_t\ndhcp_select(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  err_t result;\n  u16_t msecs;\n\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_select(netif=%p) %c%c%\"U16_F\"\\n\", (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num));\n  dhcp_set_state(dhcp, DHCP_REQUESTING);\n\n  /* create and initialize the DHCP message header */\n  result = dhcp_create_msg(netif, dhcp, DHCP_REQUEST);\n  if (result == ERR_OK) {\n    dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN);\n    dhcp_option_short(dhcp, DHCP_MAX_MSG_LEN(netif));\n\n    /* MUST request the offered IP address */\n    dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4);\n    dhcp_option_long(dhcp, ntohl(ip4_addr_get_u32(&dhcp->offered_ip_addr)));\n\n    dhcp_option(dhcp, DHCP_OPTION_SERVER_ID, 4);\n    dhcp_option_long(dhcp, ntohl(ip4_addr_get_u32(&dhcp->server_ip_addr)));\n\n    dhcp_option(dhcp, DHCP_OPTION_PARAMETER_REQUEST_LIST, 4/*num options*/);\n    dhcp_option_byte(dhcp, DHCP_OPTION_SUBNET_MASK);\n    dhcp_option_byte(dhcp, DHCP_OPTION_ROUTER);\n    dhcp_option_byte(dhcp, DHCP_OPTION_BROADCAST);\n    dhcp_option_byte(dhcp, DHCP_OPTION_DNS_SERVER);\n\n#if LWIP_NETIF_HOSTNAME\n    dhcp_option_hostname(dhcp, netif);\n#endif /* LWIP_NETIF_HOSTNAME */\n\n    dhcp_option_trailer(dhcp);\n    /* shrink the pbuf to the actual content length */\n    pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len);\n\n    /* send broadcast to any DHCP server */\n    udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif);\n    dhcp_delete_msg(dhcp);\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_select: REQUESTING\\n\"));\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, (\"dhcp_select: could not allocate DHCP request\\n\"));\n  }\n  dhcp->tries++;\n  msecs = (dhcp->tries < 6 ? 1 << dhcp->tries : 60) * 1000;\n  dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, (\"dhcp_select(): set request timeout %\"U16_F\" msecs\\n\", msecs));\n  return result;\n}\n\n/**\n * The DHCP timer that checks for lease renewal/rebind timeouts.\n */\nvoid\ndhcp_coarse_tmr()\n{\n  struct netif *netif = netif_list;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_coarse_tmr()\\n\"));\n  /* iterate through all network interfaces */\n  while (netif != NULL) {\n    /* only act on DHCP configured interfaces */\n    if (netif->dhcp != NULL) {\n      /* timer is active (non zero), and triggers (zeroes) now? */\n      if (netif->dhcp->t2_timeout-- == 1) {\n        LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_coarse_tmr(): t2 timeout\\n\"));\n        /* this clients' rebind timeout triggered */\n        dhcp_t2_timeout(netif);\n      /* timer is active (non zero), and triggers (zeroes) now */\n      } else if (netif->dhcp->t1_timeout-- == 1) {\n        LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_coarse_tmr(): t1 timeout\\n\"));\n        /* this clients' renewal timeout triggered */\n        dhcp_t1_timeout(netif);\n      }\n    }\n    /* proceed to next netif */\n    netif = netif->next;\n  }\n}\n\n/**\n * DHCP transaction timeout handling\n *\n * A DHCP server is expected to respond within a short period of time.\n * This timer checks whether an outstanding DHCP request is timed out.\n */\nvoid\ndhcp_fine_tmr()\n{\n  struct netif *netif = netif_list;\n  /* loop through netif's */\n  while (netif != NULL) {\n    /* only act on DHCP configured interfaces */\n    if (netif->dhcp != NULL) {\n      /* timer is active (non zero), and is about to trigger now */      \n      if (netif->dhcp->request_timeout > 1) {\n        netif->dhcp->request_timeout--;\n      }\n      else if (netif->dhcp->request_timeout == 1) {\n        netif->dhcp->request_timeout--;\n        /* { netif->dhcp->request_timeout == 0 } */\n        LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_fine_tmr(): request timeout\\n\"));\n        /* this client's request timeout triggered */\n        dhcp_timeout(netif);\n      }\n    }\n    /* proceed to next network interface */\n    netif = netif->next;\n  }\n}\n\n/**\n * A DHCP negotiation transaction, or ARP request, has timed out.\n *\n * The timer that was started with the DHCP or ARP request has\n * timed out, indicating no response was received in time.\n *\n * @param netif the netif under DHCP control\n */\nstatic void\ndhcp_timeout(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_timeout()\\n\"));\n  /* back-off period has passed, or server selection timed out */\n  if ((dhcp->state == DHCP_BACKING_OFF) || (dhcp->state == DHCP_SELECTING)) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_timeout(): restarting discovery\\n\"));\n    dhcp_discover(netif);\n  /* receiving the requested lease timed out */\n  } else if (dhcp->state == DHCP_REQUESTING) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_timeout(): REQUESTING, DHCP request timed out\\n\"));\n    if (dhcp->tries <= 5) {\n      dhcp_select(netif);\n    } else {\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_timeout(): REQUESTING, releasing, restarting\\n\"));\n      dhcp_release(netif);\n      dhcp_discover(netif);\n    }\n#if DHCP_DOES_ARP_CHECK\n  /* received no ARP reply for the offered address (which is good) */\n  } else if (dhcp->state == DHCP_CHECKING) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_timeout(): CHECKING, ARP request timed out\\n\"));\n    if (dhcp->tries <= 1) {\n      dhcp_check(netif);\n    /* no ARP replies on the offered address,\n       looks like the IP address is indeed free */\n    } else {\n      /* bind the interface to the offered address */\n      dhcp_bind(netif);\n    }\n#endif /* DHCP_DOES_ARP_CHECK */\n  }\n  /* did not get response to renew request? */\n  else if (dhcp->state == DHCP_RENEWING) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_timeout(): RENEWING, DHCP request timed out\\n\"));\n    /* just retry renewal */\n    /* note that the rebind timer will eventually time-out if renew does not work */\n    dhcp_renew(netif);\n  /* did not get response to rebind request? */\n  } else if (dhcp->state == DHCP_REBINDING) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_timeout(): REBINDING, DHCP request timed out\\n\"));\n    if (dhcp->tries <= 8) {\n      dhcp_rebind(netif);\n    } else {\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_timeout(): RELEASING, DISCOVERING\\n\"));\n      dhcp_release(netif);\n      dhcp_discover(netif);\n    }\n  } else if (dhcp->state == DHCP_REBOOTING) {\n    if (dhcp->tries < REBOOT_TRIES) {\n      dhcp_reboot(netif);\n    } else {\n      dhcp_discover(netif);\n    }\n  }\n}\n\n/**\n * The renewal period has timed out.\n *\n * @param netif the netif under DHCP control\n */\nstatic void\ndhcp_t1_timeout(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, (\"dhcp_t1_timeout()\\n\"));\n  if ((dhcp->state == DHCP_REQUESTING) || (dhcp->state == DHCP_BOUND) ||\n      (dhcp->state == DHCP_RENEWING)) {\n    /* just retry to renew - note that the rebind timer (t2) will\n     * eventually time-out if renew tries fail. */\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n                (\"dhcp_t1_timeout(): must renew\\n\"));\n    /* This slightly different to RFC2131: DHCPREQUEST will be sent from state\n       DHCP_RENEWING, not DHCP_BOUND */\n    dhcp_renew(netif);\n  }\n}\n\n/**\n * The rebind period has timed out.\n *\n * @param netif the netif under DHCP control\n */\nstatic void\ndhcp_t2_timeout(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_t2_timeout()\\n\"));\n  if ((dhcp->state == DHCP_REQUESTING) || (dhcp->state == DHCP_BOUND) ||\n      (dhcp->state == DHCP_RENEWING)) {\n    /* just retry to rebind */\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n                (\"dhcp_t2_timeout(): must rebind\\n\"));\n    /* This slightly different to RFC2131: DHCPREQUEST will be sent from state\n       DHCP_REBINDING, not DHCP_BOUND */\n    dhcp_rebind(netif);\n  }\n}\n\n/**\n * Handle a DHCP ACK packet\n *\n * @param netif the netif under DHCP control\n */\nstatic void\ndhcp_handle_ack(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n#if LWIP_DNS\n  u8_t n;\n#endif /* LWIP_DNS */\n\n  /* clear options we might not get from the ACK */\n  ip_addr_set_zero(&dhcp->offered_sn_mask);\n  ip_addr_set_zero(&dhcp->offered_gw_addr);\n#if LWIP_DHCP_BOOTP_FILE\n  ip_addr_set_zero(&dhcp->offered_si_addr);\n#endif /* LWIP_DHCP_BOOTP_FILE */\n\n  /* lease time given? */\n  if (dhcp_option_given(dhcp, DHCP_OPTION_IDX_LEASE_TIME)) {\n    /* remember offered lease time */\n    dhcp->offered_t0_lease = dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_LEASE_TIME);\n  }\n  /* renewal period given? */\n  if (dhcp_option_given(dhcp, DHCP_OPTION_IDX_T1)) {\n    /* remember given renewal period */\n    dhcp->offered_t1_renew = dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_T1);\n  } else {\n    /* calculate safe periods for renewal */\n    dhcp->offered_t1_renew = dhcp->offered_t0_lease / 2;\n  }\n\n  /* renewal period given? */\n  if (dhcp_option_given(dhcp, DHCP_OPTION_IDX_T2)) {\n    /* remember given rebind period */\n    dhcp->offered_t2_rebind = dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_T2);\n  } else {\n    /* calculate safe periods for rebinding */\n    dhcp->offered_t2_rebind = dhcp->offered_t0_lease;\n  }\n\n  /* (y)our internet address */\n  ip_addr_copy(dhcp->offered_ip_addr, dhcp->msg_in->yiaddr);\n\n#if LWIP_DHCP_BOOTP_FILE\n  /* copy boot server address,\n     boot file name copied in dhcp_parse_reply if not overloaded */\n  ip_addr_copy(dhcp->offered_si_addr, dhcp->msg_in->siaddr);\n#endif /* LWIP_DHCP_BOOTP_FILE */\n\n  /* subnet mask given? */\n  if (dhcp_option_given(dhcp, DHCP_OPTION_IDX_SUBNET_MASK)) {\n    /* remember given subnet mask */\n    ip4_addr_set_u32(&dhcp->offered_sn_mask, htonl(dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_SUBNET_MASK)));\n    dhcp->subnet_mask_given = 1;\n  } else {\n    dhcp->subnet_mask_given = 0;\n  }\n\n  /* gateway router */\n  if (dhcp_option_given(dhcp, DHCP_OPTION_IDX_ROUTER)) {\n    ip4_addr_set_u32(&dhcp->offered_gw_addr, htonl(dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_ROUTER)));\n  }\n  \n#if LWIP_DNS\n  /* DNS servers */\n  n = 0;\n  while(dhcp_option_given(dhcp, DHCP_OPTION_IDX_DNS_SERVER + n) && (n < DNS_MAX_SERVERS)) {\n    ip_addr_t dns_addr;\n    ip4_addr_set_u32(&dns_addr, htonl(dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_DNS_SERVER + n)));\n    dns_setserver(n, &dns_addr);\n    n++;\n  }\n#endif /* LWIP_DNS */\n}\n\n/** Set a statically allocated struct dhcp to work with.\n * Using this prevents dhcp_start to allocate it using mem_malloc.\n *\n * @param netif the netif for which to set the struct dhcp\n * @param dhcp (uninitialised) dhcp struct allocated by the application\n */\nvoid\ndhcp_set_struct(struct netif *netif, struct dhcp *dhcp)\n{\n  LWIP_ASSERT(\"netif != NULL\", netif != NULL);\n  LWIP_ASSERT(\"dhcp != NULL\", dhcp != NULL);\n  LWIP_ASSERT(\"netif already has a struct dhcp set\", netif->dhcp == NULL);\n\n  /* clear data structure */\n  memset(dhcp, 0, sizeof(struct dhcp));\n  /* dhcp_set_state(&dhcp, DHCP_OFF); */\n  netif->dhcp = dhcp;\n}\n\n/** Removes a struct dhcp from a netif.\n *\n * ATTENTION: Only use this when not using dhcp_set_struct() to allocate the\n *            struct dhcp since the memory is passed back to the heap.\n *\n * @param netif the netif from which to remove the struct dhcp\n */\nvoid dhcp_cleanup(struct netif *netif)\n{\n  LWIP_ASSERT(\"netif != NULL\", netif != NULL);\n\n  if (netif->dhcp != NULL) {\n    mem_free(netif->dhcp);\n    netif->dhcp = NULL;\n  }\n}\n\n/**\n * Start DHCP negotiation for a network interface.\n *\n * If no DHCP client instance was attached to this interface,\n * a new client is created first. If a DHCP client instance\n * was already present, it restarts negotiation.\n *\n * @param netif The lwIP network interface\n * @return lwIP error code\n * - ERR_OK - No error\n * - ERR_MEM - Out of memory\n */\nerr_t\ndhcp_start(struct netif *netif)\n{\n  struct dhcp *dhcp;\n  err_t result = ERR_OK;\n\n  LWIP_ERROR(\"netif != NULL\", (netif != NULL), return ERR_ARG;);\n  dhcp = netif->dhcp;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_start(netif=%p) %c%c%\"U16_F\"\\n\", (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num));\n  /* Remove the flag that says this netif is handled by DHCP,\n     it is set when we succeeded starting. */\n  netif->flags &= ~NETIF_FLAG_DHCP;\n\n  /* check hwtype of the netif */\n  if ((netif->flags & NETIF_FLAG_ETHARP) == 0) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_start(): No ETHARP netif\\n\"));\n    return ERR_ARG;\n  }\n\n  /* check MTU of the netif */\n  if (netif->mtu < DHCP_MAX_MSG_LEN_MIN_REQUIRED) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_start(): Cannot use this netif with DHCP: MTU is too small\\n\"));\n    return ERR_MEM;\n  }\n\n  /* no DHCP client attached yet? */\n  if (dhcp == NULL) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_start(): starting new DHCP client\\n\"));\n    dhcp = (struct dhcp *)mem_malloc(sizeof(struct dhcp));\n    if (dhcp == NULL) {\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_start(): could not allocate dhcp\\n\"));\n      return ERR_MEM;\n    }\n    /* store this dhcp client in the netif */\n    netif->dhcp = dhcp;\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_start(): allocated dhcp\"));\n  /* already has DHCP client attached */\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_start(): restarting DHCP configuration\\n\"));\n    if (dhcp->pcb != NULL) {\n      udp_remove(dhcp->pcb);\n    }\n    LWIP_ASSERT(\"pbuf p_out wasn't freed\", dhcp->p_out == NULL);\n    LWIP_ASSERT(\"reply wasn't freed\", dhcp->msg_in == NULL );\n  }\n    \n  /* clear data structure */\n  memset(dhcp, 0, sizeof(struct dhcp));\n  /* dhcp_set_state(&dhcp, DHCP_OFF); */\n  /* allocate UDP PCB */\n  dhcp->pcb = udp_new();\n  if (dhcp->pcb == NULL) {\n    LWIP_DEBUGF(DHCP_DEBUG  | LWIP_DBG_TRACE, (\"dhcp_start(): could not obtain pcb\\n\"));\n    return ERR_MEM;\n  }\n  ip_set_option(dhcp->pcb, SOF_BROADCAST);\n  /* set up local and remote port for the pcb */\n  udp_bind(dhcp->pcb, IP_ADDR_ANY, DHCP_CLIENT_PORT);\n  udp_connect(dhcp->pcb, IP_ADDR_ANY, DHCP_SERVER_PORT);\n  /* set up the recv callback and argument */\n  udp_recv(dhcp->pcb, dhcp_recv, netif);\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_start(): starting DHCP configuration\\n\"));\n  /* (re)start the DHCP negotiation */\n  result = dhcp_discover(netif);\n  if (result != ERR_OK) {\n    /* free resources allocated above */\n    dhcp_stop(netif);\n    return ERR_MEM;\n  }\n  /* Set the flag that says this netif is handled by DHCP. */\n  netif->flags |= NETIF_FLAG_DHCP;\n  return result;\n}\n\n/**\n * Inform a DHCP server of our manual configuration.\n *\n * This informs DHCP servers of our fixed IP address configuration\n * by sending an INFORM message. It does not involve DHCP address\n * configuration, it is just here to be nice to the network.\n *\n * @param netif The lwIP network interface\n */\nvoid\ndhcp_inform(struct netif *netif)\n{\n  struct dhcp dhcp;\n  err_t result = ERR_OK;\n  struct udp_pcb *pcb;\n\n  LWIP_ERROR(\"netif != NULL\", (netif != NULL), return;);\n\n  memset(&dhcp, 0, sizeof(struct dhcp));\n  dhcp_set_state(&dhcp, DHCP_INFORM);\n\n  if ((netif->dhcp != NULL) && (netif->dhcp->pcb != NULL)) {\n    /* re-use existing pcb */\n    pcb = netif->dhcp->pcb;\n  } else {\n    pcb = udp_new();\n    if (pcb == NULL) {\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"dhcp_inform(): could not obtain pcb\"));\n      return;\n    }\n    dhcp.pcb = pcb;\n    ip_set_option(dhcp.pcb, SOF_BROADCAST);\n    udp_bind(dhcp.pcb, IP_ADDR_ANY, DHCP_CLIENT_PORT);\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_inform(): created new udp pcb\\n\"));\n  }\n  /* create and initialize the DHCP message header */\n  result = dhcp_create_msg(netif, &dhcp, DHCP_INFORM);\n  if (result == ERR_OK) {\n    dhcp_option(&dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN);\n    dhcp_option_short(&dhcp, DHCP_MAX_MSG_LEN(netif));\n\n    dhcp_option_trailer(&dhcp);\n\n    pbuf_realloc(dhcp.p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp.options_out_len);\n\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_inform: INFORMING\\n\"));\n    udp_sendto_if(pcb, dhcp.p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif);\n    dhcp_delete_msg(&dhcp);\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"dhcp_inform: could not allocate DHCP request\\n\"));\n  }\n\n  if (dhcp.pcb != NULL) {\n    /* otherwise, the existing pcb was used */\n    udp_remove(dhcp.pcb);\n  }\n}\n\n/** Handle a possible change in the network configuration.\n *\n * This enters the REBOOTING state to verify that the currently bound\n * address is still valid.\n */\nvoid\ndhcp_network_changed(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  if (!dhcp)\n    return;\n  switch (dhcp->state) {\n  case DHCP_REBINDING:\n  case DHCP_RENEWING:\n  case DHCP_BOUND:\n  case DHCP_REBOOTING:\n    netif_set_down(netif);\n    dhcp->tries = 0;\n    dhcp_reboot(netif);\n    break;\n  case DHCP_OFF:\n    /* stay off */\n    break;\n  default:\n    dhcp->tries = 0;\n#if LWIP_DHCP_AUTOIP_COOP\n    if(dhcp->autoip_coop_state == DHCP_AUTOIP_COOP_STATE_ON) {\n      autoip_stop(netif);\n      dhcp->autoip_coop_state = DHCP_AUTOIP_COOP_STATE_OFF;\n    }\n#endif /* LWIP_DHCP_AUTOIP_COOP */\n    dhcp_discover(netif);\n    break;\n  }\n}\n\n#if DHCP_DOES_ARP_CHECK\n/**\n * Match an ARP reply with the offered IP address.\n *\n * @param netif the network interface on which the reply was received\n * @param addr The IP address we received a reply from\n */\nvoid dhcp_arp_reply(struct netif *netif, ip_addr_t *addr)\n{\n  LWIP_ERROR(\"netif != NULL\", (netif != NULL), return;);\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_arp_reply()\\n\"));\n  /* is a DHCP client doing an ARP check? */\n  if ((netif->dhcp != NULL) && (netif->dhcp->state == DHCP_CHECKING)) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_arp_reply(): CHECKING, arp reply for 0x%08\"X32_F\"\\n\",\n      ip4_addr_get_u32(addr)));\n    /* did a host respond with the address we\n       were offered by the DHCP server? */\n    if (ip_addr_cmp(addr, &netif->dhcp->offered_ip_addr)) {\n      /* we will not accept the offered address */\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE | LWIP_DBG_LEVEL_WARNING,\n        (\"dhcp_arp_reply(): arp reply matched with offered address, declining\\n\"));\n      dhcp_decline(netif);\n    }\n  }\n}\n\n/**\n * Decline an offered lease.\n *\n * Tell the DHCP server we do not accept the offered address.\n * One reason to decline the lease is when we find out the address\n * is already in use by another host (through ARP).\n *\n * @param netif the netif under DHCP control\n */\nstatic err_t\ndhcp_decline(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  err_t result = ERR_OK;\n  u16_t msecs;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_decline()\\n\"));\n  dhcp_set_state(dhcp, DHCP_BACKING_OFF);\n  /* create and initialize the DHCP message header */\n  result = dhcp_create_msg(netif, dhcp, DHCP_DECLINE);\n  if (result == ERR_OK) {\n    dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4);\n    dhcp_option_long(dhcp, ntohl(ip4_addr_get_u32(&dhcp->offered_ip_addr)));\n\n    dhcp_option_trailer(dhcp);\n    /* resize pbuf to reflect true size of options */\n    pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len);\n\n    /* per section 4.4.4, broadcast DECLINE messages */\n    udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif);\n    dhcp_delete_msg(dhcp);\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_decline: BACKING OFF\\n\"));\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS,\n      (\"dhcp_decline: could not allocate DHCP request\\n\"));\n  }\n  dhcp->tries++;\n  msecs = 10*1000;\n  dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_decline(): set request timeout %\"U16_F\" msecs\\n\", msecs));\n  return result;\n}\n#endif /* DHCP_DOES_ARP_CHECK */\n\n\n/**\n * Start the DHCP process, discover a DHCP server.\n *\n * @param netif the netif under DHCP control\n */\nstatic err_t\ndhcp_discover(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  err_t result = ERR_OK;\n  u16_t msecs;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_discover()\\n\"));\n  ip_addr_set_any(&dhcp->offered_ip_addr);\n  dhcp_set_state(dhcp, DHCP_SELECTING);\n  /* create and initialize the DHCP message header */\n  result = dhcp_create_msg(netif, dhcp, DHCP_DISCOVER);\n  if (result == ERR_OK) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_discover: making request\\n\"));\n\n    dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN);\n    dhcp_option_short(dhcp, DHCP_MAX_MSG_LEN(netif));\n\n    dhcp_option(dhcp, DHCP_OPTION_PARAMETER_REQUEST_LIST, 4/*num options*/);\n    dhcp_option_byte(dhcp, DHCP_OPTION_SUBNET_MASK);\n    dhcp_option_byte(dhcp, DHCP_OPTION_ROUTER);\n    dhcp_option_byte(dhcp, DHCP_OPTION_BROADCAST);\n    dhcp_option_byte(dhcp, DHCP_OPTION_DNS_SERVER);\n\n    dhcp_option_trailer(dhcp);\n\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_discover: realloc()ing\\n\"));\n    pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len);\n\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_discover: sendto(DISCOVER, IP_ADDR_BROADCAST, DHCP_SERVER_PORT)\\n\"));\n    udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif);\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_discover: deleting()ing\\n\"));\n    dhcp_delete_msg(dhcp);\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_discover: SELECTING\\n\"));\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"dhcp_discover: could not allocate DHCP request\\n\"));\n  }\n  dhcp->tries++;\n#if LWIP_DHCP_AUTOIP_COOP\n  if(dhcp->tries >= LWIP_DHCP_AUTOIP_COOP_TRIES && dhcp->autoip_coop_state == DHCP_AUTOIP_COOP_STATE_OFF) {\n    dhcp->autoip_coop_state = DHCP_AUTOIP_COOP_STATE_ON;\n    autoip_start(netif);\n  }\n#endif /* LWIP_DHCP_AUTOIP_COOP */\n  msecs = (dhcp->tries < 6 ? 1 << dhcp->tries : 60) * 1000;\n  dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_discover(): set request timeout %\"U16_F\" msecs\\n\", msecs));\n  return result;\n}\n\n\n/**\n * Bind the interface to the offered IP address.\n *\n * @param netif network interface to bind to the offered address\n */\nstatic void\ndhcp_bind(struct netif *netif)\n{\n  u32_t timeout;\n  struct dhcp *dhcp;\n  ip_addr_t sn_mask, gw_addr;\n  LWIP_ERROR(\"dhcp_bind: netif != NULL\", (netif != NULL), return;);\n  dhcp = netif->dhcp;\n  LWIP_ERROR(\"dhcp_bind: dhcp != NULL\", (dhcp != NULL), return;);\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_bind(netif=%p) %c%c%\"U16_F\"\\n\", (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num));\n\n  /* temporary DHCP lease? */\n  if (dhcp->offered_t1_renew != 0xffffffffUL) {\n    /* set renewal period timer */\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_bind(): t1 renewal timer %\"U32_F\" secs\\n\", dhcp->offered_t1_renew));\n    timeout = (dhcp->offered_t1_renew + DHCP_COARSE_TIMER_SECS / 2) / DHCP_COARSE_TIMER_SECS;\n    if(timeout > 0xffff) {\n      timeout = 0xffff;\n    }\n    dhcp->t1_timeout = (u16_t)timeout;\n    if (dhcp->t1_timeout == 0) {\n      dhcp->t1_timeout = 1;\n    }\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_bind(): set request timeout %\"U32_F\" msecs\\n\", dhcp->offered_t1_renew*1000));\n  }\n  /* set renewal period timer */\n  if (dhcp->offered_t2_rebind != 0xffffffffUL) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_bind(): t2 rebind timer %\"U32_F\" secs\\n\", dhcp->offered_t2_rebind));\n    timeout = (dhcp->offered_t2_rebind + DHCP_COARSE_TIMER_SECS / 2) / DHCP_COARSE_TIMER_SECS;\n    if(timeout > 0xffff) {\n      timeout = 0xffff;\n    }\n    dhcp->t2_timeout = (u16_t)timeout;\n    if (dhcp->t2_timeout == 0) {\n      dhcp->t2_timeout = 1;\n    }\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_bind(): set request timeout %\"U32_F\" msecs\\n\", dhcp->offered_t2_rebind*1000));\n  }\n\n  /* If we have sub 1 minute lease, t2 and t1 will kick in at the same time. */\n  if ((dhcp->t1_timeout >= dhcp->t2_timeout) && (dhcp->t2_timeout > 0)) {\n    dhcp->t1_timeout = 0;\n  }\n\n  if (dhcp->subnet_mask_given) {\n    /* copy offered network mask */\n    ip_addr_copy(sn_mask, dhcp->offered_sn_mask);\n  } else {\n    /* subnet mask not given, choose a safe subnet mask given the network class */\n    u8_t first_octet = ip4_addr1(&dhcp->offered_ip_addr);\n    if (first_octet <= 127) {\n      ip4_addr_set_u32(&sn_mask, PP_HTONL(0xff000000UL));\n    } else if (first_octet >= 192) {\n      ip4_addr_set_u32(&sn_mask, PP_HTONL(0xffffff00UL));\n    } else {\n      ip4_addr_set_u32(&sn_mask, PP_HTONL(0xffff0000UL));\n    }\n  }\n\n  ip_addr_copy(gw_addr, dhcp->offered_gw_addr);\n  /* gateway address not given? */\n  if (ip_addr_isany(&gw_addr)) {\n    /* copy network address */\n    ip_addr_get_network(&gw_addr, &dhcp->offered_ip_addr, &sn_mask);\n    /* use first host address on network as gateway */\n    ip4_addr_set_u32(&gw_addr, ip4_addr_get_u32(&gw_addr) | PP_HTONL(0x00000001UL));\n  }\n\n#if LWIP_DHCP_AUTOIP_COOP\n  if(dhcp->autoip_coop_state == DHCP_AUTOIP_COOP_STATE_ON) {\n    autoip_stop(netif);\n    dhcp->autoip_coop_state = DHCP_AUTOIP_COOP_STATE_OFF;\n  }\n#endif /* LWIP_DHCP_AUTOIP_COOP */\n\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, (\"dhcp_bind(): IP: 0x%08\"X32_F\"\\n\",\n    ip4_addr_get_u32(&dhcp->offered_ip_addr)));\n  netif_set_ipaddr(netif, &dhcp->offered_ip_addr);\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, (\"dhcp_bind(): SN: 0x%08\"X32_F\"\\n\",\n    ip4_addr_get_u32(&sn_mask)));\n  netif_set_netmask(netif, &sn_mask);\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_STATE, (\"dhcp_bind(): GW: 0x%08\"X32_F\"\\n\",\n    ip4_addr_get_u32(&gw_addr)));\n  netif_set_gw(netif, &gw_addr);\n  /* bring the interface up */\n  netif_set_up(netif);\n  /* netif is now bound to DHCP leased address */\n  dhcp_set_state(dhcp, DHCP_BOUND);\n}\n\n/**\n * Renew an existing DHCP lease at the involved DHCP server.\n *\n * @param netif network interface which must renew its lease\n */\nerr_t\ndhcp_renew(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  err_t result;\n  u16_t msecs;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_renew()\\n\"));\n  dhcp_set_state(dhcp, DHCP_RENEWING);\n\n  /* create and initialize the DHCP message header */\n  result = dhcp_create_msg(netif, dhcp, DHCP_REQUEST);\n  if (result == ERR_OK) {\n    dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN);\n    dhcp_option_short(dhcp, DHCP_MAX_MSG_LEN(netif));\n\n#if 0\n    dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4);\n    dhcp_option_long(dhcp, ntohl(dhcp->offered_ip_addr.addr));\n#endif\n\n#if 0\n    dhcp_option(dhcp, DHCP_OPTION_SERVER_ID, 4);\n    dhcp_option_long(dhcp, ntohl(dhcp->server_ip_addr.addr));\n#endif\n\n#if LWIP_NETIF_HOSTNAME\n    dhcp_option_hostname(dhcp, netif);\n#endif /* LWIP_NETIF_HOSTNAME */\n\n    /* append DHCP message trailer */\n    dhcp_option_trailer(dhcp);\n\n    pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len);\n\n    udp_sendto_if(dhcp->pcb, dhcp->p_out, &dhcp->server_ip_addr, DHCP_SERVER_PORT, netif);\n    dhcp_delete_msg(dhcp);\n\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_renew: RENEWING\\n\"));\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"dhcp_renew: could not allocate DHCP request\\n\"));\n  }\n  dhcp->tries++;\n  /* back-off on retries, but to a maximum of 20 seconds */\n  msecs = dhcp->tries < 10 ? dhcp->tries * 2000 : 20 * 1000;\n  dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_renew(): set request timeout %\"U16_F\" msecs\\n\", msecs));\n  return result;\n}\n\n/**\n * Rebind with a DHCP server for an existing DHCP lease.\n *\n * @param netif network interface which must rebind with a DHCP server\n */\nstatic err_t\ndhcp_rebind(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  err_t result;\n  u16_t msecs;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_rebind()\\n\"));\n  dhcp_set_state(dhcp, DHCP_REBINDING);\n\n  /* create and initialize the DHCP message header */\n  result = dhcp_create_msg(netif, dhcp, DHCP_REQUEST);\n  if (result == ERR_OK) {\n    dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN);\n    dhcp_option_short(dhcp, DHCP_MAX_MSG_LEN(netif));\n\n#if LWIP_NETIF_HOSTNAME\n    dhcp_option_hostname(dhcp, netif);\n#endif /* LWIP_NETIF_HOSTNAME */\n\n#if 0\n    dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4);\n    dhcp_option_long(dhcp, ntohl(dhcp->offered_ip_addr.addr));\n\n    dhcp_option(dhcp, DHCP_OPTION_SERVER_ID, 4);\n    dhcp_option_long(dhcp, ntohl(dhcp->server_ip_addr.addr));\n#endif\n\n    dhcp_option_trailer(dhcp);\n\n    pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len);\n\n    /* broadcast to server */\n    udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif);\n    dhcp_delete_msg(dhcp);\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_rebind: REBINDING\\n\"));\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"dhcp_rebind: could not allocate DHCP request\\n\"));\n  }\n  dhcp->tries++;\n  msecs = dhcp->tries < 10 ? dhcp->tries * 1000 : 10 * 1000;\n  dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_rebind(): set request timeout %\"U16_F\" msecs\\n\", msecs));\n  return result;\n}\n\n/**\n * Enter REBOOTING state to verify an existing lease\n *\n * @param netif network interface which must reboot\n */\nstatic err_t\ndhcp_reboot(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  err_t result;\n  u16_t msecs;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_reboot()\\n\"));\n  dhcp_set_state(dhcp, DHCP_REBOOTING);\n\n  /* create and initialize the DHCP message header */\n  result = dhcp_create_msg(netif, dhcp, DHCP_REQUEST);\n  if (result == ERR_OK) {\n    dhcp_option(dhcp, DHCP_OPTION_MAX_MSG_SIZE, DHCP_OPTION_MAX_MSG_SIZE_LEN);\n    dhcp_option_short(dhcp, 576);\n\n    dhcp_option(dhcp, DHCP_OPTION_REQUESTED_IP, 4);\n    dhcp_option_long(dhcp, ntohl(ip4_addr_get_u32(&dhcp->offered_ip_addr)));\n\n    dhcp_option_trailer(dhcp);\n\n    pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len);\n\n    /* broadcast to server */\n    udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif);\n    dhcp_delete_msg(dhcp);\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_reboot: REBOOTING\\n\"));\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"dhcp_reboot: could not allocate DHCP request\\n\"));\n  }\n  dhcp->tries++;\n  msecs = dhcp->tries < 10 ? dhcp->tries * 1000 : 10 * 1000;\n  dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_reboot(): set request timeout %\"U16_F\" msecs\\n\", msecs));\n  return result;\n}\n\n\n/**\n * Release a DHCP lease.\n *\n * @param netif network interface which must release its lease\n */\nerr_t\ndhcp_release(struct netif *netif)\n{\n  struct dhcp *dhcp = netif->dhcp;\n  err_t result;\n  u16_t msecs;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_release()\\n\"));\n\n  /* idle DHCP client */\n  dhcp_set_state(dhcp, DHCP_OFF);\n  /* clean old DHCP offer */\n  ip_addr_set_zero(&dhcp->server_ip_addr);\n  ip_addr_set_zero(&dhcp->offered_ip_addr);\n  ip_addr_set_zero(&dhcp->offered_sn_mask);\n  ip_addr_set_zero(&dhcp->offered_gw_addr);\n#if LWIP_DHCP_BOOTP_FILE\n  ip_addr_set_zero(&dhcp->offered_si_addr);\n#endif /* LWIP_DHCP_BOOTP_FILE */\n  dhcp->offered_t0_lease = dhcp->offered_t1_renew = dhcp->offered_t2_rebind = 0;\n  \n  /* create and initialize the DHCP message header */\n  result = dhcp_create_msg(netif, dhcp, DHCP_RELEASE);\n  if (result == ERR_OK) {\n    dhcp_option_trailer(dhcp);\n\n    pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len);\n\n    udp_sendto_if(dhcp->pcb, dhcp->p_out, &dhcp->server_ip_addr, DHCP_SERVER_PORT, netif);\n    dhcp_delete_msg(dhcp);\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_release: RELEASED, DHCP_OFF\\n\"));\n  } else {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"dhcp_release: could not allocate DHCP request\\n\"));\n  }\n  dhcp->tries++;\n  msecs = dhcp->tries < 10 ? dhcp->tries * 1000 : 10 * 1000;\n  dhcp->request_timeout = (msecs + DHCP_FINE_TIMER_MSECS - 1) / DHCP_FINE_TIMER_MSECS;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"dhcp_release(): set request timeout %\"U16_F\" msecs\\n\", msecs));\n  /* bring the interface down */\n  netif_set_down(netif);\n  /* remove IP address from interface */\n  netif_set_ipaddr(netif, IP_ADDR_ANY);\n  netif_set_gw(netif, IP_ADDR_ANY);\n  netif_set_netmask(netif, IP_ADDR_ANY);\n  \n  return result;\n}\n\n/**\n * Remove the DHCP client from the interface.\n *\n * @param netif The network interface to stop DHCP on\n */\nvoid\ndhcp_stop(struct netif *netif)\n{\n  struct dhcp *dhcp;\n  LWIP_ERROR(\"dhcp_stop: netif != NULL\", (netif != NULL), return;);\n  dhcp = netif->dhcp;\n  /* Remove the flag that says this netif is handled by DHCP. */\n  netif->flags &= ~NETIF_FLAG_DHCP;\n\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_stop()\\n\"));\n  /* netif is DHCP configured? */\n  if (dhcp != NULL) {\n#if LWIP_DHCP_AUTOIP_COOP\n    if(dhcp->autoip_coop_state == DHCP_AUTOIP_COOP_STATE_ON) {\n      autoip_stop(netif);\n      dhcp->autoip_coop_state = DHCP_AUTOIP_COOP_STATE_OFF;\n    }\n#endif /* LWIP_DHCP_AUTOIP_COOP */\n\n    if (dhcp->pcb != NULL) {\n      udp_remove(dhcp->pcb);\n      dhcp->pcb = NULL;\n    }\n    LWIP_ASSERT(\"reply wasn't freed\", dhcp->msg_in == NULL);\n    dhcp_set_state(dhcp, DHCP_OFF);\n  }\n}\n\n/*\n * Set the DHCP state of a DHCP client.\n *\n * If the state changed, reset the number of tries.\n */\nstatic void\ndhcp_set_state(struct dhcp *dhcp, u8_t new_state)\n{\n  if (new_state != dhcp->state) {\n    dhcp->state = new_state;\n    dhcp->tries = 0;\n    dhcp->request_timeout = 0;\n  }\n}\n\n/*\n * Concatenate an option type and length field to the outgoing\n * DHCP message.\n *\n */\nstatic void\ndhcp_option(struct dhcp *dhcp, u8_t option_type, u8_t option_len)\n{\n  LWIP_ASSERT(\"dhcp_option: dhcp->options_out_len + 2 + option_len <= DHCP_OPTIONS_LEN\", dhcp->options_out_len + 2U + option_len <= DHCP_OPTIONS_LEN);\n  dhcp->msg_out->options[dhcp->options_out_len++] = option_type;\n  dhcp->msg_out->options[dhcp->options_out_len++] = option_len;\n}\n/*\n * Concatenate a single byte to the outgoing DHCP message.\n *\n */\nstatic void\ndhcp_option_byte(struct dhcp *dhcp, u8_t value)\n{\n  LWIP_ASSERT(\"dhcp_option_byte: dhcp->options_out_len < DHCP_OPTIONS_LEN\", dhcp->options_out_len < DHCP_OPTIONS_LEN);\n  dhcp->msg_out->options[dhcp->options_out_len++] = value;\n}\n\nstatic void\ndhcp_option_short(struct dhcp *dhcp, u16_t value)\n{\n  LWIP_ASSERT(\"dhcp_option_short: dhcp->options_out_len + 2 <= DHCP_OPTIONS_LEN\", dhcp->options_out_len + 2U <= DHCP_OPTIONS_LEN);\n  dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0xff00U) >> 8);\n  dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t) (value & 0x00ffU);\n}\n\nstatic void\ndhcp_option_long(struct dhcp *dhcp, u32_t value)\n{\n  LWIP_ASSERT(\"dhcp_option_long: dhcp->options_out_len + 4 <= DHCP_OPTIONS_LEN\", dhcp->options_out_len + 4U <= DHCP_OPTIONS_LEN);\n  dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0xff000000UL) >> 24);\n  dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0x00ff0000UL) >> 16);\n  dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0x0000ff00UL) >> 8);\n  dhcp->msg_out->options[dhcp->options_out_len++] = (u8_t)((value & 0x000000ffUL));\n}\n\n#if LWIP_NETIF_HOSTNAME\nstatic void\ndhcp_option_hostname(struct dhcp *dhcp, struct netif *netif)\n{\n  if (netif->hostname != NULL) {\n    size_t namelen = strlen(netif->hostname);\n    if (namelen > 0) {\n      u8_t len;\n      const char *p = netif->hostname;\n      /* Shrink len to available bytes (need 2 bytes for OPTION_HOSTNAME\n         and 1 byte for trailer) */\n      size_t available = DHCP_OPTIONS_LEN - dhcp->options_out_len - 3;\n      LWIP_ASSERT(\"DHCP: hostname is too long!\", namelen <= available);\n      len = LWIP_MIN(namelen, available);\n      dhcp_option(dhcp, DHCP_OPTION_HOSTNAME, len);\n      while (len--) {\n        dhcp_option_byte(dhcp, *p++);\n      }\n    }\n  }\n}\n#endif /* LWIP_NETIF_HOSTNAME */\n\n/**\n * Extract the DHCP message and the DHCP options.\n *\n * Extract the DHCP message and the DHCP options, each into a contiguous\n * piece of memory. As a DHCP message is variable sized by its options,\n * and also allows overriding some fields for options, the easy approach\n * is to first unfold the options into a conitguous piece of memory, and\n * use that further on.\n *\n */\nstatic err_t\ndhcp_parse_reply(struct dhcp *dhcp, struct pbuf *p)\n{\n  u8_t *options;\n  u16_t offset;\n  u16_t offset_max;\n  u16_t options_idx;\n  u16_t options_idx_max;\n  struct pbuf *q;\n  int parse_file_as_options = 0;\n  int parse_sname_as_options = 0;\n\n  /* clear received options */\n  dhcp_clear_all_options(dhcp);\n  /* check that beginning of dhcp_msg (up to and including chaddr) is in first pbuf */\n  if (p->len < DHCP_SNAME_OFS) {\n    return ERR_BUF;\n  }\n  dhcp->msg_in = (struct dhcp_msg *)p->payload;\n#if LWIP_DHCP_BOOTP_FILE\n  /* clear boot file name */\n  dhcp->boot_file_name[0] = 0;\n#endif /* LWIP_DHCP_BOOTP_FILE */\n\n  /* parse options */\n\n  /* start with options field */\n  options_idx = DHCP_OPTIONS_OFS;\n  /* parse options to the end of the received packet */\n  options_idx_max = p->tot_len;\nagain:\n  q = p;\n  while((q != NULL) && (options_idx >= q->len)) {\n    options_idx -= q->len;\n    options_idx_max -= q->len;\n    q = q->next;\n  }\n  if (q == NULL) {\n    return ERR_BUF;\n  }\n  offset = options_idx;\n  offset_max = options_idx_max;\n  options = (u8_t*)q->payload;\n  /* at least 1 byte to read and no end marker, then at least 3 bytes to read? */\n  while((q != NULL) && (options[offset] != DHCP_OPTION_END) && (offset < offset_max)) {\n    u8_t op = options[offset];\n    u8_t len;\n    u8_t decode_len = 0;\n    int decode_idx = -1;\n    u16_t val_offset = offset + 2;\n    /* len byte might be in the next pbuf */\n    if (offset + 1 < q->len) {\n      len = options[offset + 1];\n    } else {\n      len = (q->next != NULL ? ((u8_t*)q->next->payload)[0] : 0);\n    }\n    /* LWIP_DEBUGF(DHCP_DEBUG, (\"msg_offset=%\"U16_F\", q->len=%\"U16_F, msg_offset, q->len)); */\n    decode_len = len;\n    switch(op) {\n      /* case(DHCP_OPTION_END): handled above */\n      case(DHCP_OPTION_PAD):\n        /* special option: no len encoded */\n        decode_len = len = 0;\n        /* will be increased below */\n        offset--;\n        break;\n      case(DHCP_OPTION_SUBNET_MASK):\n        LWIP_ERROR(\"len == 4\", len == 4, return ERR_VAL;);\n        decode_idx = DHCP_OPTION_IDX_SUBNET_MASK;\n        break;\n      case(DHCP_OPTION_ROUTER):\n        decode_len = 4; /* only copy the first given router */\n        LWIP_ERROR(\"len >= decode_len\", len >= decode_len, return ERR_VAL;);\n        decode_idx = DHCP_OPTION_IDX_ROUTER;\n        break;\n      case(DHCP_OPTION_DNS_SERVER):\n        /* special case: there might be more than one server */\n        LWIP_ERROR(\"len % 4 == 0\", len % 4 == 0, return ERR_VAL;);\n        /* limit number of DNS servers */\n        decode_len = LWIP_MIN(len, 4 * DNS_MAX_SERVERS);\n        LWIP_ERROR(\"len >= decode_len\", len >= decode_len, return ERR_VAL;);\n        decode_idx = DHCP_OPTION_IDX_DNS_SERVER;\n        break;\n      case(DHCP_OPTION_LEASE_TIME):\n        LWIP_ERROR(\"len == 4\", len == 4, return ERR_VAL;);\n        decode_idx = DHCP_OPTION_IDX_LEASE_TIME;\n        break;\n      case(DHCP_OPTION_OVERLOAD):\n        LWIP_ERROR(\"len == 1\", len == 1, return ERR_VAL;);\n        decode_idx = DHCP_OPTION_IDX_OVERLOAD;\n        break;\n      case(DHCP_OPTION_MESSAGE_TYPE):\n        LWIP_ERROR(\"len == 1\", len == 1, return ERR_VAL;);\n        decode_idx = DHCP_OPTION_IDX_MSG_TYPE;\n        break;\n      case(DHCP_OPTION_SERVER_ID):\n        LWIP_ERROR(\"len == 4\", len == 4, return ERR_VAL;);\n        decode_idx = DHCP_OPTION_IDX_SERVER_ID;\n        break;\n      case(DHCP_OPTION_T1):\n        LWIP_ERROR(\"len == 4\", len == 4, return ERR_VAL;);\n        decode_idx = DHCP_OPTION_IDX_T1;\n        break;\n      case(DHCP_OPTION_T2):\n        LWIP_ERROR(\"len == 4\", len == 4, return ERR_VAL;);\n        decode_idx = DHCP_OPTION_IDX_T2;\n        break;\n      default:\n        decode_len = 0;\n        LWIP_DEBUGF(DHCP_DEBUG, (\"skipping option %\"U16_F\" in options\\n\", op));\n        break;\n    }\n    offset += len + 2;\n    if (decode_len > 0) {\n      u32_t value = 0;\n      u16_t copy_len;\ndecode_next:\n      LWIP_ASSERT(\"check decode_idx\", decode_idx >= 0 && decode_idx < DHCP_OPTION_IDX_MAX);\n      if (!dhcp_option_given(dhcp, decode_idx)) {\n        copy_len = LWIP_MIN(decode_len, 4);\n        pbuf_copy_partial(q, &value, copy_len, val_offset);\n        if (decode_len > 4) {\n          /* decode more than one u32_t */\n          LWIP_ERROR(\"decode_len % 4 == 0\", decode_len % 4 == 0, return ERR_VAL;);\n          dhcp_got_option(dhcp, decode_idx);\n          dhcp_set_option_value(dhcp, decode_idx, htonl(value));\n          decode_len -= 4;\n          val_offset += 4;\n          decode_idx++;\n          goto decode_next;\n        } else if (decode_len == 4) {\n          value = ntohl(value);\n        } else {\n          LWIP_ERROR(\"invalid decode_len\", decode_len == 1, return ERR_VAL;);\n          value = ((u8_t*)&value)[0];\n        }\n        dhcp_got_option(dhcp, decode_idx);\n        dhcp_set_option_value(dhcp, decode_idx, value);\n      }\n    }\n    if (offset >= q->len) {\n      offset -= q->len;\n      offset_max -= q->len;\n      if ((offset < offset_max) && offset_max) {\n        q = q->next;\n        LWIP_ASSERT(\"next pbuf was null\", q);\n        options = (u8_t*)q->payload;\n      } else {\n        // We've run out of bytes, probably no end marker. Don't proceed.\n        break;\n      }\n    }\n  }\n  /* is this an overloaded message? */\n  if (dhcp_option_given(dhcp, DHCP_OPTION_IDX_OVERLOAD)) {\n    u32_t overload = dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_OVERLOAD);\n    dhcp_clear_option(dhcp, DHCP_OPTION_IDX_OVERLOAD);\n    if (overload == DHCP_OVERLOAD_FILE) {\n      parse_file_as_options = 1;\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"overloaded file field\\n\"));\n    } else if (overload == DHCP_OVERLOAD_SNAME) {\n      parse_sname_as_options = 1;\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"overloaded sname field\\n\"));\n    } else if (overload == DHCP_OVERLOAD_SNAME_FILE) {\n      parse_sname_as_options = 1;\n      parse_file_as_options = 1;\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"overloaded sname and file field\\n\"));\n    } else {\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"invalid overload option: %d\\n\", (int)overload));\n    }\n#if LWIP_DHCP_BOOTP_FILE\n    if (!parse_file_as_options) {\n      /* only do this for ACK messages */\n      if (dhcp_option_given(dhcp, DHCP_OPTION_IDX_MSG_TYPE) &&\n        (dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_MSG_TYPE) == DHCP_ACK))\n      /* copy bootp file name, don't care for sname (server hostname) */\n      pbuf_copy_partial(p, dhcp->boot_file_name, DHCP_FILE_LEN-1, DHCP_FILE_OFS);\n      /* make sure the string is really NULL-terminated */\n      dhcp->boot_file_name[DHCP_FILE_LEN-1] = 0;\n    }\n#endif /* LWIP_DHCP_BOOTP_FILE */\n  }\n  if (parse_file_as_options) {\n    /* if both are overloaded, parse file first and then sname (RFC 2131 ch. 4.1) */\n    parse_file_as_options = 0;\n    options_idx = DHCP_FILE_OFS;\n    options_idx_max = DHCP_FILE_OFS + DHCP_FILE_LEN;\n    goto again;\n  } else if (parse_sname_as_options) {\n    parse_sname_as_options = 0;\n    options_idx = DHCP_SNAME_OFS;\n    options_idx_max = DHCP_SNAME_OFS + DHCP_SNAME_LEN;\n    goto again;\n  }\n  return ERR_OK;\n}\n\n/**\n * If an incoming DHCP message is in response to us, then trigger the state machine\n */\nstatic void\ndhcp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *addr, u16_t port)\n{\n  struct netif *netif = (struct netif *)arg;\n  struct dhcp *dhcp = netif->dhcp;\n  struct dhcp_msg *reply_msg = (struct dhcp_msg *)p->payload;\n  u8_t msg_type;\n  u8_t i;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"dhcp_recv(pbuf = %p) from DHCP server %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\" port %\"U16_F\"\\n\", (void*)p,\n    ip4_addr1_16(addr), ip4_addr2_16(addr), ip4_addr3_16(addr), ip4_addr4_16(addr), port));\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"pbuf->len = %\"U16_F\"\\n\", p->len));\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"pbuf->tot_len = %\"U16_F\"\\n\", p->tot_len));\n  /* prevent warnings about unused arguments */\n  LWIP_UNUSED_ARG(pcb);\n  LWIP_UNUSED_ARG(addr);\n  LWIP_UNUSED_ARG(port);\n\n  LWIP_ASSERT(\"reply wasn't freed\", dhcp->msg_in == NULL);\n\n  if (p->len < DHCP_MIN_REPLY_LEN) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, (\"DHCP reply message or pbuf too short\\n\"));\n    goto free_pbuf_and_return;\n  }\n\n  if (reply_msg->op != DHCP_BOOTREPLY) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, (\"not a DHCP reply message, but type %\"U16_F\"\\n\", (u16_t)reply_msg->op));\n    goto free_pbuf_and_return;\n  }\n  /* iterate through hardware address and match against DHCP message */\n  for (i = 0; i < netif->hwaddr_len; i++) {\n    if (netif->hwaddr[i] != reply_msg->chaddr[i]) {\n      LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING,\n        (\"netif->hwaddr[%\"U16_F\"]==%02\"X16_F\" != reply_msg->chaddr[%\"U16_F\"]==%02\"X16_F\"\\n\",\n        (u16_t)i, (u16_t)netif->hwaddr[i], (u16_t)i, (u16_t)reply_msg->chaddr[i]));\n      goto free_pbuf_and_return;\n    }\n  }\n  /* match transaction ID against what we expected */\n  if (ntohl(reply_msg->xid) != dhcp->xid) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING,\n      (\"transaction id mismatch reply_msg->xid(%\"X32_F\")!=dhcp->xid(%\"X32_F\")\\n\",ntohl(reply_msg->xid),dhcp->xid));\n    goto free_pbuf_and_return;\n  }\n  /* option fields could be unfold? */\n  if (dhcp_parse_reply(dhcp, p) != ERR_OK) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS,\n      (\"problem unfolding DHCP message - too short on memory?\\n\"));\n    goto free_pbuf_and_return;\n  }\n\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"searching DHCP_OPTION_MESSAGE_TYPE\\n\"));\n  /* obtain pointer to DHCP message type */\n  if (!dhcp_option_given(dhcp, DHCP_OPTION_IDX_MSG_TYPE)) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, (\"DHCP_OPTION_MESSAGE_TYPE option not found\\n\"));\n    goto free_pbuf_and_return;\n  }\n\n  /* read DHCP message type */\n  msg_type = (u8_t)dhcp_get_option_value(dhcp, DHCP_OPTION_IDX_MSG_TYPE);\n  /* message type is DHCP ACK? */\n  if (msg_type == DHCP_ACK) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"DHCP_ACK received\\n\"));\n    /* in requesting state? */\n    if (dhcp->state == DHCP_REQUESTING) {\n      dhcp_handle_ack(netif);\n#if DHCP_DOES_ARP_CHECK\n      /* check if the acknowledged lease address is already in use */\n      dhcp_check(netif);\n#else\n      /* bind interface to the acknowledged lease address */\n      dhcp_bind(netif);\n#endif\n    }\n    /* already bound to the given lease address? */\n    else if ((dhcp->state == DHCP_REBOOTING) || (dhcp->state == DHCP_REBINDING) || (dhcp->state == DHCP_RENEWING)) {\n      dhcp_bind(netif);\n    }\n  }\n  /* received a DHCP_NAK in appropriate state? */\n  else if ((msg_type == DHCP_NAK) &&\n    ((dhcp->state == DHCP_REBOOTING) || (dhcp->state == DHCP_REQUESTING) ||\n     (dhcp->state == DHCP_REBINDING) || (dhcp->state == DHCP_RENEWING  ))) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"DHCP_NAK received\\n\"));\n    dhcp_handle_nak(netif);\n  }\n  /* received a DHCP_OFFER in DHCP_SELECTING state? */\n  else if ((msg_type == DHCP_OFFER) && (dhcp->state == DHCP_SELECTING)) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE, (\"DHCP_OFFER received in DHCP_SELECTING state\\n\"));\n    dhcp->request_timeout = 0;\n    /* remember offered lease */\n    dhcp_handle_offer(netif);\n  }\nfree_pbuf_and_return:\n  dhcp->msg_in = NULL;\n  pbuf_free(p);\n}\n\n/**\n * Create a DHCP request, fill in common headers\n *\n * @param netif the netif under DHCP control\n * @param dhcp dhcp control struct\n * @param message_type message type of the request\n */\nstatic err_t\ndhcp_create_msg(struct netif *netif, struct dhcp *dhcp, u8_t message_type)\n{\n  u16_t i;\n#ifndef DHCP_GLOBAL_XID\n  /** default global transaction identifier starting value (easy to match\n   *  with a packet analyser). We simply increment for each new request.\n   *  Predefine DHCP_GLOBAL_XID to a better value or a function call to generate one\n   *  at runtime, any supporting function prototypes can be defined in DHCP_GLOBAL_XID_HEADER */\n#if DHCP_CREATE_RAND_XID && defined(LWIP_RAND)\n  static u32_t xid;\n#else /* DHCP_CREATE_RAND_XID && defined(LWIP_RAND) */\n  static u32_t xid = 0xABCD0000;\n#endif /* DHCP_CREATE_RAND_XID && defined(LWIP_RAND) */\n#else\n  if (!xid_initialised) {\n    xid = DHCP_GLOBAL_XID;\n    xid_initialised = !xid_initialised;\n  }\n#endif\n  LWIP_ERROR(\"dhcp_create_msg: netif != NULL\", (netif != NULL), return ERR_ARG;);\n  LWIP_ERROR(\"dhcp_create_msg: dhcp != NULL\", (dhcp != NULL), return ERR_VAL;);\n  LWIP_ASSERT(\"dhcp_create_msg: dhcp->p_out == NULL\", dhcp->p_out == NULL);\n  LWIP_ASSERT(\"dhcp_create_msg: dhcp->msg_out == NULL\", dhcp->msg_out == NULL);\n  dhcp->p_out = pbuf_alloc(PBUF_TRANSPORT, sizeof(struct dhcp_msg), PBUF_RAM);\n  if (dhcp->p_out == NULL) {\n    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS,\n      (\"dhcp_create_msg(): could not allocate pbuf\\n\"));\n    return ERR_MEM;\n  }\n  LWIP_ASSERT(\"dhcp_create_msg: check that first pbuf can hold struct dhcp_msg\",\n           (dhcp->p_out->len >= sizeof(struct dhcp_msg)));\n\n  /* reuse transaction identifier in retransmissions */\n  if (dhcp->tries == 0) {\n#if DHCP_CREATE_RAND_XID && defined(LWIP_RAND)\n    xid = LWIP_RAND();\n#else /* DHCP_CREATE_RAND_XID && defined(LWIP_RAND) */\n    xid++;\n#endif /* DHCP_CREATE_RAND_XID && defined(LWIP_RAND) */\n  }\n  dhcp->xid = xid;\n  LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE,\n              (\"transaction id xid(%\"X32_F\")\\n\", xid));\n\n  dhcp->msg_out = (struct dhcp_msg *)dhcp->p_out->payload;\n\n  dhcp->msg_out->op = DHCP_BOOTREQUEST;\n  /* TODO: make link layer independent */\n  dhcp->msg_out->htype = DHCP_HTYPE_ETH;\n  dhcp->msg_out->hlen = netif->hwaddr_len;\n  dhcp->msg_out->hops = 0;\n  dhcp->msg_out->xid = htonl(dhcp->xid);\n  dhcp->msg_out->secs = 0;\n  /* we don't need the broadcast flag since we can receive unicast traffic\n     before being fully configured! */\n  dhcp->msg_out->flags = 0;\n  ip_addr_set_zero(&dhcp->msg_out->ciaddr);\n  /* set ciaddr to netif->ip_addr based on message_type and state */\n  if ((message_type == DHCP_INFORM) || (message_type == DHCP_DECLINE) ||\n      ((message_type == DHCP_REQUEST) && /* DHCP_BOUND not used for sending! */\n       ((dhcp->state==DHCP_RENEWING) || dhcp->state==DHCP_REBINDING))) {\n    ip_addr_copy(dhcp->msg_out->ciaddr, netif->ip_addr);\n  }\n  ip_addr_set_zero(&dhcp->msg_out->yiaddr);\n  ip_addr_set_zero(&dhcp->msg_out->siaddr);\n  ip_addr_set_zero(&dhcp->msg_out->giaddr);\n  for (i = 0; i < DHCP_CHADDR_LEN; i++) {\n    /* copy netif hardware address, pad with zeroes */\n    dhcp->msg_out->chaddr[i] = (i < netif->hwaddr_len) ? netif->hwaddr[i] : 0/* pad byte*/;\n  }\n  for (i = 0; i < DHCP_SNAME_LEN; i++) {\n    dhcp->msg_out->sname[i] = 0;\n  }\n  for (i = 0; i < DHCP_FILE_LEN; i++) {\n    dhcp->msg_out->file[i] = 0;\n  }\n  dhcp->msg_out->cookie = PP_HTONL(DHCP_MAGIC_COOKIE);\n  dhcp->options_out_len = 0;\n  /* fill options field with an incrementing array (for debugging purposes) */\n  for (i = 0; i < DHCP_OPTIONS_LEN; i++) {\n    dhcp->msg_out->options[i] = (u8_t)i; /* for debugging only, no matter if truncated */\n  }\n  /* Add option MESSAGE_TYPE */\n  dhcp_option(dhcp, DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN);\n  dhcp_option_byte(dhcp, message_type);\n  return ERR_OK;\n}\n\n/**\n * Free previously allocated memory used to send a DHCP request.\n *\n * @param dhcp the dhcp struct to free the request from\n */\nstatic void\ndhcp_delete_msg(struct dhcp *dhcp)\n{\n  LWIP_ERROR(\"dhcp_delete_msg: dhcp != NULL\", (dhcp != NULL), return;);\n  LWIP_ASSERT(\"dhcp_delete_msg: dhcp->p_out != NULL\", dhcp->p_out != NULL);\n  LWIP_ASSERT(\"dhcp_delete_msg: dhcp->msg_out != NULL\", dhcp->msg_out != NULL);\n  if (dhcp->p_out != NULL) {\n    pbuf_free(dhcp->p_out);\n  }\n  dhcp->p_out = NULL;\n  dhcp->msg_out = NULL;\n}\n\n/**\n * Add a DHCP message trailer\n *\n * Adds the END option to the DHCP message, and if\n * necessary, up to three padding bytes.\n *\n * @param dhcp DHCP state structure\n */\nstatic void\ndhcp_option_trailer(struct dhcp *dhcp)\n{\n  LWIP_ERROR(\"dhcp_option_trailer: dhcp != NULL\", (dhcp != NULL), return;);\n  LWIP_ASSERT(\"dhcp_option_trailer: dhcp->msg_out != NULL\\n\", dhcp->msg_out != NULL);\n  LWIP_ASSERT(\"dhcp_option_trailer: dhcp->options_out_len < DHCP_OPTIONS_LEN\\n\", dhcp->options_out_len < DHCP_OPTIONS_LEN);\n  dhcp->msg_out->options[dhcp->options_out_len++] = DHCP_OPTION_END;\n  /* packet is too small, or not 4 byte aligned? */\n  while (((dhcp->options_out_len < DHCP_MIN_OPTIONS_LEN) || (dhcp->options_out_len & 3)) &&\n         (dhcp->options_out_len < DHCP_OPTIONS_LEN)) {\n    /* add a fill/padding byte */\n    dhcp->msg_out->options[dhcp->options_out_len++] = 0;\n  }\n}\n\n#endif /* LWIP_DHCP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/dns.c",
    "content": "/**\n * @file\n * DNS - host name to IP address resolver.\n *\n */\n\n/**\n\n * This file implements a DNS host name to IP address resolver.\n\n * Port to lwIP from uIP\n * by Jim Pettinato April 2007\n\n * uIP version Copyright (c) 2002-2003, Adam Dunkels.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote\n *    products derived from this software without specific prior\n *    written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS\n * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY\n * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE\n * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n *\n * DNS.C\n *\n * The lwIP DNS resolver functions are used to lookup a host name and\n * map it to a numerical IP address. It maintains a list of resolved\n * hostnames that can be queried with the dns_lookup() function.\n * New hostnames can be resolved using the dns_query() function.\n *\n * The lwIP version of the resolver also adds a non-blocking version of\n * gethostbyname() that will work with a raw API application. This function\n * checks for an IP address string first and converts it if it is valid.\n * gethostbyname() then does a dns_lookup() to see if the name is \n * already in the table. If so, the IP is returned. If not, a query is \n * issued and the function returns with a ERR_INPROGRESS status. The app\n * using the dns client must then go into a waiting state.\n *\n * Once a hostname has been resolved (or found to be non-existent),\n * the resolver code calls a specified callback function (which \n * must be implemented by the module that uses the resolver).\n */\n\n/*-----------------------------------------------------------------------------\n * RFC 1035 - Domain names - implementation and specification\n * RFC 2181 - Clarifications to the DNS Specification\n *----------------------------------------------------------------------------*/\n\n/** @todo: define good default values (rfc compliance) */\n/** @todo: improve answer parsing, more checkings... */\n/** @todo: check RFC1035 - 7.3. Processing responses */\n\n/*-----------------------------------------------------------------------------\n * Includes\n *----------------------------------------------------------------------------*/\n\n#include \"lwip/opt.h\"\n\n#if LWIP_DNS /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/udp.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/dns.h\"\n\n#include <string.h>\n\n/** DNS server IP address */\n#ifndef DNS_SERVER_ADDRESS\n#define DNS_SERVER_ADDRESS(ipaddr)        (ip4_addr_set_u32(ipaddr, ipaddr_addr(\"208.67.222.222\"))) /* resolver1.opendns.com */\n#endif\n\n/** DNS server port address */\n#ifndef DNS_SERVER_PORT\n#define DNS_SERVER_PORT           53\n#endif\n\n/** DNS maximum number of retries when asking for a name, before \"timeout\". */\n#ifndef DNS_MAX_RETRIES\n#define DNS_MAX_RETRIES           4\n#endif\n\n/** DNS resource record max. TTL (one week as default) */\n#ifndef DNS_MAX_TTL\n#define DNS_MAX_TTL               604800\n#endif\n\n/* DNS protocol flags */\n#define DNS_FLAG1_RESPONSE        0x80\n#define DNS_FLAG1_OPCODE_STATUS   0x10\n#define DNS_FLAG1_OPCODE_INVERSE  0x08\n#define DNS_FLAG1_OPCODE_STANDARD 0x00\n#define DNS_FLAG1_AUTHORATIVE     0x04\n#define DNS_FLAG1_TRUNC           0x02\n#define DNS_FLAG1_RD              0x01\n#define DNS_FLAG2_RA              0x80\n#define DNS_FLAG2_ERR_MASK        0x0f\n#define DNS_FLAG2_ERR_NONE        0x00\n#define DNS_FLAG2_ERR_NAME        0x03\n\n/* DNS protocol states */\n#define DNS_STATE_UNUSED          0\n#define DNS_STATE_NEW             1\n#define DNS_STATE_ASKING          2\n#define DNS_STATE_DONE            3\n\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\n/** DNS message header */\nstruct dns_hdr {\n  PACK_STRUCT_FIELD(u16_t id);\n  PACK_STRUCT_FIELD(u8_t flags1);\n  PACK_STRUCT_FIELD(u8_t flags2);\n  PACK_STRUCT_FIELD(u16_t numquestions);\n  PACK_STRUCT_FIELD(u16_t numanswers);\n  PACK_STRUCT_FIELD(u16_t numauthrr);\n  PACK_STRUCT_FIELD(u16_t numextrarr);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n#define SIZEOF_DNS_HDR 12\n\n/** DNS query message structure.\n    No packing needed: only used locally on the stack. */\nstruct dns_query {\n  /* DNS query record starts with either a domain name or a pointer\n     to a name already present somewhere in the packet. */\n  u16_t type;\n  u16_t cls;\n};\n#define SIZEOF_DNS_QUERY 4\n\n/** DNS answer message structure.\n    No packing needed: only used locally on the stack. */\nstruct dns_answer {\n  /* DNS answer record starts with either a domain name or a pointer\n     to a name already present somewhere in the packet. */\n  u16_t type;\n  u16_t cls;\n  u32_t ttl;\n  u16_t len;\n};\n#define SIZEOF_DNS_ANSWER 10\n\n/** DNS table entry */\nstruct dns_table_entry {\n  u8_t  state;\n  u8_t  numdns;\n  u8_t  tmr;\n  u8_t  retries;\n  u8_t  seqno;\n  u8_t  err;\n  u32_t ttl;\n  char name[DNS_MAX_NAME_LENGTH];\n  ip_addr_t ipaddr;\n  /* pointer to callback on DNS query done */\n  dns_found_callback found;\n  void *arg;\n};\n\n#if DNS_LOCAL_HOSTLIST\n\n#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC\n/** Local host-list. For hostnames in this list, no\n *  external name resolution is performed */\nstatic struct local_hostlist_entry *local_hostlist_dynamic;\n#else /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */\n\n/** Defining this allows the local_hostlist_static to be placed in a different\n * linker section (e.g. FLASH) */\n#ifndef DNS_LOCAL_HOSTLIST_STORAGE_PRE\n#define DNS_LOCAL_HOSTLIST_STORAGE_PRE static\n#endif /* DNS_LOCAL_HOSTLIST_STORAGE_PRE */\n/** Defining this allows the local_hostlist_static to be placed in a different\n * linker section (e.g. FLASH) */\n#ifndef DNS_LOCAL_HOSTLIST_STORAGE_POST\n#define DNS_LOCAL_HOSTLIST_STORAGE_POST\n#endif /* DNS_LOCAL_HOSTLIST_STORAGE_POST */\nDNS_LOCAL_HOSTLIST_STORAGE_PRE struct local_hostlist_entry local_hostlist_static[]\n  DNS_LOCAL_HOSTLIST_STORAGE_POST = DNS_LOCAL_HOSTLIST_INIT;\n\n#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */\n\nstatic void dns_init_local();\n#endif /* DNS_LOCAL_HOSTLIST */\n\n\n/* forward declarations */\nstatic void dns_recv(void *s, struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *addr, u16_t port);\nstatic void dns_check_entries(void);\n\n/*-----------------------------------------------------------------------------\n * Globales\n *----------------------------------------------------------------------------*/\n\n/* DNS variables */\nstatic struct udp_pcb        *dns_pcb;\nstatic u8_t                   dns_seqno;\nstatic struct dns_table_entry dns_table[DNS_TABLE_SIZE];\nstatic ip_addr_t              dns_servers[DNS_MAX_SERVERS];\n/** Contiguous buffer for processing responses */\nstatic u8_t                   dns_payload_buffer[LWIP_MEM_ALIGN_BUFFER(DNS_MSG_SIZE)];\nstatic u8_t*                  dns_payload;\n\n/**\n * Initialize the resolver: set up the UDP pcb and configure the default server\n * (DNS_SERVER_ADDRESS).\n */\nvoid\ndns_init()\n{\n  ip_addr_t dnsserver;\n\n  dns_payload = (u8_t *)LWIP_MEM_ALIGN(dns_payload_buffer);\n  \n  /* initialize default DNS server address */\n  DNS_SERVER_ADDRESS(&dnsserver);\n\n  LWIP_DEBUGF(DNS_DEBUG, (\"dns_init: initializing\\n\"));\n\n  /* if dns client not yet initialized... */\n  if (dns_pcb == NULL) {\n    dns_pcb = udp_new();\n\n    if (dns_pcb != NULL) {\n      /* initialize DNS table not needed (initialized to zero since it is a\n       * global variable) */\n      LWIP_ASSERT(\"For implicit initialization to work, DNS_STATE_UNUSED needs to be 0\",\n        DNS_STATE_UNUSED == 0);\n\n      /* initialize DNS client */\n      udp_bind(dns_pcb, IP_ADDR_ANY, 0);\n      udp_recv(dns_pcb, dns_recv, NULL);\n\n      /* initialize default DNS primary server */\n      dns_setserver(0, &dnsserver);\n    }\n  }\n#if DNS_LOCAL_HOSTLIST\n  dns_init_local();\n#endif\n}\n\n/**\n * Initialize one of the DNS servers.\n *\n * @param numdns the index of the DNS server to set must be < DNS_MAX_SERVERS\n * @param dnsserver IP address of the DNS server to set\n */\nvoid\ndns_setserver(u8_t numdns, ip_addr_t *dnsserver)\n{\n  if ((numdns < DNS_MAX_SERVERS) && (dns_pcb != NULL) &&\n      (dnsserver != NULL) && !ip_addr_isany(dnsserver)) {\n    dns_servers[numdns] = (*dnsserver);\n  }\n}\n\n/**\n * Obtain one of the currently configured DNS server.\n *\n * @param numdns the index of the DNS server\n * @return IP address of the indexed DNS server or \"ip_addr_any\" if the DNS\n *         server has not been configured.\n */\nip_addr_t\ndns_getserver(u8_t numdns)\n{\n  if (numdns < DNS_MAX_SERVERS) {\n    return dns_servers[numdns];\n  } else {\n    return *IP_ADDR_ANY;\n  }\n}\n\n/**\n * The DNS resolver client timer - handle retries and timeouts and should\n * be called every DNS_TMR_INTERVAL milliseconds (every second by default).\n */\nvoid\ndns_tmr(void)\n{\n  if (dns_pcb != NULL) {\n    LWIP_DEBUGF(DNS_DEBUG, (\"dns_tmr: dns_check_entries\\n\"));\n    dns_check_entries();\n  }\n}\n\n#if DNS_LOCAL_HOSTLIST\nstatic void\ndns_init_local()\n{\n#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC && defined(DNS_LOCAL_HOSTLIST_INIT)\n  int i;\n  struct local_hostlist_entry *entry;\n  /* Dynamic: copy entries from DNS_LOCAL_HOSTLIST_INIT to list */\n  struct local_hostlist_entry local_hostlist_init[] = DNS_LOCAL_HOSTLIST_INIT;\n  size_t namelen;\n  for (i = 0; i < sizeof(local_hostlist_init) / sizeof(struct local_hostlist_entry); i++) {\n    struct local_hostlist_entry *init_entry = &local_hostlist_init[i];\n    LWIP_ASSERT(\"invalid host name (NULL)\", init_entry->name != NULL);\n    namelen = strlen(init_entry->name);\n    LWIP_ASSERT(\"namelen <= DNS_LOCAL_HOSTLIST_MAX_NAMELEN\", namelen <= DNS_LOCAL_HOSTLIST_MAX_NAMELEN);\n    entry = (struct local_hostlist_entry *)memp_malloc(MEMP_LOCALHOSTLIST);\n    LWIP_ASSERT(\"mem-error in dns_init_local\", entry != NULL);\n    if (entry != NULL) {\n      entry->name = (char*)entry + sizeof(struct local_hostlist_entry);\n      MEMCPY((char*)entry->name, init_entry->name, namelen);\n      ((char*)entry->name)[namelen] = 0;\n      entry->addr = init_entry->addr;\n      entry->next = local_hostlist_dynamic;\n      local_hostlist_dynamic = entry;\n    }\n  }\n#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC && defined(DNS_LOCAL_HOSTLIST_INIT) */\n}\n\n/**\n * Scans the local host-list for a hostname.\n *\n * @param hostname Hostname to look for in the local host-list\n * @return The first IP address for the hostname in the local host-list or\n *         IPADDR_NONE if not found.\n */\nstatic u32_t\ndns_lookup_local(const char *hostname)\n{\n#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC\n  struct local_hostlist_entry *entry = local_hostlist_dynamic;\n  while(entry != NULL) {\n    if(strcmp(entry->name, hostname) == 0) {\n      return ip4_addr_get_u32(&entry->addr);\n    }\n    entry = entry->next;\n  }\n#else /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */\n  int i;\n  for (i = 0; i < sizeof(local_hostlist_static) / sizeof(struct local_hostlist_entry); i++) {\n    if(strcmp(local_hostlist_static[i].name, hostname) == 0) {\n      return ip4_addr_get_u32(&local_hostlist_static[i].addr);\n    }\n  }\n#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */\n  return IPADDR_NONE;\n}\n\n#if DNS_LOCAL_HOSTLIST_IS_DYNAMIC\n/** Remove all entries from the local host-list for a specific hostname\n * and/or IP addess\n *\n * @param hostname hostname for which entries shall be removed from the local\n *                 host-list\n * @param addr address for which entries shall be removed from the local host-list\n * @return the number of removed entries\n */\nint\ndns_local_removehost(const char *hostname, const ip_addr_t *addr)\n{\n  int removed = 0;\n  struct local_hostlist_entry *entry = local_hostlist_dynamic;\n  struct local_hostlist_entry *last_entry = NULL;\n  while (entry != NULL) {\n    if (((hostname == NULL) || !strcmp(entry->name, hostname)) &&\n        ((addr == NULL) || ip_addr_cmp(&entry->addr, addr))) {\n      struct local_hostlist_entry *free_entry;\n      if (last_entry != NULL) {\n        last_entry->next = entry->next;\n      } else {\n        local_hostlist_dynamic = entry->next;\n      }\n      free_entry = entry;\n      entry = entry->next;\n      memp_free(MEMP_LOCALHOSTLIST, free_entry);\n      removed++;\n    } else {\n      last_entry = entry;\n      entry = entry->next;\n    }\n  }\n  return removed;\n}\n\n/**\n * Add a hostname/IP address pair to the local host-list.\n * Duplicates are not checked.\n *\n * @param hostname hostname of the new entry\n * @param addr IP address of the new entry\n * @return ERR_OK if succeeded or ERR_MEM on memory error\n */\nerr_t\ndns_local_addhost(const char *hostname, const ip_addr_t *addr)\n{\n  struct local_hostlist_entry *entry;\n  size_t namelen;\n  LWIP_ASSERT(\"invalid host name (NULL)\", hostname != NULL);\n  namelen = strlen(hostname);\n  LWIP_ASSERT(\"namelen <= DNS_LOCAL_HOSTLIST_MAX_NAMELEN\", namelen <= DNS_LOCAL_HOSTLIST_MAX_NAMELEN);\n  entry = (struct local_hostlist_entry *)memp_malloc(MEMP_LOCALHOSTLIST);\n  if (entry == NULL) {\n    return ERR_MEM;\n  }\n  entry->name = (char*)entry + sizeof(struct local_hostlist_entry);\n  MEMCPY((char*)entry->name, hostname, namelen);\n  ((char*)entry->name)[namelen] = 0;\n  ip_addr_copy(entry->addr, *addr);\n  entry->next = local_hostlist_dynamic;\n  local_hostlist_dynamic = entry;\n  return ERR_OK;\n}\n#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC*/\n#endif /* DNS_LOCAL_HOSTLIST */\n\n/**\n * Look up a hostname in the array of known hostnames.\n *\n * @note This function only looks in the internal array of known\n * hostnames, it does not send out a query for the hostname if none\n * was found. The function dns_enqueue() can be used to send a query\n * for a hostname.\n *\n * @param name the hostname to look up\n * @return the hostname's IP address, as u32_t (instead of ip_addr_t to\n *         better check for failure: != IPADDR_NONE) or IPADDR_NONE if the hostname\n *         was not found in the cached dns_table.\n */\nstatic u32_t\ndns_lookup(const char *name)\n{\n  u8_t i;\n#if DNS_LOCAL_HOSTLIST || defined(DNS_LOOKUP_LOCAL_EXTERN)\n  u32_t addr;\n#endif /* DNS_LOCAL_HOSTLIST || defined(DNS_LOOKUP_LOCAL_EXTERN) */\n#if DNS_LOCAL_HOSTLIST\n  if ((addr = dns_lookup_local(name)) != IPADDR_NONE) {\n    return addr;\n  }\n#endif /* DNS_LOCAL_HOSTLIST */\n#ifdef DNS_LOOKUP_LOCAL_EXTERN\n  if((addr = DNS_LOOKUP_LOCAL_EXTERN(name)) != IPADDR_NONE) {\n    return addr;\n  }\n#endif /* DNS_LOOKUP_LOCAL_EXTERN */\n\n  /* Walk through name list, return entry if found. If not, return NULL. */\n  for (i = 0; i < DNS_TABLE_SIZE; ++i) {\n    if ((dns_table[i].state == DNS_STATE_DONE) &&\n        (strcmp(name, dns_table[i].name) == 0)) {\n      LWIP_DEBUGF(DNS_DEBUG, (\"dns_lookup: \\\"%s\\\": found = \", name));\n      ip_addr_debug_print(DNS_DEBUG, &(dns_table[i].ipaddr));\n      LWIP_DEBUGF(DNS_DEBUG, (\"\\n\"));\n      return ip4_addr_get_u32(&dns_table[i].ipaddr);\n    }\n  }\n\n  return IPADDR_NONE;\n}\n\n#if DNS_DOES_NAME_CHECK\n/**\n * Compare the \"dotted\" name \"query\" with the encoded name \"response\"\n * to make sure an answer from the DNS server matches the current dns_table\n * entry (otherwise, answers might arrive late for hostname not on the list\n * any more).\n *\n * @param query hostname (not encoded) from the dns_table\n * @param response encoded hostname in the DNS response\n * @return 0: names equal; 1: names differ\n */\nstatic u8_t\ndns_compare_name(unsigned char *query, unsigned char *response)\n{\n  unsigned char n;\n\n  do {\n    n = *response++;\n    /** @see RFC 1035 - 4.1.4. Message compression */\n    if ((n & 0xc0) == 0xc0) {\n      /* Compressed name */\n      break;\n    } else {\n      /* Not compressed name */\n      while (n > 0) {\n        if ((*query) != (*response)) {\n          return 1;\n        }\n        ++response;\n        ++query;\n        --n;\n      };\n      ++query;\n    }\n  } while (*response != 0);\n\n  return 0;\n}\n#endif /* DNS_DOES_NAME_CHECK */\n\n/**\n * Walk through a compact encoded DNS name and return the end of the name.\n *\n * @param query encoded DNS name in the DNS server response\n * @return end of the name\n */\nstatic unsigned char *\ndns_parse_name(unsigned char *query)\n{\n  unsigned char n;\n\n  do {\n    n = *query++;\n    /** @see RFC 1035 - 4.1.4. Message compression */\n    if ((n & 0xc0) == 0xc0) {\n      /* Compressed name */\n      break;\n    } else {\n      /* Not compressed name */\n      while (n > 0) {\n        ++query;\n        --n;\n      };\n    }\n  } while (*query != 0);\n\n  return query + 1;\n}\n\n/**\n * Send a DNS query packet.\n *\n * @param numdns index of the DNS server in the dns_servers table\n * @param name hostname to query\n * @param id index of the hostname in dns_table, used as transaction ID in the\n *        DNS query packet\n * @return ERR_OK if packet is sent; an err_t indicating the problem otherwise\n */\nstatic err_t\ndns_send(u8_t numdns, const char* name, u8_t id)\n{\n  err_t err;\n  struct dns_hdr *hdr;\n  struct dns_query qry;\n  struct pbuf *p;\n  char *query, *nptr;\n  const char *pHostname;\n  u8_t n;\n\n  LWIP_DEBUGF(DNS_DEBUG, (\"dns_send: dns_servers[%\"U16_F\"] \\\"%s\\\": request\\n\",\n              (u16_t)(numdns), name));\n  LWIP_ASSERT(\"dns server out of array\", numdns < DNS_MAX_SERVERS);\n  LWIP_ASSERT(\"dns server has no IP address set\", !ip_addr_isany(&dns_servers[numdns]));\n\n  /* if here, we have either a new query or a retry on a previous query to process */\n  p = pbuf_alloc(PBUF_TRANSPORT, SIZEOF_DNS_HDR + DNS_MAX_NAME_LENGTH +\n                 SIZEOF_DNS_QUERY, PBUF_RAM);\n  if (p != NULL) {\n    LWIP_ASSERT(\"pbuf must be in one piece\", p->next == NULL);\n    /* fill dns header */\n    hdr = (struct dns_hdr*)p->payload;\n    memset(hdr, 0, SIZEOF_DNS_HDR);\n    hdr->id = htons(id);\n    hdr->flags1 = DNS_FLAG1_RD;\n    hdr->numquestions = PP_HTONS(1);\n    query = (char*)hdr + SIZEOF_DNS_HDR;\n    pHostname = name;\n    --pHostname;\n\n    /* convert hostname into suitable query format. */\n    do {\n      ++pHostname;\n      nptr = query;\n      ++query;\n      for(n = 0; *pHostname != '.' && *pHostname != 0; ++pHostname) {\n        *query = *pHostname;\n        ++query;\n        ++n;\n      }\n      *nptr = n;\n    } while(*pHostname != 0);\n    *query++='\\0';\n\n    /* fill dns query */\n    qry.type = PP_HTONS(DNS_RRTYPE_A);\n    qry.cls = PP_HTONS(DNS_RRCLASS_IN);\n    SMEMCPY(query, &qry, SIZEOF_DNS_QUERY);\n\n    /* resize pbuf to the exact dns query */\n    pbuf_realloc(p, (u16_t)((query + SIZEOF_DNS_QUERY) - ((char*)(p->payload))));\n\n    /* connect to the server for faster receiving */\n    udp_connect(dns_pcb, &dns_servers[numdns], DNS_SERVER_PORT);\n    /* send dns packet */\n    err = udp_sendto(dns_pcb, p, &dns_servers[numdns], DNS_SERVER_PORT);\n\n    /* free pbuf */\n    pbuf_free(p);\n  } else {\n    err = ERR_MEM;\n  }\n\n  return err;\n}\n\n/**\n * dns_check_entry() - see if pEntry has not yet been queried and, if so, sends out a query.\n * Check an entry in the dns_table:\n * - send out query for new entries\n * - retry old pending entries on timeout (also with different servers)\n * - remove completed entries from the table if their TTL has expired\n *\n * @param i index of the dns_table entry to check\n */\nstatic void\ndns_check_entry(u8_t i)\n{\n  err_t err;\n  struct dns_table_entry *pEntry = &dns_table[i];\n\n  LWIP_ASSERT(\"array index out of bounds\", i < DNS_TABLE_SIZE);\n\n  switch(pEntry->state) {\n\n    case DNS_STATE_NEW: {\n      /* initialize new entry */\n      pEntry->state   = DNS_STATE_ASKING;\n      pEntry->numdns  = 0;\n      pEntry->tmr     = 1;\n      pEntry->retries = 0;\n      \n      /* send DNS packet for this entry */\n      err = dns_send(pEntry->numdns, pEntry->name, i);\n      if (err != ERR_OK) {\n        LWIP_DEBUGF(DNS_DEBUG | LWIP_DBG_LEVEL_WARNING,\n                    (\"dns_send returned error: %s\\n\", lwip_strerr(err)));\n      }\n      break;\n    }\n\n    case DNS_STATE_ASKING: {\n      if (--pEntry->tmr == 0) {\n        if (++pEntry->retries == DNS_MAX_RETRIES) {\n          if ((pEntry->numdns+1<DNS_MAX_SERVERS) && !ip_addr_isany(&dns_servers[pEntry->numdns+1])) {\n            /* change of server */\n            pEntry->numdns++;\n            pEntry->tmr     = 1;\n            pEntry->retries = 0;\n            break;\n          } else {\n            LWIP_DEBUGF(DNS_DEBUG, (\"dns_check_entry: \\\"%s\\\": timeout\\n\", pEntry->name));\n            /* call specified callback function if provided */\n            if (pEntry->found)\n              (*pEntry->found)(pEntry->name, NULL, pEntry->arg);\n            /* flush this entry */\n            pEntry->state   = DNS_STATE_UNUSED;\n            pEntry->found   = NULL;\n            break;\n          }\n        }\n\n        /* wait longer for the next retry */\n        pEntry->tmr = pEntry->retries;\n\n        /* send DNS packet for this entry */\n        err = dns_send(pEntry->numdns, pEntry->name, i);\n        if (err != ERR_OK) {\n          LWIP_DEBUGF(DNS_DEBUG | LWIP_DBG_LEVEL_WARNING,\n                      (\"dns_send returned error: %s\\n\", lwip_strerr(err)));\n        }\n      }\n      break;\n    }\n\n    case DNS_STATE_DONE: {\n      /* if the time to live is nul */\n      if (--pEntry->ttl == 0) {\n        LWIP_DEBUGF(DNS_DEBUG, (\"dns_check_entry: \\\"%s\\\": flush\\n\", pEntry->name));\n        /* flush this entry */\n        pEntry->state = DNS_STATE_UNUSED;\n        pEntry->found = NULL;\n      }\n      break;\n    }\n    case DNS_STATE_UNUSED:\n      /* nothing to do */\n      break;\n    default:\n      LWIP_ASSERT(\"unknown dns_table entry state:\", 0);\n      break;\n  }\n}\n\n/**\n * Call dns_check_entry for each entry in dns_table - check all entries.\n */\nstatic void\ndns_check_entries(void)\n{\n  u8_t i;\n\n  for (i = 0; i < DNS_TABLE_SIZE; ++i) {\n    dns_check_entry(i);\n  }\n}\n\n/**\n * Receive input function for DNS response packets arriving for the dns UDP pcb.\n *\n * @params see udp.h\n */\nstatic void\ndns_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *addr, u16_t port)\n{\n  u16_t i;\n  char *pHostname;\n  struct dns_hdr *hdr;\n  struct dns_answer ans;\n  struct dns_table_entry *pEntry;\n  u16_t nquestions, nanswers;\n\n  LWIP_UNUSED_ARG(arg);\n  LWIP_UNUSED_ARG(pcb);\n  LWIP_UNUSED_ARG(addr);\n  LWIP_UNUSED_ARG(port);\n\n  /* is the dns message too big ? */\n  if (p->tot_len > DNS_MSG_SIZE) {\n    LWIP_DEBUGF(DNS_DEBUG, (\"dns_recv: pbuf too big\\n\"));\n    /* free pbuf and return */\n    goto memerr;\n  }\n\n  /* is the dns message big enough ? */\n  if (p->tot_len < (SIZEOF_DNS_HDR + SIZEOF_DNS_QUERY + SIZEOF_DNS_ANSWER)) {\n    LWIP_DEBUGF(DNS_DEBUG, (\"dns_recv: pbuf too small\\n\"));\n    /* free pbuf and return */\n    goto memerr;\n  }\n\n  /* copy dns payload inside static buffer for processing */ \n  if (pbuf_copy_partial(p, dns_payload, p->tot_len, 0) == p->tot_len) {\n    /* The ID in the DNS header should be our entry into the name table. */\n    hdr = (struct dns_hdr*)dns_payload;\n    i = htons(hdr->id);\n    if (i < DNS_TABLE_SIZE) {\n      pEntry = &dns_table[i];\n      if(pEntry->state == DNS_STATE_ASKING) {\n        /* This entry is now completed. */\n        pEntry->state = DNS_STATE_DONE;\n        pEntry->err   = hdr->flags2 & DNS_FLAG2_ERR_MASK;\n\n        /* We only care about the question(s) and the answers. The authrr\n           and the extrarr are simply discarded. */\n        nquestions = htons(hdr->numquestions);\n        nanswers   = htons(hdr->numanswers);\n\n        /* Check for error. If so, call callback to inform. */\n        if (((hdr->flags1 & DNS_FLAG1_RESPONSE) == 0) || (pEntry->err != 0) || (nquestions != 1)) {\n          LWIP_DEBUGF(DNS_DEBUG, (\"dns_recv: \\\"%s\\\": error in flags\\n\", pEntry->name));\n          /* call callback to indicate error, clean up memory and return */\n          goto responseerr;\n        }\n\n#if DNS_DOES_NAME_CHECK\n        /* Check if the name in the \"question\" part match with the name in the entry. */\n        if (dns_compare_name((unsigned char *)(pEntry->name), (unsigned char *)dns_payload + SIZEOF_DNS_HDR) != 0) {\n          LWIP_DEBUGF(DNS_DEBUG, (\"dns_recv: \\\"%s\\\": response not match to query\\n\", pEntry->name));\n          /* call callback to indicate error, clean up memory and return */\n          goto responseerr;\n        }\n#endif /* DNS_DOES_NAME_CHECK */\n\n        /* Skip the name in the \"question\" part */\n        pHostname = (char *) dns_parse_name((unsigned char *)dns_payload + SIZEOF_DNS_HDR) + SIZEOF_DNS_QUERY;\n\n        while (nanswers > 0) {\n          /* skip answer resource record's host name */\n          pHostname = (char *) dns_parse_name((unsigned char *)pHostname);\n\n          /* Check for IP address type and Internet class. Others are discarded. */\n          SMEMCPY(&ans, pHostname, SIZEOF_DNS_ANSWER);\n          if((ans.type == PP_HTONS(DNS_RRTYPE_A)) && (ans.cls == PP_HTONS(DNS_RRCLASS_IN)) &&\n             (ans.len == PP_HTONS(sizeof(ip_addr_t))) ) {\n            /* read the answer resource record's TTL, and maximize it if needed */\n            pEntry->ttl = ntohl(ans.ttl);\n            if (pEntry->ttl > DNS_MAX_TTL) {\n              pEntry->ttl = DNS_MAX_TTL;\n            }\n            /* read the IP address after answer resource record's header */\n            SMEMCPY(&(pEntry->ipaddr), (pHostname+SIZEOF_DNS_ANSWER), sizeof(ip_addr_t));\n            LWIP_DEBUGF(DNS_DEBUG, (\"dns_recv: \\\"%s\\\": response = \", pEntry->name));\n            ip_addr_debug_print(DNS_DEBUG, (&(pEntry->ipaddr)));\n            LWIP_DEBUGF(DNS_DEBUG, (\"\\n\"));\n            /* call specified callback function if provided */\n            if (pEntry->found) {\n              (*pEntry->found)(pEntry->name, &pEntry->ipaddr, pEntry->arg);\n            }\n            /* deallocate memory and return */\n            goto memerr;\n          } else {\n            pHostname = pHostname + SIZEOF_DNS_ANSWER + htons(ans.len);\n          }\n          --nanswers;\n        }\n        LWIP_DEBUGF(DNS_DEBUG, (\"dns_recv: \\\"%s\\\": error in response\\n\", pEntry->name));\n        /* call callback to indicate error, clean up memory and return */\n        goto responseerr;\n      }\n    }\n  }\n\n  /* deallocate memory and return */\n  goto memerr;\n\nresponseerr:\n  /* ERROR: call specified callback function with NULL as name to indicate an error */\n  if (pEntry->found) {\n    (*pEntry->found)(pEntry->name, NULL, pEntry->arg);\n  }\n  /* flush this entry */\n  pEntry->state = DNS_STATE_UNUSED;\n  pEntry->found = NULL;\n\nmemerr:\n  /* free pbuf */\n  pbuf_free(p);\n  return;\n}\n\n/**\n * Queues a new hostname to resolve and sends out a DNS query for that hostname\n *\n * @param name the hostname that is to be queried\n * @param found a callback founction to be called on success, failure or timeout\n * @param callback_arg argument to pass to the callback function\n * @return @return a err_t return code.\n */\nstatic err_t\ndns_enqueue(const char *name, dns_found_callback found, void *callback_arg)\n{\n  u8_t i;\n  u8_t lseq, lseqi;\n  struct dns_table_entry *pEntry = NULL;\n  size_t namelen;\n\n  /* search an unused entry, or the oldest one */\n  lseq = lseqi = 0;\n  for (i = 0; i < DNS_TABLE_SIZE; ++i) {\n    pEntry = &dns_table[i];\n    /* is it an unused entry ? */\n    if (pEntry->state == DNS_STATE_UNUSED)\n      break;\n\n    /* check if this is the oldest completed entry */\n    if (pEntry->state == DNS_STATE_DONE) {\n      if ((dns_seqno - pEntry->seqno) > lseq) {\n        lseq = dns_seqno - pEntry->seqno;\n        lseqi = i;\n      }\n    }\n  }\n\n  /* if we don't have found an unused entry, use the oldest completed one */\n  if (i == DNS_TABLE_SIZE) {\n    if ((lseqi >= DNS_TABLE_SIZE) || (dns_table[lseqi].state != DNS_STATE_DONE)) {\n      /* no entry can't be used now, table is full */\n      LWIP_DEBUGF(DNS_DEBUG, (\"dns_enqueue: \\\"%s\\\": DNS entries table is full\\n\", name));\n      return ERR_MEM;\n    } else {\n      /* use the oldest completed one */\n      i = lseqi;\n      pEntry = &dns_table[i];\n    }\n  }\n\n  /* use this entry */\n  LWIP_DEBUGF(DNS_DEBUG, (\"dns_enqueue: \\\"%s\\\": use DNS entry %\"U16_F\"\\n\", name, (u16_t)(i)));\n\n  /* fill the entry */\n  pEntry->state = DNS_STATE_NEW;\n  pEntry->seqno = dns_seqno++;\n  pEntry->found = found;\n  pEntry->arg   = callback_arg;\n  namelen = LWIP_MIN(strlen(name), DNS_MAX_NAME_LENGTH-1);\n  MEMCPY(pEntry->name, name, namelen);\n  pEntry->name[namelen] = 0;\n\n  /* force to send query without waiting timer */\n  dns_check_entry(i);\n\n  /* dns query is enqueued */\n  return ERR_INPROGRESS;\n}\n\n/**\n * Resolve a hostname (string) into an IP address.\n * NON-BLOCKING callback version for use with raw API!!!\n *\n * Returns immediately with one of err_t return codes:\n * - ERR_OK if hostname is a valid IP address string or the host\n *   name is already in the local names table.\n * - ERR_INPROGRESS enqueue a request to be sent to the DNS server\n *   for resolution if no errors are present.\n * - ERR_ARG: dns client not initialized or invalid hostname\n *\n * @param hostname the hostname that is to be queried\n * @param addr pointer to a ip_addr_t where to store the address if it is already\n *             cached in the dns_table (only valid if ERR_OK is returned!)\n * @param found a callback function to be called on success, failure or timeout (only if\n *              ERR_INPROGRESS is returned!)\n * @param callback_arg argument to pass to the callback function\n * @return a err_t return code.\n */\nerr_t\ndns_gethostbyname(const char *hostname, ip_addr_t *addr, dns_found_callback found,\n                  void *callback_arg)\n{\n  u32_t ipaddr;\n  /* not initialized or no valid server yet, or invalid addr pointer\n   * or invalid hostname or invalid hostname length */\n  if ((dns_pcb == NULL) || (addr == NULL) ||\n      (!hostname) || (!hostname[0]) ||\n      (strlen(hostname) >= DNS_MAX_NAME_LENGTH)) {\n    return ERR_ARG;\n  }\n\n#if LWIP_HAVE_LOOPIF\n  if (strcmp(hostname, \"localhost\")==0) {\n    ip_addr_set_loopback(addr);\n    return ERR_OK;\n  }\n#endif /* LWIP_HAVE_LOOPIF */\n\n  /* host name already in octet notation? set ip addr and return ERR_OK */\n  ipaddr = ipaddr_addr(hostname);\n  if (ipaddr == IPADDR_NONE) {\n    /* already have this address cached? */\n    ipaddr = dns_lookup(hostname);\n  }\n  if (ipaddr != IPADDR_NONE) {\n    ip4_addr_set_u32(addr, ipaddr);\n    return ERR_OK;\n  }\n\n  /* queue query with specified callback */\n  return dns_enqueue(hostname, found, callback_arg);\n}\n\n#endif /* LWIP_DNS */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/init.c",
    "content": "/**\n * @file\n * Modules initialization\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/init.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/sockets.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/raw.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/tcp_impl.h\"\n#include \"lwip/snmp_msg.h\"\n#include \"lwip/autoip.h\"\n#include \"lwip/igmp.h\"\n#include \"lwip/dns.h\"\n#include \"lwip/timers.h\"\n#include \"netif/etharp.h\"\n#include \"lwip/api.h\"\n\n/* Compile-time sanity checks for configuration errors.\n * These can be done independently of LWIP_DEBUG, without penalty.\n */\n#ifndef BYTE_ORDER\n  #error \"BYTE_ORDER is not defined, you have to define it in your cc.h\"\n#endif\n#if (!IP_SOF_BROADCAST && IP_SOF_BROADCAST_RECV)\n  #error \"If you want to use broadcast filter per pcb on recv operations, you have to define IP_SOF_BROADCAST=1 in your lwipopts.h\"\n#endif\n#if (!LWIP_UDP && LWIP_UDPLITE)\n  #error \"If you want to use UDP Lite, you have to define LWIP_UDP=1 in your lwipopts.h\"\n#endif\n#if (!LWIP_UDP && LWIP_SNMP)\n  #error \"If you want to use SNMP, you have to define LWIP_UDP=1 in your lwipopts.h\"\n#endif\n#if (!LWIP_UDP && LWIP_DHCP)\n  #error \"If you want to use DHCP, you have to define LWIP_UDP=1 in your lwipopts.h\"\n#endif\n#if (!LWIP_UDP && LWIP_IGMP)\n  #error \"If you want to use IGMP, you have to define LWIP_UDP=1 in your lwipopts.h\"\n#endif\n#if (!LWIP_UDP && LWIP_SNMP)\n  #error \"If you want to use SNMP, you have to define LWIP_UDP=1 in your lwipopts.h\"\n#endif\n#if (!LWIP_UDP && LWIP_DNS)\n  #error \"If you want to use DNS, you have to define LWIP_UDP=1 in your lwipopts.h\"\n#endif\n#if !MEMP_MEM_MALLOC /* MEMP_NUM_* checks are disabled when not using the pool allocator */\n#if (LWIP_ARP && ARP_QUEUEING && (MEMP_NUM_ARP_QUEUE<=0))\n  #error \"If you want to use ARP Queueing, you have to define MEMP_NUM_ARP_QUEUE>=1 in your lwipopts.h\"\n#endif\n#if (LWIP_RAW && (MEMP_NUM_RAW_PCB<=0))\n  #error \"If you want to use RAW, you have to define MEMP_NUM_RAW_PCB>=1 in your lwipopts.h\"\n#endif\n#if (LWIP_UDP && (MEMP_NUM_UDP_PCB<=0))\n  #error \"If you want to use UDP, you have to define MEMP_NUM_UDP_PCB>=1 in your lwipopts.h\"\n#endif\n#if (LWIP_TCP && (MEMP_NUM_TCP_PCB<=0))\n  #error \"If you want to use TCP, you have to define MEMP_NUM_TCP_PCB>=1 in your lwipopts.h\"\n#endif\n#if (LWIP_IGMP && (MEMP_NUM_IGMP_GROUP<=1))\n  #error \"If you want to use IGMP, you have to define MEMP_NUM_IGMP_GROUP>1 in your lwipopts.h\"\n#endif\n#if ((LWIP_NETCONN || LWIP_SOCKET) && (MEMP_NUM_TCPIP_MSG_API<=0))\n  #error \"If you want to use Sequential API, you have to define MEMP_NUM_TCPIP_MSG_API>=1 in your lwipopts.h\"\n#endif\n/* There must be sufficient timeouts, taking into account requirements of the subsystems. */\n#if LWIP_TIMERS && (MEMP_NUM_SYS_TIMEOUT < (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT))\n  #error \"MEMP_NUM_SYS_TIMEOUT is too low to accomodate all required timeouts\"\n#endif\n#if (IP_REASSEMBLY && (MEMP_NUM_REASSDATA > IP_REASS_MAX_PBUFS))\n  #error \"MEMP_NUM_REASSDATA > IP_REASS_MAX_PBUFS doesn't make sense since each struct ip_reassdata must hold 2 pbufs at least!\"\n#endif\n#endif /* !MEMP_MEM_MALLOC */\n#if (LWIP_TCP && (TCP_WND > 0xffff))\n  #error \"If you want to use TCP, TCP_WND must fit in an u16_t, so, you have to reduce it in your lwipopts.h\"\n#endif\n#if (LWIP_TCP && (TCP_SND_QUEUELEN > 0xffff))\n  #error \"If you want to use TCP, TCP_SND_QUEUELEN must fit in an u16_t, so, you have to reduce it in your lwipopts.h\"\n#endif\n#if (LWIP_TCP && (TCP_SND_QUEUELEN < 2))\n  #error \"TCP_SND_QUEUELEN must be at least 2 for no-copy TCP writes to work\"\n#endif\n#if (LWIP_TCP && ((TCP_MAXRTX > 12) || (TCP_SYNMAXRTX > 12)))\n  #error \"If you want to use TCP, TCP_MAXRTX and TCP_SYNMAXRTX must less or equal to 12 (due to tcp_backoff table), so, you have to reduce them in your lwipopts.h\"\n#endif\n#if (LWIP_TCP && TCP_LISTEN_BACKLOG && (TCP_DEFAULT_LISTEN_BACKLOG < 0) || (TCP_DEFAULT_LISTEN_BACKLOG > 0xff))\n  #error \"If you want to use TCP backlog, TCP_DEFAULT_LISTEN_BACKLOG must fit into an u8_t\"\n#endif\n#if (LWIP_NETIF_API && (NO_SYS==1))\n  #error \"If you want to use NETIF API, you have to define NO_SYS=0 in your lwipopts.h\"\n#endif\n#if ((LWIP_SOCKET || LWIP_NETCONN) && (NO_SYS==1))\n  #error \"If you want to use Sequential API, you have to define NO_SYS=0 in your lwipopts.h\"\n#endif\n#if (!LWIP_NETCONN && LWIP_SOCKET)\n  #error \"If you want to use Socket API, you have to define LWIP_NETCONN=1 in your lwipopts.h\"\n#endif\n#if (((!LWIP_DHCP) || (!LWIP_AUTOIP)) && LWIP_DHCP_AUTOIP_COOP)\n  #error \"If you want to use DHCP/AUTOIP cooperation mode, you have to define LWIP_DHCP=1 and LWIP_AUTOIP=1 in your lwipopts.h\"\n#endif\n#if (((!LWIP_DHCP) || (!LWIP_ARP)) && DHCP_DOES_ARP_CHECK)\n  #error \"If you want to use DHCP ARP checking, you have to define LWIP_DHCP=1 and LWIP_ARP=1 in your lwipopts.h\"\n#endif\n#if (!LWIP_ARP && LWIP_AUTOIP)\n  #error \"If you want to use AUTOIP, you have to define LWIP_ARP=1 in your lwipopts.h\"\n#endif\n#if (LWIP_SNMP && (SNMP_CONCURRENT_REQUESTS<=0))\n  #error \"If you want to use SNMP, you have to define SNMP_CONCURRENT_REQUESTS>=1 in your lwipopts.h\"\n#endif\n#if (LWIP_SNMP && (SNMP_TRAP_DESTINATIONS<=0))\n  #error \"If you want to use SNMP, you have to define SNMP_TRAP_DESTINATIONS>=1 in your lwipopts.h\"\n#endif\n#if (LWIP_TCP && ((LWIP_EVENT_API && LWIP_CALLBACK_API) || (!LWIP_EVENT_API && !LWIP_CALLBACK_API)))\n  #error \"One and exactly one of LWIP_EVENT_API and LWIP_CALLBACK_API has to be enabled in your lwipopts.h\"\n#endif\n#if (MEM_LIBC_MALLOC && MEM_USE_POOLS)\n  #error \"MEM_LIBC_MALLOC and MEM_USE_POOLS may not both be simultaneously enabled in your lwipopts.h\"\n#endif\n#if (MEM_USE_POOLS && !MEMP_USE_CUSTOM_POOLS)\n  #error \"MEM_USE_POOLS requires custom pools (MEMP_USE_CUSTOM_POOLS) to be enabled in your lwipopts.h\"\n#endif\n#if (PBUF_POOL_BUFSIZE <= MEM_ALIGNMENT)\n  #error \"PBUF_POOL_BUFSIZE must be greater than MEM_ALIGNMENT or the offset may take the full first pbuf\"\n#endif\n#if (DNS_LOCAL_HOSTLIST && !DNS_LOCAL_HOSTLIST_IS_DYNAMIC && !(defined(DNS_LOCAL_HOSTLIST_INIT)))\n  #error \"you have to define define DNS_LOCAL_HOSTLIST_INIT {{'host1', 0x123}, {'host2', 0x234}} to initialize DNS_LOCAL_HOSTLIST\"\n#endif\n#if PPP_SUPPORT && !PPPOS_SUPPORT & !PPPOE_SUPPORT\n  #error \"PPP_SUPPORT needs either PPPOS_SUPPORT or PPPOE_SUPPORT turned on\"\n#endif\n#if !LWIP_ETHERNET && (LWIP_ARP || PPPOE_SUPPORT)\n  #error \"LWIP_ETHERNET needs to be turned on for LWIP_ARP or PPPOE_SUPPORT\"\n#endif\n#if LWIP_IGMP && !defined(LWIP_RAND)\n  #error \"When using IGMP, LWIP_RAND() needs to be defined to a random-function returning an u32_t random value\"\n#endif\n#if LWIP_TCPIP_CORE_LOCKING_INPUT && !LWIP_TCPIP_CORE_LOCKING\n  #error \"When using LWIP_TCPIP_CORE_LOCKING_INPUT, LWIP_TCPIP_CORE_LOCKING must be enabled, too\"\n#endif\n#if LWIP_TCP && LWIP_NETIF_TX_SINGLE_PBUF && !TCP_OVERSIZE\n  #error \"LWIP_NETIF_TX_SINGLE_PBUF needs TCP_OVERSIZE enabled to create single-pbuf TCP packets\"\n#endif\n#if IP_FRAG && IP_FRAG_USES_STATIC_BUF && LWIP_NETIF_TX_SINGLE_PBUF\n  #error \"LWIP_NETIF_TX_SINGLE_PBUF does not work with IP_FRAG_USES_STATIC_BUF==1 as that creates pbuf queues\"\n#endif\n#if LWIP_NETCONN && LWIP_TCP\n#if NETCONN_COPY != TCP_WRITE_FLAG_COPY\n  #error \"NETCONN_COPY != TCP_WRITE_FLAG_COPY\"\n#endif\n#if NETCONN_MORE != TCP_WRITE_FLAG_MORE\n  #error \"NETCONN_MORE != TCP_WRITE_FLAG_MORE\"\n#endif\n#endif /* LWIP_NETCONN && LWIP_TCP */ \n#if LWIP_SOCKET\n/* Check that the SO_* socket options and SOF_* lwIP-internal flags match */\n#if SO_ACCEPTCONN != SOF_ACCEPTCONN\n  #error \"SO_ACCEPTCONN != SOF_ACCEPTCONN\"\n#endif\n#if SO_REUSEADDR != SOF_REUSEADDR\n  #error \"WARNING: SO_REUSEADDR != SOF_REUSEADDR\"\n#endif\n#if SO_KEEPALIVE != SOF_KEEPALIVE\n  #error \"WARNING: SO_KEEPALIVE != SOF_KEEPALIVE\"\n#endif\n#if SO_BROADCAST != SOF_BROADCAST\n  #error \"WARNING: SO_BROADCAST != SOF_BROADCAST\"\n#endif\n#if SO_LINGER != SOF_LINGER\n  #error \"WARNING: SO_LINGER != SOF_LINGER\"\n#endif\n#endif /* LWIP_SOCKET */\n\n\n/* Compile-time checks for deprecated options.\n */\n#ifdef MEMP_NUM_TCPIP_MSG\n  #error \"MEMP_NUM_TCPIP_MSG option is deprecated. Remove it from your lwipopts.h.\"\n#endif\n#ifdef MEMP_NUM_API_MSG\n  #error \"MEMP_NUM_API_MSG option is deprecated. Remove it from your lwipopts.h.\"\n#endif\n#ifdef TCP_REXMIT_DEBUG\n  #error \"TCP_REXMIT_DEBUG option is deprecated. Remove it from your lwipopts.h.\"\n#endif\n#ifdef RAW_STATS\n  #error \"RAW_STATS option is deprecated. Remove it from your lwipopts.h.\"\n#endif\n#ifdef ETHARP_QUEUE_FIRST\n  #error \"ETHARP_QUEUE_FIRST option is deprecated. Remove it from your lwipopts.h.\"\n#endif\n#ifdef ETHARP_ALWAYS_INSERT\n  #error \"ETHARP_ALWAYS_INSERT option is deprecated. Remove it from your lwipopts.h.\"\n#endif\n\n#ifndef LWIP_DISABLE_TCP_SANITY_CHECKS\n#define LWIP_DISABLE_TCP_SANITY_CHECKS  0\n#endif\n#ifndef LWIP_DISABLE_MEMP_SANITY_CHECKS\n#define LWIP_DISABLE_MEMP_SANITY_CHECKS 0\n#endif\n\n/* MEMP sanity checks */\n#if !LWIP_DISABLE_MEMP_SANITY_CHECKS\n#if LWIP_NETCONN\n#if MEMP_MEM_MALLOC\n#if !MEMP_NUM_NETCONN && LWIP_SOCKET\n#error \"lwip_sanity_check: WARNING: MEMP_NUM_NETCONN cannot be 0 when using sockets!\"\n#endif\n#else /* MEMP_MEM_MALLOC */\n#if MEMP_NUM_NETCONN > (MEMP_NUM_TCP_PCB+MEMP_NUM_TCP_PCB_LISTEN+MEMP_NUM_UDP_PCB+MEMP_NUM_RAW_PCB)\n#error \"lwip_sanity_check: WARNING: MEMP_NUM_NETCONN should be less than the sum of MEMP_NUM_{TCP,RAW,UDP}_PCB+MEMP_NUM_TCP_PCB_LISTEN. If you know what you are doing, define LWIP_DISABLE_MEMP_SANITY_CHECKS to 1 to disable this error.\"\n#endif\n#endif /* MEMP_MEM_MALLOC */\n#endif /* LWIP_NETCONN */\n#endif /* !LWIP_DISABLE_MEMP_SANITY_CHECKS */\n\n/* TCP sanity checks */\n#if !LWIP_DISABLE_TCP_SANITY_CHECKS\n#if LWIP_TCP\n#if !MEMP_MEM_MALLOC && (MEMP_NUM_TCP_SEG < TCP_SND_QUEUELEN)\n  #error \"lwip_sanity_check: WARNING: MEMP_NUM_TCP_SEG should be at least as big as TCP_SND_QUEUELEN. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error.\"\n#endif\n#if TCP_SND_BUF < (2 * TCP_MSS)\n  #error \"lwip_sanity_check: WARNING: TCP_SND_BUF must be at least as much as (2 * TCP_MSS) for things to work smoothly. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error.\"\n#endif\n#if TCP_SND_QUEUELEN < (2 * (TCP_SND_BUF / TCP_MSS))\n  #error \"lwip_sanity_check: WARNING: TCP_SND_QUEUELEN must be at least as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error.\"\n#endif\n#if TCP_SNDLOWAT >= TCP_SND_BUF\n  #error \"lwip_sanity_check: WARNING: TCP_SNDLOWAT must be less than TCP_SND_BUF. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error.\"\n#endif\n#if TCP_SNDQUEUELOWAT >= TCP_SND_QUEUELEN\n  #error \"lwip_sanity_check: WARNING: TCP_SNDQUEUELOWAT must be less than TCP_SND_QUEUELEN. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error.\"\n#endif\n#if !MEMP_MEM_MALLOC && (TCP_WND > (PBUF_POOL_SIZE * (PBUF_POOL_BUFSIZE - (PBUF_LINK_HLEN + PBUF_IP_HLEN + PBUF_TRANSPORT_HLEN))))\n  #error \"lwip_sanity_check: WARNING: TCP_WND is larger than space provided by PBUF_POOL_SIZE * (PBUF_POOL_BUFSIZE - protocol headers). If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error.\"\n#endif\n#if TCP_WND < TCP_MSS\n  #error \"lwip_sanity_check: WARNING: TCP_WND is smaller than MSS. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error.\"\n#endif\n#endif /* LWIP_TCP */\n#endif /* !LWIP_DISABLE_TCP_SANITY_CHECKS */\n\n/**\n * Perform Sanity check of user-configurable values, and initialize all modules.\n */\nvoid\nlwip_init(void)\n{\n  /* Modules initialization */\n  stats_init();\n#if !NO_SYS\n  sys_init();\n#endif /* !NO_SYS */\n  mem_init();\n  memp_init();\n  pbuf_init();\n  netif_init();\n#if LWIP_SOCKET\n  lwip_socket_init();\n#endif /* LWIP_SOCKET */\n  ip_init();\n#if LWIP_ARP\n  etharp_init();\n#endif /* LWIP_ARP */\n#if LWIP_RAW\n  raw_init();\n#endif /* LWIP_RAW */\n#if LWIP_UDP\n  udp_init();\n#endif /* LWIP_UDP */\n#if LWIP_TCP\n  tcp_init();\n#endif /* LWIP_TCP */\n#if LWIP_SNMP\n  snmp_init();\n#endif /* LWIP_SNMP */\n#if LWIP_AUTOIP\n  autoip_init();\n#endif /* LWIP_AUTOIP */\n#if LWIP_IGMP\n  igmp_init();\n#endif /* LWIP_IGMP */\n#if LWIP_DNS\n  dns_init();\n#endif /* LWIP_DNS */\n\n#if LWIP_TIMERS\n  sys_timeouts_init();\n#endif /* LWIP_TIMERS */\n}\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv4/autoip.c",
    "content": "/**\n * @file\n * AutoIP Automatic LinkLocal IP Configuration\n *\n */\n\n/*\n *\n * Copyright (c) 2007 Dominik Spies <kontakt@dspies.de>\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Dominik Spies <kontakt@dspies.de>\n *\n * This is a AutoIP implementation for the lwIP TCP/IP stack. It aims to conform\n * with RFC 3927.\n *\n *\n * Please coordinate changes and requests with Dominik Spies\n * <kontakt@dspies.de>\n */\n\n/*******************************************************************************\n * USAGE:\n * \n * define LWIP_AUTOIP 1  in your lwipopts.h\n * \n * If you don't use tcpip.c (so, don't call, you don't call tcpip_init):\n * - First, call autoip_init().\n * - call autoip_tmr() all AUTOIP_TMR_INTERVAL msces,\n *   that should be defined in autoip.h.\n *   I recommend a value of 100. The value must divide 1000 with a remainder almost 0.\n *   Possible values are 1000, 500, 333, 250, 200, 166, 142, 125, 111, 100 ....\n *\n * Without DHCP:\n * - Call autoip_start() after netif_add().\n * \n * With DHCP:\n * - define LWIP_DHCP_AUTOIP_COOP 1 in your lwipopts.h.\n * - Configure your DHCP Client.\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_AUTOIP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/mem.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/autoip.h\"\n#include \"netif/etharp.h\"\n\n#include <stdlib.h>\n#include <string.h>\n\n/* 169.254.0.0 */\n#define AUTOIP_NET         0xA9FE0000\n/* 169.254.1.0 */\n#define AUTOIP_RANGE_START (AUTOIP_NET | 0x0100)\n/* 169.254.254.255 */\n#define AUTOIP_RANGE_END   (AUTOIP_NET | 0xFEFF)\n\n\n/** Pseudo random macro based on netif informations.\n * You could use \"rand()\" from the C Library if you define LWIP_AUTOIP_RAND in lwipopts.h */\n#ifndef LWIP_AUTOIP_RAND\n#define LWIP_AUTOIP_RAND(netif) ( (((u32_t)((netif->hwaddr[5]) & 0xff) << 24) | \\\n                                   ((u32_t)((netif->hwaddr[3]) & 0xff) << 16) | \\\n                                   ((u32_t)((netif->hwaddr[2]) & 0xff) << 8) | \\\n                                   ((u32_t)((netif->hwaddr[4]) & 0xff))) + \\\n                                   (netif->autoip?netif->autoip->tried_llipaddr:0))\n#endif /* LWIP_AUTOIP_RAND */\n\n/**\n * Macro that generates the initial IP address to be tried by AUTOIP.\n * If you want to override this, define it to something else in lwipopts.h.\n */\n#ifndef LWIP_AUTOIP_CREATE_SEED_ADDR\n#define LWIP_AUTOIP_CREATE_SEED_ADDR(netif) \\\n  htonl(AUTOIP_RANGE_START + ((u32_t)(((u8_t)(netif->hwaddr[4])) | \\\n                 ((u32_t)((u8_t)(netif->hwaddr[5]))) << 8)))\n#endif /* LWIP_AUTOIP_CREATE_SEED_ADDR */\n\n/* static functions */\nstatic void autoip_handle_arp_conflict(struct netif *netif);\n\n/* creates a pseudo random LL IP-Address for a network interface */\nstatic void autoip_create_addr(struct netif *netif, ip_addr_t *ipaddr);\n\n/* sends an ARP probe */\nstatic err_t autoip_arp_probe(struct netif *netif);\n\n/* sends an ARP announce */\nstatic err_t autoip_arp_announce(struct netif *netif);\n\n/* configure interface for use with current LL IP-Address */\nstatic err_t autoip_bind(struct netif *netif);\n\n/* start sending probes for llipaddr */\nstatic void autoip_start_probing(struct netif *netif);\n\n\n/** Set a statically allocated struct autoip to work with.\n * Using this prevents autoip_start to allocate it using mem_malloc.\n *\n * @param netif the netif for which to set the struct autoip\n * @param dhcp (uninitialised) dhcp struct allocated by the application\n */\nvoid\nautoip_set_struct(struct netif *netif, struct autoip *autoip)\n{\n  LWIP_ASSERT(\"netif != NULL\", netif != NULL);\n  LWIP_ASSERT(\"autoip != NULL\", autoip != NULL);\n  LWIP_ASSERT(\"netif already has a struct autoip set\", netif->autoip == NULL);\n\n  /* clear data structure */\n  memset(autoip, 0, sizeof(struct autoip));\n  /* autoip->state = AUTOIP_STATE_OFF; */\n  netif->autoip = autoip;\n}\n\n/** Restart AutoIP client and check the next address (conflict detected)\n *\n * @param netif The netif under AutoIP control\n */\nstatic void\nautoip_restart(struct netif *netif)\n{\n  netif->autoip->tried_llipaddr++;\n  autoip_start(netif);\n}\n\n/**\n * Handle a IP address conflict after an ARP conflict detection\n */\nstatic void\nautoip_handle_arp_conflict(struct netif *netif)\n{\n  /* Somehow detect if we are defending or retreating */\n  unsigned char defend = 1; /* tbd */\n\n  if (defend) {\n    if (netif->autoip->lastconflict > 0) {\n      /* retreat, there was a conflicting ARP in the last\n       * DEFEND_INTERVAL seconds\n       */\n      LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n        (\"autoip_handle_arp_conflict(): we are defending, but in DEFEND_INTERVAL, retreating\\n\"));\n\n      /* TODO: close all TCP sessions */\n      autoip_restart(netif);\n    } else {\n      LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n        (\"autoip_handle_arp_conflict(): we are defend, send ARP Announce\\n\"));\n      autoip_arp_announce(netif);\n      netif->autoip->lastconflict = DEFEND_INTERVAL * AUTOIP_TICKS_PER_SECOND;\n    }\n  } else {\n    LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n      (\"autoip_handle_arp_conflict(): we do not defend, retreating\\n\"));\n    /* TODO: close all TCP sessions */\n    autoip_restart(netif);\n  }\n}\n\n/**\n * Create an IP-Address out of range 169.254.1.0 to 169.254.254.255\n *\n * @param netif network interface on which create the IP-Address\n * @param ipaddr ip address to initialize\n */\nstatic void\nautoip_create_addr(struct netif *netif, ip_addr_t *ipaddr)\n{\n  /* Here we create an IP-Address out of range 169.254.1.0 to 169.254.254.255\n   * compliant to RFC 3927 Section 2.1\n   * We have 254 * 256 possibilities */\n\n  u32_t addr = ntohl(LWIP_AUTOIP_CREATE_SEED_ADDR(netif));\n  addr += netif->autoip->tried_llipaddr;\n  addr = AUTOIP_NET | (addr & 0xffff);\n  /* Now, 169.254.0.0 <= addr <= 169.254.255.255 */ \n\n  if (addr < AUTOIP_RANGE_START) {\n    addr += AUTOIP_RANGE_END - AUTOIP_RANGE_START + 1;\n  }\n  if (addr > AUTOIP_RANGE_END) {\n    addr -= AUTOIP_RANGE_END - AUTOIP_RANGE_START + 1;\n  }\n  LWIP_ASSERT(\"AUTOIP address not in range\", (addr >= AUTOIP_RANGE_START) &&\n    (addr <= AUTOIP_RANGE_END));\n  ip4_addr_set_u32(ipaddr, htonl(addr));\n  \n  LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n    (\"autoip_create_addr(): tried_llipaddr=%\"U16_F\", %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n    (u16_t)(netif->autoip->tried_llipaddr), ip4_addr1_16(ipaddr), ip4_addr2_16(ipaddr),\n    ip4_addr3_16(ipaddr), ip4_addr4_16(ipaddr)));\n}\n\n/**\n * Sends an ARP probe from a network interface\n *\n * @param netif network interface used to send the probe\n */\nstatic err_t\nautoip_arp_probe(struct netif *netif)\n{\n  return etharp_raw(netif, (struct eth_addr *)netif->hwaddr, &ethbroadcast,\n    (struct eth_addr *)netif->hwaddr, IP_ADDR_ANY, &ethzero,\n    &netif->autoip->llipaddr, ARP_REQUEST);\n}\n\n/**\n * Sends an ARP announce from a network interface\n *\n * @param netif network interface used to send the announce\n */\nstatic err_t\nautoip_arp_announce(struct netif *netif)\n{\n  return etharp_raw(netif, (struct eth_addr *)netif->hwaddr, &ethbroadcast,\n    (struct eth_addr *)netif->hwaddr, &netif->autoip->llipaddr, &ethzero,\n    &netif->autoip->llipaddr, ARP_REQUEST);\n}\n\n/**\n * Configure interface for use with current LL IP-Address\n *\n * @param netif network interface to configure with current LL IP-Address\n */\nstatic err_t\nautoip_bind(struct netif *netif)\n{\n  struct autoip *autoip = netif->autoip;\n  ip_addr_t sn_mask, gw_addr;\n\n  LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE,\n    (\"autoip_bind(netif=%p) %c%c%\"U16_F\" %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n    (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num,\n    ip4_addr1_16(&autoip->llipaddr), ip4_addr2_16(&autoip->llipaddr),\n    ip4_addr3_16(&autoip->llipaddr), ip4_addr4_16(&autoip->llipaddr)));\n\n  IP4_ADDR(&sn_mask, 255, 255, 0, 0);\n  IP4_ADDR(&gw_addr, 0, 0, 0, 0);\n\n  netif_set_ipaddr(netif, &autoip->llipaddr);\n  netif_set_netmask(netif, &sn_mask);\n  netif_set_gw(netif, &gw_addr);  \n\n  /* bring the interface up */\n  netif_set_up(netif);\n\n  return ERR_OK;\n}\n\n/**\n * Start AutoIP client\n *\n * @param netif network interface on which start the AutoIP client\n */\nerr_t\nautoip_start(struct netif *netif)\n{\n  struct autoip *autoip = netif->autoip;\n  err_t result = ERR_OK;\n\n  if (netif_is_up(netif)) {\n    netif_set_down(netif);\n  }\n\n  /* Set IP-Address, Netmask and Gateway to 0 to make sure that\n   * ARP Packets are formed correctly\n   */\n  ip_addr_set_zero(&netif->ip_addr);\n  ip_addr_set_zero(&netif->netmask);\n  ip_addr_set_zero(&netif->gw);\n\n  LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n    (\"autoip_start(netif=%p) %c%c%\"U16_F\"\\n\", (void*)netif, netif->name[0],\n    netif->name[1], (u16_t)netif->num));\n  if (autoip == NULL) {\n    /* no AutoIP client attached yet? */\n    LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE,\n      (\"autoip_start(): starting new AUTOIP client\\n\"));\n    autoip = (struct autoip *)mem_malloc(sizeof(struct autoip));\n    if (autoip == NULL) {\n      LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE,\n        (\"autoip_start(): could not allocate autoip\\n\"));\n      return ERR_MEM;\n    }\n    memset(autoip, 0, sizeof(struct autoip));\n    /* store this AutoIP client in the netif */\n    netif->autoip = autoip;\n    LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, (\"autoip_start(): allocated autoip\"));\n  } else {\n    autoip->state = AUTOIP_STATE_OFF;\n    autoip->ttw = 0;\n    autoip->sent_num = 0;\n    ip_addr_set_zero(&autoip->llipaddr);\n    autoip->lastconflict = 0;\n  }\n\n  autoip_create_addr(netif, &(autoip->llipaddr));\n  autoip_start_probing(netif);\n\n  return result;\n}\n\nstatic void\nautoip_start_probing(struct netif *netif)\n{\n  struct autoip *autoip = netif->autoip;\n\n  autoip->state = AUTOIP_STATE_PROBING;\n  autoip->sent_num = 0;\n  LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n     (\"autoip_start_probing(): changing state to PROBING: %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n      ip4_addr1_16(&netif->autoip->llipaddr), ip4_addr2_16(&netif->autoip->llipaddr),\n      ip4_addr3_16(&netif->autoip->llipaddr), ip4_addr4_16(&netif->autoip->llipaddr)));\n\n  /* time to wait to first probe, this is randomly\n   * choosen out of 0 to PROBE_WAIT seconds.\n   * compliant to RFC 3927 Section 2.2.1\n   */\n  autoip->ttw = (u16_t)(LWIP_AUTOIP_RAND(netif) % (PROBE_WAIT * AUTOIP_TICKS_PER_SECOND));\n\n  /*\n   * if we tried more then MAX_CONFLICTS we must limit our rate for\n   * accquiring and probing address\n   * compliant to RFC 3927 Section 2.2.1\n   */\n  if (autoip->tried_llipaddr > MAX_CONFLICTS) {\n    autoip->ttw = RATE_LIMIT_INTERVAL * AUTOIP_TICKS_PER_SECOND;\n  }\n}\n\n/**\n * Handle a possible change in the network configuration.\n *\n * If there is an AutoIP address configured, take the interface down\n * and begin probing with the same address.\n */\nvoid\nautoip_network_changed(struct netif *netif)\n{\n  if (netif->autoip && netif->autoip->state != AUTOIP_STATE_OFF) {\n    netif_set_down(netif);\n    autoip_start_probing(netif);\n  }\n}\n\n/**\n * Stop AutoIP client\n *\n * @param netif network interface on which stop the AutoIP client\n */\nerr_t\nautoip_stop(struct netif *netif)\n{\n  netif->autoip->state = AUTOIP_STATE_OFF;\n  netif_set_down(netif);\n  return ERR_OK;\n}\n\n/**\n * Has to be called in loop every AUTOIP_TMR_INTERVAL milliseconds\n */\nvoid\nautoip_tmr()\n{\n  struct netif *netif = netif_list;\n  /* loop through netif's */\n  while (netif != NULL) {\n    /* only act on AutoIP configured interfaces */\n    if (netif->autoip != NULL) {\n      if (netif->autoip->lastconflict > 0) {\n        netif->autoip->lastconflict--;\n      }\n\n      LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE,\n        (\"autoip_tmr() AutoIP-State: %\"U16_F\", ttw=%\"U16_F\"\\n\",\n        (u16_t)(netif->autoip->state), netif->autoip->ttw));\n\n      switch(netif->autoip->state) {\n        case AUTOIP_STATE_PROBING:\n          if (netif->autoip->ttw > 0) {\n            netif->autoip->ttw--;\n          } else {\n            if (netif->autoip->sent_num >= PROBE_NUM) {\n              netif->autoip->state = AUTOIP_STATE_ANNOUNCING;\n              netif->autoip->sent_num = 0;\n              netif->autoip->ttw = ANNOUNCE_WAIT * AUTOIP_TICKS_PER_SECOND;\n              LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n                 (\"autoip_tmr(): changing state to ANNOUNCING: %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n                  ip4_addr1_16(&netif->autoip->llipaddr), ip4_addr2_16(&netif->autoip->llipaddr),\n                  ip4_addr3_16(&netif->autoip->llipaddr), ip4_addr4_16(&netif->autoip->llipaddr)));\n            } else {\n              autoip_arp_probe(netif);\n              LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE,\n                (\"autoip_tmr() PROBING Sent Probe\\n\"));\n              netif->autoip->sent_num++;\n              /* calculate time to wait to next probe */\n              netif->autoip->ttw = (u16_t)((LWIP_AUTOIP_RAND(netif) %\n                ((PROBE_MAX - PROBE_MIN) * AUTOIP_TICKS_PER_SECOND) ) +\n                PROBE_MIN * AUTOIP_TICKS_PER_SECOND);\n            }\n          }\n          break;\n\n        case AUTOIP_STATE_ANNOUNCING:\n          if (netif->autoip->ttw > 0) {\n            netif->autoip->ttw--;\n          } else {\n            if (netif->autoip->sent_num == 0) {\n             /* We are here the first time, so we waited ANNOUNCE_WAIT seconds\n              * Now we can bind to an IP address and use it.\n              *\n              * autoip_bind calls netif_set_up. This triggers a gratuitous ARP\n              * which counts as an announcement.\n              */\n              autoip_bind(netif);\n            } else {\n              autoip_arp_announce(netif);\n              LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE,\n                (\"autoip_tmr() ANNOUNCING Sent Announce\\n\"));\n            }\n            netif->autoip->ttw = ANNOUNCE_INTERVAL * AUTOIP_TICKS_PER_SECOND;\n            netif->autoip->sent_num++;\n\n            if (netif->autoip->sent_num >= ANNOUNCE_NUM) {\n                netif->autoip->state = AUTOIP_STATE_BOUND;\n                netif->autoip->sent_num = 0;\n                netif->autoip->ttw = 0;\n                 LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n                    (\"autoip_tmr(): changing state to BOUND: %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n                     ip4_addr1_16(&netif->autoip->llipaddr), ip4_addr2_16(&netif->autoip->llipaddr),\n                     ip4_addr3_16(&netif->autoip->llipaddr), ip4_addr4_16(&netif->autoip->llipaddr)));\n            }\n          }\n          break;\n      }\n    }\n    /* proceed to next network interface */\n    netif = netif->next;\n  }\n}\n\n/**\n * Handles every incoming ARP Packet, called by etharp_arp_input.\n *\n * @param netif network interface to use for autoip processing\n * @param hdr Incoming ARP packet\n */\nvoid\nautoip_arp_reply(struct netif *netif, struct etharp_hdr *hdr)\n{\n  LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, (\"autoip_arp_reply()\\n\"));\n  if ((netif->autoip != NULL) && (netif->autoip->state != AUTOIP_STATE_OFF)) {\n   /* when ip.src == llipaddr && hw.src != netif->hwaddr\n    *\n    * when probing  ip.dst == llipaddr && hw.src != netif->hwaddr\n    * we have a conflict and must solve it\n    */\n    ip_addr_t sipaddr, dipaddr;\n    struct eth_addr netifaddr;\n    ETHADDR16_COPY(netifaddr.addr, netif->hwaddr);\n\n    /* Copy struct ip_addr2 to aligned ip_addr, to support compilers without\n     * structure packing (not using structure copy which breaks strict-aliasing rules).\n     */\n    IPADDR2_COPY(&sipaddr, &hdr->sipaddr);\n    IPADDR2_COPY(&dipaddr, &hdr->dipaddr);\n      \n    if ((netif->autoip->state == AUTOIP_STATE_PROBING) ||\n        ((netif->autoip->state == AUTOIP_STATE_ANNOUNCING) &&\n         (netif->autoip->sent_num == 0))) {\n     /* RFC 3927 Section 2.2.1:\n      * from beginning to after ANNOUNCE_WAIT\n      * seconds we have a conflict if\n      * ip.src == llipaddr OR\n      * ip.dst == llipaddr && hw.src != own hwaddr\n      */\n      if ((ip_addr_cmp(&sipaddr, &netif->autoip->llipaddr)) ||\n          (ip_addr_cmp(&dipaddr, &netif->autoip->llipaddr) &&\n           !eth_addr_cmp(&netifaddr, &hdr->shwaddr))) {\n        LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE | LWIP_DBG_LEVEL_WARNING,\n          (\"autoip_arp_reply(): Probe Conflict detected\\n\"));\n        autoip_restart(netif);\n      }\n    } else {\n     /* RFC 3927 Section 2.5:\n      * in any state we have a conflict if\n      * ip.src == llipaddr && hw.src != own hwaddr\n      */\n      if (ip_addr_cmp(&sipaddr, &netif->autoip->llipaddr) &&\n          !eth_addr_cmp(&netifaddr, &hdr->shwaddr)) {\n        LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE | LWIP_DBG_LEVEL_WARNING,\n          (\"autoip_arp_reply(): Conflicting ARP-Packet detected\\n\"));\n        autoip_handle_arp_conflict(netif);\n      }\n    }\n  }\n}\n\n#endif /* LWIP_AUTOIP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv4/icmp.c",
    "content": "/**\n * @file\n * ICMP - Internet Control Message Protocol\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n/* Some ICMP messages should be passed to the transport protocols. This\n   is not implemented. */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_ICMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/icmp.h\"\n#include \"lwip/inet_chksum.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/def.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/snmp.h\"\n\n#include <string.h>\n\n/** Small optimization: set to 0 if incoming PBUF_POOL pbuf always can be\n * used to modify and send a response packet (and to 1 if this is not the case,\n * e.g. when link header is stripped of when receiving) */\n#ifndef LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN\n#define LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN 1\n#endif /* LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN */\n\n/* The amount of data from the original packet to return in a dest-unreachable */\n#define ICMP_DEST_UNREACH_DATASIZE 8\n\nstatic void icmp_send_response(struct pbuf *p, u8_t type, u8_t code);\n\n/**\n * Processes ICMP input packets, called from ip_input().\n *\n * Currently only processes icmp echo requests and sends\n * out the echo response.\n *\n * @param p the icmp echo request packet, p->payload pointing to the ip header\n * @param inp the netif on which this packet was received\n */\nvoid\nicmp_input(struct pbuf *p, struct netif *inp)\n{\n  u8_t type;\n#ifdef LWIP_DEBUG\n  u8_t code;\n#endif /* LWIP_DEBUG */\n  struct icmp_echo_hdr *iecho;\n  struct ip_hdr *iphdr;\n  s16_t hlen;\n\n  ICMP_STATS_INC(icmp.recv);\n  snmp_inc_icmpinmsgs();\n\n\n  iphdr = (struct ip_hdr *)p->payload;\n  hlen = IPH_HL(iphdr) * 4;\n  if (pbuf_header(p, -hlen) || (p->tot_len < sizeof(u16_t)*2)) {\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: short ICMP (%\"U16_F\" bytes) received\\n\", p->tot_len));\n    goto lenerr;\n  }\n\n  type = *((u8_t *)p->payload);\n#ifdef LWIP_DEBUG\n  code = *(((u8_t *)p->payload)+1);\n#endif /* LWIP_DEBUG */\n  switch (type) {\n  case ICMP_ER:\n    /* This is OK, echo reply might have been parsed by a raw PCB\n       (as obviously, an echo request has been sent, too). */\n    break; \n  case ICMP_ECHO:\n#if !LWIP_MULTICAST_PING || !LWIP_BROADCAST_PING\n    {\n      int accepted = 1;\n#if !LWIP_MULTICAST_PING\n      /* multicast destination address? */\n      if (ip_addr_ismulticast(&current_iphdr_dest)) {\n        accepted = 0;\n      }\n#endif /* LWIP_MULTICAST_PING */\n#if !LWIP_BROADCAST_PING\n      /* broadcast destination address? */\n      if (ip_addr_isbroadcast(&current_iphdr_dest, inp)) {\n        accepted = 0;\n      }\n#endif /* LWIP_BROADCAST_PING */\n      /* broadcast or multicast destination address not acceptd? */\n      if (!accepted) {\n        LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: Not echoing to multicast or broadcast pings\\n\"));\n        ICMP_STATS_INC(icmp.err);\n        pbuf_free(p);\n        return;\n      }\n    }\n#endif /* !LWIP_MULTICAST_PING || !LWIP_BROADCAST_PING */\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: ping\\n\"));\n    if (p->tot_len < sizeof(struct icmp_echo_hdr)) {\n      LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: bad ICMP echo received\\n\"));\n      goto lenerr;\n    }\n    if (inet_chksum_pbuf(p) != 0) {\n      LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: checksum failed for received ICMP echo\\n\"));\n      pbuf_free(p);\n      ICMP_STATS_INC(icmp.chkerr);\n      snmp_inc_icmpinerrors();\n      return;\n    }\n#if LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN\n    if (pbuf_header(p, (PBUF_IP_HLEN + PBUF_LINK_HLEN))) {\n      /* p is not big enough to contain link headers\n       * allocate a new one and copy p into it\n       */\n      struct pbuf *r;\n      /* switch p->payload to ip header */\n      if (pbuf_header(p, hlen)) {\n        LWIP_ASSERT(\"icmp_input: moving p->payload to ip header failed\\n\", 0);\n        goto memerr;\n      }\n      /* allocate new packet buffer with space for link headers */\n      r = pbuf_alloc(PBUF_LINK, p->tot_len, PBUF_RAM);\n      if (r == NULL) {\n        LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: allocating new pbuf failed\\n\"));\n        goto memerr;\n      }\n      LWIP_ASSERT(\"check that first pbuf can hold struct the ICMP header\",\n                  (r->len >= hlen + sizeof(struct icmp_echo_hdr)));\n      /* copy the whole packet including ip header */\n      if (pbuf_copy(r, p) != ERR_OK) {\n        LWIP_ASSERT(\"icmp_input: copying to new pbuf failed\\n\", 0);\n        goto memerr;\n      }\n      iphdr = (struct ip_hdr *)r->payload;\n      /* switch r->payload back to icmp header */\n      if (pbuf_header(r, -hlen)) {\n        LWIP_ASSERT(\"icmp_input: restoring original p->payload failed\\n\", 0);\n        goto memerr;\n      }\n      /* free the original p */\n      pbuf_free(p);\n      /* we now have an identical copy of p that has room for link headers */\n      p = r;\n    } else {\n      /* restore p->payload to point to icmp header */\n      if (pbuf_header(p, -(s16_t)(PBUF_IP_HLEN + PBUF_LINK_HLEN))) {\n        LWIP_ASSERT(\"icmp_input: restoring original p->payload failed\\n\", 0);\n        goto memerr;\n      }\n    }\n#endif /* LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN */\n    /* At this point, all checks are OK. */\n    /* We generate an answer by switching the dest and src ip addresses,\n     * setting the icmp type to ECHO_RESPONSE and updating the checksum. */\n    iecho = (struct icmp_echo_hdr *)p->payload;\n    ip_addr_copy(iphdr->src, *ip_current_dest_addr());\n    ip_addr_copy(iphdr->dest, *ip_current_src_addr());\n    ICMPH_TYPE_SET(iecho, ICMP_ER);\n#if CHECKSUM_GEN_ICMP\n    /* adjust the checksum */\n    if (iecho->chksum >= PP_HTONS(0xffffU - (ICMP_ECHO << 8))) {\n      iecho->chksum += PP_HTONS(ICMP_ECHO << 8) + 1;\n    } else {\n      iecho->chksum += PP_HTONS(ICMP_ECHO << 8);\n    }\n#else /* CHECKSUM_GEN_ICMP */\n    iecho->chksum = 0;\n#endif /* CHECKSUM_GEN_ICMP */\n\n    /* Set the correct TTL and recalculate the header checksum. */\n    IPH_TTL_SET(iphdr, ICMP_TTL);\n    IPH_CHKSUM_SET(iphdr, 0);\n#if CHECKSUM_GEN_IP\n    IPH_CHKSUM_SET(iphdr, inet_chksum(iphdr, IP_HLEN));\n#endif /* CHECKSUM_GEN_IP */\n\n    ICMP_STATS_INC(icmp.xmit);\n    /* increase number of messages attempted to send */\n    snmp_inc_icmpoutmsgs();\n    /* increase number of echo replies attempted to send */\n    snmp_inc_icmpoutechoreps();\n\n    if(pbuf_header(p, hlen)) {\n      LWIP_ASSERT(\"Can't move over header in packet\", 0);\n    } else {\n      err_t ret;\n      /* send an ICMP packet, src addr is the dest addr of the curren packet */\n      ret = ip_output_if(p, ip_current_dest_addr(), IP_HDRINCL,\n                   ICMP_TTL, 0, IP_PROTO_ICMP, inp);\n      if (ret != ERR_OK) {\n        LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: ip_output_if returned an error: %c.\\n\", ret));\n      }\n    }\n    break;\n  default:\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: ICMP type %\"S16_F\" code %\"S16_F\" not supported.\\n\", \n                (s16_t)type, (s16_t)code));\n    ICMP_STATS_INC(icmp.proterr);\n    ICMP_STATS_INC(icmp.drop);\n  }\n  pbuf_free(p);\n  return;\nlenerr:\n  pbuf_free(p);\n  ICMP_STATS_INC(icmp.lenerr);\n  snmp_inc_icmpinerrors();\n  return;\n#if LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN\nmemerr:\n  pbuf_free(p);\n  ICMP_STATS_INC(icmp.err);\n  snmp_inc_icmpinerrors();\n  return;\n#endif /* LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN */\n}\n\n/**\n * Send an icmp 'destination unreachable' packet, called from ip_input() if\n * the transport layer protocol is unknown and from udp_input() if the local\n * port is not bound.\n *\n * @param p the input packet for which the 'unreachable' should be sent,\n *          p->payload pointing to the IP header\n * @param t type of the 'unreachable' packet\n */\nvoid\nicmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t)\n{\n  icmp_send_response(p, ICMP_DUR, t);\n}\n\n#if IP_FORWARD || IP_REASSEMBLY\n/**\n * Send a 'time exceeded' packet, called from ip_forward() if TTL is 0.\n *\n * @param p the input packet for which the 'time exceeded' should be sent,\n *          p->payload pointing to the IP header\n * @param t type of the 'time exceeded' packet\n */\nvoid\nicmp_time_exceeded(struct pbuf *p, enum icmp_te_type t)\n{\n  icmp_send_response(p, ICMP_TE, t);\n}\n\n#endif /* IP_FORWARD || IP_REASSEMBLY */\n\n/**\n * Send an icmp packet in response to an incoming packet.\n *\n * @param p the input packet for which the 'unreachable' should be sent,\n *          p->payload pointing to the IP header\n * @param type Type of the ICMP header\n * @param code Code of the ICMP header\n */\nstatic void\nicmp_send_response(struct pbuf *p, u8_t type, u8_t code)\n{\n  struct pbuf *q;\n  struct ip_hdr *iphdr;\n  /* we can use the echo header here */\n  struct icmp_echo_hdr *icmphdr;\n  ip_addr_t iphdr_src;\n\n  /* ICMP header + IP header + 8 bytes of data */\n  q = pbuf_alloc(PBUF_IP, sizeof(struct icmp_echo_hdr) + IP_HLEN + ICMP_DEST_UNREACH_DATASIZE,\n                 PBUF_RAM);\n  if (q == NULL) {\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_time_exceeded: failed to allocate pbuf for ICMP packet.\\n\"));\n    return;\n  }\n  LWIP_ASSERT(\"check that first pbuf can hold icmp message\",\n             (q->len >= (sizeof(struct icmp_echo_hdr) + IP_HLEN + ICMP_DEST_UNREACH_DATASIZE)));\n\n  iphdr = (struct ip_hdr *)p->payload;\n  LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_time_exceeded from \"));\n  ip_addr_debug_print(ICMP_DEBUG, &(iphdr->src));\n  LWIP_DEBUGF(ICMP_DEBUG, (\" to \"));\n  ip_addr_debug_print(ICMP_DEBUG, &(iphdr->dest));\n  LWIP_DEBUGF(ICMP_DEBUG, (\"\\n\"));\n\n  icmphdr = (struct icmp_echo_hdr *)q->payload;\n  icmphdr->type = type;\n  icmphdr->code = code;\n  icmphdr->id = 0;\n  icmphdr->seqno = 0;\n\n  /* copy fields from original packet */\n  SMEMCPY((u8_t *)q->payload + sizeof(struct icmp_echo_hdr), (u8_t *)p->payload,\n          IP_HLEN + ICMP_DEST_UNREACH_DATASIZE);\n\n  /* calculate checksum */\n  icmphdr->chksum = 0;\n  icmphdr->chksum = inet_chksum(icmphdr, q->len);\n  ICMP_STATS_INC(icmp.xmit);\n  /* increase number of messages attempted to send */\n  snmp_inc_icmpoutmsgs();\n  /* increase number of destination unreachable messages attempted to send */\n  snmp_inc_icmpouttimeexcds();\n  ip_addr_copy(iphdr_src, iphdr->src);\n  ip_output(q, NULL, &iphdr_src, ICMP_TTL, 0, IP_PROTO_ICMP);\n  pbuf_free(q);\n}\n\n#endif /* LWIP_ICMP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv4/igmp.c",
    "content": "/**\n * @file\n * IGMP - Internet Group Management Protocol\n *\n */\n\n/*\n * Copyright (c) 2002 CITEL Technologies Ltd.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without \n * modification, are permitted provided that the following conditions \n * are met: \n * 1. Redistributions of source code must retain the above copyright \n *    notice, this list of conditions and the following disclaimer. \n * 2. Redistributions in binary form must reproduce the above copyright \n *    notice, this list of conditions and the following disclaimer in the \n *    documentation and/or other materials provided with the distribution. \n * 3. Neither the name of CITEL Technologies Ltd nor the names of its contributors \n *    may be used to endorse or promote products derived from this software \n *    without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY CITEL TECHNOLOGIES AND CONTRIBUTORS ``AS IS''\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \n * ARE DISCLAIMED.  IN NO EVENT SHALL CITEL TECHNOLOGIES OR CONTRIBUTORS BE LIABLE \n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \n * SUCH DAMAGE. \n *\n * This file is a contribution to the lwIP TCP/IP stack.\n * The Swedish Institute of Computer Science and Adam Dunkels\n * are specifically granted permission to redistribute this\n * source code.\n*/\n\n/*-------------------------------------------------------------\nNote 1)\nAlthough the rfc requires V1 AND V2 capability\nwe will only support v2 since now V1 is very old (August 1989)\nV1 can be added if required\n\na debug print and statistic have been implemented to\nshow this up.\n-------------------------------------------------------------\n-------------------------------------------------------------\nNote 2)\nA query for a specific group address (as opposed to ALLHOSTS)\nhas now been implemented as I am unsure if it is required\n\na debug print and statistic have been implemented to\nshow this up.\n-------------------------------------------------------------\n-------------------------------------------------------------\nNote 3)\nThe router alert rfc 2113 is implemented in outgoing packets\nbut not checked rigorously incoming\n-------------------------------------------------------------\nSteve Reynolds\n------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n * RFC 988  - Host extensions for IP multicasting                         - V0\n * RFC 1054 - Host extensions for IP multicasting                         -\n * RFC 1112 - Host extensions for IP multicasting                         - V1\n * RFC 2236 - Internet Group Management Protocol, Version 2               - V2  <- this code is based on this RFC (it's the \"de facto\" standard)\n * RFC 3376 - Internet Group Management Protocol, Version 3               - V3\n * RFC 4604 - Using Internet Group Management Protocol Version 3...       - V3+\n * RFC 2113 - IP Router Alert Option                                      - \n *----------------------------------------------------------------------------*/\n\n/*-----------------------------------------------------------------------------\n * Includes\n *----------------------------------------------------------------------------*/\n\n#include \"lwip/opt.h\"\n\n#if LWIP_IGMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/igmp.h\"\n#include \"lwip/debug.h\"\n#include \"lwip/def.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/inet_chksum.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/icmp.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/tcp.h\"\n#include \"lwip/stats.h\"\n\n#include \"string.h\"\n\n/* \n * IGMP constants\n */\n#define IGMP_TTL                       1\n#define IGMP_MINLEN                    8\n#define ROUTER_ALERT                   0x9404U\n#define ROUTER_ALERTLEN                4\n\n/*\n * IGMP message types, including version number.\n */\n#define IGMP_MEMB_QUERY                0x11 /* Membership query         */\n#define IGMP_V1_MEMB_REPORT            0x12 /* Ver. 1 membership report */\n#define IGMP_V2_MEMB_REPORT            0x16 /* Ver. 2 membership report */\n#define IGMP_LEAVE_GROUP               0x17 /* Leave-group message      */\n\n/* Group  membership states */\n#define IGMP_GROUP_NON_MEMBER          0\n#define IGMP_GROUP_DELAYING_MEMBER     1\n#define IGMP_GROUP_IDLE_MEMBER         2\n\n/**\n * IGMP packet format.\n */\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct igmp_msg {\n PACK_STRUCT_FIELD(u8_t           igmp_msgtype);\n PACK_STRUCT_FIELD(u8_t           igmp_maxresp);\n PACK_STRUCT_FIELD(u16_t          igmp_checksum);\n PACK_STRUCT_FIELD(ip_addr_p_t    igmp_group_address);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n\nstatic struct igmp_group *igmp_lookup_group(struct netif *ifp, ip_addr_t *addr);\nstatic err_t  igmp_remove_group(struct igmp_group *group);\nstatic void   igmp_timeout( struct igmp_group *group);\nstatic void   igmp_start_timer(struct igmp_group *group, u8_t max_time);\nstatic void   igmp_delaying_member(struct igmp_group *group, u8_t maxresp);\nstatic err_t  igmp_ip_output_if(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, struct netif *netif);\nstatic void   igmp_send(struct igmp_group *group, u8_t type);\n\n\nstatic struct igmp_group* igmp_group_list;\nstatic ip_addr_t     allsystems;\nstatic ip_addr_t     allrouters;\n\n\n/**\n * Initialize the IGMP module\n */\nvoid\nigmp_init(void)\n{\n  LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_init: initializing\\n\"));\n\n  IP4_ADDR(&allsystems, 224, 0, 0, 1);\n  IP4_ADDR(&allrouters, 224, 0, 0, 2);\n}\n\n#ifdef LWIP_DEBUG\n/**\n * Dump global IGMP groups list\n */\nvoid\nigmp_dump_group_list()\n{ \n  struct igmp_group *group = igmp_group_list;\n\n  while (group != NULL) {\n    LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_dump_group_list: [%\"U32_F\"] \", (u32_t)(group->group_state)));\n    ip_addr_debug_print(IGMP_DEBUG, &group->group_address);\n    LWIP_DEBUGF(IGMP_DEBUG, (\" on if %p\\n\", group->netif));\n    group = group->next;\n  }\n  LWIP_DEBUGF(IGMP_DEBUG, (\"\\n\"));\n}\n#else\n#define igmp_dump_group_list()\n#endif /* LWIP_DEBUG */\n\n/**\n * Start IGMP processing on interface\n *\n * @param netif network interface on which start IGMP processing\n */\nerr_t\nigmp_start(struct netif *netif)\n{\n  struct igmp_group* group;\n\n  LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_start: starting IGMP processing on if %p\\n\", netif));\n\n  group = igmp_lookup_group(netif, &allsystems);\n\n  if (group != NULL) {\n    group->group_state = IGMP_GROUP_IDLE_MEMBER;\n    group->use++;\n\n    /* Allow the igmp messages at the MAC level */\n    if (netif->igmp_mac_filter != NULL) {\n      LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_start: igmp_mac_filter(ADD \"));\n      ip_addr_debug_print(IGMP_DEBUG, &allsystems);\n      LWIP_DEBUGF(IGMP_DEBUG, (\") on if %p\\n\", netif));\n      netif->igmp_mac_filter(netif, &allsystems, IGMP_ADD_MAC_FILTER);\n    }\n\n    return ERR_OK;\n  }\n\n  return ERR_MEM;\n}\n\n/**\n * Stop IGMP processing on interface\n *\n * @param netif network interface on which stop IGMP processing\n */\nerr_t\nigmp_stop(struct netif *netif)\n{\n  struct igmp_group *group = igmp_group_list;\n  struct igmp_group *prev  = NULL;\n  struct igmp_group *next;\n\n  /* look for groups joined on this interface further down the list */\n  while (group != NULL) {\n    next = group->next;\n    /* is it a group joined on this interface? */\n    if (group->netif == netif) {\n      /* is it the first group of the list? */\n      if (group == igmp_group_list) {\n        igmp_group_list = next;\n      }\n      /* is there a \"previous\" group defined? */\n      if (prev != NULL) {\n        prev->next = next;\n      }\n      /* disable the group at the MAC level */\n      if (netif->igmp_mac_filter != NULL) {\n        LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_stop: igmp_mac_filter(DEL \"));\n        ip_addr_debug_print(IGMP_DEBUG, &group->group_address);\n        LWIP_DEBUGF(IGMP_DEBUG, (\") on if %p\\n\", netif));\n        netif->igmp_mac_filter(netif, &(group->group_address), IGMP_DEL_MAC_FILTER);\n      }\n      /* free group */\n      memp_free(MEMP_IGMP_GROUP, group);\n    } else {\n      /* change the \"previous\" */\n      prev = group;\n    }\n    /* move to \"next\" */\n    group = next;\n  }\n  return ERR_OK;\n}\n\n/**\n * Report IGMP memberships for this interface\n *\n * @param netif network interface on which report IGMP memberships\n */\nvoid\nigmp_report_groups(struct netif *netif)\n{\n  struct igmp_group *group = igmp_group_list;\n\n  LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_report_groups: sending IGMP reports on if %p\\n\", netif));\n\n  while (group != NULL) {\n    if (group->netif == netif) {\n      igmp_delaying_member(group, IGMP_JOIN_DELAYING_MEMBER_TMR);\n    }\n    group = group->next;\n  }\n}\n\n/**\n * Search for a group in the global igmp_group_list\n *\n * @param ifp the network interface for which to look\n * @param addr the group ip address to search for\n * @return a struct igmp_group* if the group has been found,\n *         NULL if the group wasn't found.\n */\nstruct igmp_group *\nigmp_lookfor_group(struct netif *ifp, ip_addr_t *addr)\n{\n  struct igmp_group *group = igmp_group_list;\n\n  while (group != NULL) {\n    if ((group->netif == ifp) && (ip_addr_cmp(&(group->group_address), addr))) {\n      return group;\n    }\n    group = group->next;\n  }\n\n  /* to be clearer, we return NULL here instead of\n   * 'group' (which is also NULL at this point).\n   */\n  return NULL;\n}\n\n/**\n * Search for a specific igmp group and create a new one if not found-\n *\n * @param ifp the network interface for which to look\n * @param addr the group ip address to search\n * @return a struct igmp_group*,\n *         NULL on memory error.\n */\nstruct igmp_group *\nigmp_lookup_group(struct netif *ifp, ip_addr_t *addr)\n{\n  struct igmp_group *group = igmp_group_list;\n  \n  /* Search if the group already exists */\n  group = igmp_lookfor_group(ifp, addr);\n  if (group != NULL) {\n    /* Group already exists. */\n    return group;\n  }\n\n  /* Group doesn't exist yet, create a new one */\n  group = (struct igmp_group *)memp_malloc(MEMP_IGMP_GROUP);\n  if (group != NULL) {\n    group->netif              = ifp;\n    ip_addr_set(&(group->group_address), addr);\n    group->timer              = 0; /* Not running */\n    group->group_state        = IGMP_GROUP_NON_MEMBER;\n    group->last_reporter_flag = 0;\n    group->use                = 0;\n    group->next               = igmp_group_list;\n    \n    igmp_group_list = group;\n  }\n\n  LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_lookup_group: %sallocated a new group with address \", (group?\"\":\"impossible to \")));\n  ip_addr_debug_print(IGMP_DEBUG, addr);\n  LWIP_DEBUGF(IGMP_DEBUG, (\" on if %p\\n\", ifp));\n\n  return group;\n}\n\n/**\n * Remove a group in the global igmp_group_list\n *\n * @param group the group to remove from the global igmp_group_list\n * @return ERR_OK if group was removed from the list, an err_t otherwise\n */\nstatic err_t\nigmp_remove_group(struct igmp_group *group)\n{\n  err_t err = ERR_OK;\n\n  /* Is it the first group? */\n  if (igmp_group_list == group) {\n    igmp_group_list = group->next;\n  } else {\n    /* look for group further down the list */\n    struct igmp_group *tmpGroup;\n    for (tmpGroup = igmp_group_list; tmpGroup != NULL; tmpGroup = tmpGroup->next) {\n      if (tmpGroup->next == group) {\n        tmpGroup->next = group->next;\n        break;\n      }\n    }\n    /* Group not found in the global igmp_group_list */\n    if (tmpGroup == NULL)\n      err = ERR_ARG;\n  }\n  /* free group */\n  memp_free(MEMP_IGMP_GROUP, group);\n\n  return err;\n}\n\n/**\n * Called from ip_input() if a new IGMP packet is received.\n *\n * @param p received igmp packet, p->payload pointing to the ip header\n * @param inp network interface on which the packet was received\n * @param dest destination ip address of the igmp packet\n */\nvoid\nigmp_input(struct pbuf *p, struct netif *inp, ip_addr_t *dest)\n{\n  struct ip_hdr *    iphdr;\n  struct igmp_msg*   igmp;\n  struct igmp_group* group;\n  struct igmp_group* groupref;\n\n  IGMP_STATS_INC(igmp.recv);\n\n  /* Note that the length CAN be greater than 8 but only 8 are used - All are included in the checksum */    \n  iphdr = (struct ip_hdr *)p->payload;\n  if (pbuf_header(p, -(s16_t)(IPH_HL(iphdr) * 4)) || (p->len < IGMP_MINLEN)) {\n    pbuf_free(p);\n    IGMP_STATS_INC(igmp.lenerr);\n    LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_input: length error\\n\"));\n    return;\n  }\n\n  LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_input: message from \"));\n  ip_addr_debug_print(IGMP_DEBUG, &(iphdr->src));\n  LWIP_DEBUGF(IGMP_DEBUG, (\" to address \"));\n  ip_addr_debug_print(IGMP_DEBUG, &(iphdr->dest));\n  LWIP_DEBUGF(IGMP_DEBUG, (\" on if %p\\n\", inp));\n\n  /* Now calculate and check the checksum */\n  igmp = (struct igmp_msg *)p->payload;\n  if (inet_chksum(igmp, p->len)) {\n    pbuf_free(p);\n    IGMP_STATS_INC(igmp.chkerr);\n    LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_input: checksum error\\n\"));\n    return;\n  }\n\n  /* Packet is ok so find an existing group */\n  group = igmp_lookfor_group(inp, dest); /* use the destination IP address of incoming packet */\n  \n  /* If group can be found or create... */\n  if (!group) {\n    pbuf_free(p);\n    IGMP_STATS_INC(igmp.drop);\n    LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_input: IGMP frame not for us\\n\"));\n    return;\n  }\n\n  /* NOW ACT ON THE INCOMING MESSAGE TYPE... */\n  switch (igmp->igmp_msgtype) {\n   case IGMP_MEMB_QUERY: {\n     /* IGMP_MEMB_QUERY to the \"all systems\" address ? */\n     if ((ip_addr_cmp(dest, &allsystems)) && ip_addr_isany(&igmp->igmp_group_address)) {\n       /* THIS IS THE GENERAL QUERY */\n       LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_input: General IGMP_MEMB_QUERY on \\\"ALL SYSTEMS\\\" address (224.0.0.1) [igmp_maxresp=%i]\\n\", (int)(igmp->igmp_maxresp)));\n\n       if (igmp->igmp_maxresp == 0) {\n         IGMP_STATS_INC(igmp.rx_v1);\n         LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_input: got an all hosts query with time== 0 - this is V1 and not implemented - treat as v2\\n\"));\n         igmp->igmp_maxresp = IGMP_V1_DELAYING_MEMBER_TMR;\n       } else {\n         IGMP_STATS_INC(igmp.rx_general);\n       }\n\n       groupref = igmp_group_list;\n       while (groupref) {\n         /* Do not send messages on the all systems group address! */\n         if ((groupref->netif == inp) && (!(ip_addr_cmp(&(groupref->group_address), &allsystems)))) {\n           igmp_delaying_member(groupref, igmp->igmp_maxresp);\n         }\n         groupref = groupref->next;\n       }\n     } else {\n       /* IGMP_MEMB_QUERY to a specific group ? */\n       if (!ip_addr_isany(&igmp->igmp_group_address)) {\n         LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_input: IGMP_MEMB_QUERY to a specific group \"));\n         ip_addr_debug_print(IGMP_DEBUG, &igmp->igmp_group_address);\n         if (ip_addr_cmp(dest, &allsystems)) {\n           ip_addr_t groupaddr;\n           LWIP_DEBUGF(IGMP_DEBUG, (\" using \\\"ALL SYSTEMS\\\" address (224.0.0.1) [igmp_maxresp=%i]\\n\", (int)(igmp->igmp_maxresp)));\n           /* we first need to re-look for the group since we used dest last time */\n           ip_addr_copy(groupaddr, igmp->igmp_group_address);\n           group = igmp_lookfor_group(inp, &groupaddr);\n         } else {\n           LWIP_DEBUGF(IGMP_DEBUG, (\" with the group address as destination [igmp_maxresp=%i]\\n\", (int)(igmp->igmp_maxresp)));\n         }\n\n         if (group != NULL) {\n           IGMP_STATS_INC(igmp.rx_group);\n           igmp_delaying_member(group, igmp->igmp_maxresp);\n         } else {\n           IGMP_STATS_INC(igmp.drop);\n         }\n       } else {\n         IGMP_STATS_INC(igmp.proterr);\n       }\n     }\n     break;\n   }\n   case IGMP_V2_MEMB_REPORT: {\n     LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_input: IGMP_V2_MEMB_REPORT\\n\"));\n     IGMP_STATS_INC(igmp.rx_report);\n     if (group->group_state == IGMP_GROUP_DELAYING_MEMBER) {\n       /* This is on a specific group we have already looked up */\n       group->timer = 0; /* stopped */\n       group->group_state = IGMP_GROUP_IDLE_MEMBER;\n       group->last_reporter_flag = 0;\n     }\n     break;\n   }\n   default: {\n     LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_input: unexpected msg %d in state %d on group %p on if %p\\n\",\n       igmp->igmp_msgtype, group->group_state, &group, group->netif));\n     IGMP_STATS_INC(igmp.proterr);\n     break;\n   }\n  }\n\n  pbuf_free(p);\n  return;\n}\n\n/**\n * Join a group on one network interface.\n *\n * @param ifaddr ip address of the network interface which should join a new group\n * @param groupaddr the ip address of the group which to join\n * @return ERR_OK if group was joined on the netif(s), an err_t otherwise\n */\nerr_t\nigmp_joingroup(ip_addr_t *ifaddr, ip_addr_t *groupaddr)\n{\n  err_t              err = ERR_VAL; /* no matching interface */\n  struct igmp_group *group;\n  struct netif      *netif;\n\n  /* make sure it is multicast address */\n  LWIP_ERROR(\"igmp_joingroup: attempt to join non-multicast address\", ip_addr_ismulticast(groupaddr), return ERR_VAL;);\n  LWIP_ERROR(\"igmp_joingroup: attempt to join allsystems address\", (!ip_addr_cmp(groupaddr, &allsystems)), return ERR_VAL;);\n\n  /* loop through netif's */\n  netif = netif_list;\n  while (netif != NULL) {\n    /* Should we join this interface ? */\n    if ((netif->flags & NETIF_FLAG_IGMP) && ((ip_addr_isany(ifaddr) || ip_addr_cmp(&(netif->ip_addr), ifaddr)))) {\n      /* find group or create a new one if not found */\n      group = igmp_lookup_group(netif, groupaddr);\n\n      if (group != NULL) {\n        /* This should create a new group, check the state to make sure */\n        if (group->group_state != IGMP_GROUP_NON_MEMBER) {\n          LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_joingroup: join to group not in state IGMP_GROUP_NON_MEMBER\\n\"));\n        } else {\n          /* OK - it was new group */\n          LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_joingroup: join to new group: \"));\n          ip_addr_debug_print(IGMP_DEBUG, groupaddr);\n          LWIP_DEBUGF(IGMP_DEBUG, (\"\\n\"));\n\n          /* If first use of the group, allow the group at the MAC level */\n          if ((group->use==0) && (netif->igmp_mac_filter != NULL)) {\n            LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_joingroup: igmp_mac_filter(ADD \"));\n            ip_addr_debug_print(IGMP_DEBUG, groupaddr);\n            LWIP_DEBUGF(IGMP_DEBUG, (\") on if %p\\n\", netif));\n            netif->igmp_mac_filter(netif, groupaddr, IGMP_ADD_MAC_FILTER);\n          }\n\n          IGMP_STATS_INC(igmp.tx_join);\n          igmp_send(group, IGMP_V2_MEMB_REPORT);\n\n          igmp_start_timer(group, IGMP_JOIN_DELAYING_MEMBER_TMR);\n\n          /* Need to work out where this timer comes from */\n          group->group_state = IGMP_GROUP_DELAYING_MEMBER;\n        }\n        /* Increment group use */\n        group->use++;\n        /* Join on this interface */\n        err = ERR_OK;\n      } else {\n        /* Return an error even if some network interfaces are joined */\n        /** @todo undo any other netif already joined */\n        LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_joingroup: Not enought memory to join to group\\n\"));\n        return ERR_MEM;\n      }\n    }\n    /* proceed to next network interface */\n    netif = netif->next;\n  }\n\n  return err;\n}\n\n/**\n * Leave a group on one network interface.\n *\n * @param ifaddr ip address of the network interface which should leave a group\n * @param groupaddr the ip address of the group which to leave\n * @return ERR_OK if group was left on the netif(s), an err_t otherwise\n */\nerr_t\nigmp_leavegroup(ip_addr_t *ifaddr, ip_addr_t *groupaddr)\n{\n  err_t              err = ERR_VAL; /* no matching interface */\n  struct igmp_group *group;\n  struct netif      *netif;\n\n  /* make sure it is multicast address */\n  LWIP_ERROR(\"igmp_leavegroup: attempt to leave non-multicast address\", ip_addr_ismulticast(groupaddr), return ERR_VAL;);\n  LWIP_ERROR(\"igmp_leavegroup: attempt to leave allsystems address\", (!ip_addr_cmp(groupaddr, &allsystems)), return ERR_VAL;);\n\n  /* loop through netif's */\n  netif = netif_list;\n  while (netif != NULL) {\n    /* Should we leave this interface ? */\n    if ((netif->flags & NETIF_FLAG_IGMP) && ((ip_addr_isany(ifaddr) || ip_addr_cmp(&(netif->ip_addr), ifaddr)))) {\n      /* find group */\n      group = igmp_lookfor_group(netif, groupaddr);\n\n      if (group != NULL) {\n        /* Only send a leave if the flag is set according to the state diagram */\n        LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_leavegroup: Leaving group: \"));\n        ip_addr_debug_print(IGMP_DEBUG, groupaddr);\n        LWIP_DEBUGF(IGMP_DEBUG, (\"\\n\"));\n\n        /* If there is no other use of the group */\n        if (group->use <= 1) {\n          /* If we are the last reporter for this group */\n          if (group->last_reporter_flag) {\n            LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_leavegroup: sending leaving group\\n\"));\n            IGMP_STATS_INC(igmp.tx_leave);\n            igmp_send(group, IGMP_LEAVE_GROUP);\n          }\n          \n          /* Disable the group at the MAC level */\n          if (netif->igmp_mac_filter != NULL) {\n            LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_leavegroup: igmp_mac_filter(DEL \"));\n            ip_addr_debug_print(IGMP_DEBUG, groupaddr);\n            LWIP_DEBUGF(IGMP_DEBUG, (\") on if %p\\n\", netif));\n            netif->igmp_mac_filter(netif, groupaddr, IGMP_DEL_MAC_FILTER);\n          }\n          \n          LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_leavegroup: remove group: \"));\n          ip_addr_debug_print(IGMP_DEBUG, groupaddr);\n          LWIP_DEBUGF(IGMP_DEBUG, (\"\\n\"));          \n          \n          /* Free the group */\n          igmp_remove_group(group);\n        } else {\n          /* Decrement group use */\n          group->use--;\n        }\n        /* Leave on this interface */\n        err = ERR_OK;\n      } else {\n        /* It's not a fatal error on \"leavegroup\" */\n        LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_leavegroup: not member of group\\n\"));\n      }\n    }\n    /* proceed to next network interface */\n    netif = netif->next;\n  }\n\n  return err;\n}\n\n/**\n * The igmp timer function (both for NO_SYS=1 and =0)\n * Should be called every IGMP_TMR_INTERVAL milliseconds (100 ms is default).\n */\nvoid\nigmp_tmr(void)\n{\n  struct igmp_group *group = igmp_group_list;\n\n  while (group != NULL) {\n    if (group->timer > 0) {\n      group->timer--;\n      if (group->timer == 0) {\n        igmp_timeout(group);\n      }\n    }\n    group = group->next;\n  }\n}\n\n/**\n * Called if a timeout for one group is reached.\n * Sends a report for this group.\n *\n * @param group an igmp_group for which a timeout is reached\n */\nstatic void\nigmp_timeout(struct igmp_group *group)\n{\n  /* If the state is IGMP_GROUP_DELAYING_MEMBER then we send a report for this group */\n  if (group->group_state == IGMP_GROUP_DELAYING_MEMBER) {\n    LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_timeout: report membership for group with address \"));\n    ip_addr_debug_print(IGMP_DEBUG, &(group->group_address));\n    LWIP_DEBUGF(IGMP_DEBUG, (\" on if %p\\n\", group->netif));\n\n    IGMP_STATS_INC(igmp.tx_report);\n    igmp_send(group, IGMP_V2_MEMB_REPORT);\n  }\n}\n\n/**\n * Start a timer for an igmp group\n *\n * @param group the igmp_group for which to start a timer\n * @param max_time the time in multiples of IGMP_TMR_INTERVAL (decrease with\n *        every call to igmp_tmr())\n */\nstatic void\nigmp_start_timer(struct igmp_group *group, u8_t max_time)\n{\n  /* ensure the input value is > 0 */\n  if (max_time == 0) {\n    max_time = 1;\n  }\n  /* ensure the random value is > 0 */\n  group->timer = (LWIP_RAND() % (max_time - 1)) + 1;\n}\n\n/**\n * Delaying membership report for a group if necessary\n *\n * @param group the igmp_group for which \"delaying\" membership report\n * @param maxresp query delay\n */\nstatic void\nigmp_delaying_member(struct igmp_group *group, u8_t maxresp)\n{\n  if ((group->group_state == IGMP_GROUP_IDLE_MEMBER) ||\n     ((group->group_state == IGMP_GROUP_DELAYING_MEMBER) &&\n      ((group->timer == 0) || (maxresp < group->timer)))) {\n    igmp_start_timer(group, maxresp);\n    group->group_state = IGMP_GROUP_DELAYING_MEMBER;\n  }\n}\n\n\n/**\n * Sends an IP packet on a network interface. This function constructs the IP header\n * and calculates the IP header checksum. If the source IP address is NULL,\n * the IP address of the outgoing network interface is filled in as source address.\n *\n * @param p the packet to send (p->payload points to the data, e.g. next\n            protocol header; if dest == IP_HDRINCL, p already includes an IP\n            header and p->payload points to that IP header)\n * @param src the source IP address to send from (if src == IP_ADDR_ANY, the\n *         IP  address of the netif used to send is used as source address)\n * @param dest the destination IP address to send the packet to\n * @param ttl the TTL value to be set in the IP header\n * @param proto the PROTOCOL to be set in the IP header\n * @param netif the netif on which to send this packet\n * @return ERR_OK if the packet was sent OK\n *         ERR_BUF if p doesn't have enough space for IP/LINK headers\n *         returns errors returned by netif->output\n */\nstatic err_t\nigmp_ip_output_if(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest, struct netif *netif)\n{\n  /* This is the \"router alert\" option */\n  u16_t ra[2];\n  ra[0] = PP_HTONS(ROUTER_ALERT);\n  ra[1] = 0x0000; /* Router shall examine packet */\n  IGMP_STATS_INC(igmp.xmit);\n  return ip_output_if_opt(p, src, dest, IGMP_TTL, 0, IP_PROTO_IGMP, netif, ra, ROUTER_ALERTLEN);\n}\n\n/**\n * Send an igmp packet to a specific group.\n *\n * @param group the group to which to send the packet\n * @param type the type of igmp packet to send\n */\nstatic void\nigmp_send(struct igmp_group *group, u8_t type)\n{\n  struct pbuf*     p    = NULL;\n  struct igmp_msg* igmp = NULL;\n  ip_addr_t   src  = *IP_ADDR_ANY;\n  ip_addr_t*  dest = NULL;\n\n  /* IP header + \"router alert\" option + IGMP header */\n  p = pbuf_alloc(PBUF_TRANSPORT, IGMP_MINLEN, PBUF_RAM);\n  \n  if (p) {\n    igmp = (struct igmp_msg *)p->payload;\n    LWIP_ASSERT(\"igmp_send: check that first pbuf can hold struct igmp_msg\",\n               (p->len >= sizeof(struct igmp_msg)));\n    ip_addr_copy(src, group->netif->ip_addr);\n     \n    if (type == IGMP_V2_MEMB_REPORT) {\n      dest = &(group->group_address);\n      ip_addr_copy(igmp->igmp_group_address, group->group_address);\n      group->last_reporter_flag = 1; /* Remember we were the last to report */\n    } else {\n      if (type == IGMP_LEAVE_GROUP) {\n        dest = &allrouters;\n        ip_addr_copy(igmp->igmp_group_address, group->group_address);\n      }\n    }\n\n    if ((type == IGMP_V2_MEMB_REPORT) || (type == IGMP_LEAVE_GROUP)) {\n      igmp->igmp_msgtype  = type;\n      igmp->igmp_maxresp  = 0;\n      igmp->igmp_checksum = 0;\n      igmp->igmp_checksum = inet_chksum(igmp, IGMP_MINLEN);\n\n      igmp_ip_output_if(p, &src, dest, group->netif);\n    }\n\n    pbuf_free(p);\n  } else {\n    LWIP_DEBUGF(IGMP_DEBUG, (\"igmp_send: not enough memory for igmp_send\\n\"));\n    IGMP_STATS_INC(igmp.memerr);\n  }\n}\n\n#endif /* LWIP_IGMP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv4/inet.c",
    "content": "/**\n * @file\n * Functions common to all TCP/IPv4 modules, such as the byte order functions.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/inet.h\"\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv4/inet_chksum.c",
    "content": "/**\n * @file\n * Incluse internet checksum functions.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/inet_chksum.h\"\n#include \"lwip/def.h\"\n\n#include <stddef.h>\n#include <string.h>\n\n/* These are some reference implementations of the checksum algorithm, with the\n * aim of being simple, correct and fully portable. Checksumming is the\n * first thing you would want to optimize for your platform. If you create\n * your own version, link it in and in your cc.h put:\n * \n * #define LWIP_CHKSUM <your_checksum_routine> \n *\n * Or you can select from the implementations below by defining\n * LWIP_CHKSUM_ALGORITHM to 1, 2 or 3.\n */\n\n#ifndef LWIP_CHKSUM\n# define LWIP_CHKSUM lwip_standard_chksum\n# ifndef LWIP_CHKSUM_ALGORITHM\n#  define LWIP_CHKSUM_ALGORITHM 2\n# endif\n#endif\n/* If none set: */\n#ifndef LWIP_CHKSUM_ALGORITHM\n# define LWIP_CHKSUM_ALGORITHM 0\n#endif\n\n#if (LWIP_CHKSUM_ALGORITHM == 1) /* Version #1 */\n/**\n * lwip checksum\n *\n * @param dataptr points to start of data to be summed at any boundary\n * @param len length of data to be summed\n * @return host order (!) lwip checksum (non-inverted Internet sum) \n *\n * @note accumulator size limits summable length to 64k\n * @note host endianess is irrelevant (p3 RFC1071)\n */\nstatic u16_t\nlwip_standard_chksum(void *dataptr, u16_t len)\n{\n  u32_t acc;\n  u16_t src;\n  u8_t *octetptr;\n\n  acc = 0;\n  /* dataptr may be at odd or even addresses */\n  octetptr = (u8_t*)dataptr;\n  while (len > 1) {\n    /* declare first octet as most significant\n       thus assume network order, ignoring host order */\n    src = (*octetptr) << 8;\n    octetptr++;\n    /* declare second octet as least significant */\n    src |= (*octetptr);\n    octetptr++;\n    acc += src;\n    len -= 2;\n  }\n  if (len > 0) {\n    /* accumulate remaining octet */\n    src = (*octetptr) << 8;\n    acc += src;\n  }\n  /* add deferred carry bits */\n  acc = (acc >> 16) + (acc & 0x0000ffffUL);\n  if ((acc & 0xffff0000UL) != 0) {\n    acc = (acc >> 16) + (acc & 0x0000ffffUL);\n  }\n  /* This maybe a little confusing: reorder sum using htons()\n     instead of ntohs() since it has a little less call overhead.\n     The caller must invert bits for Internet sum ! */\n  return htons((u16_t)acc);\n}\n#endif\n\n#if (LWIP_CHKSUM_ALGORITHM == 2) /* Alternative version #2 */\n/*\n * Curt McDowell\n * Broadcom Corp.\n * csm@broadcom.com\n *\n * IP checksum two bytes at a time with support for\n * unaligned buffer.\n * Works for len up to and including 0x20000.\n * by Curt McDowell, Broadcom Corp. 12/08/2005\n *\n * @param dataptr points to start of data to be summed at any boundary\n * @param len length of data to be summed\n * @return host order (!) lwip checksum (non-inverted Internet sum) \n */\n\nstatic u16_t\nlwip_standard_chksum(void *dataptr, int len)\n{\n  u8_t *pb = (u8_t *)dataptr;\n  u16_t *ps, t = 0;\n  u32_t sum = 0;\n  int odd = ((mem_ptr_t)pb & 1);\n\n  /* Get aligned to u16_t */\n  if (odd && len > 0) {\n    ((u8_t *)&t)[1] = *pb++;\n    len--;\n  }\n\n  /* Add the bulk of the data */\n  ps = (u16_t *)(void *)pb;\n  while (len > 1) {\n    sum += *ps++;\n    len -= 2;\n  }\n\n  /* Consume left-over byte, if any */\n  if (len > 0) {\n    ((u8_t *)&t)[0] = *(u8_t *)ps;\n  }\n\n  /* Add end bytes */\n  sum += t;\n\n  /* Fold 32-bit sum to 16 bits\n     calling this twice is propably faster than if statements... */\n  sum = FOLD_U32T(sum);\n  sum = FOLD_U32T(sum);\n\n  /* Swap if alignment was odd */\n  if (odd) {\n    sum = SWAP_BYTES_IN_WORD(sum);\n  }\n\n  return (u16_t)sum;\n}\n#endif\n\n#if (LWIP_CHKSUM_ALGORITHM == 3) /* Alternative version #3 */\n/**\n * An optimized checksum routine. Basically, it uses loop-unrolling on\n * the checksum loop, treating the head and tail bytes specially, whereas\n * the inner loop acts on 8 bytes at a time. \n *\n * @arg start of buffer to be checksummed. May be an odd byte address.\n * @len number of bytes in the buffer to be checksummed.\n * @return host order (!) lwip checksum (non-inverted Internet sum) \n * \n * by Curt McDowell, Broadcom Corp. December 8th, 2005\n */\n\nstatic u16_t\nlwip_standard_chksum(void *dataptr, int len)\n{\n  u8_t *pb = (u8_t *)dataptr;\n  u16_t *ps, t = 0;\n  u32_t *pl;\n  u32_t sum = 0, tmp;\n  /* starts at odd byte address? */\n  int odd = ((mem_ptr_t)pb & 1);\n\n  if (odd && len > 0) {\n    ((u8_t *)&t)[1] = *pb++;\n    len--;\n  }\n\n  ps = (u16_t *)pb;\n\n  if (((mem_ptr_t)ps & 3) && len > 1) {\n    sum += *ps++;\n    len -= 2;\n  }\n\n  pl = (u32_t *)ps;\n\n  while (len > 7)  {\n    tmp = sum + *pl++;          /* ping */\n    if (tmp < sum) {\n      tmp++;                    /* add back carry */\n    }\n\n    sum = tmp + *pl++;          /* pong */\n    if (sum < tmp) {\n      sum++;                    /* add back carry */\n    }\n\n    len -= 8;\n  }\n\n  /* make room in upper bits */\n  sum = FOLD_U32T(sum);\n\n  ps = (u16_t *)pl;\n\n  /* 16-bit aligned word remaining? */\n  while (len > 1) {\n    sum += *ps++;\n    len -= 2;\n  }\n\n  /* dangling tail byte remaining? */\n  if (len > 0) {                /* include odd byte */\n    ((u8_t *)&t)[0] = *(u8_t *)ps;\n  }\n\n  sum += t;                     /* add end bytes */\n\n  /* Fold 32-bit sum to 16 bits\n     calling this twice is propably faster than if statements... */\n  sum = FOLD_U32T(sum);\n  sum = FOLD_U32T(sum);\n\n  if (odd) {\n    sum = SWAP_BYTES_IN_WORD(sum);\n  }\n\n  return (u16_t)sum;\n}\n#endif\n\n/* inet_chksum_pseudo:\n *\n * Calculates the pseudo Internet checksum used by TCP and UDP for a pbuf chain.\n * IP addresses are expected to be in network byte order.\n *\n * @param p chain of pbufs over that a checksum should be calculated (ip data part)\n * @param src source ip address (used for checksum of pseudo header)\n * @param dst destination ip address (used for checksum of pseudo header)\n * @param proto ip protocol (used for checksum of pseudo header)\n * @param proto_len length of the ip data part (used for checksum of pseudo header)\n * @return checksum (as u16_t) to be saved directly in the protocol header\n */\nu16_t\ninet_chksum_pseudo(struct pbuf *p,\n       ip_addr_t *src, ip_addr_t *dest,\n       u8_t proto, u16_t proto_len)\n{\n  u32_t acc;\n  u32_t addr;\n  struct pbuf *q;\n  u8_t swapped;\n\n  acc = 0;\n  swapped = 0;\n  /* iterate through all pbuf in chain */\n  for(q = p; q != NULL; q = q->next) {\n    LWIP_DEBUGF(INET_DEBUG, (\"inet_chksum_pseudo(): checksumming pbuf %p (has next %p) \\n\",\n      (void *)q, (void *)q->next));\n    acc += LWIP_CHKSUM(q->payload, q->len);\n    /*LWIP_DEBUGF(INET_DEBUG, (\"inet_chksum_pseudo(): unwrapped lwip_chksum()=%\"X32_F\" \\n\", acc));*/\n    /* just executing this next line is probably faster that the if statement needed\n       to check whether we really need to execute it, and does no harm */\n    acc = FOLD_U32T(acc);\n    if (q->len % 2 != 0) {\n      swapped = 1 - swapped;\n      acc = SWAP_BYTES_IN_WORD(acc);\n    }\n    /*LWIP_DEBUGF(INET_DEBUG, (\"inet_chksum_pseudo(): wrapped lwip_chksum()=%\"X32_F\" \\n\", acc));*/\n  }\n\n  if (swapped) {\n    acc = SWAP_BYTES_IN_WORD(acc);\n  }\n  addr = ip4_addr_get_u32(src);\n  acc += (addr & 0xffffUL);\n  acc += ((addr >> 16) & 0xffffUL);\n  addr = ip4_addr_get_u32(dest);\n  acc += (addr & 0xffffUL);\n  acc += ((addr >> 16) & 0xffffUL);\n  acc += (u32_t)htons((u16_t)proto);\n  acc += (u32_t)htons(proto_len);\n\n  /* Fold 32-bit sum to 16 bits\n     calling this twice is propably faster than if statements... */\n  acc = FOLD_U32T(acc);\n  acc = FOLD_U32T(acc);\n  LWIP_DEBUGF(INET_DEBUG, (\"inet_chksum_pseudo(): pbuf chain lwip_chksum()=%\"X32_F\"\\n\", acc));\n  return (u16_t)~(acc & 0xffffUL);\n}\n\n/* inet_chksum_pseudo:\n *\n * Calculates the pseudo Internet checksum used by TCP and UDP for a pbuf chain.\n * IP addresses are expected to be in network byte order.\n *\n * @param p chain of pbufs over that a checksum should be calculated (ip data part)\n * @param src source ip address (used for checksum of pseudo header)\n * @param dst destination ip address (used for checksum of pseudo header)\n * @param proto ip protocol (used for checksum of pseudo header)\n * @param proto_len length of the ip data part (used for checksum of pseudo header)\n * @return checksum (as u16_t) to be saved directly in the protocol header\n */\nu16_t\ninet_chksum_pseudo_partial(struct pbuf *p,\n       ip_addr_t *src, ip_addr_t *dest,\n       u8_t proto, u16_t proto_len, u16_t chksum_len)\n{\n  u32_t acc;\n  u32_t addr;\n  struct pbuf *q;\n  u8_t swapped;\n  u16_t chklen;\n\n  acc = 0;\n  swapped = 0;\n  /* iterate through all pbuf in chain */\n  for(q = p; (q != NULL) && (chksum_len > 0); q = q->next) {\n    LWIP_DEBUGF(INET_DEBUG, (\"inet_chksum_pseudo(): checksumming pbuf %p (has next %p) \\n\",\n      (void *)q, (void *)q->next));\n    chklen = q->len;\n    if (chklen > chksum_len) {\n      chklen = chksum_len;\n    }\n    acc += LWIP_CHKSUM(q->payload, chklen);\n    chksum_len -= chklen;\n    LWIP_ASSERT(\"delete me\", chksum_len < 0x7fff);\n    /*LWIP_DEBUGF(INET_DEBUG, (\"inet_chksum_pseudo(): unwrapped lwip_chksum()=%\"X32_F\" \\n\", acc));*/\n    /* fold the upper bit down */\n    acc = FOLD_U32T(acc);\n    if (q->len % 2 != 0) {\n      swapped = 1 - swapped;\n      acc = SWAP_BYTES_IN_WORD(acc);\n    }\n    /*LWIP_DEBUGF(INET_DEBUG, (\"inet_chksum_pseudo(): wrapped lwip_chksum()=%\"X32_F\" \\n\", acc));*/\n  }\n\n  if (swapped) {\n    acc = SWAP_BYTES_IN_WORD(acc);\n  }\n  addr = ip4_addr_get_u32(src);\n  acc += (addr & 0xffffUL);\n  acc += ((addr >> 16) & 0xffffUL);\n  addr = ip4_addr_get_u32(dest);\n  acc += (addr & 0xffffUL);\n  acc += ((addr >> 16) & 0xffffUL);\n  acc += (u32_t)htons((u16_t)proto);\n  acc += (u32_t)htons(proto_len);\n\n  /* Fold 32-bit sum to 16 bits\n     calling this twice is propably faster than if statements... */\n  acc = FOLD_U32T(acc);\n  acc = FOLD_U32T(acc);\n  LWIP_DEBUGF(INET_DEBUG, (\"inet_chksum_pseudo(): pbuf chain lwip_chksum()=%\"X32_F\"\\n\", acc));\n  return (u16_t)~(acc & 0xffffUL);\n}\n\n/* inet_chksum:\n *\n * Calculates the Internet checksum over a portion of memory. Used primarily for IP\n * and ICMP.\n *\n * @param dataptr start of the buffer to calculate the checksum (no alignment needed)\n * @param len length of the buffer to calculate the checksum\n * @return checksum (as u16_t) to be saved directly in the protocol header\n */\n\nu16_t\ninet_chksum(void *dataptr, u16_t len)\n{\n  return ~LWIP_CHKSUM(dataptr, len);\n}\n\n/**\n * Calculate a checksum over a chain of pbufs (without pseudo-header, much like\n * inet_chksum only pbufs are used).\n *\n * @param p pbuf chain over that the checksum should be calculated\n * @return checksum (as u16_t) to be saved directly in the protocol header\n */\nu16_t\ninet_chksum_pbuf(struct pbuf *p)\n{\n  u32_t acc;\n  struct pbuf *q;\n  u8_t swapped;\n\n  acc = 0;\n  swapped = 0;\n  for(q = p; q != NULL; q = q->next) {\n    acc += LWIP_CHKSUM(q->payload, q->len);\n    acc = FOLD_U32T(acc);\n    if (q->len % 2 != 0) {\n      swapped = 1 - swapped;\n      acc = SWAP_BYTES_IN_WORD(acc);\n    }\n  }\n\n  if (swapped) {\n    acc = SWAP_BYTES_IN_WORD(acc);\n  }\n  return (u16_t)~(acc & 0xffffUL);\n}\n\n/* These are some implementations for LWIP_CHKSUM_COPY, which copies data\n * like MEMCPY but generates a checksum at the same time. Since this is a\n * performance-sensitive function, you might want to create your own version\n * in assembly targeted at your hardware by defining it in lwipopts.h:\n *   #define LWIP_CHKSUM_COPY(dst, src, len) your_chksum_copy(dst, src, len)\n */\n\n#if (LWIP_CHKSUM_COPY_ALGORITHM == 1) /* Version #1 */\n/** Safe but slow: first call MEMCPY, then call LWIP_CHKSUM.\n * For architectures with big caches, data might still be in cache when\n * generating the checksum after copying.\n */\nu16_t\nlwip_chksum_copy(void *dst, const void *src, u16_t len)\n{\n  MEMCPY(dst, src, len);\n  return LWIP_CHKSUM(dst, len);\n}\n#endif /* (LWIP_CHKSUM_COPY_ALGORITHM == 1) */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv4/ip.c",
    "content": "/**\n * @file\n * This is the IPv4 layer implementation for incoming and outgoing IP traffic.\n * \n * @see ip_frag.c\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/def.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/ip_frag.h\"\n#include \"lwip/inet_chksum.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/icmp.h\"\n#include \"lwip/igmp.h\"\n#include \"lwip/raw.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/tcp_impl.h\"\n#include \"lwip/snmp.h\"\n#include \"lwip/dhcp.h\"\n#include \"lwip/autoip.h\"\n#include \"lwip/stats.h\"\n#include \"arch/perf.h\"\n\n#include <string.h>\n\n/** Set this to 0 in the rare case of wanting to call an extra function to\n * generate the IP checksum (in contrast to calculating it on-the-fly). */\n#ifndef LWIP_INLINE_IP_CHKSUM\n#define LWIP_INLINE_IP_CHKSUM   1\n#endif\n#if LWIP_INLINE_IP_CHKSUM && CHECKSUM_GEN_IP\n#define CHECKSUM_GEN_IP_INLINE  1\n#else\n#define CHECKSUM_GEN_IP_INLINE  0\n#endif\n\n#if LWIP_DHCP || defined(LWIP_IP_ACCEPT_UDP_PORT)\n#define IP_ACCEPT_LINK_LAYER_ADDRESSING 1\n\n/** Some defines for DHCP to let link-layer-addressed packets through while the\n * netif is down.\n * To use this in your own application/protocol, define LWIP_IP_ACCEPT_UDP_PORT\n * to return 1 if the port is accepted and 0 if the port is not accepted.\n */\n#if LWIP_DHCP && defined(LWIP_IP_ACCEPT_UDP_PORT)\n/* accept DHCP client port and custom port */\n#define IP_ACCEPT_LINK_LAYER_ADDRESSED_PORT(port) (((port) == PP_NTOHS(DHCP_CLIENT_PORT)) \\\n         || (LWIP_IP_ACCEPT_UDP_PORT(port)))\n#elif defined(LWIP_IP_ACCEPT_UDP_PORT) /* LWIP_DHCP && defined(LWIP_IP_ACCEPT_UDP_PORT) */\n/* accept custom port only */\n#define IP_ACCEPT_LINK_LAYER_ADDRESSED_PORT(port) (LWIP_IP_ACCEPT_UDP_PORT(port))\n#else /* LWIP_DHCP && defined(LWIP_IP_ACCEPT_UDP_PORT) */\n/* accept DHCP client port only */\n#define IP_ACCEPT_LINK_LAYER_ADDRESSED_PORT(port) ((port) == PP_NTOHS(DHCP_CLIENT_PORT))\n#endif /* LWIP_DHCP && defined(LWIP_IP_ACCEPT_UDP_PORT) */\n\n#else /* LWIP_DHCP */\n#define IP_ACCEPT_LINK_LAYER_ADDRESSING 0\n#endif /* LWIP_DHCP */\n\n/**\n * The interface that provided the packet for the current callback\n * invocation.\n */\nstruct netif *current_netif;\n\n/**\n * Header of the input packet currently being processed.\n */\nconst struct ip_hdr *current_header;\n/** Source IP address of current_header */\nip_addr_t current_iphdr_src;\n/** Destination IP address of current_header */\nip_addr_t current_iphdr_dest;\n\n/** The IP header ID of the next outgoing IP packet */\nstatic u16_t ip_id;\n\n/**\n * Finds the appropriate network interface for a given IP address. It\n * searches the list of network interfaces linearly. A match is found\n * if the masked IP address of the network interface equals the masked\n * IP address given to the function.\n *\n * @param dest the destination IP address for which to find the route\n * @return the netif on which to send to reach dest\n */\nstruct netif *\nip_route(ip_addr_t *dest)\n{\n  struct netif *netif;\n\n#ifdef LWIP_HOOK_IP4_ROUTE\n  netif = LWIP_HOOK_IP4_ROUTE(dest);\n  if (netif != NULL) {\n    return netif;\n  }\n#endif\n\n  /* iterate through netifs */\n  for (netif = netif_list; netif != NULL; netif = netif->next) {\n    /* network mask matches? */\n    if (netif_is_up(netif)) {\n      if (ip_addr_netcmp(dest, &(netif->ip_addr), &(netif->netmask))) {\n        /* return netif on which to forward IP packet */\n        return netif;\n      }\n    }\n  }\n  if ((netif_default == NULL) || (!netif_is_up(netif_default))) {\n    LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, (\"ip_route: No route to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n      ip4_addr1_16(dest), ip4_addr2_16(dest), ip4_addr3_16(dest), ip4_addr4_16(dest)));\n    IP_STATS_INC(ip.rterr);\n    snmp_inc_ipoutnoroutes();\n    return NULL;\n  }\n  /* no matching netif found, use default netif */\n  return netif_default;\n}\n\n#if IP_FORWARD\n/**\n * Determine whether an IP address is in a reserved set of addresses\n * that may not be forwarded, or whether datagrams to that destination\n * may be forwarded.\n * @param p the packet to forward\n * @param dest the destination IP address\n * @return 1: can forward 0: discard\n */\nstatic int\nip_canforward(struct pbuf *p)\n{\n  u32_t addr = ip4_addr_get_u32(ip_current_dest_addr());\n\n  if (p->flags & PBUF_FLAG_LLBCAST) {\n    /* don't route link-layer broadcasts */\n    return 0;\n  }\n  if ((p->flags & PBUF_FLAG_LLMCAST) && !IP_MULTICAST(addr)) {\n    /* don't route link-layer multicasts unless the destination address is an IP\n       multicast address */\n    return 0;\n  }\n  if (IP_EXPERIMENTAL(addr)) {\n    return 0;\n  }\n  if (IP_CLASSA(addr)) {\n    u32_t net = addr & IP_CLASSA_NET;\n    if ((net == 0) || (net == (IP_LOOPBACKNET << IP_CLASSA_NSHIFT))) {\n      /* don't route loopback packets */\n      return 0;\n    }\n  }\n  return 1;\n}\n\n/**\n * Forwards an IP packet. It finds an appropriate route for the\n * packet, decrements the TTL value of the packet, adjusts the\n * checksum and outputs the packet on the appropriate interface.\n *\n * @param p the packet to forward (p->payload points to IP header)\n * @param iphdr the IP header of the input packet\n * @param inp the netif on which this packet was received\n */\nstatic void\nip_forward(struct pbuf *p, struct ip_hdr *iphdr, struct netif *inp)\n{\n  struct netif *netif;\n\n  PERF_START;\n\n  if (!ip_canforward(p)) {\n    goto return_noroute;\n  }\n\n  /* RFC3927 2.7: do not forward link-local addresses */\n  if (ip_addr_islinklocal(&current_iphdr_dest)) {\n    LWIP_DEBUGF(IP_DEBUG, (\"ip_forward: not forwarding LLA %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n      ip4_addr1_16(&current_iphdr_dest), ip4_addr2_16(&current_iphdr_dest),\n      ip4_addr3_16(&current_iphdr_dest), ip4_addr4_16(&current_iphdr_dest)));\n    goto return_noroute;\n  }\n\n  /* Find network interface where to forward this IP packet to. */\n  netif = ip_route(&current_iphdr_dest);\n  if (netif == NULL) {\n    LWIP_DEBUGF(IP_DEBUG, (\"ip_forward: no forwarding route for %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\" found\\n\",\n      ip4_addr1_16(&current_iphdr_dest), ip4_addr2_16(&current_iphdr_dest),\n      ip4_addr3_16(&current_iphdr_dest), ip4_addr4_16(&current_iphdr_dest)));\n    /* @todo: send ICMP_DUR_NET? */\n    goto return_noroute;\n  }\n#if !IP_FORWARD_ALLOW_TX_ON_RX_NETIF\n  /* Do not forward packets onto the same network interface on which\n   * they arrived. */\n  if (netif == inp) {\n    LWIP_DEBUGF(IP_DEBUG, (\"ip_forward: not bouncing packets back on incoming interface.\\n\"));\n    goto return_noroute;\n  }\n#endif /* IP_FORWARD_ALLOW_TX_ON_RX_NETIF */\n\n  /* decrement TTL */\n  IPH_TTL_SET(iphdr, IPH_TTL(iphdr) - 1);\n  /* send ICMP if TTL == 0 */\n  if (IPH_TTL(iphdr) == 0) {\n    snmp_inc_ipinhdrerrors();\n#if LWIP_ICMP\n    /* Don't send ICMP messages in response to ICMP messages */\n    if (IPH_PROTO(iphdr) != IP_PROTO_ICMP) {\n      icmp_time_exceeded(p, ICMP_TE_TTL);\n    }\n#endif /* LWIP_ICMP */\n    return;\n  }\n\n  /* Incrementally update the IP checksum. */\n  if (IPH_CHKSUM(iphdr) >= PP_HTONS(0xffffU - 0x100)) {\n    IPH_CHKSUM_SET(iphdr, IPH_CHKSUM(iphdr) + PP_HTONS(0x100) + 1);\n  } else {\n    IPH_CHKSUM_SET(iphdr, IPH_CHKSUM(iphdr) + PP_HTONS(0x100));\n  }\n\n  LWIP_DEBUGF(IP_DEBUG, (\"ip_forward: forwarding packet to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n    ip4_addr1_16(&current_iphdr_dest), ip4_addr2_16(&current_iphdr_dest),\n    ip4_addr3_16(&current_iphdr_dest), ip4_addr4_16(&current_iphdr_dest)));\n\n  IP_STATS_INC(ip.fw);\n  IP_STATS_INC(ip.xmit);\n  snmp_inc_ipforwdatagrams();\n\n  PERF_STOP(\"ip_forward\");\n  /* don't fragment if interface has mtu set to 0 [loopif] */\n  if (netif->mtu && (p->tot_len > netif->mtu)) {\n    if ((IPH_OFFSET(iphdr) & PP_NTOHS(IP_DF)) == 0) {\n#if IP_FRAG\n      ip_frag(p, netif, ip_current_dest_addr());\n#else /* IP_FRAG */\n      /* @todo: send ICMP Destination Unreacheable code 13 \"Communication administratively prohibited\"? */\n#endif /* IP_FRAG */\n    } else {\n      /* send ICMP Destination Unreacheable code 4: \"Fragmentation Needed and DF Set\" */\n      icmp_dest_unreach(p, ICMP_DUR_FRAG);\n    }\n    return;\n  }\n  /* transmit pbuf on chosen interface */\n  netif->output(netif, p, &current_iphdr_dest);\n  return;\nreturn_noroute:\n  snmp_inc_ipoutnoroutes();\n}\n#endif /* IP_FORWARD */\n\n/**\n * This function is called by the network interface device driver when\n * an IP packet is received. The function does the basic checks of the\n * IP header such as packet size being at least larger than the header\n * size etc. If the packet was not destined for us, the packet is\n * forwarded (using ip_forward). The IP checksum is always checked.\n *\n * Finally, the packet is sent to the upper layer protocol input function.\n * \n * @param p the received IP packet (p->payload points to IP header)\n * @param inp the netif on which this packet was received\n * @return ERR_OK if the packet was processed (could return ERR_* if it wasn't\n *         processed, but currently always returns ERR_OK)\n */\nerr_t\nip_input(struct pbuf *p, struct netif *inp)\n{\n  struct ip_hdr *iphdr;\n  struct netif *netif;\n  u16_t iphdr_hlen;\n  u16_t iphdr_len;\n#if IP_ACCEPT_LINK_LAYER_ADDRESSING\n  int check_ip_src=1;\n#endif /* IP_ACCEPT_LINK_LAYER_ADDRESSING */\n\n  IP_STATS_INC(ip.recv);\n  snmp_inc_ipinreceives();\n\n  /* identify the IP header */\n  iphdr = (struct ip_hdr *)p->payload;\n  if (IPH_V(iphdr) != 4) {\n    LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_WARNING, (\"IP packet dropped due to bad version number %\"U16_F\"\\n\", IPH_V(iphdr)));\n    ip_debug_print(p);\n    pbuf_free(p);\n    IP_STATS_INC(ip.err);\n    IP_STATS_INC(ip.drop);\n    snmp_inc_ipinhdrerrors();\n    return ERR_OK;\n  }\n\n#ifdef LWIP_HOOK_IP4_INPUT\n  if (LWIP_HOOK_IP4_INPUT(p, inp)) {\n    /* the packet has been eaten */\n    return ERR_OK;\n  }\n#endif\n\n  /* obtain IP header length in number of 32-bit words */\n  iphdr_hlen = IPH_HL(iphdr);\n  /* calculate IP header length in bytes */\n  iphdr_hlen *= 4;\n  /* obtain ip length in bytes */\n  iphdr_len = ntohs(IPH_LEN(iphdr));\n\n  /* header length exceeds first pbuf length, or ip length exceeds total pbuf length? */\n  if ((iphdr_hlen > p->len) || (iphdr_len > p->tot_len)) {\n    if (iphdr_hlen > p->len) {\n      LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS,\n        (\"IP header (len %\"U16_F\") does not fit in first pbuf (len %\"U16_F\"), IP packet dropped.\\n\",\n        iphdr_hlen, p->len));\n    }\n    if (iphdr_len > p->tot_len) {\n      LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS,\n        (\"IP (len %\"U16_F\") is longer than pbuf (len %\"U16_F\"), IP packet dropped.\\n\",\n        iphdr_len, p->tot_len));\n    }\n    /* free (drop) packet pbufs */\n    pbuf_free(p);\n    IP_STATS_INC(ip.lenerr);\n    IP_STATS_INC(ip.drop);\n    snmp_inc_ipindiscards();\n    return ERR_OK;\n  }\n\n  /* verify checksum */\n#if CHECKSUM_CHECK_IP\n  if (inet_chksum(iphdr, iphdr_hlen) != 0) {\n\n    LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS,\n      (\"Checksum (0x%\"X16_F\") failed, IP packet dropped.\\n\", inet_chksum(iphdr, iphdr_hlen)));\n    ip_debug_print(p);\n    pbuf_free(p);\n    IP_STATS_INC(ip.chkerr);\n    IP_STATS_INC(ip.drop);\n    snmp_inc_ipinhdrerrors();\n    return ERR_OK;\n  }\n#endif\n\n  /* Trim pbuf. This should have been done at the netif layer,\n   * but we'll do it anyway just to be sure that its done. */\n  pbuf_realloc(p, iphdr_len);\n\n  /* copy IP addresses to aligned ip_addr_t */\n  ip_addr_copy(current_iphdr_dest, iphdr->dest);\n  ip_addr_copy(current_iphdr_src, iphdr->src);\n\n  /* match packet against an interface, i.e. is this packet for us? */\n#if LWIP_IGMP\n  if (ip_addr_ismulticast(&current_iphdr_dest)) {\n    if ((inp->flags & NETIF_FLAG_IGMP) && (igmp_lookfor_group(inp, &current_iphdr_dest))) {\n      netif = inp;\n    } else {\n      netif = NULL;\n    }\n  } else\n#endif /* LWIP_IGMP */\n  {\n    /* start trying with inp. if that's not acceptable, start walking the\n       list of configured netifs.\n       'first' is used as a boolean to mark whether we started walking the list */\n//    int first = 1;\n      \n      /* tun2socks: do not lookup network interface */\n    netif = inp;\n//    do {\n//      LWIP_DEBUGF(IP_DEBUG, (\"ip_input: iphdr->dest 0x%\"X32_F\" netif->ip_addr 0x%\"X32_F\" (0x%\"X32_F\", 0x%\"X32_F\", 0x%\"X32_F\")\\n\",\n//          ip4_addr_get_u32(&iphdr->dest), ip4_addr_get_u32(&netif->ip_addr),\n//          ip4_addr_get_u32(&iphdr->dest) & ip4_addr_get_u32(&netif->netmask),\n//          ip4_addr_get_u32(&netif->ip_addr) & ip4_addr_get_u32(&netif->netmask),\n//          ip4_addr_get_u32(&iphdr->dest) & ~ip4_addr_get_u32(&netif->netmask)));\n//\n//      /* interface is up and configured? */\n//      if ((netif_is_up(netif)) && (!ip_addr_isany(&(netif->ip_addr)))) {\n//        /* unicast to this interface address? */\n//        if (ip_addr_cmp(&current_iphdr_dest, &(netif->ip_addr)) ||\n//            /* or broadcast on this interface network address? */\n//            ip_addr_isbroadcast(&current_iphdr_dest, netif)) {\n//          LWIP_DEBUGF(IP_DEBUG, (\"ip_input: packet accepted on interface %c%c\\n\",\n//              netif->name[0], netif->name[1]));\n//          /* break out of for loop */\n//          break;\n//        }\n//#if LWIP_AUTOIP\n//        /* connections to link-local addresses must persist after changing\n//           the netif's address (RFC3927 ch. 1.9) */\n//        if ((netif->autoip != NULL) &&\n//            ip_addr_cmp(&current_iphdr_dest, &(netif->autoip->llipaddr))) {\n//          LWIP_DEBUGF(IP_DEBUG, (\"ip_input: LLA packet accepted on interface %c%c\\n\",\n//              netif->name[0], netif->name[1]));\n//          /* break out of for loop */\n//          break;\n//        }\n//#endif /* LWIP_AUTOIP */\n//      }\n//      if (first) {\n//        first = 0;\n//        netif = netif_list;\n//      } else {\n//        netif = netif->next;\n//      }\n//      if (netif == inp) {\n//        netif = netif->next;\n//      }\n//    } while(netif != NULL);\n  }\n\n#if IP_ACCEPT_LINK_LAYER_ADDRESSING\n  /* Pass DHCP messages regardless of destination address. DHCP traffic is addressed\n   * using link layer addressing (such as Ethernet MAC) so we must not filter on IP.\n   * According to RFC 1542 section 3.1.1, referred by RFC 2131).\n   *\n   * If you want to accept private broadcast communication while a netif is down,\n   * define LWIP_IP_ACCEPT_UDP_PORT(dst_port), e.g.:\n   *\n   * #define LWIP_IP_ACCEPT_UDP_PORT(dst_port) ((dst_port) == PP_NTOHS(12345))\n   */\n  if (netif == NULL) {\n    /* remote port is DHCP server? */\n    if (IPH_PROTO(iphdr) == IP_PROTO_UDP) {\n      struct udp_hdr *udphdr = (struct udp_hdr *)((u8_t *)iphdr + iphdr_hlen);\n      LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_TRACE, (\"ip_input: UDP packet to DHCP client port %\"U16_F\"\\n\",\n        ntohs(udphdr->dest)));\n      if (IP_ACCEPT_LINK_LAYER_ADDRESSED_PORT(udphdr->dest)) {\n        LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_TRACE, (\"ip_input: DHCP packet accepted.\\n\"));\n        netif = inp;\n        check_ip_src = 0;\n      }\n    }\n  }\n#endif /* IP_ACCEPT_LINK_LAYER_ADDRESSING */\n\n  /* broadcast or multicast packet source address? Compliant with RFC 1122: 3.2.1.3 */\n#if IP_ACCEPT_LINK_LAYER_ADDRESSING\n  /* DHCP servers need 0.0.0.0 to be allowed as source address (RFC 1.1.2.2: 3.2.1.3/a) */\n  if (check_ip_src && !ip_addr_isany(&current_iphdr_src))\n#endif /* IP_ACCEPT_LINK_LAYER_ADDRESSING */\n  {  if ((ip_addr_isbroadcast(&current_iphdr_src, inp)) ||\n         (ip_addr_ismulticast(&current_iphdr_src))) {\n      /* packet source is not valid */\n      LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, (\"ip_input: packet source is not valid.\\n\"));\n      /* free (drop) packet pbufs */\n      pbuf_free(p);\n      IP_STATS_INC(ip.drop);\n      snmp_inc_ipinaddrerrors();\n      snmp_inc_ipindiscards();\n      return ERR_OK;\n    }\n  }\n\n  /* packet not for us? */\n  if (netif == NULL) {\n    /* packet not for us, route or discard */\n    LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_TRACE, (\"ip_input: packet not for us.\\n\"));\n#if IP_FORWARD\n    /* non-broadcast packet? */\n    if (!ip_addr_isbroadcast(&current_iphdr_dest, inp)) {\n      /* try to forward IP packet on (other) interfaces */\n      ip_forward(p, iphdr, inp);\n    } else\n#endif /* IP_FORWARD */\n    {\n      snmp_inc_ipinaddrerrors();\n      snmp_inc_ipindiscards();\n    }\n    pbuf_free(p);\n    return ERR_OK;\n  }\n  /* packet consists of multiple fragments? */\n  if ((IPH_OFFSET(iphdr) & PP_HTONS(IP_OFFMASK | IP_MF)) != 0) {\n#if IP_REASSEMBLY /* packet fragment reassembly code present? */\n    LWIP_DEBUGF(IP_DEBUG, (\"IP packet is a fragment (id=0x%04\"X16_F\" tot_len=%\"U16_F\" len=%\"U16_F\" MF=%\"U16_F\" offset=%\"U16_F\"), calling ip_reass()\\n\",\n      ntohs(IPH_ID(iphdr)), p->tot_len, ntohs(IPH_LEN(iphdr)), !!(IPH_OFFSET(iphdr) & PP_HTONS(IP_MF)), (ntohs(IPH_OFFSET(iphdr)) & IP_OFFMASK)*8));\n    /* reassemble the packet*/\n    p = ip_reass(p);\n    /* packet not fully reassembled yet? */\n    if (p == NULL) {\n      return ERR_OK;\n    }\n    iphdr = (struct ip_hdr *)p->payload;\n#else /* IP_REASSEMBLY == 0, no packet fragment reassembly code present */\n    pbuf_free(p);\n    LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, (\"IP packet dropped since it was fragmented (0x%\"X16_F\") (while IP_REASSEMBLY == 0).\\n\",\n      ntohs(IPH_OFFSET(iphdr))));\n    IP_STATS_INC(ip.opterr);\n    IP_STATS_INC(ip.drop);\n    /* unsupported protocol feature */\n    snmp_inc_ipinunknownprotos();\n    return ERR_OK;\n#endif /* IP_REASSEMBLY */\n  }\n\n#if IP_OPTIONS_ALLOWED == 0 /* no support for IP options in the IP header? */\n\n#if LWIP_IGMP\n  /* there is an extra \"router alert\" option in IGMP messages which we allow for but do not police */\n  if((iphdr_hlen > IP_HLEN) &&  (IPH_PROTO(iphdr) != IP_PROTO_IGMP)) {\n#else\n  if (iphdr_hlen > IP_HLEN) {\n#endif /* LWIP_IGMP */\n    LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, (\"IP packet dropped since there were IP options (while IP_OPTIONS_ALLOWED == 0).\\n\"));\n    pbuf_free(p);\n    IP_STATS_INC(ip.opterr);\n    IP_STATS_INC(ip.drop);\n    /* unsupported protocol feature */\n    snmp_inc_ipinunknownprotos();\n    return ERR_OK;\n  }\n#endif /* IP_OPTIONS_ALLOWED == 0 */\n\n  /* send to upper layers */\n  LWIP_DEBUGF(IP_DEBUG, (\"ip_input: \\n\"));\n  ip_debug_print(p);\n  LWIP_DEBUGF(IP_DEBUG, (\"ip_input: p->len %\"U16_F\" p->tot_len %\"U16_F\"\\n\", p->len, p->tot_len));\n\n  current_netif = inp;\n  current_header = iphdr;\n\n#if LWIP_RAW\n  /* raw input did not eat the packet? */\n  if (raw_input(p, inp) == 0)\n#endif /* LWIP_RAW */\n  {\n    switch (IPH_PROTO(iphdr)) {\n#if LWIP_UDP\n    case IP_PROTO_UDP:\n#if LWIP_UDPLITE\n    case IP_PROTO_UDPLITE:\n#endif /* LWIP_UDPLITE */\n      snmp_inc_ipindelivers();\n      udp_input(p, inp);\n      break;\n#endif /* LWIP_UDP */\n#if LWIP_TCP\n    case IP_PROTO_TCP:\n      snmp_inc_ipindelivers();\n      tcp_input(p, inp);\n      break;\n#endif /* LWIP_TCP */\n#if LWIP_ICMP\n    case IP_PROTO_ICMP:\n      snmp_inc_ipindelivers();\n      icmp_input(p, inp);\n      break;\n#endif /* LWIP_ICMP */\n#if LWIP_IGMP\n    case IP_PROTO_IGMP:\n      igmp_input(p, inp, &current_iphdr_dest);\n      break;\n#endif /* LWIP_IGMP */\n    default:\n#if LWIP_ICMP\n      /* send ICMP destination protocol unreachable unless is was a broadcast */\n      if (!ip_addr_isbroadcast(&current_iphdr_dest, inp) &&\n          !ip_addr_ismulticast(&current_iphdr_dest)) {\n        p->payload = iphdr;\n        icmp_dest_unreach(p, ICMP_DUR_PROTO);\n      }\n#endif /* LWIP_ICMP */\n      pbuf_free(p);\n\n      LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, (\"Unsupported transport protocol %\"U16_F\"\\n\", IPH_PROTO(iphdr)));\n\n      IP_STATS_INC(ip.proterr);\n      IP_STATS_INC(ip.drop);\n      snmp_inc_ipinunknownprotos();\n    }\n  }\n\n  current_netif = NULL;\n  current_header = NULL;\n  ip_addr_set_any(&current_iphdr_src);\n  ip_addr_set_any(&current_iphdr_dest);\n\n  return ERR_OK;\n}\n\n/**\n * Sends an IP packet on a network interface. This function constructs\n * the IP header and calculates the IP header checksum. If the source\n * IP address is NULL, the IP address of the outgoing network\n * interface is filled in as source address.\n * If the destination IP address is IP_HDRINCL, p is assumed to already\n * include an IP header and p->payload points to it instead of the data.\n *\n * @param p the packet to send (p->payload points to the data, e.g. next\n            protocol header; if dest == IP_HDRINCL, p already includes an IP\n            header and p->payload points to that IP header)\n * @param src the source IP address to send from (if src == IP_ADDR_ANY, the\n *         IP  address of the netif used to send is used as source address)\n * @param dest the destination IP address to send the packet to\n * @param ttl the TTL value to be set in the IP header\n * @param tos the TOS value to be set in the IP header\n * @param proto the PROTOCOL to be set in the IP header\n * @param netif the netif on which to send this packet\n * @return ERR_OK if the packet was sent OK\n *         ERR_BUF if p doesn't have enough space for IP/LINK headers\n *         returns errors returned by netif->output\n *\n * @note ip_id: RFC791 \"some host may be able to simply use\n *  unique identifiers independent of destination\"\n */\nerr_t\nip_output_if(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,\n             u8_t ttl, u8_t tos,\n             u8_t proto, struct netif *netif)\n{\n#if IP_OPTIONS_SEND\n  return ip_output_if_opt(p, src, dest, ttl, tos, proto, netif, NULL, 0);\n}\n\n/**\n * Same as ip_output_if() but with the possibility to include IP options:\n *\n * @ param ip_options pointer to the IP options, copied into the IP header\n * @ param optlen length of ip_options\n */\nerr_t ip_output_if_opt(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,\n       u8_t ttl, u8_t tos, u8_t proto, struct netif *netif, void *ip_options,\n       u16_t optlen)\n{\n#endif /* IP_OPTIONS_SEND */\n  struct ip_hdr *iphdr;\n  ip_addr_t dest_addr;\n#if CHECKSUM_GEN_IP_INLINE\n  u32_t chk_sum = 0;\n#endif /* CHECKSUM_GEN_IP_INLINE */\n\n  /* pbufs passed to IP must have a ref-count of 1 as their payload pointer\n     gets altered as the packet is passed down the stack */\n  LWIP_ASSERT(\"p->ref == 1\", p->ref == 1);\n\n  snmp_inc_ipoutrequests();\n\n  /* Should the IP header be generated or is it already included in p? */\n  if (dest != IP_HDRINCL) {\n    u16_t ip_hlen = IP_HLEN;\n#if IP_OPTIONS_SEND\n    u16_t optlen_aligned = 0;\n    if (optlen != 0) {\n#if CHECKSUM_GEN_IP_INLINE\n      int i;\n#endif /* CHECKSUM_GEN_IP_INLINE */\n      /* round up to a multiple of 4 */\n      optlen_aligned = ((optlen + 3) & ~3);\n      ip_hlen += optlen_aligned;\n      /* First write in the IP options */\n      if (pbuf_header(p, optlen_aligned)) {\n        LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, (\"ip_output_if_opt: not enough room for IP options in pbuf\\n\"));\n        IP_STATS_INC(ip.err);\n        snmp_inc_ipoutdiscards();\n        return ERR_BUF;\n      }\n      MEMCPY(p->payload, ip_options, optlen);\n      if (optlen < optlen_aligned) {\n        /* zero the remaining bytes */\n        memset(((char*)p->payload) + optlen, 0, optlen_aligned - optlen);\n      }\n#if CHECKSUM_GEN_IP_INLINE\n      for (i = 0; i < optlen_aligned/2; i++) {\n        chk_sum += ((u16_t*)p->payload)[i];\n      }\n#endif /* CHECKSUM_GEN_IP_INLINE */\n    }\n#endif /* IP_OPTIONS_SEND */\n    /* generate IP header */\n    if (pbuf_header(p, IP_HLEN)) {\n      LWIP_DEBUGF(IP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, (\"ip_output: not enough room for IP header in pbuf\\n\"));\n\n      IP_STATS_INC(ip.err);\n      snmp_inc_ipoutdiscards();\n      return ERR_BUF;\n    }\n\n    iphdr = (struct ip_hdr *)p->payload;\n    LWIP_ASSERT(\"check that first pbuf can hold struct ip_hdr\",\n               (p->len >= sizeof(struct ip_hdr)));\n\n    IPH_TTL_SET(iphdr, ttl);\n    IPH_PROTO_SET(iphdr, proto);\n#if CHECKSUM_GEN_IP_INLINE\n    chk_sum += LWIP_MAKE_U16(proto, ttl);\n#endif /* CHECKSUM_GEN_IP_INLINE */\n\n    /* dest cannot be NULL here */\n    ip_addr_copy(iphdr->dest, *dest);\n#if CHECKSUM_GEN_IP_INLINE\n    chk_sum += ip4_addr_get_u32(&iphdr->dest) & 0xFFFF;\n    chk_sum += ip4_addr_get_u32(&iphdr->dest) >> 16;\n#endif /* CHECKSUM_GEN_IP_INLINE */\n\n    IPH_VHL_SET(iphdr, 4, ip_hlen / 4);\n    IPH_TOS_SET(iphdr, tos);\n#if CHECKSUM_GEN_IP_INLINE\n    chk_sum += LWIP_MAKE_U16(tos, iphdr->_v_hl);\n#endif /* CHECKSUM_GEN_IP_INLINE */\n    IPH_LEN_SET(iphdr, htons(p->tot_len));\n#if CHECKSUM_GEN_IP_INLINE\n    chk_sum += iphdr->_len;\n#endif /* CHECKSUM_GEN_IP_INLINE */\n    IPH_OFFSET_SET(iphdr, 0);\n    IPH_ID_SET(iphdr, htons(ip_id));\n#if CHECKSUM_GEN_IP_INLINE\n    chk_sum += iphdr->_id;\n#endif /* CHECKSUM_GEN_IP_INLINE */\n    ++ip_id;\n\n    if (ip_addr_isany(src)) {\n      ip_addr_copy(iphdr->src, netif->ip_addr);\n    } else {\n      /* src cannot be NULL here */\n      ip_addr_copy(iphdr->src, *src);\n    }\n\n#if CHECKSUM_GEN_IP_INLINE\n    chk_sum += ip4_addr_get_u32(&iphdr->src) & 0xFFFF;\n    chk_sum += ip4_addr_get_u32(&iphdr->src) >> 16;\n    chk_sum = (chk_sum >> 16) + (chk_sum & 0xFFFF);\n    chk_sum = (chk_sum >> 16) + chk_sum;\n    chk_sum = ~chk_sum;\n    iphdr->_chksum = chk_sum; /* network order */\n#else /* CHECKSUM_GEN_IP_INLINE */\n    IPH_CHKSUM_SET(iphdr, 0);\n#if CHECKSUM_GEN_IP\n    IPH_CHKSUM_SET(iphdr, inet_chksum(iphdr, ip_hlen));\n#endif\n#endif /* CHECKSUM_GEN_IP_INLINE */\n  } else {\n    /* IP header already included in p */\n    iphdr = (struct ip_hdr *)p->payload;\n    ip_addr_copy(dest_addr, iphdr->dest);\n    dest = &dest_addr;\n  }\n\n  IP_STATS_INC(ip.xmit);\n\n  LWIP_DEBUGF(IP_DEBUG, (\"ip_output_if: %c%c%\"U16_F\"\\n\", netif->name[0], netif->name[1], netif->num));\n  ip_debug_print(p);\n\n#if ENABLE_LOOPBACK\n  if (ip_addr_cmp(dest, &netif->ip_addr)) {\n    /* Packet to self, enqueue it for loopback */\n    LWIP_DEBUGF(IP_DEBUG, (\"netif_loop_output()\"));\n    return netif_loop_output(netif, p, dest);\n  }\n#if LWIP_IGMP\n  if ((p->flags & PBUF_FLAG_MCASTLOOP) != 0) {\n    netif_loop_output(netif, p, dest);\n  }\n#endif /* LWIP_IGMP */\n#endif /* ENABLE_LOOPBACK */\n#if IP_FRAG\n  /* don't fragment if interface has mtu set to 0 [loopif] */\n  if (netif->mtu && (p->tot_len > netif->mtu)) {\n    return ip_frag(p, netif, dest);\n  }\n#endif /* IP_FRAG */\n\n  LWIP_DEBUGF(IP_DEBUG, (\"netif->output()\"));\n  return netif->output(netif, p, dest);\n}\n\n/**\n * Simple interface to ip_output_if. It finds the outgoing network\n * interface and calls upon ip_output_if to do the actual work.\n *\n * @param p the packet to send (p->payload points to the data, e.g. next\n            protocol header; if dest == IP_HDRINCL, p already includes an IP\n            header and p->payload points to that IP header)\n * @param src the source IP address to send from (if src == IP_ADDR_ANY, the\n *         IP  address of the netif used to send is used as source address)\n * @param dest the destination IP address to send the packet to\n * @param ttl the TTL value to be set in the IP header\n * @param tos the TOS value to be set in the IP header\n * @param proto the PROTOCOL to be set in the IP header\n *\n * @return ERR_RTE if no route is found\n *         see ip_output_if() for more return values\n */\nerr_t\nip_output(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,\n          u8_t ttl, u8_t tos, u8_t proto)\n{\n  struct netif *netif;\n\n  /* pbufs passed to IP must have a ref-count of 1 as their payload pointer\n     gets altered as the packet is passed down the stack */\n  LWIP_ASSERT(\"p->ref == 1\", p->ref == 1);\n\n    /* tun2socks: do not use route table, instead, we use the first netif */\n//  if ((netif = ip_route(dest)) == NULL) {\n//    LWIP_DEBUGF(IP_DEBUG, (\"ip_output: No route to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n//      ip4_addr1_16(dest), ip4_addr2_16(dest), ip4_addr3_16(dest), ip4_addr4_16(dest)));\n//    IP_STATS_INC(ip.rterr);\n//    return ERR_RTE;\n//  }\n    netif = netif_list;\n\n  return ip_output_if(p, src, dest, ttl, tos, proto, netif);\n}\n\n#if LWIP_NETIF_HWADDRHINT\n/** Like ip_output, but takes and addr_hint pointer that is passed on to netif->addr_hint\n *  before calling ip_output_if.\n *\n * @param p the packet to send (p->payload points to the data, e.g. next\n            protocol header; if dest == IP_HDRINCL, p already includes an IP\n            header and p->payload points to that IP header)\n * @param src the source IP address to send from (if src == IP_ADDR_ANY, the\n *         IP  address of the netif used to send is used as source address)\n * @param dest the destination IP address to send the packet to\n * @param ttl the TTL value to be set in the IP header\n * @param tos the TOS value to be set in the IP header\n * @param proto the PROTOCOL to be set in the IP header\n * @param addr_hint address hint pointer set to netif->addr_hint before\n *        calling ip_output_if()\n *\n * @return ERR_RTE if no route is found\n *         see ip_output_if() for more return values\n */\nerr_t\nip_output_hinted(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,\n          u8_t ttl, u8_t tos, u8_t proto, u8_t *addr_hint)\n{\n  struct netif *netif;\n  err_t err;\n\n  /* pbufs passed to IP must have a ref-count of 1 as their payload pointer\n     gets altered as the packet is passed down the stack */\n  LWIP_ASSERT(\"p->ref == 1\", p->ref == 1);\n\n  if ((netif = ip_route(dest)) == NULL) {\n    LWIP_DEBUGF(IP_DEBUG, (\"ip_output: No route to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n      ip4_addr1_16(dest), ip4_addr2_16(dest), ip4_addr3_16(dest), ip4_addr4_16(dest)));\n    IP_STATS_INC(ip.rterr);\n    return ERR_RTE;\n  }\n\n  NETIF_SET_HWADDRHINT(netif, addr_hint);\n  err = ip_output_if(p, src, dest, ttl, tos, proto, netif);\n  NETIF_SET_HWADDRHINT(netif, NULL);\n\n  return err;\n}\n#endif /* LWIP_NETIF_HWADDRHINT*/\n\n#if IP_DEBUG\n/* Print an IP header by using LWIP_DEBUGF\n * @param p an IP packet, p->payload pointing to the IP header\n */\nvoid\nip_debug_print(struct pbuf *p)\n{\n  struct ip_hdr *iphdr = (struct ip_hdr *)p->payload;\n\n  LWIP_DEBUGF(IP_DEBUG, (\"IP header:\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"|%2\"S16_F\" |%2\"S16_F\" |  0x%02\"X16_F\" |     %5\"U16_F\"     | (v, hl, tos, len)\\n\",\n                    IPH_V(iphdr),\n                    IPH_HL(iphdr),\n                    IPH_TOS(iphdr),\n                    ntohs(IPH_LEN(iphdr))));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"|    %5\"U16_F\"      |%\"U16_F\"%\"U16_F\"%\"U16_F\"|    %4\"U16_F\"   | (id, flags, offset)\\n\",\n                    ntohs(IPH_ID(iphdr)),\n                    ntohs(IPH_OFFSET(iphdr)) >> 15 & 1,\n                    ntohs(IPH_OFFSET(iphdr)) >> 14 & 1,\n                    ntohs(IPH_OFFSET(iphdr)) >> 13 & 1,\n                    ntohs(IPH_OFFSET(iphdr)) & IP_OFFMASK));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"|  %3\"U16_F\"  |  %3\"U16_F\"  |    0x%04\"X16_F\"     | (ttl, proto, chksum)\\n\",\n                    IPH_TTL(iphdr),\n                    IPH_PROTO(iphdr),\n                    ntohs(IPH_CHKSUM(iphdr))));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"|  %3\"U16_F\"  |  %3\"U16_F\"  |  %3\"U16_F\"  |  %3\"U16_F\"  | (src)\\n\",\n                    ip4_addr1_16(&iphdr->src),\n                    ip4_addr2_16(&iphdr->src),\n                    ip4_addr3_16(&iphdr->src),\n                    ip4_addr4_16(&iphdr->src)));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"|  %3\"U16_F\"  |  %3\"U16_F\"  |  %3\"U16_F\"  |  %3\"U16_F\"  | (dest)\\n\",\n                    ip4_addr1_16(&iphdr->dest),\n                    ip4_addr2_16(&iphdr->dest),\n                    ip4_addr3_16(&iphdr->dest),\n                    ip4_addr4_16(&iphdr->dest)));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n}\n#endif /* IP_DEBUG */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv4/ip_addr.c",
    "content": "/**\n * @file\n * This is the IPv4 address tools implementation.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n\n/* used by IP_ADDR_ANY and IP_ADDR_BROADCAST in ip_addr.h */\nconst ip_addr_t ip_addr_any = { IPADDR_ANY };\nconst ip_addr_t ip_addr_broadcast = { IPADDR_BROADCAST };\n\n/**\n * Determine if an address is a broadcast address on a network interface \n * \n * @param addr address to be checked\n * @param netif the network interface against which the address is checked\n * @return returns non-zero if the address is a broadcast address\n */\nu8_t\nip4_addr_isbroadcast(u32_t addr, const struct netif *netif)\n{\n  ip_addr_t ipaddr;\n  ip4_addr_set_u32(&ipaddr, addr);\n\n  /* all ones (broadcast) or all zeroes (old skool broadcast) */\n  if ((~addr == IPADDR_ANY) ||\n      (addr == IPADDR_ANY)) {\n    return 1;\n  /* no broadcast support on this network interface? */\n  } else if ((netif->flags & NETIF_FLAG_BROADCAST) == 0) {\n    /* the given address cannot be a broadcast address\n     * nor can we check against any broadcast addresses */\n    return 0;\n  /* address matches network interface address exactly? => no broadcast */\n  } else if (addr == ip4_addr_get_u32(&netif->ip_addr)) {\n    return 0;\n  /*  on the same (sub) network... */\n  } else if (ip_addr_netcmp(&ipaddr, &(netif->ip_addr), &(netif->netmask))\n         /* ...and host identifier bits are all ones? =>... */\n          && ((addr & ~ip4_addr_get_u32(&netif->netmask)) ==\n           (IPADDR_BROADCAST & ~ip4_addr_get_u32(&netif->netmask)))) {\n    /* => network broadcast address */\n    return 1;\n  } else {\n    return 0;\n  }\n}\n\n/** Checks if a netmask is valid (starting with ones, then only zeros)\n *\n * @param netmask the IPv4 netmask to check (in network byte order!)\n * @return 1 if the netmask is valid, 0 if it is not\n */\nu8_t\nip4_addr_netmask_valid(u32_t netmask)\n{\n  u32_t mask;\n  u32_t nm_hostorder = lwip_htonl(netmask);\n\n  /* first, check for the first zero */\n  for (mask = 1UL << 31 ; mask != 0; mask >>= 1) {\n    if ((nm_hostorder & mask) == 0) {\n      break;\n    }\n  }\n  /* then check that there is no one */\n  for (; mask != 0; mask >>= 1) {\n    if ((nm_hostorder & mask) != 0) {\n      /* there is a one after the first zero -> invalid */\n      return 0;\n    }\n  }\n  /* no one after the first zero -> valid */\n  return 1;\n}\n\n/* Here for now until needed in other places in lwIP */\n#ifndef isprint\n#define in_range(c, lo, up)  ((u8_t)c >= lo && (u8_t)c <= up)\n#define isprint(c)           in_range(c, 0x20, 0x7f)\n#define isdigit(c)           in_range(c, '0', '9')\n#define isxdigit(c)          (isdigit(c) || in_range(c, 'a', 'f') || in_range(c, 'A', 'F'))\n#define islower(c)           in_range(c, 'a', 'z')\n#define isspace(c)           (c == ' ' || c == '\\f' || c == '\\n' || c == '\\r' || c == '\\t' || c == '\\v')\n#endif\n\n/**\n * Ascii internet address interpretation routine.\n * The value returned is in network order.\n *\n * @param cp IP address in ascii represenation (e.g. \"127.0.0.1\")\n * @return ip address in network order\n */\nu32_t\nipaddr_addr(const char *cp)\n{\n  ip_addr_t val;\n\n  if (ipaddr_aton(cp, &val)) {\n    return ip4_addr_get_u32(&val);\n  }\n  return (IPADDR_NONE);\n}\n\n/**\n * Check whether \"cp\" is a valid ascii representation\n * of an Internet address and convert to a binary address.\n * Returns 1 if the address is valid, 0 if not.\n * This replaces inet_addr, the return value from which\n * cannot distinguish between failure and a local broadcast address.\n *\n * @param cp IP address in ascii represenation (e.g. \"127.0.0.1\")\n * @param addr pointer to which to save the ip address in network order\n * @return 1 if cp could be converted to addr, 0 on failure\n */\nint\nipaddr_aton(const char *cp, ip_addr_t *addr)\n{\n  u32_t val;\n  u8_t base;\n  char c;\n  u32_t parts[4];\n  u32_t *pp = parts;\n\n  c = *cp;\n  for (;;) {\n    /*\n     * Collect number up to ``.''.\n     * Values are specified as for C:\n     * 0x=hex, 0=octal, 1-9=decimal.\n     */\n    if (!isdigit(c))\n      return (0);\n    val = 0;\n    base = 10;\n    if (c == '0') {\n      c = *++cp;\n      if (c == 'x' || c == 'X') {\n        base = 16;\n        c = *++cp;\n      } else\n        base = 8;\n    }\n    for (;;) {\n      if (isdigit(c)) {\n        val = (val * base) + (int)(c - '0');\n        c = *++cp;\n      } else if (base == 16 && isxdigit(c)) {\n        val = (val << 4) | (int)(c + 10 - (islower(c) ? 'a' : 'A'));\n        c = *++cp;\n      } else\n        break;\n    }\n    if (c == '.') {\n      /*\n       * Internet format:\n       *  a.b.c.d\n       *  a.b.c   (with c treated as 16 bits)\n       *  a.b (with b treated as 24 bits)\n       */\n      if (pp >= parts + 3) {\n        return (0);\n      }\n      *pp++ = val;\n      c = *++cp;\n    } else\n      break;\n  }\n  /*\n   * Check for trailing characters.\n   */\n  if (c != '\\0' && !isspace(c)) {\n    return (0);\n  }\n  /*\n   * Concoct the address according to\n   * the number of parts specified.\n   */\n  switch (pp - parts + 1) {\n\n  case 0:\n    return (0);       /* initial nondigit */\n\n  case 1:             /* a -- 32 bits */\n    break;\n\n  case 2:             /* a.b -- 8.24 bits */\n    if (val > 0xffffffUL) {\n      return (0);\n    }\n    val |= parts[0] << 24;\n    break;\n\n  case 3:             /* a.b.c -- 8.8.16 bits */\n    if (val > 0xffff) {\n      return (0);\n    }\n    val |= (parts[0] << 24) | (parts[1] << 16);\n    break;\n\n  case 4:             /* a.b.c.d -- 8.8.8.8 bits */\n    if (val > 0xff) {\n      return (0);\n    }\n    val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8);\n    break;\n  default:\n    LWIP_ASSERT(\"unhandled\", 0);\n    break;\n  }\n  if (addr) {\n    ip4_addr_set_u32(addr, htonl(val));\n  }\n  return (1);\n}\n\n/**\n * Convert numeric IP address into decimal dotted ASCII representation.\n * returns ptr to static buffer; not reentrant!\n *\n * @param addr ip address in network order to convert\n * @return pointer to a global static (!) buffer that holds the ASCII\n *         represenation of addr\n */\nchar *\nipaddr_ntoa(const ip_addr_t *addr)\n{\n  static char str[16];\n  return ipaddr_ntoa_r(addr, str, 16);\n}\n\n/**\n * Same as ipaddr_ntoa, but reentrant since a user-supplied buffer is used.\n *\n * @param addr ip address in network order to convert\n * @param buf target buffer where the string is stored\n * @param buflen length of buf\n * @return either pointer to buf which now holds the ASCII\n *         representation of addr or NULL if buf was too small\n */\nchar *ipaddr_ntoa_r(const ip_addr_t *addr, char *buf, int buflen)\n{\n  u32_t s_addr;\n  char inv[3];\n  char *rp;\n  u8_t *ap;\n  u8_t rem;\n  u8_t n;\n  u8_t i;\n  int len = 0;\n\n  s_addr = ip4_addr_get_u32(addr);\n\n  rp = buf;\n  ap = (u8_t *)&s_addr;\n  for(n = 0; n < 4; n++) {\n    i = 0;\n    do {\n      rem = *ap % (u8_t)10;\n      *ap /= (u8_t)10;\n      inv[i++] = '0' + rem;\n    } while(*ap);\n    while(i--) {\n      if (len++ >= buflen) {\n        return NULL;\n      }\n      *rp++ = inv[i];\n    }\n    if (len++ >= buflen) {\n      return NULL;\n    }\n    *rp++ = '.';\n    ap++;\n  }\n  *--rp = 0;\n  return buf;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv4/ip_frag.c",
    "content": "/**\n * @file\n * This is the IPv4 packet segmentation and reassembly implementation.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Jani Monoses <jani@iv.ro> \n *         Simon Goldschmidt\n * original reassembly code by Adam Dunkels <adam@sics.se>\n * \n */\n\n#include \"lwip/opt.h\"\n#include \"lwip/ip_frag.h\"\n#include \"lwip/def.h\"\n#include \"lwip/inet_chksum.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/snmp.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/icmp.h\"\n\n#include <string.h>\n\n#if IP_REASSEMBLY\n/**\n * The IP reassembly code currently has the following limitations:\n * - IP header options are not supported\n * - fragments must not overlap (e.g. due to different routes),\n *   currently, overlapping or duplicate fragments are thrown away\n *   if IP_REASS_CHECK_OVERLAP=1 (the default)!\n *\n * @todo: work with IP header options\n */\n\n/** Setting this to 0, you can turn off checking the fragments for overlapping\n * regions. The code gets a little smaller. Only use this if you know that\n * overlapping won't occur on your network! */\n#ifndef IP_REASS_CHECK_OVERLAP\n#define IP_REASS_CHECK_OVERLAP 1\n#endif /* IP_REASS_CHECK_OVERLAP */\n\n/** Set to 0 to prevent freeing the oldest datagram when the reassembly buffer is\n * full (IP_REASS_MAX_PBUFS pbufs are enqueued). The code gets a little smaller.\n * Datagrams will be freed by timeout only. Especially useful when MEMP_NUM_REASSDATA\n * is set to 1, so one datagram can be reassembled at a time, only. */\n#ifndef IP_REASS_FREE_OLDEST\n#define IP_REASS_FREE_OLDEST 1\n#endif /* IP_REASS_FREE_OLDEST */\n\n#define IP_REASS_FLAG_LASTFRAG 0x01\n\n/** This is a helper struct which holds the starting\n * offset and the ending offset of this fragment to\n * easily chain the fragments.\n * It has the same packing requirements as the IP header, since it replaces\n * the IP header in memory in incoming fragments (after copying it) to keep\n * track of the various fragments. (-> If the IP header doesn't need packing,\n * this struct doesn't need packing, too.)\n */\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/bpstruct.h\"\n#endif\nPACK_STRUCT_BEGIN\nstruct ip_reass_helper {\n  PACK_STRUCT_FIELD(struct pbuf *next_pbuf);\n  PACK_STRUCT_FIELD(u16_t start);\n  PACK_STRUCT_FIELD(u16_t end);\n} PACK_STRUCT_STRUCT;\nPACK_STRUCT_END\n#ifdef PACK_STRUCT_USE_INCLUDES\n#  include \"arch/epstruct.h\"\n#endif\n\n#define IP_ADDRESSES_AND_ID_MATCH(iphdrA, iphdrB)  \\\n  (ip_addr_cmp(&(iphdrA)->src, &(iphdrB)->src) && \\\n   ip_addr_cmp(&(iphdrA)->dest, &(iphdrB)->dest) && \\\n   IPH_ID(iphdrA) == IPH_ID(iphdrB)) ? 1 : 0\n\n/* global variables */\nstatic struct ip_reassdata *reassdatagrams;\nstatic u16_t ip_reass_pbufcount;\n\n/* function prototypes */\nstatic void ip_reass_dequeue_datagram(struct ip_reassdata *ipr, struct ip_reassdata *prev);\nstatic int ip_reass_free_complete_datagram(struct ip_reassdata *ipr, struct ip_reassdata *prev);\n\n/**\n * Reassembly timer base function\n * for both NO_SYS == 0 and 1 (!).\n *\n * Should be called every 1000 msec (defined by IP_TMR_INTERVAL).\n */\nvoid\nip_reass_tmr(void)\n{\n  struct ip_reassdata *r, *prev = NULL;\n\n  r = reassdatagrams;\n  while (r != NULL) {\n    /* Decrement the timer. Once it reaches 0,\n     * clean up the incomplete fragment assembly */\n    if (r->timer > 0) {\n      r->timer--;\n      LWIP_DEBUGF(IP_REASS_DEBUG, (\"ip_reass_tmr: timer dec %\"U16_F\"\\n\",(u16_t)r->timer));\n      prev = r;\n      r = r->next;\n    } else {\n      /* reassembly timed out */\n      struct ip_reassdata *tmp;\n      LWIP_DEBUGF(IP_REASS_DEBUG, (\"ip_reass_tmr: timer timed out\\n\"));\n      tmp = r;\n      /* get the next pointer before freeing */\n      r = r->next;\n      /* free the helper struct and all enqueued pbufs */\n      ip_reass_free_complete_datagram(tmp, prev);\n     }\n   }\n}\n\n/**\n * Free a datagram (struct ip_reassdata) and all its pbufs.\n * Updates the total count of enqueued pbufs (ip_reass_pbufcount),\n * SNMP counters and sends an ICMP time exceeded packet.\n *\n * @param ipr datagram to free\n * @param prev the previous datagram in the linked list\n * @return the number of pbufs freed\n */\nstatic int\nip_reass_free_complete_datagram(struct ip_reassdata *ipr, struct ip_reassdata *prev)\n{\n  u16_t pbufs_freed = 0;\n  u8_t clen;\n  struct pbuf *p;\n  struct ip_reass_helper *iprh;\n\n  LWIP_ASSERT(\"prev != ipr\", prev != ipr);\n  if (prev != NULL) {\n    LWIP_ASSERT(\"prev->next == ipr\", prev->next == ipr);\n  }\n\n  snmp_inc_ipreasmfails();\n#if LWIP_ICMP\n  iprh = (struct ip_reass_helper *)ipr->p->payload;\n  if (iprh->start == 0) {\n    /* The first fragment was received, send ICMP time exceeded. */\n    /* First, de-queue the first pbuf from r->p. */\n    p = ipr->p;\n    ipr->p = iprh->next_pbuf;\n    /* Then, copy the original header into it. */\n    SMEMCPY(p->payload, &ipr->iphdr, IP_HLEN);\n    icmp_time_exceeded(p, ICMP_TE_FRAG);\n    clen = pbuf_clen(p);\n    LWIP_ASSERT(\"pbufs_freed + clen <= 0xffff\", pbufs_freed + clen <= 0xffff);\n    pbufs_freed += clen;\n    pbuf_free(p);\n  }\n#endif /* LWIP_ICMP */\n\n  /* First, free all received pbufs.  The individual pbufs need to be released \n     separately as they have not yet been chained */\n  p = ipr->p;\n  while (p != NULL) {\n    struct pbuf *pcur;\n    iprh = (struct ip_reass_helper *)p->payload;\n    pcur = p;\n    /* get the next pointer before freeing */\n    p = iprh->next_pbuf;\n    clen = pbuf_clen(pcur);\n    LWIP_ASSERT(\"pbufs_freed + clen <= 0xffff\", pbufs_freed + clen <= 0xffff);\n    pbufs_freed += clen;\n    pbuf_free(pcur);\n  }\n  /* Then, unchain the struct ip_reassdata from the list and free it. */\n  ip_reass_dequeue_datagram(ipr, prev);\n  LWIP_ASSERT(\"ip_reass_pbufcount >= clen\", ip_reass_pbufcount >= pbufs_freed);\n  ip_reass_pbufcount -= pbufs_freed;\n\n  return pbufs_freed;\n}\n\n#if IP_REASS_FREE_OLDEST\n/**\n * Free the oldest datagram to make room for enqueueing new fragments.\n * The datagram 'fraghdr' belongs to is not freed!\n *\n * @param fraghdr IP header of the current fragment\n * @param pbufs_needed number of pbufs needed to enqueue\n *        (used for freeing other datagrams if not enough space)\n * @return the number of pbufs freed\n */\nstatic int\nip_reass_remove_oldest_datagram(struct ip_hdr *fraghdr, int pbufs_needed)\n{\n  /* @todo Can't we simply remove the last datagram in the\n   *       linked list behind reassdatagrams?\n   */\n  struct ip_reassdata *r, *oldest, *prev;\n  int pbufs_freed = 0, pbufs_freed_current;\n  int other_datagrams;\n\n  /* Free datagrams until being allowed to enqueue 'pbufs_needed' pbufs,\n   * but don't free the datagram that 'fraghdr' belongs to! */\n  do {\n    oldest = NULL;\n    prev = NULL;\n    other_datagrams = 0;\n    r = reassdatagrams;\n    while (r != NULL) {\n      if (!IP_ADDRESSES_AND_ID_MATCH(&r->iphdr, fraghdr)) {\n        /* Not the same datagram as fraghdr */\n        other_datagrams++;\n        if (oldest == NULL) {\n          oldest = r;\n        } else if (r->timer <= oldest->timer) {\n          /* older than the previous oldest */\n          oldest = r;\n        }\n      }\n      if (r->next != NULL) {\n        prev = r;\n      }\n      r = r->next;\n    }\n    if (oldest != NULL) {\n      pbufs_freed_current = ip_reass_free_complete_datagram(oldest, prev);\n      pbufs_freed += pbufs_freed_current;\n    }\n  } while ((pbufs_freed < pbufs_needed) && (other_datagrams > 1));\n  return pbufs_freed;\n}\n#endif /* IP_REASS_FREE_OLDEST */\n\n/**\n * Enqueues a new fragment into the fragment queue\n * @param fraghdr points to the new fragments IP hdr\n * @param clen number of pbufs needed to enqueue (used for freeing other datagrams if not enough space)\n * @return A pointer to the queue location into which the fragment was enqueued\n */\nstatic struct ip_reassdata*\nip_reass_enqueue_new_datagram(struct ip_hdr *fraghdr, int clen)\n{\n  struct ip_reassdata* ipr;\n  /* No matching previous fragment found, allocate a new reassdata struct */\n  ipr = (struct ip_reassdata *)memp_malloc(MEMP_REASSDATA);\n  if (ipr == NULL) {\n#if IP_REASS_FREE_OLDEST\n    if (ip_reass_remove_oldest_datagram(fraghdr, clen) >= clen) {\n      ipr = (struct ip_reassdata *)memp_malloc(MEMP_REASSDATA);\n    }\n    if (ipr == NULL)\n#endif /* IP_REASS_FREE_OLDEST */\n    {\n      IPFRAG_STATS_INC(ip_frag.memerr);\n      LWIP_DEBUGF(IP_REASS_DEBUG,(\"Failed to alloc reassdata struct\\n\"));\n      return NULL;\n    }\n  }\n  memset(ipr, 0, sizeof(struct ip_reassdata));\n  ipr->timer = IP_REASS_MAXAGE;\n\n  /* enqueue the new structure to the front of the list */\n  ipr->next = reassdatagrams;\n  reassdatagrams = ipr;\n  /* copy the ip header for later tests and input */\n  /* @todo: no ip options supported? */\n  SMEMCPY(&(ipr->iphdr), fraghdr, IP_HLEN);\n  return ipr;\n}\n\n/**\n * Dequeues a datagram from the datagram queue. Doesn't deallocate the pbufs.\n * @param ipr points to the queue entry to dequeue\n */\nstatic void\nip_reass_dequeue_datagram(struct ip_reassdata *ipr, struct ip_reassdata *prev)\n{\n  \n  /* dequeue the reass struct  */\n  if (reassdatagrams == ipr) {\n    /* it was the first in the list */\n    reassdatagrams = ipr->next;\n  } else {\n    /* it wasn't the first, so it must have a valid 'prev' */\n    LWIP_ASSERT(\"sanity check linked list\", prev != NULL);\n    prev->next = ipr->next;\n  }\n\n  /* now we can free the ip_reass struct */\n  memp_free(MEMP_REASSDATA, ipr);\n}\n\n/**\n * Chain a new pbuf into the pbuf list that composes the datagram.  The pbuf list\n * will grow over time as  new pbufs are rx.\n * Also checks that the datagram passes basic continuity checks (if the last\n * fragment was received at least once).\n * @param root_p points to the 'root' pbuf for the current datagram being assembled.\n * @param new_p points to the pbuf for the current fragment\n * @return 0 if invalid, >0 otherwise\n */\nstatic int\nip_reass_chain_frag_into_datagram_and_validate(struct ip_reassdata *ipr, struct pbuf *new_p)\n{\n  struct ip_reass_helper *iprh, *iprh_tmp, *iprh_prev=NULL;\n  struct pbuf *q;\n  u16_t offset,len;\n  struct ip_hdr *fraghdr;\n  int valid = 1;\n\n  /* Extract length and fragment offset from current fragment */\n  fraghdr = (struct ip_hdr*)new_p->payload; \n  len = ntohs(IPH_LEN(fraghdr)) - IPH_HL(fraghdr) * 4;\n  offset = (ntohs(IPH_OFFSET(fraghdr)) & IP_OFFMASK) * 8;\n\n  /* overwrite the fragment's ip header from the pbuf with our helper struct,\n   * and setup the embedded helper structure. */\n  /* make sure the struct ip_reass_helper fits into the IP header */\n  LWIP_ASSERT(\"sizeof(struct ip_reass_helper) <= IP_HLEN\",\n              sizeof(struct ip_reass_helper) <= IP_HLEN);\n  iprh = (struct ip_reass_helper*)new_p->payload;\n  iprh->next_pbuf = NULL;\n  iprh->start = offset;\n  iprh->end = offset + len;\n\n  /* Iterate through until we either get to the end of the list (append),\n   * or we find on with a larger offset (insert). */\n  for (q = ipr->p; q != NULL;) {\n    iprh_tmp = (struct ip_reass_helper*)q->payload;\n    if (iprh->start < iprh_tmp->start) {\n      /* the new pbuf should be inserted before this */\n      iprh->next_pbuf = q;\n      if (iprh_prev != NULL) {\n        /* not the fragment with the lowest offset */\n#if IP_REASS_CHECK_OVERLAP\n        if ((iprh->start < iprh_prev->end) || (iprh->end > iprh_tmp->start)) {\n          /* fragment overlaps with previous or following, throw away */\n          goto freepbuf;\n        }\n#endif /* IP_REASS_CHECK_OVERLAP */\n        iprh_prev->next_pbuf = new_p;\n      } else {\n        /* fragment with the lowest offset */\n        ipr->p = new_p;\n      }\n      break;\n    } else if(iprh->start == iprh_tmp->start) {\n      /* received the same datagram twice: no need to keep the datagram */\n      goto freepbuf;\n#if IP_REASS_CHECK_OVERLAP\n    } else if(iprh->start < iprh_tmp->end) {\n      /* overlap: no need to keep the new datagram */\n      goto freepbuf;\n#endif /* IP_REASS_CHECK_OVERLAP */\n    } else {\n      /* Check if the fragments received so far have no wholes. */\n      if (iprh_prev != NULL) {\n        if (iprh_prev->end != iprh_tmp->start) {\n          /* There is a fragment missing between the current\n           * and the previous fragment */\n          valid = 0;\n        }\n      }\n    }\n    q = iprh_tmp->next_pbuf;\n    iprh_prev = iprh_tmp;\n  }\n\n  /* If q is NULL, then we made it to the end of the list. Determine what to do now */\n  if (q == NULL) {\n    if (iprh_prev != NULL) {\n      /* this is (for now), the fragment with the highest offset:\n       * chain it to the last fragment */\n#if IP_REASS_CHECK_OVERLAP\n      LWIP_ASSERT(\"check fragments don't overlap\", iprh_prev->end <= iprh->start);\n#endif /* IP_REASS_CHECK_OVERLAP */\n      iprh_prev->next_pbuf = new_p;\n      if (iprh_prev->end != iprh->start) {\n        valid = 0;\n      }\n    } else {\n#if IP_REASS_CHECK_OVERLAP\n      LWIP_ASSERT(\"no previous fragment, this must be the first fragment!\",\n        ipr->p == NULL);\n#endif /* IP_REASS_CHECK_OVERLAP */\n      /* this is the first fragment we ever received for this ip datagram */\n      ipr->p = new_p;\n    }\n  }\n\n  /* At this point, the validation part begins: */\n  /* If we already received the last fragment */\n  if ((ipr->flags & IP_REASS_FLAG_LASTFRAG) != 0) {\n    /* and had no wholes so far */\n    if (valid) {\n      /* then check if the rest of the fragments is here */\n      /* Check if the queue starts with the first datagram */\n      if (((struct ip_reass_helper*)ipr->p->payload)->start != 0) {\n        valid = 0;\n      } else {\n        /* and check that there are no wholes after this datagram */\n        iprh_prev = iprh;\n        q = iprh->next_pbuf;\n        while (q != NULL) {\n          iprh = (struct ip_reass_helper*)q->payload;\n          if (iprh_prev->end != iprh->start) {\n            valid = 0;\n            break;\n          }\n          iprh_prev = iprh;\n          q = iprh->next_pbuf;\n        }\n        /* if still valid, all fragments are received\n         * (because to the MF==0 already arrived */\n        if (valid) {\n          LWIP_ASSERT(\"sanity check\", ipr->p != NULL);\n          LWIP_ASSERT(\"sanity check\",\n            ((struct ip_reass_helper*)ipr->p->payload) != iprh);\n          LWIP_ASSERT(\"validate_datagram:next_pbuf!=NULL\",\n            iprh->next_pbuf == NULL);\n          LWIP_ASSERT(\"validate_datagram:datagram end!=datagram len\",\n            iprh->end == ipr->datagram_len);\n        }\n      }\n    }\n    /* If valid is 0 here, there are some fragments missing in the middle\n     * (since MF == 0 has already arrived). Such datagrams simply time out if\n     * no more fragments are received... */\n    return valid;\n  }\n  /* If we come here, not all fragments were received, yet! */\n  return 0; /* not yet valid! */\n#if IP_REASS_CHECK_OVERLAP\nfreepbuf:\n  ip_reass_pbufcount -= pbuf_clen(new_p);\n  pbuf_free(new_p);\n  return 0;\n#endif /* IP_REASS_CHECK_OVERLAP */\n}\n\n/**\n * Reassembles incoming IP fragments into an IP datagram.\n *\n * @param p points to a pbuf chain of the fragment\n * @return NULL if reassembly is incomplete, ? otherwise\n */\nstruct pbuf *\nip_reass(struct pbuf *p)\n{\n  struct pbuf *r;\n  struct ip_hdr *fraghdr;\n  struct ip_reassdata *ipr;\n  struct ip_reass_helper *iprh;\n  u16_t offset, len;\n  u8_t clen;\n  struct ip_reassdata *ipr_prev = NULL;\n\n  IPFRAG_STATS_INC(ip_frag.recv);\n  snmp_inc_ipreasmreqds();\n\n  fraghdr = (struct ip_hdr*)p->payload;\n\n  if ((IPH_HL(fraghdr) * 4) != IP_HLEN) {\n    LWIP_DEBUGF(IP_REASS_DEBUG,(\"ip_reass: IP options currently not supported!\\n\"));\n    IPFRAG_STATS_INC(ip_frag.err);\n    goto nullreturn;\n  }\n\n  offset = (ntohs(IPH_OFFSET(fraghdr)) & IP_OFFMASK) * 8;\n  len = ntohs(IPH_LEN(fraghdr)) - IPH_HL(fraghdr) * 4;\n\n  /* Check if we are allowed to enqueue more datagrams. */\n  clen = pbuf_clen(p);\n  if ((ip_reass_pbufcount + clen) > IP_REASS_MAX_PBUFS) {\n#if IP_REASS_FREE_OLDEST\n    if (!ip_reass_remove_oldest_datagram(fraghdr, clen) ||\n        ((ip_reass_pbufcount + clen) > IP_REASS_MAX_PBUFS))\n#endif /* IP_REASS_FREE_OLDEST */\n    {\n      /* No datagram could be freed and still too many pbufs enqueued */\n      LWIP_DEBUGF(IP_REASS_DEBUG,(\"ip_reass: Overflow condition: pbufct=%d, clen=%d, MAX=%d\\n\",\n        ip_reass_pbufcount, clen, IP_REASS_MAX_PBUFS));\n      IPFRAG_STATS_INC(ip_frag.memerr);\n      /* @todo: send ICMP time exceeded here? */\n      /* drop this pbuf */\n      goto nullreturn;\n    }\n  }\n\n  /* Look for the datagram the fragment belongs to in the current datagram queue,\n   * remembering the previous in the queue for later dequeueing. */\n  for (ipr = reassdatagrams; ipr != NULL; ipr = ipr->next) {\n    /* Check if the incoming fragment matches the one currently present\n       in the reassembly buffer. If so, we proceed with copying the\n       fragment into the buffer. */\n    if (IP_ADDRESSES_AND_ID_MATCH(&ipr->iphdr, fraghdr)) {\n      LWIP_DEBUGF(IP_REASS_DEBUG, (\"ip_reass: matching previous fragment ID=%\"X16_F\"\\n\",\n        ntohs(IPH_ID(fraghdr))));\n      IPFRAG_STATS_INC(ip_frag.cachehit);\n      break;\n    }\n    ipr_prev = ipr;\n  }\n\n  if (ipr == NULL) {\n  /* Enqueue a new datagram into the datagram queue */\n    ipr = ip_reass_enqueue_new_datagram(fraghdr, clen);\n    /* Bail if unable to enqueue */\n    if(ipr == NULL) {\n      goto nullreturn;\n    }\n  } else {\n    if (((ntohs(IPH_OFFSET(fraghdr)) & IP_OFFMASK) == 0) && \n      ((ntohs(IPH_OFFSET(&ipr->iphdr)) & IP_OFFMASK) != 0)) {\n      /* ipr->iphdr is not the header from the first fragment, but fraghdr is\n       * -> copy fraghdr into ipr->iphdr since we want to have the header\n       * of the first fragment (for ICMP time exceeded and later, for copying\n       * all options, if supported)*/\n      SMEMCPY(&ipr->iphdr, fraghdr, IP_HLEN);\n    }\n  }\n  /* Track the current number of pbufs current 'in-flight', in order to limit \n  the number of fragments that may be enqueued at any one time */\n  ip_reass_pbufcount += clen;\n\n  /* At this point, we have either created a new entry or pointing \n   * to an existing one */\n\n  /* check for 'no more fragments', and update queue entry*/\n  if ((IPH_OFFSET(fraghdr) & PP_NTOHS(IP_MF)) == 0) {\n    ipr->flags |= IP_REASS_FLAG_LASTFRAG;\n    ipr->datagram_len = offset + len;\n    LWIP_DEBUGF(IP_REASS_DEBUG,\n     (\"ip_reass: last fragment seen, total len %\"S16_F\"\\n\",\n      ipr->datagram_len));\n  }\n  /* find the right place to insert this pbuf */\n  /* @todo: trim pbufs if fragments are overlapping */\n  if (ip_reass_chain_frag_into_datagram_and_validate(ipr, p)) {\n    /* the totally last fragment (flag more fragments = 0) was received at least\n     * once AND all fragments are received */\n    ipr->datagram_len += IP_HLEN;\n\n    /* save the second pbuf before copying the header over the pointer */\n    r = ((struct ip_reass_helper*)ipr->p->payload)->next_pbuf;\n\n    /* copy the original ip header back to the first pbuf */\n    fraghdr = (struct ip_hdr*)(ipr->p->payload);\n    SMEMCPY(fraghdr, &ipr->iphdr, IP_HLEN);\n    IPH_LEN_SET(fraghdr, htons(ipr->datagram_len));\n    IPH_OFFSET_SET(fraghdr, 0);\n    IPH_CHKSUM_SET(fraghdr, 0);\n    /* @todo: do we need to set calculate the correct checksum? */\n    IPH_CHKSUM_SET(fraghdr, inet_chksum(fraghdr, IP_HLEN));\n\n    p = ipr->p;\n\n    /* chain together the pbufs contained within the reass_data list. */\n    while(r != NULL) {\n      iprh = (struct ip_reass_helper*)r->payload;\n\n      /* hide the ip header for every succeding fragment */\n      pbuf_header(r, -IP_HLEN);\n      pbuf_cat(p, r);\n      r = iprh->next_pbuf;\n    }\n    /* release the sources allocate for the fragment queue entry */\n    ip_reass_dequeue_datagram(ipr, ipr_prev);\n\n    /* and adjust the number of pbufs currently queued for reassembly. */\n    ip_reass_pbufcount -= pbuf_clen(p);\n\n    /* Return the pbuf chain */\n    return p;\n  }\n  /* the datagram is not (yet?) reassembled completely */\n  LWIP_DEBUGF(IP_REASS_DEBUG,(\"ip_reass_pbufcount: %d out\\n\", ip_reass_pbufcount));\n  return NULL;\n\nnullreturn:\n  LWIP_DEBUGF(IP_REASS_DEBUG,(\"ip_reass: nullreturn\\n\"));\n  IPFRAG_STATS_INC(ip_frag.drop);\n  pbuf_free(p);\n  return NULL;\n}\n#endif /* IP_REASSEMBLY */\n\n#if IP_FRAG\n#if IP_FRAG_USES_STATIC_BUF\nstatic u8_t buf[LWIP_MEM_ALIGN_SIZE(IP_FRAG_MAX_MTU + MEM_ALIGNMENT - 1)];\n#else /* IP_FRAG_USES_STATIC_BUF */\n\n#if !LWIP_NETIF_TX_SINGLE_PBUF\n/** Allocate a new struct pbuf_custom_ref */\nstatic struct pbuf_custom_ref*\nip_frag_alloc_pbuf_custom_ref(void)\n{\n  return (struct pbuf_custom_ref*)memp_malloc(MEMP_FRAG_PBUF);\n}\n\n/** Free a struct pbuf_custom_ref */\nstatic void\nip_frag_free_pbuf_custom_ref(struct pbuf_custom_ref* p)\n{\n  LWIP_ASSERT(\"p != NULL\", p != NULL);\n  memp_free(MEMP_FRAG_PBUF, p);\n}\n\n/** Free-callback function to free a 'struct pbuf_custom_ref', called by\n * pbuf_free. */\nstatic void\nipfrag_free_pbuf_custom(struct pbuf *p)\n{\n  struct pbuf_custom_ref *pcr = (struct pbuf_custom_ref*)p;\n  LWIP_ASSERT(\"pcr != NULL\", pcr != NULL);\n  LWIP_ASSERT(\"pcr == p\", (void*)pcr == (void*)p);\n  if (pcr->original != NULL) {\n    pbuf_free(pcr->original);\n  }\n  ip_frag_free_pbuf_custom_ref(pcr);\n}\n#endif /* !LWIP_NETIF_TX_SINGLE_PBUF */\n#endif /* IP_FRAG_USES_STATIC_BUF */\n\n/**\n * Fragment an IP datagram if too large for the netif.\n *\n * Chop the datagram in MTU sized chunks and send them in order\n * by using a fixed size static memory buffer (PBUF_REF) or\n * point PBUF_REFs into p (depending on IP_FRAG_USES_STATIC_BUF).\n *\n * @param p ip packet to send\n * @param netif the netif on which to send\n * @param dest destination ip address to which to send\n *\n * @return ERR_OK if sent successfully, err_t otherwise\n */\nerr_t \nip_frag(struct pbuf *p, struct netif *netif, ip_addr_t *dest)\n{\n  struct pbuf *rambuf;\n#if IP_FRAG_USES_STATIC_BUF\n  struct pbuf *header;\n#else\n#if !LWIP_NETIF_TX_SINGLE_PBUF\n  struct pbuf *newpbuf;\n#endif\n  struct ip_hdr *original_iphdr;\n#endif\n  struct ip_hdr *iphdr;\n  u16_t nfb;\n  u16_t left, cop;\n  u16_t mtu = netif->mtu;\n  u16_t ofo, omf;\n  u16_t last;\n  u16_t poff = IP_HLEN;\n  u16_t tmp;\n#if !IP_FRAG_USES_STATIC_BUF && !LWIP_NETIF_TX_SINGLE_PBUF\n  u16_t newpbuflen = 0;\n  u16_t left_to_copy;\n#endif\n\n  /* Get a RAM based MTU sized pbuf */\n#if IP_FRAG_USES_STATIC_BUF\n  /* When using a static buffer, we use a PBUF_REF, which we will\n   * use to reference the packet (without link header).\n   * Layer and length is irrelevant.\n   */\n  rambuf = pbuf_alloc(PBUF_LINK, 0, PBUF_REF);\n  if (rambuf == NULL) {\n    LWIP_DEBUGF(IP_REASS_DEBUG, (\"ip_frag: pbuf_alloc(PBUF_LINK, 0, PBUF_REF) failed\\n\"));\n    return ERR_MEM;\n  }\n  rambuf->tot_len = rambuf->len = mtu;\n  rambuf->payload = LWIP_MEM_ALIGN((void *)buf);\n\n  /* Copy the IP header in it */\n  iphdr = (struct ip_hdr *)rambuf->payload;\n  SMEMCPY(iphdr, p->payload, IP_HLEN);\n#else /* IP_FRAG_USES_STATIC_BUF */\n  original_iphdr = (struct ip_hdr *)p->payload;\n  iphdr = original_iphdr;\n#endif /* IP_FRAG_USES_STATIC_BUF */\n\n  /* Save original offset */\n  tmp = ntohs(IPH_OFFSET(iphdr));\n  ofo = tmp & IP_OFFMASK;\n  omf = tmp & IP_MF;\n\n  left = p->tot_len - IP_HLEN;\n\n  nfb = (mtu - IP_HLEN) / 8;\n\n  while (left) {\n    last = (left <= mtu - IP_HLEN);\n\n    /* Set new offset and MF flag */\n    tmp = omf | (IP_OFFMASK & (ofo));\n    if (!last) {\n      tmp = tmp | IP_MF;\n    }\n\n    /* Fill this fragment */\n    cop = last ? left : nfb * 8;\n\n#if IP_FRAG_USES_STATIC_BUF\n    poff += pbuf_copy_partial(p, (u8_t*)iphdr + IP_HLEN, cop, poff);\n#else /* IP_FRAG_USES_STATIC_BUF */\n#if LWIP_NETIF_TX_SINGLE_PBUF\n    rambuf = pbuf_alloc(PBUF_IP, cop, PBUF_RAM);\n    if (rambuf == NULL) {\n      return ERR_MEM;\n    }\n    LWIP_ASSERT(\"this needs a pbuf in one piece!\",\n      (rambuf->len == rambuf->tot_len) && (rambuf->next == NULL));\n    poff += pbuf_copy_partial(p, rambuf->payload, cop, poff);\n    /* make room for the IP header */\n    if(pbuf_header(rambuf, IP_HLEN)) {\n      pbuf_free(rambuf);\n      return ERR_MEM;\n    }\n    /* fill in the IP header */\n    SMEMCPY(rambuf->payload, original_iphdr, IP_HLEN);\n    iphdr = rambuf->payload;\n#else /* LWIP_NETIF_TX_SINGLE_PBUF */\n    /* When not using a static buffer, create a chain of pbufs.\n     * The first will be a PBUF_RAM holding the link and IP header.\n     * The rest will be PBUF_REFs mirroring the pbuf chain to be fragged,\n     * but limited to the size of an mtu.\n     */\n    rambuf = pbuf_alloc(PBUF_LINK, IP_HLEN, PBUF_RAM);\n    if (rambuf == NULL) {\n      return ERR_MEM;\n    }\n    LWIP_ASSERT(\"this needs a pbuf in one piece!\",\n                (p->len >= (IP_HLEN)));\n    SMEMCPY(rambuf->payload, original_iphdr, IP_HLEN);\n    iphdr = (struct ip_hdr *)rambuf->payload;\n\n    /* Can just adjust p directly for needed offset. */\n    p->payload = (u8_t *)p->payload + poff;\n    p->len -= poff;\n\n    left_to_copy = cop;\n    while (left_to_copy) {\n      struct pbuf_custom_ref *pcr;\n      newpbuflen = (left_to_copy < p->len) ? left_to_copy : p->len;\n      /* Is this pbuf already empty? */\n      if (!newpbuflen) {\n        p = p->next;\n        continue;\n      }\n      pcr = ip_frag_alloc_pbuf_custom_ref();\n      if (pcr == NULL) {\n        pbuf_free(rambuf);\n        return ERR_MEM;\n      }\n      /* Mirror this pbuf, although we might not need all of it. */\n      newpbuf = pbuf_alloced_custom(PBUF_RAW, newpbuflen, PBUF_REF, &pcr->pc, p->payload, newpbuflen);\n      if (newpbuf == NULL) {\n        ip_frag_free_pbuf_custom_ref(pcr);\n        pbuf_free(rambuf);\n        return ERR_MEM;\n      }\n      pbuf_ref(p);\n      pcr->original = p;\n      pcr->pc.custom_free_function = ipfrag_free_pbuf_custom;\n\n      /* Add it to end of rambuf's chain, but using pbuf_cat, not pbuf_chain\n       * so that it is removed when pbuf_dechain is later called on rambuf.\n       */\n      pbuf_cat(rambuf, newpbuf);\n      left_to_copy -= newpbuflen;\n      if (left_to_copy) {\n        p = p->next;\n      }\n    }\n    poff = newpbuflen;\n#endif /* LWIP_NETIF_TX_SINGLE_PBUF */\n#endif /* IP_FRAG_USES_STATIC_BUF */\n\n    /* Correct header */\n    IPH_OFFSET_SET(iphdr, htons(tmp));\n    IPH_LEN_SET(iphdr, htons(cop + IP_HLEN));\n    IPH_CHKSUM_SET(iphdr, 0);\n    IPH_CHKSUM_SET(iphdr, inet_chksum(iphdr, IP_HLEN));\n\n#if IP_FRAG_USES_STATIC_BUF\n    if (last) {\n      pbuf_realloc(rambuf, left + IP_HLEN);\n    }\n\n    /* This part is ugly: we alloc a RAM based pbuf for \n     * the link level header for each chunk and then \n     * free it.A PBUF_ROM style pbuf for which pbuf_header\n     * worked would make things simpler.\n     */\n    header = pbuf_alloc(PBUF_LINK, 0, PBUF_RAM);\n    if (header != NULL) {\n      pbuf_chain(header, rambuf);\n      netif->output(netif, header, dest);\n      IPFRAG_STATS_INC(ip_frag.xmit);\n      snmp_inc_ipfragcreates();\n      pbuf_free(header);\n    } else {\n      LWIP_DEBUGF(IP_REASS_DEBUG, (\"ip_frag: pbuf_alloc() for header failed\\n\"));\n      pbuf_free(rambuf);\n      return ERR_MEM;\n    }\n#else /* IP_FRAG_USES_STATIC_BUF */\n    /* No need for separate header pbuf - we allowed room for it in rambuf\n     * when allocated.\n     */\n    netif->output(netif, rambuf, dest);\n    IPFRAG_STATS_INC(ip_frag.xmit);\n\n    /* Unfortunately we can't reuse rambuf - the hardware may still be\n     * using the buffer. Instead we free it (and the ensuing chain) and\n     * recreate it next time round the loop. If we're lucky the hardware\n     * will have already sent the packet, the free will really free, and\n     * there will be zero memory penalty.\n     */\n    \n    pbuf_free(rambuf);\n#endif /* IP_FRAG_USES_STATIC_BUF */\n    left -= cop;\n    ofo += nfb;\n  }\n#if IP_FRAG_USES_STATIC_BUF\n  pbuf_free(rambuf);\n#endif /* IP_FRAG_USES_STATIC_BUF */\n  snmp_inc_ipfragoks();\n  return ERR_OK;\n}\n#endif /* IP_FRAG */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv6/README",
    "content": "IPv6 support in lwIP is very experimental.\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv6/icmp6.c",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n/* Some ICMP messages should be passed to the transport protocols. This\n   is not implemented. */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_ICMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/icmp.h\"\n#include \"lwip/inet.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/def.h\"\n#include \"lwip/stats.h\"\n\nvoid\nicmp_input(struct pbuf *p, struct netif *inp)\n{\n  u8_t type;\n  struct icmp_echo_hdr *iecho;\n  struct ip_hdr *iphdr;\n  struct ip_addr tmpaddr;\n\n  ICMP_STATS_INC(icmp.recv);\n\n  /* TODO: check length before accessing payload! */\n\n  type = ((u8_t *)p->payload)[0];\n\n  switch (type) {\n  case ICMP6_ECHO:\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: ping\\n\"));\n\n    if (p->tot_len < sizeof(struct icmp_echo_hdr)) {\n      LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: bad ICMP echo received\\n\"));\n\n      pbuf_free(p);\n      ICMP_STATS_INC(icmp.lenerr);\n      return;\n    }\n    iecho = p->payload;\n    iphdr = (struct ip_hdr *)((u8_t *)p->payload - IP_HLEN);\n    if (inet_chksum_pbuf(p) != 0) {\n      LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: checksum failed for received ICMP echo (%\"X16_F\")\\n\", inet_chksum_pseudo(p, &(iphdr->src), &(iphdr->dest), IP_PROTO_ICMP, p->tot_len)));\n      ICMP_STATS_INC(icmp.chkerr);\n    /*      return;*/\n    }\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp: p->len %\"S16_F\" p->tot_len %\"S16_F\"\\n\", p->len, p->tot_len));\n    ip_addr_set(&tmpaddr, &(iphdr->src));\n    ip_addr_set(&(iphdr->src), &(iphdr->dest));\n    ip_addr_set(&(iphdr->dest), &tmpaddr);\n    iecho->type = ICMP6_ER;\n    /* adjust the checksum */\n    if (iecho->chksum >= htons(0xffff - (ICMP6_ECHO << 8))) {\n      iecho->chksum += htons(ICMP6_ECHO << 8) + 1;\n    } else {\n      iecho->chksum += htons(ICMP6_ECHO << 8);\n    }\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: checksum failed for received ICMP echo (%\"X16_F\")\\n\", inet_chksum_pseudo(p, &(iphdr->src), &(iphdr->dest), IP_PROTO_ICMP, p->tot_len)));\n    ICMP_STATS_INC(icmp.xmit);\n\n    /*    LWIP_DEBUGF(\"icmp: p->len %\"U16_F\" p->tot_len %\"U16_F\"\\n\", p->len, p->tot_len);*/\n    ip_output_if (p, &(iphdr->src), IP_HDRINCL,\n     iphdr->hoplim, IP_PROTO_ICMP, inp);\n    break;\n  default:\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_input: ICMP type %\"S16_F\" not supported.\\n\", (s16_t)type));\n    ICMP_STATS_INC(icmp.proterr);\n    ICMP_STATS_INC(icmp.drop);\n  }\n\n  pbuf_free(p);\n}\n\nvoid\nicmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t)\n{\n  struct pbuf *q;\n  struct ip_hdr *iphdr;\n  struct icmp_dur_hdr *idur;\n\n  /* @todo: can this be PBUF_LINK instead of PBUF_IP? */\n  q = pbuf_alloc(PBUF_IP, 8 + IP_HLEN + 8, PBUF_RAM);\n  /* ICMP header + IP header + 8 bytes of data */\n  if (q == NULL) {\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_dest_unreach: failed to allocate pbuf for ICMP packet.\\n\"));\n    pbuf_free(p);\n    return;\n  }\n  LWIP_ASSERT(\"check that first pbuf can hold icmp message\",\n             (q->len >= (8 + IP_HLEN + 8)));\n\n  iphdr = p->payload;\n\n  idur = q->payload;\n  idur->type = (u8_t)ICMP6_DUR;\n  idur->icode = (u8_t)t;\n\n  SMEMCPY((u8_t *)q->payload + 8, p->payload, IP_HLEN + 8);\n\n  /* calculate checksum */\n  idur->chksum = 0;\n  idur->chksum = inet_chksum(idur, q->len);\n  ICMP_STATS_INC(icmp.xmit);\n\n  ip_output(q, NULL,\n      (struct ip_addr *)&(iphdr->src), ICMP_TTL, IP_PROTO_ICMP);\n  pbuf_free(q);\n}\n\nvoid\nicmp_time_exceeded(struct pbuf *p, enum icmp_te_type t)\n{\n  struct pbuf *q;\n  struct ip_hdr *iphdr;\n  struct icmp_te_hdr *tehdr;\n\n  LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_time_exceeded\\n\"));\n\n  /* @todo: can this be PBUF_LINK instead of PBUF_IP? */\n  q = pbuf_alloc(PBUF_IP, 8 + IP_HLEN + 8, PBUF_RAM);\n  /* ICMP header + IP header + 8 bytes of data */\n  if (q == NULL) {\n    LWIP_DEBUGF(ICMP_DEBUG, (\"icmp_dest_unreach: failed to allocate pbuf for ICMP packet.\\n\"));\n    pbuf_free(p);\n    return;\n  }\n  LWIP_ASSERT(\"check that first pbuf can hold icmp message\",\n             (q->len >= (8 + IP_HLEN + 8)));\n\n  iphdr = p->payload;\n\n  tehdr = q->payload;\n  tehdr->type = (u8_t)ICMP6_TE;\n  tehdr->icode = (u8_t)t;\n\n  /* copy fields from original packet */\n  SMEMCPY((u8_t *)q->payload + 8, (u8_t *)p->payload, IP_HLEN + 8);\n\n  /* calculate checksum */\n  tehdr->chksum = 0;\n  tehdr->chksum = inet_chksum(tehdr, q->len);\n  ICMP_STATS_INC(icmp.xmit);\n  ip_output(q, NULL,\n      (struct ip_addr *)&(iphdr->src), ICMP_TTL, IP_PROTO_ICMP);\n  pbuf_free(q);\n}\n\n#endif /* LWIP_ICMP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv6/inet6.c",
    "content": "/**\n * @file\n * Functions common to all TCP/IPv6 modules, such as the Internet checksum and the\n * byte order functions.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/def.h\"\n#include \"lwip/inet.h\"\n\n/* chksum:\n *\n * Sums up all 16 bit words in a memory portion. Also includes any odd byte.\n * This function is used by the other checksum functions.\n *\n * For now, this is not optimized. Must be optimized for the particular processor\n * arcitecture on which it is to run. Preferebly coded in assembler.\n */\n\nstatic u32_t\nchksum(void *dataptr, u16_t len)\n{\n  u16_t *sdataptr = dataptr;\n  u32_t acc;\n  \n  \n  for(acc = 0; len > 1; len -= 2) {\n    acc += *sdataptr++;\n  }\n\n  /* add up any odd byte */\n  if (len == 1) {\n    acc += htons((u16_t)(*(u8_t *)dataptr) << 8);\n  }\n\n  return acc;\n\n}\n\n/* inet_chksum_pseudo:\n *\n * Calculates the pseudo Internet checksum used by TCP and UDP for a pbuf chain.\n */\n\nu16_t\ninet_chksum_pseudo(struct pbuf *p,\n       struct ip_addr *src, struct ip_addr *dest,\n       u8_t proto, u32_t proto_len)\n{\n  u32_t acc;\n  struct pbuf *q;\n  u8_t swapped, i;\n\n  acc = 0;\n  swapped = 0;\n  for(q = p; q != NULL; q = q->next) {    \n    acc += chksum(q->payload, q->len);\n    while (acc >> 16) {\n      acc = (acc & 0xffff) + (acc >> 16);\n    }\n    if (q->len % 2 != 0) {\n      swapped = 1 - swapped;\n      acc = ((acc & 0xff) << 8) | ((acc & 0xff00) >> 8);\n    }\n  }\n\n  if (swapped) {\n    acc = ((acc & 0xff) << 8) | ((acc & 0xff00) >> 8);\n  }\n  \n  for(i = 0; i < 8; i++) {\n    acc += ((u16_t *)src->addr)[i] & 0xffff;\n    acc += ((u16_t *)dest->addr)[i] & 0xffff;\n    while (acc >> 16) {\n      acc = (acc & 0xffff) + (acc >> 16);\n    }\n  }\n  acc += (u16_t)htons((u16_t)proto);\n  acc += ((u16_t *)&proto_len)[0] & 0xffff;\n  acc += ((u16_t *)&proto_len)[1] & 0xffff;\n\n  while (acc >> 16) {\n    acc = (acc & 0xffff) + (acc >> 16);\n  }\n  return ~(acc & 0xffff);\n}\n\n/* inet_chksum:\n *\n * Calculates the Internet checksum over a portion of memory. Used primarely for IP\n * and ICMP.\n */\n\nu16_t\ninet_chksum(void *dataptr, u16_t len)\n{\n  u32_t acc, sum;\n\n  acc = chksum(dataptr, len);\n  sum = (acc & 0xffff) + (acc >> 16);\n  sum += (sum >> 16);\n  return ~(sum & 0xffff);\n}\n\nu16_t\ninet_chksum_pbuf(struct pbuf *p)\n{\n  u32_t acc;\n  struct pbuf *q;\n  u8_t swapped;\n  \n  acc = 0;\n  swapped = 0;\n  for(q = p; q != NULL; q = q->next) {\n    acc += chksum(q->payload, q->len);\n    while (acc >> 16) {\n      acc = (acc & 0xffff) + (acc >> 16);\n    }    \n    if (q->len % 2 != 0) {\n      swapped = 1 - swapped;\n      acc = (acc & 0xff << 8) | (acc & 0xff00 >> 8);\n    }\n  }\n \n  if (swapped) {\n    acc = ((acc & 0xff) << 8) | ((acc & 0xff00) >> 8);\n  }\n  return ~(acc & 0xffff);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv6/ip6.c",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n\n\n/* ip.c\n *\n * This is the code for the IP layer for IPv6.\n *\n */\n\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/def.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/inet.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/icmp.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/tcp_impl.h\"\n\n#include \"lwip/stats.h\"\n\n#include \"arch/perf.h\"\n\n/* ip_init:\n *\n * Initializes the IP layer.\n */\n\nvoid\nip_init(void)\n{\n}\n\n/* ip_route:\n *\n * Finds the appropriate network interface for a given IP address. It searches the\n * list of network interfaces linearly. A match is found if the masked IP address of\n * the network interface equals the masked IP address given to the function.\n */\n\nstruct netif *\nip_route(struct ip_addr *dest)\n{\n  struct netif *netif;\n\n  for(netif = netif_list; netif != NULL; netif = netif->next) {\n    if (ip_addr_netcmp(dest, &(netif->ip_addr), &(netif->netmask))) {\n      return netif;\n    }\n  }\n\n  return netif_default;\n}\n\n/* ip_forward:\n *\n * Forwards an IP packet. It finds an appropriate route for the packet, decrements\n * the TTL value of the packet, adjusts the checksum and outputs the packet on the\n * appropriate interface.\n */\n\nstatic void\nip_forward(struct pbuf *p, struct ip_hdr *iphdr)\n{\n  struct netif *netif;\n\n  PERF_START;\n\n  if ((netif = ip_route((struct ip_addr *)&(iphdr->dest))) == NULL) {\n\n    LWIP_DEBUGF(IP_DEBUG, (\"ip_input: no forwarding route found for \"));\n#if IP_DEBUG\n    ip_addr_debug_print(IP_DEBUG, ((struct ip_addr *)&(iphdr->dest)));\n#endif /* IP_DEBUG */\n    LWIP_DEBUGF(IP_DEBUG, (\"\\n\"));\n    pbuf_free(p);\n    return;\n  }\n  /* Decrement TTL and send ICMP if ttl == 0. */\n  if (--iphdr->hoplim == 0) {\n#if LWIP_ICMP\n    /* Don't send ICMP messages in response to ICMP messages */\n    if (iphdr->nexthdr != IP_PROTO_ICMP) {\n      icmp_time_exceeded(p, ICMP_TE_TTL);\n    }\n#endif /* LWIP_ICMP */\n    pbuf_free(p);\n    return;\n  }\n\n  /* Incremental update of the IP checksum. */\n  /*  if (iphdr->chksum >= htons(0xffff - 0x100)) {\n    iphdr->chksum += htons(0x100) + 1;\n  } else {\n    iphdr->chksum += htons(0x100);\n    }*/\n\n\n  LWIP_DEBUGF(IP_DEBUG, (\"ip_forward: forwarding packet to \"));\n#if IP_DEBUG\n  ip_addr_debug_print(IP_DEBUG, ((struct ip_addr *)&(iphdr->dest)));\n#endif /* IP_DEBUG */\n  LWIP_DEBUGF(IP_DEBUG, (\"\\n\"));\n\n  IP_STATS_INC(ip.fw);\n  IP_STATS_INC(ip.xmit);\n\n  PERF_STOP(\"ip_forward\");\n\n  netif->output(netif, p, (struct ip_addr *)&(iphdr->dest));\n}\n\n/* ip_input:\n *\n * This function is called by the network interface device driver when an IP packet is\n * received. The function does the basic checks of the IP header such as packet size\n * being at least larger than the header size etc. If the packet was not destined for\n * us, the packet is forwarded (using ip_forward). The IP checksum is always checked.\n *\n * Finally, the packet is sent to the upper layer protocol input function.\n */\n\nvoid\nip_input(struct pbuf *p, struct netif *inp) {\n  struct ip_hdr *iphdr;\n  struct netif *netif;\n\n\n  PERF_START;\n\n#if IP_DEBUG\n  ip_debug_print(p);\n#endif /* IP_DEBUG */\n\n\n  IP_STATS_INC(ip.recv);\n\n  /* identify the IP header */\n  iphdr = p->payload;\n\n\n  if (iphdr->v != 6) {\n    LWIP_DEBUGF(IP_DEBUG, (\"IP packet dropped due to bad version number\\n\"));\n#if IP_DEBUG\n    ip_debug_print(p);\n#endif /* IP_DEBUG */\n    pbuf_free(p);\n    IP_STATS_INC(ip.err);\n    IP_STATS_INC(ip.drop);\n    return;\n  }\n\n  /* is this packet for us? */\n  for(netif = netif_list; netif != NULL; netif = netif->next) {\n#if IP_DEBUG\n    LWIP_DEBUGF(IP_DEBUG, (\"ip_input: iphdr->dest \"));\n    ip_addr_debug_print(IP_DEBUG, ((struct ip_addr *)&(iphdr->dest)));\n    LWIP_DEBUGF(IP_DEBUG, (\"netif->ip_addr \"));\n    ip_addr_debug_print(IP_DEBUG, ((struct ip_addr *)&(iphdr->dest)));\n    LWIP_DEBUGF(IP_DEBUG, (\"\\n\"));\n#endif /* IP_DEBUG */\n    if (ip_addr_cmp(&(iphdr->dest), &(netif->ip_addr))) {\n      break;\n    }\n  }\n\n\n  if (netif == NULL) {\n    /* packet not for us, route or discard */\n#if IP_FORWARD\n    ip_forward(p, iphdr);\n#endif\n    pbuf_free(p);\n    return;\n  }\n\n  pbuf_realloc(p, IP_HLEN + ntohs(iphdr->len));\n\n  /* send to upper layers */\n#if IP_DEBUG\n  /*  LWIP_DEBUGF(\"ip_input: \\n\");\n  ip_debug_print(p);\n  LWIP_DEBUGF(\"ip_input: p->len %\"U16_F\" p->tot_len %\"U16_F\"\\n\", p->len, p->tot_len);*/\n#endif /* IP_DEBUG */\n\n  if(pbuf_header(p, -IP_HLEN)) {\n    LWIP_ASSERT(\"Can't move over header in packet\", 0);\n    return;\n  }\n\n  switch (iphdr->nexthdr) {\n  case IP_PROTO_UDP:\n    udp_input(p, inp);\n    break;\n  case IP_PROTO_TCP:\n    tcp_input(p, inp);\n    break;\n#if LWIP_ICMP\n  case IP_PROTO_ICMP:\n    icmp_input(p, inp);\n    break;\n#endif /* LWIP_ICMP */\n  default:\n#if LWIP_ICMP\n    /* send ICMP destination protocol unreachable */\n    icmp_dest_unreach(p, ICMP_DUR_PROTO);\n#endif /* LWIP_ICMP */\n    pbuf_free(p);\n    LWIP_DEBUGF(IP_DEBUG, (\"Unsupported transport protocol %\"U16_F\"\\n\",\n          iphdr->nexthdr));\n\n    IP_STATS_INC(ip.proterr);\n    IP_STATS_INC(ip.drop);\n  }\n  PERF_STOP(\"ip_input\");\n}\n\n\n/* ip_output_if:\n *\n * Sends an IP packet on a network interface. This function constructs the IP header\n * and calculates the IP header checksum. If the source IP address is NULL,\n * the IP address of the outgoing network interface is filled in as source address.\n */\n\nerr_t\nip_output_if (struct pbuf *p, struct ip_addr *src, struct ip_addr *dest,\n       u8_t ttl,\n       u8_t proto, struct netif *netif)\n{\n  struct ip_hdr *iphdr;\n\n  PERF_START;\n\n  LWIP_DEBUGF(IP_DEBUG, (\"len %\"U16_F\" tot_len %\"U16_F\"\\n\", p->len, p->tot_len));\n  if (pbuf_header(p, IP_HLEN)) {\n    LWIP_DEBUGF(IP_DEBUG, (\"ip_output: not enough room for IP header in pbuf\\n\"));\n    IP_STATS_INC(ip.err);\n\n    return ERR_BUF;\n  }\n  LWIP_DEBUGF(IP_DEBUG, (\"len %\"U16_F\" tot_len %\"U16_F\"\\n\", p->len, p->tot_len));\n\n  iphdr = p->payload;\n\n\n  if (dest != IP_HDRINCL) {\n    LWIP_DEBUGF(IP_DEBUG, (\"!IP_HDRLINCL\\n\"));\n    iphdr->hoplim = ttl;\n    iphdr->nexthdr = proto;\n    iphdr->len = htons(p->tot_len - IP_HLEN);\n    ip_addr_set(&(iphdr->dest), dest);\n\n    iphdr->v = 6;\n\n    if (ip_addr_isany(src)) {\n      ip_addr_set(&(iphdr->src), &(netif->ip_addr));\n    } else {\n      ip_addr_set(&(iphdr->src), src);\n    }\n\n  } else {\n    dest = &(iphdr->dest);\n  }\n\n  IP_STATS_INC(ip.xmit);\n\n  LWIP_DEBUGF(IP_DEBUG, (\"ip_output_if: %c%c (len %\"U16_F\")\\n\", netif->name[0], netif->name[1], p->tot_len));\n#if IP_DEBUG\n  ip_debug_print(p);\n#endif /* IP_DEBUG */\n\n  PERF_STOP(\"ip_output_if\");\n  return netif->output(netif, p, dest);\n}\n\n/* ip_output:\n *\n * Simple interface to ip_output_if. It finds the outgoing network interface and\n * calls upon ip_output_if to do the actual work.\n */\n\nerr_t\nip_output(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest,\n    u8_t ttl, u8_t proto)\n{\n  struct netif *netif;\n  if ((netif = ip_route(dest)) == NULL) {\n    LWIP_DEBUGF(IP_DEBUG, (\"ip_output: No route to 0x%\"X32_F\"\\n\", dest->addr));\n    IP_STATS_INC(ip.rterr);\n    return ERR_RTE;\n  }\n\n  return ip_output_if (p, src, dest, ttl, proto, netif);\n}\n\n#if LWIP_NETIF_HWADDRHINT\nerr_t\nip_output_hinted(struct pbuf *p, struct ip_addr *src, struct ip_addr *dest,\n          u8_t ttl, u8_t tos, u8_t proto, u8_t *addr_hint)\n{\n  struct netif *netif;\n  err_t err;\n\n  if ((netif = ip_route(dest)) == NULL) {\n    LWIP_DEBUGF(IP_DEBUG, (\"ip_output: No route to 0x%\"X32_F\"\\n\", dest->addr));\n    IP_STATS_INC(ip.rterr);\n    return ERR_RTE;\n  }\n\n  LWIP_NETIF_HWADDRHINT(netif, addr_hint);\n  err = ip_output_if(p, src, dest, ttl, tos, proto, netif);\n  LWIP_NETIF_HWADDRHINT(netif, NULL);\n\n  return err;\n}\n#endif /* LWIP_NETIF_HWADDRHINT*/\n\n#if IP_DEBUG\nvoid\nip_debug_print(struct pbuf *p)\n{\n  struct ip_hdr *iphdr = p->payload;\n\n  LWIP_DEBUGF(IP_DEBUG, (\"IP header:\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"|%2\"S16_F\" |  %\"X16_F\"%\"X16_F\"  |      %\"X16_F\"%\"X16_F\"           | (v, traffic class, flow label)\\n\",\n        iphdr->v,\n        iphdr->tclass1, iphdr->tclass2,\n        iphdr->flow1, iphdr->flow2));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"|    %5\"U16_F\"      | %2\"U16_F\"  |  %2\"U16_F\"   | (len, nexthdr, hoplim)\\n\",\n        ntohs(iphdr->len),\n        iphdr->nexthdr,\n        iphdr->hoplim));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"|       %4\"X32_F\"      |       %4\"X32_F\"     | (src)\\n\",\n        (ntohl(iphdr->src.addr[0]) >> 16) & 0xffff,\n        ntohl(iphdr->src.addr[0]) & 0xffff));\n  LWIP_DEBUGF(IP_DEBUG, (\"|       %4\"X32_F\"      |       %4\"X32_F\"     | (src)\\n\",\n        (ntohl(iphdr->src.addr[1]) >> 16) & 0xffff,\n        ntohl(iphdr->src.addr[1]) & 0xffff));\n  LWIP_DEBUGF(IP_DEBUG, (\"|       %4\"X32_F\"      |       %4\"X32_F\"     | (src)\\n\",\n        (ntohl(iphdr->src.addr[2]) >> 16) & 0xffff,\n        ntohl(iphdr->src.addr[2]) & 0xffff));\n  LWIP_DEBUGF(IP_DEBUG, (\"|       %4\"X32_F\"      |       %4\"X32_F\"     | (src)\\n\",\n        (ntohl(iphdr->src.addr[3]) >> 16) & 0xffff,\n        ntohl(iphdr->src.addr[3]) & 0xffff));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(IP_DEBUG, (\"|       %4\"X32_F\"      |       %4\"X32_F\"     | (dest)\\n\",\n        (ntohl(iphdr->dest.addr[0]) >> 16) & 0xffff,\n        ntohl(iphdr->dest.addr[0]) & 0xffff));\n  LWIP_DEBUGF(IP_DEBUG, (\"|       %4\"X32_F\"      |       %4\"X32_F\"     | (dest)\\n\",\n        (ntohl(iphdr->dest.addr[1]) >> 16) & 0xffff,\n        ntohl(iphdr->dest.addr[1]) & 0xffff));\n  LWIP_DEBUGF(IP_DEBUG, (\"|       %4\"X32_F\"      |       %4\"X32_F\"     | (dest)\\n\",\n        (ntohl(iphdr->dest.addr[2]) >> 16) & 0xffff,\n        ntohl(iphdr->dest.addr[2]) & 0xffff));\n  LWIP_DEBUGF(IP_DEBUG, (\"|       %4\"X32_F\"      |       %4\"X32_F\"     | (dest)\\n\",\n        (ntohl(iphdr->dest.addr[3]) >> 16) & 0xffff,\n        ntohl(iphdr->dest.addr[3]) & 0xffff));\n  LWIP_DEBUGF(IP_DEBUG, (\"+-------------------------------+\\n\"));\n}\n#endif /* IP_DEBUG */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/ipv6/ip6_addr.c",
    "content": "/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/inet.h\"\n\nu8_t\nip_addr_netcmp(struct ip_addr *addr1, struct ip_addr *addr2,\n                struct ip_addr *mask)\n{\n  return((addr1->addr[0] & mask->addr[0]) == (addr2->addr[0] & mask->addr[0]) &&\n         (addr1->addr[1] & mask->addr[1]) == (addr2->addr[1] & mask->addr[1]) &&\n         (addr1->addr[2] & mask->addr[2]) == (addr2->addr[2] & mask->addr[2]) &&\n         (addr1->addr[3] & mask->addr[3]) == (addr2->addr[3] & mask->addr[3]));\n        \n}\n\nu8_t\nip_addr_cmp(struct ip_addr *addr1, struct ip_addr *addr2)\n{\n  return(addr1->addr[0] == addr2->addr[0] &&\n         addr1->addr[1] == addr2->addr[1] &&\n         addr1->addr[2] == addr2->addr[2] &&\n         addr1->addr[3] == addr2->addr[3]);\n}\n\nvoid\nip_addr_set(struct ip_addr *dest, struct ip_addr *src)\n{\n  SMEMCPY(dest, src, sizeof(struct ip_addr));\n  /*  dest->addr[0] = src->addr[0];\n  dest->addr[1] = src->addr[1];\n  dest->addr[2] = src->addr[2];\n  dest->addr[3] = src->addr[3];*/\n}\n\nu8_t\nip_addr_isany(struct ip_addr *addr)\n{\n  if (addr == NULL) return 1;\n  return((addr->addr[0] | addr->addr[1] | addr->addr[2] | addr->addr[3]) == 0);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/mem.c",
    "content": "/**\n * @file\n * Dynamic memory manager\n *\n * This is a lightweight replacement for the standard C library malloc().\n *\n * If you want to use the standard C library malloc() instead, define\n * MEM_LIBC_MALLOC to 1 in your lwipopts.h\n *\n * To let mem_malloc() use pools (prevents fragmentation and is much faster than\n * a heap but might waste some memory), define MEM_USE_POOLS to 1, define\n * MEM_USE_CUSTOM_POOLS to 1 and create a file \"lwippools.h\" that includes a list\n * of pools like this (more pools can be added between _START and _END):\n *\n * Define three pools with sizes 256, 512, and 1512 bytes\n * LWIP_MALLOC_MEMPOOL_START\n * LWIP_MALLOC_MEMPOOL(20, 256)\n * LWIP_MALLOC_MEMPOOL(10, 512)\n * LWIP_MALLOC_MEMPOOL(5, 1512)\n * LWIP_MALLOC_MEMPOOL_END\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *         Simon Goldschmidt\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if !MEM_LIBC_MALLOC /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/def.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/err.h\"\n\n#include <string.h>\n\n#if MEM_USE_POOLS\n/* lwIP head implemented with different sized pools */\n\n/**\n * Allocate memory: determine the smallest pool that is big enough\n * to contain an element of 'size' and get an element from that pool.\n *\n * @param size the size in bytes of the memory needed\n * @return a pointer to the allocated memory or NULL if the pool is empty\n */\nvoid *\nmem_malloc(mem_size_t size)\n{\n  void *ret;\n  struct memp_malloc_helper *element;\n  memp_t poolnr;\n  mem_size_t required_size = size + LWIP_MEM_ALIGN_SIZE(sizeof(struct memp_malloc_helper));\n\n  for (poolnr = MEMP_POOL_FIRST; poolnr <= MEMP_POOL_LAST; poolnr = (memp_t)(poolnr + 1)) {\n#if MEM_USE_POOLS_TRY_BIGGER_POOL\nagain:\n#endif /* MEM_USE_POOLS_TRY_BIGGER_POOL */\n    /* is this pool big enough to hold an element of the required size\n       plus a struct memp_malloc_helper that saves the pool this element came from? */\n    if (required_size <= memp_sizes[poolnr]) {\n      break;\n    }\n  }\n  if (poolnr > MEMP_POOL_LAST) {\n    LWIP_ASSERT(\"mem_malloc(): no pool is that big!\", 0);\n    return NULL;\n  }\n  element = (struct memp_malloc_helper*)memp_malloc(poolnr);\n  if (element == NULL) {\n    /* No need to DEBUGF or ASSERT: This error is already\n       taken care of in memp.c */\n#if MEM_USE_POOLS_TRY_BIGGER_POOL\n    /** Try a bigger pool if this one is empty! */\n    if (poolnr < MEMP_POOL_LAST) {\n      poolnr++;\n      goto again;\n    }\n#endif /* MEM_USE_POOLS_TRY_BIGGER_POOL */\n    return NULL;\n  }\n\n  /* save the pool number this element came from */\n  element->poolnr = poolnr;\n  /* and return a pointer to the memory directly after the struct memp_malloc_helper */\n  ret = (u8_t*)element + LWIP_MEM_ALIGN_SIZE(sizeof(struct memp_malloc_helper));\n\n  return ret;\n}\n\n/**\n * Free memory previously allocated by mem_malloc. Loads the pool number\n * and calls memp_free with that pool number to put the element back into\n * its pool\n *\n * @param rmem the memory element to free\n */\nvoid\nmem_free(void *rmem)\n{\n  struct memp_malloc_helper *hmem;\n\n  LWIP_ASSERT(\"rmem != NULL\", (rmem != NULL));\n  LWIP_ASSERT(\"rmem == MEM_ALIGN(rmem)\", (rmem == LWIP_MEM_ALIGN(rmem)));\n\n  /* get the original struct memp_malloc_helper */\n  hmem = (struct memp_malloc_helper*)(void*)((u8_t*)rmem - LWIP_MEM_ALIGN_SIZE(sizeof(struct memp_malloc_helper)));\n\n  LWIP_ASSERT(\"hmem != NULL\", (hmem != NULL));\n  LWIP_ASSERT(\"hmem == MEM_ALIGN(hmem)\", (hmem == LWIP_MEM_ALIGN(hmem)));\n  LWIP_ASSERT(\"hmem->poolnr < MEMP_MAX\", (hmem->poolnr < MEMP_MAX));\n\n  /* and put it in the pool we saved earlier */\n  memp_free(hmem->poolnr, hmem);\n}\n\n#else /* MEM_USE_POOLS */\n/* lwIP replacement for your libc malloc() */\n\n/**\n * The heap is made up as a list of structs of this type.\n * This does not have to be aligned since for getting its size,\n * we only use the macro SIZEOF_STRUCT_MEM, which automatically alignes.\n */\nstruct mem {\n  /** index (-> ram[next]) of the next struct */\n  mem_size_t next;\n  /** index (-> ram[prev]) of the previous struct */\n  mem_size_t prev;\n  /** 1: this area is used; 0: this area is unused */\n  u8_t used;\n};\n\n/** All allocated blocks will be MIN_SIZE bytes big, at least!\n * MIN_SIZE can be overridden to suit your needs. Smaller values save space,\n * larger values could prevent too small blocks to fragment the RAM too much. */\n#ifndef MIN_SIZE\n#define MIN_SIZE             12\n#endif /* MIN_SIZE */\n/* some alignment macros: we define them here for better source code layout */\n#define MIN_SIZE_ALIGNED     LWIP_MEM_ALIGN_SIZE(MIN_SIZE)\n#define SIZEOF_STRUCT_MEM    LWIP_MEM_ALIGN_SIZE(sizeof(struct mem))\n#define MEM_SIZE_ALIGNED     LWIP_MEM_ALIGN_SIZE(MEM_SIZE)\n\n/** If you want to relocate the heap to external memory, simply define\n * LWIP_RAM_HEAP_POINTER as a void-pointer to that location.\n * If so, make sure the memory at that location is big enough (see below on\n * how that space is calculated). */\n#ifndef LWIP_RAM_HEAP_POINTER\n/** the heap. we need one struct mem at the end and some room for alignment */\nu8_t ram_heap[MEM_SIZE_ALIGNED + (2*SIZEOF_STRUCT_MEM) + MEM_ALIGNMENT];\n#define LWIP_RAM_HEAP_POINTER ram_heap\n#endif /* LWIP_RAM_HEAP_POINTER */\n\n/** pointer to the heap (ram_heap): for alignment, ram is now a pointer instead of an array */\nstatic u8_t *ram;\n/** the last entry, always unused! */\nstatic struct mem *ram_end;\n/** pointer to the lowest free block, this is used for faster search */\nstatic struct mem *lfree;\n\n/** concurrent access protection */\n#if !NO_SYS\nstatic sys_mutex_t mem_mutex;\n#endif\n\n#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n\nstatic volatile u8_t mem_free_count;\n\n/* Allow mem_free from other (e.g. interrupt) context */\n#define LWIP_MEM_FREE_DECL_PROTECT()  SYS_ARCH_DECL_PROTECT(lev_free)\n#define LWIP_MEM_FREE_PROTECT()       SYS_ARCH_PROTECT(lev_free)\n#define LWIP_MEM_FREE_UNPROTECT()     SYS_ARCH_UNPROTECT(lev_free)\n#define LWIP_MEM_ALLOC_DECL_PROTECT() SYS_ARCH_DECL_PROTECT(lev_alloc)\n#define LWIP_MEM_ALLOC_PROTECT()      SYS_ARCH_PROTECT(lev_alloc)\n#define LWIP_MEM_ALLOC_UNPROTECT()    SYS_ARCH_UNPROTECT(lev_alloc)\n\n#else /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n\n/* Protect the heap only by using a semaphore */\n#define LWIP_MEM_FREE_DECL_PROTECT()\n#define LWIP_MEM_FREE_PROTECT()    sys_mutex_lock(&mem_mutex)\n#define LWIP_MEM_FREE_UNPROTECT()  sys_mutex_unlock(&mem_mutex)\n/* mem_malloc is protected using semaphore AND LWIP_MEM_ALLOC_PROTECT */\n#define LWIP_MEM_ALLOC_DECL_PROTECT()\n#define LWIP_MEM_ALLOC_PROTECT()\n#define LWIP_MEM_ALLOC_UNPROTECT()\n\n#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n\n\n/**\n * \"Plug holes\" by combining adjacent empty struct mems.\n * After this function is through, there should not exist\n * one empty struct mem pointing to another empty struct mem.\n *\n * @param mem this points to a struct mem which just has been freed\n * @internal this function is only called by mem_free() and mem_trim()\n *\n * This assumes access to the heap is protected by the calling function\n * already.\n */\nstatic void\nplug_holes(struct mem *mem)\n{\n  struct mem *nmem;\n  struct mem *pmem;\n\n  LWIP_ASSERT(\"plug_holes: mem >= ram\", (u8_t *)mem >= ram);\n  LWIP_ASSERT(\"plug_holes: mem < ram_end\", (u8_t *)mem < (u8_t *)ram_end);\n  LWIP_ASSERT(\"plug_holes: mem->used == 0\", mem->used == 0);\n\n  /* plug hole forward */\n  LWIP_ASSERT(\"plug_holes: mem->next <= MEM_SIZE_ALIGNED\", mem->next <= MEM_SIZE_ALIGNED);\n\n  nmem = (struct mem *)(void *)&ram[mem->next];\n  if (mem != nmem && nmem->used == 0 && (u8_t *)nmem != (u8_t *)ram_end) {\n    /* if mem->next is unused and not end of ram, combine mem and mem->next */\n    if (lfree == nmem) {\n      lfree = mem;\n    }\n    mem->next = nmem->next;\n    ((struct mem *)(void *)&ram[nmem->next])->prev = (mem_size_t)((u8_t *)mem - ram);\n  }\n\n  /* plug hole backward */\n  pmem = (struct mem *)(void *)&ram[mem->prev];\n  if (pmem != mem && pmem->used == 0) {\n    /* if mem->prev is unused, combine mem and mem->prev */\n    if (lfree == mem) {\n      lfree = pmem;\n    }\n    pmem->next = mem->next;\n    ((struct mem *)(void *)&ram[mem->next])->prev = (mem_size_t)((u8_t *)pmem - ram);\n  }\n}\n\n/**\n * Zero the heap and initialize start, end and lowest-free\n */\nvoid\nmem_init(void)\n{\n  struct mem *mem;\n\n  LWIP_ASSERT(\"Sanity check alignment\",\n    (SIZEOF_STRUCT_MEM & (MEM_ALIGNMENT-1)) == 0);\n\n  /* align the heap */\n  ram = (u8_t *)LWIP_MEM_ALIGN(LWIP_RAM_HEAP_POINTER);\n  /* initialize the start of the heap */\n  mem = (struct mem *)(void *)ram;\n  mem->next = MEM_SIZE_ALIGNED;\n  mem->prev = 0;\n  mem->used = 0;\n  /* initialize the end of the heap */\n  ram_end = (struct mem *)(void *)&ram[MEM_SIZE_ALIGNED];\n  ram_end->used = 1;\n  ram_end->next = MEM_SIZE_ALIGNED;\n  ram_end->prev = MEM_SIZE_ALIGNED;\n\n  /* initialize the lowest-free pointer to the start of the heap */\n  lfree = (struct mem *)(void *)ram;\n\n  MEM_STATS_AVAIL(avail, MEM_SIZE_ALIGNED);\n\n  if(sys_mutex_new(&mem_mutex) != ERR_OK) {\n    LWIP_ASSERT(\"failed to create mem_mutex\", 0);\n  }\n}\n\n/**\n * Put a struct mem back on the heap\n *\n * @param rmem is the data portion of a struct mem as returned by a previous\n *             call to mem_malloc()\n */\nvoid\nmem_free(void *rmem)\n{\n  struct mem *mem;\n  LWIP_MEM_FREE_DECL_PROTECT();\n\n  if (rmem == NULL) {\n    LWIP_DEBUGF(MEM_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"mem_free(p == NULL) was called.\\n\"));\n    return;\n  }\n  LWIP_ASSERT(\"mem_free: sanity check alignment\", (((mem_ptr_t)rmem) & (MEM_ALIGNMENT-1)) == 0);\n\n  LWIP_ASSERT(\"mem_free: legal memory\", (u8_t *)rmem >= (u8_t *)ram &&\n    (u8_t *)rmem < (u8_t *)ram_end);\n\n  if ((u8_t *)rmem < (u8_t *)ram || (u8_t *)rmem >= (u8_t *)ram_end) {\n    SYS_ARCH_DECL_PROTECT(lev);\n    LWIP_DEBUGF(MEM_DEBUG | LWIP_DBG_LEVEL_SEVERE, (\"mem_free: illegal memory\\n\"));\n    /* protect mem stats from concurrent access */\n    SYS_ARCH_PROTECT(lev);\n    MEM_STATS_INC(illegal);\n    SYS_ARCH_UNPROTECT(lev);\n    return;\n  }\n  /* protect the heap from concurrent access */\n  LWIP_MEM_FREE_PROTECT();\n  /* Get the corresponding struct mem ... */\n  mem = (struct mem *)(void *)((u8_t *)rmem - SIZEOF_STRUCT_MEM);\n  /* ... which has to be in a used state ... */\n  LWIP_ASSERT(\"mem_free: mem->used\", mem->used);\n  /* ... and is now unused. */\n  mem->used = 0;\n\n  if (mem < lfree) {\n    /* the newly freed struct is now the lowest */\n    lfree = mem;\n  }\n\n  MEM_STATS_DEC_USED(used, mem->next - (mem_size_t)(((u8_t *)mem - ram)));\n\n  /* finally, see if prev or next are free also */\n  plug_holes(mem);\n#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n  mem_free_count = 1;\n#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n  LWIP_MEM_FREE_UNPROTECT();\n}\n\n/**\n * Shrink memory returned by mem_malloc().\n *\n * @param rmem pointer to memory allocated by mem_malloc the is to be shrinked\n * @param newsize required size after shrinking (needs to be smaller than or\n *                equal to the previous size)\n * @return for compatibility reasons: is always == rmem, at the moment\n *         or NULL if newsize is > old size, in which case rmem is NOT touched\n *         or freed!\n */\nvoid *\nmem_trim(void *rmem, mem_size_t newsize)\n{\n  mem_size_t size;\n  mem_size_t ptr, ptr2;\n  struct mem *mem, *mem2;\n  /* use the FREE_PROTECT here: it protects with sem OR SYS_ARCH_PROTECT */\n  LWIP_MEM_FREE_DECL_PROTECT();\n\n  /* Expand the size of the allocated memory region so that we can\n     adjust for alignment. */\n  newsize = LWIP_MEM_ALIGN_SIZE(newsize);\n\n  if(newsize < MIN_SIZE_ALIGNED) {\n    /* every data block must be at least MIN_SIZE_ALIGNED long */\n    newsize = MIN_SIZE_ALIGNED;\n  }\n\n  if (newsize > MEM_SIZE_ALIGNED) {\n    return NULL;\n  }\n\n  LWIP_ASSERT(\"mem_trim: legal memory\", (u8_t *)rmem >= (u8_t *)ram &&\n   (u8_t *)rmem < (u8_t *)ram_end);\n\n  if ((u8_t *)rmem < (u8_t *)ram || (u8_t *)rmem >= (u8_t *)ram_end) {\n    SYS_ARCH_DECL_PROTECT(lev);\n    LWIP_DEBUGF(MEM_DEBUG | LWIP_DBG_LEVEL_SEVERE, (\"mem_trim: illegal memory\\n\"));\n    /* protect mem stats from concurrent access */\n    SYS_ARCH_PROTECT(lev);\n    MEM_STATS_INC(illegal);\n    SYS_ARCH_UNPROTECT(lev);\n    return rmem;\n  }\n  /* Get the corresponding struct mem ... */\n  mem = (struct mem *)(void *)((u8_t *)rmem - SIZEOF_STRUCT_MEM);\n  /* ... and its offset pointer */\n  ptr = (mem_size_t)((u8_t *)mem - ram);\n\n  size = mem->next - ptr - SIZEOF_STRUCT_MEM;\n  LWIP_ASSERT(\"mem_trim can only shrink memory\", newsize <= size);\n  if (newsize > size) {\n    /* not supported */\n    return NULL;\n  }\n  if (newsize == size) {\n    /* No change in size, simply return */\n    return rmem;\n  }\n\n  /* protect the heap from concurrent access */\n  LWIP_MEM_FREE_PROTECT();\n\n  mem2 = (struct mem *)(void *)&ram[mem->next];\n  if(mem2->used == 0) {\n    /* The next struct is unused, we can simply move it at little */\n    mem_size_t next;\n    /* remember the old next pointer */\n    next = mem2->next;\n    /* create new struct mem which is moved directly after the shrinked mem */\n    ptr2 = ptr + SIZEOF_STRUCT_MEM + newsize;\n    if (lfree == mem2) {\n      lfree = (struct mem *)(void *)&ram[ptr2];\n    }\n    mem2 = (struct mem *)(void *)&ram[ptr2];\n    mem2->used = 0;\n    /* restore the next pointer */\n    mem2->next = next;\n    /* link it back to mem */\n    mem2->prev = ptr;\n    /* link mem to it */\n    mem->next = ptr2;\n    /* last thing to restore linked list: as we have moved mem2,\n     * let 'mem2->next->prev' point to mem2 again. but only if mem2->next is not\n     * the end of the heap */\n    if (mem2->next != MEM_SIZE_ALIGNED) {\n      ((struct mem *)(void *)&ram[mem2->next])->prev = ptr2;\n    }\n    MEM_STATS_DEC_USED(used, (size - newsize));\n    /* no need to plug holes, we've already done that */\n  } else if (newsize + SIZEOF_STRUCT_MEM + MIN_SIZE_ALIGNED <= size) {\n    /* Next struct is used but there's room for another struct mem with\n     * at least MIN_SIZE_ALIGNED of data.\n     * Old size ('size') must be big enough to contain at least 'newsize' plus a struct mem\n     * ('SIZEOF_STRUCT_MEM') with some data ('MIN_SIZE_ALIGNED').\n     * @todo we could leave out MIN_SIZE_ALIGNED. We would create an empty\n     *       region that couldn't hold data, but when mem->next gets freed,\n     *       the 2 regions would be combined, resulting in more free memory */\n    ptr2 = ptr + SIZEOF_STRUCT_MEM + newsize;\n    mem2 = (struct mem *)(void *)&ram[ptr2];\n    if (mem2 < lfree) {\n      lfree = mem2;\n    }\n    mem2->used = 0;\n    mem2->next = mem->next;\n    mem2->prev = ptr;\n    mem->next = ptr2;\n    if (mem2->next != MEM_SIZE_ALIGNED) {\n      ((struct mem *)(void *)&ram[mem2->next])->prev = ptr2;\n    }\n    MEM_STATS_DEC_USED(used, (size - newsize));\n    /* the original mem->next is used, so no need to plug holes! */\n  }\n  /* else {\n    next struct mem is used but size between mem and mem2 is not big enough\n    to create another struct mem\n    -> don't do anyhting. \n    -> the remaining space stays unused since it is too small\n  } */\n#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n  mem_free_count = 1;\n#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n  LWIP_MEM_FREE_UNPROTECT();\n  return rmem;\n}\n\n/**\n * Adam's mem_malloc() plus solution for bug #17922\n * Allocate a block of memory with a minimum of 'size' bytes.\n *\n * @param size is the minimum size of the requested block in bytes.\n * @return pointer to allocated memory or NULL if no free memory was found.\n *\n * Note that the returned value will always be aligned (as defined by MEM_ALIGNMENT).\n */\nvoid *\nmem_malloc(mem_size_t size)\n{\n  mem_size_t ptr, ptr2;\n  struct mem *mem, *mem2;\n#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n  u8_t local_mem_free_count = 0;\n#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n  LWIP_MEM_ALLOC_DECL_PROTECT();\n\n  if (size == 0) {\n    return NULL;\n  }\n\n  /* Expand the size of the allocated memory region so that we can\n     adjust for alignment. */\n  size = LWIP_MEM_ALIGN_SIZE(size);\n\n  if(size < MIN_SIZE_ALIGNED) {\n    /* every data block must be at least MIN_SIZE_ALIGNED long */\n    size = MIN_SIZE_ALIGNED;\n  }\n\n  if (size > MEM_SIZE_ALIGNED) {\n    return NULL;\n  }\n\n  /* protect the heap from concurrent access */\n  sys_mutex_lock(&mem_mutex);\n  LWIP_MEM_ALLOC_PROTECT();\n#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n  /* run as long as a mem_free disturbed mem_malloc or mem_trim */\n  do {\n    local_mem_free_count = 0;\n#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n\n    /* Scan through the heap searching for a free block that is big enough,\n     * beginning with the lowest free block.\n     */\n    for (ptr = (mem_size_t)((u8_t *)lfree - ram); ptr < MEM_SIZE_ALIGNED - size;\n         ptr = ((struct mem *)(void *)&ram[ptr])->next) {\n      mem = (struct mem *)(void *)&ram[ptr];\n#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n      mem_free_count = 0;\n      LWIP_MEM_ALLOC_UNPROTECT();\n      /* allow mem_free or mem_trim to run */\n      LWIP_MEM_ALLOC_PROTECT();\n      if (mem_free_count != 0) {\n        /* If mem_free or mem_trim have run, we have to restart since they\n           could have altered our current struct mem. */\n        local_mem_free_count = 1;\n        break;\n      }\n#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n\n      if ((!mem->used) &&\n          (mem->next - (ptr + SIZEOF_STRUCT_MEM)) >= size) {\n        /* mem is not used and at least perfect fit is possible:\n         * mem->next - (ptr + SIZEOF_STRUCT_MEM) gives us the 'user data size' of mem */\n\n        if (mem->next - (ptr + SIZEOF_STRUCT_MEM) >= (size + SIZEOF_STRUCT_MEM + MIN_SIZE_ALIGNED)) {\n          /* (in addition to the above, we test if another struct mem (SIZEOF_STRUCT_MEM) containing\n           * at least MIN_SIZE_ALIGNED of data also fits in the 'user data space' of 'mem')\n           * -> split large block, create empty remainder,\n           * remainder must be large enough to contain MIN_SIZE_ALIGNED data: if\n           * mem->next - (ptr + (2*SIZEOF_STRUCT_MEM)) == size,\n           * struct mem would fit in but no data between mem2 and mem2->next\n           * @todo we could leave out MIN_SIZE_ALIGNED. We would create an empty\n           *       region that couldn't hold data, but when mem->next gets freed,\n           *       the 2 regions would be combined, resulting in more free memory\n           */\n          ptr2 = ptr + SIZEOF_STRUCT_MEM + size;\n          /* create mem2 struct */\n          mem2 = (struct mem *)(void *)&ram[ptr2];\n          mem2->used = 0;\n          mem2->next = mem->next;\n          mem2->prev = ptr;\n          /* and insert it between mem and mem->next */\n          mem->next = ptr2;\n          mem->used = 1;\n\n          if (mem2->next != MEM_SIZE_ALIGNED) {\n            ((struct mem *)(void *)&ram[mem2->next])->prev = ptr2;\n          }\n          MEM_STATS_INC_USED(used, (size + SIZEOF_STRUCT_MEM));\n        } else {\n          /* (a mem2 struct does no fit into the user data space of mem and mem->next will always\n           * be used at this point: if not we have 2 unused structs in a row, plug_holes should have\n           * take care of this).\n           * -> near fit or excact fit: do not split, no mem2 creation\n           * also can't move mem->next directly behind mem, since mem->next\n           * will always be used at this point!\n           */\n          mem->used = 1;\n          MEM_STATS_INC_USED(used, mem->next - (mem_size_t)((u8_t *)mem - ram));\n        }\n#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\nmem_malloc_adjust_lfree:\n#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n        if (mem == lfree) {\n          struct mem *cur = lfree;\n          /* Find next free block after mem and update lowest free pointer */\n          while (cur->used && cur != ram_end) {\n#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n            mem_free_count = 0;\n            LWIP_MEM_ALLOC_UNPROTECT();\n            /* prevent high interrupt latency... */\n            LWIP_MEM_ALLOC_PROTECT();\n            if (mem_free_count != 0) {\n              /* If mem_free or mem_trim have run, we have to restart since they\n                 could have altered our current struct mem or lfree. */\n              goto mem_malloc_adjust_lfree;\n            }\n#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n            cur = (struct mem *)(void *)&ram[cur->next];\n          }\n          lfree = cur;\n          LWIP_ASSERT(\"mem_malloc: !lfree->used\", ((lfree == ram_end) || (!lfree->used)));\n        }\n        LWIP_MEM_ALLOC_UNPROTECT();\n        sys_mutex_unlock(&mem_mutex);\n        LWIP_ASSERT(\"mem_malloc: allocated memory not above ram_end.\",\n         (mem_ptr_t)mem + SIZEOF_STRUCT_MEM + size <= (mem_ptr_t)ram_end);\n        LWIP_ASSERT(\"mem_malloc: allocated memory properly aligned.\",\n         ((mem_ptr_t)mem + SIZEOF_STRUCT_MEM) % MEM_ALIGNMENT == 0);\n        LWIP_ASSERT(\"mem_malloc: sanity check alignment\",\n          (((mem_ptr_t)mem) & (MEM_ALIGNMENT-1)) == 0);\n\n        return (u8_t *)mem + SIZEOF_STRUCT_MEM;\n      }\n    }\n#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT\n    /* if we got interrupted by a mem_free, try again */\n  } while(local_mem_free_count != 0);\n#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */\n  LWIP_DEBUGF(MEM_DEBUG | LWIP_DBG_LEVEL_SERIOUS, (\"mem_malloc: could not allocate %\"S16_F\" bytes\\n\", (s16_t)size));\n  MEM_STATS_INC(err);\n  LWIP_MEM_ALLOC_UNPROTECT();\n  sys_mutex_unlock(&mem_mutex);\n  return NULL;\n}\n\n#endif /* MEM_USE_POOLS */\n/**\n * Contiguously allocates enough space for count objects that are size bytes\n * of memory each and returns a pointer to the allocated memory.\n *\n * The allocated memory is filled with bytes of value zero.\n *\n * @param count number of objects to allocate\n * @param size size of the objects to allocate\n * @return pointer to allocated memory / NULL pointer if there is an error\n */\nvoid *mem_calloc(mem_size_t count, mem_size_t size)\n{\n  void *p;\n\n  /* allocate 'count' objects of size 'size' */\n  p = mem_malloc(count * size);\n  if (p) {\n    /* zero the memory */\n    memset(p, 0, count * size);\n  }\n  return p;\n}\n\n#endif /* !MEM_LIBC_MALLOC */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/memp.c",
    "content": "/**\n * @file\n * Dynamic pool memory manager\n *\n * lwIP has dedicated pools for many structures (netconn, protocol control blocks,\n * packet buffers, ...). All these pools are managed here.\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/memp.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/raw.h\"\n#include \"lwip/tcp_impl.h\"\n#include \"lwip/igmp.h\"\n#include \"lwip/api.h\"\n#include \"lwip/api_msg.h\"\n#include \"lwip/tcpip.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/timers.h\"\n#include \"lwip/stats.h\"\n#include \"netif/etharp.h\"\n#include \"lwip/ip_frag.h\"\n#include \"lwip/snmp_structs.h\"\n#include \"lwip/snmp_msg.h\"\n#include \"lwip/dns.h\"\n#include \"netif/ppp_oe.h\"\n\n#include <string.h>\n\n#if !MEMP_MEM_MALLOC /* don't build if not configured for use in lwipopts.h */\n\nstruct memp {\n  struct memp *next;\n#if MEMP_OVERFLOW_CHECK\n  const char *file;\n  int line;\n#endif /* MEMP_OVERFLOW_CHECK */\n};\n\n#if MEMP_OVERFLOW_CHECK\n/* if MEMP_OVERFLOW_CHECK is turned on, we reserve some bytes at the beginning\n * and at the end of each element, initialize them as 0xcd and check\n * them later. */\n/* If MEMP_OVERFLOW_CHECK is >= 2, on every call to memp_malloc or memp_free,\n * every single element in each pool is checked!\n * This is VERY SLOW but also very helpful. */\n/* MEMP_SANITY_REGION_BEFORE and MEMP_SANITY_REGION_AFTER can be overridden in\n * lwipopts.h to change the amount reserved for checking. */\n#ifndef MEMP_SANITY_REGION_BEFORE\n#define MEMP_SANITY_REGION_BEFORE  16\n#endif /* MEMP_SANITY_REGION_BEFORE*/\n#if MEMP_SANITY_REGION_BEFORE > 0\n#define MEMP_SANITY_REGION_BEFORE_ALIGNED    LWIP_MEM_ALIGN_SIZE(MEMP_SANITY_REGION_BEFORE)\n#else\n#define MEMP_SANITY_REGION_BEFORE_ALIGNED    0\n#endif /* MEMP_SANITY_REGION_BEFORE*/\n#ifndef MEMP_SANITY_REGION_AFTER\n#define MEMP_SANITY_REGION_AFTER   16\n#endif /* MEMP_SANITY_REGION_AFTER*/\n#if MEMP_SANITY_REGION_AFTER > 0\n#define MEMP_SANITY_REGION_AFTER_ALIGNED     LWIP_MEM_ALIGN_SIZE(MEMP_SANITY_REGION_AFTER)\n#else\n#define MEMP_SANITY_REGION_AFTER_ALIGNED     0\n#endif /* MEMP_SANITY_REGION_AFTER*/\n\n/* MEMP_SIZE: save space for struct memp and for sanity check */\n#define MEMP_SIZE          (LWIP_MEM_ALIGN_SIZE(sizeof(struct memp)) + MEMP_SANITY_REGION_BEFORE_ALIGNED)\n#define MEMP_ALIGN_SIZE(x) (LWIP_MEM_ALIGN_SIZE(x) + MEMP_SANITY_REGION_AFTER_ALIGNED)\n\n#else /* MEMP_OVERFLOW_CHECK */\n\n/* No sanity checks\n * We don't need to preserve the struct memp while not allocated, so we\n * can save a little space and set MEMP_SIZE to 0.\n */\n#define MEMP_SIZE           0\n#define MEMP_ALIGN_SIZE(x) (LWIP_MEM_ALIGN_SIZE(x))\n\n#endif /* MEMP_OVERFLOW_CHECK */\n\n/** This array holds the first free element of each pool.\n *  Elements form a linked list. */\nstatic struct memp *memp_tab[MEMP_MAX];\n\n#else /* MEMP_MEM_MALLOC */\n\n#define MEMP_ALIGN_SIZE(x) (LWIP_MEM_ALIGN_SIZE(x))\n\n#endif /* MEMP_MEM_MALLOC */\n\n/** This array holds the element sizes of each pool. */\n#if !MEM_USE_POOLS && !MEMP_MEM_MALLOC\nstatic\n#endif\nconst u16_t memp_sizes[MEMP_MAX] = {\n#define LWIP_MEMPOOL(name,num,size,desc)  LWIP_MEM_ALIGN_SIZE(size),\n#include \"lwip/memp_std.h\"\n};\n\n#if !MEMP_MEM_MALLOC /* don't build if not configured for use in lwipopts.h */\n\n/** This array holds the number of elements in each pool. */\nstatic const u16_t memp_num[MEMP_MAX] = {\n#define LWIP_MEMPOOL(name,num,size,desc)  (num),\n#include \"lwip/memp_std.h\"\n};\n\n/** This array holds a textual description of each pool. */\n#ifdef LWIP_DEBUG\nstatic const char *memp_desc[MEMP_MAX] = {\n#define LWIP_MEMPOOL(name,num,size,desc)  (desc),\n#include \"lwip/memp_std.h\"\n};\n#endif /* LWIP_DEBUG */\n\n#if MEMP_SEPARATE_POOLS\n\n/** This creates each memory pool. These are named memp_memory_XXX_base (where\n * XXX is the name of the pool defined in memp_std.h).\n * To relocate a pool, declare it as extern in cc.h. Example for GCC:\n *   extern u8_t __attribute__((section(\".onchip_mem\"))) memp_memory_UDP_PCB_base[];\n */\n#define LWIP_MEMPOOL(name,num,size,desc) u8_t memp_memory_ ## name ## _base \\\n  [((num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size)))];   \n#include \"lwip/memp_std.h\"\n\n/** This array holds the base of each memory pool. */\nstatic u8_t *const memp_bases[] = { \n#define LWIP_MEMPOOL(name,num,size,desc) memp_memory_ ## name ## _base,   \n#include \"lwip/memp_std.h\"\n};\n\n#else /* MEMP_SEPARATE_POOLS */\n\n/** This is the actual memory used by the pools (all pools in one big block). */\nstatic u8_t memp_memory[MEM_ALIGNMENT - 1 \n#define LWIP_MEMPOOL(name,num,size,desc) + ( (num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size) ) )\n#include \"lwip/memp_std.h\"\n];\n\n#endif /* MEMP_SEPARATE_POOLS */\n\n#if MEMP_SANITY_CHECK\n/**\n * Check that memp-lists don't form a circle, using \"Floyd's cycle-finding algorithm\".\n */\nstatic int\nmemp_sanity(void)\n{\n  s16_t i;\n  struct memp *t, *h;\n\n  for (i = 0; i < MEMP_MAX; i++) {\n    t = memp_tab[i];\n    if(t != NULL) {\n      for (h = t->next; (t != NULL) && (h != NULL); t = t->next,\n        h = (((h->next != NULL) && (h->next->next != NULL)) ? h->next->next : NULL)) {\n        if (t == h) {\n          return 0;\n        }\n      }\n    }\n  }\n  return 1;\n}\n#endif /* MEMP_SANITY_CHECK*/\n#if MEMP_OVERFLOW_CHECK\n#if defined(LWIP_DEBUG) && MEMP_STATS\nstatic const char * memp_overflow_names[] = {\n#define LWIP_MEMPOOL(name,num,size,desc) \"/\"desc,\n#include \"lwip/memp_std.h\"\n  };\n#endif\n\n/**\n * Check if a memp element was victim of an overflow\n * (e.g. the restricted area after it has been altered)\n *\n * @param p the memp element to check\n * @param memp_type the pool p comes from\n */\nstatic void\nmemp_overflow_check_element_overflow(struct memp *p, u16_t memp_type)\n{\n  u16_t k;\n  u8_t *m;\n#if MEMP_SANITY_REGION_AFTER_ALIGNED > 0\n  m = (u8_t*)p + MEMP_SIZE + memp_sizes[memp_type];\n  for (k = 0; k < MEMP_SANITY_REGION_AFTER_ALIGNED; k++) {\n    if (m[k] != 0xcd) {\n      char errstr[128] = \"detected memp overflow in pool \";\n      char digit[] = \"0\";\n      if(memp_type >= 10) {\n        digit[0] = '0' + (memp_type/10);\n        strcat(errstr, digit);\n      }\n      digit[0] = '0' + (memp_type%10);\n      strcat(errstr, digit);\n#if defined(LWIP_DEBUG) && MEMP_STATS\n      strcat(errstr, memp_overflow_names[memp_type]);\n#endif\n      LWIP_ASSERT(errstr, 0);\n    }\n  }\n#endif\n}\n\n/**\n * Check if a memp element was victim of an underflow\n * (e.g. the restricted area before it has been altered)\n *\n * @param p the memp element to check\n * @param memp_type the pool p comes from\n */\nstatic void\nmemp_overflow_check_element_underflow(struct memp *p, u16_t memp_type)\n{\n  u16_t k;\n  u8_t *m;\n#if MEMP_SANITY_REGION_BEFORE_ALIGNED > 0\n  m = (u8_t*)p + MEMP_SIZE - MEMP_SANITY_REGION_BEFORE_ALIGNED;\n  for (k = 0; k < MEMP_SANITY_REGION_BEFORE_ALIGNED; k++) {\n    if (m[k] != 0xcd) {\n      char errstr[128] = \"detected memp underflow in pool \";\n      char digit[] = \"0\";\n      if(memp_type >= 10) {\n        digit[0] = '0' + (memp_type/10);\n        strcat(errstr, digit);\n      }\n      digit[0] = '0' + (memp_type%10);\n      strcat(errstr, digit);\n#if defined(LWIP_DEBUG) && MEMP_STATS\n      strcat(errstr, memp_overflow_names[memp_type]);\n#endif\n      LWIP_ASSERT(errstr, 0);\n    }\n  }\n#endif\n}\n\n/**\n * Do an overflow check for all elements in every pool.\n *\n * @see memp_overflow_check_element for a description of the check\n */\nstatic void\nmemp_overflow_check_all(void)\n{\n  u16_t i, j;\n  struct memp *p;\n\n  p = (struct memp *)LWIP_MEM_ALIGN(memp_memory);\n  for (i = 0; i < MEMP_MAX; ++i) {\n    p = p;\n    for (j = 0; j < memp_num[i]; ++j) {\n      memp_overflow_check_element_overflow(p, i);\n      p = (struct memp*)((u8_t*)p + MEMP_SIZE + memp_sizes[i] + MEMP_SANITY_REGION_AFTER_ALIGNED);\n    }\n  }\n  p = (struct memp *)LWIP_MEM_ALIGN(memp_memory);\n  for (i = 0; i < MEMP_MAX; ++i) {\n    p = p;\n    for (j = 0; j < memp_num[i]; ++j) {\n      memp_overflow_check_element_underflow(p, i);\n      p = (struct memp*)((u8_t*)p + MEMP_SIZE + memp_sizes[i] + MEMP_SANITY_REGION_AFTER_ALIGNED);\n    }\n  }\n}\n\n/**\n * Initialize the restricted areas of all memp elements in every pool.\n */\nstatic void\nmemp_overflow_init(void)\n{\n  u16_t i, j;\n  struct memp *p;\n  u8_t *m;\n\n  p = (struct memp *)LWIP_MEM_ALIGN(memp_memory);\n  for (i = 0; i < MEMP_MAX; ++i) {\n    p = p;\n    for (j = 0; j < memp_num[i]; ++j) {\n#if MEMP_SANITY_REGION_BEFORE_ALIGNED > 0\n      m = (u8_t*)p + MEMP_SIZE - MEMP_SANITY_REGION_BEFORE_ALIGNED;\n      memset(m, 0xcd, MEMP_SANITY_REGION_BEFORE_ALIGNED);\n#endif\n#if MEMP_SANITY_REGION_AFTER_ALIGNED > 0\n      m = (u8_t*)p + MEMP_SIZE + memp_sizes[i];\n      memset(m, 0xcd, MEMP_SANITY_REGION_AFTER_ALIGNED);\n#endif\n      p = (struct memp*)((u8_t*)p + MEMP_SIZE + memp_sizes[i] + MEMP_SANITY_REGION_AFTER_ALIGNED);\n    }\n  }\n}\n#endif /* MEMP_OVERFLOW_CHECK */\n\n/**\n * Initialize this module.\n * \n * Carves out memp_memory into linked lists for each pool-type.\n */\nvoid\nmemp_init(void)\n{\n  struct memp *memp;\n  u16_t i, j;\n\n  for (i = 0; i < MEMP_MAX; ++i) {\n    MEMP_STATS_AVAIL(used, i, 0);\n    MEMP_STATS_AVAIL(max, i, 0);\n    MEMP_STATS_AVAIL(err, i, 0);\n    MEMP_STATS_AVAIL(avail, i, memp_num[i]);\n  }\n\n#if !MEMP_SEPARATE_POOLS\n  memp = (struct memp *)LWIP_MEM_ALIGN(memp_memory);\n#endif /* !MEMP_SEPARATE_POOLS */\n  /* for every pool: */\n  for (i = 0; i < MEMP_MAX; ++i) {\n    memp_tab[i] = NULL;\n#if MEMP_SEPARATE_POOLS\n    memp = (struct memp*)memp_bases[i];\n#endif /* MEMP_SEPARATE_POOLS */\n    /* create a linked list of memp elements */\n    for (j = 0; j < memp_num[i]; ++j) {\n      memp->next = memp_tab[i];\n      memp_tab[i] = memp;\n      memp = (struct memp *)(void *)((u8_t *)memp + MEMP_SIZE + memp_sizes[i]\n#if MEMP_OVERFLOW_CHECK\n        + MEMP_SANITY_REGION_AFTER_ALIGNED\n#endif\n      );\n    }\n  }\n#if MEMP_OVERFLOW_CHECK\n  memp_overflow_init();\n  /* check everything a first time to see if it worked */\n  memp_overflow_check_all();\n#endif /* MEMP_OVERFLOW_CHECK */\n}\n\n/**\n * Get an element from a specific pool.\n *\n * @param type the pool to get an element from\n *\n * the debug version has two more parameters:\n * @param file file name calling this function\n * @param line number of line where this function is called\n *\n * @return a pointer to the allocated memory or a NULL pointer on error\n */\nvoid *\n#if !MEMP_OVERFLOW_CHECK\nmemp_malloc(memp_t type)\n#else\nmemp_malloc_fn(memp_t type, const char* file, const int line)\n#endif\n{\n  struct memp *memp;\n  SYS_ARCH_DECL_PROTECT(old_level);\n \n  LWIP_ERROR(\"memp_malloc: type < MEMP_MAX\", (type < MEMP_MAX), return NULL;);\n\n  SYS_ARCH_PROTECT(old_level);\n#if MEMP_OVERFLOW_CHECK >= 2\n  memp_overflow_check_all();\n#endif /* MEMP_OVERFLOW_CHECK >= 2 */\n\n  memp = memp_tab[type];\n  \n  if (memp != NULL) {\n    memp_tab[type] = memp->next;\n#if MEMP_OVERFLOW_CHECK\n    memp->next = NULL;\n    memp->file = file;\n    memp->line = line;\n#endif /* MEMP_OVERFLOW_CHECK */\n    MEMP_STATS_INC_USED(used, type);\n    LWIP_ASSERT(\"memp_malloc: memp properly aligned\",\n                ((mem_ptr_t)memp % MEM_ALIGNMENT) == 0);\n    memp = (struct memp*)(void *)((u8_t*)memp + MEMP_SIZE);\n  } else {\n    LWIP_DEBUGF(MEMP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, (\"memp_malloc: out of memory in pool %s\\n\", memp_desc[type]));\n    MEMP_STATS_INC(err, type);\n  }\n\n  SYS_ARCH_UNPROTECT(old_level);\n\n  return memp;\n}\n\n/**\n * Put an element back into its pool.\n *\n * @param type the pool where to put mem\n * @param mem the memp element to free\n */\nvoid\nmemp_free(memp_t type, void *mem)\n{\n  struct memp *memp;\n  SYS_ARCH_DECL_PROTECT(old_level);\n\n  if (mem == NULL) {\n    return;\n  }\n  LWIP_ASSERT(\"memp_free: mem properly aligned\",\n                ((mem_ptr_t)mem % MEM_ALIGNMENT) == 0);\n\n  memp = (struct memp *)(void *)((u8_t*)mem - MEMP_SIZE);\n\n  SYS_ARCH_PROTECT(old_level);\n#if MEMP_OVERFLOW_CHECK\n#if MEMP_OVERFLOW_CHECK >= 2\n  memp_overflow_check_all();\n#else\n  memp_overflow_check_element_overflow(memp, type);\n  memp_overflow_check_element_underflow(memp, type);\n#endif /* MEMP_OVERFLOW_CHECK >= 2 */\n#endif /* MEMP_OVERFLOW_CHECK */\n\n  MEMP_STATS_DEC(used, type); \n  \n  memp->next = memp_tab[type]; \n  memp_tab[type] = memp;\n\n#if MEMP_SANITY_CHECK\n  LWIP_ASSERT(\"memp sanity\", memp_sanity());\n#endif /* MEMP_SANITY_CHECK */\n\n  SYS_ARCH_UNPROTECT(old_level);\n}\n\n#endif /* MEMP_MEM_MALLOC */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/netif.c",
    "content": "/**\n * @file\n * lwIP network interface abstraction\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/def.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/tcp_impl.h\"\n#include \"lwip/snmp.h\"\n#include \"lwip/igmp.h\"\n#include \"netif/etharp.h\"\n#include \"lwip/stats.h\"\n#if ENABLE_LOOPBACK\n#include \"lwip/sys.h\"\n#if LWIP_NETIF_LOOPBACK_MULTITHREADING\n#include \"lwip/tcpip.h\"\n#endif /* LWIP_NETIF_LOOPBACK_MULTITHREADING */\n#endif /* ENABLE_LOOPBACK */\n\n#if LWIP_AUTOIP\n#include \"lwip/autoip.h\"\n#endif /* LWIP_AUTOIP */\n#if LWIP_DHCP\n#include \"lwip/dhcp.h\"\n#endif /* LWIP_DHCP */\n\n#if LWIP_NETIF_STATUS_CALLBACK\n#define NETIF_STATUS_CALLBACK(n) do{ if (n->status_callback) { (n->status_callback)(n); }}while(0)\n#else\n#define NETIF_STATUS_CALLBACK(n)\n#endif /* LWIP_NETIF_STATUS_CALLBACK */ \n\n#if LWIP_NETIF_LINK_CALLBACK\n#define NETIF_LINK_CALLBACK(n) do{ if (n->link_callback) { (n->link_callback)(n); }}while(0)\n#else\n#define NETIF_LINK_CALLBACK(n)\n#endif /* LWIP_NETIF_LINK_CALLBACK */ \n\nstruct netif *netif_list;\nstruct netif *netif_default;\n\nstatic u8_t netif_num;\n\n#if LWIP_HAVE_LOOPIF\nstatic struct netif loop_netif;\n\n/**\n * Initialize a lwip network interface structure for a loopback interface\n *\n * @param netif the lwip network interface structure for this loopif\n * @return ERR_OK if the loopif is initialized\n *         ERR_MEM if private data couldn't be allocated\n */\nstatic err_t\nnetif_loopif_init(struct netif *netif)\n{\n  /* initialize the snmp variables and counters inside the struct netif\n   * ifSpeed: no assumption can be made!\n   */\n  NETIF_INIT_SNMP(netif, snmp_ifType_softwareLoopback, 0);\n\n  netif->name[0] = 'l';\n  netif->name[1] = 'o';\n  netif->output = netif_loop_output;\n  return ERR_OK;\n}\n#endif /* LWIP_HAVE_LOOPIF */\n\nvoid\nnetif_init(void)\n{\n#if LWIP_HAVE_LOOPIF\n  ip_addr_t loop_ipaddr, loop_netmask, loop_gw;\n  IP4_ADDR(&loop_gw, 127,0,0,1);\n  IP4_ADDR(&loop_ipaddr, 127,0,0,1);\n  IP4_ADDR(&loop_netmask, 255,0,0,0);\n\n#if NO_SYS\n  netif_add(&loop_netif, &loop_ipaddr, &loop_netmask, &loop_gw, NULL, netif_loopif_init, ip_input);\n#else  /* NO_SYS */\n  netif_add(&loop_netif, &loop_ipaddr, &loop_netmask, &loop_gw, NULL, netif_loopif_init, tcpip_input);\n#endif /* NO_SYS */\n  netif_set_up(&loop_netif);\n\n#endif /* LWIP_HAVE_LOOPIF */\n}\n\n/**\n * Add a network interface to the list of lwIP netifs.\n *\n * @param netif a pre-allocated netif structure\n * @param ipaddr IP address for the new netif\n * @param netmask network mask for the new netif\n * @param gw default gateway IP address for the new netif\n * @param state opaque data passed to the new netif\n * @param init callback function that initializes the interface\n * @param input callback function that is called to pass\n * ingress packets up in the protocol layer stack.\n *\n * @return netif, or NULL if failed.\n */\nstruct netif *\nnetif_add(struct netif *netif, ip_addr_t *ipaddr, ip_addr_t *netmask,\n  ip_addr_t *gw, void *state, netif_init_fn init, netif_input_fn input)\n{\n\n  LWIP_ASSERT(\"No init function given\", init != NULL);\n\n  /* reset new interface configuration state */\n  ip_addr_set_zero(&netif->ip_addr);\n  ip_addr_set_zero(&netif->netmask);\n  ip_addr_set_zero(&netif->gw);\n  netif->flags = 0;\n#if LWIP_DHCP\n  /* netif not under DHCP control by default */\n  netif->dhcp = NULL;\n#endif /* LWIP_DHCP */\n#if LWIP_AUTOIP\n  /* netif not under AutoIP control by default */\n  netif->autoip = NULL;\n#endif /* LWIP_AUTOIP */\n#if LWIP_NETIF_STATUS_CALLBACK\n  netif->status_callback = NULL;\n#endif /* LWIP_NETIF_STATUS_CALLBACK */\n#if LWIP_NETIF_LINK_CALLBACK\n  netif->link_callback = NULL;\n#endif /* LWIP_NETIF_LINK_CALLBACK */\n#if LWIP_IGMP\n  netif->igmp_mac_filter = NULL;\n#endif /* LWIP_IGMP */\n#if ENABLE_LOOPBACK\n  netif->loop_first = NULL;\n  netif->loop_last = NULL;\n#endif /* ENABLE_LOOPBACK */\n\n  /* remember netif specific state information data */\n  netif->state = state;\n  netif->num = netif_num++;\n  netif->input = input;\n  NETIF_SET_HWADDRHINT(netif, NULL);\n#if ENABLE_LOOPBACK && LWIP_LOOPBACK_MAX_PBUFS\n  netif->loop_cnt_current = 0;\n#endif /* ENABLE_LOOPBACK && LWIP_LOOPBACK_MAX_PBUFS */\n\n  netif_set_addr(netif, ipaddr, netmask, gw);\n\n  /* call user specified initialization function for netif */\n  if (init(netif) != ERR_OK) {\n    return NULL;\n  }\n\n  /* add this netif to the list */\n  netif->next = netif_list;\n  netif_list = netif;\n  snmp_inc_iflist();\n\n#if LWIP_IGMP\n  /* start IGMP processing */\n  if (netif->flags & NETIF_FLAG_IGMP) {\n    igmp_start(netif);\n  }\n#endif /* LWIP_IGMP */\n\n  LWIP_DEBUGF(NETIF_DEBUG, (\"netif: added interface %c%c IP addr \",\n    netif->name[0], netif->name[1]));\n  ip_addr_debug_print(NETIF_DEBUG, ipaddr);\n  LWIP_DEBUGF(NETIF_DEBUG, (\" netmask \"));\n  ip_addr_debug_print(NETIF_DEBUG, netmask);\n  LWIP_DEBUGF(NETIF_DEBUG, (\" gw \"));\n  ip_addr_debug_print(NETIF_DEBUG, gw);\n  LWIP_DEBUGF(NETIF_DEBUG, (\"\\n\"));\n  return netif;\n}\n\n/**\n * Change IP address configuration for a network interface (including netmask\n * and default gateway).\n *\n * @param netif the network interface to change\n * @param ipaddr the new IP address\n * @param netmask the new netmask\n * @param gw the new default gateway\n */\nvoid\nnetif_set_addr(struct netif *netif, ip_addr_t *ipaddr, ip_addr_t *netmask,\n    ip_addr_t *gw)\n{\n  netif_set_ipaddr(netif, ipaddr);\n  netif_set_netmask(netif, netmask);\n  netif_set_gw(netif, gw);\n}\n\n/**\n * Remove a network interface from the list of lwIP netifs.\n *\n * @param netif the network interface to remove\n */\nvoid\nnetif_remove(struct netif *netif)\n{\n  if (netif == NULL) {\n    return;\n  }\n\n#if LWIP_IGMP\n  /* stop IGMP processing */\n  if (netif->flags & NETIF_FLAG_IGMP) {\n    igmp_stop(netif);\n  }\n#endif /* LWIP_IGMP */\n  if (netif_is_up(netif)) {\n    /* set netif down before removing (call callback function) */\n    netif_set_down(netif);\n  }\n\n  snmp_delete_ipaddridx_tree(netif);\n\n  /*  is it the first netif? */\n  if (netif_list == netif) {\n    netif_list = netif->next;\n  } else {\n    /*  look for netif further down the list */\n    struct netif * tmpNetif;\n    for (tmpNetif = netif_list; tmpNetif != NULL; tmpNetif = tmpNetif->next) {\n      if (tmpNetif->next == netif) {\n        tmpNetif->next = netif->next;\n        break;\n      }\n    }\n    if (tmpNetif == NULL)\n      return; /*  we didn't find any netif today */\n  }\n  snmp_dec_iflist();\n  /* this netif is default? */\n  if (netif_default == netif) {\n    /* reset default netif */\n    netif_set_default(NULL);\n  }\n#if LWIP_NETIF_REMOVE_CALLBACK\n  if (netif->remove_callback) {\n    netif->remove_callback(netif);\n  }\n#endif /* LWIP_NETIF_REMOVE_CALLBACK */\n  LWIP_DEBUGF( NETIF_DEBUG, (\"netif_remove: removed netif\\n\") );\n}\n\n/**\n * Find a network interface by searching for its name\n *\n * @param name the name of the netif (like netif->name) plus concatenated number\n * in ascii representation (e.g. 'en0')\n */\nstruct netif *\nnetif_find(char *name)\n{\n  struct netif *netif;\n  u8_t num;\n\n  if (name == NULL) {\n    return NULL;\n  }\n\n  num = name[2] - '0';\n\n  for(netif = netif_list; netif != NULL; netif = netif->next) {\n    if (num == netif->num &&\n       name[0] == netif->name[0] &&\n       name[1] == netif->name[1]) {\n      LWIP_DEBUGF(NETIF_DEBUG, (\"netif_find: found %c%c\\n\", name[0], name[1]));\n      return netif;\n    }\n  }\n  LWIP_DEBUGF(NETIF_DEBUG, (\"netif_find: didn't find %c%c\\n\", name[0], name[1]));\n  return NULL;\n}\n\n/**\n * Change the IP address of a network interface\n *\n * @param netif the network interface to change\n * @param ipaddr the new IP address\n *\n * @note call netif_set_addr() if you also want to change netmask and\n * default gateway\n */\nvoid\nnetif_set_ipaddr(struct netif *netif, ip_addr_t *ipaddr)\n{\n  /* TODO: Handling of obsolete pcbs */\n  /* See:  http://mail.gnu.org/archive/html/lwip-users/2003-03/msg00118.html */\n#if LWIP_TCP\n  struct tcp_pcb *pcb;\n  struct tcp_pcb_listen *lpcb;\n\n  /* address is actually being changed? */\n  if (ipaddr && (ip_addr_cmp(ipaddr, &(netif->ip_addr))) == 0) {\n    /* extern struct tcp_pcb *tcp_active_pcbs; defined by tcp.h */\n    LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_STATE, (\"netif_set_ipaddr: netif address being changed\\n\"));\n    pcb = tcp_active_pcbs;\n    while (pcb != NULL) {\n      /* PCB bound to current local interface address? */\n      if (ip_addr_cmp(&(pcb->local_ip), &(netif->ip_addr))\n#if LWIP_AUTOIP\n        /* connections to link-local addresses must persist (RFC3927 ch. 1.9) */\n        && !ip_addr_islinklocal(&(pcb->local_ip))\n#endif /* LWIP_AUTOIP */\n        ) {\n        /* this connection must be aborted */\n        struct tcp_pcb *next = pcb->next;\n        LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_STATE, (\"netif_set_ipaddr: aborting TCP pcb %p\\n\", (void *)pcb));\n        tcp_abort(pcb);\n        pcb = next;\n      } else {\n        pcb = pcb->next;\n      }\n    }\n    for (lpcb = tcp_listen_pcbs.listen_pcbs; lpcb != NULL; lpcb = lpcb->next) {\n      /* PCB bound to current local interface address? */\n      if ((!(ip_addr_isany(&(lpcb->local_ip)))) &&\n          (ip_addr_cmp(&(lpcb->local_ip), &(netif->ip_addr)))) {\n        /* The PCB is listening to the old ipaddr and\n         * is set to listen to the new one instead */\n        ip_addr_set(&(lpcb->local_ip), ipaddr);\n      }\n    }\n  }\n#endif\n  snmp_delete_ipaddridx_tree(netif);\n  snmp_delete_iprteidx_tree(0,netif);\n  /* set new IP address to netif */\n  ip_addr_set(&(netif->ip_addr), ipaddr);\n  snmp_insert_ipaddridx_tree(netif);\n  snmp_insert_iprteidx_tree(0,netif);\n\n  LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"netif: IP address of interface %c%c set to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n    netif->name[0], netif->name[1],\n    ip4_addr1_16(&netif->ip_addr),\n    ip4_addr2_16(&netif->ip_addr),\n    ip4_addr3_16(&netif->ip_addr),\n    ip4_addr4_16(&netif->ip_addr)));\n}\n\n/**\n * Change the default gateway for a network interface\n *\n * @param netif the network interface to change\n * @param gw the new default gateway\n *\n * @note call netif_set_addr() if you also want to change ip address and netmask\n */\nvoid\nnetif_set_gw(struct netif *netif, ip_addr_t *gw)\n{\n  ip_addr_set(&(netif->gw), gw);\n  LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"netif: GW address of interface %c%c set to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n    netif->name[0], netif->name[1],\n    ip4_addr1_16(&netif->gw),\n    ip4_addr2_16(&netif->gw),\n    ip4_addr3_16(&netif->gw),\n    ip4_addr4_16(&netif->gw)));\n}\n\n/**\n * Change the netmask of a network interface\n *\n * @param netif the network interface to change\n * @param netmask the new netmask\n *\n * @note call netif_set_addr() if you also want to change ip address and\n * default gateway\n */\nvoid\nnetif_set_netmask(struct netif *netif, ip_addr_t *netmask)\n{\n  snmp_delete_iprteidx_tree(0, netif);\n  /* set new netmask to netif */\n  ip_addr_set(&(netif->netmask), netmask);\n  snmp_insert_iprteidx_tree(0, netif);\n  LWIP_DEBUGF(NETIF_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, (\"netif: netmask of interface %c%c set to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n    netif->name[0], netif->name[1],\n    ip4_addr1_16(&netif->netmask),\n    ip4_addr2_16(&netif->netmask),\n    ip4_addr3_16(&netif->netmask),\n    ip4_addr4_16(&netif->netmask)));\n}\n\n/**\n * Set a network interface as the default network interface\n * (used to output all packets for which no specific route is found)\n *\n * @param netif the default network interface\n */\nvoid\nnetif_set_default(struct netif *netif)\n{\n  if (netif == NULL) {\n    /* remove default route */\n    snmp_delete_iprteidx_tree(1, netif);\n  } else {\n    /* install default route */\n    snmp_insert_iprteidx_tree(1, netif);\n  }\n  netif_default = netif;\n  LWIP_DEBUGF(NETIF_DEBUG, (\"netif: setting default interface %c%c\\n\",\n           netif ? netif->name[0] : '\\'', netif ? netif->name[1] : '\\''));\n}\n\n/**\n * Bring an interface up, available for processing\n * traffic.\n * \n * @note: Enabling DHCP on a down interface will make it come\n * up once configured.\n * \n * @see dhcp_start()\n */ \nvoid netif_set_up(struct netif *netif)\n{\n  if (!(netif->flags & NETIF_FLAG_UP)) {\n    netif->flags |= NETIF_FLAG_UP;\n    \n#if LWIP_SNMP\n    snmp_get_sysuptime(&netif->ts);\n#endif /* LWIP_SNMP */\n\n    NETIF_STATUS_CALLBACK(netif);\n\n    if (netif->flags & NETIF_FLAG_LINK_UP) {\n#if LWIP_ARP\n      /* For Ethernet network interfaces, we would like to send a \"gratuitous ARP\" */ \n      if (netif->flags & (NETIF_FLAG_ETHARP)) {\n        etharp_gratuitous(netif);\n      }\n#endif /* LWIP_ARP */\n\n#if LWIP_IGMP\n      /* resend IGMP memberships */\n      if (netif->flags & NETIF_FLAG_IGMP) {\n        igmp_report_groups( netif);\n      }\n#endif /* LWIP_IGMP */\n    }\n  }\n}\n\n/**\n * Bring an interface down, disabling any traffic processing.\n *\n * @note: Enabling DHCP on a down interface will make it come\n * up once configured.\n * \n * @see dhcp_start()\n */ \nvoid netif_set_down(struct netif *netif)\n{\n  if (netif->flags & NETIF_FLAG_UP) {\n    netif->flags &= ~NETIF_FLAG_UP;\n#if LWIP_SNMP\n    snmp_get_sysuptime(&netif->ts);\n#endif\n\n#if LWIP_ARP\n    if (netif->flags & NETIF_FLAG_ETHARP) {\n      etharp_cleanup_netif(netif);\n    }\n#endif /* LWIP_ARP */\n    NETIF_STATUS_CALLBACK(netif);\n  }\n}\n\n#if LWIP_NETIF_STATUS_CALLBACK\n/**\n * Set callback to be called when interface is brought up/down\n */\nvoid netif_set_status_callback(struct netif *netif, netif_status_callback_fn status_callback)\n{\n  if (netif) {\n    netif->status_callback = status_callback;\n  }\n}\n#endif /* LWIP_NETIF_STATUS_CALLBACK */\n\n#if LWIP_NETIF_REMOVE_CALLBACK\n/**\n * Set callback to be called when the interface has been removed\n */\nvoid\nnetif_set_remove_callback(struct netif *netif, netif_status_callback_fn remove_callback)\n{\n  if (netif) {\n    netif->remove_callback = remove_callback;\n  }\n}\n#endif /* LWIP_NETIF_REMOVE_CALLBACK */\n\n/**\n * Called by a driver when its link goes up\n */\nvoid netif_set_link_up(struct netif *netif )\n{\n  if (!(netif->flags & NETIF_FLAG_LINK_UP)) {\n    netif->flags |= NETIF_FLAG_LINK_UP;\n\n#if LWIP_DHCP\n    if (netif->dhcp) {\n      dhcp_network_changed(netif);\n    }\n#endif /* LWIP_DHCP */\n\n#if LWIP_AUTOIP\n    if (netif->autoip) {\n      autoip_network_changed(netif);\n    }\n#endif /* LWIP_AUTOIP */\n\n    if (netif->flags & NETIF_FLAG_UP) {\n#if LWIP_ARP\n      /* For Ethernet network interfaces, we would like to send a \"gratuitous ARP\" */ \n      if (netif->flags & NETIF_FLAG_ETHARP) {\n        etharp_gratuitous(netif);\n      }\n#endif /* LWIP_ARP */\n\n#if LWIP_IGMP\n      /* resend IGMP memberships */\n      if (netif->flags & NETIF_FLAG_IGMP) {\n        igmp_report_groups( netif);\n      }\n#endif /* LWIP_IGMP */\n    }\n    NETIF_LINK_CALLBACK(netif);\n  }\n}\n\n/**\n * Called by a driver when its link goes down\n */\nvoid netif_set_link_down(struct netif *netif )\n{\n  if (netif->flags & NETIF_FLAG_LINK_UP) {\n    netif->flags &= ~NETIF_FLAG_LINK_UP;\n    NETIF_LINK_CALLBACK(netif);\n  }\n}\n\n#if LWIP_NETIF_LINK_CALLBACK\n/**\n * Set callback to be called when link is brought up/down\n */\nvoid netif_set_link_callback(struct netif *netif, netif_status_callback_fn link_callback)\n{\n  if (netif) {\n    netif->link_callback = link_callback;\n  }\n}\n#endif /* LWIP_NETIF_LINK_CALLBACK */\n\n#if ENABLE_LOOPBACK\n/**\n * Send an IP packet to be received on the same netif (loopif-like).\n * The pbuf is simply copied and handed back to netif->input.\n * In multithreaded mode, this is done directly since netif->input must put\n * the packet on a queue.\n * In callback mode, the packet is put on an internal queue and is fed to\n * netif->input by netif_poll().\n *\n * @param netif the lwip network interface structure\n * @param p the (IP) packet to 'send'\n * @param ipaddr the ip address to send the packet to (not used)\n * @return ERR_OK if the packet has been sent\n *         ERR_MEM if the pbuf used to copy the packet couldn't be allocated\n */\nerr_t\nnetif_loop_output(struct netif *netif, struct pbuf *p,\n       ip_addr_t *ipaddr)\n{\n  struct pbuf *r;\n  err_t err;\n  struct pbuf *last;\n#if LWIP_LOOPBACK_MAX_PBUFS\n  u8_t clen = 0;\n#endif /* LWIP_LOOPBACK_MAX_PBUFS */\n  /* If we have a loopif, SNMP counters are adjusted for it,\n   * if not they are adjusted for 'netif'. */\n#if LWIP_SNMP\n#if LWIP_HAVE_LOOPIF\n  struct netif *stats_if = &loop_netif;\n#else /* LWIP_HAVE_LOOPIF */\n  struct netif *stats_if = netif;\n#endif /* LWIP_HAVE_LOOPIF */\n#endif /* LWIP_SNMP */\n  SYS_ARCH_DECL_PROTECT(lev);\n  LWIP_UNUSED_ARG(ipaddr);\n\n  /* Allocate a new pbuf */\n  r = pbuf_alloc(PBUF_LINK, p->tot_len, PBUF_RAM);\n  if (r == NULL) {\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.drop);\n    snmp_inc_ifoutdiscards(stats_if);\n    return ERR_MEM;\n  }\n#if LWIP_LOOPBACK_MAX_PBUFS\n  clen = pbuf_clen(r);\n  /* check for overflow or too many pbuf on queue */\n  if(((netif->loop_cnt_current + clen) < netif->loop_cnt_current) ||\n     ((netif->loop_cnt_current + clen) > LWIP_LOOPBACK_MAX_PBUFS)) {\n    pbuf_free(r);\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.drop);\n    snmp_inc_ifoutdiscards(stats_if);\n    return ERR_MEM;\n  }\n  netif->loop_cnt_current += clen;\n#endif /* LWIP_LOOPBACK_MAX_PBUFS */\n\n  /* Copy the whole pbuf queue p into the single pbuf r */\n  if ((err = pbuf_copy(r, p)) != ERR_OK) {\n    pbuf_free(r);\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.drop);\n    snmp_inc_ifoutdiscards(stats_if);\n    return err;\n  }\n\n  /* Put the packet on a linked list which gets emptied through calling\n     netif_poll(). */\n\n  /* let last point to the last pbuf in chain r */\n    for (last = r; last->next != NULL; last = last->next) {};\n\n  SYS_ARCH_PROTECT(lev);\n  if(netif->loop_first != NULL) {\n    LWIP_ASSERT(\"if first != NULL, last must also be != NULL\", netif->loop_last != NULL);\n    netif->loop_last->next = r;\n    netif->loop_last = last;\n  } else {\n    netif->loop_first = r;\n    netif->loop_last = last;\n  }\n  SYS_ARCH_UNPROTECT(lev);\n\n  LINK_STATS_INC(link.xmit);\n  snmp_add_ifoutoctets(stats_if, p->tot_len);\n  snmp_inc_ifoutucastpkts(stats_if);\n\n#if LWIP_NETIF_LOOPBACK_MULTITHREADING\n  /* For multithreading environment, schedule a call to netif_poll */\n  tcpip_callback((tcpip_callback_fn)netif_poll, netif);\n#endif /* LWIP_NETIF_LOOPBACK_MULTITHREADING */\n\n  return ERR_OK;\n}\n\n/**\n * Call netif_poll() in the main loop of your application. This is to prevent\n * reentering non-reentrant functions like tcp_input(). Packets passed to\n * netif_loop_output() are put on a list that is passed to netif->input() by\n * netif_poll().\n */\nvoid\nnetif_poll(struct netif *netif)\n{\n  struct pbuf *in;\n  /* If we have a loopif, SNMP counters are adjusted for it,\n   * if not they are adjusted for 'netif'. */\n#if LWIP_SNMP\n#if LWIP_HAVE_LOOPIF\n  struct netif *stats_if = &loop_netif;\n#else /* LWIP_HAVE_LOOPIF */\n  struct netif *stats_if = netif;\n#endif /* LWIP_HAVE_LOOPIF */\n#endif /* LWIP_SNMP */\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  do {\n    /* Get a packet from the list. With SYS_LIGHTWEIGHT_PROT=1, this is protected */\n    SYS_ARCH_PROTECT(lev);\n    in = netif->loop_first;\n    if (in != NULL) {\n      struct pbuf *in_end = in;\n#if LWIP_LOOPBACK_MAX_PBUFS\n      u8_t clen = pbuf_clen(in);\n      /* adjust the number of pbufs on queue */\n      LWIP_ASSERT(\"netif->loop_cnt_current underflow\",\n        ((netif->loop_cnt_current - clen) < netif->loop_cnt_current));\n      netif->loop_cnt_current -= clen;\n#endif /* LWIP_LOOPBACK_MAX_PBUFS */\n      while (in_end->len != in_end->tot_len) {\n        LWIP_ASSERT(\"bogus pbuf: len != tot_len but next == NULL!\", in_end->next != NULL);\n        in_end = in_end->next;\n      }\n      /* 'in_end' now points to the last pbuf from 'in' */\n      if (in_end == netif->loop_last) {\n        /* this was the last pbuf in the list */\n        netif->loop_first = netif->loop_last = NULL;\n      } else {\n        /* pop the pbuf off the list */\n        netif->loop_first = in_end->next;\n        LWIP_ASSERT(\"should not be null since first != last!\", netif->loop_first != NULL);\n      }\n      /* De-queue the pbuf from its successors on the 'loop_' list. */\n      in_end->next = NULL;\n    }\n    SYS_ARCH_UNPROTECT(lev);\n\n    if (in != NULL) {\n      LINK_STATS_INC(link.recv);\n      snmp_add_ifinoctets(stats_if, in->tot_len);\n      snmp_inc_ifinucastpkts(stats_if);\n      /* loopback packets are always IP packets! */\n      if (ip_input(in, netif) != ERR_OK) {\n        pbuf_free(in);\n      }\n      /* Don't reference the packet any more! */\n      in = NULL;\n    }\n  /* go on while there is a packet on the list */\n  } while (netif->loop_first != NULL);\n}\n\n#if !LWIP_NETIF_LOOPBACK_MULTITHREADING\n/**\n * Calls netif_poll() for every netif on the netif_list.\n */\nvoid\nnetif_poll_all(void)\n{\n  struct netif *netif = netif_list;\n  /* loop through netifs */\n  while (netif != NULL) {\n    netif_poll(netif);\n    /* proceed to next network interface */\n    netif = netif->next;\n  }\n}\n#endif /* !LWIP_NETIF_LOOPBACK_MULTITHREADING */\n#endif /* ENABLE_LOOPBACK */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/pbuf.c",
    "content": "/**\n * @file\n * Packet buffer management\n *\n * Packets are built from the pbuf data structure. It supports dynamic\n * memory allocation for packet contents or can reference externally\n * managed packet contents both in RAM and ROM. Quick allocation for\n * incoming packets is provided through pools with fixed sized pbufs.\n *\n * A packet may span over multiple pbufs, chained as a singly linked\n * list. This is called a \"pbuf chain\".\n *\n * Multiple packets may be queued, also using this singly linked list.\n * This is called a \"packet queue\".\n * \n * So, a packet queue consists of one or more pbuf chains, each of\n * which consist of one or more pbufs. CURRENTLY, PACKET QUEUES ARE\n * NOT SUPPORTED!!! Use helper structs to queue multiple packets.\n * \n * The differences between a pbuf chain and a packet queue are very\n * precise but subtle. \n *\n * The last pbuf of a packet has a ->tot_len field that equals the\n * ->len field. It can be found by traversing the list. If the last\n * pbuf of a packet has a ->next field other than NULL, more packets\n * are on the queue.\n *\n * Therefore, looping through a pbuf of a single packet, has an\n * loop end condition (tot_len == p->len), NOT (next == NULL).\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/stats.h\"\n#include \"lwip/def.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/sys.h\"\n#include \"arch/perf.h\"\n#if LWIP_TCP && TCP_QUEUE_OOSEQ\n#include \"lwip/tcp_impl.h\"\n#endif\n#if LWIP_CHECKSUM_ON_COPY\n#include \"lwip/inet_chksum.h\"\n#endif\n\n#include <string.h>\n\n#define SIZEOF_STRUCT_PBUF        LWIP_MEM_ALIGN_SIZE(sizeof(struct pbuf))\n/* Since the pool is created in memp, PBUF_POOL_BUFSIZE will be automatically\n   aligned there. Therefore, PBUF_POOL_BUFSIZE_ALIGNED can be used here. */\n#define PBUF_POOL_BUFSIZE_ALIGNED LWIP_MEM_ALIGN_SIZE(PBUF_POOL_BUFSIZE)\n\n#if !LWIP_TCP || !TCP_QUEUE_OOSEQ || !PBUF_POOL_FREE_OOSEQ\n#define PBUF_POOL_IS_EMPTY()\n#else /* !LWIP_TCP || !TCP_QUEUE_OOSEQ || !PBUF_POOL_FREE_OOSEQ */\n\n#if !NO_SYS\n#ifndef PBUF_POOL_FREE_OOSEQ_QUEUE_CALL\n#include \"lwip/tcpip.h\"\n#define PBUF_POOL_FREE_OOSEQ_QUEUE_CALL()  do { \\\n  if(tcpip_callback_with_block(pbuf_free_ooseq_callback, NULL, 0) != ERR_OK) { \\\n      SYS_ARCH_PROTECT(old_level); \\\n      pbuf_free_ooseq_pending = 0; \\\n      SYS_ARCH_UNPROTECT(old_level); \\\n  } } while(0)\n#endif /* PBUF_POOL_FREE_OOSEQ_QUEUE_CALL */\n#endif /* !NO_SYS */\n\nvolatile u8_t pbuf_free_ooseq_pending;\n#define PBUF_POOL_IS_EMPTY() pbuf_pool_is_empty()\n\n/**\n * Attempt to reclaim some memory from queued out-of-sequence TCP segments\n * if we run out of pool pbufs. It's better to give priority to new packets\n * if we're running out.\n *\n * This must be done in the correct thread context therefore this function\n * can only be used with NO_SYS=0 and through tcpip_callback.\n */\n#if !NO_SYS\nstatic\n#endif /* !NO_SYS */\nvoid\npbuf_free_ooseq(void)\n{\n  struct tcp_pcb* pcb;\n  SYS_ARCH_DECL_PROTECT(old_level);\n\n  SYS_ARCH_PROTECT(old_level);\n  pbuf_free_ooseq_pending = 0;\n  SYS_ARCH_UNPROTECT(old_level);\n\n  for (pcb = tcp_active_pcbs; NULL != pcb; pcb = pcb->next) {\n    if (NULL != pcb->ooseq) {\n      /** Free the ooseq pbufs of one PCB only */\n      LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_free_ooseq: freeing out-of-sequence pbufs\\n\"));\n      tcp_segs_free(pcb->ooseq);\n      pcb->ooseq = NULL;\n      return;\n    }\n  }\n}\n\n#if !NO_SYS\n/**\n * Just a callback function for tcpip_timeout() that calls pbuf_free_ooseq().\n */\nstatic void\npbuf_free_ooseq_callback(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n  pbuf_free_ooseq();\n}\n#endif /* !NO_SYS */\n\n/** Queue a call to pbuf_free_ooseq if not already queued. */\nstatic void\npbuf_pool_is_empty(void)\n{\n#ifndef PBUF_POOL_FREE_OOSEQ_QUEUE_CALL\n  SYS_ARCH_DECL_PROTECT(old_level);\n  SYS_ARCH_PROTECT(old_level);\n  pbuf_free_ooseq_pending = 1;\n  SYS_ARCH_UNPROTECT(old_level);\n#else /* PBUF_POOL_FREE_OOSEQ_QUEUE_CALL */\n  u8_t queued;\n  SYS_ARCH_DECL_PROTECT(old_level);\n  SYS_ARCH_PROTECT(old_level);\n  queued = pbuf_free_ooseq_pending;\n  pbuf_free_ooseq_pending = 1;\n  SYS_ARCH_UNPROTECT(old_level);\n\n  if(!queued) {\n    /* queue a call to pbuf_free_ooseq if not already queued */\n    PBUF_POOL_FREE_OOSEQ_QUEUE_CALL();\n  }\n#endif /* PBUF_POOL_FREE_OOSEQ_QUEUE_CALL */\n}\n#endif /* !LWIP_TCP || !TCP_QUEUE_OOSEQ || !PBUF_POOL_FREE_OOSEQ */\n\n/**\n * Allocates a pbuf of the given type (possibly a chain for PBUF_POOL type).\n *\n * The actual memory allocated for the pbuf is determined by the\n * layer at which the pbuf is allocated and the requested size\n * (from the size parameter).\n *\n * @param layer flag to define header size\n * @param length size of the pbuf's payload\n * @param type this parameter decides how and where the pbuf\n * should be allocated as follows:\n *\n * - PBUF_RAM: buffer memory for pbuf is allocated as one large\n *             chunk. This includes protocol headers as well.\n * - PBUF_ROM: no buffer memory is allocated for the pbuf, even for\n *             protocol headers. Additional headers must be prepended\n *             by allocating another pbuf and chain in to the front of\n *             the ROM pbuf. It is assumed that the memory used is really\n *             similar to ROM in that it is immutable and will not be\n *             changed. Memory which is dynamic should generally not\n *             be attached to PBUF_ROM pbufs. Use PBUF_REF instead.\n * - PBUF_REF: no buffer memory is allocated for the pbuf, even for\n *             protocol headers. It is assumed that the pbuf is only\n *             being used in a single thread. If the pbuf gets queued,\n *             then pbuf_take should be called to copy the buffer.\n * - PBUF_POOL: the pbuf is allocated as a pbuf chain, with pbufs from\n *              the pbuf pool that is allocated during pbuf_init().\n *\n * @return the allocated pbuf. If multiple pbufs where allocated, this\n * is the first pbuf of a pbuf chain.\n */\nstruct pbuf *\npbuf_alloc(pbuf_layer layer, u16_t length, pbuf_type type)\n{\n  struct pbuf *p, *q, *r;\n  u16_t offset;\n  s32_t rem_len; /* remaining length */\n  LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_alloc(length=%\"U16_F\")\\n\", length));\n\n  /* determine header offset */\n  switch (layer) {\n  case PBUF_TRANSPORT:\n    /* add room for transport (often TCP) layer header */\n    offset = PBUF_LINK_HLEN + PBUF_IP_HLEN + PBUF_TRANSPORT_HLEN;\n    break;\n  case PBUF_IP:\n    /* add room for IP layer header */\n    offset = PBUF_LINK_HLEN + PBUF_IP_HLEN;\n    break;\n  case PBUF_LINK:\n    /* add room for link layer header */\n    offset = PBUF_LINK_HLEN;\n    break;\n  case PBUF_RAW:\n    offset = 0;\n    break;\n  default:\n    LWIP_ASSERT(\"pbuf_alloc: bad pbuf layer\", 0);\n    return NULL;\n  }\n\n  switch (type) {\n  case PBUF_POOL:\n    /* allocate head of pbuf chain into p */\n    p = (struct pbuf *)memp_malloc(MEMP_PBUF_POOL);\n    LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_alloc: allocated pbuf %p\\n\", (void *)p));\n    if (p == NULL) {\n      PBUF_POOL_IS_EMPTY();\n      return NULL;\n    }\n    p->type = type;\n    p->next = NULL;\n\n    /* make the payload pointer point 'offset' bytes into pbuf data memory */\n    p->payload = LWIP_MEM_ALIGN((void *)((u8_t *)p + (SIZEOF_STRUCT_PBUF + offset)));\n    LWIP_ASSERT(\"pbuf_alloc: pbuf p->payload properly aligned\",\n            ((mem_ptr_t)p->payload % MEM_ALIGNMENT) == 0);\n    /* the total length of the pbuf chain is the requested size */\n    p->tot_len = length;\n    /* set the length of the first pbuf in the chain */\n    p->len = LWIP_MIN(length, PBUF_POOL_BUFSIZE_ALIGNED - LWIP_MEM_ALIGN_SIZE(offset));\n    LWIP_ASSERT(\"check p->payload + p->len does not overflow pbuf\",\n                ((u8_t*)p->payload + p->len <=\n                 (u8_t*)p + SIZEOF_STRUCT_PBUF + PBUF_POOL_BUFSIZE_ALIGNED));\n    LWIP_ASSERT(\"PBUF_POOL_BUFSIZE must be bigger than MEM_ALIGNMENT\",\n      (PBUF_POOL_BUFSIZE_ALIGNED - LWIP_MEM_ALIGN_SIZE(offset)) > 0 );\n    /* set reference count (needed here in case we fail) */\n    p->ref = 1;\n\n    /* now allocate the tail of the pbuf chain */\n\n    /* remember first pbuf for linkage in next iteration */\n    r = p;\n    /* remaining length to be allocated */\n    rem_len = length - p->len;\n    /* any remaining pbufs to be allocated? */\n    while (rem_len > 0) {\n      q = (struct pbuf *)memp_malloc(MEMP_PBUF_POOL);\n      if (q == NULL) {\n        PBUF_POOL_IS_EMPTY();\n        /* free chain so far allocated */\n        pbuf_free(p);\n        /* bail out unsuccesfully */\n        return NULL;\n      }\n      q->type = type;\n      q->flags = 0;\n      q->next = NULL;\n      /* make previous pbuf point to this pbuf */\n      r->next = q;\n      /* set total length of this pbuf and next in chain */\n      LWIP_ASSERT(\"rem_len < max_u16_t\", rem_len < 0xffff);\n      q->tot_len = (u16_t)rem_len;\n      /* this pbuf length is pool size, unless smaller sized tail */\n      q->len = LWIP_MIN((u16_t)rem_len, PBUF_POOL_BUFSIZE_ALIGNED);\n      q->payload = (void *)((u8_t *)q + SIZEOF_STRUCT_PBUF);\n      LWIP_ASSERT(\"pbuf_alloc: pbuf q->payload properly aligned\",\n              ((mem_ptr_t)q->payload % MEM_ALIGNMENT) == 0);\n      LWIP_ASSERT(\"check p->payload + p->len does not overflow pbuf\",\n                  ((u8_t*)p->payload + p->len <=\n                   (u8_t*)p + SIZEOF_STRUCT_PBUF + PBUF_POOL_BUFSIZE_ALIGNED));\n      q->ref = 1;\n      /* calculate remaining length to be allocated */\n      rem_len -= q->len;\n      /* remember this pbuf for linkage in next iteration */\n      r = q;\n    }\n    /* end of chain */\n    /*r->next = NULL;*/\n\n    break;\n  case PBUF_RAM:\n    /* If pbuf is to be allocated in RAM, allocate memory for it. */\n    p = (struct pbuf*)mem_malloc(LWIP_MEM_ALIGN_SIZE(SIZEOF_STRUCT_PBUF + offset) + LWIP_MEM_ALIGN_SIZE(length));\n    if (p == NULL) {\n      return NULL;\n    }\n    /* Set up internal structure of the pbuf. */\n    p->payload = LWIP_MEM_ALIGN((void *)((u8_t *)p + SIZEOF_STRUCT_PBUF + offset));\n    p->len = p->tot_len = length;\n    p->next = NULL;\n    p->type = type;\n\n    LWIP_ASSERT(\"pbuf_alloc: pbuf->payload properly aligned\",\n           ((mem_ptr_t)p->payload % MEM_ALIGNMENT) == 0);\n    break;\n  /* pbuf references existing (non-volatile static constant) ROM payload? */\n  case PBUF_ROM:\n  /* pbuf references existing (externally allocated) RAM payload? */\n  case PBUF_REF:\n    /* only allocate memory for the pbuf structure */\n    p = (struct pbuf *)memp_malloc(MEMP_PBUF);\n    if (p == NULL) {\n      LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_LEVEL_SERIOUS,\n                  (\"pbuf_alloc: Could not allocate MEMP_PBUF for PBUF_%s.\\n\",\n                  (type == PBUF_ROM) ? \"ROM\" : \"REF\"));\n      return NULL;\n    }\n    /* caller must set this field properly, afterwards */\n    p->payload = NULL;\n    p->len = p->tot_len = length;\n    p->next = NULL;\n    p->type = type;\n    break;\n  default:\n    LWIP_ASSERT(\"pbuf_alloc: erroneous type\", 0);\n    return NULL;\n  }\n  /* set reference count */\n  p->ref = 1;\n  /* set flags */\n  p->flags = 0;\n  LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_alloc(length=%\"U16_F\") == %p\\n\", length, (void *)p));\n  return p;\n}\n\n#if LWIP_SUPPORT_CUSTOM_PBUF\n/** Initialize a custom pbuf (already allocated).\n *\n * @param layer flag to define header size\n * @param length size of the pbuf's payload\n * @param type type of the pbuf (only used to treat the pbuf accordingly, as\n *        this function allocates no memory)\n * @param p pointer to the custom pbuf to initialize (already allocated)\n * @param payload_mem pointer to the buffer that is used for payload and headers,\n *        must be at least big enough to hold 'length' plus the header size,\n *        may be NULL if set later.\n *        ATTENTION: The caller is responsible for correct alignment of this buffer!!\n * @param payload_mem_len the size of the 'payload_mem' buffer, must be at least\n *        big enough to hold 'length' plus the header size\n */\nstruct pbuf*\npbuf_alloced_custom(pbuf_layer l, u16_t length, pbuf_type type, struct pbuf_custom *p,\n                    void *payload_mem, u16_t payload_mem_len)\n{\n  u16_t offset;\n  LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_alloced_custom(length=%\"U16_F\")\\n\", length));\n\n  /* determine header offset */\n  switch (l) {\n  case PBUF_TRANSPORT:\n    /* add room for transport (often TCP) layer header */\n    offset = PBUF_LINK_HLEN + PBUF_IP_HLEN + PBUF_TRANSPORT_HLEN;\n    break;\n  case PBUF_IP:\n    /* add room for IP layer header */\n    offset = PBUF_LINK_HLEN + PBUF_IP_HLEN;\n    break;\n  case PBUF_LINK:\n    /* add room for link layer header */\n    offset = PBUF_LINK_HLEN;\n    break;\n  case PBUF_RAW:\n    offset = 0;\n    break;\n  default:\n    LWIP_ASSERT(\"pbuf_alloced_custom: bad pbuf layer\", 0);\n    return NULL;\n  }\n\n  if (LWIP_MEM_ALIGN_SIZE(offset) + length > payload_mem_len) {\n    LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_LEVEL_WARNING, (\"pbuf_alloced_custom(length=%\"U16_F\") buffer too short\\n\", length));\n    return NULL;\n  }\n\n  p->pbuf.next = NULL;\n  if (payload_mem != NULL) {\n    p->pbuf.payload = (u8_t *)payload_mem + LWIP_MEM_ALIGN_SIZE(offset);\n  } else {\n    p->pbuf.payload = NULL;\n  }\n  p->pbuf.flags = PBUF_FLAG_IS_CUSTOM;\n  p->pbuf.len = p->pbuf.tot_len = length;\n  p->pbuf.type = type;\n  p->pbuf.ref = 1;\n  return &p->pbuf;\n}\n#endif /* LWIP_SUPPORT_CUSTOM_PBUF */\n\n/**\n * Shrink a pbuf chain to a desired length.\n *\n * @param p pbuf to shrink.\n * @param new_len desired new length of pbuf chain\n *\n * Depending on the desired length, the first few pbufs in a chain might\n * be skipped and left unchanged. The new last pbuf in the chain will be\n * resized, and any remaining pbufs will be freed.\n *\n * @note If the pbuf is ROM/REF, only the ->tot_len and ->len fields are adjusted.\n * @note May not be called on a packet queue.\n *\n * @note Despite its name, pbuf_realloc cannot grow the size of a pbuf (chain).\n */\nvoid\npbuf_realloc(struct pbuf *p, u16_t new_len)\n{\n  struct pbuf *q;\n  u16_t rem_len; /* remaining length */\n  s32_t grow;\n\n  LWIP_ASSERT(\"pbuf_realloc: p != NULL\", p != NULL);\n  LWIP_ASSERT(\"pbuf_realloc: sane p->type\", p->type == PBUF_POOL ||\n              p->type == PBUF_ROM ||\n              p->type == PBUF_RAM ||\n              p->type == PBUF_REF);\n\n  /* desired length larger than current length? */\n  if (new_len >= p->tot_len) {\n    /* enlarging not yet supported */\n    return;\n  }\n\n  /* the pbuf chain grows by (new_len - p->tot_len) bytes\n   * (which may be negative in case of shrinking) */\n  grow = new_len - p->tot_len;\n\n  /* first, step over any pbufs that should remain in the chain */\n  rem_len = new_len;\n  q = p;\n  /* should this pbuf be kept? */\n  while (rem_len > q->len) {\n    /* decrease remaining length by pbuf length */\n    rem_len -= q->len;\n    /* decrease total length indicator */\n    LWIP_ASSERT(\"grow < max_u16_t\", grow < 0xffff);\n    q->tot_len += (u16_t)grow;\n    /* proceed to next pbuf in chain */\n    q = q->next;\n    LWIP_ASSERT(\"pbuf_realloc: q != NULL\", q != NULL);\n  }\n  /* we have now reached the new last pbuf (in q) */\n  /* rem_len == desired length for pbuf q */\n\n  /* shrink allocated memory for PBUF_RAM */\n  /* (other types merely adjust their length fields */\n  if ((q->type == PBUF_RAM) && (rem_len != q->len)) {\n    /* reallocate and adjust the length of the pbuf that will be split */\n    q = (struct pbuf *)mem_trim(q, (u16_t)((u8_t *)q->payload - (u8_t *)q) + rem_len);\n    LWIP_ASSERT(\"mem_trim returned q == NULL\", q != NULL);\n  }\n  /* adjust length fields for new last pbuf */\n  q->len = rem_len;\n  q->tot_len = q->len;\n\n  /* any remaining pbufs in chain? */\n  if (q->next != NULL) {\n    /* free remaining pbufs in chain */\n    pbuf_free(q->next);\n  }\n  /* q is last packet in chain */\n  q->next = NULL;\n\n}\n\n/**\n * Adjusts the payload pointer to hide or reveal headers in the payload.\n *\n * Adjusts the ->payload pointer so that space for a header\n * (dis)appears in the pbuf payload.\n *\n * The ->payload, ->tot_len and ->len fields are adjusted.\n *\n * @param p pbuf to change the header size.\n * @param header_size_increment Number of bytes to increment header size which\n * increases the size of the pbuf. New space is on the front.\n * (Using a negative value decreases the header size.)\n * If hdr_size_inc is 0, this function does nothing and returns succesful.\n *\n * PBUF_ROM and PBUF_REF type buffers cannot have their sizes increased, so\n * the call will fail. A check is made that the increase in header size does\n * not move the payload pointer in front of the start of the buffer.\n * @return non-zero on failure, zero on success.\n *\n */\nu8_t\npbuf_header(struct pbuf *p, s16_t header_size_increment)\n{\n  u16_t type;\n  void *payload;\n  u16_t increment_magnitude;\n\n  LWIP_ASSERT(\"p != NULL\", p != NULL);\n  if ((header_size_increment == 0) || (p == NULL)) {\n    return 0;\n  }\n \n  if (header_size_increment < 0){\n    increment_magnitude = -header_size_increment;\n    /* Check that we aren't going to move off the end of the pbuf */\n    LWIP_ERROR(\"increment_magnitude <= p->len\", (increment_magnitude <= p->len), return 1;);\n  } else {\n    increment_magnitude = header_size_increment;\n#if 0\n    /* Can't assert these as some callers speculatively call\n         pbuf_header() to see if it's OK.  Will return 1 below instead. */\n    /* Check that we've got the correct type of pbuf to work with */\n    LWIP_ASSERT(\"p->type == PBUF_RAM || p->type == PBUF_POOL\", \n                p->type == PBUF_RAM || p->type == PBUF_POOL);\n    /* Check that we aren't going to move off the beginning of the pbuf */\n    LWIP_ASSERT(\"p->payload - increment_magnitude >= p + SIZEOF_STRUCT_PBUF\",\n                (u8_t *)p->payload - increment_magnitude >= (u8_t *)p + SIZEOF_STRUCT_PBUF);\n#endif\n  }\n\n  type = p->type;\n  /* remember current payload pointer */\n  payload = p->payload;\n\n  /* pbuf types containing payloads? */\n  if (type == PBUF_RAM || type == PBUF_POOL) {\n    /* set new payload pointer */\n    p->payload = (u8_t *)p->payload - header_size_increment;\n    /* boundary check fails? */\n    if ((u8_t *)p->payload < (u8_t *)p + SIZEOF_STRUCT_PBUF) {\n      LWIP_DEBUGF( PBUF_DEBUG | LWIP_DBG_LEVEL_SERIOUS,\n        (\"pbuf_header: failed as %p < %p (not enough space for new header size)\\n\",\n        (void *)p->payload, (void *)(p + 1)));\n      /* restore old payload pointer */\n      p->payload = payload;\n      /* bail out unsuccesfully */\n      return 1;\n    }\n  /* pbuf types refering to external payloads? */\n  } else if (type == PBUF_REF || type == PBUF_ROM) {\n    /* hide a header in the payload? */\n    if ((header_size_increment < 0) && (increment_magnitude <= p->len)) {\n      /* increase payload pointer */\n      p->payload = (u8_t *)p->payload - header_size_increment;\n    } else {\n      /* cannot expand payload to front (yet!)\n       * bail out unsuccesfully */\n      return 1;\n    }\n  } else {\n    /* Unknown type */\n    LWIP_ASSERT(\"bad pbuf type\", 0);\n    return 1;\n  }\n  /* modify pbuf length fields */\n  p->len += header_size_increment;\n  p->tot_len += header_size_increment;\n\n  LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_header: old %p new %p (%\"S16_F\")\\n\",\n    (void *)payload, (void *)p->payload, header_size_increment));\n\n  return 0;\n}\n\n/**\n * Dereference a pbuf chain or queue and deallocate any no-longer-used\n * pbufs at the head of this chain or queue.\n *\n * Decrements the pbuf reference count. If it reaches zero, the pbuf is\n * deallocated.\n *\n * For a pbuf chain, this is repeated for each pbuf in the chain,\n * up to the first pbuf which has a non-zero reference count after\n * decrementing. So, when all reference counts are one, the whole\n * chain is free'd.\n *\n * @param p The pbuf (chain) to be dereferenced.\n *\n * @return the number of pbufs that were de-allocated\n * from the head of the chain.\n *\n * @note MUST NOT be called on a packet queue (Not verified to work yet).\n * @note the reference counter of a pbuf equals the number of pointers\n * that refer to the pbuf (or into the pbuf).\n *\n * @internal examples:\n *\n * Assuming existing chains a->b->c with the following reference\n * counts, calling pbuf_free(a) results in:\n * \n * 1->2->3 becomes ...1->3\n * 3->3->3 becomes 2->3->3\n * 1->1->2 becomes ......1\n * 2->1->1 becomes 1->1->1\n * 1->1->1 becomes .......\n *\n */\nu8_t\npbuf_free(struct pbuf *p)\n{\n  u16_t type;\n  struct pbuf *q;\n  u8_t count;\n\n  if (p == NULL) {\n    LWIP_ASSERT(\"p != NULL\", p != NULL);\n    /* if assertions are disabled, proceed with debug output */\n    LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_LEVEL_SERIOUS,\n      (\"pbuf_free(p == NULL) was called.\\n\"));\n    return 0;\n  }\n  LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_free(%p)\\n\", (void *)p));\n\n  PERF_START;\n\n  LWIP_ASSERT(\"pbuf_free: sane type\",\n    p->type == PBUF_RAM || p->type == PBUF_ROM ||\n    p->type == PBUF_REF || p->type == PBUF_POOL);\n\n  count = 0;\n  /* de-allocate all consecutive pbufs from the head of the chain that\n   * obtain a zero reference count after decrementing*/\n  while (p != NULL) {\n    u16_t ref;\n    SYS_ARCH_DECL_PROTECT(old_level);\n    /* Since decrementing ref cannot be guaranteed to be a single machine operation\n     * we must protect it. We put the new ref into a local variable to prevent\n     * further protection. */\n    SYS_ARCH_PROTECT(old_level);\n    /* all pbufs in a chain are referenced at least once */\n    LWIP_ASSERT(\"pbuf_free: p->ref > 0\", p->ref > 0);\n    /* decrease reference count (number of pointers to pbuf) */\n    ref = --(p->ref);\n    SYS_ARCH_UNPROTECT(old_level);\n    /* this pbuf is no longer referenced to? */\n    if (ref == 0) {\n      /* remember next pbuf in chain for next iteration */\n      q = p->next;\n      LWIP_DEBUGF( PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_free: deallocating %p\\n\", (void *)p));\n      type = p->type;\n#if LWIP_SUPPORT_CUSTOM_PBUF\n      /* is this a custom pbuf? */\n      if ((p->flags & PBUF_FLAG_IS_CUSTOM) != 0) {\n        struct pbuf_custom *pc = (struct pbuf_custom*)p;\n        LWIP_ASSERT(\"pc->custom_free_function != NULL\", pc->custom_free_function != NULL);\n        pc->custom_free_function(p);\n      } else\n#endif /* LWIP_SUPPORT_CUSTOM_PBUF */\n      {\n        /* is this a pbuf from the pool? */\n        if (type == PBUF_POOL) {\n          memp_free(MEMP_PBUF_POOL, p);\n        /* is this a ROM or RAM referencing pbuf? */\n        } else if (type == PBUF_ROM || type == PBUF_REF) {\n          memp_free(MEMP_PBUF, p);\n        /* type == PBUF_RAM */\n        } else {\n          mem_free(p);\n        }\n      }\n      count++;\n      /* proceed to next pbuf */\n      p = q;\n    /* p->ref > 0, this pbuf is still referenced to */\n    /* (and so the remaining pbufs in chain as well) */\n    } else {\n      LWIP_DEBUGF( PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_free: %p has ref %\"U16_F\", ending here.\\n\", (void *)p, ref));\n      /* stop walking through the chain */\n      p = NULL;\n    }\n  }\n  PERF_STOP(\"pbuf_free\");\n  /* return number of de-allocated pbufs */\n  return count;\n}\n\n/**\n * Count number of pbufs in a chain\n *\n * @param p first pbuf of chain\n * @return the number of pbufs in a chain\n */\n\nu8_t\npbuf_clen(struct pbuf *p)\n{\n  u8_t len;\n\n  len = 0;\n  while (p != NULL) {\n    ++len;\n    p = p->next;\n  }\n  return len;\n}\n\n/**\n * Increment the reference count of the pbuf.\n *\n * @param p pbuf to increase reference counter of\n *\n */\nvoid\npbuf_ref(struct pbuf *p)\n{\n  SYS_ARCH_DECL_PROTECT(old_level);\n  /* pbuf given? */\n  if (p != NULL) {\n    SYS_ARCH_PROTECT(old_level);\n    ++(p->ref);\n    SYS_ARCH_UNPROTECT(old_level);\n  }\n}\n\n/**\n * Concatenate two pbufs (each may be a pbuf chain) and take over\n * the caller's reference of the tail pbuf.\n * \n * @note The caller MAY NOT reference the tail pbuf afterwards.\n * Use pbuf_chain() for that purpose.\n * \n * @see pbuf_chain()\n */\n\nvoid\npbuf_cat(struct pbuf *h, struct pbuf *t)\n{\n  struct pbuf *p;\n\n  LWIP_ERROR(\"(h != NULL) && (t != NULL) (programmer violates API)\",\n             ((h != NULL) && (t != NULL)), return;);\n\n  /* proceed to last pbuf of chain */\n  for (p = h; p->next != NULL; p = p->next) {\n    /* add total length of second chain to all totals of first chain */\n    p->tot_len += t->tot_len;\n  }\n  /* { p is last pbuf of first h chain, p->next == NULL } */\n  LWIP_ASSERT(\"p->tot_len == p->len (of last pbuf in chain)\", p->tot_len == p->len);\n  LWIP_ASSERT(\"p->next == NULL\", p->next == NULL);\n  /* add total length of second chain to last pbuf total of first chain */\n  p->tot_len += t->tot_len;\n  /* chain last pbuf of head (p) with first of tail (t) */\n  p->next = t;\n  /* p->next now references t, but the caller will drop its reference to t,\n   * so netto there is no change to the reference count of t.\n   */\n}\n\n/**\n * Chain two pbufs (or pbuf chains) together.\n * \n * The caller MUST call pbuf_free(t) once it has stopped\n * using it. Use pbuf_cat() instead if you no longer use t.\n * \n * @param h head pbuf (chain)\n * @param t tail pbuf (chain)\n * @note The pbufs MUST belong to the same packet.\n * @note MAY NOT be called on a packet queue.\n *\n * The ->tot_len fields of all pbufs of the head chain are adjusted.\n * The ->next field of the last pbuf of the head chain is adjusted.\n * The ->ref field of the first pbuf of the tail chain is adjusted.\n *\n */\nvoid\npbuf_chain(struct pbuf *h, struct pbuf *t)\n{\n  pbuf_cat(h, t);\n  /* t is now referenced by h */\n  pbuf_ref(t);\n  LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_chain: %p references %p\\n\", (void *)h, (void *)t));\n}\n\n/**\n * Dechains the first pbuf from its succeeding pbufs in the chain.\n *\n * Makes p->tot_len field equal to p->len.\n * @param p pbuf to dechain\n * @return remainder of the pbuf chain, or NULL if it was de-allocated.\n * @note May not be called on a packet queue.\n */\nstruct pbuf *\npbuf_dechain(struct pbuf *p)\n{\n  struct pbuf *q;\n  u8_t tail_gone = 1;\n  /* tail */\n  q = p->next;\n  /* pbuf has successor in chain? */\n  if (q != NULL) {\n    /* assert tot_len invariant: (p->tot_len == p->len + (p->next? p->next->tot_len: 0) */\n    LWIP_ASSERT(\"p->tot_len == p->len + q->tot_len\", q->tot_len == p->tot_len - p->len);\n    /* enforce invariant if assertion is disabled */\n    q->tot_len = p->tot_len - p->len;\n    /* decouple pbuf from remainder */\n    p->next = NULL;\n    /* total length of pbuf p is its own length only */\n    p->tot_len = p->len;\n    /* q is no longer referenced by p, free it */\n    LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_dechain: unreferencing %p\\n\", (void *)q));\n    tail_gone = pbuf_free(q);\n    if (tail_gone > 0) {\n      LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE,\n                  (\"pbuf_dechain: deallocated %p (as it is no longer referenced)\\n\", (void *)q));\n    }\n    /* return remaining tail or NULL if deallocated */\n  }\n  /* assert tot_len invariant: (p->tot_len == p->len + (p->next? p->next->tot_len: 0) */\n  LWIP_ASSERT(\"p->tot_len == p->len\", p->tot_len == p->len);\n  return ((tail_gone > 0) ? NULL : q);\n}\n\n/**\n *\n * Create PBUF_RAM copies of pbufs.\n *\n * Used to queue packets on behalf of the lwIP stack, such as\n * ARP based queueing.\n *\n * @note You MUST explicitly use p = pbuf_take(p);\n *\n * @note Only one packet is copied, no packet queue!\n *\n * @param p_to pbuf destination of the copy\n * @param p_from pbuf source of the copy\n *\n * @return ERR_OK if pbuf was copied\n *         ERR_ARG if one of the pbufs is NULL or p_to is not big\n *                 enough to hold p_from\n */\nerr_t\npbuf_copy(struct pbuf *p_to, struct pbuf *p_from)\n{\n  u16_t offset_to=0, offset_from=0, len;\n\n  LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_copy(%p, %p)\\n\",\n    (void*)p_to, (void*)p_from));\n\n  /* is the target big enough to hold the source? */\n  LWIP_ERROR(\"pbuf_copy: target not big enough to hold source\", ((p_to != NULL) &&\n             (p_from != NULL) && (p_to->tot_len >= p_from->tot_len)), return ERR_ARG;);\n\n  /* iterate through pbuf chain */\n  do\n  {\n    /* copy one part of the original chain */\n    if ((p_to->len - offset_to) >= (p_from->len - offset_from)) {\n      /* complete current p_from fits into current p_to */\n      len = p_from->len - offset_from;\n    } else {\n      /* current p_from does not fit into current p_to */\n      len = p_to->len - offset_to;\n    }\n    MEMCPY((u8_t*)p_to->payload + offset_to, (u8_t*)p_from->payload + offset_from, len);\n    offset_to += len;\n    offset_from += len;\n    LWIP_ASSERT(\"offset_to <= p_to->len\", offset_to <= p_to->len);\n    LWIP_ASSERT(\"offset_from <= p_from->len\", offset_from <= p_from->len);\n    if (offset_from >= p_from->len) {\n      /* on to next p_from (if any) */\n      offset_from = 0;\n      p_from = p_from->next;\n    }\n    if (offset_to == p_to->len) {\n      /* on to next p_to (if any) */\n      offset_to = 0;\n      p_to = p_to->next;\n      LWIP_ERROR(\"p_to != NULL\", (p_to != NULL) || (p_from == NULL) , return ERR_ARG;);\n    }\n\n    if((p_from != NULL) && (p_from->len == p_from->tot_len)) {\n      /* don't copy more than one packet! */\n      LWIP_ERROR(\"pbuf_copy() does not allow packet queues!\\n\",\n                 (p_from->next == NULL), return ERR_VAL;);\n    }\n    if((p_to != NULL) && (p_to->len == p_to->tot_len)) {\n      /* don't copy more than one packet! */\n      LWIP_ERROR(\"pbuf_copy() does not allow packet queues!\\n\",\n                  (p_to->next == NULL), return ERR_VAL;);\n    }\n  } while (p_from);\n  LWIP_DEBUGF(PBUF_DEBUG | LWIP_DBG_TRACE, (\"pbuf_copy: end of chain reached.\\n\"));\n  return ERR_OK;\n}\n\n/**\n * Copy (part of) the contents of a packet buffer\n * to an application supplied buffer.\n *\n * @param buf the pbuf from which to copy data\n * @param dataptr the application supplied buffer\n * @param len length of data to copy (dataptr must be big enough). No more \n * than buf->tot_len will be copied, irrespective of len\n * @param offset offset into the packet buffer from where to begin copying len bytes\n * @return the number of bytes copied, or 0 on failure\n */\nu16_t\npbuf_copy_partial(struct pbuf *buf, void *dataptr, u16_t len, u16_t offset)\n{\n  struct pbuf *p;\n  u16_t left;\n  u16_t buf_copy_len;\n  u16_t copied_total = 0;\n\n  LWIP_ERROR(\"pbuf_copy_partial: invalid buf\", (buf != NULL), return 0;);\n  LWIP_ERROR(\"pbuf_copy_partial: invalid dataptr\", (dataptr != NULL), return 0;);\n\n  left = 0;\n\n  if((buf == NULL) || (dataptr == NULL)) {\n    return 0;\n  }\n\n  /* Note some systems use byte copy if dataptr or one of the pbuf payload pointers are unaligned. */\n  for(p = buf; len != 0 && p != NULL; p = p->next) {\n    if ((offset != 0) && (offset >= p->len)) {\n      /* don't copy from this buffer -> on to the next */\n      offset -= p->len;\n    } else {\n      /* copy from this buffer. maybe only partially. */\n      buf_copy_len = p->len - offset;\n      if (buf_copy_len > len)\n          buf_copy_len = len;\n      /* copy the necessary parts of the buffer */\n      MEMCPY(&((char*)dataptr)[left], &((char*)p->payload)[offset], buf_copy_len);\n      copied_total += buf_copy_len;\n      left += buf_copy_len;\n      len -= buf_copy_len;\n      offset = 0;\n    }\n  }\n  return copied_total;\n}\n\n/**\n * Copy application supplied data into a pbuf.\n * This function can only be used to copy the equivalent of buf->tot_len data.\n *\n * @param buf pbuf to fill with data\n * @param dataptr application supplied data buffer\n * @param len length of the application supplied data buffer\n *\n * @return ERR_OK if successful, ERR_MEM if the pbuf is not big enough\n */\nerr_t\npbuf_take(struct pbuf *buf, const void *dataptr, u16_t len)\n{\n  struct pbuf *p;\n  u16_t buf_copy_len;\n  u16_t total_copy_len = len;\n  u16_t copied_total = 0;\n\n  LWIP_ERROR(\"pbuf_take: invalid buf\", (buf != NULL), return 0;);\n  LWIP_ERROR(\"pbuf_take: invalid dataptr\", (dataptr != NULL), return 0;);\n\n  if ((buf == NULL) || (dataptr == NULL) || (buf->tot_len < len)) {\n    return ERR_ARG;\n  }\n\n  /* Note some systems use byte copy if dataptr or one of the pbuf payload pointers are unaligned. */\n  for(p = buf; total_copy_len != 0; p = p->next) {\n    LWIP_ASSERT(\"pbuf_take: invalid pbuf\", p != NULL);\n    buf_copy_len = total_copy_len;\n    if (buf_copy_len > p->len) {\n      /* this pbuf cannot hold all remaining data */\n      buf_copy_len = p->len;\n    }\n    /* copy the necessary parts of the buffer */\n    MEMCPY(p->payload, &((char*)dataptr)[copied_total], buf_copy_len);\n    total_copy_len -= buf_copy_len;\n    copied_total += buf_copy_len;\n  }\n  LWIP_ASSERT(\"did not copy all data\", total_copy_len == 0 && copied_total == len);\n  return ERR_OK;\n}\n\n/**\n * Creates a single pbuf out of a queue of pbufs.\n *\n * @remark: Either the source pbuf 'p' is freed by this function or the original\n *          pbuf 'p' is returned, therefore the caller has to check the result!\n *\n * @param p the source pbuf\n * @param layer pbuf_layer of the new pbuf\n *\n * @return a new, single pbuf (p->next is NULL)\n *         or the old pbuf if allocation fails\n */\nstruct pbuf*\npbuf_coalesce(struct pbuf *p, pbuf_layer layer)\n{\n  struct pbuf *q;\n  err_t err;\n  if (p->next == NULL) {\n    return p;\n  }\n  q = pbuf_alloc(layer, p->tot_len, PBUF_RAM);\n  if (q == NULL) {\n    /* @todo: what do we do now? */\n    return p;\n  }\n  err = pbuf_copy(q, p);\n  LWIP_ASSERT(\"pbuf_copy failed\", err == ERR_OK);\n  pbuf_free(p);\n  return q;\n}\n\n#if LWIP_CHECKSUM_ON_COPY\n/**\n * Copies data into a single pbuf (*not* into a pbuf queue!) and updates\n * the checksum while copying\n *\n * @param p the pbuf to copy data into\n * @param start_offset offset of p->payload where to copy the data to\n * @param dataptr data to copy into the pbuf\n * @param len length of data to copy into the pbuf\n * @param chksum pointer to the checksum which is updated\n * @return ERR_OK if successful, another error if the data does not fit\n *         within the (first) pbuf (no pbuf queues!)\n */\nerr_t\npbuf_fill_chksum(struct pbuf *p, u16_t start_offset, const void *dataptr,\n                 u16_t len, u16_t *chksum)\n{\n  u32_t acc;\n  u16_t copy_chksum;\n  char *dst_ptr;\n  LWIP_ASSERT(\"p != NULL\", p != NULL);\n  LWIP_ASSERT(\"dataptr != NULL\", dataptr != NULL);\n  LWIP_ASSERT(\"chksum != NULL\", chksum != NULL);\n  LWIP_ASSERT(\"len != 0\", len != 0);\n\n  if ((start_offset >= p->len) || (start_offset + len > p->len)) {\n    return ERR_ARG;\n  }\n\n  dst_ptr = ((char*)p->payload) + start_offset;\n  copy_chksum = LWIP_CHKSUM_COPY(dst_ptr, dataptr, len);\n  if ((start_offset & 1) != 0) {\n    copy_chksum = SWAP_BYTES_IN_WORD(copy_chksum);\n  }\n  acc = *chksum;\n  acc += copy_chksum;\n  *chksum = FOLD_U32T(acc);\n  return ERR_OK;\n}\n#endif /* LWIP_CHECKSUM_ON_COPY */\n\n /** Get one byte from the specified position in a pbuf\n * WARNING: returns zero for offset >= p->tot_len\n *\n * @param p pbuf to parse\n * @param offset offset into p of the byte to return\n * @return byte at an offset into p OR ZERO IF 'offset' >= p->tot_len\n */\nu8_t\npbuf_get_at(struct pbuf* p, u16_t offset)\n{\n  u16_t copy_from = offset;\n  struct pbuf* q = p;\n\n  /* get the correct pbuf */\n  while ((q != NULL) && (q->len <= copy_from)) {\n    copy_from -= q->len;\n    q = q->next;\n  }\n  /* return requested data if pbuf is OK */\n  if ((q != NULL) && (q->len > copy_from)) {\n    return ((u8_t*)q->payload)[copy_from];\n  }\n  return 0;\n}\n\n/** Compare pbuf contents at specified offset with memory s2, both of length n\n *\n * @param p pbuf to compare\n * @param offset offset into p at wich to start comparing\n * @param s2 buffer to compare\n * @param n length of buffer to compare\n * @return zero if equal, nonzero otherwise\n *         (0xffff if p is too short, diffoffset+1 otherwise)\n */\nu16_t\npbuf_memcmp(struct pbuf* p, u16_t offset, const void* s2, u16_t n)\n{\n  u16_t start = offset;\n  struct pbuf* q = p;\n\n  /* get the correct pbuf */\n  while ((q != NULL) && (q->len <= start)) {\n    start -= q->len;\n    q = q->next;\n  }\n  /* return requested data if pbuf is OK */\n  if ((q != NULL) && (q->len > start)) {\n    u16_t i;\n    for(i = 0; i < n; i++) {\n      u8_t a = pbuf_get_at(q, start + i);\n      u8_t b = ((u8_t*)s2)[i];\n      if (a != b) {\n        return i+1;\n      }\n    }\n    return 0;\n  }\n  return 0xffff;\n}\n\n/** Find occurrence of mem (with length mem_len) in pbuf p, starting at offset\n * start_offset.\n *\n * @param p pbuf to search, maximum length is 0xFFFE since 0xFFFF is used as\n *        return value 'not found'\n * @param mem search for the contents of this buffer\n * @param mem_len length of 'mem'\n * @param start_offset offset into p at which to start searching\n * @return 0xFFFF if substr was not found in p or the index where it was found\n */\nu16_t\npbuf_memfind(struct pbuf* p, const void* mem, u16_t mem_len, u16_t start_offset)\n{\n  u16_t i;\n  u16_t max = p->tot_len - mem_len;\n  if (p->tot_len >= mem_len + start_offset) {\n    for(i = start_offset; i <= max; ) {\n      u16_t plus = pbuf_memcmp(p, i, mem, mem_len);\n      if (plus == 0) {\n        return i;\n      } else {\n        i += plus;\n      }\n    }\n  }\n  return 0xFFFF;\n}\n\n/** Find occurrence of substr with length substr_len in pbuf p, start at offset\n * start_offset\n * WARNING: in contrast to strstr(), this one does not stop at the first \\0 in\n * the pbuf/source string!\n *\n * @param p pbuf to search, maximum length is 0xFFFE since 0xFFFF is used as\n *        return value 'not found'\n * @param substr string to search for in p, maximum length is 0xFFFE\n * @return 0xFFFF if substr was not found in p or the index where it was found\n */\nu16_t\npbuf_strstr(struct pbuf* p, const char* substr)\n{\n  size_t substr_len;\n  if ((substr == NULL) || (substr[0] == 0) || (p->tot_len == 0xFFFF)) {\n    return 0xFFFF;\n  }\n  substr_len = strlen(substr);\n  if (substr_len >= 0xFFFF) {\n    return 0xFFFF;\n  }\n  return pbuf_memfind(p, substr, (u16_t)substr_len, 0);\n}\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/raw.c",
    "content": "/**\n * @file\n * Implementation of raw protocol PCBs for low-level handling of\n * different types of protocols besides (or overriding) those\n * already available in lwIP.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_RAW /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/def.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/raw.h\"\n#include \"lwip/stats.h\"\n#include \"arch/perf.h\"\n\n#include <string.h>\n\n/** The list of RAW PCBs */\nstatic struct raw_pcb *raw_pcbs;\n\n/**\n * Determine if in incoming IP packet is covered by a RAW PCB\n * and if so, pass it to a user-provided receive callback function.\n *\n * Given an incoming IP datagram (as a chain of pbufs) this function\n * finds a corresponding RAW PCB and calls the corresponding receive\n * callback function.\n *\n * @param p pbuf to be demultiplexed to a RAW PCB.\n * @param inp network interface on which the datagram was received.\n * @return - 1 if the packet has been eaten by a RAW PCB receive\n *           callback function. The caller MAY NOT not reference the\n *           packet any longer, and MAY NOT call pbuf_free().\n * @return - 0 if packet is not eaten (pbuf is still referenced by the\n *           caller).\n *\n */\nu8_t\nraw_input(struct pbuf *p, struct netif *inp)\n{\n  struct raw_pcb *pcb, *prev;\n  struct ip_hdr *iphdr;\n  s16_t proto;\n  u8_t eaten = 0;\n\n  LWIP_UNUSED_ARG(inp);\n\n  iphdr = (struct ip_hdr *)p->payload;\n  proto = IPH_PROTO(iphdr);\n\n  prev = NULL;\n  pcb = raw_pcbs;\n  /* loop through all raw pcbs until the packet is eaten by one */\n  /* this allows multiple pcbs to match against the packet by design */\n  while ((eaten == 0) && (pcb != NULL)) {\n    if ((pcb->protocol == proto) &&\n        (ip_addr_isany(&pcb->local_ip) ||\n         ip_addr_cmp(&(pcb->local_ip), &current_iphdr_dest))) {\n#if IP_SOF_BROADCAST_RECV\n      /* broadcast filter? */\n      if (ip_get_option(pcb, SOF_BROADCAST) || !ip_addr_isbroadcast(&current_iphdr_dest, inp))\n#endif /* IP_SOF_BROADCAST_RECV */\n      {\n        /* receive callback function available? */\n        if (pcb->recv != NULL) {\n          /* the receive callback function did not eat the packet? */\n          if (pcb->recv(pcb->recv_arg, pcb, p, ip_current_src_addr()) != 0) {\n            /* receive function ate the packet */\n            p = NULL;\n            eaten = 1;\n            if (prev != NULL) {\n            /* move the pcb to the front of raw_pcbs so that is\n               found faster next time */\n              prev->next = pcb->next;\n              pcb->next = raw_pcbs;\n              raw_pcbs = pcb;\n            }\n          }\n        }\n        /* no receive callback function was set for this raw PCB */\n      }\n      /* drop the packet */\n    }\n    prev = pcb;\n    pcb = pcb->next;\n  }\n  return eaten;\n}\n\n/**\n * Bind a RAW PCB.\n *\n * @param pcb RAW PCB to be bound with a local address ipaddr.\n * @param ipaddr local IP address to bind with. Use IP_ADDR_ANY to\n * bind to all local interfaces.\n *\n * @return lwIP error code.\n * - ERR_OK. Successful. No error occured.\n * - ERR_USE. The specified IP address is already bound to by\n * another RAW PCB.\n *\n * @see raw_disconnect()\n */\nerr_t\nraw_bind(struct raw_pcb *pcb, ip_addr_t *ipaddr)\n{\n  ip_addr_set(&pcb->local_ip, ipaddr);\n  return ERR_OK;\n}\n\n/**\n * Connect an RAW PCB. This function is required by upper layers\n * of lwip. Using the raw api you could use raw_sendto() instead\n *\n * This will associate the RAW PCB with the remote address.\n *\n * @param pcb RAW PCB to be connected with remote address ipaddr and port.\n * @param ipaddr remote IP address to connect with.\n *\n * @return lwIP error code\n *\n * @see raw_disconnect() and raw_sendto()\n */\nerr_t\nraw_connect(struct raw_pcb *pcb, ip_addr_t *ipaddr)\n{\n  ip_addr_set(&pcb->remote_ip, ipaddr);\n  return ERR_OK;\n}\n\n\n/**\n * Set the callback function for received packets that match the\n * raw PCB's protocol and binding. \n * \n * The callback function MUST either\n * - eat the packet by calling pbuf_free() and returning non-zero. The\n *   packet will not be passed to other raw PCBs or other protocol layers.\n * - not free the packet, and return zero. The packet will be matched\n *   against further PCBs and/or forwarded to another protocol layers.\n * \n * @return non-zero if the packet was free()d, zero if the packet remains\n * available for others.\n */\nvoid\nraw_recv(struct raw_pcb *pcb, raw_recv_fn recv, void *recv_arg)\n{\n  /* remember recv() callback and user data */\n  pcb->recv = recv;\n  pcb->recv_arg = recv_arg;\n}\n\n/**\n * Send the raw IP packet to the given address. Note that actually you cannot\n * modify the IP headers (this is inconsistent with the receive callback where\n * you actually get the IP headers), you can only specify the IP payload here.\n * It requires some more changes in lwIP. (there will be a raw_send() function\n * then.)\n *\n * @param pcb the raw pcb which to send\n * @param p the IP payload to send\n * @param ipaddr the destination address of the IP packet\n *\n */\nerr_t\nraw_sendto(struct raw_pcb *pcb, struct pbuf *p, ip_addr_t *ipaddr)\n{\n  err_t err;\n  struct netif *netif;\n  ip_addr_t *src_ip;\n  struct pbuf *q; /* q will be sent down the stack */\n  \n  LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_TRACE, (\"raw_sendto\\n\"));\n  \n  /* not enough space to add an IP header to first pbuf in given p chain? */\n  if (pbuf_header(p, IP_HLEN)) {\n    /* allocate header in new pbuf */\n    q = pbuf_alloc(PBUF_IP, 0, PBUF_RAM);\n    /* new header pbuf could not be allocated? */\n    if (q == NULL) {\n      LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"raw_sendto: could not allocate header\\n\"));\n      return ERR_MEM;\n    }\n    if (p->tot_len != 0) {\n      /* chain header q in front of given pbuf p */\n      pbuf_chain(q, p);\n    }\n    /* { first pbuf q points to header pbuf } */\n    LWIP_DEBUGF(RAW_DEBUG, (\"raw_sendto: added header pbuf %p before given pbuf %p\\n\", (void *)q, (void *)p));\n  }  else {\n    /* first pbuf q equals given pbuf */\n    q = p;\n    if(pbuf_header(q, -IP_HLEN)) {\n      LWIP_ASSERT(\"Can't restore header we just removed!\", 0);\n      return ERR_MEM;\n    }\n  }\n\n  if ((netif = ip_route(ipaddr)) == NULL) {\n    LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_LEVEL_WARNING, (\"raw_sendto: No route to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n      ip4_addr1_16(ipaddr), ip4_addr2_16(ipaddr), ip4_addr3_16(ipaddr), ip4_addr4_16(ipaddr)));\n    /* free any temporary header pbuf allocated by pbuf_header() */\n    if (q != p) {\n      pbuf_free(q);\n    }\n    return ERR_RTE;\n  }\n\n#if IP_SOF_BROADCAST\n  /* broadcast filter? */\n  if (!ip_get_option(pcb, SOF_BROADCAST) && ip_addr_isbroadcast(ipaddr, netif)) {\n    LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_LEVEL_WARNING, (\"raw_sendto: SOF_BROADCAST not enabled on pcb %p\\n\", (void *)pcb));\n    /* free any temporary header pbuf allocated by pbuf_header() */\n    if (q != p) {\n      pbuf_free(q);\n    }\n    return ERR_VAL;\n  }\n#endif /* IP_SOF_BROADCAST */\n\n  if (ip_addr_isany(&pcb->local_ip)) {\n    /* use outgoing network interface IP address as source address */\n    src_ip = &(netif->ip_addr);\n  } else {\n    /* use RAW PCB local IP address as source address */\n    src_ip = &(pcb->local_ip);\n  }\n\n  NETIF_SET_HWADDRHINT(netif, &pcb->addr_hint);\n  err = ip_output_if (q, src_ip, ipaddr, pcb->ttl, pcb->tos, pcb->protocol, netif);\n  NETIF_SET_HWADDRHINT(netif, NULL);\n\n  /* did we chain a header earlier? */\n  if (q != p) {\n    /* free the header */\n    pbuf_free(q);\n  }\n  return err;\n}\n\n/**\n * Send the raw IP packet to the address given by raw_connect()\n *\n * @param pcb the raw pcb which to send\n * @param p the IP payload to send\n *\n */\nerr_t\nraw_send(struct raw_pcb *pcb, struct pbuf *p)\n{\n  return raw_sendto(pcb, p, &pcb->remote_ip);\n}\n\n/**\n * Remove an RAW PCB.\n *\n * @param pcb RAW PCB to be removed. The PCB is removed from the list of\n * RAW PCB's and the data structure is freed from memory.\n *\n * @see raw_new()\n */\nvoid\nraw_remove(struct raw_pcb *pcb)\n{\n  struct raw_pcb *pcb2;\n  /* pcb to be removed is first in list? */\n  if (raw_pcbs == pcb) {\n    /* make list start at 2nd pcb */\n    raw_pcbs = raw_pcbs->next;\n    /* pcb not 1st in list */\n  } else {\n    for(pcb2 = raw_pcbs; pcb2 != NULL; pcb2 = pcb2->next) {\n      /* find pcb in raw_pcbs list */\n      if (pcb2->next != NULL && pcb2->next == pcb) {\n        /* remove pcb from list */\n        pcb2->next = pcb->next;\n      }\n    }\n  }\n  memp_free(MEMP_RAW_PCB, pcb);\n}\n\n/**\n * Create a RAW PCB.\n *\n * @return The RAW PCB which was created. NULL if the PCB data structure\n * could not be allocated.\n *\n * @param proto the protocol number of the IPs payload (e.g. IP_PROTO_ICMP)\n *\n * @see raw_remove()\n */\nstruct raw_pcb *\nraw_new(u8_t proto)\n{\n  struct raw_pcb *pcb;\n\n  LWIP_DEBUGF(RAW_DEBUG | LWIP_DBG_TRACE, (\"raw_new\\n\"));\n\n  pcb = (struct raw_pcb *)memp_malloc(MEMP_RAW_PCB);\n  /* could allocate RAW PCB? */\n  if (pcb != NULL) {\n    /* initialize PCB to all zeroes */\n    memset(pcb, 0, sizeof(struct raw_pcb));\n    pcb->protocol = proto;\n    pcb->ttl = RAW_TTL;\n    pcb->next = raw_pcbs;\n    raw_pcbs = pcb;\n  }\n  return pcb;\n}\n\n#endif /* LWIP_RAW */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/snmp/asn1_dec.c",
    "content": "/**\n * @file\n * Abstract Syntax Notation One (ISO 8824, 8825) decoding\n *\n * @todo not optimised (yet), favor correctness over speed, favor speed over size\n */\n\n/*\n * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Christiaan Simons <christiaan.simons@axon.tv>\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/snmp_asn1.h\"\n\n/**\n * Retrieves type field from incoming pbuf chain.\n *\n * @param p points to a pbuf holding an ASN1 coded type field\n * @param ofs points to the offset within the pbuf chain of the ASN1 coded type field\n * @param type return ASN1 type\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode\n */\nerr_t\nsnmp_asn1_dec_type(struct pbuf *p, u16_t ofs, u8_t *type)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n      *type = *msg_ptr;\n      return ERR_OK;\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Decodes length field from incoming pbuf chain into host length.\n *\n * @param p points to a pbuf holding an ASN1 coded length\n * @param ofs points to the offset within the pbuf chain of the ASN1 coded length\n * @param octets_used returns number of octets used by the length code\n * @param length return host order length, upto 64k\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode\n */\nerr_t\nsnmp_asn1_dec_length(struct pbuf *p, u16_t ofs, u8_t *octets_used, u16_t *length)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n\n      if (*msg_ptr < 0x80)\n      {\n        /* primitive definite length format */\n        *octets_used = 1;\n        *length = *msg_ptr;\n        return ERR_OK;\n      }\n      else if (*msg_ptr == 0x80)\n      {\n        /* constructed indefinite length format, termination with two zero octets */\n        u8_t zeros;\n        u8_t i;\n\n        *length = 0;\n        zeros = 0;\n        while (zeros != 2)\n        {\n          i = 2;\n          while (i > 0)\n          {\n            i--;\n            (*length) += 1;\n            ofs += 1;\n            if (ofs >= plen)\n            {\n              /* next octet in next pbuf */\n              p = p->next;\n              if (p == NULL) { return ERR_ARG; }\n              msg_ptr = (u8_t*)p->payload;\n              plen += p->len;\n            }\n            else\n            {\n              /* next octet in same pbuf */\n              msg_ptr++;\n            }\n            if (*msg_ptr == 0)\n            {\n              zeros++;\n              if (zeros == 2)\n              {\n                /* stop while (i > 0) */\n                i = 0;\n              }\n            }\n            else\n            {\n              zeros = 0;\n            }\n          }\n        }\n        *octets_used = 1;\n        return ERR_OK;\n      }\n      else if (*msg_ptr == 0x81)\n      {\n        /* constructed definite length format, one octet */\n        ofs += 1;\n        if (ofs >= plen)\n        {\n          /* next octet in next pbuf */\n          p = p->next;\n          if (p == NULL) { return ERR_ARG; }\n          msg_ptr = (u8_t*)p->payload;\n        }\n        else\n        {\n          /* next octet in same pbuf */\n          msg_ptr++;\n        }\n        *length = *msg_ptr;\n        *octets_used = 2;\n        return ERR_OK;\n      }\n      else if (*msg_ptr == 0x82)\n      {\n        u8_t i;\n\n        /* constructed definite length format, two octets */\n        i = 2;\n        while (i > 0)\n        {\n          i--;\n          ofs += 1;\n          if (ofs >= plen)\n          {\n            /* next octet in next pbuf */\n            p = p->next;\n            if (p == NULL) { return ERR_ARG; }\n            msg_ptr = (u8_t*)p->payload;\n            plen += p->len;\n          }\n          else\n          {\n            /* next octet in same pbuf */\n            msg_ptr++;\n          }\n          if (i == 0)\n          {\n            /* least significant length octet */\n            *length |= *msg_ptr;\n          }\n          else\n          {\n            /* most significant length octet */\n            *length = (*msg_ptr) << 8;\n          }\n        }\n        *octets_used = 3;\n        return ERR_OK;\n      }\n      else\n      {\n        /* constructed definite length format 3..127 octets, this is too big (>64k) */\n        /**  @todo: do we need to accept inefficient codings with many leading zero's? */\n        *octets_used = 1 + ((*msg_ptr) & 0x7f);\n        return ERR_ARG;\n      }\n    }\n    p = p->next;\n  }\n\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Decodes positive integer (counter, gauge, timeticks) into u32_t.\n *\n * @param p points to a pbuf holding an ASN1 coded integer\n * @param ofs points to the offset within the pbuf chain of the ASN1 coded integer\n * @param len length of the coded integer field\n * @param value return host order integer\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode\n *\n * @note ASN coded integers are _always_ signed. E.g. +0xFFFF is coded\n * as 0x00,0xFF,0xFF. Note the leading sign octet. A positive value\n * of 0xFFFFFFFF is preceded with 0x00 and the length is 5 octets!!\n */\nerr_t\nsnmp_asn1_dec_u32t(struct pbuf *p, u16_t ofs, u16_t len, u32_t *value)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n      if ((len > 0) && (len < 6))\n      {\n        /* start from zero */\n        *value = 0;\n        if (*msg_ptr & 0x80)\n        {\n          /* negative, expecting zero sign bit! */\n          return ERR_ARG;\n        }\n        else\n        {\n          /* positive */\n          if ((len > 1) && (*msg_ptr == 0))\n          {\n            /* skip leading \"sign byte\" octet 0x00 */\n            len--;\n            ofs += 1;\n            if (ofs >= plen)\n            {\n              /* next octet in next pbuf */\n              p = p->next;\n              if (p == NULL) { return ERR_ARG; }\n              msg_ptr = (u8_t*)p->payload;\n              plen += p->len;\n            }\n            else\n            {\n              /* next octet in same pbuf */\n              msg_ptr++;\n            }\n          }\n        }\n        /* OR octets with value */\n        while (len > 1)\n        {\n          len--;\n          *value |= *msg_ptr;\n          *value <<= 8;\n          ofs += 1;\n          if (ofs >= plen)\n          {\n            /* next octet in next pbuf */\n            p = p->next;\n            if (p == NULL) { return ERR_ARG; }\n            msg_ptr = (u8_t*)p->payload;\n            plen += p->len;\n          }\n          else\n          {\n            /* next octet in same pbuf */\n            msg_ptr++;\n          }\n        }\n        *value |= *msg_ptr;\n        return ERR_OK;\n      }\n      else\n      {\n        return ERR_ARG;\n      }\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Decodes integer into s32_t.\n *\n * @param p points to a pbuf holding an ASN1 coded integer\n * @param ofs points to the offset within the pbuf chain of the ASN1 coded integer\n * @param len length of the coded integer field\n * @param value return host order integer\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode\n *\n * @note ASN coded integers are _always_ signed!\n */\nerr_t\nsnmp_asn1_dec_s32t(struct pbuf *p, u16_t ofs, u16_t len, s32_t *value)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n#if BYTE_ORDER == LITTLE_ENDIAN\n  u8_t *lsb_ptr = (u8_t*)value;\n#endif\n#if BYTE_ORDER == BIG_ENDIAN\n  u8_t *lsb_ptr = (u8_t*)value + sizeof(s32_t) - 1;\n#endif\n  u8_t sign;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n      if ((len > 0) && (len < 5))\n      {\n        if (*msg_ptr & 0x80)\n        {\n          /* negative, start from -1 */\n          *value = -1;\n          sign = 1;\n        }\n        else\n        {\n          /* positive, start from 0 */\n          *value = 0;\n          sign = 0;\n        }\n        /* OR/AND octets with value */\n        while (len > 1)\n        {\n          len--;\n          if (sign)\n          {\n            *lsb_ptr &= *msg_ptr;\n            *value <<= 8;\n            *lsb_ptr |= 255;\n          }\n          else\n          {\n            *lsb_ptr |= *msg_ptr;\n            *value <<= 8;\n          }\n          ofs += 1;\n          if (ofs >= plen)\n          {\n            /* next octet in next pbuf */\n            p = p->next;\n            if (p == NULL) { return ERR_ARG; }\n            msg_ptr = (u8_t*)p->payload;\n            plen += p->len;\n          }\n          else\n          {\n            /* next octet in same pbuf */\n            msg_ptr++;\n          }\n        }\n        if (sign)\n        {\n          *lsb_ptr &= *msg_ptr;\n        }\n        else\n        {\n          *lsb_ptr |= *msg_ptr;\n        }\n        return ERR_OK;\n      }\n      else\n      {\n        return ERR_ARG;\n      }\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Decodes object identifier from incoming message into array of s32_t.\n *\n * @param p points to a pbuf holding an ASN1 coded object identifier\n * @param ofs points to the offset within the pbuf chain of the ASN1 coded object identifier\n * @param len length of the coded object identifier\n * @param oid return object identifier struct\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode\n */\nerr_t\nsnmp_asn1_dec_oid(struct pbuf *p, u16_t ofs, u16_t len, struct snmp_obj_id *oid)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n  s32_t *oid_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n\n      oid->len = 0;\n      oid_ptr = &oid->id[0];\n      if (len > 0)\n      {\n        /* first compressed octet */\n        if (*msg_ptr == 0x2B)\n        {\n          /* (most) common case 1.3 (iso.org) */\n          *oid_ptr = 1;\n          oid_ptr++;\n          *oid_ptr = 3;\n          oid_ptr++;\n        }\n        else if (*msg_ptr < 40)\n        {\n          *oid_ptr = 0;\n          oid_ptr++;\n          *oid_ptr = *msg_ptr;\n          oid_ptr++;\n        }\n        else if (*msg_ptr < 80)\n        {\n          *oid_ptr = 1;\n          oid_ptr++;\n          *oid_ptr = (*msg_ptr) - 40;\n          oid_ptr++;\n        }\n        else\n        {\n          *oid_ptr = 2;\n          oid_ptr++;\n          *oid_ptr = (*msg_ptr) - 80;\n          oid_ptr++;\n        }\n        oid->len = 2;\n      }\n      else\n      {\n        /* accepting zero length identifiers e.g. for\n           getnext operation. uncommon but valid */\n        return ERR_OK;\n      }\n      len--;\n      if (len > 0)\n      {\n        ofs += 1;\n        if (ofs >= plen)\n        {\n          /* next octet in next pbuf */\n          p = p->next;\n          if (p == NULL) { return ERR_ARG; }\n          msg_ptr = (u8_t*)p->payload;\n          plen += p->len;\n        }\n        else\n        {\n          /* next octet in same pbuf */\n          msg_ptr++;\n        }\n      }\n      while ((len > 0) && (oid->len < LWIP_SNMP_OBJ_ID_LEN))\n      {\n        /* sub-identifier uses multiple octets */\n        if (*msg_ptr & 0x80)\n        {\n          s32_t sub_id = 0;\n\n          while ((*msg_ptr & 0x80) && (len > 1))\n          {\n            len--;\n            sub_id = (sub_id << 7) + (*msg_ptr & ~0x80);\n            ofs += 1;\n            if (ofs >= plen)\n            {\n              /* next octet in next pbuf */\n              p = p->next;\n              if (p == NULL) { return ERR_ARG; }\n              msg_ptr = (u8_t*)p->payload;\n              plen += p->len;\n            }\n            else\n            {\n              /* next octet in same pbuf */\n              msg_ptr++;\n            }\n          }\n          if (!(*msg_ptr & 0x80) && (len > 0))\n          {\n            /* last octet sub-identifier */\n            len--;\n            sub_id = (sub_id << 7) + *msg_ptr;\n            *oid_ptr = sub_id;\n          }\n        }\n        else\n        {\n          /* !(*msg_ptr & 0x80) sub-identifier uses single octet */\n          len--;\n          *oid_ptr = *msg_ptr;\n        }\n        if (len > 0)\n        {\n          /* remaining oid bytes available ... */\n          ofs += 1;\n          if (ofs >= plen)\n          {\n            /* next octet in next pbuf */\n            p = p->next;\n            if (p == NULL) { return ERR_ARG; }\n            msg_ptr = (u8_t*)p->payload;\n            plen += p->len;\n          }\n          else\n          {\n            /* next octet in same pbuf */\n            msg_ptr++;\n          }\n        }\n        oid_ptr++;\n        oid->len++;\n      }\n      if (len == 0)\n      {\n        /* len == 0, end of oid */\n        return ERR_OK;\n      }\n      else\n      {\n        /* len > 0, oid->len == LWIP_SNMP_OBJ_ID_LEN or malformed encoding */\n        return ERR_ARG;\n      }\n\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Decodes (copies) raw data (ip-addresses, octet strings, opaque encoding)\n * from incoming message into array.\n *\n * @param p points to a pbuf holding an ASN1 coded raw data\n * @param ofs points to the offset within the pbuf chain of the ASN1 coded raw data\n * @param len length of the coded raw data (zero is valid, e.g. empty string!)\n * @param raw_len length of the raw return value\n * @param raw return raw bytes\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) decode\n */\nerr_t\nsnmp_asn1_dec_raw(struct pbuf *p, u16_t ofs, u16_t len, u16_t raw_len, u8_t *raw)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  if (len > 0)\n  {\n    plen = 0;\n    while (p != NULL)\n    {\n      base = plen;\n      plen += p->len;\n      if (ofs < plen)\n      {\n        msg_ptr = (u8_t*)p->payload;\n        msg_ptr += ofs - base;\n        if (raw_len >= len)\n        {\n          while (len > 1)\n          {\n            /* copy len - 1 octets */\n            len--;\n            *raw = *msg_ptr;\n            raw++;\n            ofs += 1;\n            if (ofs >= plen)\n            {\n              /* next octet in next pbuf */\n              p = p->next;\n              if (p == NULL) { return ERR_ARG; }\n              msg_ptr = (u8_t*)p->payload;\n              plen += p->len;\n            }\n            else\n            {\n              /* next octet in same pbuf */\n              msg_ptr++;\n            }\n          }\n          /* copy last octet */\n          *raw = *msg_ptr;\n          return ERR_OK;\n        }\n        else\n        {\n          /* raw_len < len, not enough dst space */\n          return ERR_ARG;\n        }\n      }\n      p = p->next;\n    }\n    /* p == NULL, ofs >= plen */\n    return ERR_ARG;\n  }\n  else\n  {\n    /* len == 0, empty string */\n    return ERR_OK;\n  }\n}\n\n#endif /* LWIP_SNMP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/snmp/asn1_enc.c",
    "content": "/**\n * @file\n * Abstract Syntax Notation One (ISO 8824, 8825) encoding\n *\n * @todo not optimised (yet), favor correctness over speed, favor speed over size\n */\n\n/*\n * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Christiaan Simons <christiaan.simons@axon.tv>\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/snmp_asn1.h\"\n\n/**\n * Returns octet count for length.\n *\n * @param length\n * @param octets_needed points to the return value\n */\nvoid\nsnmp_asn1_enc_length_cnt(u16_t length, u8_t *octets_needed)\n{\n  if (length < 0x80U)\n  {\n    *octets_needed = 1;\n  }\n  else if (length < 0x100U)\n  {\n    *octets_needed = 2;\n  }\n  else\n  {\n    *octets_needed = 3;\n  }\n}\n\n/**\n * Returns octet count for an u32_t.\n *\n * @param value\n * @param octets_needed points to the return value\n *\n * @note ASN coded integers are _always_ signed. E.g. +0xFFFF is coded\n * as 0x00,0xFF,0xFF. Note the leading sign octet. A positive value\n * of 0xFFFFFFFF is preceded with 0x00 and the length is 5 octets!!\n */\nvoid\nsnmp_asn1_enc_u32t_cnt(u32_t value, u16_t *octets_needed)\n{\n  if (value < 0x80UL)\n  {\n    *octets_needed = 1;\n  }\n  else if (value < 0x8000UL)\n  {\n    *octets_needed = 2;\n  }\n  else if (value < 0x800000UL)\n  {\n    *octets_needed = 3;\n  }\n  else if (value < 0x80000000UL)\n  {\n    *octets_needed = 4;\n  }\n  else\n  {\n    *octets_needed = 5;\n  }\n}\n\n/**\n * Returns octet count for an s32_t.\n *\n * @param value\n * @param octets_needed points to the return value\n *\n * @note ASN coded integers are _always_ signed.\n */\nvoid\nsnmp_asn1_enc_s32t_cnt(s32_t value, u16_t *octets_needed)\n{\n  if (value < 0)\n  {\n    value = ~value;\n  }\n  if (value < 0x80L)\n  {\n    *octets_needed = 1;\n  }\n  else if (value < 0x8000L)\n  {\n    *octets_needed = 2;\n  }\n  else if (value < 0x800000L)\n  {\n    *octets_needed = 3;\n  }\n  else\n  {\n    *octets_needed = 4;\n  }\n}\n\n/**\n * Returns octet count for an object identifier.\n *\n * @param ident_len object identifier array length\n * @param ident points to object identifier array\n * @param octets_needed points to the return value\n */\nvoid\nsnmp_asn1_enc_oid_cnt(u8_t ident_len, s32_t *ident, u16_t *octets_needed)\n{\n  s32_t sub_id;\n  u8_t cnt;\n\n  cnt = 0;\n  if (ident_len > 1)\n  {\n    /* compressed prefix in one octet */\n    cnt++;\n    ident_len -= 2;\n    ident += 2;\n  }\n  while(ident_len > 0)\n  {\n    ident_len--;\n    sub_id = *ident;\n\n    sub_id >>= 7;\n    cnt++;\n    while(sub_id > 0)\n    {\n      sub_id >>= 7;\n      cnt++;\n    }\n    ident++;\n  }\n  *octets_needed = cnt;\n}\n\n/**\n * Encodes ASN type field into a pbuf chained ASN1 msg.\n *\n * @param p points to output pbuf to encode value into\n * @param ofs points to the offset within the pbuf chain\n * @param type input ASN1 type\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) encode\n */\nerr_t\nsnmp_asn1_enc_type(struct pbuf *p, u16_t ofs, u8_t type)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n      *msg_ptr = type;\n      return ERR_OK;\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Encodes host order length field into a pbuf chained ASN1 msg.\n *\n * @param p points to output pbuf to encode length into\n * @param ofs points to the offset within the pbuf chain\n * @param length is the host order length to be encoded\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) encode\n */\nerr_t\nsnmp_asn1_enc_length(struct pbuf *p, u16_t ofs, u16_t length)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n\n      if (length < 0x80)\n      {\n        *msg_ptr = (u8_t)length;\n        return ERR_OK;\n      }\n      else if (length < 0x100)\n      {\n        *msg_ptr = 0x81;\n        ofs += 1;\n        if (ofs >= plen)\n        {\n          /* next octet in next pbuf */\n          p = p->next;\n          if (p == NULL) { return ERR_ARG; }\n          msg_ptr = (u8_t*)p->payload;\n        }\n        else\n        {\n          /* next octet in same pbuf */\n          msg_ptr++;\n        }\n        *msg_ptr = (u8_t)length;\n        return ERR_OK;\n      }\n      else\n      {\n        u8_t i;\n\n        /* length >= 0x100 && length <= 0xFFFF */\n        *msg_ptr = 0x82;\n        i = 2;\n        while (i > 0)\n        {\n          i--;\n          ofs += 1;\n          if (ofs >= plen)\n          {\n            /* next octet in next pbuf */\n            p = p->next;\n            if (p == NULL) { return ERR_ARG; }\n            msg_ptr = (u8_t*)p->payload;\n            plen += p->len;\n          }\n          else\n          {\n            /* next octet in same pbuf */\n            msg_ptr++;\n          }\n          if (i == 0)\n          {\n            /* least significant length octet */\n            *msg_ptr = (u8_t)length;\n          }\n          else\n          {\n            /* most significant length octet */\n            *msg_ptr = (u8_t)(length >> 8);\n          }\n        }\n        return ERR_OK;\n      }\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Encodes u32_t (counter, gauge, timeticks) into a pbuf chained ASN1 msg.\n *\n * @param p points to output pbuf to encode value into\n * @param ofs points to the offset within the pbuf chain\n * @param octets_needed encoding length (from snmp_asn1_enc_u32t_cnt())\n * @param value is the host order u32_t value to be encoded\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) encode\n *\n * @see snmp_asn1_enc_u32t_cnt()\n */\nerr_t\nsnmp_asn1_enc_u32t(struct pbuf *p, u16_t ofs, u16_t octets_needed, u32_t value)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n\n      if (octets_needed == 5)\n      {\n        /* not enough bits in 'value' add leading 0x00 */\n        octets_needed--;\n        *msg_ptr = 0x00;\n        ofs += 1;\n        if (ofs >= plen)\n        {\n          /* next octet in next pbuf */\n          p = p->next;\n          if (p == NULL) { return ERR_ARG; }\n          msg_ptr = (u8_t*)p->payload;\n          plen += p->len;\n        }\n        else\n        {\n          /* next octet in same pbuf */\n          msg_ptr++;\n        }\n      }\n      while (octets_needed > 1)\n      {\n        octets_needed--;\n        *msg_ptr = (u8_t)(value >> (octets_needed << 3));\n        ofs += 1;\n        if (ofs >= plen)\n        {\n          /* next octet in next pbuf */\n          p = p->next;\n          if (p == NULL) { return ERR_ARG; }\n          msg_ptr = (u8_t*)p->payload;\n          plen += p->len;\n        }\n        else\n        {\n          /* next octet in same pbuf */\n          msg_ptr++;\n        }\n      }\n      /* (only) one least significant octet */\n      *msg_ptr = (u8_t)value;\n      return ERR_OK;\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Encodes s32_t integer into a pbuf chained ASN1 msg.\n *\n * @param p points to output pbuf to encode value into\n * @param ofs points to the offset within the pbuf chain\n * @param octets_needed encoding length (from snmp_asn1_enc_s32t_cnt())\n * @param value is the host order s32_t value to be encoded\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) encode\n *\n * @see snmp_asn1_enc_s32t_cnt()\n */\nerr_t\nsnmp_asn1_enc_s32t(struct pbuf *p, u16_t ofs, u16_t octets_needed, s32_t value)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n\n      while (octets_needed > 1)\n      {\n        octets_needed--;\n        *msg_ptr = (u8_t)(value >> (octets_needed << 3));\n        ofs += 1;\n        if (ofs >= plen)\n        {\n          /* next octet in next pbuf */\n          p = p->next;\n          if (p == NULL) { return ERR_ARG; }\n          msg_ptr = (u8_t*)p->payload;\n          plen += p->len;\n        }\n        else\n        {\n          /* next octet in same pbuf */\n          msg_ptr++;\n        }\n      }\n      /* (only) one least significant octet */\n      *msg_ptr = (u8_t)value;\n      return ERR_OK;\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Encodes object identifier into a pbuf chained ASN1 msg.\n *\n * @param p points to output pbuf to encode oid into\n * @param ofs points to the offset within the pbuf chain\n * @param ident_len object identifier array length\n * @param ident points to object identifier array\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) encode\n */\nerr_t\nsnmp_asn1_enc_oid(struct pbuf *p, u16_t ofs, u8_t ident_len, s32_t *ident)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n\n      if (ident_len > 1)\n      {\n        if ((ident[0] == 1) && (ident[1] == 3))\n        {\n          /* compressed (most common) prefix .iso.org */\n          *msg_ptr = 0x2b;\n        }\n        else\n        {\n          /* calculate prefix */\n          *msg_ptr = (u8_t)((ident[0] * 40) + ident[1]);\n        }\n        ofs += 1;\n        if (ofs >= plen)\n        {\n          /* next octet in next pbuf */\n          p = p->next;\n          if (p == NULL) { return ERR_ARG; }\n          msg_ptr = (u8_t*)p->payload;\n          plen += p->len;\n        }\n        else\n        {\n          /* next octet in same pbuf */\n          msg_ptr++;\n        }\n        ident_len -= 2;\n        ident += 2;\n      }\n      else\n      {\n/* @bug:  allow empty varbinds for symmetry (we must decode them for getnext), allow partial compression??  */\n        /* ident_len <= 1, at least we need zeroDotZero (0.0) (ident_len == 2) */\n        return ERR_ARG;\n      }\n      while (ident_len > 0)\n      {\n        s32_t sub_id;\n        u8_t shift, tail;\n\n        ident_len--;\n        sub_id = *ident;\n        tail = 0;\n        shift = 28;\n        while(shift > 0)\n        {\n          u8_t code;\n\n          code = (u8_t)(sub_id >> shift);\n          if ((code != 0) || (tail != 0))\n          {\n            tail = 1;\n            *msg_ptr = code | 0x80;\n            ofs += 1;\n            if (ofs >= plen)\n            {\n              /* next octet in next pbuf */\n              p = p->next;\n              if (p == NULL) { return ERR_ARG; }\n              msg_ptr = (u8_t*)p->payload;\n              plen += p->len;\n            }\n            else\n            {\n              /* next octet in same pbuf */\n              msg_ptr++;\n            }\n          }\n          shift -= 7;\n        }\n        *msg_ptr = (u8_t)sub_id & 0x7F;\n        if (ident_len > 0)\n        {\n          ofs += 1;\n          if (ofs >= plen)\n          {\n            /* next octet in next pbuf */\n            p = p->next;\n            if (p == NULL) { return ERR_ARG; }\n            msg_ptr = (u8_t*)p->payload;\n            plen += p->len;\n          }\n          else\n          {\n            /* next octet in same pbuf */\n            msg_ptr++;\n          }\n        }\n        /* proceed to next sub-identifier */\n        ident++;\n      }\n      return ERR_OK;\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n/**\n * Encodes raw data (octet string, opaque) into a pbuf chained ASN1 msg.\n *\n * @param p points to output pbuf to encode raw data into\n * @param ofs points to the offset within the pbuf chain\n * @param raw_len raw data length\n * @param raw points raw data\n * @return ERR_OK if successfull, ERR_ARG if we can't (or won't) encode\n */\nerr_t\nsnmp_asn1_enc_raw(struct pbuf *p, u16_t ofs, u16_t raw_len, u8_t *raw)\n{\n  u16_t plen, base;\n  u8_t *msg_ptr;\n\n  plen = 0;\n  while (p != NULL)\n  {\n    base = plen;\n    plen += p->len;\n    if (ofs < plen)\n    {\n      msg_ptr = (u8_t*)p->payload;\n      msg_ptr += ofs - base;\n\n      while (raw_len > 1)\n      {\n        /* copy raw_len - 1 octets */\n        raw_len--;\n        *msg_ptr = *raw;\n        raw++;\n        ofs += 1;\n        if (ofs >= plen)\n        {\n          /* next octet in next pbuf */\n          p = p->next;\n          if (p == NULL) { return ERR_ARG; }\n          msg_ptr = (u8_t*)p->payload;\n          plen += p->len;\n        }\n        else\n        {\n          /* next octet in same pbuf */\n          msg_ptr++;\n        }\n      }\n      if (raw_len > 0)\n      {\n        /* copy last or single octet */\n        *msg_ptr = *raw;\n      }\n      return ERR_OK;\n    }\n    p = p->next;\n  }\n  /* p == NULL, ofs >= plen */\n  return ERR_ARG;\n}\n\n#endif /* LWIP_SNMP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/snmp/mib2.c",
    "content": "/**\n * @file\n * Management Information Base II (RFC1213) objects and functions.\n *\n * @note the object identifiers for this MIB-2 and private MIB tree\n * must be kept in sorted ascending order. This to ensure correct getnext operation.\n */\n\n/*\n * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Christiaan Simons <christiaan.simons@axon.tv>\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/snmp.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/ip_frag.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/tcp_impl.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/snmp_asn1.h\"\n#include \"lwip/snmp_structs.h\"\n#include \"lwip/sys.h\"\n#include \"netif/etharp.h\"\n\n/**\n * IANA assigned enterprise ID for lwIP is 26381\n * @see http://www.iana.org/assignments/enterprise-numbers\n *\n * @note this enterprise ID is assigned to the lwIP project,\n * all object identifiers living under this ID are assigned\n * by the lwIP maintainers (contact Christiaan Simons)!\n * @note don't change this define, use snmp_set_sysobjid()\n *\n * If you need to create your own private MIB you'll need\n * to apply for your own enterprise ID with IANA:\n * http://www.iana.org/numbers.html\n */\n#define SNMP_ENTERPRISE_ID 26381\n#define SNMP_SYSOBJID_LEN 7\n#define SNMP_SYSOBJID {1, 3, 6, 1, 4, 1, SNMP_ENTERPRISE_ID}\n\n#ifndef SNMP_SYSSERVICES\n#define SNMP_SYSSERVICES ((1 << 6) | (1 << 3) | ((IP_FORWARD) << 2))\n#endif\n\n#ifndef SNMP_GET_SYSUPTIME\n#define SNMP_GET_SYSUPTIME(sysuptime)  (sysuptime = (sys_now() / 10))\n#endif\n\nstatic void system_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void system_get_value(struct obj_def *od, u16_t len, void *value);\nstatic u8_t system_set_test(struct obj_def *od, u16_t len, void *value);\nstatic void system_set_value(struct obj_def *od, u16_t len, void *value);\nstatic void interfaces_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void interfaces_get_value(struct obj_def *od, u16_t len, void *value);\nstatic void ifentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void ifentry_get_value(struct obj_def *od, u16_t len, void *value);\n#if !SNMP_SAFE_REQUESTS\nstatic u8_t ifentry_set_test (struct obj_def *od, u16_t len, void *value);\nstatic void ifentry_set_value (struct obj_def *od, u16_t len, void *value);\n#endif /* SNMP_SAFE_REQUESTS */\nstatic void atentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void atentry_get_value(struct obj_def *od, u16_t len, void *value);\nstatic void ip_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void ip_get_value(struct obj_def *od, u16_t len, void *value);\nstatic u8_t ip_set_test(struct obj_def *od, u16_t len, void *value);\nstatic void ip_addrentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void ip_addrentry_get_value(struct obj_def *od, u16_t len, void *value);\nstatic void ip_rteentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void ip_rteentry_get_value(struct obj_def *od, u16_t len, void *value);\nstatic void ip_ntomentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void ip_ntomentry_get_value(struct obj_def *od, u16_t len, void *value);\nstatic void icmp_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void icmp_get_value(struct obj_def *od, u16_t len, void *value);\n#if LWIP_TCP\nstatic void tcp_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void tcp_get_value(struct obj_def *od, u16_t len, void *value);\n#ifdef THIS_SEEMS_UNUSED\nstatic void tcpconnentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void tcpconnentry_get_value(struct obj_def *od, u16_t len, void *value);\n#endif\n#endif\nstatic void udp_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void udp_get_value(struct obj_def *od, u16_t len, void *value);\nstatic void udpentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void udpentry_get_value(struct obj_def *od, u16_t len, void *value);\nstatic void snmp_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od);\nstatic void snmp_get_value(struct obj_def *od, u16_t len, void *value);\nstatic u8_t snmp_set_test(struct obj_def *od, u16_t len, void *value);\nstatic void snmp_set_value(struct obj_def *od, u16_t len, void *value);\n\n\n/* snmp .1.3.6.1.2.1.11 */\nconst mib_scalar_node snmp_scalar = {\n  &snmp_get_object_def,\n  &snmp_get_value,\n  &snmp_set_test,\n  &snmp_set_value,\n  MIB_NODE_SC,\n  0\n};\nconst s32_t snmp_ids[28] = {\n  1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n  17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30\n};\nstruct mib_node* const snmp_nodes[28] = {\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar,\n  (struct mib_node*)&snmp_scalar, (struct mib_node*)&snmp_scalar\n};\nconst struct mib_array_node snmp = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  28,\n  snmp_ids,\n  snmp_nodes\n};\n\n/* dot3 and EtherLike MIB not planned. (transmission .1.3.6.1.2.1.10) */\n/* historical (some say hysterical). (cmot .1.3.6.1.2.1.9) */\n/* lwIP has no EGP, thus may not implement it. (egp .1.3.6.1.2.1.8) */\n\n/* udp .1.3.6.1.2.1.7 */\n/** index root node for udpTable */\nstruct mib_list_rootnode udp_root = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_LR,\n  0,\n  NULL,\n  NULL,\n  0\n};\nconst s32_t udpentry_ids[2] = { 1, 2 };\nstruct mib_node* const udpentry_nodes[2] = {\n  (struct mib_node*)&udp_root, (struct mib_node*)&udp_root,\n};\nconst struct mib_array_node udpentry = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  2,\n  udpentry_ids,\n  udpentry_nodes\n};\n\ns32_t udptable_id = 1;\nstruct mib_node* udptable_node = (struct mib_node*)&udpentry;\nstruct mib_ram_array_node udptable = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_RA,\n  0,\n  &udptable_id,\n  &udptable_node\n};\n\nconst mib_scalar_node udp_scalar = {\n  &udp_get_object_def,\n  &udp_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_SC,\n  0\n};\nconst s32_t udp_ids[5] = { 1, 2, 3, 4, 5 };\nstruct mib_node* const udp_nodes[5] = {\n  (struct mib_node*)&udp_scalar, (struct mib_node*)&udp_scalar,\n  (struct mib_node*)&udp_scalar, (struct mib_node*)&udp_scalar,\n  (struct mib_node*)&udptable\n};\nconst struct mib_array_node udp = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  5,\n  udp_ids,\n  udp_nodes\n};\n\n/* tcp .1.3.6.1.2.1.6 */\n#if LWIP_TCP\n/* only if the TCP protocol is available may implement this group */\n/** index root node for tcpConnTable */\nstruct mib_list_rootnode tcpconntree_root = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_LR,\n  0,\n  NULL,\n  NULL,\n  0\n};\nconst s32_t tcpconnentry_ids[5] = { 1, 2, 3, 4, 5 };\nstruct mib_node* const tcpconnentry_nodes[5] = {\n  (struct mib_node*)&tcpconntree_root, (struct mib_node*)&tcpconntree_root,\n  (struct mib_node*)&tcpconntree_root, (struct mib_node*)&tcpconntree_root,\n  (struct mib_node*)&tcpconntree_root\n};\nconst struct mib_array_node tcpconnentry = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  5,\n  tcpconnentry_ids,\n  tcpconnentry_nodes\n};\n\ns32_t tcpconntable_id = 1;\nstruct mib_node* tcpconntable_node = (struct mib_node*)&tcpconnentry;\nstruct mib_ram_array_node tcpconntable = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_RA,\n/** @todo update maxlength when inserting / deleting from table\n   0 when table is empty, 1 when more than one entry */\n  0,\n  &tcpconntable_id,\n  &tcpconntable_node\n};\n\nconst mib_scalar_node tcp_scalar = {\n  &tcp_get_object_def,\n  &tcp_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_SC,\n  0\n};\nconst s32_t tcp_ids[15] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };\nstruct mib_node* const tcp_nodes[15] = {\n  (struct mib_node*)&tcp_scalar, (struct mib_node*)&tcp_scalar,\n  (struct mib_node*)&tcp_scalar, (struct mib_node*)&tcp_scalar,\n  (struct mib_node*)&tcp_scalar, (struct mib_node*)&tcp_scalar,\n  (struct mib_node*)&tcp_scalar, (struct mib_node*)&tcp_scalar,\n  (struct mib_node*)&tcp_scalar, (struct mib_node*)&tcp_scalar,\n  (struct mib_node*)&tcp_scalar, (struct mib_node*)&tcp_scalar,\n  (struct mib_node*)&tcpconntable, (struct mib_node*)&tcp_scalar,\n  (struct mib_node*)&tcp_scalar\n};\nconst struct mib_array_node tcp = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  15,\n  tcp_ids,\n  tcp_nodes\n};\n#endif\n\n/* icmp .1.3.6.1.2.1.5 */\nconst mib_scalar_node icmp_scalar = {\n  &icmp_get_object_def,\n  &icmp_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_SC,\n  0\n};\nconst s32_t icmp_ids[26] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 };\nstruct mib_node* const icmp_nodes[26] = {\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar,\n  (struct mib_node*)&icmp_scalar, (struct mib_node*)&icmp_scalar\n};\nconst struct mib_array_node icmp = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  26,\n  icmp_ids,\n  icmp_nodes\n};\n\n/** index root node for ipNetToMediaTable */\nstruct mib_list_rootnode ipntomtree_root = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_LR,\n  0,\n  NULL,\n  NULL,\n  0\n};\nconst s32_t ipntomentry_ids[4] = { 1, 2, 3, 4 };\nstruct mib_node* const ipntomentry_nodes[4] = {\n  (struct mib_node*)&ipntomtree_root, (struct mib_node*)&ipntomtree_root,\n  (struct mib_node*)&ipntomtree_root, (struct mib_node*)&ipntomtree_root\n};\nconst struct mib_array_node ipntomentry = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  4,\n  ipntomentry_ids,\n  ipntomentry_nodes\n};\n\ns32_t ipntomtable_id = 1;\nstruct mib_node* ipntomtable_node = (struct mib_node*)&ipntomentry;\nstruct mib_ram_array_node ipntomtable = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_RA,\n  0,\n  &ipntomtable_id,\n  &ipntomtable_node\n};\n\n/** index root node for ipRouteTable */\nstruct mib_list_rootnode iprtetree_root = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_LR,\n  0,\n  NULL,\n  NULL,\n  0\n};\nconst s32_t iprteentry_ids[13] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };\nstruct mib_node* const iprteentry_nodes[13] = {\n  (struct mib_node*)&iprtetree_root, (struct mib_node*)&iprtetree_root,\n  (struct mib_node*)&iprtetree_root, (struct mib_node*)&iprtetree_root,\n  (struct mib_node*)&iprtetree_root, (struct mib_node*)&iprtetree_root,\n  (struct mib_node*)&iprtetree_root, (struct mib_node*)&iprtetree_root,\n  (struct mib_node*)&iprtetree_root, (struct mib_node*)&iprtetree_root,\n  (struct mib_node*)&iprtetree_root, (struct mib_node*)&iprtetree_root,\n  (struct mib_node*)&iprtetree_root\n};\nconst struct mib_array_node iprteentry = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  13,\n  iprteentry_ids,\n  iprteentry_nodes\n};\n\ns32_t iprtetable_id = 1;\nstruct mib_node* iprtetable_node = (struct mib_node*)&iprteentry;\nstruct mib_ram_array_node iprtetable = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_RA,\n  0,\n  &iprtetable_id,\n  &iprtetable_node\n};\n\n/** index root node for ipAddrTable */\nstruct mib_list_rootnode ipaddrtree_root = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_LR,\n  0,\n  NULL,\n  NULL,\n  0\n};\nconst s32_t ipaddrentry_ids[5] = { 1, 2, 3, 4, 5 };\nstruct mib_node* const ipaddrentry_nodes[5] = {\n  (struct mib_node*)&ipaddrtree_root,\n  (struct mib_node*)&ipaddrtree_root,\n  (struct mib_node*)&ipaddrtree_root,\n  (struct mib_node*)&ipaddrtree_root,\n  (struct mib_node*)&ipaddrtree_root\n};\nconst struct mib_array_node ipaddrentry = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  5,\n  ipaddrentry_ids,\n  ipaddrentry_nodes\n};\n\ns32_t ipaddrtable_id = 1;\nstruct mib_node* ipaddrtable_node = (struct mib_node*)&ipaddrentry;\nstruct mib_ram_array_node ipaddrtable = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_RA,\n  0,\n  &ipaddrtable_id,\n  &ipaddrtable_node\n};\n\n/* ip .1.3.6.1.2.1.4 */\nconst mib_scalar_node ip_scalar = {\n  &ip_get_object_def,\n  &ip_get_value,\n  &ip_set_test,\n  &noleafs_set_value,\n  MIB_NODE_SC,\n  0\n};\nconst s32_t ip_ids[23] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 };\nstruct mib_node* const ip_nodes[23] = {\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ip_scalar,\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ip_scalar,\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ip_scalar,\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ip_scalar,\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ip_scalar,\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ip_scalar,\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ip_scalar,\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ip_scalar,\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ip_scalar,\n  (struct mib_node*)&ip_scalar, (struct mib_node*)&ipaddrtable,\n  (struct mib_node*)&iprtetable, (struct mib_node*)&ipntomtable,\n  (struct mib_node*)&ip_scalar\n};\nconst struct mib_array_node mib2_ip = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  23,\n  ip_ids,\n  ip_nodes\n};\n\n/** index root node for atTable */\nstruct mib_list_rootnode arptree_root = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_LR,\n  0,\n  NULL,\n  NULL,\n  0\n};\nconst s32_t atentry_ids[3] = { 1, 2, 3 };\nstruct mib_node* const atentry_nodes[3] = {\n  (struct mib_node*)&arptree_root,\n  (struct mib_node*)&arptree_root,\n  (struct mib_node*)&arptree_root\n};\nconst struct mib_array_node atentry = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  3,\n  atentry_ids,\n  atentry_nodes\n};\n\nconst s32_t attable_id = 1;\nstruct mib_node* const attable_node = (struct mib_node*)&atentry;\nconst struct mib_array_node attable = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  1,\n  &attable_id,\n  &attable_node\n};\n\n/* at .1.3.6.1.2.1.3 */\ns32_t at_id = 1;\nstruct mib_node* mib2_at_node = (struct mib_node*)&attable;\nstruct mib_ram_array_node at = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_RA,\n  0,\n  &at_id,\n  &mib2_at_node\n};\n\n/** index root node for ifTable */\nstruct mib_list_rootnode iflist_root = {\n  &ifentry_get_object_def,\n  &ifentry_get_value,\n#if SNMP_SAFE_REQUESTS\n  &noleafs_set_test,\n  &noleafs_set_value,\n#else /* SNMP_SAFE_REQUESTS */\n  &ifentry_set_test,\n  &ifentry_set_value,\n#endif /* SNMP_SAFE_REQUESTS */\n  MIB_NODE_LR,\n  0,\n  NULL,\n  NULL,\n  0\n};\nconst s32_t ifentry_ids[22] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 };\nstruct mib_node* const ifentry_nodes[22] = {\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root,\n  (struct mib_node*)&iflist_root, (struct mib_node*)&iflist_root\n};\nconst struct mib_array_node ifentry = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  22,\n  ifentry_ids,\n  ifentry_nodes\n};\n\ns32_t iftable_id = 1;\nstruct mib_node* iftable_node = (struct mib_node*)&ifentry;\nstruct mib_ram_array_node iftable = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_RA,\n  0,\n  &iftable_id,\n  &iftable_node\n};\n\n/* interfaces .1.3.6.1.2.1.2 */\nconst mib_scalar_node interfaces_scalar = {\n  &interfaces_get_object_def,\n  &interfaces_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_SC,\n  0\n};\nconst s32_t interfaces_ids[2] = { 1, 2 };\nstruct mib_node* const interfaces_nodes[2] = {\n  (struct mib_node*)&interfaces_scalar, (struct mib_node*)&iftable\n};\nconst struct mib_array_node interfaces = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  2,\n  interfaces_ids,\n  interfaces_nodes\n};\n\n\n/*             0 1 2 3 4 5 6 */\n/* system .1.3.6.1.2.1.1 */\nconst mib_scalar_node sys_tem_scalar = {\n  &system_get_object_def,\n  &system_get_value,\n  &system_set_test,\n  &system_set_value,\n  MIB_NODE_SC,\n  0\n};\nconst s32_t sys_tem_ids[7] = { 1, 2, 3, 4, 5, 6, 7 };\nstruct mib_node* const sys_tem_nodes[7] = {\n  (struct mib_node*)&sys_tem_scalar, (struct mib_node*)&sys_tem_scalar,\n  (struct mib_node*)&sys_tem_scalar, (struct mib_node*)&sys_tem_scalar,\n  (struct mib_node*)&sys_tem_scalar, (struct mib_node*)&sys_tem_scalar,\n  (struct mib_node*)&sys_tem_scalar\n};\n/* work around name issue with 'sys_tem', some compiler(s?) seem to reserve 'system' */\nconst struct mib_array_node sys_tem = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  7,\n  sys_tem_ids,\n  sys_tem_nodes\n};\n\n/* mib-2 .1.3.6.1.2.1 */\n#if LWIP_TCP\n#define MIB2_GROUPS 8\n#else\n#define MIB2_GROUPS 7\n#endif\nconst s32_t mib2_ids[MIB2_GROUPS] =\n{\n  1,\n  2,\n  3,\n  4,\n  5,\n#if LWIP_TCP\n  6,\n#endif\n  7,\n  11\n};\nstruct mib_node* const mib2_nodes[MIB2_GROUPS] = {\n  (struct mib_node*)&sys_tem,\n  (struct mib_node*)&interfaces,\n  (struct mib_node*)&at,\n  (struct mib_node*)&mib2_ip,\n  (struct mib_node*)&icmp,\n#if LWIP_TCP\n  (struct mib_node*)&tcp,\n#endif\n  (struct mib_node*)&udp,\n  (struct mib_node*)&snmp\n};\n\nconst struct mib_array_node mib2 = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  MIB2_GROUPS,\n  mib2_ids,\n  mib2_nodes\n};\n\n/* mgmt .1.3.6.1.2 */\nconst s32_t mgmt_ids[1] = { 1 };\nstruct mib_node* const mgmt_nodes[1] = { (struct mib_node*)&mib2 };\nconst struct mib_array_node mgmt = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  1,\n  mgmt_ids,\n  mgmt_nodes\n};\n\n/* internet .1.3.6.1 */\n#if SNMP_PRIVATE_MIB\n/* When using a private MIB, you have to create a file 'private_mib.h' that contains\n * a 'struct mib_array_node mib_private' which contains your MIB. */\ns32_t internet_ids[2] = { 2, 4 };\nstruct mib_node* const internet_nodes[2] = { (struct mib_node*)&mgmt, (struct mib_node*)&mib_private };\nconst struct mib_array_node internet = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  2,\n  internet_ids,\n  internet_nodes\n};\n#else\nconst s32_t internet_ids[1] = { 2 };\nstruct mib_node* const internet_nodes[1] = { (struct mib_node*)&mgmt };\nconst struct mib_array_node internet = {\n  &noleafs_get_object_def,\n  &noleafs_get_value,\n  &noleafs_set_test,\n  &noleafs_set_value,\n  MIB_NODE_AR,\n  1,\n  internet_ids,\n  internet_nodes\n};\n#endif\n\n/** mib-2.system.sysObjectID  */\nstatic struct snmp_obj_id sysobjid = {SNMP_SYSOBJID_LEN, SNMP_SYSOBJID};\n/** enterprise ID for generic TRAPs, .iso.org.dod.internet.mgmt.mib-2.snmp */\nstatic struct snmp_obj_id snmpgrp_id = {7,{1,3,6,1,2,1,11}};\n/** mib-2.system.sysServices */\nstatic const s32_t sysservices = SNMP_SYSSERVICES;\n\n/** mib-2.system.sysDescr */\nstatic const u8_t sysdescr_len_default = 4;\nstatic const u8_t sysdescr_default[] = \"lwIP\";\nstatic u8_t* sysdescr_len_ptr = (u8_t*)&sysdescr_len_default;\nstatic u8_t* sysdescr_ptr = (u8_t*)&sysdescr_default[0];\n/** mib-2.system.sysContact */\nstatic const u8_t syscontact_len_default = 0;\nstatic const u8_t syscontact_default[] = \"\";\nstatic u8_t* syscontact_len_ptr = (u8_t*)&syscontact_len_default;\nstatic u8_t* syscontact_ptr = (u8_t*)&syscontact_default[0];\n/** mib-2.system.sysName */\nstatic const u8_t sysname_len_default = 8;\nstatic const u8_t sysname_default[] = \"FQDN-unk\";\nstatic u8_t* sysname_len_ptr = (u8_t*)&sysname_len_default;\nstatic u8_t* sysname_ptr = (u8_t*)&sysname_default[0];\n/** mib-2.system.sysLocation */\nstatic const u8_t syslocation_len_default = 0;\nstatic const u8_t syslocation_default[] = \"\";\nstatic u8_t* syslocation_len_ptr = (u8_t*)&syslocation_len_default;\nstatic u8_t* syslocation_ptr = (u8_t*)&syslocation_default[0];\n/** mib-2.snmp.snmpEnableAuthenTraps */\nstatic const u8_t snmpenableauthentraps_default = 2; /* disabled */\nstatic u8_t* snmpenableauthentraps_ptr = (u8_t*)&snmpenableauthentraps_default;\n\n/** mib-2.interfaces.ifTable.ifEntry.ifSpecific (zeroDotZero) */\nstatic const struct snmp_obj_id ifspecific = {2, {0, 0}};\n/** mib-2.ip.ipRouteTable.ipRouteEntry.ipRouteInfo (zeroDotZero) */\nstatic const struct snmp_obj_id iprouteinfo = {2, {0, 0}};\n\n\n\n/* mib-2.system counter(s) */\nstatic u32_t sysuptime = 0;\n\n/* mib-2.ip counter(s) */\nstatic u32_t ipinreceives = 0,\n             ipinhdrerrors = 0,\n             ipinaddrerrors = 0,\n             ipforwdatagrams = 0,\n             ipinunknownprotos = 0,\n             ipindiscards = 0,\n             ipindelivers = 0,\n             ipoutrequests = 0,\n             ipoutdiscards = 0,\n             ipoutnoroutes = 0,\n             ipreasmreqds = 0,\n             ipreasmoks = 0,\n             ipreasmfails = 0,\n             ipfragoks = 0,\n             ipfragfails = 0,\n             ipfragcreates = 0,\n             iproutingdiscards = 0;\n/* mib-2.icmp counter(s) */\nstatic u32_t icmpinmsgs = 0,\n             icmpinerrors = 0,\n             icmpindestunreachs = 0,\n             icmpintimeexcds = 0,\n             icmpinparmprobs = 0,\n             icmpinsrcquenchs = 0,\n             icmpinredirects = 0,\n             icmpinechos = 0,\n             icmpinechoreps = 0,\n             icmpintimestamps = 0,\n             icmpintimestampreps = 0,\n             icmpinaddrmasks = 0,\n             icmpinaddrmaskreps = 0,\n             icmpoutmsgs = 0,\n             icmpouterrors = 0,\n             icmpoutdestunreachs = 0,\n             icmpouttimeexcds = 0,\n             icmpoutparmprobs = 0,\n             icmpoutsrcquenchs = 0,\n             icmpoutredirects = 0,\n             icmpoutechos = 0,\n             icmpoutechoreps = 0,\n             icmpouttimestamps = 0,\n             icmpouttimestampreps = 0,\n             icmpoutaddrmasks = 0,\n             icmpoutaddrmaskreps = 0;\n/* mib-2.tcp counter(s) */\nstatic u32_t tcpactiveopens = 0,\n             tcppassiveopens = 0,\n             tcpattemptfails = 0,\n             tcpestabresets = 0,\n             tcpinsegs = 0,\n             tcpoutsegs = 0,\n             tcpretranssegs = 0,\n             tcpinerrs = 0,\n             tcpoutrsts = 0;\n/* mib-2.udp counter(s) */\nstatic u32_t udpindatagrams = 0,\n             udpnoports = 0,\n             udpinerrors = 0,\n             udpoutdatagrams = 0;\n/* mib-2.snmp counter(s) */\nstatic u32_t snmpinpkts = 0,\n             snmpoutpkts = 0,\n             snmpinbadversions = 0,\n             snmpinbadcommunitynames = 0,\n             snmpinbadcommunityuses = 0,\n             snmpinasnparseerrs = 0,\n             snmpintoobigs = 0,\n             snmpinnosuchnames = 0,\n             snmpinbadvalues = 0,\n             snmpinreadonlys = 0,\n             snmpingenerrs = 0,\n             snmpintotalreqvars = 0,\n             snmpintotalsetvars = 0,\n             snmpingetrequests = 0,\n             snmpingetnexts = 0,\n             snmpinsetrequests = 0,\n             snmpingetresponses = 0,\n             snmpintraps = 0,\n             snmpouttoobigs = 0,\n             snmpoutnosuchnames = 0,\n             snmpoutbadvalues = 0,\n             snmpoutgenerrs = 0,\n             snmpoutgetrequests = 0,\n             snmpoutgetnexts = 0,\n             snmpoutsetrequests = 0,\n             snmpoutgetresponses = 0,\n             snmpouttraps = 0;\n\n\n\n/* prototypes of the following functions are in lwip/src/include/lwip/snmp.h */\n/**\n * Copy octet string.\n *\n * @param dst points to destination\n * @param src points to source\n * @param n number of octets to copy.\n */\nstatic void ocstrncpy(u8_t *dst, u8_t *src, u16_t n)\n{\n  u16_t i = n;\n  while (i > 0) {\n    i--;\n    *dst++ = *src++;\n  }\n}\n\n/**\n * Copy object identifier (s32_t) array.\n *\n * @param dst points to destination\n * @param src points to source\n * @param n number of sub identifiers to copy.\n */\nvoid objectidncpy(s32_t *dst, s32_t *src, u8_t n)\n{\n  u8_t i = n;\n  while(i > 0) {\n    i--;\n    *dst++ = *src++;\n  }\n}\n\n/**\n * Initializes sysDescr pointers.\n *\n * @param str if non-NULL then copy str pointer\n * @param len points to string length, excluding zero terminator\n */\nvoid snmp_set_sysdesr(u8_t *str, u8_t *len)\n{\n  if (str != NULL)\n  {\n    sysdescr_ptr = str;\n    sysdescr_len_ptr = len;\n  }\n}\n\nvoid snmp_get_sysobjid_ptr(struct snmp_obj_id **oid)\n{\n  *oid = &sysobjid;\n}\n\n/**\n * Initializes sysObjectID value.\n *\n * @param oid points to stuct snmp_obj_id to copy\n */\nvoid snmp_set_sysobjid(struct snmp_obj_id *oid)\n{\n  sysobjid = *oid;\n}\n\n/**\n * Must be called at regular 10 msec interval from a timer interrupt\n * or signal handler depending on your runtime environment.\n */\nvoid snmp_inc_sysuptime(void)\n{\n  sysuptime++;\n}\n\nvoid snmp_add_sysuptime(u32_t value)\n{\n  sysuptime+=value;\n}\n\nvoid snmp_get_sysuptime(u32_t *value)\n{\n  SNMP_GET_SYSUPTIME(sysuptime);\n  *value = sysuptime;\n}\n\n/**\n * Initializes sysContact pointers,\n * e.g. ptrs to non-volatile memory external to lwIP.\n *\n * @param ocstr if non-NULL then copy str pointer\n * @param ocstrlen points to string length, excluding zero terminator\n */\nvoid snmp_set_syscontact(u8_t *ocstr, u8_t *ocstrlen)\n{\n  if (ocstr != NULL)\n  {\n    syscontact_ptr = ocstr;\n    syscontact_len_ptr = ocstrlen;\n  }\n}\n\n/**\n * Initializes sysName pointers,\n * e.g. ptrs to non-volatile memory external to lwIP.\n *\n * @param ocstr if non-NULL then copy str pointer\n * @param ocstrlen points to string length, excluding zero terminator\n */\nvoid snmp_set_sysname(u8_t *ocstr, u8_t *ocstrlen)\n{\n  if (ocstr != NULL)\n  {\n    sysname_ptr = ocstr;\n    sysname_len_ptr = ocstrlen;\n  }\n}\n\n/**\n * Initializes sysLocation pointers,\n * e.g. ptrs to non-volatile memory external to lwIP.\n *\n * @param ocstr if non-NULL then copy str pointer\n * @param ocstrlen points to string length, excluding zero terminator\n */\nvoid snmp_set_syslocation(u8_t *ocstr, u8_t *ocstrlen)\n{\n  if (ocstr != NULL)\n  {\n    syslocation_ptr = ocstr;\n    syslocation_len_ptr = ocstrlen;\n  }\n}\n\n\nvoid snmp_add_ifinoctets(struct netif *ni, u32_t value)\n{\n  ni->ifinoctets += value;\n}\n\nvoid snmp_inc_ifinucastpkts(struct netif *ni)\n{\n  (ni->ifinucastpkts)++;\n}\n\nvoid snmp_inc_ifinnucastpkts(struct netif *ni)\n{\n  (ni->ifinnucastpkts)++;\n}\n\nvoid snmp_inc_ifindiscards(struct netif *ni)\n{\n  (ni->ifindiscards)++;\n}\n\nvoid snmp_add_ifoutoctets(struct netif *ni, u32_t value)\n{\n  ni->ifoutoctets += value;\n}\n\nvoid snmp_inc_ifoutucastpkts(struct netif *ni)\n{\n  (ni->ifoutucastpkts)++;\n}\n\nvoid snmp_inc_ifoutnucastpkts(struct netif *ni)\n{\n  (ni->ifoutnucastpkts)++;\n}\n\nvoid snmp_inc_ifoutdiscards(struct netif *ni)\n{\n  (ni->ifoutdiscards)++;\n}\n\nvoid snmp_inc_iflist(void)\n{\n  struct mib_list_node *if_node = NULL;\n\n  snmp_mib_node_insert(&iflist_root, iflist_root.count + 1, &if_node);\n  /* enable getnext traversal on filled table */\n  iftable.maxlength = 1;\n}\n\nvoid snmp_dec_iflist(void)\n{\n  snmp_mib_node_delete(&iflist_root, iflist_root.tail);\n  /* disable getnext traversal on empty table */\n  if(iflist_root.count == 0) iftable.maxlength = 0;\n}\n\n/**\n * Inserts ARP table indexes (.xIfIndex.xNetAddress)\n * into arp table index trees (both atTable and ipNetToMediaTable).\n */\nvoid snmp_insert_arpidx_tree(struct netif *ni, ip_addr_t *ip)\n{\n  struct mib_list_rootnode *at_rn;\n  struct mib_list_node *at_node;\n  s32_t arpidx[5];\n  u8_t level, tree;\n\n  LWIP_ASSERT(\"ni != NULL\", ni != NULL);\n  snmp_netiftoifindex(ni, &arpidx[0]);\n  snmp_iptooid(ip, &arpidx[1]);\n\n  for (tree = 0; tree < 2; tree++)\n  {\n    if (tree == 0)\n    {\n      at_rn = &arptree_root;\n    }\n    else\n    {\n      at_rn = &ipntomtree_root;\n    }\n    for (level = 0; level < 5; level++)\n    {\n      at_node = NULL;\n      snmp_mib_node_insert(at_rn, arpidx[level], &at_node);\n      if ((level != 4) && (at_node != NULL))\n      {\n        if (at_node->nptr == NULL)\n        {\n          at_rn = snmp_mib_lrn_alloc();\n          at_node->nptr = (struct mib_node*)at_rn;\n          if (at_rn != NULL)\n          {\n            if (level == 3)\n            {\n              if (tree == 0)\n              {\n                at_rn->get_object_def = atentry_get_object_def;\n                at_rn->get_value = atentry_get_value;\n              }\n              else\n              {\n                at_rn->get_object_def = ip_ntomentry_get_object_def;\n                at_rn->get_value = ip_ntomentry_get_value;\n              }\n              at_rn->set_test = noleafs_set_test;\n              at_rn->set_value = noleafs_set_value;\n            }\n          }\n          else\n          {\n            /* at_rn == NULL, malloc failure */\n            LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"snmp_insert_arpidx_tree() insert failed, mem full\"));\n            break;\n          }\n        }\n        else\n        {\n          at_rn = (struct mib_list_rootnode*)at_node->nptr;\n        }\n      }\n    }\n  }\n  /* enable getnext traversal on filled tables */\n  at.maxlength = 1;\n  ipntomtable.maxlength = 1;\n}\n\n/**\n * Removes ARP table indexes (.xIfIndex.xNetAddress)\n * from arp table index trees.\n */\nvoid snmp_delete_arpidx_tree(struct netif *ni, ip_addr_t *ip)\n{\n  struct mib_list_rootnode *at_rn, *next, *del_rn[5];\n  struct mib_list_node *at_n, *del_n[5];\n  s32_t arpidx[5];\n  u8_t fc, tree, level, del_cnt;\n\n  snmp_netiftoifindex(ni, &arpidx[0]);\n  snmp_iptooid(ip, &arpidx[1]);\n\n  for (tree = 0; tree < 2; tree++)\n  {\n    /* mark nodes for deletion */\n    if (tree == 0)\n    {\n      at_rn = &arptree_root;\n    }\n    else\n    {\n      at_rn = &ipntomtree_root;\n    }\n    level = 0;\n    del_cnt = 0;\n    while ((level < 5) && (at_rn != NULL))\n    {\n      fc = snmp_mib_node_find(at_rn, arpidx[level], &at_n);\n      if (fc == 0)\n      {\n        /* arpidx[level] does not exist */\n        del_cnt = 0;\n        at_rn = NULL;\n      }\n      else if (fc == 1)\n      {\n        del_rn[del_cnt] = at_rn;\n        del_n[del_cnt] = at_n;\n        del_cnt++;\n        at_rn = (struct mib_list_rootnode*)(at_n->nptr);\n      }\n      else if (fc == 2)\n      {\n        /* reset delete (2 or more childs) */\n        del_cnt = 0;\n        at_rn = (struct mib_list_rootnode*)(at_n->nptr);\n      }\n      level++;\n    }\n    /* delete marked index nodes */\n    while (del_cnt > 0)\n    {\n      del_cnt--;\n\n      at_rn = del_rn[del_cnt];\n      at_n = del_n[del_cnt];\n\n      next = snmp_mib_node_delete(at_rn, at_n);\n      if (next != NULL)\n      {\n        LWIP_ASSERT(\"next_count == 0\",next->count == 0);\n        snmp_mib_lrn_free(next);\n      }\n    }\n  }\n  /* disable getnext traversal on empty tables */\n  if(arptree_root.count == 0) at.maxlength = 0;\n  if(ipntomtree_root.count == 0) ipntomtable.maxlength = 0;\n}\n\nvoid snmp_inc_ipinreceives(void)\n{\n  ipinreceives++;\n}\n\nvoid snmp_inc_ipinhdrerrors(void)\n{\n  ipinhdrerrors++;\n}\n\nvoid snmp_inc_ipinaddrerrors(void)\n{\n  ipinaddrerrors++;\n}\n\nvoid snmp_inc_ipforwdatagrams(void)\n{\n  ipforwdatagrams++;\n}\n\nvoid snmp_inc_ipinunknownprotos(void)\n{\n  ipinunknownprotos++;\n}\n\nvoid snmp_inc_ipindiscards(void)\n{\n  ipindiscards++;\n}\n\nvoid snmp_inc_ipindelivers(void)\n{\n  ipindelivers++;\n}\n\nvoid snmp_inc_ipoutrequests(void)\n{\n  ipoutrequests++;\n}\n\nvoid snmp_inc_ipoutdiscards(void)\n{\n  ipoutdiscards++;\n}\n\nvoid snmp_inc_ipoutnoroutes(void)\n{\n  ipoutnoroutes++;\n}\n\nvoid snmp_inc_ipreasmreqds(void)\n{\n  ipreasmreqds++;\n}\n\nvoid snmp_inc_ipreasmoks(void)\n{\n  ipreasmoks++;\n}\n\nvoid snmp_inc_ipreasmfails(void)\n{\n  ipreasmfails++;\n}\n\nvoid snmp_inc_ipfragoks(void)\n{\n  ipfragoks++;\n}\n\nvoid snmp_inc_ipfragfails(void)\n{\n  ipfragfails++;\n}\n\nvoid snmp_inc_ipfragcreates(void)\n{\n  ipfragcreates++;\n}\n\nvoid snmp_inc_iproutingdiscards(void)\n{\n  iproutingdiscards++;\n}\n\n/**\n * Inserts ipAddrTable indexes (.ipAdEntAddr)\n * into index tree.\n */\nvoid snmp_insert_ipaddridx_tree(struct netif *ni)\n{\n  struct mib_list_rootnode *ipa_rn;\n  struct mib_list_node *ipa_node;\n  s32_t ipaddridx[4];\n  u8_t level;\n\n  LWIP_ASSERT(\"ni != NULL\", ni != NULL);\n  snmp_iptooid(&ni->ip_addr, &ipaddridx[0]);\n\n  level = 0;\n  ipa_rn = &ipaddrtree_root;\n  while (level < 4)\n  {\n    ipa_node = NULL;\n    snmp_mib_node_insert(ipa_rn, ipaddridx[level], &ipa_node);\n    if ((level != 3) && (ipa_node != NULL))\n    {\n      if (ipa_node->nptr == NULL)\n      {\n        ipa_rn = snmp_mib_lrn_alloc();\n        ipa_node->nptr = (struct mib_node*)ipa_rn;\n        if (ipa_rn != NULL)\n        {\n          if (level == 2)\n          {\n            ipa_rn->get_object_def = ip_addrentry_get_object_def;\n            ipa_rn->get_value = ip_addrentry_get_value;\n            ipa_rn->set_test = noleafs_set_test;\n            ipa_rn->set_value = noleafs_set_value;\n          }\n        }\n        else\n        {\n          /* ipa_rn == NULL, malloc failure */\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"snmp_insert_ipaddridx_tree() insert failed, mem full\"));\n          break;\n        }\n      }\n      else\n      {\n        ipa_rn = (struct mib_list_rootnode*)ipa_node->nptr;\n      }\n    }\n    level++;\n  }\n  /* enable getnext traversal on filled table */\n  ipaddrtable.maxlength = 1;\n}\n\n/**\n * Removes ipAddrTable indexes (.ipAdEntAddr)\n * from index tree.\n */\nvoid snmp_delete_ipaddridx_tree(struct netif *ni)\n{\n  struct mib_list_rootnode *ipa_rn, *next, *del_rn[4];\n  struct mib_list_node *ipa_n, *del_n[4];\n  s32_t ipaddridx[4];\n  u8_t fc, level, del_cnt;\n\n  LWIP_ASSERT(\"ni != NULL\", ni != NULL);\n  snmp_iptooid(&ni->ip_addr, &ipaddridx[0]);\n\n  /* mark nodes for deletion */\n  level = 0;\n  del_cnt = 0;\n  ipa_rn = &ipaddrtree_root;\n  while ((level < 4) && (ipa_rn != NULL))\n  {\n    fc = snmp_mib_node_find(ipa_rn, ipaddridx[level], &ipa_n);\n    if (fc == 0)\n    {\n      /* ipaddridx[level] does not exist */\n      del_cnt = 0;\n      ipa_rn = NULL;\n    }\n    else if (fc == 1)\n    {\n      del_rn[del_cnt] = ipa_rn;\n      del_n[del_cnt] = ipa_n;\n      del_cnt++;\n      ipa_rn = (struct mib_list_rootnode*)(ipa_n->nptr);\n    }\n    else if (fc == 2)\n    {\n      /* reset delete (2 or more childs) */\n      del_cnt = 0;\n      ipa_rn = (struct mib_list_rootnode*)(ipa_n->nptr);\n    }\n    level++;\n  }\n  /* delete marked index nodes */\n  while (del_cnt > 0)\n  {\n    del_cnt--;\n\n    ipa_rn = del_rn[del_cnt];\n    ipa_n = del_n[del_cnt];\n\n    next = snmp_mib_node_delete(ipa_rn, ipa_n);\n    if (next != NULL)\n    {\n      LWIP_ASSERT(\"next_count == 0\",next->count == 0);\n      snmp_mib_lrn_free(next);\n    }\n  }\n  /* disable getnext traversal on empty table */\n  if (ipaddrtree_root.count == 0) ipaddrtable.maxlength = 0;\n}\n\n/**\n * Inserts ipRouteTable indexes (.ipRouteDest)\n * into index tree.\n *\n * @param dflt non-zero for the default rte, zero for network rte\n * @param ni points to network interface for this rte\n *\n * @todo record sysuptime for _this_ route when it is installed\n *   (needed for ipRouteAge) in the netif.\n */\nvoid snmp_insert_iprteidx_tree(u8_t dflt, struct netif *ni)\n{\n  u8_t insert = 0;\n  ip_addr_t dst;\n\n  if (dflt != 0)\n  {\n    /* the default route 0.0.0.0 */\n    ip_addr_set_any(&dst);\n    insert = 1;\n  }\n  else\n  {\n    /* route to the network address */\n    ip_addr_get_network(&dst, &ni->ip_addr, &ni->netmask);\n    /* exclude 0.0.0.0 network (reserved for default rte) */\n    if (!ip_addr_isany(&dst)) {\n      insert = 1;\n    }\n  }\n  if (insert)\n  {\n    struct mib_list_rootnode *iprte_rn;\n    struct mib_list_node *iprte_node;\n    s32_t iprteidx[4];\n    u8_t level;\n\n    snmp_iptooid(&dst, &iprteidx[0]);\n    level = 0;\n    iprte_rn = &iprtetree_root;\n    while (level < 4)\n    {\n      iprte_node = NULL;\n      snmp_mib_node_insert(iprte_rn, iprteidx[level], &iprte_node);\n      if ((level != 3) && (iprte_node != NULL))\n      {\n        if (iprte_node->nptr == NULL)\n        {\n          iprte_rn = snmp_mib_lrn_alloc();\n          iprte_node->nptr = (struct mib_node*)iprte_rn;\n          if (iprte_rn != NULL)\n          {\n            if (level == 2)\n            {\n              iprte_rn->get_object_def = ip_rteentry_get_object_def;\n              iprte_rn->get_value = ip_rteentry_get_value;\n              iprte_rn->set_test = noleafs_set_test;\n              iprte_rn->set_value = noleafs_set_value;\n            }\n          }\n          else\n          {\n            /* iprte_rn == NULL, malloc failure */\n            LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"snmp_insert_iprteidx_tree() insert failed, mem full\"));\n            break;\n          }\n        }\n        else\n        {\n          iprte_rn = (struct mib_list_rootnode*)iprte_node->nptr;\n        }\n      }\n      level++;\n    }\n  }\n  /* enable getnext traversal on filled table */\n  iprtetable.maxlength = 1;\n}\n\n/**\n * Removes ipRouteTable indexes (.ipRouteDest)\n * from index tree.\n *\n * @param dflt non-zero for the default rte, zero for network rte\n * @param ni points to network interface for this rte or NULL\n *   for default route to be removed.\n */\nvoid snmp_delete_iprteidx_tree(u8_t dflt, struct netif *ni)\n{\n  u8_t del = 0;\n  ip_addr_t dst;\n\n  if (dflt != 0)\n  {\n    /* the default route 0.0.0.0 */\n    ip_addr_set_any(&dst);\n    del = 1;\n  }\n  else\n  {\n    /* route to the network address */\n    ip_addr_get_network(&dst, &ni->ip_addr, &ni->netmask);\n    /* exclude 0.0.0.0 network (reserved for default rte) */\n    if (!ip_addr_isany(&dst)) {\n      del = 1;\n    }\n  }\n  if (del)\n  {\n    struct mib_list_rootnode *iprte_rn, *next, *del_rn[4];\n    struct mib_list_node *iprte_n, *del_n[4];\n    s32_t iprteidx[4];\n    u8_t fc, level, del_cnt;\n\n    snmp_iptooid(&dst, &iprteidx[0]);\n    /* mark nodes for deletion */\n    level = 0;\n    del_cnt = 0;\n    iprte_rn = &iprtetree_root;\n    while ((level < 4) && (iprte_rn != NULL))\n    {\n      fc = snmp_mib_node_find(iprte_rn, iprteidx[level], &iprte_n);\n      if (fc == 0)\n      {\n        /* iprteidx[level] does not exist */\n        del_cnt = 0;\n        iprte_rn = NULL;\n      }\n      else if (fc == 1)\n      {\n        del_rn[del_cnt] = iprte_rn;\n        del_n[del_cnt] = iprte_n;\n        del_cnt++;\n        iprte_rn = (struct mib_list_rootnode*)(iprte_n->nptr);\n      }\n      else if (fc == 2)\n      {\n        /* reset delete (2 or more childs) */\n        del_cnt = 0;\n        iprte_rn = (struct mib_list_rootnode*)(iprte_n->nptr);\n      }\n      level++;\n    }\n    /* delete marked index nodes */\n    while (del_cnt > 0)\n    {\n      del_cnt--;\n\n      iprte_rn = del_rn[del_cnt];\n      iprte_n = del_n[del_cnt];\n\n      next = snmp_mib_node_delete(iprte_rn, iprte_n);\n      if (next != NULL)\n      {\n        LWIP_ASSERT(\"next_count == 0\",next->count == 0);\n        snmp_mib_lrn_free(next);\n      }\n    }\n  }\n  /* disable getnext traversal on empty table */\n  if (iprtetree_root.count == 0) iprtetable.maxlength = 0;\n}\n\n\nvoid snmp_inc_icmpinmsgs(void)\n{\n  icmpinmsgs++;\n}\n\nvoid snmp_inc_icmpinerrors(void)\n{\n  icmpinerrors++;\n}\n\nvoid snmp_inc_icmpindestunreachs(void)\n{\n  icmpindestunreachs++;\n}\n\nvoid snmp_inc_icmpintimeexcds(void)\n{\n  icmpintimeexcds++;\n}\n\nvoid snmp_inc_icmpinparmprobs(void)\n{\n  icmpinparmprobs++;\n}\n\nvoid snmp_inc_icmpinsrcquenchs(void)\n{\n  icmpinsrcquenchs++;\n}\n\nvoid snmp_inc_icmpinredirects(void)\n{\n  icmpinredirects++;\n}\n\nvoid snmp_inc_icmpinechos(void)\n{\n  icmpinechos++;\n}\n\nvoid snmp_inc_icmpinechoreps(void)\n{\n  icmpinechoreps++;\n}\n\nvoid snmp_inc_icmpintimestamps(void)\n{\n  icmpintimestamps++;\n}\n\nvoid snmp_inc_icmpintimestampreps(void)\n{\n  icmpintimestampreps++;\n}\n\nvoid snmp_inc_icmpinaddrmasks(void)\n{\n  icmpinaddrmasks++;\n}\n\nvoid snmp_inc_icmpinaddrmaskreps(void)\n{\n  icmpinaddrmaskreps++;\n}\n\nvoid snmp_inc_icmpoutmsgs(void)\n{\n  icmpoutmsgs++;\n}\n\nvoid snmp_inc_icmpouterrors(void)\n{\n  icmpouterrors++;\n}\n\nvoid snmp_inc_icmpoutdestunreachs(void)\n{\n  icmpoutdestunreachs++;\n}\n\nvoid snmp_inc_icmpouttimeexcds(void)\n{\n  icmpouttimeexcds++;\n}\n\nvoid snmp_inc_icmpoutparmprobs(void)\n{\n  icmpoutparmprobs++;\n}\n\nvoid snmp_inc_icmpoutsrcquenchs(void)\n{\n  icmpoutsrcquenchs++;\n}\n\nvoid snmp_inc_icmpoutredirects(void)\n{\n  icmpoutredirects++;\n}\n\nvoid snmp_inc_icmpoutechos(void)\n{\n  icmpoutechos++;\n}\n\nvoid snmp_inc_icmpoutechoreps(void)\n{\n  icmpoutechoreps++;\n}\n\nvoid snmp_inc_icmpouttimestamps(void)\n{\n  icmpouttimestamps++;\n}\n\nvoid snmp_inc_icmpouttimestampreps(void)\n{\n  icmpouttimestampreps++;\n}\n\nvoid snmp_inc_icmpoutaddrmasks(void)\n{\n  icmpoutaddrmasks++;\n}\n\nvoid snmp_inc_icmpoutaddrmaskreps(void)\n{\n  icmpoutaddrmaskreps++;\n}\n\nvoid snmp_inc_tcpactiveopens(void)\n{\n  tcpactiveopens++;\n}\n\nvoid snmp_inc_tcppassiveopens(void)\n{\n  tcppassiveopens++;\n}\n\nvoid snmp_inc_tcpattemptfails(void)\n{\n  tcpattemptfails++;\n}\n\nvoid snmp_inc_tcpestabresets(void)\n{\n  tcpestabresets++;\n}\n\nvoid snmp_inc_tcpinsegs(void)\n{\n  tcpinsegs++;\n}\n\nvoid snmp_inc_tcpoutsegs(void)\n{\n  tcpoutsegs++;\n}\n\nvoid snmp_inc_tcpretranssegs(void)\n{\n  tcpretranssegs++;\n}\n\nvoid snmp_inc_tcpinerrs(void)\n{\n  tcpinerrs++;\n}\n\nvoid snmp_inc_tcpoutrsts(void)\n{\n  tcpoutrsts++;\n}\n\nvoid snmp_inc_udpindatagrams(void)\n{\n  udpindatagrams++;\n}\n\nvoid snmp_inc_udpnoports(void)\n{\n  udpnoports++;\n}\n\nvoid snmp_inc_udpinerrors(void)\n{\n  udpinerrors++;\n}\n\nvoid snmp_inc_udpoutdatagrams(void)\n{\n  udpoutdatagrams++;\n}\n\n/**\n * Inserts udpTable indexes (.udpLocalAddress.udpLocalPort)\n * into index tree.\n */\nvoid snmp_insert_udpidx_tree(struct udp_pcb *pcb)\n{\n  struct mib_list_rootnode *udp_rn;\n  struct mib_list_node *udp_node;\n  s32_t udpidx[5];\n  u8_t level;\n\n  LWIP_ASSERT(\"pcb != NULL\", pcb != NULL);\n  snmp_iptooid(&pcb->local_ip, &udpidx[0]);\n  udpidx[4] = pcb->local_port;\n\n  udp_rn = &udp_root;\n  for (level = 0; level < 5; level++)\n  {\n    udp_node = NULL;\n    snmp_mib_node_insert(udp_rn, udpidx[level], &udp_node);\n    if ((level != 4) && (udp_node != NULL))\n    {\n      if (udp_node->nptr == NULL)\n      {\n        udp_rn = snmp_mib_lrn_alloc();\n        udp_node->nptr = (struct mib_node*)udp_rn;\n        if (udp_rn != NULL)\n        {\n          if (level == 3)\n          {\n            udp_rn->get_object_def = udpentry_get_object_def;\n            udp_rn->get_value = udpentry_get_value;\n            udp_rn->set_test = noleafs_set_test;\n            udp_rn->set_value = noleafs_set_value;\n          }\n        }\n        else\n        {\n          /* udp_rn == NULL, malloc failure */\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"snmp_insert_udpidx_tree() insert failed, mem full\"));\n          break;\n        }\n      }\n      else\n      {\n        udp_rn = (struct mib_list_rootnode*)udp_node->nptr;\n      }\n    }\n  }\n  udptable.maxlength = 1;\n}\n\n/**\n * Removes udpTable indexes (.udpLocalAddress.udpLocalPort)\n * from index tree.\n */\nvoid snmp_delete_udpidx_tree(struct udp_pcb *pcb)\n{\n  struct udp_pcb *npcb;\n  struct mib_list_rootnode *udp_rn, *next, *del_rn[5];\n  struct mib_list_node *udp_n, *del_n[5];\n  s32_t udpidx[5];\n  u8_t bindings, fc, level, del_cnt;\n\n  LWIP_ASSERT(\"pcb != NULL\", pcb != NULL);\n  snmp_iptooid(&pcb->local_ip, &udpidx[0]);\n  udpidx[4] = pcb->local_port;\n\n  /* count PCBs for a given binding\n     (e.g. when reusing ports or for temp output PCBs) */\n  bindings = 0;\n  npcb = udp_pcbs;\n  while ((npcb != NULL))\n  {\n    if (ip_addr_cmp(&npcb->local_ip, &pcb->local_ip) &&\n        (npcb->local_port == udpidx[4]))\n    {\n      bindings++;\n    }\n    npcb = npcb->next;\n  }\n  if (bindings == 1)\n  {\n    /* selectively remove */\n    /* mark nodes for deletion */\n    level = 0;\n    del_cnt = 0;\n    udp_rn = &udp_root;\n    while ((level < 5) && (udp_rn != NULL))\n    {\n      fc = snmp_mib_node_find(udp_rn, udpidx[level], &udp_n);\n      if (fc == 0)\n      {\n        /* udpidx[level] does not exist */\n        del_cnt = 0;\n        udp_rn = NULL;\n      }\n      else if (fc == 1)\n      {\n        del_rn[del_cnt] = udp_rn;\n        del_n[del_cnt] = udp_n;\n        del_cnt++;\n        udp_rn = (struct mib_list_rootnode*)(udp_n->nptr);\n      }\n      else if (fc == 2)\n      {\n        /* reset delete (2 or more childs) */\n        del_cnt = 0;\n        udp_rn = (struct mib_list_rootnode*)(udp_n->nptr);\n      }\n      level++;\n    }\n    /* delete marked index nodes */\n    while (del_cnt > 0)\n    {\n      del_cnt--;\n\n      udp_rn = del_rn[del_cnt];\n      udp_n = del_n[del_cnt];\n\n      next = snmp_mib_node_delete(udp_rn, udp_n);\n      if (next != NULL)\n      {\n        LWIP_ASSERT(\"next_count == 0\",next->count == 0);\n        snmp_mib_lrn_free(next);\n      }\n    }\n  }\n  /* disable getnext traversal on empty table */\n  if (udp_root.count == 0) udptable.maxlength = 0;\n}\n\n\nvoid snmp_inc_snmpinpkts(void)\n{\n  snmpinpkts++;\n}\n\nvoid snmp_inc_snmpoutpkts(void)\n{\n  snmpoutpkts++;\n}\n\nvoid snmp_inc_snmpinbadversions(void)\n{\n  snmpinbadversions++;\n}\n\nvoid snmp_inc_snmpinbadcommunitynames(void)\n{\n  snmpinbadcommunitynames++;\n}\n\nvoid snmp_inc_snmpinbadcommunityuses(void)\n{\n  snmpinbadcommunityuses++;\n}\n\nvoid snmp_inc_snmpinasnparseerrs(void)\n{\n  snmpinasnparseerrs++;\n}\n\nvoid snmp_inc_snmpintoobigs(void)\n{\n  snmpintoobigs++;\n}\n\nvoid snmp_inc_snmpinnosuchnames(void)\n{\n  snmpinnosuchnames++;\n}\n\nvoid snmp_inc_snmpinbadvalues(void)\n{\n  snmpinbadvalues++;\n}\n\nvoid snmp_inc_snmpinreadonlys(void)\n{\n  snmpinreadonlys++;\n}\n\nvoid snmp_inc_snmpingenerrs(void)\n{\n  snmpingenerrs++;\n}\n\nvoid snmp_add_snmpintotalreqvars(u8_t value)\n{\n  snmpintotalreqvars += value;\n}\n\nvoid snmp_add_snmpintotalsetvars(u8_t value)\n{\n  snmpintotalsetvars += value;\n}\n\nvoid snmp_inc_snmpingetrequests(void)\n{\n  snmpingetrequests++;\n}\n\nvoid snmp_inc_snmpingetnexts(void)\n{\n  snmpingetnexts++;\n}\n\nvoid snmp_inc_snmpinsetrequests(void)\n{\n  snmpinsetrequests++;\n}\n\nvoid snmp_inc_snmpingetresponses(void)\n{\n  snmpingetresponses++;\n}\n\nvoid snmp_inc_snmpintraps(void)\n{\n  snmpintraps++;\n}\n\nvoid snmp_inc_snmpouttoobigs(void)\n{\n  snmpouttoobigs++;\n}\n\nvoid snmp_inc_snmpoutnosuchnames(void)\n{\n  snmpoutnosuchnames++;\n}\n\nvoid snmp_inc_snmpoutbadvalues(void)\n{\n  snmpoutbadvalues++;\n}\n\nvoid snmp_inc_snmpoutgenerrs(void)\n{\n  snmpoutgenerrs++;\n}\n\nvoid snmp_inc_snmpoutgetrequests(void)\n{\n  snmpoutgetrequests++;\n}\n\nvoid snmp_inc_snmpoutgetnexts(void)\n{\n  snmpoutgetnexts++;\n}\n\nvoid snmp_inc_snmpoutsetrequests(void)\n{\n  snmpoutsetrequests++;\n}\n\nvoid snmp_inc_snmpoutgetresponses(void)\n{\n  snmpoutgetresponses++;\n}\n\nvoid snmp_inc_snmpouttraps(void)\n{\n  snmpouttraps++;\n}\n\nvoid snmp_get_snmpgrpid_ptr(struct snmp_obj_id **oid)\n{\n  *oid = &snmpgrp_id;\n}\n\nvoid snmp_set_snmpenableauthentraps(u8_t *value)\n{\n  if (value != NULL)\n  {\n    snmpenableauthentraps_ptr = value;\n  }\n}\n\nvoid snmp_get_snmpenableauthentraps(u8_t *value)\n{\n  *value = *snmpenableauthentraps_ptr;\n}\n\nvoid\nnoleafs_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  LWIP_UNUSED_ARG(ident_len);\n  LWIP_UNUSED_ARG(ident);\n  od->instance = MIB_OBJECT_NONE;\n}\n\nvoid\nnoleafs_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  LWIP_UNUSED_ARG(od);\n  LWIP_UNUSED_ARG(len);\n  LWIP_UNUSED_ARG(value);\n}\n\nu8_t\nnoleafs_set_test(struct obj_def *od, u16_t len, void *value)\n{\n  LWIP_UNUSED_ARG(od);\n  LWIP_UNUSED_ARG(len);\n  LWIP_UNUSED_ARG(value);\n  /* can't set */\n  return 0;\n}\n\nvoid\nnoleafs_set_value(struct obj_def *od, u16_t len, void *value)\n{\n  LWIP_UNUSED_ARG(od);\n  LWIP_UNUSED_ARG(len);\n  LWIP_UNUSED_ARG(value);\n}\n\n\n/**\n * Returns systems object definitions.\n *\n * @param ident_len the address length (2)\n * @param ident points to objectname.0 (object id trailer)\n * @param od points to object definition.\n */\nstatic void\nsystem_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  u8_t id;\n\n  /* return to object name, adding index depth (1) */\n  ident_len += 1;\n  ident -= 1;\n  if (ident_len == 2)\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    LWIP_ASSERT(\"invalid id\", (ident[0] >= 0) && (ident[0] <= 0xff));\n    id = (u8_t)ident[0];\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"get_object_def system.%\"U16_F\".0\\n\",(u16_t)id));\n    switch (id)\n    {\n      case 1: /* sysDescr */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR);\n        od->v_len = *sysdescr_len_ptr;\n        break;\n      case 2: /* sysObjectID */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OBJ_ID);\n        od->v_len = sysobjid.len * sizeof(s32_t);\n        break;\n      case 3: /* sysUpTime */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS);\n        od->v_len = sizeof(u32_t);\n        break;\n      case 4: /* sysContact */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR);\n        od->v_len = *syscontact_len_ptr;\n        break;\n      case 5: /* sysName */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR);\n        od->v_len = *sysname_len_ptr;\n        break;\n      case 6: /* sysLocation */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR);\n        od->v_len = *syslocation_len_ptr;\n        break;\n      case 7: /* sysServices */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"system_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    };\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"system_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\n/**\n * Returns system object value.\n *\n * @param ident_len the address length (2)\n * @param ident points to objectname.0 (object id trailer)\n * @param len return value space (in bytes)\n * @param value points to (varbind) space to copy value into.\n */\nstatic void\nsystem_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  u8_t id;\n\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 1: /* sysDescr */\n      ocstrncpy((u8_t*)value, sysdescr_ptr, len);\n      break;\n    case 2: /* sysObjectID */\n      objectidncpy((s32_t*)value, (s32_t*)sysobjid.id, (u8_t)(len / sizeof(s32_t)));\n      break;\n    case 3: /* sysUpTime */\n      {\n        snmp_get_sysuptime((u32_t*)value);\n      }\n      break;\n    case 4: /* sysContact */\n      ocstrncpy((u8_t*)value, syscontact_ptr, len);\n      break;\n    case 5: /* sysName */\n      ocstrncpy((u8_t*)value, sysname_ptr, len);\n      break;\n    case 6: /* sysLocation */\n      ocstrncpy((u8_t*)value, syslocation_ptr, len);\n      break;\n    case 7: /* sysServices */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n        *sint_ptr = sysservices;\n      }\n      break;\n  };\n}\n\nstatic u8_t\nsystem_set_test(struct obj_def *od, u16_t len, void *value)\n{\n  u8_t id, set_ok;\n\n  LWIP_UNUSED_ARG(value);\n  set_ok = 0;\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 4: /* sysContact */\n      if ((syscontact_ptr != syscontact_default) &&\n          (len <= 255))\n      {\n        set_ok = 1;\n      }\n      break;\n    case 5: /* sysName */\n      if ((sysname_ptr != sysname_default) &&\n          (len <= 255))\n      {\n        set_ok = 1;\n      }\n      break;\n    case 6: /* sysLocation */\n      if ((syslocation_ptr != syslocation_default) &&\n          (len <= 255))\n      {\n        set_ok = 1;\n      }\n      break;\n  };\n  return set_ok;\n}\n\nstatic void\nsystem_set_value(struct obj_def *od, u16_t len, void *value)\n{\n  u8_t id;\n\n  LWIP_ASSERT(\"invalid len\", len <= 0xff);\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 4: /* sysContact */\n      ocstrncpy(syscontact_ptr, (u8_t*)value, len);\n      *syscontact_len_ptr = (u8_t)len;\n      break;\n    case 5: /* sysName */\n      ocstrncpy(sysname_ptr, (u8_t*)value, len);\n      *sysname_len_ptr = (u8_t)len;\n      break;\n    case 6: /* sysLocation */\n      ocstrncpy(syslocation_ptr, (u8_t*)value, len);\n      *syslocation_len_ptr = (u8_t)len;\n      break;\n  };\n}\n\n/**\n * Returns interfaces.ifnumber object definition.\n *\n * @param ident_len the address length (2)\n * @param ident points to objectname.index\n * @param od points to object definition.\n */\nstatic void\ninterfaces_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  /* return to object name, adding index depth (1) */\n  ident_len += 1;\n  ident -= 1;\n  if (ident_len == 2)\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    od->instance = MIB_OBJECT_SCALAR;\n    od->access = MIB_OBJECT_READ_ONLY;\n    od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n    od->v_len = sizeof(s32_t);\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"interfaces_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\n/**\n * Returns interfaces.ifnumber object value.\n *\n * @param ident_len the address length (2)\n * @param ident points to objectname.0 (object id trailer)\n * @param len return value space (in bytes)\n * @param value points to (varbind) space to copy value into.\n */\nstatic void\ninterfaces_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  LWIP_UNUSED_ARG(len);\n  if (od->id_inst_ptr[0] == 1)\n  {\n    s32_t *sint_ptr = (s32_t*)value;\n    *sint_ptr = iflist_root.count;\n  }\n}\n\n/**\n * Returns ifentry object definitions.\n *\n * @param ident_len the address length (2)\n * @param ident points to objectname.index\n * @param od points to object definition.\n */\nstatic void\nifentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  u8_t id;\n\n  /* return to object name, adding index depth (1) */\n  ident_len += 1;\n  ident -= 1;\n  if (ident_len == 2)\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    LWIP_ASSERT(\"invalid id\", (ident[0] >= 0) && (ident[0] <= 0xff));\n    id = (u8_t)ident[0];\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"get_object_def ifentry.%\"U16_F\"\\n\",(u16_t)id));\n    switch (id)\n    {\n      case 1: /* ifIndex */\n      case 3: /* ifType */\n      case 4: /* ifMtu */\n      case 8: /* ifOperStatus */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      case 2: /* ifDescr */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR);\n        /** @todo this should be some sort of sizeof(struct netif.name) */\n        od->v_len = 2;\n        break;\n      case 5: /* ifSpeed */\n      case 21: /* ifOutQLen */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE);\n        od->v_len = sizeof(u32_t);\n        break;\n      case 6: /* ifPhysAddress */\n        {\n          struct netif *netif;\n\n          snmp_ifindextonetif(ident[1], &netif);\n          od->instance = MIB_OBJECT_TAB;\n          od->access = MIB_OBJECT_READ_ONLY;\n          od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR);\n          od->v_len = netif->hwaddr_len;\n        }\n        break;\n      case 7: /* ifAdminStatus */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      case 9: /* ifLastChange */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS);\n        od->v_len = sizeof(u32_t);\n        break;\n      case 10: /* ifInOctets */\n      case 11: /* ifInUcastPkts */\n      case 12: /* ifInNUcastPkts */\n      case 13: /* ifInDiscarts */\n      case 14: /* ifInErrors */\n      case 15: /* ifInUnkownProtos */\n      case 16: /* ifOutOctets */\n      case 17: /* ifOutUcastPkts */\n      case 18: /* ifOutNUcastPkts */\n      case 19: /* ifOutDiscarts */\n      case 20: /* ifOutErrors */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER);\n        od->v_len = sizeof(u32_t);\n        break;\n      case 22: /* ifSpecific */\n        /** @note returning zeroDotZero (0.0) no media specific MIB support */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OBJ_ID);\n        od->v_len = ifspecific.len * sizeof(s32_t);\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ifentry_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    };\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ifentry_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\n/**\n * Returns ifentry object value.\n *\n * @param ident_len the address length (2)\n * @param ident points to objectname.0 (object id trailer)\n * @param len return value space (in bytes)\n * @param value points to (varbind) space to copy value into.\n */\nstatic void\nifentry_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  struct netif *netif;\n  u8_t id;\n\n  snmp_ifindextonetif(od->id_inst_ptr[1], &netif);\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 1: /* ifIndex */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n        *sint_ptr = od->id_inst_ptr[1];\n      }\n      break;\n    case 2: /* ifDescr */\n      ocstrncpy((u8_t*)value, (u8_t*)netif->name, len);\n      break;\n    case 3: /* ifType */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n        *sint_ptr = netif->link_type;\n      }\n      break;\n    case 4: /* ifMtu */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n        *sint_ptr = netif->mtu;\n      }\n      break;\n    case 5: /* ifSpeed */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->link_speed;\n      }\n      break;\n    case 6: /* ifPhysAddress */\n      ocstrncpy((u8_t*)value, netif->hwaddr, len);\n      break;\n    case 7: /* ifAdminStatus */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n        if (netif_is_up(netif))\n        {\n          if (netif_is_link_up(netif))\n          {\n            *sint_ptr = 1; /* up */\n          }\n          else\n          {\n            *sint_ptr = 7; /* lowerLayerDown */\n          }\n        }\n        else\n        {\n          *sint_ptr = 2; /* down */\n        }\n      }\n      break;\n    case 8: /* ifOperStatus */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n        if (netif_is_up(netif))\n        {\n          *sint_ptr = 1;\n        }\n        else\n        {\n          *sint_ptr = 2;\n        }\n      }\n      break;\n    case 9: /* ifLastChange */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->ts;\n      }\n      break;\n    case 10: /* ifInOctets */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->ifinoctets;\n      }\n      break;\n    case 11: /* ifInUcastPkts */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->ifinucastpkts;\n      }\n      break;\n    case 12: /* ifInNUcastPkts */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->ifinnucastpkts;\n      }\n      break;\n    case 13: /* ifInDiscarts */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->ifindiscards;\n      }\n      break;\n    case 14: /* ifInErrors */\n    case 15: /* ifInUnkownProtos */\n      /** @todo add these counters! */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = 0;\n      }\n      break;\n    case 16: /* ifOutOctets */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->ifoutoctets;\n      }\n      break;\n    case 17: /* ifOutUcastPkts */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->ifoutucastpkts;\n      }\n      break;\n    case 18: /* ifOutNUcastPkts */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->ifoutnucastpkts;\n      }\n      break;\n    case 19: /* ifOutDiscarts */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = netif->ifoutdiscards;\n      }\n      break;\n    case 20: /* ifOutErrors */\n       /** @todo add this counter! */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = 0;\n      }\n      break;\n    case 21: /* ifOutQLen */\n      /** @todo figure out if this must be 0 (no queue) or 1? */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = 0;\n      }\n      break;\n    case 22: /* ifSpecific */\n      objectidncpy((s32_t*)value, (s32_t*)ifspecific.id, (u8_t)(len / sizeof(s32_t)));\n      break;\n  };\n}\n\n#if !SNMP_SAFE_REQUESTS\nstatic u8_t\nifentry_set_test(struct obj_def *od, u16_t len, void *value)\n{\n  struct netif *netif;\n  u8_t id, set_ok;\n  LWIP_UNUSED_ARG(len);\n\n  set_ok = 0;\n  snmp_ifindextonetif(od->id_inst_ptr[1], &netif);\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 7: /* ifAdminStatus */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n        if (*sint_ptr == 1 || *sint_ptr == 2)\n          set_ok = 1;\n      }\n      break;\n  }\n  return set_ok;\n}\n\nstatic void\nifentry_set_value(struct obj_def *od, u16_t len, void *value)\n{\n  struct netif *netif;\n  u8_t id;\n  LWIP_UNUSED_ARG(len);\n\n  snmp_ifindextonetif(od->id_inst_ptr[1], &netif);\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 7: /* ifAdminStatus */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n        if (*sint_ptr == 1)\n        {\n          netif_set_up(netif);\n        }\n        else if (*sint_ptr == 2)\n        {\n          netif_set_down(netif);\n         }\n      }\n      break;\n  }\n}\n#endif /* SNMP_SAFE_REQUESTS */\n\n/**\n * Returns atentry object definitions.\n *\n * @param ident_len the address length (6)\n * @param ident points to objectname.atifindex.atnetaddress\n * @param od points to object definition.\n */\nstatic void\natentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  /* return to object name, adding index depth (5) */\n  ident_len += 5;\n  ident -= 5;\n\n  if (ident_len == 6)\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    switch (ident[0])\n    {\n      case 1: /* atIfIndex */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      case 2: /* atPhysAddress */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR);\n        od->v_len = 6; /** @todo try to use netif::hwaddr_len */\n        break;\n      case 3: /* atNetAddress */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR);\n        od->v_len = 4;\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"atentry_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    }\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"atentry_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\natentry_get_value(struct obj_def *od, u16_t len, void *value)\n{\n#if LWIP_ARP\n  u8_t id;\n  struct eth_addr* ethaddr_ret;\n  ip_addr_t* ipaddr_ret;\n#endif /* LWIP_ARP */\n  ip_addr_t ip;\n  struct netif *netif;\n\n  LWIP_UNUSED_ARG(len);\n  LWIP_UNUSED_ARG(value);/* if !LWIP_ARP */\n\n  snmp_ifindextonetif(od->id_inst_ptr[1], &netif);\n  snmp_oidtoip(&od->id_inst_ptr[2], &ip);\n\n#if LWIP_ARP /** @todo implement a netif_find_addr */\n  if (etharp_find_addr(netif, &ip, &ethaddr_ret, &ipaddr_ret) > -1)\n  {\n    LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n    id = (u8_t)od->id_inst_ptr[0];\n    switch (id)\n    {\n      case 1: /* atIfIndex */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n          *sint_ptr = od->id_inst_ptr[1];\n        }\n        break;\n      case 2: /* atPhysAddress */\n        {\n          struct eth_addr *dst = (struct eth_addr*)value;\n\n          *dst = *ethaddr_ret;\n        }\n        break;\n      case 3: /* atNetAddress */\n        {\n          ip_addr_t *dst = (ip_addr_t*)value;\n\n          *dst = *ipaddr_ret;\n        }\n        break;\n    }\n  }\n#endif /* LWIP_ARP */\n}\n\nstatic void\nip_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  u8_t id;\n\n  /* return to object name, adding index depth (1) */\n  ident_len += 1;\n  ident -= 1;\n  if (ident_len == 2)\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    LWIP_ASSERT(\"invalid id\", (ident[0] >= 0) && (ident[0] <= 0xff));\n    id = (u8_t)ident[0];\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"get_object_def ip.%\"U16_F\".0\\n\",(u16_t)id));\n    switch (id)\n    {\n      case 1: /* ipForwarding */\n      case 2: /* ipDefaultTTL */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      case 3: /* ipInReceives */\n      case 4: /* ipInHdrErrors */\n      case 5: /* ipInAddrErrors */\n      case 6: /* ipForwDatagrams */\n      case 7: /* ipInUnknownProtos */\n      case 8: /* ipInDiscards */\n      case 9: /* ipInDelivers */\n      case 10: /* ipOutRequests */\n      case 11: /* ipOutDiscards */\n      case 12: /* ipOutNoRoutes */\n      case 14: /* ipReasmReqds */\n      case 15: /* ipReasmOKs */\n      case 16: /* ipReasmFails */\n      case 17: /* ipFragOKs */\n      case 18: /* ipFragFails */\n      case 19: /* ipFragCreates */\n      case 23: /* ipRoutingDiscards */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER);\n        od->v_len = sizeof(u32_t);\n        break;\n      case 13: /* ipReasmTimeout */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ip_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    };\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ip_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\nip_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  u8_t id;\n\n  LWIP_UNUSED_ARG(len);\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 1: /* ipForwarding */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n#if IP_FORWARD\n        /* forwarding */\n        *sint_ptr = 1;\n#else\n        /* not-forwarding */\n        *sint_ptr = 2;\n#endif\n      }\n      break;\n    case 2: /* ipDefaultTTL */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n        *sint_ptr = IP_DEFAULT_TTL;\n      }\n      break;\n    case 3: /* ipInReceives */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipinreceives;\n      }\n      break;\n    case 4: /* ipInHdrErrors */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipinhdrerrors;\n      }\n      break;\n    case 5: /* ipInAddrErrors */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipinaddrerrors;\n      }\n      break;\n    case 6: /* ipForwDatagrams */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipforwdatagrams;\n      }\n      break;\n    case 7: /* ipInUnknownProtos */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipinunknownprotos;\n      }\n      break;\n    case 8: /* ipInDiscards */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipindiscards;\n      }\n      break;\n    case 9: /* ipInDelivers */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipindelivers;\n      }\n      break;\n    case 10: /* ipOutRequests */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipoutrequests;\n      }\n      break;\n    case 11: /* ipOutDiscards */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipoutdiscards;\n      }\n      break;\n    case 12: /* ipOutNoRoutes */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipoutnoroutes;\n      }\n      break;\n    case 13: /* ipReasmTimeout */\n      {\n        s32_t *sint_ptr = (s32_t*)value;\n#if IP_REASSEMBLY\n        *sint_ptr = IP_REASS_MAXAGE;\n#else\n        *sint_ptr = 0;\n#endif\n      }\n      break;\n    case 14: /* ipReasmReqds */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipreasmreqds;\n      }\n      break;\n    case 15: /* ipReasmOKs */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipreasmoks;\n      }\n      break;\n    case 16: /* ipReasmFails */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipreasmfails;\n      }\n      break;\n    case 17: /* ipFragOKs */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipfragoks;\n      }\n      break;\n    case 18: /* ipFragFails */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipfragfails;\n      }\n      break;\n    case 19: /* ipFragCreates */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = ipfragcreates;\n      }\n      break;\n    case 23: /* ipRoutingDiscards */\n      /** @todo can lwIP discard routes at all?? hardwire this to 0?? */\n      {\n        u32_t *uint_ptr = (u32_t*)value;\n        *uint_ptr = iproutingdiscards;\n      }\n      break;\n  };\n}\n\n/**\n * Test ip object value before setting.\n *\n * @param od is the object definition\n * @param len return value space (in bytes)\n * @param value points to (varbind) space to copy value from.\n *\n * @note we allow set if the value matches the hardwired value,\n *   otherwise return badvalue.\n */\nstatic u8_t\nip_set_test(struct obj_def *od, u16_t len, void *value)\n{\n  u8_t id, set_ok;\n  s32_t *sint_ptr = (s32_t*)value;\n\n  LWIP_UNUSED_ARG(len);\n  set_ok = 0;\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 1: /* ipForwarding */\n#if IP_FORWARD\n      /* forwarding */\n      if (*sint_ptr == 1)\n#else\n      /* not-forwarding */\n      if (*sint_ptr == 2)\n#endif\n      {\n        set_ok = 1;\n      }\n      break;\n    case 2: /* ipDefaultTTL */\n      if (*sint_ptr == IP_DEFAULT_TTL)\n      {\n        set_ok = 1;\n      }\n      break;\n  };\n  return set_ok;\n}\n\nstatic void\nip_addrentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  /* return to object name, adding index depth (4) */\n  ident_len += 4;\n  ident -= 4;\n\n  if (ident_len == 5)\n  {\n    u8_t id;\n\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    LWIP_ASSERT(\"invalid id\", (ident[0] >= 0) && (ident[0] <= 0xff));\n    id = (u8_t)ident[0];\n    switch (id)\n    {\n      case 1: /* ipAdEntAddr */\n      case 3: /* ipAdEntNetMask */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR);\n        od->v_len = 4;\n        break;\n      case 2: /* ipAdEntIfIndex */\n      case 4: /* ipAdEntBcastAddr */\n      case 5: /* ipAdEntReasmMaxSize */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ip_addrentry_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    }\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ip_addrentry_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\nip_addrentry_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  u8_t id;\n  u16_t ifidx;\n  ip_addr_t ip;\n  struct netif *netif = netif_list;\n\n  LWIP_UNUSED_ARG(len);\n  snmp_oidtoip(&od->id_inst_ptr[1], &ip);\n  ifidx = 0;\n  while ((netif != NULL) && !ip_addr_cmp(&ip, &netif->ip_addr))\n  {\n    netif = netif->next;\n    ifidx++;\n  }\n\n  if (netif != NULL)\n  {\n    LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n    id = (u8_t)od->id_inst_ptr[0];\n    switch (id)\n    {\n      case 1: /* ipAdEntAddr */\n        {\n          ip_addr_t *dst = (ip_addr_t*)value;\n          *dst = netif->ip_addr;\n        }\n        break;\n      case 2: /* ipAdEntIfIndex */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n          *sint_ptr = ifidx + 1;\n        }\n        break;\n      case 3: /* ipAdEntNetMask */\n        {\n          ip_addr_t *dst = (ip_addr_t*)value;\n          *dst = netif->netmask;\n        }\n        break;\n      case 4: /* ipAdEntBcastAddr */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n\n          /* lwIP oddity, there's no broadcast\n            address in the netif we can rely on */\n          *sint_ptr = IPADDR_BROADCAST & 1;\n        }\n        break;\n      case 5: /* ipAdEntReasmMaxSize */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n#if IP_REASSEMBLY\n          /* @todo The theoretical maximum is IP_REASS_MAX_PBUFS * size of the pbufs,\n           * but only if receiving one fragmented packet at a time.\n           * The current solution is to calculate for 2 simultaneous packets...\n           */\n          *sint_ptr = (IP_HLEN + ((IP_REASS_MAX_PBUFS/2) *\n            (PBUF_POOL_BUFSIZE - PBUF_LINK_HLEN - IP_HLEN)));\n#else\n          /** @todo returning MTU would be a bad thing and\n             returning a wild guess like '576' isn't good either */\n          *sint_ptr = 0;\n#endif\n        }\n        break;\n    }\n  }\n}\n\n/**\n * @note\n * lwIP IP routing is currently using the network addresses in netif_list.\n * if no suitable network IP is found in netif_list, the default_netif is used.\n */\nstatic void\nip_rteentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  u8_t id;\n\n  /* return to object name, adding index depth (4) */\n  ident_len += 4;\n  ident -= 4;\n\n  if (ident_len == 5)\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    LWIP_ASSERT(\"invalid id\", (ident[0] >= 0) && (ident[0] <= 0xff));\n    id = (u8_t)ident[0];\n    switch (id)\n    {\n      case 1: /* ipRouteDest */\n      case 7: /* ipRouteNextHop */\n      case 11: /* ipRouteMask */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR);\n        od->v_len = 4;\n        break;\n      case 2: /* ipRouteIfIndex */\n      case 3: /* ipRouteMetric1 */\n      case 4: /* ipRouteMetric2 */\n      case 5: /* ipRouteMetric3 */\n      case 6: /* ipRouteMetric4 */\n      case 8: /* ipRouteType */\n      case 10: /* ipRouteAge */\n      case 12: /* ipRouteMetric5 */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      case 9: /* ipRouteProto */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      case 13: /* ipRouteInfo */\n        /** @note returning zeroDotZero (0.0) no routing protocol specific MIB */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OBJ_ID);\n        od->v_len = iprouteinfo.len * sizeof(s32_t);\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ip_rteentry_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    }\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ip_rteentry_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\nip_rteentry_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  struct netif *netif;\n  ip_addr_t dest;\n  s32_t *ident;\n  u8_t id;\n\n  ident = od->id_inst_ptr;\n  snmp_oidtoip(&ident[1], &dest);\n\n  if (ip_addr_isany(&dest))\n  {\n    /* ip_route() uses default netif for default route */\n    netif = netif_default;\n  }\n  else\n  {\n    /* not using ip_route(), need exact match! */\n    netif = netif_list;\n    while ((netif != NULL) &&\n            !ip_addr_netcmp(&dest, &(netif->ip_addr), &(netif->netmask)) )\n    {\n      netif = netif->next;\n    }\n  }\n  if (netif != NULL)\n  {\n    LWIP_ASSERT(\"invalid id\", (ident[0] >= 0) && (ident[0] <= 0xff));\n    id = (u8_t)ident[0];\n    switch (id)\n    {\n      case 1: /* ipRouteDest */\n        {\n          ip_addr_t *dst = (ip_addr_t*)value;\n\n          if (ip_addr_isany(&dest))\n          {\n            /* default rte has 0.0.0.0 dest */\n            ip_addr_set_zero(dst);\n          }\n          else\n          {\n            /* netifs have netaddress dest */\n            ip_addr_get_network(dst, &netif->ip_addr, &netif->netmask);\n          }\n        }\n        break;\n      case 2: /* ipRouteIfIndex */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n\n          snmp_netiftoifindex(netif, sint_ptr);\n        }\n        break;\n      case 3: /* ipRouteMetric1 */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n\n          if (ip_addr_isany(&dest))\n          {\n            /* default rte has metric 1 */\n            *sint_ptr = 1;\n          }\n          else\n          {\n            /* other rtes have metric 0 */\n            *sint_ptr = 0;\n          }\n        }\n        break;\n      case 4: /* ipRouteMetric2 */\n      case 5: /* ipRouteMetric3 */\n      case 6: /* ipRouteMetric4 */\n      case 12: /* ipRouteMetric5 */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n          /* not used */\n          *sint_ptr = -1;\n        }\n        break;\n      case 7: /* ipRouteNextHop */\n        {\n          ip_addr_t *dst = (ip_addr_t*)value;\n\n          if (ip_addr_isany(&dest))\n          {\n            /* default rte: gateway */\n            *dst = netif->gw;\n          }\n          else\n          {\n            /* other rtes: netif ip_addr  */\n            *dst = netif->ip_addr;\n          }\n        }\n        break;\n      case 8: /* ipRouteType */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n\n          if (ip_addr_isany(&dest))\n          {\n            /* default rte is indirect */\n            *sint_ptr = 4;\n          }\n          else\n          {\n            /* other rtes are direct */\n            *sint_ptr = 3;\n          }\n        }\n        break;\n      case 9: /* ipRouteProto */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n          /* locally defined routes */\n          *sint_ptr = 2;\n        }\n        break;\n      case 10: /* ipRouteAge */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n          /** @todo (sysuptime - timestamp last change) / 100\n              @see snmp_insert_iprteidx_tree() */\n          *sint_ptr = 0;\n        }\n        break;\n      case 11: /* ipRouteMask */\n        {\n          ip_addr_t *dst = (ip_addr_t*)value;\n\n          if (ip_addr_isany(&dest))\n          {\n            /* default rte use 0.0.0.0 mask */\n            ip_addr_set_zero(dst);\n          }\n          else\n          {\n            /* other rtes use netmask */\n            *dst = netif->netmask;\n          }\n        }\n        break;\n      case 13: /* ipRouteInfo */\n        objectidncpy((s32_t*)value, (s32_t*)iprouteinfo.id, (u8_t)(len / sizeof(s32_t)));\n        break;\n    }\n  }\n}\n\nstatic void\nip_ntomentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  /* return to object name, adding index depth (5) */\n  ident_len += 5;\n  ident -= 5;\n\n  if (ident_len == 6)\n  {\n    u8_t id;\n\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    LWIP_ASSERT(\"invalid id\", (ident[0] >= 0) && (ident[0] <= 0xff));\n    id = (u8_t)ident[0];\n    switch (id)\n    {\n      case 1: /* ipNetToMediaIfIndex */\n      case 4: /* ipNetToMediaType */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      case 2: /* ipNetToMediaPhysAddress */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR);\n        od->v_len = 6; /** @todo try to use netif::hwaddr_len */\n        break;\n      case 3: /* ipNetToMediaNetAddress */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR);\n        od->v_len = 4;\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ip_ntomentry_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    }\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ip_ntomentry_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\nip_ntomentry_get_value(struct obj_def *od, u16_t len, void *value)\n{\n#if LWIP_ARP\n  u8_t id;\n  struct eth_addr* ethaddr_ret;\n  ip_addr_t* ipaddr_ret;\n#endif /* LWIP_ARP */\n  ip_addr_t ip;\n  struct netif *netif;\n\n  LWIP_UNUSED_ARG(len);\n  LWIP_UNUSED_ARG(value);/* if !LWIP_ARP */\n\n  snmp_ifindextonetif(od->id_inst_ptr[1], &netif);\n  snmp_oidtoip(&od->id_inst_ptr[2], &ip);\n\n#if LWIP_ARP /** @todo implement a netif_find_addr */\n  if (etharp_find_addr(netif, &ip, &ethaddr_ret, &ipaddr_ret) > -1)\n  {\n    LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n    id = (u8_t)od->id_inst_ptr[0];\n    switch (id)\n    {\n      case 1: /* ipNetToMediaIfIndex */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n          *sint_ptr = od->id_inst_ptr[1];\n        }\n        break;\n      case 2: /* ipNetToMediaPhysAddress */\n        {\n          struct eth_addr *dst = (struct eth_addr*)value;\n\n          *dst = *ethaddr_ret;\n        }\n        break;\n      case 3: /* ipNetToMediaNetAddress */\n        {\n          ip_addr_t *dst = (ip_addr_t*)value;\n\n          *dst = *ipaddr_ret;\n        }\n        break;\n      case 4: /* ipNetToMediaType */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n          /* dynamic (?) */\n          *sint_ptr = 3;\n        }\n        break;\n    }\n  }\n#endif /* LWIP_ARP */\n}\n\nstatic void\nicmp_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  /* return to object name, adding index depth (1) */\n  ident_len += 1;\n  ident -= 1;\n  if ((ident_len == 2) &&\n      (ident[0] > 0) && (ident[0] < 27))\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    od->instance = MIB_OBJECT_SCALAR;\n    od->access = MIB_OBJECT_READ_ONLY;\n    od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER);\n    od->v_len = sizeof(u32_t);\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"icmp_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\nicmp_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  u32_t *uint_ptr = (u32_t*)value;\n  u8_t id;\n\n  LWIP_UNUSED_ARG(len);\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 1: /* icmpInMsgs */\n      *uint_ptr = icmpinmsgs;\n      break;\n    case 2: /* icmpInErrors */\n      *uint_ptr = icmpinerrors;\n      break;\n    case 3: /* icmpInDestUnreachs */\n      *uint_ptr = icmpindestunreachs;\n      break;\n    case 4: /* icmpInTimeExcds */\n      *uint_ptr = icmpintimeexcds;\n      break;\n    case 5: /* icmpInParmProbs */\n      *uint_ptr = icmpinparmprobs;\n      break;\n    case 6: /* icmpInSrcQuenchs */\n      *uint_ptr = icmpinsrcquenchs;\n      break;\n    case 7: /* icmpInRedirects */\n      *uint_ptr = icmpinredirects;\n      break;\n    case 8: /* icmpInEchos */\n      *uint_ptr = icmpinechos;\n      break;\n    case 9: /* icmpInEchoReps */\n      *uint_ptr = icmpinechoreps;\n      break;\n    case 10: /* icmpInTimestamps */\n      *uint_ptr = icmpintimestamps;\n      break;\n    case 11: /* icmpInTimestampReps */\n      *uint_ptr = icmpintimestampreps;\n      break;\n    case 12: /* icmpInAddrMasks */\n      *uint_ptr = icmpinaddrmasks;\n      break;\n    case 13: /* icmpInAddrMaskReps */\n      *uint_ptr = icmpinaddrmaskreps;\n      break;\n    case 14: /* icmpOutMsgs */\n      *uint_ptr = icmpoutmsgs;\n      break;\n    case 15: /* icmpOutErrors */\n      *uint_ptr = icmpouterrors;\n      break;\n    case 16: /* icmpOutDestUnreachs */\n      *uint_ptr = icmpoutdestunreachs;\n      break;\n    case 17: /* icmpOutTimeExcds */\n      *uint_ptr = icmpouttimeexcds;\n      break;\n    case 18: /* icmpOutParmProbs */\n      *uint_ptr = icmpoutparmprobs;\n      break;\n    case 19: /* icmpOutSrcQuenchs */\n      *uint_ptr = icmpoutsrcquenchs;\n      break;\n    case 20: /* icmpOutRedirects */\n      *uint_ptr = icmpoutredirects;\n      break;\n    case 21: /* icmpOutEchos */\n      *uint_ptr = icmpoutechos;\n      break;\n    case 22: /* icmpOutEchoReps */\n      *uint_ptr = icmpoutechoreps;\n      break;\n    case 23: /* icmpOutTimestamps */\n      *uint_ptr = icmpouttimestamps;\n      break;\n    case 24: /* icmpOutTimestampReps */\n      *uint_ptr = icmpouttimestampreps;\n      break;\n    case 25: /* icmpOutAddrMasks */\n      *uint_ptr = icmpoutaddrmasks;\n      break;\n    case 26: /* icmpOutAddrMaskReps */\n      *uint_ptr = icmpoutaddrmaskreps;\n      break;\n  }\n}\n\n#if LWIP_TCP\n/** @todo tcp grp */\nstatic void\ntcp_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  u8_t id;\n\n  /* return to object name, adding index depth (1) */\n  ident_len += 1;\n  ident -= 1;\n  if (ident_len == 2)\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    LWIP_ASSERT(\"invalid id\", (ident[0] >= 0) && (ident[0] <= 0xff));\n    id = (u8_t)ident[0];\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"get_object_def tcp.%\"U16_F\".0\\n\",(u16_t)id));\n\n    switch (id)\n    {\n      case 1: /* tcpRtoAlgorithm */\n      case 2: /* tcpRtoMin */\n      case 3: /* tcpRtoMax */\n      case 4: /* tcpMaxConn */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      case 5: /* tcpActiveOpens */\n      case 6: /* tcpPassiveOpens */\n      case 7: /* tcpAttemptFails */\n      case 8: /* tcpEstabResets */\n      case 10: /* tcpInSegs */\n      case 11: /* tcpOutSegs */\n      case 12: /* tcpRetransSegs */\n      case 14: /* tcpInErrs */\n      case 15: /* tcpOutRsts */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER);\n        od->v_len = sizeof(u32_t);\n        break;\n      case 9: /* tcpCurrEstab */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE);\n        od->v_len = sizeof(u32_t);\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"tcp_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    };\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"tcp_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\ntcp_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  u32_t *uint_ptr = (u32_t*)value;\n  s32_t *sint_ptr = (s32_t*)value;\n  u8_t id;\n\n  LWIP_UNUSED_ARG(len);\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 1: /* tcpRtoAlgorithm, vanj(4) */\n      *sint_ptr = 4;\n      break;\n    case 2: /* tcpRtoMin */\n      /* @todo not the actual value, a guess,\n          needs to be calculated */\n      *sint_ptr = 1000;\n      break;\n    case 3: /* tcpRtoMax */\n      /* @todo not the actual value, a guess,\n         needs to be calculated */\n      *sint_ptr = 60000;\n      break;\n    case 4: /* tcpMaxConn */\n      *sint_ptr = MEMP_NUM_TCP_PCB;\n      break;\n    case 5: /* tcpActiveOpens */\n      *uint_ptr = tcpactiveopens;\n      break;\n    case 6: /* tcpPassiveOpens */\n      *uint_ptr = tcppassiveopens;\n      break;\n    case 7: /* tcpAttemptFails */\n      *uint_ptr = tcpattemptfails;\n      break;\n    case 8: /* tcpEstabResets */\n      *uint_ptr = tcpestabresets;\n      break;\n    case 9: /* tcpCurrEstab */\n      {\n        u16_t tcpcurrestab = 0;\n        struct tcp_pcb *pcb = tcp_active_pcbs;\n        while (pcb != NULL)\n        {\n          if ((pcb->state == ESTABLISHED) ||\n              (pcb->state == CLOSE_WAIT))\n          {\n            tcpcurrestab++;\n          }\n          pcb = pcb->next;\n        }\n        *uint_ptr = tcpcurrestab;\n      }\n      break;\n    case 10: /* tcpInSegs */\n      *uint_ptr = tcpinsegs;\n      break;\n    case 11: /* tcpOutSegs */\n      *uint_ptr = tcpoutsegs;\n      break;\n    case 12: /* tcpRetransSegs */\n      *uint_ptr = tcpretranssegs;\n      break;\n    case 14: /* tcpInErrs */\n      *uint_ptr = tcpinerrs;\n      break;\n    case 15: /* tcpOutRsts */\n      *uint_ptr = tcpoutrsts;\n      break;\n  }\n}\n#ifdef THIS_SEEMS_UNUSED\nstatic void\ntcpconnentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  /* return to object name, adding index depth (10) */\n  ident_len += 10;\n  ident -= 10;\n\n  if (ident_len == 11)\n  {\n    u8_t id;\n\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    id = ident[0];\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"get_object_def tcp.%\"U16_F\".0\\n\",(u16_t)id));\n\n    switch (id)\n    {\n      case 1: /* tcpConnState */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      case 2: /* tcpConnLocalAddress */\n      case 4: /* tcpConnRemAddress */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR);\n        od->v_len = 4;\n        break;\n      case 3: /* tcpConnLocalPort */\n      case 5: /* tcpConnRemPort */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"tcpconnentry_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    };\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"tcpconnentry_get_object_def: no such object\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\ntcpconnentry_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  ip_addr_t lip, rip;\n  u16_t lport, rport;\n  s32_t *ident;\n\n  ident = od->id_inst_ptr;\n  snmp_oidtoip(&ident[1], &lip);\n  lport = ident[5];\n  snmp_oidtoip(&ident[6], &rip);\n  rport = ident[10];\n\n  /** @todo find matching PCB */\n}\n#endif /* if 0 */\n#endif\n\nstatic void\nudp_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  /* return to object name, adding index depth (1) */\n  ident_len += 1;\n  ident -= 1;\n  if ((ident_len == 2) &&\n      (ident[0] > 0) && (ident[0] < 6))\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    od->instance = MIB_OBJECT_SCALAR;\n    od->access = MIB_OBJECT_READ_ONLY;\n    od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER);\n    od->v_len = sizeof(u32_t);\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"udp_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\nudp_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  u32_t *uint_ptr = (u32_t*)value;\n  u8_t id;\n\n  LWIP_UNUSED_ARG(len);\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n    case 1: /* udpInDatagrams */\n      *uint_ptr = udpindatagrams;\n      break;\n    case 2: /* udpNoPorts */\n      *uint_ptr = udpnoports;\n      break;\n    case 3: /* udpInErrors */\n      *uint_ptr = udpinerrors;\n      break;\n    case 4: /* udpOutDatagrams */\n      *uint_ptr = udpoutdatagrams;\n      break;\n  }\n}\n\nstatic void\nudpentry_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  /* return to object name, adding index depth (5) */\n  ident_len += 5;\n  ident -= 5;\n\n  if (ident_len == 6)\n  {\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    switch (ident[0])\n    {\n      case 1: /* udpLocalAddress */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR);\n        od->v_len = 4;\n        break;\n      case 2: /* udpLocalPort */\n        od->instance = MIB_OBJECT_TAB;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"udpentry_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    }\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"udpentry_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\nudpentry_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  u8_t id;\n  struct udp_pcb *pcb;\n  ip_addr_t ip;\n  u16_t port;\n\n  LWIP_UNUSED_ARG(len);\n  snmp_oidtoip(&od->id_inst_ptr[1], &ip);\n  LWIP_ASSERT(\"invalid port\", (od->id_inst_ptr[5] >= 0) && (od->id_inst_ptr[5] <= 0xffff));\n  port = (u16_t)od->id_inst_ptr[5];\n\n  pcb = udp_pcbs;\n  while ((pcb != NULL) &&\n         !(ip_addr_cmp(&pcb->local_ip, &ip) &&\n           (pcb->local_port == port)))\n  {\n    pcb = pcb->next;\n  }\n\n  if (pcb != NULL)\n  {\n    LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n    id = (u8_t)od->id_inst_ptr[0];\n    switch (id)\n    {\n      case 1: /* udpLocalAddress */\n        {\n          ip_addr_t *dst = (ip_addr_t*)value;\n          *dst = pcb->local_ip;\n        }\n        break;\n      case 2: /* udpLocalPort */\n        {\n          s32_t *sint_ptr = (s32_t*)value;\n          *sint_ptr = pcb->local_port;\n        }\n        break;\n    }\n  }\n}\n\nstatic void\nsnmp_get_object_def(u8_t ident_len, s32_t *ident, struct obj_def *od)\n{\n  /* return to object name, adding index depth (1) */\n  ident_len += 1;\n  ident -= 1;\n  if (ident_len == 2)\n  {\n    u8_t id;\n\n    od->id_inst_len = ident_len;\n    od->id_inst_ptr = ident;\n\n    LWIP_ASSERT(\"invalid id\", (ident[0] >= 0) && (ident[0] <= 0xff));\n    id = (u8_t)ident[0];\n    switch (id)\n    {\n      case 1: /* snmpInPkts */\n      case 2: /* snmpOutPkts */\n      case 3: /* snmpInBadVersions */\n      case 4: /* snmpInBadCommunityNames */\n      case 5: /* snmpInBadCommunityUses */\n      case 6: /* snmpInASNParseErrs */\n      case 8: /* snmpInTooBigs */\n      case 9: /* snmpInNoSuchNames */\n      case 10: /* snmpInBadValues */\n      case 11: /* snmpInReadOnlys */\n      case 12: /* snmpInGenErrs */\n      case 13: /* snmpInTotalReqVars */\n      case 14: /* snmpInTotalSetVars */\n      case 15: /* snmpInGetRequests */\n      case 16: /* snmpInGetNexts */\n      case 17: /* snmpInSetRequests */\n      case 18: /* snmpInGetResponses */\n      case 19: /* snmpInTraps */\n      case 20: /* snmpOutTooBigs */\n      case 21: /* snmpOutNoSuchNames */\n      case 22: /* snmpOutBadValues */\n      case 24: /* snmpOutGenErrs */\n      case 25: /* snmpOutGetRequests */\n      case 26: /* snmpOutGetNexts */\n      case 27: /* snmpOutSetRequests */\n      case 28: /* snmpOutGetResponses */\n      case 29: /* snmpOutTraps */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_ONLY;\n        od->asn_type = (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER);\n        od->v_len = sizeof(u32_t);\n        break;\n      case 30: /* snmpEnableAuthenTraps */\n        od->instance = MIB_OBJECT_SCALAR;\n        od->access = MIB_OBJECT_READ_WRITE;\n        od->asn_type = (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG);\n        od->v_len = sizeof(s32_t);\n        break;\n      default:\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"snmp_get_object_def: no such object\\n\"));\n        od->instance = MIB_OBJECT_NONE;\n        break;\n    };\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"snmp_get_object_def: no scalar\\n\"));\n    od->instance = MIB_OBJECT_NONE;\n  }\n}\n\nstatic void\nsnmp_get_value(struct obj_def *od, u16_t len, void *value)\n{\n  u32_t *uint_ptr = (u32_t*)value;\n  u8_t id;\n\n  LWIP_UNUSED_ARG(len);\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  switch (id)\n  {\n      case 1: /* snmpInPkts */\n        *uint_ptr = snmpinpkts;\n        break;\n      case 2: /* snmpOutPkts */\n        *uint_ptr = snmpoutpkts;\n        break;\n      case 3: /* snmpInBadVersions */\n        *uint_ptr = snmpinbadversions;\n        break;\n      case 4: /* snmpInBadCommunityNames */\n        *uint_ptr = snmpinbadcommunitynames;\n        break;\n      case 5: /* snmpInBadCommunityUses */\n        *uint_ptr = snmpinbadcommunityuses;\n        break;\n      case 6: /* snmpInASNParseErrs */\n        *uint_ptr = snmpinasnparseerrs;\n        break;\n      case 8: /* snmpInTooBigs */\n        *uint_ptr = snmpintoobigs;\n        break;\n      case 9: /* snmpInNoSuchNames */\n        *uint_ptr = snmpinnosuchnames;\n        break;\n      case 10: /* snmpInBadValues */\n        *uint_ptr = snmpinbadvalues;\n        break;\n      case 11: /* snmpInReadOnlys */\n        *uint_ptr = snmpinreadonlys;\n        break;\n      case 12: /* snmpInGenErrs */\n        *uint_ptr = snmpingenerrs;\n        break;\n      case 13: /* snmpInTotalReqVars */\n        *uint_ptr = snmpintotalreqvars;\n        break;\n      case 14: /* snmpInTotalSetVars */\n        *uint_ptr = snmpintotalsetvars;\n        break;\n      case 15: /* snmpInGetRequests */\n        *uint_ptr = snmpingetrequests;\n        break;\n      case 16: /* snmpInGetNexts */\n        *uint_ptr = snmpingetnexts;\n        break;\n      case 17: /* snmpInSetRequests */\n        *uint_ptr = snmpinsetrequests;\n        break;\n      case 18: /* snmpInGetResponses */\n        *uint_ptr = snmpingetresponses;\n        break;\n      case 19: /* snmpInTraps */\n        *uint_ptr = snmpintraps;\n        break;\n      case 20: /* snmpOutTooBigs */\n        *uint_ptr = snmpouttoobigs;\n        break;\n      case 21: /* snmpOutNoSuchNames */\n        *uint_ptr = snmpoutnosuchnames;\n        break;\n      case 22: /* snmpOutBadValues */\n        *uint_ptr = snmpoutbadvalues;\n        break;\n      case 24: /* snmpOutGenErrs */\n        *uint_ptr = snmpoutgenerrs;\n        break;\n      case 25: /* snmpOutGetRequests */\n        *uint_ptr = snmpoutgetrequests;\n        break;\n      case 26: /* snmpOutGetNexts */\n        *uint_ptr = snmpoutgetnexts;\n        break;\n      case 27: /* snmpOutSetRequests */\n        *uint_ptr = snmpoutsetrequests;\n        break;\n      case 28: /* snmpOutGetResponses */\n        *uint_ptr = snmpoutgetresponses;\n        break;\n      case 29: /* snmpOutTraps */\n        *uint_ptr = snmpouttraps;\n        break;\n      case 30: /* snmpEnableAuthenTraps */\n        *uint_ptr = *snmpenableauthentraps_ptr;\n        break;\n  };\n}\n\n/**\n * Test snmp object value before setting.\n *\n * @param od is the object definition\n * @param len return value space (in bytes)\n * @param value points to (varbind) space to copy value from.\n */\nstatic u8_t\nsnmp_set_test(struct obj_def *od, u16_t len, void *value)\n{\n  u8_t id, set_ok;\n\n  LWIP_UNUSED_ARG(len);\n  set_ok = 0;\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  if (id == 30)\n  {\n    /* snmpEnableAuthenTraps */\n    s32_t *sint_ptr = (s32_t*)value;\n\n    if (snmpenableauthentraps_ptr != &snmpenableauthentraps_default)\n    {\n      /* we should have writable non-volatile mem here */\n      if ((*sint_ptr == 1) || (*sint_ptr == 2))\n      {\n        set_ok = 1;\n      }\n    }\n    else\n    {\n      /* const or hardwired value */\n      if (*sint_ptr == snmpenableauthentraps_default)\n      {\n        set_ok = 1;\n      }\n    }\n  }\n  return set_ok;\n}\n\nstatic void\nsnmp_set_value(struct obj_def *od, u16_t len, void *value)\n{\n  u8_t id;\n\n  LWIP_UNUSED_ARG(len);\n  LWIP_ASSERT(\"invalid id\", (od->id_inst_ptr[0] >= 0) && (od->id_inst_ptr[0] <= 0xff));\n  id = (u8_t)od->id_inst_ptr[0];\n  if (id == 30)\n  {\n    /* snmpEnableAuthenTraps */\n    /* @todo @fixme: which kind of pointer is 'value'? s32_t or u8_t??? */\n    u8_t *ptr = (u8_t*)value;\n    *snmpenableauthentraps_ptr = *ptr;\n  }\n}\n\n#endif /* LWIP_SNMP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/snmp/mib_structs.c",
    "content": "/**\n * @file\n * MIB tree access/construction functions.\n */\n\n/*\n * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Christiaan Simons <christiaan.simons@axon.tv>\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/snmp_structs.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/netif.h\"\n\n/** .iso.org.dod.internet address prefix, @see snmp_iso_*() */\nconst s32_t prefix[4] = {1, 3, 6, 1};\n\n#define NODE_STACK_SIZE (LWIP_SNMP_OBJ_ID_LEN)\n/** node stack entry (old news?) */\nstruct nse\n{\n  /** right child */\n  struct mib_node* r_ptr;\n  /** right child identifier */\n  s32_t r_id;\n  /** right child next level */\n  u8_t r_nl;\n};\nstatic u8_t node_stack_cnt;\nstatic struct nse node_stack[NODE_STACK_SIZE];\n\n/**\n * Pushes nse struct onto stack.\n */\nstatic void\npush_node(struct nse* node)\n{\n  LWIP_ASSERT(\"node_stack_cnt < NODE_STACK_SIZE\",node_stack_cnt < NODE_STACK_SIZE);\n  LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"push_node() node=%p id=%\"S32_F\"\\n\",(void*)(node->r_ptr),node->r_id));\n  if (node_stack_cnt < NODE_STACK_SIZE)\n  {\n    node_stack[node_stack_cnt] = *node;\n    node_stack_cnt++;\n  }\n}\n\n/**\n * Pops nse struct from stack.\n */\nstatic void\npop_node(struct nse* node)\n{\n  if (node_stack_cnt > 0)\n  {\n    node_stack_cnt--;\n    *node = node_stack[node_stack_cnt];\n  }\n  LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"pop_node() node=%p id=%\"S32_F\"\\n\",(void *)(node->r_ptr),node->r_id));\n}\n\n/**\n * Conversion from ifIndex to lwIP netif\n * @param ifindex is a s32_t object sub-identifier\n * @param netif points to returned netif struct pointer\n */\nvoid\nsnmp_ifindextonetif(s32_t ifindex, struct netif **netif)\n{\n  struct netif *nif = netif_list;\n  s32_t i, ifidx;\n\n  ifidx = ifindex - 1;\n  i = 0;\n  while ((nif != NULL) && (i < ifidx))\n  {\n    nif = nif->next;\n    i++;\n  }\n  *netif = nif;\n}\n\n/**\n * Conversion from lwIP netif to ifIndex\n * @param netif points to a netif struct\n * @param ifidx points to s32_t object sub-identifier\n */\nvoid\nsnmp_netiftoifindex(struct netif *netif, s32_t *ifidx)\n{\n  struct netif *nif = netif_list;\n  u16_t i;\n\n  i = 0;\n  while ((nif != NULL) && (nif != netif))\n  {\n    nif = nif->next;\n    i++;\n  }\n  *ifidx = i+1;\n}\n\n/**\n * Conversion from oid to lwIP ip_addr\n * @param ident points to s32_t ident[4] input\n * @param ip points to output struct\n */\nvoid\nsnmp_oidtoip(s32_t *ident, ip_addr_t *ip)\n{\n  IP4_ADDR(ip, ident[0], ident[1], ident[2], ident[3]);\n}\n\n/**\n * Conversion from lwIP ip_addr to oid\n * @param ip points to input struct\n * @param ident points to s32_t ident[4] output\n */\nvoid\nsnmp_iptooid(ip_addr_t *ip, s32_t *ident)\n{\n  ident[0] = ip4_addr1(ip);\n  ident[1] = ip4_addr2(ip);\n  ident[2] = ip4_addr3(ip);\n  ident[3] = ip4_addr4(ip);\n}\n\nstruct mib_list_node *\nsnmp_mib_ln_alloc(s32_t id)\n{\n  struct mib_list_node *ln;\n\n  ln = (struct mib_list_node *)memp_malloc(MEMP_SNMP_NODE);\n  if (ln != NULL)\n  {\n    ln->prev = NULL;\n    ln->next = NULL;\n    ln->objid = id;\n    ln->nptr = NULL;\n  }\n  return ln;\n}\n\nvoid\nsnmp_mib_ln_free(struct mib_list_node *ln)\n{\n  memp_free(MEMP_SNMP_NODE, ln);\n}\n\nstruct mib_list_rootnode *\nsnmp_mib_lrn_alloc(void)\n{\n  struct mib_list_rootnode *lrn;\n\n  lrn = (struct mib_list_rootnode*)memp_malloc(MEMP_SNMP_ROOTNODE);\n  if (lrn != NULL)\n  {\n    lrn->get_object_def = noleafs_get_object_def;\n    lrn->get_value = noleafs_get_value;\n    lrn->set_test = noleafs_set_test;\n    lrn->set_value = noleafs_set_value;\n    lrn->node_type = MIB_NODE_LR;\n    lrn->maxlength = 0;\n    lrn->head = NULL;\n    lrn->tail = NULL;\n    lrn->count = 0;\n  }\n  return lrn;\n}\n\nvoid\nsnmp_mib_lrn_free(struct mib_list_rootnode *lrn)\n{\n  memp_free(MEMP_SNMP_ROOTNODE, lrn);\n}\n\n/**\n * Inserts node in idx list in a sorted\n * (ascending order) fashion and\n * allocates the node if needed.\n *\n * @param rn points to the root node\n * @param objid is the object sub identifier\n * @param insn points to a pointer to the inserted node\n *   used for constructing the tree.\n * @return -1 if failed, 1 if inserted, 2 if present.\n */\ns8_t\nsnmp_mib_node_insert(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_node **insn)\n{\n  struct mib_list_node *nn;\n  s8_t insert;\n\n  LWIP_ASSERT(\"rn != NULL\",rn != NULL);\n\n  /* -1 = malloc failure, 0 = not inserted, 1 = inserted, 2 = was present */\n  insert = 0;\n  if (rn->head == NULL)\n  {\n    /* empty list, add first node */\n    LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"alloc empty list objid==%\"S32_F\"\\n\",objid));\n    nn = snmp_mib_ln_alloc(objid);\n    if (nn != NULL)\n    {\n      rn->head = nn;\n      rn->tail = nn;\n      *insn = nn;\n      insert = 1;\n    }\n    else\n    {\n      insert = -1;\n    }\n  }\n  else\n  {\n    struct mib_list_node *n;\n    /* at least one node is present */\n    n = rn->head;\n    while ((n != NULL) && (insert == 0))\n    {\n      if (n->objid == objid)\n      {\n        /* node is already there */\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"node already there objid==%\"S32_F\"\\n\",objid));\n        *insn = n;\n        insert = 2;\n      }\n      else if (n->objid < objid)\n      {\n        if (n->next == NULL)\n        {\n          /* alloc and insert at the tail */\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"alloc ins tail objid==%\"S32_F\"\\n\",objid));\n          nn = snmp_mib_ln_alloc(objid);\n          if (nn != NULL)\n          {\n            nn->next = NULL;\n            nn->prev = n;\n            n->next = nn;\n            rn->tail = nn;\n            *insn = nn;\n            insert = 1;\n          }\n          else\n          {\n            /* insertion failure */\n            insert = -1;\n          }\n        }\n        else\n        {\n          /* there's more to explore: traverse list */\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"traverse list\\n\"));\n          n = n->next;\n        }\n      }\n      else\n      {\n        /* n->objid > objid */\n        /* alloc and insert between n->prev and n */\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"alloc ins n->prev, objid==%\"S32_F\", n\\n\",objid));\n        nn = snmp_mib_ln_alloc(objid);\n        if (nn != NULL)\n        {\n          if (n->prev == NULL)\n          {\n            /* insert at the head */\n            nn->next = n;\n            nn->prev = NULL;\n            rn->head = nn;\n            n->prev = nn;\n          }\n          else\n          {\n            /* insert in the middle */\n            nn->next = n;\n            nn->prev = n->prev;\n            n->prev->next = nn;\n            n->prev = nn;\n          }\n          *insn = nn;\n          insert = 1;\n        }\n        else\n        {\n          /* insertion failure */\n          insert = -1;\n        }\n      }\n    }\n  }\n  if (insert == 1)\n  {\n    rn->count += 1;\n  }\n  LWIP_ASSERT(\"insert != 0\",insert != 0);\n  return insert;\n}\n\n/**\n * Finds node in idx list and returns deletion mark.\n *\n * @param rn points to the root node\n * @param objid  is the object sub identifier\n * @param fn returns pointer to found node\n * @return 0 if not found, 1 if deletable,\n *   2 can't delete (2 or more children), 3 not a list_node\n */\ns8_t\nsnmp_mib_node_find(struct mib_list_rootnode *rn, s32_t objid, struct mib_list_node **fn)\n{\n  s8_t fc;\n  struct mib_list_node *n;\n\n  LWIP_ASSERT(\"rn != NULL\",rn != NULL);\n  n = rn->head;\n  while ((n != NULL) && (n->objid != objid))\n  {\n    n = n->next;\n  }\n  if (n == NULL)\n  {\n    fc = 0;\n  }\n  else if (n->nptr == NULL)\n  {\n    /* leaf, can delete node */\n    fc = 1;\n  }\n  else\n  {\n    struct mib_list_rootnode *r;\n\n    if (n->nptr->node_type == MIB_NODE_LR)\n    {\n      r = (struct mib_list_rootnode *)n->nptr;\n      if (r->count > 1)\n      {\n        /* can't delete node */\n        fc = 2;\n      }\n      else\n      {\n        /* count <= 1, can delete node */\n        fc = 1;\n      }\n    }\n    else\n    {\n      /* other node type */\n      fc = 3;\n    }\n  }\n  *fn = n;\n  return fc;\n}\n\n/**\n * Removes node from idx list\n * if it has a single child left.\n *\n * @param rn points to the root node\n * @param n points to the node to delete\n * @return the nptr to be freed by caller\n */\nstruct mib_list_rootnode *\nsnmp_mib_node_delete(struct mib_list_rootnode *rn, struct mib_list_node *n)\n{\n  struct mib_list_rootnode *next;\n\n  LWIP_ASSERT(\"rn != NULL\",rn != NULL);\n  LWIP_ASSERT(\"n != NULL\",n != NULL);\n\n  /* caller must remove this sub-tree */\n  next = (struct mib_list_rootnode*)(n->nptr);\n  rn->count -= 1;\n\n  if (n == rn->head)\n  {\n    rn->head = n->next;\n    if (n->next != NULL)\n    {\n      /* not last node, new list begin */\n      n->next->prev = NULL;\n    }\n  }\n  else if (n == rn->tail)\n  {\n    rn->tail = n->prev;\n    if (n->prev != NULL)\n    {\n      /* not last node, new list end */\n      n->prev->next = NULL;\n    }\n  }\n  else\n  {\n    /* node must be in the middle */\n    n->prev->next = n->next;\n    n->next->prev = n->prev;\n  }\n  LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"free list objid==%\"S32_F\"\\n\",n->objid));\n  snmp_mib_ln_free(n);\n  if (rn->count == 0)\n  {\n    rn->head = NULL;\n    rn->tail = NULL;\n  }\n  return next;\n}\n\n\n\n/**\n * Searches tree for the supplied (scalar?) object identifier.\n *\n * @param node points to the root of the tree ('.internet')\n * @param ident_len the length of the supplied object identifier\n * @param ident points to the array of sub identifiers\n * @param np points to the found object instance (return)\n * @return pointer to the requested parent (!) node if success, NULL otherwise\n */\nstruct mib_node *\nsnmp_search_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snmp_name_ptr *np)\n{\n  u8_t node_type, ext_level;\n\n  ext_level = 0;\n  LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"node==%p *ident==%\"S32_F\"\\n\",(void*)node,*ident));\n  while (node != NULL)\n  {\n    node_type = node->node_type;\n    if ((node_type == MIB_NODE_AR) || (node_type == MIB_NODE_RA))\n    {\n      struct mib_array_node *an;\n      u16_t i;\n\n      if (ident_len > 0)\n      {\n        /* array node (internal ROM or RAM, fixed length) */\n        an = (struct mib_array_node *)node;\n        i = 0;\n        while ((i < an->maxlength) && (an->objid[i] != *ident))\n        {\n          i++;\n        }\n        if (i < an->maxlength)\n        {\n          /* found it, if available proceed to child, otherwise inspect leaf */\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"an->objid[%\"U16_F\"]==%\"S32_F\" *ident==%\"S32_F\"\\n\",i,an->objid[i],*ident));\n          if (an->nptr[i] == NULL)\n          {\n            /* a scalar leaf OR table,\n               inspect remaining instance number / table index */\n            np->ident_len = ident_len;\n            np->ident = ident;\n            return (struct mib_node*)an;\n          }\n          else\n          {\n            /* follow next child pointer */\n            ident++;\n            ident_len--;\n            node = an->nptr[i];\n          }\n        }\n        else\n        {\n          /* search failed, identifier mismatch (nosuchname) */\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"an search failed *ident==%\"S32_F\"\\n\",*ident));\n          return NULL;\n        }\n      }\n      else\n      {\n        /* search failed, short object identifier (nosuchname) */\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"an search failed, short object identifier\\n\"));\n        return NULL;\n      }\n    }\n    else if(node_type == MIB_NODE_LR)\n    {\n      struct mib_list_rootnode *lrn;\n      struct mib_list_node *ln;\n\n      if (ident_len > 0)\n      {\n        /* list root node (internal 'RAM', variable length) */\n        lrn = (struct mib_list_rootnode *)node;\n        ln = lrn->head;\n        /* iterate over list, head to tail */\n        while ((ln != NULL) && (ln->objid != *ident))\n        {\n          ln = ln->next;\n        }\n        if (ln != NULL)\n        {\n          /* found it, proceed to child */;\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ln->objid==%\"S32_F\" *ident==%\"S32_F\"\\n\",ln->objid,*ident));\n          if (ln->nptr == NULL)\n          {\n            np->ident_len = ident_len;\n            np->ident = ident;\n            return (struct mib_node*)lrn;\n          }\n          else\n          {\n            /* follow next child pointer */\n            ident_len--;\n            ident++;\n            node = ln->nptr;\n          }\n        }\n        else\n        {\n          /* search failed */\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ln search failed *ident==%\"S32_F\"\\n\",*ident));\n          return NULL;\n        }\n      }\n      else\n      {\n        /* search failed, short object identifier (nosuchname) */\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ln search failed, short object identifier\\n\"));\n        return NULL;\n      }\n    }\n    else if(node_type == MIB_NODE_EX)\n    {\n      struct mib_external_node *en;\n      u16_t i, len;\n\n      if (ident_len > 0)\n      {\n        /* external node (addressing and access via functions) */\n        en = (struct mib_external_node *)node;\n\n        i = 0;\n        len = en->level_length(en->addr_inf,ext_level);\n        while ((i < len) && (en->ident_cmp(en->addr_inf,ext_level,i,*ident) != 0))\n        {\n          i++;\n        }\n        if (i < len)\n        {\n          s32_t debug_id;\n\n          en->get_objid(en->addr_inf,ext_level,i,&debug_id);\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"en->objid==%\"S32_F\" *ident==%\"S32_F\"\\n\",debug_id,*ident));\n          if ((ext_level + 1) == en->tree_levels)\n          {\n            np->ident_len = ident_len;\n            np->ident = ident;\n            return (struct mib_node*)en;\n          }\n          else\n          {\n            /* found it, proceed to child */\n            ident_len--;\n            ident++;\n            ext_level++;\n          }\n        }\n        else\n        {\n          /* search failed */\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"en search failed *ident==%\"S32_F\"\\n\",*ident));\n          return NULL;\n        }\n      }\n      else\n      {\n        /* search failed, short object identifier (nosuchname) */\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"en search failed, short object identifier\\n\"));\n        return NULL;\n      }\n    }\n    else if (node_type == MIB_NODE_SC)\n    {\n      mib_scalar_node *sn;\n\n      sn = (mib_scalar_node *)node;\n      if ((ident_len == 1) && (*ident == 0))\n      {\n        np->ident_len = ident_len;\n        np->ident = ident;\n        return (struct mib_node*)sn;\n      }\n      else\n      {\n        /* search failed, short object identifier (nosuchname) */\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"search failed, invalid object identifier length\\n\"));\n        return NULL;\n      }\n    }\n    else\n    {\n      /* unknown node_type */\n      LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"search failed node_type %\"U16_F\" unkown\\n\",(u16_t)node_type));\n      return NULL;\n    }\n  }\n  /* done, found nothing */\n  LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"search failed node==%p\\n\",(void*)node));\n  return NULL;\n}\n\n/**\n * Test table for presence of at least one table entry.\n */\nstatic u8_t\nempty_table(struct mib_node *node)\n{\n  u8_t node_type;\n  u8_t empty = 0;\n\n  if (node != NULL)\n  {\n    node_type = node->node_type;\n    if (node_type == MIB_NODE_LR)\n    {\n      struct mib_list_rootnode *lrn;\n      lrn = (struct mib_list_rootnode *)node;\n      if ((lrn->count == 0) || (lrn->head == NULL))\n      {\n        empty = 1;\n      }\n    }\n    else if ((node_type == MIB_NODE_AR) || (node_type == MIB_NODE_RA))\n    {\n      struct mib_array_node *an;\n      an = (struct mib_array_node *)node;\n      if ((an->maxlength == 0) || (an->nptr == NULL))\n      {\n        empty = 1;\n      }\n    }\n    else if (node_type == MIB_NODE_EX)\n    {\n      struct mib_external_node *en;\n      en = (struct mib_external_node *)node;\n      if (en->tree_levels == 0)\n      {\n        empty = 1;\n      }\n    }\n  }\n  return empty;\n}\n\n/**\n * Tree expansion.\n */\nstruct mib_node *\nsnmp_expand_tree(struct mib_node *node, u8_t ident_len, s32_t *ident, struct snmp_obj_id *oidret)\n{\n  u8_t node_type, ext_level, climb_tree;\n\n  ext_level = 0;\n  /* reset node stack */\n  node_stack_cnt = 0;\n  while (node != NULL)\n  {\n    climb_tree = 0;\n    node_type = node->node_type;\n    if ((node_type == MIB_NODE_AR) || (node_type == MIB_NODE_RA))\n    {\n      struct mib_array_node *an;\n      u16_t i;\n\n      /* array node (internal ROM or RAM, fixed length) */\n      an = (struct mib_array_node *)node;\n      if (ident_len > 0)\n      {\n        i = 0;\n        while ((i < an->maxlength) && (an->objid[i] < *ident))\n        {\n          i++;\n        }\n        if (i < an->maxlength)\n        {\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"an->objid[%\"U16_F\"]==%\"S32_F\" *ident==%\"S32_F\"\\n\",i,an->objid[i],*ident));\n          /* add identifier to oidret */\n          oidret->id[oidret->len] = an->objid[i];\n          (oidret->len)++;\n\n          if (an->nptr[i] == NULL)\n          {\n            LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"leaf node\\n\"));\n            /* leaf node (e.g. in a fixed size table) */\n            if (an->objid[i] > *ident)\n            {\n              return (struct mib_node*)an;\n            }\n            else if ((i + 1) < an->maxlength)\n            {\n              /* an->objid[i] == *ident */\n              (oidret->len)--;\n              oidret->id[oidret->len] = an->objid[i + 1];\n              (oidret->len)++;\n              return (struct mib_node*)an;\n            }\n            else\n            {\n              /* (i + 1) == an->maxlength */\n              (oidret->len)--;\n              climb_tree = 1;\n            }\n          }\n          else\n          {\n            u8_t j;\n            struct nse cur_node;\n\n            LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"non-leaf node\\n\"));\n            /* non-leaf, store right child ptr and id */\n            LWIP_ASSERT(\"i < 0xff\", i < 0xff);\n            j = (u8_t)i + 1;\n            while ((j < an->maxlength) && (empty_table(an->nptr[j])))\n            {\n              j++;\n            }\n            if (j < an->maxlength)\n            {\n              cur_node.r_ptr = an->nptr[j];\n              cur_node.r_id = an->objid[j];\n              cur_node.r_nl = 0;\n            }\n            else\n            {\n              cur_node.r_ptr = NULL;\n            }\n            push_node(&cur_node);\n            if (an->objid[i] == *ident)\n            {\n              ident_len--;\n              ident++;\n            }\n            else\n            {\n              /* an->objid[i] < *ident */\n              ident_len = 0;\n            }\n            /* follow next child pointer */\n            node = an->nptr[i];\n          }\n        }\n        else\n        {\n          /* i == an->maxlength */\n          climb_tree = 1;\n        }\n      }\n      else\n      {\n        u8_t j;\n        /* ident_len == 0, complete with leftmost '.thing' */\n        j = 0;\n        while ((j < an->maxlength) && empty_table(an->nptr[j]))\n        {\n          j++;\n        }\n        if (j < an->maxlength)\n        {\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"left an->objid[j]==%\"S32_F\"\\n\",an->objid[j]));\n          oidret->id[oidret->len] = an->objid[j];\n          (oidret->len)++;\n          if (an->nptr[j] == NULL)\n          {\n            /* leaf node */\n            return (struct mib_node*)an;\n          }\n          else\n          {\n            /* no leaf, continue */\n            node = an->nptr[j];\n          }\n        }\n        else\n        {\n          /* j == an->maxlength */\n          climb_tree = 1;\n        }\n      }\n    }\n    else if(node_type == MIB_NODE_LR)\n    {\n      struct mib_list_rootnode *lrn;\n      struct mib_list_node *ln;\n\n      /* list root node (internal 'RAM', variable length) */\n      lrn = (struct mib_list_rootnode *)node;\n      if (ident_len > 0)\n      {\n        ln = lrn->head;\n        /* iterate over list, head to tail */\n        while ((ln != NULL) && (ln->objid < *ident))\n        {\n          ln = ln->next;\n        }\n        if (ln != NULL)\n        {\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"ln->objid==%\"S32_F\" *ident==%\"S32_F\"\\n\",ln->objid,*ident));\n          oidret->id[oidret->len] = ln->objid;\n          (oidret->len)++;\n          if (ln->nptr == NULL)\n          {\n            /* leaf node */\n            if (ln->objid > *ident)\n            {\n              return (struct mib_node*)lrn;\n            }\n            else if (ln->next != NULL)\n            {\n              /* ln->objid == *ident */\n              (oidret->len)--;\n              oidret->id[oidret->len] = ln->next->objid;\n              (oidret->len)++;\n              return (struct mib_node*)lrn;\n            }\n            else\n            {\n              /* ln->next == NULL */\n              (oidret->len)--;\n              climb_tree = 1;\n            }\n          }\n          else\n          {\n            struct mib_list_node *jn;\n            struct nse cur_node;\n\n            /* non-leaf, store right child ptr and id */\n            jn = ln->next;\n            while ((jn != NULL) && empty_table(jn->nptr))\n            {\n              jn = jn->next;\n            }\n            if (jn != NULL)\n            {\n              cur_node.r_ptr = jn->nptr;\n              cur_node.r_id = jn->objid;\n              cur_node.r_nl = 0;\n            }\n            else\n            {\n              cur_node.r_ptr = NULL;\n            }\n            push_node(&cur_node);\n            if (ln->objid == *ident)\n            {\n              ident_len--;\n              ident++;\n            }\n            else\n            {\n              /* ln->objid < *ident */\n              ident_len = 0;\n            }\n            /* follow next child pointer */\n            node = ln->nptr;\n          }\n\n        }\n        else\n        {\n          /* ln == NULL */\n          climb_tree = 1;\n        }\n      }\n      else\n      {\n        struct mib_list_node *jn;\n        /* ident_len == 0, complete with leftmost '.thing' */\n        jn = lrn->head;\n        while ((jn != NULL) && empty_table(jn->nptr))\n        {\n          jn = jn->next;\n        }\n        if (jn != NULL)\n        {\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"left jn->objid==%\"S32_F\"\\n\",jn->objid));\n          oidret->id[oidret->len] = jn->objid;\n          (oidret->len)++;\n          if (jn->nptr == NULL)\n          {\n            /* leaf node */\n            LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"jn->nptr == NULL\\n\"));\n            return (struct mib_node*)lrn;\n          }\n          else\n          {\n            /* no leaf, continue */\n            node = jn->nptr;\n          }\n        }\n        else\n        {\n          /* jn == NULL */\n          climb_tree = 1;\n        }\n      }\n    }\n    else if(node_type == MIB_NODE_EX)\n    {\n      struct mib_external_node *en;\n      s32_t ex_id;\n\n      /* external node (addressing and access via functions) */\n      en = (struct mib_external_node *)node;\n      if (ident_len > 0)\n      {\n        u16_t i, len;\n\n        i = 0;\n        len = en->level_length(en->addr_inf,ext_level);\n        while ((i < len) && (en->ident_cmp(en->addr_inf,ext_level,i,*ident) < 0))\n        {\n          i++;\n        }\n        if (i < len)\n        {\n          /* add identifier to oidret */\n          en->get_objid(en->addr_inf,ext_level,i,&ex_id);\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"en->objid[%\"U16_F\"]==%\"S32_F\" *ident==%\"S32_F\"\\n\",i,ex_id,*ident));\n          oidret->id[oidret->len] = ex_id;\n          (oidret->len)++;\n\n          if ((ext_level + 1) == en->tree_levels)\n          {\n            LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"leaf node\\n\"));\n            /* leaf node */\n            if (ex_id > *ident)\n            {\n              return (struct mib_node*)en;\n            }\n            else if ((i + 1) < len)\n            {\n              /* ex_id == *ident */\n              en->get_objid(en->addr_inf,ext_level,i + 1,&ex_id);\n              (oidret->len)--;\n              oidret->id[oidret->len] = ex_id;\n              (oidret->len)++;\n              return (struct mib_node*)en;\n            }\n            else\n            {\n              /* (i + 1) == len */\n              (oidret->len)--;\n              climb_tree = 1;\n            }\n          }\n          else\n          {\n            u8_t j;\n            struct nse cur_node;\n\n            LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"non-leaf node\\n\"));\n            /* non-leaf, store right child ptr and id */\n            LWIP_ASSERT(\"i < 0xff\", i < 0xff);\n            j = (u8_t)i + 1;\n            if (j < len)\n            {\n              /* right node is the current external node */\n              cur_node.r_ptr = node;\n              en->get_objid(en->addr_inf,ext_level,j,&cur_node.r_id);\n              cur_node.r_nl = ext_level + 1;\n            }\n            else\n            {\n              cur_node.r_ptr = NULL;\n            }\n            push_node(&cur_node);\n            if (en->ident_cmp(en->addr_inf,ext_level,i,*ident) == 0)\n            {\n              ident_len--;\n              ident++;\n            }\n            else\n            {\n              /* external id < *ident */\n              ident_len = 0;\n            }\n            /* proceed to child */\n            ext_level++;\n          }\n        }\n        else\n        {\n          /* i == len (en->level_len()) */\n          climb_tree = 1;\n        }\n      }\n      else\n      {\n        /* ident_len == 0, complete with leftmost '.thing' */\n        en->get_objid(en->addr_inf,ext_level,0,&ex_id);\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"left en->objid==%\"S32_F\"\\n\",ex_id));\n        oidret->id[oidret->len] = ex_id;\n        (oidret->len)++;\n        if ((ext_level + 1) == en->tree_levels)\n        {\n          /* leaf node */\n          LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"(ext_level + 1) == en->tree_levels\\n\"));\n          return (struct mib_node*)en;\n        }\n        else\n        {\n          /* no leaf, proceed to child */\n          ext_level++;\n        }\n      }\n    }\n    else if(node_type == MIB_NODE_SC)\n    {\n      mib_scalar_node *sn;\n\n      /* scalar node  */\n      sn = (mib_scalar_node *)node;\n      if (ident_len > 0)\n      {\n        /* at .0 */\n        climb_tree = 1;\n      }\n      else\n      {\n        /* ident_len == 0, complete object identifier */\n        oidret->id[oidret->len] = 0;\n        (oidret->len)++;\n        /* leaf node */\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"completed scalar leaf\\n\"));\n        return (struct mib_node*)sn;\n      }\n    }\n    else\n    {\n      /* unknown/unhandled node_type */\n      LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"expand failed node_type %\"U16_F\" unkown\\n\",(u16_t)node_type));\n      return NULL;\n    }\n\n    if (climb_tree)\n    {\n      struct nse child;\n\n      /* find right child ptr */\n      child.r_ptr = NULL;\n      child.r_id = 0;\n      child.r_nl = 0;\n      while ((node_stack_cnt > 0) && (child.r_ptr == NULL))\n      {\n        pop_node(&child);\n        /* trim returned oid */\n        (oidret->len)--;\n      }\n      if (child.r_ptr != NULL)\n      {\n        /* incoming ident is useless beyond this point */\n        ident_len = 0;\n        oidret->id[oidret->len] = child.r_id;\n        oidret->len++;\n        node = child.r_ptr;\n        ext_level = child.r_nl;\n      }\n      else\n      {\n        /* tree ends here ... */\n        LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"expand failed, tree ends here\\n\"));\n        return NULL;\n      }\n    }\n  }\n  /* done, found nothing */\n  LWIP_DEBUGF(SNMP_MIB_DEBUG,(\"expand failed node==%p\\n\",(void*)node));\n  return NULL;\n}\n\n/**\n * Test object identifier for the iso.org.dod.internet prefix.\n *\n * @param ident_len the length of the supplied object identifier\n * @param ident points to the array of sub identifiers\n * @return 1 if it matches, 0 otherwise\n */\nu8_t\nsnmp_iso_prefix_tst(u8_t ident_len, s32_t *ident)\n{\n  if ((ident_len > 3) &&\n      (ident[0] == 1) && (ident[1] == 3) &&\n      (ident[2] == 6) && (ident[3] == 1))\n  {\n    return 1;\n  }\n  else\n  {\n    return 0;\n  }\n}\n\n/**\n * Expands object identifier to the iso.org.dod.internet\n * prefix for use in getnext operation.\n *\n * @param ident_len the length of the supplied object identifier\n * @param ident points to the array of sub identifiers\n * @param oidret points to returned expanded object identifier\n * @return 1 if it matches, 0 otherwise\n *\n * @note ident_len 0 is allowed, expanding to the first known object id!!\n */\nu8_t\nsnmp_iso_prefix_expand(u8_t ident_len, s32_t *ident, struct snmp_obj_id *oidret)\n{\n  const s32_t *prefix_ptr;\n  s32_t *ret_ptr;\n  u8_t i;\n\n  i = 0;\n  prefix_ptr = &prefix[0];\n  ret_ptr = &oidret->id[0];\n  ident_len = ((ident_len < 4)?ident_len:4);\n  while ((i < ident_len) && ((*ident) <= (*prefix_ptr)))\n  {\n    *ret_ptr++ = *prefix_ptr++;\n    ident++;\n    i++;\n  }\n  if (i == ident_len)\n  {\n    /* match, complete missing bits */\n    while (i < 4)\n    {\n      *ret_ptr++ = *prefix_ptr++;\n      i++;\n    }\n    oidret->len = i;\n    return 1;\n  }\n  else\n  {\n    /* i != ident_len */\n    return 0;\n  }\n}\n\n#endif /* LWIP_SNMP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/snmp/msg_in.c",
    "content": "/**\n * @file\n * SNMP input message processing (RFC1157).\n */\n\n/*\n * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Christiaan Simons <christiaan.simons@axon.tv>\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/snmp.h\"\n#include \"lwip/snmp_asn1.h\"\n#include \"lwip/snmp_msg.h\"\n#include \"lwip/snmp_structs.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/udp.h\"\n#include \"lwip/stats.h\"\n\n#include <string.h>\n\n/* public (non-static) constants */\n/** SNMP v1 == 0 */\nconst s32_t snmp_version = 0;\n/** default SNMP community string */\nconst char snmp_publiccommunity[7] = \"public\";\n\n/* statically allocated buffers for SNMP_CONCURRENT_REQUESTS */\nstruct snmp_msg_pstat msg_input_list[SNMP_CONCURRENT_REQUESTS];\n/* UDP Protocol Control Block */\nstruct udp_pcb *snmp1_pcb;\n\nstatic void snmp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *addr, u16_t port);\nstatic err_t snmp_pdu_header_check(struct pbuf *p, u16_t ofs, u16_t pdu_len, u16_t *ofs_ret, struct snmp_msg_pstat *m_stat);\nstatic err_t snmp_pdu_dec_varbindlist(struct pbuf *p, u16_t ofs, u16_t *ofs_ret, struct snmp_msg_pstat *m_stat);\n\n\n/**\n * Starts SNMP Agent.\n * Allocates UDP pcb and binds it to IP_ADDR_ANY port 161.\n */\nvoid\nsnmp_init(void)\n{\n  struct snmp_msg_pstat *msg_ps;\n  u8_t i;\n\n  snmp1_pcb = udp_new();\n  if (snmp1_pcb != NULL)\n  {\n    udp_recv(snmp1_pcb, snmp_recv, (void *)SNMP_IN_PORT);\n    udp_bind(snmp1_pcb, IP_ADDR_ANY, SNMP_IN_PORT);\n  }\n  msg_ps = &msg_input_list[0];\n  for (i=0; i<SNMP_CONCURRENT_REQUESTS; i++)\n  {\n    msg_ps->state = SNMP_MSG_EMPTY;\n    msg_ps->error_index = 0;\n    msg_ps->error_status = SNMP_ES_NOERROR;\n    msg_ps++;\n  }\n  trap_msg.pcb = snmp1_pcb;\n\n#ifdef SNMP_PRIVATE_MIB_INIT\n  /* If defined, this must be a function-like define to initialize the\n   * private MIB after the stack has been initialized.\n   * The private MIB can also be initialized in tcpip_callback (or after\n   * the stack is initialized), this define is only for convenience. */\n  SNMP_PRIVATE_MIB_INIT();\n#endif /* SNMP_PRIVATE_MIB_INIT */\n\n  /* The coldstart trap will only be output\n     if our outgoing interface is up & configured  */\n  snmp_coldstart_trap();\n}\n\nstatic void\nsnmp_error_response(struct snmp_msg_pstat *msg_ps, u8_t error)\n{\n  /* move names back from outvb to invb */\n  int v;\n  struct snmp_varbind *vbi = msg_ps->invb.head;\n  struct snmp_varbind *vbo = msg_ps->outvb.head;\n  for (v=0; v<msg_ps->vb_idx; v++) {\n    vbi->ident_len = vbo->ident_len;\n    vbo->ident_len = 0;\n    vbi->ident = vbo->ident;\n    vbo->ident = NULL;\n    vbi = vbi->next;\n    vbo = vbo->next;\n  }\n  /* free outvb */\n  snmp_varbind_list_free(&msg_ps->outvb);\n  /* we send invb back */\n  msg_ps->outvb = msg_ps->invb;\n  msg_ps->invb.head = NULL;\n  msg_ps->invb.tail = NULL;\n  msg_ps->invb.count = 0;\n  msg_ps->error_status = error;\n  /* error index must be 0 for error too big */\n  msg_ps->error_index = (error != SNMP_ES_TOOBIG) ? (1 + msg_ps->vb_idx) : 0;\n  snmp_send_response(msg_ps);\n  snmp_varbind_list_free(&msg_ps->outvb);\n  msg_ps->state = SNMP_MSG_EMPTY;\n}\n\nstatic void\nsnmp_ok_response(struct snmp_msg_pstat *msg_ps)\n{\n  err_t err_ret;\n\n  err_ret = snmp_send_response(msg_ps);\n  if (err_ret == ERR_MEM)\n  {\n    /* serious memory problem, can't return tooBig */\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_msg_event = %\"S32_F\"\\n\",msg_ps->error_status));\n  }\n  /* free varbinds (if available) */\n  snmp_varbind_list_free(&msg_ps->invb);\n  snmp_varbind_list_free(&msg_ps->outvb);\n  msg_ps->state = SNMP_MSG_EMPTY;\n}\n\n/**\n * Service an internal or external event for SNMP GET.\n *\n * @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1)\n * @param msg_ps points to the assosicated message process state\n */\nstatic void\nsnmp_msg_get_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)\n{\n  LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_msg_get_event: msg_ps->state==%\"U16_F\"\\n\",(u16_t)msg_ps->state));\n\n  if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF)\n  {\n    struct mib_external_node *en;\n    struct snmp_name_ptr np;\n\n    /* get_object_def() answer*/\n    en = msg_ps->ext_mib_node;\n    np = msg_ps->ext_name_ptr;\n\n    /* translate answer into a known lifeform */\n    en->get_object_def_a(request_id, np.ident_len, np.ident, &msg_ps->ext_object_def);\n    if ((msg_ps->ext_object_def.instance != MIB_OBJECT_NONE) &&\n        (msg_ps->ext_object_def.access & MIB_ACCESS_READ))\n    {\n      msg_ps->state = SNMP_MSG_EXTERNAL_GET_VALUE;\n      en->get_value_q(request_id, &msg_ps->ext_object_def);\n    }\n    else\n    {\n      en->get_object_def_pc(request_id, np.ident_len, np.ident);\n      /* search failed, object id points to unknown object (nosuchname) */\n      snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME);\n    }\n  }\n  else if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_VALUE)\n  {\n    struct mib_external_node *en;\n    struct snmp_varbind *vb;\n\n    /* get_value() answer */\n    en = msg_ps->ext_mib_node;\n\n    /* allocate output varbind */\n    vb = (struct snmp_varbind *)memp_malloc(MEMP_SNMP_VARBIND);\n    if (vb != NULL)\n    {\n      vb->next = NULL;\n      vb->prev = NULL;\n\n      /* move name from invb to outvb */\n      vb->ident = msg_ps->vb_ptr->ident;\n      vb->ident_len = msg_ps->vb_ptr->ident_len;\n      /* ensure this memory is refereced once only */\n      msg_ps->vb_ptr->ident = NULL;\n      msg_ps->vb_ptr->ident_len = 0;\n\n      vb->value_type = msg_ps->ext_object_def.asn_type;\n      LWIP_ASSERT(\"invalid length\", msg_ps->ext_object_def.v_len <= 0xff);\n      vb->value_len = (u8_t)msg_ps->ext_object_def.v_len;\n      if (vb->value_len > 0)\n      {\n        LWIP_ASSERT(\"SNMP_MAX_OCTET_STRING_LEN is configured too low\", vb->value_len <= SNMP_MAX_VALUE_SIZE);\n        vb->value = memp_malloc(MEMP_SNMP_VALUE);\n        if (vb->value != NULL)\n        {\n          en->get_value_a(request_id, &msg_ps->ext_object_def, vb->value_len, vb->value);\n          snmp_varbind_tail_add(&msg_ps->outvb, vb);\n          /* search again (if vb_idx < msg_ps->invb.count) */\n          msg_ps->state = SNMP_MSG_SEARCH_OBJ;\n          msg_ps->vb_idx += 1;\n        }\n        else\n        {\n          en->get_value_pc(request_id, &msg_ps->ext_object_def);\n          LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_msg_event: no variable space\\n\"));\n          msg_ps->vb_ptr->ident = vb->ident;\n          msg_ps->vb_ptr->ident_len = vb->ident_len;\n          memp_free(MEMP_SNMP_VARBIND, vb);\n          snmp_error_response(msg_ps,SNMP_ES_TOOBIG);\n        }\n      }\n      else\n      {\n        /* vb->value_len == 0, empty value (e.g. empty string) */\n        en->get_value_a(request_id, &msg_ps->ext_object_def, 0, NULL);\n        vb->value = NULL;\n        snmp_varbind_tail_add(&msg_ps->outvb, vb);\n        /* search again (if vb_idx < msg_ps->invb.count) */\n        msg_ps->state = SNMP_MSG_SEARCH_OBJ;\n        msg_ps->vb_idx += 1;\n      }\n    }\n    else\n    {\n      en->get_value_pc(request_id, &msg_ps->ext_object_def);\n      LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_msg_event: no outvb space\\n\"));\n      snmp_error_response(msg_ps,SNMP_ES_TOOBIG);\n    }\n  }\n\n  while ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&\n         (msg_ps->vb_idx < msg_ps->invb.count))\n  {\n    struct mib_node *mn;\n    struct snmp_name_ptr np;\n\n    if (msg_ps->vb_idx == 0)\n    {\n      msg_ps->vb_ptr = msg_ps->invb.head;\n    }\n    else\n    {\n      msg_ps->vb_ptr = msg_ps->vb_ptr->next;\n    }\n    /** test object identifier for .iso.org.dod.internet prefix */\n    if (snmp_iso_prefix_tst(msg_ps->vb_ptr->ident_len,  msg_ps->vb_ptr->ident))\n    {\n      mn = snmp_search_tree((struct mib_node*)&internet, msg_ps->vb_ptr->ident_len - 4,\n                             msg_ps->vb_ptr->ident + 4, &np);\n      if (mn != NULL)\n      {\n        if (mn->node_type == MIB_NODE_EX)\n        {\n          /* external object */\n          struct mib_external_node *en = (struct mib_external_node*)mn;\n\n          msg_ps->state = SNMP_MSG_EXTERNAL_GET_OBJDEF;\n          /* save en && args in msg_ps!! */\n          msg_ps->ext_mib_node = en;\n          msg_ps->ext_name_ptr = np;\n\n          en->get_object_def_q(en->addr_inf, request_id, np.ident_len, np.ident);\n        }\n        else\n        {\n          /* internal object */\n          struct obj_def object_def;\n\n          msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF;\n          mn->get_object_def(np.ident_len, np.ident, &object_def);\n          if ((object_def.instance != MIB_OBJECT_NONE) &&\n            (object_def.access & MIB_ACCESS_READ))\n          {\n            mn = mn;\n          }\n          else\n          {\n            /* search failed, object id points to unknown object (nosuchname) */\n            mn =  NULL;\n          }\n          if (mn != NULL)\n          {\n            struct snmp_varbind *vb;\n\n            msg_ps->state = SNMP_MSG_INTERNAL_GET_VALUE;\n            /* allocate output varbind */\n            vb = (struct snmp_varbind *)memp_malloc(MEMP_SNMP_VARBIND);\n            if (vb != NULL)\n            {\n              vb->next = NULL;\n              vb->prev = NULL;\n\n              /* move name from invb to outvb */\n              vb->ident = msg_ps->vb_ptr->ident;\n              vb->ident_len = msg_ps->vb_ptr->ident_len;\n              /* ensure this memory is refereced once only */\n              msg_ps->vb_ptr->ident = NULL;\n              msg_ps->vb_ptr->ident_len = 0;\n\n              vb->value_type = object_def.asn_type;\n              LWIP_ASSERT(\"invalid length\", object_def.v_len <= 0xff);\n              vb->value_len = (u8_t)object_def.v_len;\n              if (vb->value_len > 0)\n              {\n                LWIP_ASSERT(\"SNMP_MAX_OCTET_STRING_LEN is configured too low\",\n                  vb->value_len <= SNMP_MAX_VALUE_SIZE);\n                vb->value = memp_malloc(MEMP_SNMP_VALUE);\n                if (vb->value != NULL)\n                {\n                  mn->get_value(&object_def, vb->value_len, vb->value);\n                  snmp_varbind_tail_add(&msg_ps->outvb, vb);\n                  msg_ps->state = SNMP_MSG_SEARCH_OBJ;\n                  msg_ps->vb_idx += 1;\n                }\n                else\n                {\n                  LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_msg_event: couldn't allocate variable space\\n\"));\n                  msg_ps->vb_ptr->ident = vb->ident;\n                  msg_ps->vb_ptr->ident_len = vb->ident_len;\n                  vb->ident = NULL;\n                  vb->ident_len = 0;\n                  memp_free(MEMP_SNMP_VARBIND, vb);\n                  snmp_error_response(msg_ps,SNMP_ES_TOOBIG);\n                }\n              }\n              else\n              {\n                /* vb->value_len == 0, empty value (e.g. empty string) */\n                vb->value = NULL;\n                snmp_varbind_tail_add(&msg_ps->outvb, vb);\n                msg_ps->state = SNMP_MSG_SEARCH_OBJ;\n                msg_ps->vb_idx += 1;\n              }\n            }\n            else\n            {\n              LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_msg_event: couldn't allocate outvb space\\n\"));\n              snmp_error_response(msg_ps,SNMP_ES_TOOBIG);\n            }\n          }\n        }\n      }\n    }\n    else\n    {\n      mn = NULL;\n    }\n    if (mn == NULL)\n    {\n      /* mn == NULL, noSuchName */\n      snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME);\n    }\n  }\n  if ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&\n      (msg_ps->vb_idx == msg_ps->invb.count))\n  {\n    snmp_ok_response(msg_ps);\n  }\n}\n\n/**\n * Service an internal or external event for SNMP GETNEXT.\n *\n * @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1)\n * @param msg_ps points to the assosicated message process state\n */\nstatic void\nsnmp_msg_getnext_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)\n{\n  LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_msg_getnext_event: msg_ps->state==%\"U16_F\"\\n\",(u16_t)msg_ps->state));\n\n  if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF)\n  {\n    struct mib_external_node *en;\n\n    /* get_object_def() answer*/\n    en = msg_ps->ext_mib_node;\n\n    /* translate answer into a known lifeform */\n    en->get_object_def_a(request_id, 1, &msg_ps->ext_oid.id[msg_ps->ext_oid.len - 1], &msg_ps->ext_object_def);\n    if (msg_ps->ext_object_def.instance != MIB_OBJECT_NONE)\n    {\n      msg_ps->state = SNMP_MSG_EXTERNAL_GET_VALUE;\n      en->get_value_q(request_id, &msg_ps->ext_object_def);\n    }\n    else\n    {\n      en->get_object_def_pc(request_id, 1, &msg_ps->ext_oid.id[msg_ps->ext_oid.len - 1]);\n      /* search failed, object id points to unknown object (nosuchname) */\n      snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME);\n    }\n  }\n  else if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_VALUE)\n  {\n    struct mib_external_node *en;\n    struct snmp_varbind *vb;\n\n    /* get_value() answer */\n    en = msg_ps->ext_mib_node;\n\n    LWIP_ASSERT(\"invalid length\", msg_ps->ext_object_def.v_len <= 0xff);\n    vb = snmp_varbind_alloc(&msg_ps->ext_oid,\n                            msg_ps->ext_object_def.asn_type,\n                            (u8_t)msg_ps->ext_object_def.v_len);\n    if (vb != NULL)\n    {\n      en->get_value_a(request_id, &msg_ps->ext_object_def, vb->value_len, vb->value);\n      snmp_varbind_tail_add(&msg_ps->outvb, vb);\n      msg_ps->state = SNMP_MSG_SEARCH_OBJ;\n      msg_ps->vb_idx += 1;\n    }\n    else\n    {\n      en->get_value_pc(request_id, &msg_ps->ext_object_def);\n      LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_msg_getnext_event: couldn't allocate outvb space\\n\"));\n      snmp_error_response(msg_ps,SNMP_ES_TOOBIG);\n    }\n  }\n\n  while ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&\n         (msg_ps->vb_idx < msg_ps->invb.count))\n  {\n    struct mib_node *mn;\n    struct snmp_obj_id oid;\n\n    if (msg_ps->vb_idx == 0)\n    {\n      msg_ps->vb_ptr = msg_ps->invb.head;\n    }\n    else\n    {\n      msg_ps->vb_ptr = msg_ps->vb_ptr->next;\n    }\n    if (snmp_iso_prefix_expand(msg_ps->vb_ptr->ident_len, msg_ps->vb_ptr->ident, &oid))\n    {\n      if (msg_ps->vb_ptr->ident_len > 3)\n      {\n        /* can offset ident_len and ident */\n        mn = snmp_expand_tree((struct mib_node*)&internet,\n                              msg_ps->vb_ptr->ident_len - 4,\n                              msg_ps->vb_ptr->ident + 4, &oid);\n      }\n      else\n      {\n        /* can't offset ident_len -4, ident + 4 */\n        mn = snmp_expand_tree((struct mib_node*)&internet, 0, NULL, &oid);\n      }\n    }\n    else\n    {\n      mn = NULL;\n    }\n    if (mn != NULL)\n    {\n      if (mn->node_type == MIB_NODE_EX)\n      {\n        /* external object */\n        struct mib_external_node *en = (struct mib_external_node*)mn;\n\n        msg_ps->state = SNMP_MSG_EXTERNAL_GET_OBJDEF;\n        /* save en && args in msg_ps!! */\n        msg_ps->ext_mib_node = en;\n        msg_ps->ext_oid = oid;\n\n        en->get_object_def_q(en->addr_inf, request_id, 1, &oid.id[oid.len - 1]);\n      }\n      else\n      {\n        /* internal object */\n        struct obj_def object_def;\n        struct snmp_varbind *vb;\n\n        msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF;\n        mn->get_object_def(1, &oid.id[oid.len - 1], &object_def);\n\n        LWIP_ASSERT(\"invalid length\", object_def.v_len <= 0xff);\n        vb = snmp_varbind_alloc(&oid, object_def.asn_type, (u8_t)object_def.v_len);\n        if (vb != NULL)\n        {\n          msg_ps->state = SNMP_MSG_INTERNAL_GET_VALUE;\n          mn->get_value(&object_def, object_def.v_len, vb->value);\n          snmp_varbind_tail_add(&msg_ps->outvb, vb);\n          msg_ps->state = SNMP_MSG_SEARCH_OBJ;\n          msg_ps->vb_idx += 1;\n        }\n        else\n        {\n          LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_recv couldn't allocate outvb space\\n\"));\n          snmp_error_response(msg_ps,SNMP_ES_TOOBIG);\n        }\n      }\n    }\n    if (mn == NULL)\n    {\n      /* mn == NULL, noSuchName */\n      snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME);\n    }\n  }\n  if ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&\n      (msg_ps->vb_idx == msg_ps->invb.count))\n  {\n    snmp_ok_response(msg_ps);\n  }\n}\n\n/**\n * Service an internal or external event for SNMP SET.\n *\n * @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1)\n * @param msg_ps points to the assosicated message process state\n */\nstatic void\nsnmp_msg_set_event(u8_t request_id, struct snmp_msg_pstat *msg_ps)\n{\n  LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_msg_set_event: msg_ps->state==%\"U16_F\"\\n\",(u16_t)msg_ps->state));\n\n  if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF)\n  {\n    struct mib_external_node *en;\n    struct snmp_name_ptr np;\n\n    /* get_object_def() answer*/\n    en = msg_ps->ext_mib_node;\n    np = msg_ps->ext_name_ptr;\n\n    /* translate answer into a known lifeform */\n    en->get_object_def_a(request_id, np.ident_len, np.ident, &msg_ps->ext_object_def);\n    if (msg_ps->ext_object_def.instance != MIB_OBJECT_NONE)\n    {\n      msg_ps->state = SNMP_MSG_EXTERNAL_SET_TEST;\n      en->set_test_q(request_id, &msg_ps->ext_object_def);\n    }\n    else\n    {\n      en->get_object_def_pc(request_id, np.ident_len, np.ident);\n      /* search failed, object id points to unknown object (nosuchname) */\n      snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME);\n    }\n  }\n  else if (msg_ps->state == SNMP_MSG_EXTERNAL_SET_TEST)\n  {\n    struct mib_external_node *en;\n\n    /* set_test() answer*/\n    en = msg_ps->ext_mib_node;\n\n    if (msg_ps->ext_object_def.access & MIB_ACCESS_WRITE)\n    {\n       if ((msg_ps->ext_object_def.asn_type == msg_ps->vb_ptr->value_type) &&\n           (en->set_test_a(request_id,&msg_ps->ext_object_def,\n                           msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value) != 0))\n      {\n        msg_ps->state = SNMP_MSG_SEARCH_OBJ;\n        msg_ps->vb_idx += 1;\n      }\n      else\n      {\n        en->set_test_pc(request_id,&msg_ps->ext_object_def);\n        /* bad value */\n        snmp_error_response(msg_ps,SNMP_ES_BADVALUE);\n      }\n    }\n    else\n    {\n      en->set_test_pc(request_id,&msg_ps->ext_object_def);\n      /* object not available for set */\n      snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME);\n    }\n  }\n  else if (msg_ps->state == SNMP_MSG_EXTERNAL_GET_OBJDEF_S)\n  {\n    struct mib_external_node *en;\n    struct snmp_name_ptr np;\n\n    /* get_object_def() answer*/\n    en = msg_ps->ext_mib_node;\n    np = msg_ps->ext_name_ptr;\n\n    /* translate answer into a known lifeform */\n    en->get_object_def_a(request_id, np.ident_len, np.ident, &msg_ps->ext_object_def);\n    if (msg_ps->ext_object_def.instance != MIB_OBJECT_NONE)\n    {\n      msg_ps->state = SNMP_MSG_EXTERNAL_SET_VALUE;\n      en->set_value_q(request_id, &msg_ps->ext_object_def,\n                      msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value);\n    }\n    else\n    {\n      en->get_object_def_pc(request_id, np.ident_len, np.ident);\n      /* set_value failed, object has disappeared for some odd reason?? */\n      snmp_error_response(msg_ps,SNMP_ES_GENERROR);\n    }\n  }\n  else if (msg_ps->state == SNMP_MSG_EXTERNAL_SET_VALUE)\n  {\n    struct mib_external_node *en;\n\n    /** set_value_a() */\n    en = msg_ps->ext_mib_node;\n    en->set_value_a(request_id, &msg_ps->ext_object_def,\n      msg_ps->vb_ptr->value_len, msg_ps->vb_ptr->value);\n\n    /** @todo use set_value_pc() if toobig */\n    msg_ps->state = SNMP_MSG_INTERNAL_SET_VALUE;\n    msg_ps->vb_idx += 1;\n  }\n\n  /* test all values before setting */\n  while ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&\n         (msg_ps->vb_idx < msg_ps->invb.count))\n  {\n    struct mib_node *mn;\n    struct snmp_name_ptr np;\n\n    if (msg_ps->vb_idx == 0)\n    {\n      msg_ps->vb_ptr = msg_ps->invb.head;\n    }\n    else\n    {\n      msg_ps->vb_ptr = msg_ps->vb_ptr->next;\n    }\n    /** test object identifier for .iso.org.dod.internet prefix */\n    if (snmp_iso_prefix_tst(msg_ps->vb_ptr->ident_len,  msg_ps->vb_ptr->ident))\n    {\n      mn = snmp_search_tree((struct mib_node*)&internet, msg_ps->vb_ptr->ident_len - 4,\n                             msg_ps->vb_ptr->ident + 4, &np);\n      if (mn != NULL)\n      {\n        if (mn->node_type == MIB_NODE_EX)\n        {\n          /* external object */\n          struct mib_external_node *en = (struct mib_external_node*)mn;\n\n          msg_ps->state = SNMP_MSG_EXTERNAL_GET_OBJDEF;\n          /* save en && args in msg_ps!! */\n          msg_ps->ext_mib_node = en;\n          msg_ps->ext_name_ptr = np;\n\n          en->get_object_def_q(en->addr_inf, request_id, np.ident_len, np.ident);\n        }\n        else\n        {\n          /* internal object */\n          struct obj_def object_def;\n\n          msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF;\n          mn->get_object_def(np.ident_len, np.ident, &object_def);\n          if (object_def.instance != MIB_OBJECT_NONE)\n          {\n            mn = mn;\n          }\n          else\n          {\n            /* search failed, object id points to unknown object (nosuchname) */\n            mn = NULL;\n          }\n          if (mn != NULL)\n          {\n            msg_ps->state = SNMP_MSG_INTERNAL_SET_TEST;\n\n            if (object_def.access & MIB_ACCESS_WRITE)\n            {\n              if ((object_def.asn_type == msg_ps->vb_ptr->value_type) &&\n                  (mn->set_test(&object_def,msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value) != 0))\n              {\n                msg_ps->state = SNMP_MSG_SEARCH_OBJ;\n                msg_ps->vb_idx += 1;\n              }\n              else\n              {\n                /* bad value */\n                snmp_error_response(msg_ps,SNMP_ES_BADVALUE);\n              }\n            }\n            else\n            {\n              /* object not available for set */\n              snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME);\n            }\n          }\n        }\n      }\n    }\n    else\n    {\n      mn = NULL;\n    }\n    if (mn == NULL)\n    {\n      /* mn == NULL, noSuchName */\n      snmp_error_response(msg_ps,SNMP_ES_NOSUCHNAME);\n    }\n  }\n\n  if ((msg_ps->state == SNMP_MSG_SEARCH_OBJ) &&\n      (msg_ps->vb_idx == msg_ps->invb.count))\n  {\n    msg_ps->vb_idx = 0;\n    msg_ps->state = SNMP_MSG_INTERNAL_SET_VALUE;\n  }\n\n  /* set all values \"atomically\" (be as \"atomic\" as possible) */\n  while ((msg_ps->state == SNMP_MSG_INTERNAL_SET_VALUE) &&\n         (msg_ps->vb_idx < msg_ps->invb.count))\n  {\n    struct mib_node *mn;\n    struct snmp_name_ptr np;\n\n    if (msg_ps->vb_idx == 0)\n    {\n      msg_ps->vb_ptr = msg_ps->invb.head;\n    }\n    else\n    {\n      msg_ps->vb_ptr = msg_ps->vb_ptr->next;\n    }\n    /* skip iso prefix test, was done previously while settesting() */\n    mn = snmp_search_tree((struct mib_node*)&internet, msg_ps->vb_ptr->ident_len - 4,\n                           msg_ps->vb_ptr->ident + 4, &np);\n    /* check if object is still available\n       (e.g. external hot-plug thingy present?) */\n    if (mn != NULL)\n    {\n      if (mn->node_type == MIB_NODE_EX)\n      {\n        /* external object */\n        struct mib_external_node *en = (struct mib_external_node*)mn;\n\n        msg_ps->state = SNMP_MSG_EXTERNAL_GET_OBJDEF_S;\n        /* save en && args in msg_ps!! */\n        msg_ps->ext_mib_node = en;\n        msg_ps->ext_name_ptr = np;\n\n        en->get_object_def_q(en->addr_inf, request_id, np.ident_len, np.ident);\n      }\n      else\n      {\n        /* internal object */\n        struct obj_def object_def;\n\n        msg_ps->state = SNMP_MSG_INTERNAL_GET_OBJDEF_S;\n        mn->get_object_def(np.ident_len, np.ident, &object_def);\n        msg_ps->state = SNMP_MSG_INTERNAL_SET_VALUE;\n        mn->set_value(&object_def,msg_ps->vb_ptr->value_len,msg_ps->vb_ptr->value);\n        msg_ps->vb_idx += 1;\n      }\n    }\n  }\n  if ((msg_ps->state == SNMP_MSG_INTERNAL_SET_VALUE) &&\n      (msg_ps->vb_idx == msg_ps->invb.count))\n  {\n    /* simply echo the input if we can set it\n       @todo do we need to return the actual value?\n       e.g. if value is silently modified or behaves sticky? */\n    msg_ps->outvb = msg_ps->invb;\n    msg_ps->invb.head = NULL;\n    msg_ps->invb.tail = NULL;\n    msg_ps->invb.count = 0;\n    snmp_ok_response(msg_ps);\n  }\n}\n\n\n/**\n * Handle one internal or external event.\n * Called for one async event. (recv external/private answer)\n *\n * @param request_id identifies requests from 0 to (SNMP_CONCURRENT_REQUESTS-1)\n */\nvoid\nsnmp_msg_event(u8_t request_id)\n{\n  struct snmp_msg_pstat *msg_ps;\n\n  if (request_id < SNMP_CONCURRENT_REQUESTS)\n  {\n    msg_ps = &msg_input_list[request_id];\n    if (msg_ps->rt == SNMP_ASN1_PDU_GET_NEXT_REQ)\n    {\n      snmp_msg_getnext_event(request_id, msg_ps);\n    }\n    else if (msg_ps->rt == SNMP_ASN1_PDU_GET_REQ)\n    {\n      snmp_msg_get_event(request_id, msg_ps);\n    }\n    else if(msg_ps->rt == SNMP_ASN1_PDU_SET_REQ)\n    {\n      snmp_msg_set_event(request_id, msg_ps);\n    }\n  }\n}\n\n\n/* lwIP UDP receive callback function */\nstatic void\nsnmp_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *addr, u16_t port)\n{\n  struct snmp_msg_pstat *msg_ps;\n  u8_t req_idx;\n  err_t err_ret;\n  u16_t payload_len = p->tot_len;\n  u16_t payload_ofs = 0;\n  u16_t varbind_ofs = 0;\n\n  /* suppress unused argument warning */\n  LWIP_UNUSED_ARG(arg);\n\n  /* traverse input message process list, look for SNMP_MSG_EMPTY */\n  msg_ps = &msg_input_list[0];\n  req_idx = 0;\n  while ((req_idx < SNMP_CONCURRENT_REQUESTS) && (msg_ps->state != SNMP_MSG_EMPTY))\n  {\n    req_idx++;\n    msg_ps++;\n  }\n  if (req_idx == SNMP_CONCURRENT_REQUESTS)\n  {\n    /* exceeding number of concurrent requests */\n    pbuf_free(p);\n    return;\n  }\n\n  /* accepting request */\n  snmp_inc_snmpinpkts();\n  /* record used 'protocol control block' */\n  msg_ps->pcb = pcb;\n  /* source address (network order) */\n  msg_ps->sip = *addr;\n  /* source port (host order (lwIP oddity)) */\n  msg_ps->sp = port;\n\n  /* check total length, version, community, pdu type */\n  err_ret = snmp_pdu_header_check(p, payload_ofs, payload_len, &varbind_ofs, msg_ps);\n  /* Only accept requests and requests without error (be robust) */\n  /* Reject response and trap headers or error requests as input! */\n  if ((err_ret != ERR_OK) ||\n      ((msg_ps->rt != SNMP_ASN1_PDU_GET_REQ) &&\n       (msg_ps->rt != SNMP_ASN1_PDU_GET_NEXT_REQ) &&\n       (msg_ps->rt != SNMP_ASN1_PDU_SET_REQ)) ||\n      ((msg_ps->error_status != SNMP_ES_NOERROR) ||\n       (msg_ps->error_index != 0)) )\n  {\n    /* header check failed drop request silently, do not return error! */\n    pbuf_free(p);\n    LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_pdu_header_check() failed\\n\"));\n    return;\n  }\n  LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_recv ok, community %s\\n\", msg_ps->community));\n\n  /* Builds a list of variable bindings. Copy the varbinds from the pbuf\n    chain to glue them when these are divided over two or more pbuf's. */\n  err_ret = snmp_pdu_dec_varbindlist(p, varbind_ofs, &varbind_ofs, msg_ps);\n  /* we've decoded the incoming message, release input msg now */\n  pbuf_free(p);\n  if ((err_ret != ERR_OK) || (msg_ps->invb.count == 0))\n  {\n    /* varbind-list decode failed, or varbind list empty.\n       drop request silently, do not return error!\n       (errors are only returned for a specific varbind failure) */\n    LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_pdu_dec_varbindlist() failed\\n\"));\n    return;\n  }\n\n  msg_ps->error_status = SNMP_ES_NOERROR;\n  msg_ps->error_index = 0;\n  /* find object for each variable binding */\n  msg_ps->state = SNMP_MSG_SEARCH_OBJ;\n  /* first variable binding from list to inspect */\n  msg_ps->vb_idx = 0;\n\n  LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_recv varbind cnt=%\"U16_F\"\\n\",(u16_t)msg_ps->invb.count));\n\n  /* handle input event and as much objects as possible in one go */\n  snmp_msg_event(req_idx);\n}\n\n/**\n * Checks and decodes incoming SNMP message header, logs header errors.\n *\n * @param p points to pbuf chain of SNMP message (UDP payload)\n * @param ofs points to first octet of SNMP message\n * @param pdu_len the length of the UDP payload\n * @param ofs_ret returns the ofset of the variable bindings\n * @param m_stat points to the current message request state return\n * @return\n * - ERR_OK SNMP header is sane and accepted\n * - ERR_ARG SNMP header is either malformed or rejected\n */\nstatic err_t\nsnmp_pdu_header_check(struct pbuf *p, u16_t ofs, u16_t pdu_len, u16_t *ofs_ret, struct snmp_msg_pstat *m_stat)\n{\n  err_t derr;\n  u16_t len, ofs_base;\n  u8_t  len_octets;\n  u8_t  type;\n  s32_t version;\n\n  ofs_base = ofs;\n  snmp_asn1_dec_type(p, ofs, &type);\n  derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n  if ((derr != ERR_OK) ||\n      (pdu_len != (1 + len_octets + len)) ||\n      (type != (SNMP_ASN1_UNIV | SNMP_ASN1_CONSTR | SNMP_ASN1_SEQ)))\n  {\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  ofs += (1 + len_octets);\n  snmp_asn1_dec_type(p, ofs, &type);\n  derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n  if ((derr != ERR_OK) || (type != (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG)))\n  {\n    /* can't decode or no integer (version) */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  derr = snmp_asn1_dec_s32t(p, ofs + 1 + len_octets, len, &version);\n  if (derr != ERR_OK)\n  {\n    /* can't decode */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  if (version != 0)\n  {\n    /* not version 1 */\n    snmp_inc_snmpinbadversions();\n    return ERR_ARG;\n  }\n  ofs += (1 + len_octets + len);\n  snmp_asn1_dec_type(p, ofs, &type);\n  derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n  if ((derr != ERR_OK) || (type != (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR)))\n  {\n    /* can't decode or no octet string (community) */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  derr = snmp_asn1_dec_raw(p, ofs + 1 + len_octets, len, SNMP_COMMUNITY_STR_LEN, m_stat->community);\n  if (derr != ERR_OK)\n  {\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  /* add zero terminator */\n  len = ((len < (SNMP_COMMUNITY_STR_LEN))?(len):(SNMP_COMMUNITY_STR_LEN));\n  m_stat->community[len] = 0;\n  m_stat->com_strlen = (u8_t)len;\n  if (strncmp(snmp_publiccommunity, (const char*)m_stat->community, SNMP_COMMUNITY_STR_LEN) != 0)\n  {\n    /** @todo: move this if we need to check more names */\n    snmp_inc_snmpinbadcommunitynames();\n    snmp_authfail_trap();\n    return ERR_ARG;\n  }\n  ofs += (1 + len_octets + len);\n  snmp_asn1_dec_type(p, ofs, &type);\n  derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n  if (derr != ERR_OK)\n  {\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  switch(type)\n  {\n    case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_GET_REQ):\n      /* GetRequest PDU */\n      snmp_inc_snmpingetrequests();\n      derr = ERR_OK;\n      break;\n    case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_GET_NEXT_REQ):\n      /* GetNextRequest PDU */\n      snmp_inc_snmpingetnexts();\n      derr = ERR_OK;\n      break;\n    case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_GET_RESP):\n      /* GetResponse PDU */\n      snmp_inc_snmpingetresponses();\n      derr = ERR_ARG;\n      break;\n    case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_SET_REQ):\n      /* SetRequest PDU */\n      snmp_inc_snmpinsetrequests();\n      derr = ERR_OK;\n      break;\n    case (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_TRAP):\n      /* Trap PDU */\n      snmp_inc_snmpintraps();\n      derr = ERR_ARG;\n      break;\n    default:\n      snmp_inc_snmpinasnparseerrs();\n      derr = ERR_ARG;\n      break;\n  }\n  if (derr != ERR_OK)\n  {\n    /* unsupported input PDU for this agent (no parse error) */\n    return ERR_ARG;\n  }\n  m_stat->rt = type & 0x1F;\n  ofs += (1 + len_octets);\n  if (len != (pdu_len - (ofs - ofs_base)))\n  {\n    /* decoded PDU length does not equal actual payload length */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  snmp_asn1_dec_type(p, ofs, &type);\n  derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n  if ((derr != ERR_OK) || (type != (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG)))\n  {\n    /* can't decode or no integer (request ID) */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  derr = snmp_asn1_dec_s32t(p, ofs + 1 + len_octets, len, &m_stat->rid);\n  if (derr != ERR_OK)\n  {\n    /* can't decode */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  ofs += (1 + len_octets + len);\n  snmp_asn1_dec_type(p, ofs, &type);\n  derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n  if ((derr != ERR_OK) || (type != (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG)))\n  {\n    /* can't decode or no integer (error-status) */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  /* must be noError (0) for incoming requests.\n     log errors for mib-2 completeness and for debug purposes */\n  derr = snmp_asn1_dec_s32t(p, ofs + 1 + len_octets, len, &m_stat->error_status);\n  if (derr != ERR_OK)\n  {\n    /* can't decode */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  switch (m_stat->error_status)\n  {\n    case SNMP_ES_TOOBIG:\n      snmp_inc_snmpintoobigs();\n      break;\n    case SNMP_ES_NOSUCHNAME:\n      snmp_inc_snmpinnosuchnames();\n      break;\n    case SNMP_ES_BADVALUE:\n      snmp_inc_snmpinbadvalues();\n      break;\n    case SNMP_ES_READONLY:\n      snmp_inc_snmpinreadonlys();\n      break;\n    case SNMP_ES_GENERROR:\n      snmp_inc_snmpingenerrs();\n      break;\n  }\n  ofs += (1 + len_octets + len);\n  snmp_asn1_dec_type(p, ofs, &type);\n  derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n  if ((derr != ERR_OK) || (type != (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG)))\n  {\n    /* can't decode or no integer (error-index) */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  /* must be 0 for incoming requests.\n     decode anyway to catch bad integers (and dirty tricks) */\n  derr = snmp_asn1_dec_s32t(p, ofs + 1 + len_octets, len, &m_stat->error_index);\n  if (derr != ERR_OK)\n  {\n    /* can't decode */\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  ofs += (1 + len_octets + len);\n  *ofs_ret = ofs;\n  return ERR_OK;\n}\n\nstatic err_t\nsnmp_pdu_dec_varbindlist(struct pbuf *p, u16_t ofs, u16_t *ofs_ret, struct snmp_msg_pstat *m_stat)\n{\n  err_t derr;\n  u16_t len, vb_len;\n  u8_t  len_octets;\n  u8_t type;\n\n  /* variable binding list */\n  snmp_asn1_dec_type(p, ofs, &type);\n  derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &vb_len);\n  if ((derr != ERR_OK) ||\n      (type != (SNMP_ASN1_UNIV | SNMP_ASN1_CONSTR | SNMP_ASN1_SEQ)))\n  {\n    snmp_inc_snmpinasnparseerrs();\n    return ERR_ARG;\n  }\n  ofs += (1 + len_octets);\n\n  /* start with empty list */\n  m_stat->invb.count = 0;\n  m_stat->invb.head = NULL;\n  m_stat->invb.tail = NULL;\n\n  while (vb_len > 0)\n  {\n    struct snmp_obj_id oid, oid_value;\n    struct snmp_varbind *vb;\n\n    snmp_asn1_dec_type(p, ofs, &type);\n    derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n    if ((derr != ERR_OK) ||\n        (type != (SNMP_ASN1_UNIV | SNMP_ASN1_CONSTR | SNMP_ASN1_SEQ)) ||\n        (len == 0) || (len > vb_len))\n    {\n      snmp_inc_snmpinasnparseerrs();\n      /* free varbinds (if available) */\n      snmp_varbind_list_free(&m_stat->invb);\n      return ERR_ARG;\n    }\n    ofs += (1 + len_octets);\n    vb_len -= (1 + len_octets);\n\n    snmp_asn1_dec_type(p, ofs, &type);\n    derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n    if ((derr != ERR_OK) || (type != (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OBJ_ID)))\n    {\n      /* can't decode object name length */\n      snmp_inc_snmpinasnparseerrs();\n      /* free varbinds (if available) */\n      snmp_varbind_list_free(&m_stat->invb);\n      return ERR_ARG;\n    }\n    derr = snmp_asn1_dec_oid(p, ofs + 1 + len_octets, len, &oid);\n    if (derr != ERR_OK)\n    {\n      /* can't decode object name */\n      snmp_inc_snmpinasnparseerrs();\n      /* free varbinds (if available) */\n      snmp_varbind_list_free(&m_stat->invb);\n      return ERR_ARG;\n    }\n    ofs += (1 + len_octets + len);\n    vb_len -= (1 + len_octets + len);\n\n    snmp_asn1_dec_type(p, ofs, &type);\n    derr = snmp_asn1_dec_length(p, ofs+1, &len_octets, &len);\n    if (derr != ERR_OK)\n    {\n      /* can't decode object value length */\n      snmp_inc_snmpinasnparseerrs();\n      /* free varbinds (if available) */\n      snmp_varbind_list_free(&m_stat->invb);\n      return ERR_ARG;\n    }\n\n    switch (type)\n    {\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG):\n        vb = snmp_varbind_alloc(&oid, type, sizeof(s32_t));\n        if (vb != NULL)\n        {\n          s32_t *vptr = (s32_t*)vb->value;\n\n          derr = snmp_asn1_dec_s32t(p, ofs + 1 + len_octets, len, vptr);\n          snmp_varbind_tail_add(&m_stat->invb, vb);\n        }\n        else\n        {\n          derr = ERR_ARG;\n        }\n        break;\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS):\n        vb = snmp_varbind_alloc(&oid, type, sizeof(u32_t));\n        if (vb != NULL)\n        {\n          u32_t *vptr = (u32_t*)vb->value;\n\n          derr = snmp_asn1_dec_u32t(p, ofs + 1 + len_octets, len, vptr);\n          snmp_varbind_tail_add(&m_stat->invb, vb);\n        }\n        else\n        {\n          derr = ERR_ARG;\n        }\n        break;\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_OPAQUE):\n        LWIP_ASSERT(\"invalid length\", len <= 0xff);\n        vb = snmp_varbind_alloc(&oid, type, (u8_t)len);\n        if (vb != NULL)\n        {\n          derr = snmp_asn1_dec_raw(p, ofs + 1 + len_octets, len, vb->value_len, (u8_t*)vb->value);\n          snmp_varbind_tail_add(&m_stat->invb, vb);\n        }\n        else\n        {\n          derr = ERR_ARG;\n        }\n        break;\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_NUL):\n        vb = snmp_varbind_alloc(&oid, type, 0);\n        if (vb != NULL)\n        {\n          snmp_varbind_tail_add(&m_stat->invb, vb);\n          derr = ERR_OK;\n        }\n        else\n        {\n          derr = ERR_ARG;\n        }\n        break;\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OBJ_ID):\n        derr = snmp_asn1_dec_oid(p, ofs + 1 + len_octets, len, &oid_value);\n        if (derr == ERR_OK)\n        {\n          vb = snmp_varbind_alloc(&oid, type, oid_value.len * sizeof(s32_t));\n          if (vb != NULL)\n          {\n            u8_t i = oid_value.len;\n            s32_t *vptr = (s32_t*)vb->value;\n\n            while(i > 0)\n            {\n              i--;\n              vptr[i] = oid_value.id[i];\n            }\n            snmp_varbind_tail_add(&m_stat->invb, vb);\n            derr = ERR_OK;\n          }\n          else\n          {\n            derr = ERR_ARG;\n          }\n        }\n        break;\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR):\n        if (len == 4)\n        {\n          /* must be exactly 4 octets! */\n          vb = snmp_varbind_alloc(&oid, type, 4);\n          if (vb != NULL)\n          {\n            derr = snmp_asn1_dec_raw(p, ofs + 1 + len_octets, len, vb->value_len, (u8_t*)vb->value);\n            snmp_varbind_tail_add(&m_stat->invb, vb);\n          }\n          else\n          {\n            derr = ERR_ARG;\n          }\n        }\n        else\n        {\n          derr = ERR_ARG;\n        }\n        break;\n      default:\n        derr = ERR_ARG;\n        break;\n    }\n    if (derr != ERR_OK)\n    {\n      snmp_inc_snmpinasnparseerrs();\n      /* free varbinds (if available) */\n      snmp_varbind_list_free(&m_stat->invb);\n      return ERR_ARG;\n    }\n    ofs += (1 + len_octets + len);\n    vb_len -= (1 + len_octets + len);\n  }\n\n  if (m_stat->rt == SNMP_ASN1_PDU_SET_REQ)\n  {\n    snmp_add_snmpintotalsetvars(m_stat->invb.count);\n  }\n  else\n  {\n    snmp_add_snmpintotalreqvars(m_stat->invb.count);\n  }\n\n  *ofs_ret = ofs;\n  return ERR_OK;\n}\n\nstruct snmp_varbind*\nsnmp_varbind_alloc(struct snmp_obj_id *oid, u8_t type, u8_t len)\n{\n  struct snmp_varbind *vb;\n\n  vb = (struct snmp_varbind *)memp_malloc(MEMP_SNMP_VARBIND);\n  if (vb != NULL)\n  {\n    u8_t i;\n\n    vb->next = NULL;\n    vb->prev = NULL;\n    i = oid->len;\n    vb->ident_len = i;\n    if (i > 0)\n    {\n      LWIP_ASSERT(\"SNMP_MAX_TREE_DEPTH is configured too low\", i <= SNMP_MAX_TREE_DEPTH);\n      /* allocate array of s32_t for our object identifier */\n      vb->ident = (s32_t*)memp_malloc(MEMP_SNMP_VALUE);\n      if (vb->ident == NULL)\n      {\n        LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_varbind_alloc: couldn't allocate ident value space\\n\"));\n        memp_free(MEMP_SNMP_VARBIND, vb);\n        return NULL;\n      }\n      while(i > 0)\n      {\n        i--;\n        vb->ident[i] = oid->id[i];\n      }\n    }\n    else\n    {\n      /* i == 0, pass zero length object identifier */\n      vb->ident = NULL;\n    }\n    vb->value_type = type;\n    vb->value_len = len;\n    if (len > 0)\n    {\n      LWIP_ASSERT(\"SNMP_MAX_OCTET_STRING_LEN is configured too low\", vb->value_len <= SNMP_MAX_VALUE_SIZE);\n      /* allocate raw bytes for our object value */\n      vb->value = memp_malloc(MEMP_SNMP_VALUE);\n      if (vb->value == NULL)\n      {\n        LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_varbind_alloc: couldn't allocate value space\\n\"));\n        if (vb->ident != NULL)\n        {\n          memp_free(MEMP_SNMP_VALUE, vb->ident);\n        }\n        memp_free(MEMP_SNMP_VARBIND, vb);\n        return NULL;\n      }\n    }\n    else\n    {\n      /* ASN1_NUL type, or zero length ASN1_OC_STR */\n      vb->value = NULL;\n    }\n  }\n  else\n  {\n    LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_varbind_alloc: couldn't allocate varbind space\\n\"));\n  }\n  return vb;\n}\n\nvoid\nsnmp_varbind_free(struct snmp_varbind *vb)\n{\n  if (vb->value != NULL )\n  {\n    memp_free(MEMP_SNMP_VALUE, vb->value);\n  }\n  if (vb->ident != NULL )\n  {\n    memp_free(MEMP_SNMP_VALUE, vb->ident);\n  }\n  memp_free(MEMP_SNMP_VARBIND, vb);\n}\n\nvoid\nsnmp_varbind_list_free(struct snmp_varbind_root *root)\n{\n  struct snmp_varbind *vb, *prev;\n\n  vb = root->tail;\n  while ( vb != NULL )\n  {\n    prev = vb->prev;\n    snmp_varbind_free(vb);\n    vb = prev;\n  }\n  root->count = 0;\n  root->head = NULL;\n  root->tail = NULL;\n}\n\nvoid\nsnmp_varbind_tail_add(struct snmp_varbind_root *root, struct snmp_varbind *vb)\n{\n  if (root->count == 0)\n  {\n    /* add first varbind to list */\n    root->head = vb;\n    root->tail = vb;\n  }\n  else\n  {\n    /* add nth varbind to list tail */\n    root->tail->next = vb;\n    vb->prev = root->tail;\n    root->tail = vb;\n  }\n  root->count += 1;\n}\n\nstruct snmp_varbind*\nsnmp_varbind_tail_remove(struct snmp_varbind_root *root)\n{\n  struct snmp_varbind* vb;\n\n  if (root->count > 0)\n  {\n    /* remove tail varbind */\n    vb = root->tail;\n    root->tail = vb->prev;\n    vb->prev->next = NULL;\n    root->count -= 1;\n  }\n  else\n  {\n    /* nothing to remove */\n    vb = NULL;\n  }\n  return vb;\n}\n\n#endif /* LWIP_SNMP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/snmp/msg_out.c",
    "content": "/**\n * @file\n * SNMP output message processing (RFC1157).\n *\n * Output responses and traps are build in two passes:\n *\n * Pass 0: iterate over the output message backwards to determine encoding lengths\n * Pass 1: the actual forward encoding of internal form into ASN1\n *\n * The single-pass encoding method described by Comer & Stevens\n * requires extra buffer space and copying for reversal of the packet.\n * The buffer requirement can be prohibitively large for big payloads\n * (>= 484) therefore we use the two encoding passes.\n */\n\n/*\n * Copyright (c) 2006 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * Author: Christiaan Simons <christiaan.simons@axon.tv>\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_SNMP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/udp.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/snmp.h\"\n#include \"lwip/snmp_asn1.h\"\n#include \"lwip/snmp_msg.h\"\n\nstruct snmp_trap_dst\n{\n  /* destination IP address in network order */\n  ip_addr_t dip;\n  /* set to 0 when disabled, >0 when enabled */\n  u8_t enable;\n};\nstruct snmp_trap_dst trap_dst[SNMP_TRAP_DESTINATIONS];\n\n/** TRAP message structure */\nstruct snmp_msg_trap trap_msg;\n\nstatic u16_t snmp_resp_header_sum(struct snmp_msg_pstat *m_stat, u16_t vb_len);\nstatic u16_t snmp_trap_header_sum(struct snmp_msg_trap *m_trap, u16_t vb_len);\nstatic u16_t snmp_varbind_list_sum(struct snmp_varbind_root *root);\n\nstatic u16_t snmp_resp_header_enc(struct snmp_msg_pstat *m_stat, struct pbuf *p);\nstatic u16_t snmp_trap_header_enc(struct snmp_msg_trap *m_trap, struct pbuf *p);\nstatic u16_t snmp_varbind_list_enc(struct snmp_varbind_root *root, struct pbuf *p, u16_t ofs);\n\n/**\n * Sets enable switch for this trap destination.\n * @param dst_idx index in 0 .. SNMP_TRAP_DESTINATIONS-1\n * @param enable switch if 0 destination is disabled >0 enabled.\n */\nvoid\nsnmp_trap_dst_enable(u8_t dst_idx, u8_t enable)\n{\n  if (dst_idx < SNMP_TRAP_DESTINATIONS)\n  {\n    trap_dst[dst_idx].enable = enable;\n  }\n}\n\n/**\n * Sets IPv4 address for this trap destination.\n * @param dst_idx index in 0 .. SNMP_TRAP_DESTINATIONS-1\n * @param dst IPv4 address in host order.\n */\nvoid\nsnmp_trap_dst_ip_set(u8_t dst_idx, ip_addr_t *dst)\n{\n  if (dst_idx < SNMP_TRAP_DESTINATIONS)\n  {\n    ip_addr_set(&trap_dst[dst_idx].dip, dst);\n  }\n}\n\n/**\n * Sends a 'getresponse' message to the request originator.\n *\n * @param m_stat points to the current message request state source\n * @return ERR_OK when success, ERR_MEM if we're out of memory\n *\n * @note the caller is responsible for filling in outvb in the m_stat\n * and provide error-status and index (except for tooBig errors) ...\n */\nerr_t\nsnmp_send_response(struct snmp_msg_pstat *m_stat)\n{\n  struct snmp_varbind_root emptyvb = {NULL, NULL, 0, 0, 0};\n  struct pbuf *p;\n  u16_t tot_len;\n  err_t err;\n\n  /* pass 0, calculate length fields */\n  tot_len = snmp_varbind_list_sum(&m_stat->outvb);\n  tot_len = snmp_resp_header_sum(m_stat, tot_len);\n\n  /* try allocating pbuf(s) for complete response */\n  p = pbuf_alloc(PBUF_TRANSPORT, tot_len, PBUF_POOL);\n  if (p == NULL)\n  {\n    LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_snd_response() tooBig\\n\"));\n\n    /* can't construct reply, return error-status tooBig */\n    m_stat->error_status = SNMP_ES_TOOBIG;\n    m_stat->error_index = 0;\n    /* pass 0, recalculate lengths, for empty varbind-list */\n    tot_len = snmp_varbind_list_sum(&emptyvb);\n    tot_len = snmp_resp_header_sum(m_stat, tot_len);\n    /* retry allocation once for header and empty varbind-list */\n    p = pbuf_alloc(PBUF_TRANSPORT, tot_len, PBUF_POOL);\n  }\n  if (p != NULL)\n  {\n    /* first pbuf alloc try or retry alloc success */\n    u16_t ofs;\n\n    LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_snd_response() p != NULL\\n\"));\n\n    /* pass 1, size error, encode packet ino the pbuf(s) */\n    ofs = snmp_resp_header_enc(m_stat, p);\n    snmp_varbind_list_enc(&m_stat->outvb, p, ofs);\n\n    switch (m_stat->error_status)\n    {\n      case SNMP_ES_TOOBIG:\n        snmp_inc_snmpouttoobigs();\n        break;\n      case SNMP_ES_NOSUCHNAME:\n        snmp_inc_snmpoutnosuchnames();\n        break;\n      case SNMP_ES_BADVALUE:\n        snmp_inc_snmpoutbadvalues();\n        break;\n      case SNMP_ES_GENERROR:\n        snmp_inc_snmpoutgenerrs();\n        break;\n    }\n    snmp_inc_snmpoutgetresponses();\n    snmp_inc_snmpoutpkts();\n\n    /** @todo do we need separate rx and tx pcbs for threaded case? */\n    /** connect to the originating source */\n    udp_connect(m_stat->pcb, &m_stat->sip, m_stat->sp);\n    err = udp_send(m_stat->pcb, p);\n    if (err == ERR_MEM)\n    {\n      /** @todo release some memory, retry and return tooBig? tooMuchHassle? */\n      err = ERR_MEM;\n    }\n    else\n    {\n      err = ERR_OK;\n    }\n    /** disassociate remote address and port with this pcb */\n    udp_disconnect(m_stat->pcb);\n\n    pbuf_free(p);\n    LWIP_DEBUGF(SNMP_MSG_DEBUG, (\"snmp_snd_response() done\\n\"));\n    return err;\n  }\n  else\n  {\n    /* first pbuf alloc try or retry alloc failed\n       very low on memory, couldn't return tooBig */\n    return ERR_MEM;\n  }\n}\n\n\n/**\n * Sends an generic or enterprise specific trap message.\n *\n * @param generic_trap is the trap code\n * @param eoid points to enterprise object identifier\n * @param specific_trap used for enterprise traps when generic_trap == 6\n * @return ERR_OK when success, ERR_MEM if we're out of memory\n *\n * @note the caller is responsible for filling in outvb in the trap_msg\n * @note the use of the enterpise identifier field\n * is per RFC1215.\n * Use .iso.org.dod.internet.mgmt.mib-2.snmp for generic traps\n * and .iso.org.dod.internet.private.enterprises.yourenterprise\n * (sysObjectID) for specific traps.\n */\nerr_t\nsnmp_send_trap(s8_t generic_trap, struct snmp_obj_id *eoid, s32_t specific_trap)\n{\n  struct snmp_trap_dst *td;\n  struct netif *dst_if;\n  ip_addr_t dst_ip;\n  struct pbuf *p;\n  u16_t i,tot_len;\n\n  for (i=0, td = &trap_dst[0]; i<SNMP_TRAP_DESTINATIONS; i++, td++)\n  {\n    if ((td->enable != 0) && !ip_addr_isany(&td->dip))\n    {\n      /* network order trap destination */\n      ip_addr_copy(trap_msg.dip, td->dip);\n      /* lookup current source address for this dst */\n      dst_if = ip_route(&td->dip);\n      ip_addr_copy(dst_ip, dst_if->ip_addr);\n      /* @todo: what about IPv6? */\n      trap_msg.sip_raw[0] = ip4_addr1(&dst_ip);\n      trap_msg.sip_raw[1] = ip4_addr2(&dst_ip);\n      trap_msg.sip_raw[2] = ip4_addr3(&dst_ip);\n      trap_msg.sip_raw[3] = ip4_addr4(&dst_ip);\n      trap_msg.gen_trap = generic_trap;\n      trap_msg.spc_trap = specific_trap;\n      if (generic_trap == SNMP_GENTRAP_ENTERPRISESPC)\n      {\n        /* enterprise-Specific trap */\n        trap_msg.enterprise = eoid;\n      }\n      else\n      {\n        /* generic (MIB-II) trap */\n        snmp_get_snmpgrpid_ptr(&trap_msg.enterprise);\n      }\n      snmp_get_sysuptime(&trap_msg.ts);\n\n      /* pass 0, calculate length fields */\n      tot_len = snmp_varbind_list_sum(&trap_msg.outvb);\n      tot_len = snmp_trap_header_sum(&trap_msg, tot_len);\n\n      /* allocate pbuf(s) */\n      p = pbuf_alloc(PBUF_TRANSPORT, tot_len, PBUF_POOL);\n      if (p != NULL)\n      {\n        u16_t ofs;\n\n        /* pass 1, encode packet ino the pbuf(s) */\n        ofs = snmp_trap_header_enc(&trap_msg, p);\n        snmp_varbind_list_enc(&trap_msg.outvb, p, ofs);\n\n        snmp_inc_snmpouttraps();\n        snmp_inc_snmpoutpkts();\n\n        /** send to the TRAP destination */\n        udp_sendto(trap_msg.pcb, p, &trap_msg.dip, SNMP_TRAP_PORT);\n\n        pbuf_free(p);\n      }\n      else\n      {\n        return ERR_MEM;\n      }\n    }\n  }\n  return ERR_OK;\n}\n\nvoid\nsnmp_coldstart_trap(void)\n{\n  trap_msg.outvb.head = NULL;\n  trap_msg.outvb.tail = NULL;\n  trap_msg.outvb.count = 0;\n  snmp_send_trap(SNMP_GENTRAP_COLDSTART, NULL, 0);\n}\n\nvoid\nsnmp_authfail_trap(void)\n{\n  u8_t enable;\n  snmp_get_snmpenableauthentraps(&enable);\n  if (enable == 1)\n  {\n    trap_msg.outvb.head = NULL;\n    trap_msg.outvb.tail = NULL;\n    trap_msg.outvb.count = 0;\n    snmp_send_trap(SNMP_GENTRAP_AUTHFAIL, NULL, 0);\n  }\n}\n\n/**\n * Sums response header field lengths from tail to head and\n * returns resp_header_lengths for second encoding pass.\n *\n * @param vb_len varbind-list length\n * @param rhl points to returned header lengths\n * @return the required lenght for encoding the response header\n */\nstatic u16_t\nsnmp_resp_header_sum(struct snmp_msg_pstat *m_stat, u16_t vb_len)\n{\n  u16_t tot_len;\n  struct snmp_resp_header_lengths *rhl;\n\n  rhl = &m_stat->rhl;\n  tot_len = vb_len;\n  snmp_asn1_enc_s32t_cnt(m_stat->error_index, &rhl->erridxlen);\n  snmp_asn1_enc_length_cnt(rhl->erridxlen, &rhl->erridxlenlen);\n  tot_len += 1 + rhl->erridxlenlen + rhl->erridxlen;\n\n  snmp_asn1_enc_s32t_cnt(m_stat->error_status, &rhl->errstatlen);\n  snmp_asn1_enc_length_cnt(rhl->errstatlen, &rhl->errstatlenlen);\n  tot_len += 1 + rhl->errstatlenlen + rhl->errstatlen;\n\n  snmp_asn1_enc_s32t_cnt(m_stat->rid, &rhl->ridlen);\n  snmp_asn1_enc_length_cnt(rhl->ridlen, &rhl->ridlenlen);\n  tot_len += 1 + rhl->ridlenlen + rhl->ridlen;\n\n  rhl->pdulen = tot_len;\n  snmp_asn1_enc_length_cnt(rhl->pdulen, &rhl->pdulenlen);\n  tot_len += 1 + rhl->pdulenlen;\n\n  rhl->comlen = m_stat->com_strlen;\n  snmp_asn1_enc_length_cnt(rhl->comlen, &rhl->comlenlen);\n  tot_len += 1 + rhl->comlenlen + rhl->comlen;\n\n  snmp_asn1_enc_s32t_cnt(snmp_version, &rhl->verlen);\n  snmp_asn1_enc_length_cnt(rhl->verlen, &rhl->verlenlen);\n  tot_len += 1 + rhl->verlen + rhl->verlenlen;\n\n  rhl->seqlen = tot_len;\n  snmp_asn1_enc_length_cnt(rhl->seqlen, &rhl->seqlenlen);\n  tot_len += 1 + rhl->seqlenlen;\n\n  return tot_len;\n}\n\n/**\n * Sums trap header field lengths from tail to head and\n * returns trap_header_lengths for second encoding pass.\n *\n * @param vb_len varbind-list length\n * @param thl points to returned header lengths\n * @return the required lenght for encoding the trap header\n */\nstatic u16_t\nsnmp_trap_header_sum(struct snmp_msg_trap *m_trap, u16_t vb_len)\n{\n  u16_t tot_len;\n  struct snmp_trap_header_lengths *thl;\n\n  thl = &m_trap->thl;\n  tot_len = vb_len;\n\n  snmp_asn1_enc_u32t_cnt(m_trap->ts, &thl->tslen);\n  snmp_asn1_enc_length_cnt(thl->tslen, &thl->tslenlen);\n  tot_len += 1 + thl->tslen + thl->tslenlen;\n\n  snmp_asn1_enc_s32t_cnt(m_trap->spc_trap, &thl->strplen);\n  snmp_asn1_enc_length_cnt(thl->strplen, &thl->strplenlen);\n  tot_len += 1 + thl->strplen + thl->strplenlen;\n\n  snmp_asn1_enc_s32t_cnt(m_trap->gen_trap, &thl->gtrplen);\n  snmp_asn1_enc_length_cnt(thl->gtrplen, &thl->gtrplenlen);\n  tot_len += 1 + thl->gtrplen + thl->gtrplenlen;\n\n  thl->aaddrlen = 4;\n  snmp_asn1_enc_length_cnt(thl->aaddrlen, &thl->aaddrlenlen);\n  tot_len += 1 + thl->aaddrlen + thl->aaddrlenlen;\n\n  snmp_asn1_enc_oid_cnt(m_trap->enterprise->len, &m_trap->enterprise->id[0], &thl->eidlen);\n  snmp_asn1_enc_length_cnt(thl->eidlen, &thl->eidlenlen);\n  tot_len += 1 + thl->eidlen + thl->eidlenlen;\n\n  thl->pdulen = tot_len;\n  snmp_asn1_enc_length_cnt(thl->pdulen, &thl->pdulenlen);\n  tot_len += 1 + thl->pdulenlen;\n\n  thl->comlen = sizeof(snmp_publiccommunity) - 1;\n  snmp_asn1_enc_length_cnt(thl->comlen, &thl->comlenlen);\n  tot_len += 1 + thl->comlenlen + thl->comlen;\n\n  snmp_asn1_enc_s32t_cnt(snmp_version, &thl->verlen);\n  snmp_asn1_enc_length_cnt(thl->verlen, &thl->verlenlen);\n  tot_len += 1 + thl->verlen + thl->verlenlen;\n\n  thl->seqlen = tot_len;\n  snmp_asn1_enc_length_cnt(thl->seqlen, &thl->seqlenlen);\n  tot_len += 1 + thl->seqlenlen;\n\n  return tot_len;\n}\n\n/**\n * Sums varbind lengths from tail to head and\n * annotates lengths in varbind for second encoding pass.\n *\n * @param root points to the root of the variable binding list\n * @return the required lenght for encoding the variable bindings\n */\nstatic u16_t\nsnmp_varbind_list_sum(struct snmp_varbind_root *root)\n{\n  struct snmp_varbind *vb;\n  u32_t *uint_ptr;\n  s32_t *sint_ptr;\n  u16_t tot_len;\n\n  tot_len = 0;\n  vb = root->tail;\n  while ( vb != NULL )\n  {\n    /* encoded value lenght depends on type */\n    switch (vb->value_type)\n    {\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG):\n        sint_ptr = (s32_t*)vb->value;\n        snmp_asn1_enc_s32t_cnt(*sint_ptr, &vb->vlen);\n        break;\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS):\n        uint_ptr = (u32_t*)vb->value;\n        snmp_asn1_enc_u32t_cnt(*uint_ptr, &vb->vlen);\n        break;\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR):\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_NUL):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_OPAQUE):\n        vb->vlen = vb->value_len;\n        break;\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OBJ_ID):\n        sint_ptr = (s32_t*)vb->value;\n        snmp_asn1_enc_oid_cnt(vb->value_len / sizeof(s32_t), sint_ptr, &vb->vlen);\n        break;\n      default:\n        /* unsupported type */\n        vb->vlen = 0;\n        break;\n    };\n    /* encoding length of value length field */\n    snmp_asn1_enc_length_cnt(vb->vlen, &vb->vlenlen);\n    snmp_asn1_enc_oid_cnt(vb->ident_len, vb->ident, &vb->olen);\n    snmp_asn1_enc_length_cnt(vb->olen, &vb->olenlen);\n\n    vb->seqlen = 1 + vb->vlenlen + vb->vlen;\n    vb->seqlen += 1 + vb->olenlen + vb->olen;\n    snmp_asn1_enc_length_cnt(vb->seqlen, &vb->seqlenlen);\n\n    /* varbind seq */\n    tot_len += 1 + vb->seqlenlen + vb->seqlen;\n\n    vb = vb->prev;\n  }\n\n  /* varbind-list seq */\n  root->seqlen = tot_len;\n  snmp_asn1_enc_length_cnt(root->seqlen, &root->seqlenlen);\n  tot_len += 1 + root->seqlenlen;\n\n  return tot_len;\n}\n\n/**\n * Encodes response header from head to tail.\n */\nstatic u16_t\nsnmp_resp_header_enc(struct snmp_msg_pstat *m_stat, struct pbuf *p)\n{\n  u16_t ofs;\n\n  ofs = 0;\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_CONSTR | SNMP_ASN1_SEQ));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_stat->rhl.seqlen);\n  ofs += m_stat->rhl.seqlenlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_stat->rhl.verlen);\n  ofs += m_stat->rhl.verlenlen;\n  snmp_asn1_enc_s32t(p, ofs, m_stat->rhl.verlen, snmp_version);\n  ofs += m_stat->rhl.verlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_stat->rhl.comlen);\n  ofs += m_stat->rhl.comlenlen;\n  snmp_asn1_enc_raw(p, ofs, m_stat->rhl.comlen, m_stat->community);\n  ofs += m_stat->rhl.comlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_GET_RESP));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_stat->rhl.pdulen);\n  ofs += m_stat->rhl.pdulenlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_stat->rhl.ridlen);\n  ofs += m_stat->rhl.ridlenlen;\n  snmp_asn1_enc_s32t(p, ofs, m_stat->rhl.ridlen, m_stat->rid);\n  ofs += m_stat->rhl.ridlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_stat->rhl.errstatlen);\n  ofs += m_stat->rhl.errstatlenlen;\n  snmp_asn1_enc_s32t(p, ofs, m_stat->rhl.errstatlen, m_stat->error_status);\n  ofs += m_stat->rhl.errstatlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_stat->rhl.erridxlen);\n  ofs += m_stat->rhl.erridxlenlen;\n  snmp_asn1_enc_s32t(p, ofs, m_stat->rhl.erridxlen, m_stat->error_index);\n  ofs += m_stat->rhl.erridxlen;\n\n  return ofs;\n}\n\n/**\n * Encodes trap header from head to tail.\n */\nstatic u16_t\nsnmp_trap_header_enc(struct snmp_msg_trap *m_trap, struct pbuf *p)\n{\n  u16_t ofs;\n\n  ofs = 0;\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_CONSTR | SNMP_ASN1_SEQ));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_trap->thl.seqlen);\n  ofs += m_trap->thl.seqlenlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_trap->thl.verlen);\n  ofs += m_trap->thl.verlenlen;\n  snmp_asn1_enc_s32t(p, ofs, m_trap->thl.verlen, snmp_version);\n  ofs += m_trap->thl.verlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_trap->thl.comlen);\n  ofs += m_trap->thl.comlenlen;\n  snmp_asn1_enc_raw(p, ofs, m_trap->thl.comlen, (u8_t *)&snmp_publiccommunity[0]);\n  ofs += m_trap->thl.comlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_CONTXT | SNMP_ASN1_CONSTR | SNMP_ASN1_PDU_TRAP));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_trap->thl.pdulen);\n  ofs += m_trap->thl.pdulenlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OBJ_ID));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_trap->thl.eidlen);\n  ofs += m_trap->thl.eidlenlen;\n  snmp_asn1_enc_oid(p, ofs, m_trap->enterprise->len, &m_trap->enterprise->id[0]);\n  ofs += m_trap->thl.eidlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_trap->thl.aaddrlen);\n  ofs += m_trap->thl.aaddrlenlen;\n  snmp_asn1_enc_raw(p, ofs, m_trap->thl.aaddrlen, &m_trap->sip_raw[0]);\n  ofs += m_trap->thl.aaddrlen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_trap->thl.gtrplen);\n  ofs += m_trap->thl.gtrplenlen;\n  snmp_asn1_enc_u32t(p, ofs, m_trap->thl.gtrplen, m_trap->gen_trap);\n  ofs += m_trap->thl.gtrplen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_trap->thl.strplen);\n  ofs += m_trap->thl.strplenlen;\n  snmp_asn1_enc_u32t(p, ofs, m_trap->thl.strplen, m_trap->spc_trap);\n  ofs += m_trap->thl.strplen;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, m_trap->thl.tslen);\n  ofs += m_trap->thl.tslenlen;\n  snmp_asn1_enc_u32t(p, ofs, m_trap->thl.tslen, m_trap->ts);\n  ofs += m_trap->thl.tslen;\n\n  return ofs;\n}\n\n/**\n * Encodes varbind list from head to tail.\n */\nstatic u16_t\nsnmp_varbind_list_enc(struct snmp_varbind_root *root, struct pbuf *p, u16_t ofs)\n{\n  struct snmp_varbind *vb;\n  s32_t *sint_ptr;\n  u32_t *uint_ptr;\n  u8_t *raw_ptr;\n\n  snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_CONSTR | SNMP_ASN1_SEQ));\n  ofs += 1;\n  snmp_asn1_enc_length(p, ofs, root->seqlen);\n  ofs += root->seqlenlen;\n\n  vb = root->head;\n  while ( vb != NULL )\n  {\n    snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_CONSTR | SNMP_ASN1_SEQ));\n    ofs += 1;\n    snmp_asn1_enc_length(p, ofs, vb->seqlen);\n    ofs += vb->seqlenlen;\n\n    snmp_asn1_enc_type(p, ofs, (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OBJ_ID));\n    ofs += 1;\n    snmp_asn1_enc_length(p, ofs, vb->olen);\n    ofs += vb->olenlen;\n    snmp_asn1_enc_oid(p, ofs, vb->ident_len, &vb->ident[0]);\n    ofs += vb->olen;\n\n    snmp_asn1_enc_type(p, ofs, vb->value_type);\n    ofs += 1;\n    snmp_asn1_enc_length(p, ofs, vb->vlen);\n    ofs += vb->vlenlen;\n\n    switch (vb->value_type)\n    {\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_INTEG):\n        sint_ptr = (s32_t*)vb->value;\n        snmp_asn1_enc_s32t(p, ofs, vb->vlen, *sint_ptr);\n        break;\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_COUNTER):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_GAUGE):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_TIMETICKS):\n        uint_ptr = (u32_t*)vb->value;\n        snmp_asn1_enc_u32t(p, ofs, vb->vlen, *uint_ptr);\n        break;\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OC_STR):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_IPADDR):\n      case (SNMP_ASN1_APPLIC | SNMP_ASN1_PRIMIT | SNMP_ASN1_OPAQUE):\n        raw_ptr = (u8_t*)vb->value;\n        snmp_asn1_enc_raw(p, ofs, vb->vlen, raw_ptr);\n        break;\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_NUL):\n        break;\n      case (SNMP_ASN1_UNIV | SNMP_ASN1_PRIMIT | SNMP_ASN1_OBJ_ID):\n        sint_ptr = (s32_t*)vb->value;\n        snmp_asn1_enc_oid(p, ofs, vb->value_len / sizeof(s32_t), sint_ptr);\n        break;\n      default:\n        /* unsupported type */\n        break;\n    };\n    ofs += vb->vlen;\n    vb = vb->next;\n  }\n  return ofs;\n}\n\n#endif /* LWIP_SNMP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/stats.c",
    "content": "/**\n * @file\n * Statistics module\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_STATS /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/def.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/mem.h\"\n\n#include <string.h>\n\nstruct stats_ lwip_stats;\n\nvoid stats_init(void)\n{\n#ifdef LWIP_DEBUG\n#if MEMP_STATS\n  const char * memp_names[] = {\n#define LWIP_MEMPOOL(name,num,size,desc) desc,\n#include \"lwip/memp_std.h\"\n  };\n  int i;\n  for (i = 0; i < MEMP_MAX; i++) {\n    lwip_stats.memp[i].name = memp_names[i];\n  }\n#endif /* MEMP_STATS */\n#if MEM_STATS\n  lwip_stats.mem.name = \"MEM\";\n#endif /* MEM_STATS */\n#endif /* LWIP_DEBUG */\n}\n\n#if LWIP_STATS_DISPLAY\nvoid\nstats_display_proto(struct stats_proto *proto, const char *name)\n{\n  LWIP_PLATFORM_DIAG((\"\\n%s\\n\\t\", name));\n  LWIP_PLATFORM_DIAG((\"xmit: %\"STAT_COUNTER_F\"\\n\\t\", proto->xmit)); \n  LWIP_PLATFORM_DIAG((\"recv: %\"STAT_COUNTER_F\"\\n\\t\", proto->recv)); \n  LWIP_PLATFORM_DIAG((\"fw: %\"STAT_COUNTER_F\"\\n\\t\", proto->fw)); \n  LWIP_PLATFORM_DIAG((\"drop: %\"STAT_COUNTER_F\"\\n\\t\", proto->drop)); \n  LWIP_PLATFORM_DIAG((\"chkerr: %\"STAT_COUNTER_F\"\\n\\t\", proto->chkerr)); \n  LWIP_PLATFORM_DIAG((\"lenerr: %\"STAT_COUNTER_F\"\\n\\t\", proto->lenerr)); \n  LWIP_PLATFORM_DIAG((\"memerr: %\"STAT_COUNTER_F\"\\n\\t\", proto->memerr)); \n  LWIP_PLATFORM_DIAG((\"rterr: %\"STAT_COUNTER_F\"\\n\\t\", proto->rterr)); \n  LWIP_PLATFORM_DIAG((\"proterr: %\"STAT_COUNTER_F\"\\n\\t\", proto->proterr)); \n  LWIP_PLATFORM_DIAG((\"opterr: %\"STAT_COUNTER_F\"\\n\\t\", proto->opterr)); \n  LWIP_PLATFORM_DIAG((\"err: %\"STAT_COUNTER_F\"\\n\\t\", proto->err)); \n  LWIP_PLATFORM_DIAG((\"cachehit: %\"STAT_COUNTER_F\"\\n\", proto->cachehit)); \n}\n\n#if IGMP_STATS\nvoid\nstats_display_igmp(struct stats_igmp *igmp)\n{\n  LWIP_PLATFORM_DIAG((\"\\nIGMP\\n\\t\"));\n  LWIP_PLATFORM_DIAG((\"xmit: %\"STAT_COUNTER_F\"\\n\\t\", igmp->xmit)); \n  LWIP_PLATFORM_DIAG((\"recv: %\"STAT_COUNTER_F\"\\n\\t\", igmp->recv)); \n  LWIP_PLATFORM_DIAG((\"drop: %\"STAT_COUNTER_F\"\\n\\t\", igmp->drop)); \n  LWIP_PLATFORM_DIAG((\"chkerr: %\"STAT_COUNTER_F\"\\n\\t\", igmp->chkerr)); \n  LWIP_PLATFORM_DIAG((\"lenerr: %\"STAT_COUNTER_F\"\\n\\t\", igmp->lenerr)); \n  LWIP_PLATFORM_DIAG((\"memerr: %\"STAT_COUNTER_F\"\\n\\t\", igmp->memerr)); \n  LWIP_PLATFORM_DIAG((\"proterr: %\"STAT_COUNTER_F\"\\n\\t\", igmp->proterr)); \n  LWIP_PLATFORM_DIAG((\"rx_v1: %\"STAT_COUNTER_F\"\\n\\t\", igmp->rx_v1)); \n  LWIP_PLATFORM_DIAG((\"rx_group: %\"STAT_COUNTER_F\"\\n\", igmp->rx_group));\n  LWIP_PLATFORM_DIAG((\"rx_general: %\"STAT_COUNTER_F\"\\n\", igmp->rx_general));\n  LWIP_PLATFORM_DIAG((\"rx_report: %\"STAT_COUNTER_F\"\\n\\t\", igmp->rx_report)); \n  LWIP_PLATFORM_DIAG((\"tx_join: %\"STAT_COUNTER_F\"\\n\\t\", igmp->tx_join)); \n  LWIP_PLATFORM_DIAG((\"tx_leave: %\"STAT_COUNTER_F\"\\n\\t\", igmp->tx_leave)); \n  LWIP_PLATFORM_DIAG((\"tx_report: %\"STAT_COUNTER_F\"\\n\\t\", igmp->tx_report)); \n}\n#endif /* IGMP_STATS */\n\n#if MEM_STATS || MEMP_STATS\nvoid\nstats_display_mem(struct stats_mem *mem, const char *name)\n{\n  LWIP_PLATFORM_DIAG((\"\\nMEM %s\\n\\t\", name));\n  LWIP_PLATFORM_DIAG((\"avail: %\"U32_F\"\\n\\t\", (u32_t)mem->avail)); \n  LWIP_PLATFORM_DIAG((\"used: %\"U32_F\"\\n\\t\", (u32_t)mem->used)); \n  LWIP_PLATFORM_DIAG((\"max: %\"U32_F\"\\n\\t\", (u32_t)mem->max)); \n  LWIP_PLATFORM_DIAG((\"err: %\"U32_F\"\\n\", (u32_t)mem->err));\n}\n\n#if MEMP_STATS\nvoid\nstats_display_memp(struct stats_mem *mem, int index)\n{\n  char * memp_names[] = {\n#define LWIP_MEMPOOL(name,num,size,desc) desc,\n#include \"lwip/memp_std.h\"\n  };\n  if(index < MEMP_MAX) {\n    stats_display_mem(mem, memp_names[index]);\n  }\n}\n#endif /* MEMP_STATS */\n#endif /* MEM_STATS || MEMP_STATS */\n\n#if SYS_STATS\nvoid\nstats_display_sys(struct stats_sys *sys)\n{\n  LWIP_PLATFORM_DIAG((\"\\nSYS\\n\\t\"));\n  LWIP_PLATFORM_DIAG((\"sem.used:  %\"U32_F\"\\n\\t\", (u32_t)sys->sem.used)); \n  LWIP_PLATFORM_DIAG((\"sem.max:   %\"U32_F\"\\n\\t\", (u32_t)sys->sem.max)); \n  LWIP_PLATFORM_DIAG((\"sem.err:   %\"U32_F\"\\n\\t\", (u32_t)sys->sem.err)); \n  LWIP_PLATFORM_DIAG((\"mutex.used: %\"U32_F\"\\n\\t\", (u32_t)sys->mutex.used)); \n  LWIP_PLATFORM_DIAG((\"mutex.max:  %\"U32_F\"\\n\\t\", (u32_t)sys->mutex.max)); \n  LWIP_PLATFORM_DIAG((\"mutex.err:  %\"U32_F\"\\n\\t\", (u32_t)sys->mutex.err)); \n  LWIP_PLATFORM_DIAG((\"mbox.used:  %\"U32_F\"\\n\\t\", (u32_t)sys->mbox.used)); \n  LWIP_PLATFORM_DIAG((\"mbox.max:   %\"U32_F\"\\n\\t\", (u32_t)sys->mbox.max)); \n  LWIP_PLATFORM_DIAG((\"mbox.err:   %\"U32_F\"\\n\\t\", (u32_t)sys->mbox.err)); \n}\n#endif /* SYS_STATS */\n\nvoid\nstats_display(void)\n{\n  s16_t i;\n\n  LINK_STATS_DISPLAY();\n  ETHARP_STATS_DISPLAY();\n  IPFRAG_STATS_DISPLAY();\n  IP_STATS_DISPLAY();\n  IGMP_STATS_DISPLAY();\n  ICMP_STATS_DISPLAY();\n  UDP_STATS_DISPLAY();\n  TCP_STATS_DISPLAY();\n  MEM_STATS_DISPLAY();\n  for (i = 0; i < MEMP_MAX; i++) {\n    MEMP_STATS_DISPLAY(i);\n  }\n  SYS_STATS_DISPLAY();\n}\n#endif /* LWIP_STATS_DISPLAY */\n\n#endif /* LWIP_STATS */\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/sys.c",
    "content": "/**\n * @file\n * lwIP Operating System abstraction\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/sys.h\"\n\n/* Most of the functions defined in sys.h must be implemented in the\n * architecture-dependent file sys_arch.c */\n\n#if !NO_SYS\n\n#ifndef sys_msleep\n/**\n * Sleep for some ms. Timeouts are NOT processed while sleeping.\n *\n * @param ms number of milliseconds to sleep\n */\nvoid\nsys_msleep(u32_t ms)\n{\n  if (ms > 0) {\n    sys_sem_t delaysem;\n    err_t err = sys_sem_new(&delaysem, 0);\n    if (err == ERR_OK) {\n      sys_arch_sem_wait(&delaysem, ms);\n      sys_sem_free(&delaysem);\n    }\n  }\n}\n#endif /* sys_msleep */\n\n#endif /* !NO_SYS */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/tcp.c",
    "content": "/**\n * @file\n * Transmission Control Protocol for IP\n *\n * This file contains common functions for the TCP implementation, such as functinos\n * for manipulating the data structures and the TCP timer functions. TCP functions\n * related to input and output is found in tcp_in.c and tcp_out.c respectively.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/def.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/snmp.h\"\n#include \"lwip/tcp.h\"\n#include \"lwip/tcp_impl.h\"\n#include \"lwip/debug.h\"\n#include \"lwip/stats.h\"\n\n#include <string.h>\n\n#ifndef TCP_LOCAL_PORT_RANGE_START\n/* From http://www.iana.org/assignments/port-numbers:\n   \"The Dynamic and/or Private Ports are those from 49152 through 65535\" */\n#define TCP_LOCAL_PORT_RANGE_START        0xc000\n#define TCP_LOCAL_PORT_RANGE_END          0xffff\n#define TCP_ENSURE_LOCAL_PORT_RANGE(port) (((port) & ~TCP_LOCAL_PORT_RANGE_START) + TCP_LOCAL_PORT_RANGE_START)\n#endif\n\n#if LWIP_TCP_KEEPALIVE\n#define TCP_KEEP_DUR(pcb)   ((pcb)->keep_cnt * (pcb)->keep_intvl)\n#define TCP_KEEP_INTVL(pcb) ((pcb)->keep_intvl)\n#else /* LWIP_TCP_KEEPALIVE */\n#define TCP_KEEP_DUR(pcb)   TCP_MAXIDLE\n#define TCP_KEEP_INTVL(pcb) TCP_KEEPINTVL_DEFAULT\n#endif /* LWIP_TCP_KEEPALIVE */\n\nconst char * const tcp_state_str[] = {\n  \"CLOSED\",      \n  \"LISTEN\",      \n  \"SYN_SENT\",    \n  \"SYN_RCVD\",    \n  \"ESTABLISHED\", \n  \"FIN_WAIT_1\",  \n  \"FIN_WAIT_2\",  \n  \"CLOSE_WAIT\",  \n  \"CLOSING\",     \n  \"LAST_ACK\",    \n  \"TIME_WAIT\"   \n};\n\n/* last local TCP port */\nstatic u16_t tcp_port = TCP_LOCAL_PORT_RANGE_START;\n\n/* Incremented every coarse grained timer shot (typically every 500 ms). */\nu32_t tcp_ticks;\nconst u8_t tcp_backoff[13] =\n    { 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7};\n /* Times per slowtmr hits */\nconst u8_t tcp_persist_backoff[7] = { 3, 6, 12, 24, 48, 96, 120 };\n\n/* The TCP PCB lists. */\n\n/** List of all TCP PCBs bound but not yet (connected || listening) */\nstruct tcp_pcb *tcp_bound_pcbs;\n/** List of all TCP PCBs in LISTEN state */\nunion tcp_listen_pcbs_t tcp_listen_pcbs;\n/** List of all TCP PCBs that are in a state in which\n * they accept or send data. */\nstruct tcp_pcb *tcp_active_pcbs;\n/** List of all TCP PCBs in TIME-WAIT state */\nstruct tcp_pcb *tcp_tw_pcbs;\n\n#define NUM_TCP_PCB_LISTS               4\n#define NUM_TCP_PCB_LISTS_NO_TIME_WAIT  3\n/** An array with all (non-temporary) PCB lists, mainly used for smaller code size */\nstruct tcp_pcb ** const tcp_pcb_lists[] = {&tcp_listen_pcbs.pcbs, &tcp_bound_pcbs,\n  &tcp_active_pcbs, &tcp_tw_pcbs};\n\n/** Only used for temporary storage. */\nstruct tcp_pcb *tcp_tmp_pcb;\n\nu8_t tcp_active_pcbs_changed;\n\n/** Timer counter to handle calling slow-timer from tcp_tmr() */ \nstatic u8_t tcp_timer;\nstatic u8_t tcp_timer_ctr;\nstatic u16_t tcp_new_port(void);\n\n/**\n * Initialize this module.\n */\nvoid\ntcp_init(void)\n{\n#if LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS && defined(LWIP_RAND)\n  tcp_port = TCP_ENSURE_LOCAL_PORT_RANGE(LWIP_RAND());\n#endif /* LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS && defined(LWIP_RAND) */\n}\n\n/**\n * Called periodically to dispatch TCP timers.\n */\nvoid\ntcp_tmr(void)\n{\n  /* Call tcp_fasttmr() every 250 ms */\n  tcp_fasttmr();\n\n  if (++tcp_timer & 1) {\n    /* Call tcp_tmr() every 500 ms, i.e., every other timer\n       tcp_tmr() is called. */\n    tcp_slowtmr();\n  }\n}\n\n/**\n * Closes the TX side of a connection held by the PCB.\n * For tcp_close(), a RST is sent if the application didn't receive all data\n * (tcp_recved() not called for all data passed to recv callback).\n *\n * Listening pcbs are freed and may not be referenced any more.\n * Connection pcbs are freed if not yet connected and may not be referenced\n * any more. If a connection is established (at least SYN received or in\n * a closing state), the connection is closed, and put in a closing state.\n * The pcb is then automatically freed in tcp_slowtmr(). It is therefore\n * unsafe to reference it.\n *\n * @param pcb the tcp_pcb to close\n * @return ERR_OK if connection has been closed\n *         another err_t if closing failed and pcb is not freed\n */\nstatic err_t\ntcp_close_shutdown(struct tcp_pcb *pcb, u8_t rst_on_unacked_data)\n{\n  err_t err;\n\n  if (rst_on_unacked_data && ((pcb->state == ESTABLISHED) || (pcb->state == CLOSE_WAIT))) {\n    if ((pcb->refused_data != NULL) || (pcb->rcv_wnd != TCP_WND)) {\n      /* Not all data received by application, send RST to tell the remote\n         side about this. */\n      LWIP_ASSERT(\"pcb->flags & TF_RXCLOSED\", pcb->flags & TF_RXCLOSED);\n\n      /* don't call tcp_abort here: we must not deallocate the pcb since\n         that might not be expected when calling tcp_close */\n      tcp_rst(pcb->snd_nxt, pcb->rcv_nxt, &pcb->local_ip, &pcb->remote_ip,\n        pcb->local_port, pcb->remote_port);\n\n      tcp_pcb_purge(pcb);\n      TCP_RMV_ACTIVE(pcb);\n      if (pcb->state == ESTABLISHED) {\n        /* move to TIME_WAIT since we close actively */\n        pcb->state = TIME_WAIT;\n        TCP_REG(&tcp_tw_pcbs, pcb);\n      } else {\n        /* CLOSE_WAIT: deallocate the pcb since we already sent a RST for it */\n        memp_free(MEMP_TCP_PCB, pcb);\n      }\n      return ERR_OK;\n    }\n  }\n\n  switch (pcb->state) {\n  case CLOSED:\n    /* Closing a pcb in the CLOSED state might seem erroneous,\n     * however, it is in this state once allocated and as yet unused\n     * and the user needs some way to free it should the need arise.\n     * Calling tcp_close() with a pcb that has already been closed, (i.e. twice)\n     * or for a pcb that has been used and then entered the CLOSED state \n     * is erroneous, but this should never happen as the pcb has in those cases\n     * been freed, and so any remaining handles are bogus. */\n    err = ERR_OK;\n    if (pcb->local_port != 0) {\n      TCP_RMV(&tcp_bound_pcbs, pcb);\n    }\n    memp_free(MEMP_TCP_PCB, pcb);\n    pcb = NULL;\n    break;\n  case LISTEN:\n    err = ERR_OK;\n    tcp_pcb_remove(&tcp_listen_pcbs.pcbs, pcb);\n    memp_free(MEMP_TCP_PCB_LISTEN, pcb);\n    pcb = NULL;\n    break;\n  case SYN_SENT:\n    err = ERR_OK;\n    TCP_PCB_REMOVE_ACTIVE(pcb);\n    memp_free(MEMP_TCP_PCB, pcb);\n    pcb = NULL;\n    snmp_inc_tcpattemptfails();\n    break;\n  case SYN_RCVD:\n    err = tcp_send_fin(pcb);\n    if (err == ERR_OK) {\n      snmp_inc_tcpattemptfails();\n      pcb->state = FIN_WAIT_1;\n    }\n    break;\n  case ESTABLISHED:\n    err = tcp_send_fin(pcb);\n    if (err == ERR_OK) {\n      snmp_inc_tcpestabresets();\n      pcb->state = FIN_WAIT_1;\n    }\n    break;\n  case CLOSE_WAIT:\n    err = tcp_send_fin(pcb);\n    if (err == ERR_OK) {\n      snmp_inc_tcpestabresets();\n      pcb->state = LAST_ACK;\n    }\n    break;\n  default:\n    /* Has already been closed, do nothing. */\n    err = ERR_OK;\n    pcb = NULL;\n    break;\n  }\n\n  if (pcb != NULL && err == ERR_OK) {\n    /* To ensure all data has been sent when tcp_close returns, we have\n       to make sure tcp_output doesn't fail.\n       Since we don't really have to ensure all data has been sent when tcp_close\n       returns (unsent data is sent from tcp timer functions, also), we don't care\n       for the return value of tcp_output for now. */\n    /* @todo: When implementing SO_LINGER, this must be changed somehow:\n       If SOF_LINGER is set, the data should be sent and acked before close returns.\n       This can only be valid for sequential APIs, not for the raw API. */\n    tcp_output(pcb);\n  }\n  return err;\n}\n\n/**\n * Closes the connection held by the PCB.\n *\n * Listening pcbs are freed and may not be referenced any more.\n * Connection pcbs are freed if not yet connected and may not be referenced\n * any more. If a connection is established (at least SYN received or in\n * a closing state), the connection is closed, and put in a closing state.\n * The pcb is then automatically freed in tcp_slowtmr(). It is therefore\n * unsafe to reference it (unless an error is returned).\n *\n * @param pcb the tcp_pcb to close\n * @return ERR_OK if connection has been closed\n *         another err_t if closing failed and pcb is not freed\n */\nerr_t\ntcp_close(struct tcp_pcb *pcb)\n{\n#if TCP_DEBUG\n  LWIP_DEBUGF(TCP_DEBUG, (\"tcp_close: closing in \"));\n  tcp_debug_print_state(pcb->state);\n#endif /* TCP_DEBUG */\n\n  if (pcb->state != LISTEN) {\n    /* Set a flag not to receive any more data... */\n    pcb->flags |= TF_RXCLOSED;\n  }\n  /* ... and close */\n  return tcp_close_shutdown(pcb, 1);\n}\n\n/**\n * Causes all or part of a full-duplex connection of this PCB to be shut down.\n * This doesn't deallocate the PCB unless shutting down both sides!\n * Shutting down both sides is the same as calling tcp_close, so if it succeds,\n * the PCB should not be referenced any more.\n *\n * @param pcb PCB to shutdown\n * @param shut_rx shut down receive side if this is != 0\n * @param shut_tx shut down send side if this is != 0\n * @return ERR_OK if shutdown succeeded (or the PCB has already been shut down)\n *         another err_t on error.\n */\nerr_t\ntcp_shutdown(struct tcp_pcb *pcb, int shut_rx, int shut_tx)\n{\n  if (pcb->state == LISTEN) {\n    return ERR_CONN;\n  }\n  if (shut_rx) {\n    /* shut down the receive side: set a flag not to receive any more data... */\n    pcb->flags |= TF_RXCLOSED;\n    if (shut_tx) {\n      /* shutting down the tx AND rx side is the same as closing for the raw API */\n      return tcp_close_shutdown(pcb, 1);\n    }\n    /* ... and free buffered data */\n    if (pcb->refused_data != NULL) {\n      pbuf_free(pcb->refused_data);\n      pcb->refused_data = NULL;\n    }\n  }\n  if (shut_tx) {\n    /* This can't happen twice since if it succeeds, the pcb's state is changed.\n       Only close in these states as the others directly deallocate the PCB */\n    switch (pcb->state) {\n    case SYN_RCVD:\n    case ESTABLISHED:\n    case CLOSE_WAIT:\n      return tcp_close_shutdown(pcb, shut_rx);\n    default:\n      /* Not (yet?) connected, cannot shutdown the TX side as that would bring us\n        into CLOSED state, where the PCB is deallocated. */\n      return ERR_CONN;\n    }\n  }\n  return ERR_OK;\n}\n\n/**\n * Abandons a connection and optionally sends a RST to the remote\n * host.  Deletes the local protocol control block. This is done when\n * a connection is killed because of shortage of memory.\n *\n * @param pcb the tcp_pcb to abort\n * @param reset boolean to indicate whether a reset should be sent\n */\nvoid\ntcp_abandon(struct tcp_pcb *pcb, int reset)\n{\n  u32_t seqno, ackno;\n#if LWIP_CALLBACK_API  \n  tcp_err_fn errf;\n#endif /* LWIP_CALLBACK_API */\n  void *errf_arg;\n\n  /* pcb->state LISTEN not allowed here */\n  LWIP_ASSERT(\"don't call tcp_abort/tcp_abandon for listen-pcbs\",\n    pcb->state != LISTEN);\n  /* Figure out on which TCP PCB list we are, and remove us. If we\n     are in an active state, call the receive function associated with\n     the PCB with a NULL argument, and send an RST to the remote end. */\n  if (pcb->state == TIME_WAIT) {\n    tcp_pcb_remove(&tcp_tw_pcbs, pcb);\n    memp_free(MEMP_TCP_PCB, pcb);\n  } else {\n    seqno = pcb->snd_nxt;\n    ackno = pcb->rcv_nxt;\n#if LWIP_CALLBACK_API\n    errf = pcb->errf;\n#endif /* LWIP_CALLBACK_API */\n    errf_arg = pcb->callback_arg;\n    TCP_PCB_REMOVE_ACTIVE(pcb);\n    if (pcb->unacked != NULL) {\n      tcp_segs_free(pcb->unacked);\n    }\n    if (pcb->unsent != NULL) {\n      tcp_segs_free(pcb->unsent);\n    }\n#if TCP_QUEUE_OOSEQ    \n    if (pcb->ooseq != NULL) {\n      tcp_segs_free(pcb->ooseq);\n    }\n#endif /* TCP_QUEUE_OOSEQ */\n    if (reset) {\n      LWIP_DEBUGF(TCP_RST_DEBUG, (\"tcp_abandon: sending RST\\n\"));\n      tcp_rst(seqno, ackno, &pcb->local_ip, &pcb->remote_ip, pcb->local_port, pcb->remote_port);\n    }\n    memp_free(MEMP_TCP_PCB, pcb);\n    TCP_EVENT_ERR(errf, errf_arg, ERR_ABRT);\n  }\n}\n\n/**\n * Aborts the connection by sending a RST (reset) segment to the remote\n * host. The pcb is deallocated. This function never fails.\n *\n * ATTENTION: When calling this from one of the TCP callbacks, make\n * sure you always return ERR_ABRT (and never return ERR_ABRT otherwise\n * or you will risk accessing deallocated memory or memory leaks!\n *\n * @param pcb the tcp pcb to abort\n */\nvoid\ntcp_abort(struct tcp_pcb *pcb)\n{\n  tcp_abandon(pcb, 1);\n}\n\n/**\n * Binds the connection to a local portnumber and IP address. If the\n * IP address is not given (i.e., ipaddr == NULL), the IP address of\n * the outgoing network interface is used instead.\n *\n * @param pcb the tcp_pcb to bind (no check is done whether this pcb is\n *        already bound!)\n * @param ipaddr the local ip address to bind to (use IP_ADDR_ANY to bind\n *        to any local address\n * @param port the local port to bind to\n * @return ERR_USE if the port is already in use\n *         ERR_VAL if bind failed because the PCB is not in a valid state\n *         ERR_OK if bound\n */\nerr_t\ntcp_bind(struct tcp_pcb *pcb, ip_addr_t *ipaddr, u16_t port)\n{\n  int i;\n  int max_pcb_list = NUM_TCP_PCB_LISTS;\n  struct tcp_pcb *cpcb;\n\n  LWIP_ERROR(\"tcp_bind: can only bind in state CLOSED\", pcb->state == CLOSED, return ERR_VAL);\n\n#if SO_REUSE\n  /* Unless the REUSEADDR flag is set,\n     we have to check the pcbs in TIME-WAIT state, also.\n     We do not dump TIME_WAIT pcb's; they can still be matched by incoming\n     packets using both local and remote IP addresses and ports to distinguish.\n   */\n  if (ip_get_option(pcb, SOF_REUSEADDR)) {\n    max_pcb_list = NUM_TCP_PCB_LISTS_NO_TIME_WAIT;\n  }\n#endif /* SO_REUSE */\n\n  if (port == 0) {\n    port = tcp_new_port();\n    if (port == 0) {\n      return ERR_BUF;\n    }\n  }\n\n  /* Check if the address already is in use (on all lists) */\n  for (i = 0; i < max_pcb_list; i++) {\n    for(cpcb = *tcp_pcb_lists[i]; cpcb != NULL; cpcb = cpcb->next) {\n      if (cpcb->local_port == port) {\n#if SO_REUSE\n        /* Omit checking for the same port if both pcbs have REUSEADDR set.\n           For SO_REUSEADDR, the duplicate-check for a 5-tuple is done in\n           tcp_connect. */\n        if (!ip_get_option(pcb, SOF_REUSEADDR) ||\n            !ip_get_option(cpcb, SOF_REUSEADDR))\n#endif /* SO_REUSE */\n        {\n          if (ip_addr_isany(&(cpcb->local_ip)) ||\n              ip_addr_isany(ipaddr) ||\n              ip_addr_cmp(&(cpcb->local_ip), ipaddr)) {\n            return ERR_USE;\n          }\n        }\n      }\n    }\n  }\n\n  if (!ip_addr_isany(ipaddr)) {\n    pcb->local_ip = *ipaddr;\n  }\n  pcb->local_port = port;\n  TCP_REG(&tcp_bound_pcbs, pcb);\n  LWIP_DEBUGF(TCP_DEBUG, (\"tcp_bind: bind to port %\"U16_F\"\\n\", port));\n  return ERR_OK;\n}\n#if LWIP_CALLBACK_API\n/**\n * Default accept callback if no accept callback is specified by the user.\n */\nstatic err_t\ntcp_accept_null(void *arg, struct tcp_pcb *pcb, err_t err)\n{\n  LWIP_UNUSED_ARG(arg);\n  LWIP_UNUSED_ARG(pcb);\n  LWIP_UNUSED_ARG(err);\n\n  return ERR_ABRT;\n}\n#endif /* LWIP_CALLBACK_API */\n\n/**\n * Set the state of the connection to be LISTEN, which means that it\n * is able to accept incoming connections. The protocol control block\n * is reallocated in order to consume less memory. Setting the\n * connection to LISTEN is an irreversible process.\n *\n * @param pcb the original tcp_pcb\n * @param backlog the incoming connections queue limit\n * @return tcp_pcb used for listening, consumes less memory.\n *\n * @note The original tcp_pcb is freed. This function therefore has to be\n *       called like this:\n *             tpcb = tcp_listen(tpcb);\n */\nstruct tcp_pcb *\ntcp_listen_with_backlog(struct tcp_pcb *pcb, u8_t backlog)\n{\n  struct tcp_pcb_listen *lpcb;\n\n  LWIP_UNUSED_ARG(backlog);\n  LWIP_ERROR(\"tcp_listen: pcb already connected\", pcb->state == CLOSED, return NULL);\n\n  /* already listening? */\n  if (pcb->state == LISTEN) {\n    return pcb;\n  }\n#if SO_REUSE\n  if (ip_get_option(pcb, SOF_REUSEADDR)) {\n    /* Since SOF_REUSEADDR allows reusing a local address before the pcb's usage\n       is declared (listen-/connection-pcb), we have to make sure now that\n       this port is only used once for every local IP. */\n    for(lpcb = tcp_listen_pcbs.listen_pcbs; lpcb != NULL; lpcb = lpcb->next) {\n      if (lpcb->local_port == pcb->local_port) {\n        if (ip_addr_cmp(&lpcb->local_ip, &pcb->local_ip)) {\n          /* this address/port is already used */\n          return NULL;\n        }\n      }\n    }\n  }\n#endif /* SO_REUSE */\n  lpcb = (struct tcp_pcb_listen *)memp_malloc(MEMP_TCP_PCB_LISTEN);\n  if (lpcb == NULL) {\n    return NULL;\n  }\n  lpcb->callback_arg = pcb->callback_arg;\n  lpcb->local_port = pcb->local_port;\n  lpcb->state = LISTEN;\n  lpcb->prio = pcb->prio;\n  lpcb->so_options = pcb->so_options;\n  ip_set_option(lpcb, SOF_ACCEPTCONN);\n  lpcb->ttl = pcb->ttl;\n  lpcb->tos = pcb->tos;\n  ip_addr_copy(lpcb->local_ip, pcb->local_ip);\n  if (pcb->local_port != 0) {\n    TCP_RMV(&tcp_bound_pcbs, pcb);\n  }\n  memp_free(MEMP_TCP_PCB, pcb);\n#if LWIP_CALLBACK_API\n  lpcb->accept = tcp_accept_null;\n#endif /* LWIP_CALLBACK_API */\n#if TCP_LISTEN_BACKLOG\n  lpcb->accepts_pending = 0;\n  lpcb->backlog = (backlog ? backlog : 1);\n#endif /* TCP_LISTEN_BACKLOG */\n  TCP_REG(&tcp_listen_pcbs.pcbs, (struct tcp_pcb *)lpcb);\n  return (struct tcp_pcb *)lpcb;\n}\n\n/** \n * Update the state that tracks the available window space to advertise.\n *\n * Returns how much extra window would be advertised if we sent an\n * update now.\n */\nu32_t tcp_update_rcv_ann_wnd(struct tcp_pcb *pcb)\n{\n  u32_t new_right_edge = pcb->rcv_nxt + pcb->rcv_wnd;\n\n  if (TCP_SEQ_GEQ(new_right_edge, pcb->rcv_ann_right_edge + LWIP_MIN((TCP_WND / 2), pcb->mss))) {\n    /* we can advertise more window */\n    pcb->rcv_ann_wnd = pcb->rcv_wnd;\n    return new_right_edge - pcb->rcv_ann_right_edge;\n  } else {\n    if (TCP_SEQ_GT(pcb->rcv_nxt, pcb->rcv_ann_right_edge)) {\n      /* Can happen due to other end sending out of advertised window,\n       * but within actual available (but not yet advertised) window */\n      pcb->rcv_ann_wnd = 0;\n    } else {\n      /* keep the right edge of window constant */\n      u32_t new_rcv_ann_wnd = pcb->rcv_ann_right_edge - pcb->rcv_nxt;\n      LWIP_ASSERT(\"new_rcv_ann_wnd <= 0xffff\", new_rcv_ann_wnd <= 0xffff);\n      pcb->rcv_ann_wnd = (u16_t)new_rcv_ann_wnd;\n    }\n    return 0;\n  }\n}\n\n/**\n * This function should be called by the application when it has\n * processed the data. The purpose is to advertise a larger window\n * when the data has been processed.\n *\n * @param pcb the tcp_pcb for which data is read\n * @param len the amount of bytes that have been read by the application\n */\nvoid\ntcp_recved(struct tcp_pcb *pcb, u16_t len)\n{\n  int wnd_inflation;\n\n  /* pcb->state LISTEN not allowed here */\n  LWIP_ASSERT(\"don't call tcp_recved for listen-pcbs\",\n    pcb->state != LISTEN);\n  LWIP_ASSERT(\"tcp_recved: len would wrap rcv_wnd\\n\",\n              len <= 0xffff - pcb->rcv_wnd );\n\n  pcb->rcv_wnd += len;\n  if (pcb->rcv_wnd > TCP_WND) {\n    pcb->rcv_wnd = TCP_WND;\n  }\n\n  wnd_inflation = tcp_update_rcv_ann_wnd(pcb);\n\n  /* If the change in the right edge of window is significant (default\n   * watermark is TCP_WND/4), then send an explicit update now.\n   * Otherwise wait for a packet to be sent in the normal course of\n   * events (or more window to be available later) */\n  if (wnd_inflation >= TCP_WND_UPDATE_THRESHOLD) {\n    tcp_ack_now(pcb);\n    tcp_output(pcb);\n  }\n\n  LWIP_DEBUGF(TCP_DEBUG, (\"tcp_recved: recveived %\"U16_F\" bytes, wnd %\"U16_F\" (%\"U16_F\").\\n\",\n         len, pcb->rcv_wnd, TCP_WND - pcb->rcv_wnd));\n}\n\n/**\n * Allocate a new local TCP port.\n *\n * @return a new (free) local TCP port number\n */\nstatic u16_t\ntcp_new_port(void)\n{\n  u8_t i;\n  u16_t n = 0;\n  struct tcp_pcb *pcb;\n  \nagain:\n  if (tcp_port++ == TCP_LOCAL_PORT_RANGE_END) {\n    tcp_port = TCP_LOCAL_PORT_RANGE_START;\n  }\n  /* Check all PCB lists. */\n  for (i = 0; i < NUM_TCP_PCB_LISTS; i++) {\n    for(pcb = *tcp_pcb_lists[i]; pcb != NULL; pcb = pcb->next) {\n      if (pcb->local_port == tcp_port) {\n        if (++n > (TCP_LOCAL_PORT_RANGE_END - TCP_LOCAL_PORT_RANGE_START)) {\n          return 0;\n        }\n        goto again;\n      }\n    }\n  }\n  return tcp_port;\n}\n\n/**\n * Connects to another host. The function given as the \"connected\"\n * argument will be called when the connection has been established.\n *\n * @param pcb the tcp_pcb used to establish the connection\n * @param ipaddr the remote ip address to connect to\n * @param port the remote tcp port to connect to\n * @param connected callback function to call when connected (or on error)\n * @return ERR_VAL if invalid arguments are given\n *         ERR_OK if connect request has been sent\n *         other err_t values if connect request couldn't be sent\n */\nerr_t\ntcp_connect(struct tcp_pcb *pcb, ip_addr_t *ipaddr, u16_t port,\n      tcp_connected_fn connected)\n{\n  err_t ret;\n  u32_t iss;\n  u16_t old_local_port;\n\n  LWIP_ERROR(\"tcp_connect: can only connect from state CLOSED\", pcb->state == CLOSED, return ERR_ISCONN);\n\n  LWIP_DEBUGF(TCP_DEBUG, (\"tcp_connect to port %\"U16_F\"\\n\", port));\n  if (ipaddr != NULL) {\n    pcb->remote_ip = *ipaddr;\n  } else {\n    return ERR_VAL;\n  }\n  pcb->remote_port = port;\n\n  /* check if we have a route to the remote host */\n  if (ip_addr_isany(&(pcb->local_ip))) {\n    /* no local IP address set, yet. */\n    struct netif *netif = ip_route(&(pcb->remote_ip));\n    if (netif == NULL) {\n      /* Don't even try to send a SYN packet if we have no route\n         since that will fail. */\n      return ERR_RTE;\n    }\n    /* Use the netif's IP address as local address. */\n    ip_addr_copy(pcb->local_ip, netif->ip_addr);\n  }\n\n  old_local_port = pcb->local_port;\n  if (pcb->local_port == 0) {\n    pcb->local_port = tcp_new_port();\n    if (pcb->local_port == 0) {\n      return ERR_BUF;\n    }\n  }\n#if SO_REUSE\n  if (ip_get_option(pcb, SOF_REUSEADDR)) {\n    /* Since SOF_REUSEADDR allows reusing a local address, we have to make sure\n       now that the 5-tuple is unique. */\n    struct tcp_pcb *cpcb;\n    int i;\n    /* Don't check listen- and bound-PCBs, check active- and TIME-WAIT PCBs. */\n    for (i = 2; i < NUM_TCP_PCB_LISTS; i++) {\n      for(cpcb = *tcp_pcb_lists[i]; cpcb != NULL; cpcb = cpcb->next) {\n        if ((cpcb->local_port == pcb->local_port) &&\n            (cpcb->remote_port == port) &&\n            ip_addr_cmp(&cpcb->local_ip, &pcb->local_ip) &&\n            ip_addr_cmp(&cpcb->remote_ip, ipaddr)) {\n          /* linux returns EISCONN here, but ERR_USE should be OK for us */\n          return ERR_USE;\n        }\n      }\n    }\n  }\n#endif /* SO_REUSE */\n  iss = tcp_next_iss();\n  pcb->rcv_nxt = 0;\n  pcb->snd_nxt = iss;\n  pcb->lastack = iss - 1;\n  pcb->snd_lbb = iss - 1;\n  pcb->rcv_wnd = TCP_WND;\n  pcb->rcv_ann_wnd = TCP_WND;\n  pcb->rcv_ann_right_edge = pcb->rcv_nxt;\n  pcb->snd_wnd = TCP_WND;\n  /* As initial send MSS, we use TCP_MSS but limit it to 536.\n     The send MSS is updated when an MSS option is received. */\n  pcb->mss = (TCP_MSS > 536) ? 536 : TCP_MSS;\n#if TCP_CALCULATE_EFF_SEND_MSS\n  pcb->mss = tcp_eff_send_mss(pcb->mss, ipaddr);\n#endif /* TCP_CALCULATE_EFF_SEND_MSS */\n  pcb->cwnd = 1;\n  pcb->ssthresh = pcb->mss * 10;\n#if LWIP_CALLBACK_API\n  pcb->connected = connected;\n#else /* LWIP_CALLBACK_API */  \n  LWIP_UNUSED_ARG(connected);\n#endif /* LWIP_CALLBACK_API */\n\n  /* Send a SYN together with the MSS option. */\n  ret = tcp_enqueue_flags(pcb, TCP_SYN);\n  if (ret == ERR_OK) {\n    /* SYN segment was enqueued, changed the pcbs state now */\n    pcb->state = SYN_SENT;\n    if (old_local_port != 0) {\n      TCP_RMV(&tcp_bound_pcbs, pcb);\n    }\n    TCP_REG_ACTIVE(pcb);\n    snmp_inc_tcpactiveopens();\n\n    tcp_output(pcb);\n  }\n  return ret;\n}\n\n/**\n * Called every 500 ms and implements the retransmission timer and the timer that\n * removes PCBs that have been in TIME-WAIT for enough time. It also increments\n * various timers such as the inactivity timer in each PCB.\n *\n * Automatically called from tcp_tmr().\n */\nvoid\ntcp_slowtmr(void)\n{\n  struct tcp_pcb *pcb, *prev;\n  u16_t eff_wnd;\n  u8_t pcb_remove;      /* flag if a PCB should be removed */\n  u8_t pcb_reset;       /* flag if a RST should be sent when removing */\n  err_t err;\n\n  err = ERR_OK;\n\n  ++tcp_ticks;\n  ++tcp_timer_ctr;\n\ntcp_slowtmr_start:\n  /* Steps through all of the active PCBs. */\n  prev = NULL;\n  pcb = tcp_active_pcbs;\n  if (pcb == NULL) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"tcp_slowtmr: no active pcbs\\n\"));\n  }\n  while (pcb != NULL) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"tcp_slowtmr: processing active pcb\\n\"));\n    LWIP_ASSERT(\"tcp_slowtmr: active pcb->state != CLOSED\\n\", pcb->state != CLOSED);\n    LWIP_ASSERT(\"tcp_slowtmr: active pcb->state != LISTEN\\n\", pcb->state != LISTEN);\n    LWIP_ASSERT(\"tcp_slowtmr: active pcb->state != TIME-WAIT\\n\", pcb->state != TIME_WAIT);\n    if (pcb->last_timer == tcp_timer_ctr) {\n      /* skip this pcb, we have already processed it */\n      pcb = pcb->next;\n      continue;\n    }\n    pcb->last_timer = tcp_timer_ctr;\n\n    pcb_remove = 0;\n    pcb_reset = 0;\n\n    if (pcb->state == SYN_SENT && pcb->nrtx == TCP_SYNMAXRTX) {\n      ++pcb_remove;\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_slowtmr: max SYN retries reached\\n\"));\n    }\n    else if (pcb->nrtx == TCP_MAXRTX) {\n      ++pcb_remove;\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_slowtmr: max DATA retries reached\\n\"));\n    } else {\n      if (pcb->persist_backoff > 0) {\n        /* If snd_wnd is zero, use persist timer to send 1 byte probes\n         * instead of using the standard retransmission mechanism. */\n        pcb->persist_cnt++;\n        if (pcb->persist_cnt >= tcp_persist_backoff[pcb->persist_backoff-1]) {\n          pcb->persist_cnt = 0;\n          if (pcb->persist_backoff < sizeof(tcp_persist_backoff)) {\n            pcb->persist_backoff++;\n          }\n          tcp_zero_window_probe(pcb);\n        }\n      } else {\n        /* Increase the retransmission timer if it is running */\n        if(pcb->rtime >= 0) {\n          ++pcb->rtime;\n        }\n\n        if (pcb->unacked != NULL && pcb->rtime >= pcb->rto) {\n          /* Time for a retransmission. */\n          LWIP_DEBUGF(TCP_RTO_DEBUG, (\"tcp_slowtmr: rtime %\"S16_F\n                                      \" pcb->rto %\"S16_F\"\\n\",\n                                      pcb->rtime, pcb->rto));\n\n          /* Double retransmission time-out unless we are trying to\n           * connect to somebody (i.e., we are in SYN_SENT). */\n          if (pcb->state != SYN_SENT) {\n            pcb->rto = ((pcb->sa >> 3) + pcb->sv) << tcp_backoff[pcb->nrtx];\n          }\n\n          /* Reset the retransmission timer. */\n          pcb->rtime = 0;\n\n          /* Reduce congestion window and ssthresh. */\n          eff_wnd = LWIP_MIN(pcb->cwnd, pcb->snd_wnd);\n          pcb->ssthresh = eff_wnd >> 1;\n          if (pcb->ssthresh < (pcb->mss << 1)) {\n            pcb->ssthresh = (pcb->mss << 1);\n          }\n          pcb->cwnd = pcb->mss;\n          LWIP_DEBUGF(TCP_CWND_DEBUG, (\"tcp_slowtmr: cwnd %\"U16_F\n                                       \" ssthresh %\"U16_F\"\\n\",\n                                       pcb->cwnd, pcb->ssthresh));\n \n          /* The following needs to be called AFTER cwnd is set to one\n             mss - STJ */\n          tcp_rexmit_rto(pcb);\n        }\n      }\n    }\n    /* Check if this PCB has stayed too long in FIN-WAIT-2 */\n    if (pcb->state == FIN_WAIT_2) {\n      /* If this PCB is in FIN_WAIT_2 because of SHUT_WR don't let it time out. */\n      if (pcb->flags & TF_RXCLOSED) {\n        /* PCB was fully closed (either through close() or SHUT_RDWR):\n           normal FIN-WAIT timeout handling. */\n        if ((u32_t)(tcp_ticks - pcb->tmr) >\n            TCP_FIN_WAIT_TIMEOUT / TCP_SLOW_INTERVAL) {\n          ++pcb_remove;\n          LWIP_DEBUGF(TCP_DEBUG, (\"tcp_slowtmr: removing pcb stuck in FIN-WAIT-2\\n\"));\n        }\n      }\n    }\n\n    /* Check if KEEPALIVE should be sent */\n    if(ip_get_option(pcb, SOF_KEEPALIVE) &&\n       ((pcb->state == ESTABLISHED) ||\n        (pcb->state == CLOSE_WAIT))) {\n      if((u32_t)(tcp_ticks - pcb->tmr) >\n         (pcb->keep_idle + TCP_KEEP_DUR(pcb)) / TCP_SLOW_INTERVAL)\n      {\n        LWIP_DEBUGF(TCP_DEBUG, (\"tcp_slowtmr: KEEPALIVE timeout. Aborting connection to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\".\\n\",\n                                ip4_addr1_16(&pcb->remote_ip), ip4_addr2_16(&pcb->remote_ip),\n                                ip4_addr3_16(&pcb->remote_ip), ip4_addr4_16(&pcb->remote_ip)));\n        \n        ++pcb_remove;\n        ++pcb_reset;\n      }\n      else if((u32_t)(tcp_ticks - pcb->tmr) > \n              (pcb->keep_idle + pcb->keep_cnt_sent * TCP_KEEP_INTVL(pcb))\n              / TCP_SLOW_INTERVAL)\n      {\n        tcp_keepalive(pcb);\n        pcb->keep_cnt_sent++;\n      }\n    }\n\n    /* If this PCB has queued out of sequence data, but has been\n       inactive for too long, will drop the data (it will eventually\n       be retransmitted). */\n#if TCP_QUEUE_OOSEQ\n    if (pcb->ooseq != NULL &&\n        (u32_t)tcp_ticks - pcb->tmr >= pcb->rto * TCP_OOSEQ_TIMEOUT) {\n      tcp_segs_free(pcb->ooseq);\n      pcb->ooseq = NULL;\n      LWIP_DEBUGF(TCP_CWND_DEBUG, (\"tcp_slowtmr: dropping OOSEQ queued data\\n\"));\n    }\n#endif /* TCP_QUEUE_OOSEQ */\n\n    /* Check if this PCB has stayed too long in SYN-RCVD */\n    if (pcb->state == SYN_RCVD) {\n      if ((u32_t)(tcp_ticks - pcb->tmr) >\n          TCP_SYN_RCVD_TIMEOUT / TCP_SLOW_INTERVAL) {\n        ++pcb_remove;\n        LWIP_DEBUGF(TCP_DEBUG, (\"tcp_slowtmr: removing pcb stuck in SYN-RCVD\\n\"));\n      }\n    }\n\n    /* Check if this PCB has stayed too long in LAST-ACK */\n    if (pcb->state == LAST_ACK) {\n      if ((u32_t)(tcp_ticks - pcb->tmr) > 2 * TCP_MSL / TCP_SLOW_INTERVAL) {\n        ++pcb_remove;\n        LWIP_DEBUGF(TCP_DEBUG, (\"tcp_slowtmr: removing pcb stuck in LAST-ACK\\n\"));\n      }\n    }\n\n    /* If the PCB should be removed, do it. */\n    if (pcb_remove) {\n      struct tcp_pcb *pcb2;\n      tcp_err_fn err_fn;\n      void *err_arg;\n      tcp_pcb_purge(pcb);\n      /* Remove PCB from tcp_active_pcbs list. */\n      if (prev != NULL) {\n        LWIP_ASSERT(\"tcp_slowtmr: middle tcp != tcp_active_pcbs\", pcb != tcp_active_pcbs);\n        prev->next = pcb->next;\n      } else {\n        /* This PCB was the first. */\n        LWIP_ASSERT(\"tcp_slowtmr: first pcb == tcp_active_pcbs\", tcp_active_pcbs == pcb);\n        tcp_active_pcbs = pcb->next;\n      }\n\n      if (pcb_reset) {\n        tcp_rst(pcb->snd_nxt, pcb->rcv_nxt, &pcb->local_ip, &pcb->remote_ip,\n          pcb->local_port, pcb->remote_port);\n      }\n\n      err_fn = pcb->errf;\n      err_arg = pcb->callback_arg;\n      pcb2 = pcb;\n      pcb = pcb->next;\n      memp_free(MEMP_TCP_PCB, pcb2);\n\n      tcp_active_pcbs_changed = 0;\n      TCP_EVENT_ERR(err_fn, err_arg, ERR_ABRT);\n      if (tcp_active_pcbs_changed) {\n        goto tcp_slowtmr_start;\n      }\n    } else {\n      /* get the 'next' element now and work with 'prev' below (in case of abort) */\n      prev = pcb;\n      pcb = pcb->next;\n\n      /* We check if we should poll the connection. */\n      ++prev->polltmr;\n      if (prev->polltmr >= prev->pollinterval) {\n        prev->polltmr = 0;\n        LWIP_DEBUGF(TCP_DEBUG, (\"tcp_slowtmr: polling application\\n\"));\n        tcp_active_pcbs_changed = 0;\n        TCP_EVENT_POLL(prev, err);\n        if (tcp_active_pcbs_changed) {\n          goto tcp_slowtmr_start;\n        }\n        /* if err == ERR_ABRT, 'prev' is already deallocated */\n        if (err == ERR_OK) {\n          tcp_output(prev);\n        }\n      }\n    }\n  }\n\n  \n  /* Steps through all of the TIME-WAIT PCBs. */\n  prev = NULL;\n  pcb = tcp_tw_pcbs;\n  while (pcb != NULL) {\n    LWIP_ASSERT(\"tcp_slowtmr: TIME-WAIT pcb->state == TIME-WAIT\", pcb->state == TIME_WAIT);\n    pcb_remove = 0;\n\n    /* Check if this PCB has stayed long enough in TIME-WAIT */\n    if ((u32_t)(tcp_ticks - pcb->tmr) > 2 * TCP_MSL / TCP_SLOW_INTERVAL) {\n      ++pcb_remove;\n    }\n    \n\n\n    /* If the PCB should be removed, do it. */\n    if (pcb_remove) {\n      struct tcp_pcb *pcb2;\n      tcp_pcb_purge(pcb);\n      /* Remove PCB from tcp_tw_pcbs list. */\n      if (prev != NULL) {\n        LWIP_ASSERT(\"tcp_slowtmr: middle tcp != tcp_tw_pcbs\", pcb != tcp_tw_pcbs);\n        prev->next = pcb->next;\n      } else {\n        /* This PCB was the first. */\n        LWIP_ASSERT(\"tcp_slowtmr: first pcb == tcp_tw_pcbs\", tcp_tw_pcbs == pcb);\n        tcp_tw_pcbs = pcb->next;\n      }\n      pcb2 = pcb;\n      pcb = pcb->next;\n      memp_free(MEMP_TCP_PCB, pcb2);\n    } else {\n      prev = pcb;\n      pcb = pcb->next;\n    }\n  }\n}\n\n/**\n * Is called every TCP_FAST_INTERVAL (250 ms) and process data previously\n * \"refused\" by upper layer (application) and sends delayed ACKs.\n *\n * Automatically called from tcp_tmr().\n */\nvoid\ntcp_fasttmr(void)\n{\n  struct tcp_pcb *pcb;\n\n  ++tcp_timer_ctr;\n\ntcp_fasttmr_start:\n  pcb = tcp_active_pcbs;\n\n  while(pcb != NULL) {\n    if (pcb->last_timer != tcp_timer_ctr) {\n      struct tcp_pcb *next;\n      pcb->last_timer = tcp_timer_ctr;\n      /* send delayed ACKs */\n      if (pcb->flags & TF_ACK_DELAY) {\n        LWIP_DEBUGF(TCP_DEBUG, (\"tcp_fasttmr: delayed ACK\\n\"));\n        tcp_ack_now(pcb);\n        tcp_output(pcb);\n        pcb->flags &= ~(TF_ACK_DELAY | TF_ACK_NOW);\n      }\n\n      next = pcb->next;\n\n      /* If there is data which was previously \"refused\" by upper layer */\n      if (pcb->refused_data != NULL) {\n        tcp_active_pcbs_changed = 0;\n        tcp_process_refused_data(pcb);\n        if (tcp_active_pcbs_changed) {\n          /* application callback has changed the pcb list: restart the loop */\n          goto tcp_fasttmr_start;\n        }\n      }\n      pcb = next;\n    }\n  }\n}\n\n/** Pass pcb->refused_data to the recv callback */\nerr_t\ntcp_process_refused_data(struct tcp_pcb *pcb)\n{\n  err_t err;\n  u8_t refused_flags = pcb->refused_data->flags;\n  /* set pcb->refused_data to NULL in case the callback frees it and then\n     closes the pcb */\n  struct pbuf *refused_data = pcb->refused_data;\n  pcb->refused_data = NULL;\n  /* Notify again application with data previously received. */\n  LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_input: notify kept packet\\n\"));\n  TCP_EVENT_RECV(pcb, refused_data, ERR_OK, err);\n  if (err == ERR_OK) {\n    /* did refused_data include a FIN? */\n    if (refused_flags & PBUF_FLAG_TCP_FIN) {\n      /* correct rcv_wnd as the application won't call tcp_recved()\n         for the FIN's seqno */\n      if (pcb->rcv_wnd != TCP_WND) {\n        pcb->rcv_wnd++;\n      }\n      TCP_EVENT_CLOSED(pcb, err);\n      if (err == ERR_ABRT) {\n        return ERR_ABRT;\n      }\n    }\n  } else if (err == ERR_ABRT) {\n    /* if err == ERR_ABRT, 'pcb' is already deallocated */\n    /* Drop incoming packets because pcb is \"full\" (only if the incoming\n       segment contains data). */\n    LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_input: drop incoming packets, because pcb is \\\"full\\\"\\n\"));\n    return ERR_ABRT;\n  } else {\n    /* data is still refused, pbuf is still valid (go on for ACK-only packets) */\n    pcb->refused_data = refused_data;\n  }\n  return ERR_OK;\n}\n\n/**\n * Deallocates a list of TCP segments (tcp_seg structures).\n *\n * @param seg tcp_seg list of TCP segments to free\n */\nvoid\ntcp_segs_free(struct tcp_seg *seg)\n{\n  while (seg != NULL) {\n    struct tcp_seg *next = seg->next;\n    tcp_seg_free(seg);\n    seg = next;\n  }\n}\n\n/**\n * Frees a TCP segment (tcp_seg structure).\n *\n * @param seg single tcp_seg to free\n */\nvoid\ntcp_seg_free(struct tcp_seg *seg)\n{\n  if (seg != NULL) {\n    if (seg->p != NULL) {\n      pbuf_free(seg->p);\n#if TCP_DEBUG\n      seg->p = NULL;\n#endif /* TCP_DEBUG */\n    }\n    memp_free(MEMP_TCP_SEG, seg);\n  }\n}\n\n/**\n * Sets the priority of a connection.\n *\n * @param pcb the tcp_pcb to manipulate\n * @param prio new priority\n */\nvoid\ntcp_setprio(struct tcp_pcb *pcb, u8_t prio)\n{\n  pcb->prio = prio;\n}\n\n#if TCP_QUEUE_OOSEQ\n/**\n * Returns a copy of the given TCP segment.\n * The pbuf and data are not copied, only the pointers\n *\n * @param seg the old tcp_seg\n * @return a copy of seg\n */ \nstruct tcp_seg *\ntcp_seg_copy(struct tcp_seg *seg)\n{\n  struct tcp_seg *cseg;\n\n  cseg = (struct tcp_seg *)memp_malloc(MEMP_TCP_SEG);\n  if (cseg == NULL) {\n    return NULL;\n  }\n  SMEMCPY((u8_t *)cseg, (const u8_t *)seg, sizeof(struct tcp_seg)); \n  pbuf_ref(cseg->p);\n  return cseg;\n}\n#endif /* TCP_QUEUE_OOSEQ */\n\n#if LWIP_CALLBACK_API\n/**\n * Default receive callback that is called if the user didn't register\n * a recv callback for the pcb.\n */\nerr_t\ntcp_recv_null(void *arg, struct tcp_pcb *pcb, struct pbuf *p, err_t err)\n{\n  LWIP_UNUSED_ARG(arg);\n  if (p != NULL) {\n    tcp_recved(pcb, p->tot_len);\n    pbuf_free(p);\n  } else if (err == ERR_OK) {\n    return tcp_close(pcb);\n  }\n  return ERR_OK;\n}\n#endif /* LWIP_CALLBACK_API */\n\n/**\n * Kills the oldest active connection that has the same or lower priority than\n * 'prio'.\n *\n * @param prio minimum priority\n */\nstatic void\ntcp_kill_prio(u8_t prio)\n{\n  struct tcp_pcb *pcb, *inactive;\n  u32_t inactivity;\n  u8_t mprio;\n\n\n  mprio = TCP_PRIO_MAX;\n  \n  /* We kill the oldest active connection that has lower priority than prio. */\n  inactivity = 0;\n  inactive = NULL;\n  for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) {\n    if (pcb->prio <= prio &&\n       pcb->prio <= mprio &&\n       (u32_t)(tcp_ticks - pcb->tmr) >= inactivity) {\n      inactivity = tcp_ticks - pcb->tmr;\n      inactive = pcb;\n      mprio = pcb->prio;\n    }\n  }\n  if (inactive != NULL) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"tcp_kill_prio: killing oldest PCB %p (%\"S32_F\")\\n\",\n           (void *)inactive, inactivity));\n    tcp_abort(inactive);\n  }\n}\n\n/**\n * Kills the oldest connection that is in TIME_WAIT state.\n * Called from tcp_alloc() if no more connections are available.\n */\nstatic void\ntcp_kill_timewait(void)\n{\n  struct tcp_pcb *pcb, *inactive;\n  u32_t inactivity;\n\n  inactivity = 0;\n  inactive = NULL;\n  /* Go through the list of TIME_WAIT pcbs and get the oldest pcb. */\n  for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) {\n    if ((u32_t)(tcp_ticks - pcb->tmr) >= inactivity) {\n      inactivity = tcp_ticks - pcb->tmr;\n      inactive = pcb;\n    }\n  }\n  if (inactive != NULL) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"tcp_kill_timewait: killing oldest TIME-WAIT PCB %p (%\"S32_F\")\\n\",\n           (void *)inactive, inactivity));\n    tcp_abort(inactive);\n  }\n}\n\n/**\n * Allocate a new tcp_pcb structure.\n *\n * @param prio priority for the new pcb\n * @return a new tcp_pcb that initially is in state CLOSED\n */\nstruct tcp_pcb *\ntcp_alloc(u8_t prio)\n{\n  struct tcp_pcb *pcb;\n  u32_t iss;\n  \n  pcb = (struct tcp_pcb *)memp_malloc(MEMP_TCP_PCB);\n  if (pcb == NULL) {\n    /* Try killing oldest connection in TIME-WAIT. */\n    LWIP_DEBUGF(TCP_DEBUG, (\"tcp_alloc: killing off oldest TIME-WAIT connection\\n\"));\n    tcp_kill_timewait();\n    /* Try to allocate a tcp_pcb again. */\n    pcb = (struct tcp_pcb *)memp_malloc(MEMP_TCP_PCB);\n    if (pcb == NULL) {\n      /* Try killing active connections with lower priority than the new one. */\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_alloc: killing connection with prio lower than %d\\n\", prio));\n      tcp_kill_prio(prio);\n      /* Try to allocate a tcp_pcb again. */\n      pcb = (struct tcp_pcb *)memp_malloc(MEMP_TCP_PCB);\n      if (pcb != NULL) {\n        /* adjust err stats: memp_malloc failed twice before */\n        MEMP_STATS_DEC(err, MEMP_TCP_PCB);\n      }\n    }\n    if (pcb != NULL) {\n      /* adjust err stats: timewait PCB was freed above */\n      MEMP_STATS_DEC(err, MEMP_TCP_PCB);\n    }\n  }\n  if (pcb != NULL) {\n    memset(pcb, 0, sizeof(struct tcp_pcb));\n    pcb->prio = prio;\n    pcb->snd_buf = TCP_SND_BUF;\n    pcb->snd_queuelen = 0;\n    pcb->rcv_wnd = TCP_WND;\n    pcb->rcv_ann_wnd = TCP_WND;\n    pcb->tos = 0;\n    pcb->ttl = TCP_TTL;\n    /* As initial send MSS, we use TCP_MSS but limit it to 536.\n       The send MSS is updated when an MSS option is received. */\n    pcb->mss = (TCP_MSS > 536) ? 536 : TCP_MSS;\n    pcb->rto = 3000 / TCP_SLOW_INTERVAL;\n    pcb->sa = 0;\n    pcb->sv = 3000 / TCP_SLOW_INTERVAL;\n    pcb->rtime = -1;\n    pcb->cwnd = 1;\n    iss = tcp_next_iss();\n    pcb->snd_wl2 = iss;\n    pcb->snd_nxt = iss;\n    pcb->lastack = iss;\n    pcb->snd_lbb = iss;   \n    pcb->tmr = tcp_ticks;\n    pcb->last_timer = tcp_timer_ctr;\n\n    pcb->polltmr = 0;\n\n#if LWIP_CALLBACK_API\n    pcb->recv = tcp_recv_null;\n#endif /* LWIP_CALLBACK_API */  \n    \n    /* Init KEEPALIVE timer */\n    pcb->keep_idle  = TCP_KEEPIDLE_DEFAULT;\n    \n#if LWIP_TCP_KEEPALIVE\n    pcb->keep_intvl = TCP_KEEPINTVL_DEFAULT;\n    pcb->keep_cnt   = TCP_KEEPCNT_DEFAULT;\n#endif /* LWIP_TCP_KEEPALIVE */\n\n    pcb->keep_cnt_sent = 0;\n  }\n  return pcb;\n}\n\n/**\n * Creates a new TCP protocol control block but doesn't place it on\n * any of the TCP PCB lists.\n * The pcb is not put on any list until binding using tcp_bind().\n *\n * @internal: Maybe there should be a idle TCP PCB list where these\n * PCBs are put on. Port reservation using tcp_bind() is implemented but\n * allocated pcbs that are not bound can't be killed automatically if wanting\n * to allocate a pcb with higher prio (@see tcp_kill_prio())\n *\n * @return a new tcp_pcb that initially is in state CLOSED\n */\nstruct tcp_pcb *\ntcp_new(void)\n{\n  return tcp_alloc(TCP_PRIO_NORMAL);\n}\n\n/**\n * Used to specify the argument that should be passed callback\n * functions.\n *\n * @param pcb tcp_pcb to set the callback argument\n * @param arg void pointer argument to pass to callback functions\n */ \nvoid\ntcp_arg(struct tcp_pcb *pcb, void *arg)\n{\n  /* This function is allowed to be called for both listen pcbs and\n     connection pcbs. */\n  pcb->callback_arg = arg;\n}\n#if LWIP_CALLBACK_API\n\n/**\n * Used to specify the function that should be called when a TCP\n * connection receives data.\n *\n * @param pcb tcp_pcb to set the recv callback\n * @param recv callback function to call for this pcb when data is received\n */ \nvoid\ntcp_recv(struct tcp_pcb *pcb, tcp_recv_fn recv)\n{\n  LWIP_ASSERT(\"invalid socket state for recv callback\", pcb->state != LISTEN);\n  pcb->recv = recv;\n}\n\n/**\n * Used to specify the function that should be called when TCP data\n * has been successfully delivered to the remote host.\n *\n * @param pcb tcp_pcb to set the sent callback\n * @param sent callback function to call for this pcb when data is successfully sent\n */ \nvoid\ntcp_sent(struct tcp_pcb *pcb, tcp_sent_fn sent)\n{\n  LWIP_ASSERT(\"invalid socket state for sent callback\", pcb->state != LISTEN);\n  pcb->sent = sent;\n}\n\n/**\n * Used to specify the function that should be called when a fatal error\n * has occured on the connection.\n *\n * @param pcb tcp_pcb to set the err callback\n * @param err callback function to call for this pcb when a fatal error\n *        has occured on the connection\n */ \nvoid\ntcp_err(struct tcp_pcb *pcb, tcp_err_fn err)\n{\n  LWIP_ASSERT(\"invalid socket state for err callback\", pcb->state != LISTEN);\n  pcb->errf = err;\n}\n\n/**\n * Used for specifying the function that should be called when a\n * LISTENing connection has been connected to another host.\n *\n * @param pcb tcp_pcb to set the accept callback\n * @param accept callback function to call for this pcb when LISTENing\n *        connection has been connected to another host\n */ \nvoid\ntcp_accept(struct tcp_pcb *pcb, tcp_accept_fn accept)\n{\n  /* This function is allowed to be called for both listen pcbs and\n     connection pcbs. */\n  pcb->accept = accept;\n}\n#endif /* LWIP_CALLBACK_API */\n\n\n/**\n * Used to specify the function that should be called periodically\n * from TCP. The interval is specified in terms of the TCP coarse\n * timer interval, which is called twice a second.\n *\n */ \nvoid\ntcp_poll(struct tcp_pcb *pcb, tcp_poll_fn poll, u8_t interval)\n{\n  LWIP_ASSERT(\"invalid socket state for poll\", pcb->state != LISTEN);\n#if LWIP_CALLBACK_API\n  pcb->poll = poll;\n#else /* LWIP_CALLBACK_API */  \n  LWIP_UNUSED_ARG(poll);\n#endif /* LWIP_CALLBACK_API */  \n  pcb->pollinterval = interval;\n}\n\n/**\n * Purges a TCP PCB. Removes any buffered data and frees the buffer memory\n * (pcb->ooseq, pcb->unsent and pcb->unacked are freed).\n *\n * @param pcb tcp_pcb to purge. The pcb itself is not deallocated!\n */\nvoid\ntcp_pcb_purge(struct tcp_pcb *pcb)\n{\n  if (pcb->state != CLOSED &&\n     pcb->state != TIME_WAIT &&\n     pcb->state != LISTEN) {\n\n    LWIP_DEBUGF(TCP_DEBUG, (\"tcp_pcb_purge\\n\"));\n\n#if TCP_LISTEN_BACKLOG\n    if (pcb->state == SYN_RCVD) {\n      /* Need to find the corresponding listen_pcb and decrease its accepts_pending */\n      struct tcp_pcb_listen *lpcb;\n      LWIP_ASSERT(\"tcp_pcb_purge: pcb->state == SYN_RCVD but tcp_listen_pcbs is NULL\",\n        tcp_listen_pcbs.listen_pcbs != NULL);\n      for (lpcb = tcp_listen_pcbs.listen_pcbs; lpcb != NULL; lpcb = lpcb->next) {\n        if ((lpcb->local_port == pcb->local_port) &&\n            (ip_addr_isany(&lpcb->local_ip) ||\n             ip_addr_cmp(&pcb->local_ip, &lpcb->local_ip))) {\n            /* port and address of the listen pcb match the timed-out pcb */\n            LWIP_ASSERT(\"tcp_pcb_purge: listen pcb does not have accepts pending\",\n              lpcb->accepts_pending > 0);\n            lpcb->accepts_pending--;\n            break;\n          }\n      }\n    }\n#endif /* TCP_LISTEN_BACKLOG */\n\n\n    if (pcb->refused_data != NULL) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_pcb_purge: data left on ->refused_data\\n\"));\n      pbuf_free(pcb->refused_data);\n      pcb->refused_data = NULL;\n    }\n    if (pcb->unsent != NULL) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_pcb_purge: not all data sent\\n\"));\n    }\n    if (pcb->unacked != NULL) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_pcb_purge: data left on ->unacked\\n\"));\n    }\n#if TCP_QUEUE_OOSEQ\n    if (pcb->ooseq != NULL) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_pcb_purge: data left on ->ooseq\\n\"));\n    }\n    tcp_segs_free(pcb->ooseq);\n    pcb->ooseq = NULL;\n#endif /* TCP_QUEUE_OOSEQ */\n\n    /* Stop the retransmission timer as it will expect data on unacked\n       queue if it fires */\n    pcb->rtime = -1;\n\n    tcp_segs_free(pcb->unsent);\n    tcp_segs_free(pcb->unacked);\n    pcb->unacked = pcb->unsent = NULL;\n#if TCP_OVERSIZE\n    pcb->unsent_oversize = 0;\n#endif /* TCP_OVERSIZE */\n  }\n}\n\n/**\n * Purges the PCB and removes it from a PCB list. Any delayed ACKs are sent first.\n *\n * @param pcblist PCB list to purge.\n * @param pcb tcp_pcb to purge. The pcb itself is NOT deallocated!\n */\nvoid\ntcp_pcb_remove(struct tcp_pcb **pcblist, struct tcp_pcb *pcb)\n{\n  TCP_RMV(pcblist, pcb);\n\n  tcp_pcb_purge(pcb);\n  \n  /* if there is an outstanding delayed ACKs, send it */\n  if (pcb->state != TIME_WAIT &&\n     pcb->state != LISTEN &&\n     pcb->flags & TF_ACK_DELAY) {\n    pcb->flags |= TF_ACK_NOW;\n    tcp_output(pcb);\n  }\n\n  if (pcb->state != LISTEN) {\n    LWIP_ASSERT(\"unsent segments leaking\", pcb->unsent == NULL);\n    LWIP_ASSERT(\"unacked segments leaking\", pcb->unacked == NULL);\n#if TCP_QUEUE_OOSEQ\n    LWIP_ASSERT(\"ooseq segments leaking\", pcb->ooseq == NULL);\n#endif /* TCP_QUEUE_OOSEQ */\n  }\n\n  pcb->state = CLOSED;\n\n  LWIP_ASSERT(\"tcp_pcb_remove: tcp_pcbs_sane()\", tcp_pcbs_sane());\n}\n\n/**\n * Calculates a new initial sequence number for new connections.\n *\n * @return u32_t pseudo random sequence number\n */\nu32_t\ntcp_next_iss(void)\n{\n  static u32_t iss = 6510;\n  \n  iss += tcp_ticks;       /* XXX */\n  return iss;\n}\n\n#if TCP_CALCULATE_EFF_SEND_MSS\n/**\n * Calcluates the effective send mss that can be used for a specific IP address\n * by using ip_route to determin the netif used to send to the address and\n * calculating the minimum of TCP_MSS and that netif's mtu (if set).\n */\nu16_t\ntcp_eff_send_mss(u16_t sendmss, ip_addr_t *addr)\n{\n  u16_t mss_s;\n  struct netif *outif;\n\n  outif = ip_route(addr);\n  if ((outif != NULL) && (outif->mtu != 0)) {\n    mss_s = outif->mtu - IP_HLEN - TCP_HLEN;\n    /* RFC 1122, chap 4.2.2.6:\n     * Eff.snd.MSS = min(SendMSS+20, MMS_S) - TCPhdrsize - IPoptionsize\n     * We correct for TCP options in tcp_write(), and don't support IP options.\n     */\n    sendmss = LWIP_MIN(sendmss, mss_s);\n  }\n  return sendmss;\n}\n#endif /* TCP_CALCULATE_EFF_SEND_MSS */\n\nconst char*\ntcp_debug_state_str(enum tcp_state s)\n{\n  return tcp_state_str[s];\n}\n\n#if TCP_DEBUG || TCP_INPUT_DEBUG || TCP_OUTPUT_DEBUG\n/**\n * Print a tcp header for debugging purposes.\n *\n * @param tcphdr pointer to a struct tcp_hdr\n */\nvoid\ntcp_debug_print(struct tcp_hdr *tcphdr)\n{\n  LWIP_DEBUGF(TCP_DEBUG, (\"TCP header:\\n\"));\n  LWIP_DEBUGF(TCP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(TCP_DEBUG, (\"|    %5\"U16_F\"      |    %5\"U16_F\"      | (src port, dest port)\\n\",\n         ntohs(tcphdr->src), ntohs(tcphdr->dest)));\n  LWIP_DEBUGF(TCP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(TCP_DEBUG, (\"|           %010\"U32_F\"          | (seq no)\\n\",\n          ntohl(tcphdr->seqno)));\n  LWIP_DEBUGF(TCP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(TCP_DEBUG, (\"|           %010\"U32_F\"          | (ack no)\\n\",\n         ntohl(tcphdr->ackno)));\n  LWIP_DEBUGF(TCP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(TCP_DEBUG, (\"| %2\"U16_F\" |   |%\"U16_F\"%\"U16_F\"%\"U16_F\"%\"U16_F\"%\"U16_F\"%\"U16_F\"|     %5\"U16_F\"     | (hdrlen, flags (\",\n       TCPH_HDRLEN(tcphdr),\n         TCPH_FLAGS(tcphdr) >> 5 & 1,\n         TCPH_FLAGS(tcphdr) >> 4 & 1,\n         TCPH_FLAGS(tcphdr) >> 3 & 1,\n         TCPH_FLAGS(tcphdr) >> 2 & 1,\n         TCPH_FLAGS(tcphdr) >> 1 & 1,\n         TCPH_FLAGS(tcphdr) & 1,\n         ntohs(tcphdr->wnd)));\n  tcp_debug_print_flags(TCPH_FLAGS(tcphdr));\n  LWIP_DEBUGF(TCP_DEBUG, (\"), win)\\n\"));\n  LWIP_DEBUGF(TCP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(TCP_DEBUG, (\"|    0x%04\"X16_F\"     |     %5\"U16_F\"     | (chksum, urgp)\\n\",\n         ntohs(tcphdr->chksum), ntohs(tcphdr->urgp)));\n  LWIP_DEBUGF(TCP_DEBUG, (\"+-------------------------------+\\n\"));\n}\n\n/**\n * Print a tcp state for debugging purposes.\n *\n * @param s enum tcp_state to print\n */\nvoid\ntcp_debug_print_state(enum tcp_state s)\n{\n  LWIP_DEBUGF(TCP_DEBUG, (\"State: %s\\n\", tcp_state_str[s]));\n}\n\n/**\n * Print tcp flags for debugging purposes.\n *\n * @param flags tcp flags, all active flags are printed\n */\nvoid\ntcp_debug_print_flags(u8_t flags)\n{\n  if (flags & TCP_FIN) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"FIN \"));\n  }\n  if (flags & TCP_SYN) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"SYN \"));\n  }\n  if (flags & TCP_RST) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"RST \"));\n  }\n  if (flags & TCP_PSH) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"PSH \"));\n  }\n  if (flags & TCP_ACK) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"ACK \"));\n  }\n  if (flags & TCP_URG) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"URG \"));\n  }\n  if (flags & TCP_ECE) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"ECE \"));\n  }\n  if (flags & TCP_CWR) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"CWR \"));\n  }\n  LWIP_DEBUGF(TCP_DEBUG, (\"\\n\"));\n}\n\n/**\n * Print all tcp_pcbs in every list for debugging purposes.\n */\nvoid\ntcp_debug_print_pcbs(void)\n{\n  struct tcp_pcb *pcb;\n  LWIP_DEBUGF(TCP_DEBUG, (\"Active PCB states:\\n\"));\n  for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"Local port %\"U16_F\", foreign port %\"U16_F\" snd_nxt %\"U32_F\" rcv_nxt %\"U32_F\" \",\n                       pcb->local_port, pcb->remote_port,\n                       pcb->snd_nxt, pcb->rcv_nxt));\n    tcp_debug_print_state(pcb->state);\n  }    \n  LWIP_DEBUGF(TCP_DEBUG, (\"Listen PCB states:\\n\"));\n  for(pcb = (struct tcp_pcb *)tcp_listen_pcbs.pcbs; pcb != NULL; pcb = pcb->next) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"Local port %\"U16_F\", foreign port %\"U16_F\" snd_nxt %\"U32_F\" rcv_nxt %\"U32_F\" \",\n                       pcb->local_port, pcb->remote_port,\n                       pcb->snd_nxt, pcb->rcv_nxt));\n    tcp_debug_print_state(pcb->state);\n  }    \n  LWIP_DEBUGF(TCP_DEBUG, (\"TIME-WAIT PCB states:\\n\"));\n  for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"Local port %\"U16_F\", foreign port %\"U16_F\" snd_nxt %\"U32_F\" rcv_nxt %\"U32_F\" \",\n                       pcb->local_port, pcb->remote_port,\n                       pcb->snd_nxt, pcb->rcv_nxt));\n    tcp_debug_print_state(pcb->state);\n  }    \n}\n\n/**\n * Check state consistency of the tcp_pcb lists.\n */\ns16_t\ntcp_pcbs_sane(void)\n{\n  struct tcp_pcb *pcb;\n  for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) {\n    LWIP_ASSERT(\"tcp_pcbs_sane: active pcb->state != CLOSED\", pcb->state != CLOSED);\n    LWIP_ASSERT(\"tcp_pcbs_sane: active pcb->state != LISTEN\", pcb->state != LISTEN);\n    LWIP_ASSERT(\"tcp_pcbs_sane: active pcb->state != TIME-WAIT\", pcb->state != TIME_WAIT);\n  }\n  for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) {\n    LWIP_ASSERT(\"tcp_pcbs_sane: tw pcb->state == TIME-WAIT\", pcb->state == TIME_WAIT);\n  }\n  return 1;\n}\n#endif /* TCP_DEBUG */\n\n#endif /* LWIP_TCP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/tcp_in.c",
    "content": "/**\n * @file\n * Transmission Control Protocol, incoming traffic\n *\n * The input processing functions of the TCP layer.\n *\n * These functions are generally called in the order (ip_input() ->)\n * tcp_input() -> * tcp_process() -> tcp_receive() (-> application).\n * \n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/tcp_impl.h\"\n#include \"lwip/def.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/inet_chksum.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/snmp.h\"\n#include \"arch/perf.h\"\n\n/* These variables are global to all functions involved in the input\n   processing of TCP segments. They are set by the tcp_input()\n   function. */\nstatic struct tcp_seg inseg;\nstatic struct tcp_hdr *tcphdr;\nstatic struct ip_hdr *iphdr;\nstatic u32_t seqno, ackno;\nstatic u8_t flags;\nstatic u16_t tcplen;\n\nstatic u8_t recv_flags;\nstatic struct pbuf *recv_data;\n\nstruct tcp_pcb *tcp_input_pcb;\n\n/* Forward declarations. */\nstatic err_t tcp_process(struct tcp_pcb *pcb);\nstatic void tcp_receive(struct tcp_pcb *pcb);\nstatic void tcp_parseopt(struct tcp_pcb *pcb);\n\nstatic err_t tcp_listen_input(struct tcp_pcb_listen *pcb);\nstatic err_t tcp_timewait_input(struct tcp_pcb *pcb);\n\n/**\n * The initial input processing of TCP. It verifies the TCP header, demultiplexes\n * the segment between the PCBs and passes it on to tcp_process(), which implements\n * the TCP finite state machine. This function is called by the IP layer (in\n * ip_input()).\n *\n * @param p received TCP segment to process (p->payload pointing to the IP header)\n * @param inp network interface on which this segment was received\n */\nvoid\ntcp_input(struct pbuf *p, struct netif *inp)\n{\n  struct tcp_pcb *pcb, *prev;\n  struct tcp_pcb_listen *lpcb;\n#if SO_REUSE\n  struct tcp_pcb *lpcb_prev = NULL;\n  struct tcp_pcb_listen *lpcb_any = NULL;\n#endif /* SO_REUSE */\n  u8_t hdrlen;\n  err_t err;\n\n  PERF_START;\n\n  TCP_STATS_INC(tcp.recv);\n  snmp_inc_tcpinsegs();\n\n  iphdr = (struct ip_hdr *)p->payload;\n  tcphdr = (struct tcp_hdr *)((u8_t *)p->payload + IPH_HL(iphdr) * 4);\n\n#if TCP_INPUT_DEBUG\n  tcp_debug_print(tcphdr);\n#endif\n\n  /* remove header from payload */\n  if (pbuf_header(p, -((s16_t)(IPH_HL(iphdr) * 4))) || (p->tot_len < sizeof(struct tcp_hdr))) {\n    /* drop short packets */\n    LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_input: short packet (%\"U16_F\" bytes) discarded\\n\", p->tot_len));\n    TCP_STATS_INC(tcp.lenerr);\n    goto dropped;\n  }\n\n  /* Don't even process incoming broadcasts/multicasts. */\n  if (ip_addr_isbroadcast(&current_iphdr_dest, inp) ||\n      ip_addr_ismulticast(&current_iphdr_dest)) {\n    TCP_STATS_INC(tcp.proterr);\n    goto dropped;\n  }\n\n#if CHECKSUM_CHECK_TCP\n  /* Verify TCP checksum. */\n  if (inet_chksum_pseudo(p, ip_current_src_addr(), ip_current_dest_addr(),\n      IP_PROTO_TCP, p->tot_len) != 0) {\n      LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_input: packet discarded due to failing checksum 0x%04\"X16_F\"\\n\",\n        inet_chksum_pseudo(p, ip_current_src_addr(), ip_current_dest_addr(),\n      IP_PROTO_TCP, p->tot_len)));\n#if TCP_DEBUG\n    tcp_debug_print(tcphdr);\n#endif /* TCP_DEBUG */\n    TCP_STATS_INC(tcp.chkerr);\n    goto dropped;\n  }\n#endif\n\n  /* Move the payload pointer in the pbuf so that it points to the\n     TCP data instead of the TCP header. */\n  hdrlen = TCPH_HDRLEN(tcphdr);\n  if(pbuf_header(p, -(hdrlen * 4))){\n    /* drop short packets */\n    LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_input: short packet\\n\"));\n    TCP_STATS_INC(tcp.lenerr);\n    goto dropped;\n  }\n\n  /* Convert fields in TCP header to host byte order. */\n  tcphdr->src = ntohs(tcphdr->src);\n  tcphdr->dest = ntohs(tcphdr->dest);\n  seqno = tcphdr->seqno = ntohl(tcphdr->seqno);\n  ackno = tcphdr->ackno = ntohl(tcphdr->ackno);\n  tcphdr->wnd = ntohs(tcphdr->wnd);\n\n  flags = TCPH_FLAGS(tcphdr);\n  tcplen = p->tot_len + ((flags & (TCP_FIN | TCP_SYN)) ? 1 : 0);\n\n  /* Demultiplex an incoming segment. First, we check if it is destined\n     for an active connection. */\n  prev = NULL;\n\n  \n  for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) {\n    LWIP_ASSERT(\"tcp_input: active pcb->state != CLOSED\", pcb->state != CLOSED);\n    LWIP_ASSERT(\"tcp_input: active pcb->state != TIME-WAIT\", pcb->state != TIME_WAIT);\n    LWIP_ASSERT(\"tcp_input: active pcb->state != LISTEN\", pcb->state != LISTEN);\n    if (pcb->remote_port == tcphdr->src &&\n       pcb->local_port == tcphdr->dest &&\n       ip_addr_cmp(&(pcb->remote_ip), &current_iphdr_src) &&\n       ip_addr_cmp(&(pcb->local_ip), &current_iphdr_dest)) {\n\n      /* Move this PCB to the front of the list so that subsequent\n         lookups will be faster (we exploit locality in TCP segment\n         arrivals). */\n      LWIP_ASSERT(\"tcp_input: pcb->next != pcb (before cache)\", pcb->next != pcb);\n      if (prev != NULL) {\n        prev->next = pcb->next;\n        pcb->next = tcp_active_pcbs;\n        tcp_active_pcbs = pcb;\n      }\n      LWIP_ASSERT(\"tcp_input: pcb->next != pcb (after cache)\", pcb->next != pcb);\n      break;\n    }\n    prev = pcb;\n  }\n\n  if (pcb == NULL) {\n    /* If it did not go to an active connection, we check the connections\n       in the TIME-WAIT state. */\n    for(pcb = tcp_tw_pcbs; pcb != NULL; pcb = pcb->next) {\n      LWIP_ASSERT(\"tcp_input: TIME-WAIT pcb->state == TIME-WAIT\", pcb->state == TIME_WAIT);\n      if (pcb->remote_port == tcphdr->src &&\n         pcb->local_port == tcphdr->dest &&\n         ip_addr_cmp(&(pcb->remote_ip), &current_iphdr_src) &&\n         ip_addr_cmp(&(pcb->local_ip), &current_iphdr_dest)) {\n        /* We don't really care enough to move this PCB to the front\n           of the list since we are not very likely to receive that\n           many segments for connections in TIME-WAIT. */\n        LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_input: packed for TIME_WAITing connection.\\n\"));\n        tcp_timewait_input(pcb);\n        pbuf_free(p);\n        return;\n      }\n    }\n\n    /* Finally, if we still did not get a match, we check all PCBs that\n       are LISTENing for incoming connections. */\n      \n    /* tun2socks: we are listening on any ip on any ports. */\n    prev = NULL;\n    lpcb = tcp_listen_pcbs.listen_pcbs;\n//    for(lpcb = tcp_listen_pcbs.listen_pcbs; lpcb != NULL; lpcb = lpcb->next) {\n//      if (lpcb->local_port == tcphdr->dest) {\n//#if SO_REUSE\n//        if (ip_addr_cmp(&(lpcb->local_ip), &current_iphdr_dest)) {\n//          /* found an exact match */\n//          break;\n//        } else if(ip_addr_isany(&(lpcb->local_ip))) {\n//          /* found an ANY-match */\n//          lpcb_any = lpcb;\n//          lpcb_prev = prev;\n//        }\n//#else /* SO_REUSE */\n//        if (ip_addr_cmp(&(lpcb->local_ip), &current_iphdr_dest) ||\n//            ip_addr_isany(&(lpcb->local_ip))) {\n//          /* found a match */\n//          break;\n//        }\n//#endif /* SO_REUSE */\n//      }\n      prev = (struct tcp_pcb *)lpcb;\n//    }\n//#if SO_REUSE\n//    /* first try specific local IP */\n//    if (lpcb == NULL) {\n//      /* only pass to ANY if no specific local IP has been found */\n//      lpcb = lpcb_any;\n//      prev = lpcb_prev;\n//    }\n//#endif /* SO_REUSE */\n    if (lpcb != NULL) {\n      /* Move this PCB to the front of the list so that subsequent\n         lookups will be faster (we exploit locality in TCP segment\n         arrivals). */\n//      if (prev != NULL) {\n//        ((struct tcp_pcb_listen *)prev)->next = lpcb->next;\n//              /* our successor is the remainder of the listening list */\n//        lpcb->next = tcp_listen_pcbs.listen_pcbs;\n//              /* put this listening pcb at the head of the listening list */\n//        tcp_listen_pcbs.listen_pcbs = lpcb;\n//      }\n    \n      LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_input: packed for LISTENing connection.\\n\"));\n      tcp_listen_input(lpcb);\n      pbuf_free(p);\n      return;\n    }\n  }\n\n#if TCP_INPUT_DEBUG\n  LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"+-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags \"));\n  tcp_debug_print_flags(TCPH_FLAGS(tcphdr));\n  LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"-+-+-+-+-+-+-+-+-+-+-+-+-+-+\\n\"));\n#endif /* TCP_INPUT_DEBUG */\n\n\n  if (pcb != NULL) {\n    /* The incoming segment belongs to a connection. */\n#if TCP_INPUT_DEBUG\n#if TCP_DEBUG\n    tcp_debug_print_state(pcb->state);\n#endif /* TCP_DEBUG */\n#endif /* TCP_INPUT_DEBUG */\n\n    /* Set up a tcp_seg structure. */\n    inseg.next = NULL;\n    inseg.len = p->tot_len;\n    inseg.p = p;\n    inseg.tcphdr = tcphdr;\n\n    recv_data = NULL;\n    recv_flags = 0;\n\n    if (flags & TCP_PSH) {\n      p->flags |= PBUF_FLAG_PUSH;\n    }\n\n    /* If there is data which was previously \"refused\" by upper layer */\n    if (pcb->refused_data != NULL) {\n      if ((tcp_process_refused_data(pcb) == ERR_ABRT) ||\n        ((pcb->refused_data != NULL) && (tcplen > 0))) {\n        /* pcb has been aborted or refused data is still refused and the new\n           segment contains data */\n        TCP_STATS_INC(tcp.drop);\n        snmp_inc_tcpinerrs();\n        goto aborted;\n      }\n    }\n    tcp_input_pcb = pcb;\n    err = tcp_process(pcb);\n    /* A return value of ERR_ABRT means that tcp_abort() was called\n       and that the pcb has been freed. If so, we don't do anything. */\n    if (err != ERR_ABRT) {\n      if (recv_flags & TF_RESET) {\n        /* TF_RESET means that the connection was reset by the other\n           end. We then call the error callback to inform the\n           application that the connection is dead before we\n           deallocate the PCB. */\n        TCP_EVENT_ERR(pcb->errf, pcb->callback_arg, ERR_RST);\n        tcp_pcb_remove(&tcp_active_pcbs, pcb);\n        memp_free(MEMP_TCP_PCB, pcb);\n      } else if (recv_flags & TF_CLOSED) {\n        /* The connection has been closed and we will deallocate the\n           PCB. */\n        if (!(pcb->flags & TF_RXCLOSED)) {\n          /* Connection closed although the application has only shut down the\n             tx side: call the PCB's err callback and indicate the closure to\n             ensure the application doesn't continue using the PCB. */\n          TCP_EVENT_ERR(pcb->errf, pcb->callback_arg, ERR_CLSD);\n        }\n        tcp_pcb_remove(&tcp_active_pcbs, pcb);\n        memp_free(MEMP_TCP_PCB, pcb);\n      } else {\n        err = ERR_OK;\n        /* If the application has registered a \"sent\" function to be\n           called when new send buffer space is available, we call it\n           now. */\n        if (pcb->acked > 0) {\n          TCP_EVENT_SENT(pcb, pcb->acked, err);\n          if (err == ERR_ABRT) {\n            goto aborted;\n          }\n        }\n\n        if (recv_data != NULL) {\n          LWIP_ASSERT(\"pcb->refused_data == NULL\", pcb->refused_data == NULL);\n          if (pcb->flags & TF_RXCLOSED) {\n            /* received data although already closed -> abort (send RST) to\n               notify the remote host that not all data has been processed */\n            pbuf_free(recv_data);\n            tcp_abort(pcb);\n            goto aborted;\n          }\n\n          /* Notify application that data has been received. */\n          TCP_EVENT_RECV(pcb, recv_data, ERR_OK, err);\n          if (err == ERR_ABRT) {\n            goto aborted;\n          }\n\n          /* If the upper layer can't receive this data, store it */\n          if (err != ERR_OK) {\n            pcb->refused_data = recv_data;\n            LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_input: keep incoming packet, because pcb is \\\"full\\\"\\n\"));\n          }\n        }\n\n        /* If a FIN segment was received, we call the callback\n           function with a NULL buffer to indicate EOF. */\n        if (recv_flags & TF_GOT_FIN) {\n          if (pcb->refused_data != NULL) {\n            /* Delay this if we have refused data. */\n            pcb->refused_data->flags |= PBUF_FLAG_TCP_FIN;\n          } else {\n            /* correct rcv_wnd as the application won't call tcp_recved()\n               for the FIN's seqno */\n            if (pcb->rcv_wnd != TCP_WND) {\n              pcb->rcv_wnd++;\n            }\n            TCP_EVENT_CLOSED(pcb, err);\n            if (err == ERR_ABRT) {\n              goto aborted;\n            }\n          }\n        }\n\n        tcp_input_pcb = NULL;\n        /* Try to send something out. */\n        tcp_output(pcb);\n#if TCP_INPUT_DEBUG\n#if TCP_DEBUG\n        tcp_debug_print_state(pcb->state);\n#endif /* TCP_DEBUG */\n#endif /* TCP_INPUT_DEBUG */\n      }\n    }\n    /* Jump target if pcb has been aborted in a callback (by calling tcp_abort()).\n       Below this line, 'pcb' may not be dereferenced! */\naborted:\n    tcp_input_pcb = NULL;\n    recv_data = NULL;\n\n    /* give up our reference to inseg.p */\n    if (inseg.p != NULL)\n    {\n      pbuf_free(inseg.p);\n      inseg.p = NULL;\n    }\n  } else {\n\n    /* If no matching PCB was found, send a TCP RST (reset) to the\n       sender. */\n    LWIP_DEBUGF(TCP_RST_DEBUG, (\"tcp_input: no PCB match found, resetting.\\n\"));\n    if (!(TCPH_FLAGS(tcphdr) & TCP_RST)) {\n      TCP_STATS_INC(tcp.proterr);\n      TCP_STATS_INC(tcp.drop);\n      tcp_rst(ackno, seqno + tcplen,\n        ip_current_dest_addr(), ip_current_src_addr(),\n        tcphdr->dest, tcphdr->src);\n    }\n    pbuf_free(p);\n  }\n\n  LWIP_ASSERT(\"tcp_input: tcp_pcbs_sane()\", tcp_pcbs_sane());\n  PERF_STOP(\"tcp_input\");\n  return;\ndropped:\n  TCP_STATS_INC(tcp.drop);\n  snmp_inc_tcpinerrs();\n  pbuf_free(p);\n}\n\n/**\n * Called by tcp_input() when a segment arrives for a listening\n * connection (from tcp_input()).\n *\n * @param pcb the tcp_pcb_listen for which a segment arrived\n * @return ERR_OK if the segment was processed\n *         another err_t on error\n *\n * @note the return value is not (yet?) used in tcp_input()\n * @note the segment which arrived is saved in global variables, therefore only the pcb\n *       involved is passed as a parameter to this function\n */\nstatic err_t\ntcp_listen_input(struct tcp_pcb_listen *pcb)\n{\n  struct tcp_pcb *npcb;\n  err_t rc;\n\n  if (flags & TCP_RST) {\n    /* An incoming RST should be ignored. Return. */\n    return ERR_OK;\n  }\n\n  /* In the LISTEN state, we check for incoming SYN segments,\n     creates a new PCB, and responds with a SYN|ACK. */\n  if (flags & TCP_ACK) {\n    /* For incoming segments with the ACK flag set, respond with a\n       RST. */\n    LWIP_DEBUGF(TCP_RST_DEBUG, (\"tcp_listen_input: ACK in LISTEN, sending reset\\n\"));\n    tcp_rst(ackno, seqno + tcplen, ip_current_dest_addr(),\n      ip_current_src_addr(), tcphdr->dest, tcphdr->src);\n  } else if (flags & TCP_SYN) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"TCP connection request %\"U16_F\" -> %\"U16_F\".\\n\", tcphdr->src, tcphdr->dest));\n#if TCP_LISTEN_BACKLOG\n    if (pcb->accepts_pending >= pcb->backlog) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_listen_input: listen backlog exceeded for port %\"U16_F\"\\n\", tcphdr->dest));\n      return ERR_ABRT;\n    }\n#endif /* TCP_LISTEN_BACKLOG */\n    npcb = tcp_alloc(pcb->prio);\n    /* If a new PCB could not be created (probably due to lack of memory),\n       we don't do anything, but rely on the sender will retransmit the\n       SYN at a time when we have more memory available. */\n    if (npcb == NULL) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_listen_input: could not allocate PCB\\n\"));\n      TCP_STATS_INC(tcp.memerr);\n      return ERR_MEM;\n    }\n#if TCP_LISTEN_BACKLOG\n    pcb->accepts_pending++;\n#endif /* TCP_LISTEN_BACKLOG */\n    /* Set up the new PCB. */\n    \n    /* tun2socks: set up the new PCB based on the incoming packet. For the best compatibility, just imaging that we are running a virtual server that handles all the request from localhost, so the local_ip is actually the remote server ip (since this stack is running as a stack of remote server). */\n    ip_addr_copy(npcb->local_ip, current_iphdr_dest);\n    npcb->local_port = tcphdr->dest;\n    ip_addr_copy(npcb->remote_ip, current_iphdr_src);\n    npcb->remote_port = tcphdr->src;\n    npcb->state = SYN_RCVD;\n    npcb->rcv_nxt = seqno + 1;\n    npcb->rcv_ann_right_edge = npcb->rcv_nxt;\n    npcb->snd_wnd = tcphdr->wnd;\n    npcb->snd_wnd_max = tcphdr->wnd;\n    npcb->ssthresh = npcb->snd_wnd;\n    npcb->snd_wl1 = seqno - 1;/* initialise to seqno-1 to force window update */\n    npcb->callback_arg = pcb->callback_arg;\n#if LWIP_CALLBACK_API\n    npcb->accept = pcb->accept;\n#endif /* LWIP_CALLBACK_API */\n    /* inherit socket options */\n    npcb->so_options = pcb->so_options & SOF_INHERITED;\n    /* Register the new PCB so that we can begin receiving segments\n       for it. */\n    TCP_REG_ACTIVE(npcb);\n\n    /* Parse any options in the SYN. */\n    tcp_parseopt(npcb);\n#if TCP_CALCULATE_EFF_SEND_MSS\n    npcb->mss = tcp_eff_send_mss(npcb->mss, &(npcb->remote_ip));\n#endif /* TCP_CALCULATE_EFF_SEND_MSS */\n\n    snmp_inc_tcppassiveopens();\n\n    /* Send a SYN|ACK together with the MSS option. */\n    rc = tcp_enqueue_flags(npcb, TCP_SYN | TCP_ACK);\n    if (rc != ERR_OK) {\n      tcp_abandon(npcb, 0);\n      return rc;\n    }\n    return tcp_output(npcb);\n  }\n  return ERR_OK;\n}\n\n/**\n * Called by tcp_input() when a segment arrives for a connection in\n * TIME_WAIT.\n *\n * @param pcb the tcp_pcb for which a segment arrived\n *\n * @note the segment which arrived is saved in global variables, therefore only the pcb\n *       involved is passed as a parameter to this function\n */\nstatic err_t\ntcp_timewait_input(struct tcp_pcb *pcb)\n{\n  /* RFC 1337: in TIME_WAIT, ignore RST and ACK FINs + any 'acceptable' segments */\n  /* RFC 793 3.9 Event Processing - Segment Arrives:\n   * - first check sequence number - we skip that one in TIME_WAIT (always\n   *   acceptable since we only send ACKs)\n   * - second check the RST bit (... return) */\n  if (flags & TCP_RST)  {\n    return ERR_OK;\n  }\n  /* - fourth, check the SYN bit, */\n  if (flags & TCP_SYN) {\n    /* If an incoming segment is not acceptable, an acknowledgment\n       should be sent in reply */\n    if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt+pcb->rcv_wnd)) {\n      /* If the SYN is in the window it is an error, send a reset */\n      tcp_rst(ackno, seqno + tcplen, ip_current_dest_addr(), ip_current_src_addr(),\n        tcphdr->dest, tcphdr->src);\n      return ERR_OK;\n    }\n  } else if (flags & TCP_FIN) {\n    /* - eighth, check the FIN bit: Remain in the TIME-WAIT state.\n         Restart the 2 MSL time-wait timeout.*/\n    pcb->tmr = tcp_ticks;\n  }\n\n  if ((tcplen > 0))  {\n    /* Acknowledge data, FIN or out-of-window SYN */\n    pcb->flags |= TF_ACK_NOW;\n    return tcp_output(pcb);\n  }\n  return ERR_OK;\n}\n\n/**\n * Implements the TCP state machine. Called by tcp_input. In some\n * states tcp_receive() is called to receive data. The tcp_seg\n * argument will be freed by the caller (tcp_input()) unless the\n * recv_data pointer in the pcb is set.\n *\n * @param pcb the tcp_pcb for which a segment arrived\n *\n * @note the segment which arrived is saved in global variables, therefore only the pcb\n *       involved is passed as a parameter to this function\n */\nstatic err_t\ntcp_process(struct tcp_pcb *pcb)\n{\n  struct tcp_seg *rseg;\n  u8_t acceptable = 0;\n  err_t err;\n\n  err = ERR_OK;\n\n  /* Process incoming RST segments. */\n  if (flags & TCP_RST) {\n    /* First, determine if the reset is acceptable. */\n    if (pcb->state == SYN_SENT) {\n      if (ackno == pcb->snd_nxt) {\n        acceptable = 1;\n      }\n    } else {\n      if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, \n                          pcb->rcv_nxt+pcb->rcv_wnd)) {\n        acceptable = 1;\n      }\n    }\n\n    if (acceptable) {\n      LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_process: Connection RESET\\n\"));\n      LWIP_ASSERT(\"tcp_input: pcb->state != CLOSED\", pcb->state != CLOSED);\n      recv_flags |= TF_RESET;\n      pcb->flags &= ~TF_ACK_DELAY;\n      return ERR_RST;\n    } else {\n      LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_process: unacceptable reset seqno %\"U32_F\" rcv_nxt %\"U32_F\"\\n\",\n       seqno, pcb->rcv_nxt));\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_process: unacceptable reset seqno %\"U32_F\" rcv_nxt %\"U32_F\"\\n\",\n       seqno, pcb->rcv_nxt));\n      return ERR_OK;\n    }\n  }\n\n  if ((flags & TCP_SYN) && (pcb->state != SYN_SENT && pcb->state != SYN_RCVD)) { \n    /* Cope with new connection attempt after remote end crashed */\n    tcp_ack_now(pcb);\n    return ERR_OK;\n  }\n  \n  if ((pcb->flags & TF_RXCLOSED) == 0) {\n    /* Update the PCB (in)activity timer unless rx is closed (see tcp_shutdown) */\n    pcb->tmr = tcp_ticks;\n  }\n  pcb->keep_cnt_sent = 0;\n\n  tcp_parseopt(pcb);\n\n  /* Do different things depending on the TCP state. */\n  switch (pcb->state) {\n  case SYN_SENT:\n    LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"SYN-SENT: ackno %\"U32_F\" pcb->snd_nxt %\"U32_F\" unacked %\"U32_F\"\\n\", ackno,\n     pcb->snd_nxt, ntohl(pcb->unacked->tcphdr->seqno)));\n    /* received SYN ACK with expected sequence number? */\n    if ((flags & TCP_ACK) && (flags & TCP_SYN)\n        && ackno == ntohl(pcb->unacked->tcphdr->seqno) + 1) {\n      pcb->snd_buf++;\n      pcb->rcv_nxt = seqno + 1;\n      pcb->rcv_ann_right_edge = pcb->rcv_nxt;\n      pcb->lastack = ackno;\n      pcb->snd_wnd = tcphdr->wnd;\n      pcb->snd_wnd_max = tcphdr->wnd;\n      pcb->snd_wl1 = seqno - 1; /* initialise to seqno - 1 to force window update */\n      pcb->state = ESTABLISHED;\n\n#if TCP_CALCULATE_EFF_SEND_MSS\n      pcb->mss = tcp_eff_send_mss(pcb->mss, &(pcb->remote_ip));\n#endif /* TCP_CALCULATE_EFF_SEND_MSS */\n\n      /* Set ssthresh again after changing pcb->mss (already set in tcp_connect\n       * but for the default value of pcb->mss) */\n      pcb->ssthresh = pcb->mss * 10;\n\n      pcb->cwnd = ((pcb->cwnd == 1) ? (pcb->mss * 2) : pcb->mss);\n      LWIP_ASSERT(\"pcb->snd_queuelen > 0\", (pcb->snd_queuelen > 0));\n      --pcb->snd_queuelen;\n      LWIP_DEBUGF(TCP_QLEN_DEBUG, (\"tcp_process: SYN-SENT --queuelen %\"U16_F\"\\n\", (u16_t)pcb->snd_queuelen));\n      rseg = pcb->unacked;\n      pcb->unacked = rseg->next;\n      tcp_seg_free(rseg);\n\n      /* If there's nothing left to acknowledge, stop the retransmit\n         timer, otherwise reset it to start again */\n      if(pcb->unacked == NULL)\n        pcb->rtime = -1;\n      else {\n        pcb->rtime = 0;\n        pcb->nrtx = 0;\n      }\n\n      /* Call the user specified function to call when sucessfully\n       * connected. */\n      TCP_EVENT_CONNECTED(pcb, ERR_OK, err);\n      if (err == ERR_ABRT) {\n        return ERR_ABRT;\n      }\n      tcp_ack_now(pcb);\n    }\n    /* received ACK? possibly a half-open connection */\n    else if (flags & TCP_ACK) {\n      /* send a RST to bring the other side in a non-synchronized state. */\n      tcp_rst(ackno, seqno + tcplen, ip_current_dest_addr(), ip_current_src_addr(),\n        tcphdr->dest, tcphdr->src);\n    }\n    break;\n  case SYN_RCVD:\n    if (flags & TCP_ACK) {\n      /* expected ACK number? */\n      if (TCP_SEQ_BETWEEN(ackno, pcb->lastack+1, pcb->snd_nxt)) {\n        u16_t old_cwnd;\n        pcb->state = ESTABLISHED;\n        LWIP_DEBUGF(TCP_DEBUG, (\"TCP connection established %\"U16_F\" -> %\"U16_F\".\\n\", inseg.tcphdr->src, inseg.tcphdr->dest));\n#if LWIP_CALLBACK_API\n        LWIP_ASSERT(\"pcb->accept != NULL\", pcb->accept != NULL);\n#endif\n        /* Call the accept function. */\n        TCP_EVENT_ACCEPT(pcb, ERR_OK, err);\n        if (err != ERR_OK) {\n          /* If the accept function returns with an error, we abort\n           * the connection. */\n          /* Already aborted? */\n          if (err != ERR_ABRT) {\n            tcp_abort(pcb);\n          }\n          return ERR_ABRT;\n        }\n        old_cwnd = pcb->cwnd;\n        /* If there was any data contained within this ACK,\n         * we'd better pass it on to the application as well. */\n        tcp_receive(pcb);\n\n        /* Prevent ACK for SYN to generate a sent event */\n        if (pcb->acked != 0) {\n          pcb->acked--;\n        }\n\n        pcb->cwnd = ((old_cwnd == 1) ? (pcb->mss * 2) : pcb->mss);\n\n        if (recv_flags & TF_GOT_FIN) {\n          tcp_ack_now(pcb);\n          pcb->state = CLOSE_WAIT;\n        }\n      } else {\n        /* incorrect ACK number, send RST */\n        tcp_rst(ackno, seqno + tcplen, ip_current_dest_addr(), ip_current_src_addr(),\n                tcphdr->dest, tcphdr->src);\n      }\n    } else if ((flags & TCP_SYN) && (seqno == pcb->rcv_nxt - 1)) {\n      /* Looks like another copy of the SYN - retransmit our SYN-ACK */\n      tcp_rexmit(pcb);\n    }\n    break;\n  case CLOSE_WAIT:\n    /* FALLTHROUGH */\n  case ESTABLISHED:\n    tcp_receive(pcb);\n    if (recv_flags & TF_GOT_FIN) { /* passive close */\n      tcp_ack_now(pcb);\n      pcb->state = CLOSE_WAIT;\n    }\n    break;\n  case FIN_WAIT_1:\n    tcp_receive(pcb);\n    if (recv_flags & TF_GOT_FIN) {\n      if ((flags & TCP_ACK) && (ackno == pcb->snd_nxt)) {\n        LWIP_DEBUGF(TCP_DEBUG,\n          (\"TCP connection closed: FIN_WAIT_1 %\"U16_F\" -> %\"U16_F\".\\n\", inseg.tcphdr->src, inseg.tcphdr->dest));\n        tcp_ack_now(pcb);\n        tcp_pcb_purge(pcb);\n        TCP_RMV_ACTIVE(pcb);\n        pcb->state = TIME_WAIT;\n        TCP_REG(&tcp_tw_pcbs, pcb);\n      } else {\n        tcp_ack_now(pcb);\n        pcb->state = CLOSING;\n      }\n    } else if ((flags & TCP_ACK) && (ackno == pcb->snd_nxt)) {\n      pcb->state = FIN_WAIT_2;\n    }\n    break;\n  case FIN_WAIT_2:\n    tcp_receive(pcb);\n    if (recv_flags & TF_GOT_FIN) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"TCP connection closed: FIN_WAIT_2 %\"U16_F\" -> %\"U16_F\".\\n\", inseg.tcphdr->src, inseg.tcphdr->dest));\n      tcp_ack_now(pcb);\n      tcp_pcb_purge(pcb);\n      TCP_RMV_ACTIVE(pcb);\n      pcb->state = TIME_WAIT;\n      TCP_REG(&tcp_tw_pcbs, pcb);\n    }\n    break;\n  case CLOSING:\n    tcp_receive(pcb);\n    if (flags & TCP_ACK && ackno == pcb->snd_nxt) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"TCP connection closed: CLOSING %\"U16_F\" -> %\"U16_F\".\\n\", inseg.tcphdr->src, inseg.tcphdr->dest));\n      tcp_pcb_purge(pcb);\n      TCP_RMV_ACTIVE(pcb);\n      pcb->state = TIME_WAIT;\n      TCP_REG(&tcp_tw_pcbs, pcb);\n    }\n    break;\n  case LAST_ACK:\n    tcp_receive(pcb);\n    if (flags & TCP_ACK && ackno == pcb->snd_nxt) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"TCP connection closed: LAST_ACK %\"U16_F\" -> %\"U16_F\".\\n\", inseg.tcphdr->src, inseg.tcphdr->dest));\n      /* bugfix #21699: don't set pcb->state to CLOSED here or we risk leaking segments */\n      recv_flags |= TF_CLOSED;\n    }\n    break;\n  default:\n    break;\n  }\n  return ERR_OK;\n}\n\n#if TCP_QUEUE_OOSEQ\n/**\n * Insert segment into the list (segments covered with new one will be deleted)\n *\n * Called from tcp_receive()\n */\nstatic void\ntcp_oos_insert_segment(struct tcp_seg *cseg, struct tcp_seg *next)\n{\n  struct tcp_seg *old_seg;\n\n  if (TCPH_FLAGS(cseg->tcphdr) & TCP_FIN) {\n    /* received segment overlaps all following segments */\n    tcp_segs_free(next);\n    next = NULL;\n  }\n  else {\n    /* delete some following segments\n       oos queue may have segments with FIN flag */\n    while (next &&\n           TCP_SEQ_GEQ((seqno + cseg->len),\n                      (next->tcphdr->seqno + next->len))) {\n      /* cseg with FIN already processed */\n      if (TCPH_FLAGS(next->tcphdr) & TCP_FIN) {\n        TCPH_SET_FLAG(cseg->tcphdr, TCP_FIN);\n      }\n      old_seg = next;\n      next = next->next;\n      tcp_seg_free(old_seg);\n    }\n    if (next &&\n        TCP_SEQ_GT(seqno + cseg->len, next->tcphdr->seqno)) {\n      /* We need to trim the incoming segment. */\n      cseg->len = (u16_t)(next->tcphdr->seqno - seqno);\n      pbuf_realloc(cseg->p, cseg->len);\n    }\n  }\n  cseg->next = next;\n}\n#endif /* TCP_QUEUE_OOSEQ */\n\n/**\n * Called by tcp_process. Checks if the given segment is an ACK for outstanding\n * data, and if so frees the memory of the buffered data. Next, is places the\n * segment on any of the receive queues (pcb->recved or pcb->ooseq). If the segment\n * is buffered, the pbuf is referenced by pbuf_ref so that it will not be freed until\n * it has been removed from the buffer.\n *\n * If the incoming segment constitutes an ACK for a segment that was used for RTT\n * estimation, the RTT is estimated here as well.\n *\n * Called from tcp_process().\n */\nstatic void\ntcp_receive(struct tcp_pcb *pcb)\n{\n  struct tcp_seg *next;\n#if TCP_QUEUE_OOSEQ\n  struct tcp_seg *prev, *cseg;\n#endif /* TCP_QUEUE_OOSEQ */\n  struct pbuf *p;\n  s32_t off;\n  s16_t m;\n  u32_t right_wnd_edge;\n  u16_t new_tot_len;\n  int found_dupack = 0;\n#if TCP_OOSEQ_MAX_BYTES || TCP_OOSEQ_MAX_PBUFS\n  u32_t ooseq_blen;\n  u16_t ooseq_qlen;\n#endif /* TCP_OOSEQ_MAX_BYTES || TCP_OOSEQ_MAX_PBUFS */\n\n  LWIP_ASSERT(\"tcp_receive: wrong state\", pcb->state >= ESTABLISHED);\n\n  if (flags & TCP_ACK) {\n    right_wnd_edge = pcb->snd_wnd + pcb->snd_wl2;\n\n    /* Update window. */\n    if (TCP_SEQ_LT(pcb->snd_wl1, seqno) ||\n       (pcb->snd_wl1 == seqno && TCP_SEQ_LT(pcb->snd_wl2, ackno)) ||\n       (pcb->snd_wl2 == ackno && tcphdr->wnd > pcb->snd_wnd)) {\n      pcb->snd_wnd = tcphdr->wnd;\n      /* keep track of the biggest window announced by the remote host to calculate\n         the maximum segment size */\n      if (pcb->snd_wnd_max < tcphdr->wnd) {\n        pcb->snd_wnd_max = tcphdr->wnd;\n      }\n      pcb->snd_wl1 = seqno;\n      pcb->snd_wl2 = ackno;\n      if (pcb->snd_wnd == 0) {\n        if (pcb->persist_backoff == 0) {\n          /* start persist timer */\n          pcb->persist_cnt = 0;\n          pcb->persist_backoff = 1;\n        }\n      } else if (pcb->persist_backoff > 0) {\n        /* stop persist timer */\n          pcb->persist_backoff = 0;\n      }\n      LWIP_DEBUGF(TCP_WND_DEBUG, (\"tcp_receive: window update %\"U16_F\"\\n\", pcb->snd_wnd));\n#if TCP_WND_DEBUG\n    } else {\n      if (pcb->snd_wnd != tcphdr->wnd) {\n        LWIP_DEBUGF(TCP_WND_DEBUG, \n                    (\"tcp_receive: no window update lastack %\"U32_F\" ackno %\"\n                     U32_F\" wl1 %\"U32_F\" seqno %\"U32_F\" wl2 %\"U32_F\"\\n\",\n                     pcb->lastack, ackno, pcb->snd_wl1, seqno, pcb->snd_wl2));\n      }\n#endif /* TCP_WND_DEBUG */\n    }\n\n    /* (From Stevens TCP/IP Illustrated Vol II, p970.) Its only a\n     * duplicate ack if:\n     * 1) It doesn't ACK new data \n     * 2) length of received packet is zero (i.e. no payload) \n     * 3) the advertised window hasn't changed \n     * 4) There is outstanding unacknowledged data (retransmission timer running)\n     * 5) The ACK is == biggest ACK sequence number so far seen (snd_una)\n     * \n     * If it passes all five, should process as a dupack: \n     * a) dupacks < 3: do nothing \n     * b) dupacks == 3: fast retransmit \n     * c) dupacks > 3: increase cwnd \n     * \n     * If it only passes 1-3, should reset dupack counter (and add to\n     * stats, which we don't do in lwIP)\n     *\n     * If it only passes 1, should reset dupack counter\n     *\n     */\n\n    /* Clause 1 */\n    if (TCP_SEQ_LEQ(ackno, pcb->lastack)) {\n      pcb->acked = 0;\n      /* Clause 2 */\n      if (tcplen == 0) {\n        /* Clause 3 */\n        if (pcb->snd_wl2 + pcb->snd_wnd == right_wnd_edge){\n          /* Clause 4 */\n          if (pcb->rtime >= 0) {\n            /* Clause 5 */\n            if (pcb->lastack == ackno) {\n              found_dupack = 1;\n              if ((u8_t)(pcb->dupacks + 1) > pcb->dupacks) {\n                ++pcb->dupacks;\n              }\n              if (pcb->dupacks > 3) {\n                /* Inflate the congestion window, but not if it means that\n                   the value overflows. */\n                if ((u16_t)(pcb->cwnd + pcb->mss) > pcb->cwnd) {\n                  pcb->cwnd += pcb->mss;\n                }\n              } else if (pcb->dupacks == 3) {\n                /* Do fast retransmit */\n                tcp_rexmit_fast(pcb);\n              }\n            }\n          }\n        }\n      }\n      /* If Clause (1) or more is true, but not a duplicate ack, reset\n       * count of consecutive duplicate acks */\n      if (!found_dupack) {\n        pcb->dupacks = 0;\n      }\n    } else if (TCP_SEQ_BETWEEN(ackno, pcb->lastack+1, pcb->snd_nxt)){\n      /* We come here when the ACK acknowledges new data. */\n\n      /* Reset the \"IN Fast Retransmit\" flag, since we are no longer\n         in fast retransmit. Also reset the congestion window to the\n         slow start threshold. */\n      if (pcb->flags & TF_INFR) {\n        pcb->flags &= ~TF_INFR;\n        pcb->cwnd = pcb->ssthresh;\n      }\n\n      /* Reset the number of retransmissions. */\n      pcb->nrtx = 0;\n\n      /* Reset the retransmission time-out. */\n      pcb->rto = (pcb->sa >> 3) + pcb->sv;\n\n      /* Update the send buffer space. Diff between the two can never exceed 64K? */\n      pcb->acked = (u16_t)(ackno - pcb->lastack);\n\n      pcb->snd_buf += pcb->acked;\n\n      /* Reset the fast retransmit variables. */\n      pcb->dupacks = 0;\n      pcb->lastack = ackno;\n\n      /* Update the congestion control variables (cwnd and\n         ssthresh). */\n      if (pcb->state >= ESTABLISHED) {\n        if (pcb->cwnd < pcb->ssthresh) {\n          if ((u16_t)(pcb->cwnd + pcb->mss) > pcb->cwnd) {\n            pcb->cwnd += pcb->mss;\n          }\n          LWIP_DEBUGF(TCP_CWND_DEBUG, (\"tcp_receive: slow start cwnd %\"U16_F\"\\n\", pcb->cwnd));\n        } else {\n          u16_t new_cwnd = (pcb->cwnd + pcb->mss * pcb->mss / pcb->cwnd);\n          if (new_cwnd > pcb->cwnd) {\n            pcb->cwnd = new_cwnd;\n          }\n          LWIP_DEBUGF(TCP_CWND_DEBUG, (\"tcp_receive: congestion avoidance cwnd %\"U16_F\"\\n\", pcb->cwnd));\n        }\n      }\n      LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_receive: ACK for %\"U32_F\", unacked->seqno %\"U32_F\":%\"U32_F\"\\n\",\n                                    ackno,\n                                    pcb->unacked != NULL?\n                                    ntohl(pcb->unacked->tcphdr->seqno): 0,\n                                    pcb->unacked != NULL?\n                                    ntohl(pcb->unacked->tcphdr->seqno) + TCP_TCPLEN(pcb->unacked): 0));\n\n      /* Remove segment from the unacknowledged list if the incoming\n         ACK acknowlegdes them. */\n      while (pcb->unacked != NULL &&\n             TCP_SEQ_LEQ(ntohl(pcb->unacked->tcphdr->seqno) +\n                         TCP_TCPLEN(pcb->unacked), ackno)) {\n        LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_receive: removing %\"U32_F\":%\"U32_F\" from pcb->unacked\\n\",\n                                      ntohl(pcb->unacked->tcphdr->seqno),\n                                      ntohl(pcb->unacked->tcphdr->seqno) +\n                                      TCP_TCPLEN(pcb->unacked)));\n\n        next = pcb->unacked;\n        pcb->unacked = pcb->unacked->next;\n\n        LWIP_DEBUGF(TCP_QLEN_DEBUG, (\"tcp_receive: queuelen %\"U16_F\" ... \", (u16_t)pcb->snd_queuelen));\n        LWIP_ASSERT(\"pcb->snd_queuelen >= pbuf_clen(next->p)\", (pcb->snd_queuelen >= pbuf_clen(next->p)));\n        /* Prevent ACK for FIN to generate a sent event */\n        if ((pcb->acked != 0) && ((TCPH_FLAGS(next->tcphdr) & TCP_FIN) != 0)) {\n          pcb->acked--;\n        }\n\n        pcb->snd_queuelen -= pbuf_clen(next->p);\n        tcp_seg_free(next);\n\n        LWIP_DEBUGF(TCP_QLEN_DEBUG, (\"%\"U16_F\" (after freeing unacked)\\n\", (u16_t)pcb->snd_queuelen));\n        if (pcb->snd_queuelen != 0) {\n          LWIP_ASSERT(\"tcp_receive: valid queue length\", pcb->unacked != NULL ||\n                      pcb->unsent != NULL);\n        }\n      }\n\n      /* If there's nothing left to acknowledge, stop the retransmit\n         timer, otherwise reset it to start again */\n      if(pcb->unacked == NULL)\n        pcb->rtime = -1;\n      else\n        pcb->rtime = 0;\n\n      pcb->polltmr = 0;\n    } else {\n      /* Fix bug bug #21582: out of sequence ACK, didn't really ack anything */\n      pcb->acked = 0;\n    }\n\n    /* We go through the ->unsent list to see if any of the segments\n       on the list are acknowledged by the ACK. This may seem\n       strange since an \"unsent\" segment shouldn't be acked. The\n       rationale is that lwIP puts all outstanding segments on the\n       ->unsent list after a retransmission, so these segments may\n       in fact have been sent once. */\n    while (pcb->unsent != NULL &&\n           TCP_SEQ_BETWEEN(ackno, ntohl(pcb->unsent->tcphdr->seqno) + \n                           TCP_TCPLEN(pcb->unsent), pcb->snd_nxt)) {\n      LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_receive: removing %\"U32_F\":%\"U32_F\" from pcb->unsent\\n\",\n                                    ntohl(pcb->unsent->tcphdr->seqno), ntohl(pcb->unsent->tcphdr->seqno) +\n                                    TCP_TCPLEN(pcb->unsent)));\n\n      next = pcb->unsent;\n      pcb->unsent = pcb->unsent->next;\n#if TCP_OVERSIZE\n      if (pcb->unsent == NULL) {\n        pcb->unsent_oversize = 0;\n      }\n#endif /* TCP_OVERSIZE */ \n      LWIP_DEBUGF(TCP_QLEN_DEBUG, (\"tcp_receive: queuelen %\"U16_F\" ... \", (u16_t)pcb->snd_queuelen));\n      LWIP_ASSERT(\"pcb->snd_queuelen >= pbuf_clen(next->p)\", (pcb->snd_queuelen >= pbuf_clen(next->p)));\n      /* Prevent ACK for FIN to generate a sent event */\n      if ((pcb->acked != 0) && ((TCPH_FLAGS(next->tcphdr) & TCP_FIN) != 0)) {\n        pcb->acked--;\n      }\n      pcb->snd_queuelen -= pbuf_clen(next->p);\n      tcp_seg_free(next);\n      LWIP_DEBUGF(TCP_QLEN_DEBUG, (\"%\"U16_F\" (after freeing unsent)\\n\", (u16_t)pcb->snd_queuelen));\n      if (pcb->snd_queuelen != 0) {\n        LWIP_ASSERT(\"tcp_receive: valid queue length\",\n          pcb->unacked != NULL || pcb->unsent != NULL);\n      }\n    }\n    /* End of ACK for new data processing. */\n\n    LWIP_DEBUGF(TCP_RTO_DEBUG, (\"tcp_receive: pcb->rttest %\"U32_F\" rtseq %\"U32_F\" ackno %\"U32_F\"\\n\",\n                                pcb->rttest, pcb->rtseq, ackno));\n\n    /* RTT estimation calculations. This is done by checking if the\n       incoming segment acknowledges the segment we use to take a\n       round-trip time measurement. */\n    if (pcb->rttest && TCP_SEQ_LT(pcb->rtseq, ackno)) {\n      /* diff between this shouldn't exceed 32K since this are tcp timer ticks\n         and a round-trip shouldn't be that long... */\n      m = (s16_t)(tcp_ticks - pcb->rttest);\n\n      LWIP_DEBUGF(TCP_RTO_DEBUG, (\"tcp_receive: experienced rtt %\"U16_F\" ticks (%\"U16_F\" msec).\\n\",\n                                  m, m * TCP_SLOW_INTERVAL));\n\n      /* This is taken directly from VJs original code in his paper */\n      m = m - (pcb->sa >> 3);\n      pcb->sa += m;\n      if (m < 0) {\n        m = -m;\n      }\n      m = m - (pcb->sv >> 2);\n      pcb->sv += m;\n      pcb->rto = (pcb->sa >> 3) + pcb->sv;\n\n      LWIP_DEBUGF(TCP_RTO_DEBUG, (\"tcp_receive: RTO %\"U16_F\" (%\"U16_F\" milliseconds)\\n\",\n                                  pcb->rto, pcb->rto * TCP_SLOW_INTERVAL));\n\n      pcb->rttest = 0;\n    }\n  }\n\n  /* If the incoming segment contains data, we must process it\n     further unless the pcb already received a FIN.\n     (RFC 793, chapeter 3.9, \"SEGMENT ARRIVES\" in states CLOSE-WAIT, CLOSING,\n     LAST-ACK and TIME-WAIT: \"Ignore the segment text.\") */\n  if ((tcplen > 0) && (pcb->state < CLOSE_WAIT)) {\n    /* This code basically does three things:\n\n    +) If the incoming segment contains data that is the next\n    in-sequence data, this data is passed to the application. This\n    might involve trimming the first edge of the data. The rcv_nxt\n    variable and the advertised window are adjusted.\n\n    +) If the incoming segment has data that is above the next\n    sequence number expected (->rcv_nxt), the segment is placed on\n    the ->ooseq queue. This is done by finding the appropriate\n    place in the ->ooseq queue (which is ordered by sequence\n    number) and trim the segment in both ends if needed. An\n    immediate ACK is sent to indicate that we received an\n    out-of-sequence segment.\n\n    +) Finally, we check if the first segment on the ->ooseq queue\n    now is in sequence (i.e., if rcv_nxt >= ooseq->seqno). If\n    rcv_nxt > ooseq->seqno, we must trim the first edge of the\n    segment on ->ooseq before we adjust rcv_nxt. The data in the\n    segments that are now on sequence are chained onto the\n    incoming segment so that we only need to call the application\n    once.\n    */\n\n    /* First, we check if we must trim the first edge. We have to do\n       this if the sequence number of the incoming segment is less\n       than rcv_nxt, and the sequence number plus the length of the\n       segment is larger than rcv_nxt. */\n    /*    if (TCP_SEQ_LT(seqno, pcb->rcv_nxt)){\n          if (TCP_SEQ_LT(pcb->rcv_nxt, seqno + tcplen)) {*/\n    if (TCP_SEQ_BETWEEN(pcb->rcv_nxt, seqno + 1, seqno + tcplen - 1)){\n      /* Trimming the first edge is done by pushing the payload\n         pointer in the pbuf downwards. This is somewhat tricky since\n         we do not want to discard the full contents of the pbuf up to\n         the new starting point of the data since we have to keep the\n         TCP header which is present in the first pbuf in the chain.\n\n         What is done is really quite a nasty hack: the first pbuf in\n         the pbuf chain is pointed to by inseg.p. Since we need to be\n         able to deallocate the whole pbuf, we cannot change this\n         inseg.p pointer to point to any of the later pbufs in the\n         chain. Instead, we point the ->payload pointer in the first\n         pbuf to data in one of the later pbufs. We also set the\n         inseg.data pointer to point to the right place. This way, the\n         ->p pointer will still point to the first pbuf, but the\n         ->p->payload pointer will point to data in another pbuf.\n\n         After we are done with adjusting the pbuf pointers we must\n         adjust the ->data pointer in the seg and the segment\n         length.*/\n\n      off = pcb->rcv_nxt - seqno;\n      p = inseg.p;\n      LWIP_ASSERT(\"inseg.p != NULL\", inseg.p);\n      LWIP_ASSERT(\"insane offset!\", (off < 0x7fff));\n      if (inseg.p->len < off) {\n        LWIP_ASSERT(\"pbuf too short!\", (((s32_t)inseg.p->tot_len) >= off));\n        new_tot_len = (u16_t)(inseg.p->tot_len - off);\n        while (p->len < off) {\n          off -= p->len;\n          /* KJM following line changed (with addition of new_tot_len var)\n             to fix bug #9076\n             inseg.p->tot_len -= p->len; */\n          p->tot_len = new_tot_len;\n          p->len = 0;\n          p = p->next;\n        }\n        if(pbuf_header(p, (s16_t)-off)) {\n          /* Do we need to cope with this failing?  Assert for now */\n          LWIP_ASSERT(\"pbuf_header failed\", 0);\n        }\n      } else {\n        if(pbuf_header(inseg.p, (s16_t)-off)) {\n          /* Do we need to cope with this failing?  Assert for now */\n          LWIP_ASSERT(\"pbuf_header failed\", 0);\n        }\n      }\n      inseg.len -= (u16_t)(pcb->rcv_nxt - seqno);\n      inseg.tcphdr->seqno = seqno = pcb->rcv_nxt;\n    }\n    else {\n      if (TCP_SEQ_LT(seqno, pcb->rcv_nxt)){\n        /* the whole segment is < rcv_nxt */\n        /* must be a duplicate of a packet that has already been correctly handled */\n\n        LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_receive: duplicate seqno %\"U32_F\"\\n\", seqno));\n        tcp_ack_now(pcb);\n      }\n    }\n\n    /* The sequence number must be within the window (above rcv_nxt\n       and below rcv_nxt + rcv_wnd) in order to be further\n       processed. */\n    if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, \n                        pcb->rcv_nxt + pcb->rcv_wnd - 1)){\n      if (pcb->rcv_nxt == seqno) {\n        /* The incoming segment is the next in sequence. We check if\n           we have to trim the end of the segment and update rcv_nxt\n           and pass the data to the application. */\n        tcplen = TCP_TCPLEN(&inseg);\n\n        if (tcplen > pcb->rcv_wnd) {\n          LWIP_DEBUGF(TCP_INPUT_DEBUG, \n                      (\"tcp_receive: other end overran receive window\"\n                       \"seqno %\"U32_F\" len %\"U16_F\" right edge %\"U32_F\"\\n\",\n                       seqno, tcplen, pcb->rcv_nxt + pcb->rcv_wnd));\n          if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) {\n            /* Must remove the FIN from the header as we're trimming \n             * that byte of sequence-space from the packet */\n            TCPH_FLAGS_SET(inseg.tcphdr, TCPH_FLAGS(inseg.tcphdr) &~ TCP_FIN);\n          }\n          /* Adjust length of segment to fit in the window. */\n          inseg.len = pcb->rcv_wnd;\n          if (TCPH_FLAGS(inseg.tcphdr) & TCP_SYN) {\n            inseg.len -= 1;\n          }\n          pbuf_realloc(inseg.p, inseg.len);\n          tcplen = TCP_TCPLEN(&inseg);\n          LWIP_ASSERT(\"tcp_receive: segment not trimmed correctly to rcv_wnd\\n\",\n                      (seqno + tcplen) == (pcb->rcv_nxt + pcb->rcv_wnd));\n        }\n#if TCP_QUEUE_OOSEQ\n        /* Received in-sequence data, adjust ooseq data if:\n           - FIN has been received or\n           - inseq overlaps with ooseq */\n        if (pcb->ooseq != NULL) {\n          if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) {\n            LWIP_DEBUGF(TCP_INPUT_DEBUG, \n                        (\"tcp_receive: received in-order FIN, binning ooseq queue\\n\"));\n            /* Received in-order FIN means anything that was received\n             * out of order must now have been received in-order, so\n             * bin the ooseq queue */\n            while (pcb->ooseq != NULL) {\n              struct tcp_seg *old_ooseq = pcb->ooseq;\n              pcb->ooseq = pcb->ooseq->next;\n              tcp_seg_free(old_ooseq);\n            }\n          } else {\n            next = pcb->ooseq;\n            /* Remove all segments on ooseq that are covered by inseg already.\n             * FIN is copied from ooseq to inseg if present. */\n            while (next &&\n                   TCP_SEQ_GEQ(seqno + tcplen,\n                               next->tcphdr->seqno + next->len)) {\n              /* inseg cannot have FIN here (already processed above) */\n              if (TCPH_FLAGS(next->tcphdr) & TCP_FIN &&\n                  (TCPH_FLAGS(inseg.tcphdr) & TCP_SYN) == 0) {\n                TCPH_SET_FLAG(inseg.tcphdr, TCP_FIN);\n                tcplen = TCP_TCPLEN(&inseg);\n              }\n              prev = next;\n              next = next->next;\n              tcp_seg_free(prev);\n            }\n            /* Now trim right side of inseg if it overlaps with the first\n             * segment on ooseq */\n            if (next &&\n                TCP_SEQ_GT(seqno + tcplen,\n                           next->tcphdr->seqno)) {\n              /* inseg cannot have FIN here (already processed above) */\n              inseg.len = (u16_t)(next->tcphdr->seqno - seqno);\n              if (TCPH_FLAGS(inseg.tcphdr) & TCP_SYN) {\n                inseg.len -= 1;\n              }\n              pbuf_realloc(inseg.p, inseg.len);\n              tcplen = TCP_TCPLEN(&inseg);\n              LWIP_ASSERT(\"tcp_receive: segment not trimmed correctly to ooseq queue\\n\",\n                          (seqno + tcplen) == next->tcphdr->seqno);\n            }\n            pcb->ooseq = next;\n          }\n        }\n#endif /* TCP_QUEUE_OOSEQ */\n\n        pcb->rcv_nxt = seqno + tcplen;\n\n        /* Update the receiver's (our) window. */\n        LWIP_ASSERT(\"tcp_receive: tcplen > rcv_wnd\\n\", pcb->rcv_wnd >= tcplen);\n        pcb->rcv_wnd -= tcplen;\n\n        tcp_update_rcv_ann_wnd(pcb);\n\n        /* If there is data in the segment, we make preparations to\n           pass this up to the application. The ->recv_data variable\n           is used for holding the pbuf that goes to the\n           application. The code for reassembling out-of-sequence data\n           chains its data on this pbuf as well.\n\n           If the segment was a FIN, we set the TF_GOT_FIN flag that will\n           be used to indicate to the application that the remote side has\n           closed its end of the connection. */\n        if (inseg.p->tot_len > 0) {\n          recv_data = inseg.p;\n          /* Since this pbuf now is the responsibility of the\n             application, we delete our reference to it so that we won't\n             (mistakingly) deallocate it. */\n          inseg.p = NULL;\n        }\n        if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) {\n          LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_receive: received FIN.\\n\"));\n          recv_flags |= TF_GOT_FIN;\n        }\n\n#if TCP_QUEUE_OOSEQ\n        /* We now check if we have segments on the ->ooseq queue that\n           are now in sequence. */\n        while (pcb->ooseq != NULL &&\n               pcb->ooseq->tcphdr->seqno == pcb->rcv_nxt) {\n\n          cseg = pcb->ooseq;\n          seqno = pcb->ooseq->tcphdr->seqno;\n\n          pcb->rcv_nxt += TCP_TCPLEN(cseg);\n          LWIP_ASSERT(\"tcp_receive: ooseq tcplen > rcv_wnd\\n\",\n                      pcb->rcv_wnd >= TCP_TCPLEN(cseg));\n          pcb->rcv_wnd -= TCP_TCPLEN(cseg);\n\n          tcp_update_rcv_ann_wnd(pcb);\n\n          if (cseg->p->tot_len > 0) {\n            /* Chain this pbuf onto the pbuf that we will pass to\n               the application. */\n            if (recv_data) {\n              pbuf_cat(recv_data, cseg->p);\n            } else {\n              recv_data = cseg->p;\n            }\n            cseg->p = NULL;\n          }\n          if (TCPH_FLAGS(cseg->tcphdr) & TCP_FIN) {\n            LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_receive: dequeued FIN.\\n\"));\n            recv_flags |= TF_GOT_FIN;\n            if (pcb->state == ESTABLISHED) { /* force passive close or we can move to active close */\n              pcb->state = CLOSE_WAIT;\n            } \n          }\n\n          pcb->ooseq = cseg->next;\n          tcp_seg_free(cseg);\n        }\n#endif /* TCP_QUEUE_OOSEQ */\n\n\n        /* Acknowledge the segment(s). */\n        tcp_ack(pcb);\n\n      } else {\n        /* We get here if the incoming segment is out-of-sequence. */\n        tcp_send_empty_ack(pcb);\n#if TCP_QUEUE_OOSEQ\n        /* We queue the segment on the ->ooseq queue. */\n        if (pcb->ooseq == NULL) {\n          pcb->ooseq = tcp_seg_copy(&inseg);\n        } else {\n          /* If the queue is not empty, we walk through the queue and\n             try to find a place where the sequence number of the\n             incoming segment is between the sequence numbers of the\n             previous and the next segment on the ->ooseq queue. That is\n             the place where we put the incoming segment. If needed, we\n             trim the second edges of the previous and the incoming\n             segment so that it will fit into the sequence.\n\n             If the incoming segment has the same sequence number as a\n             segment on the ->ooseq queue, we discard the segment that\n             contains less data. */\n\n          prev = NULL;\n          for(next = pcb->ooseq; next != NULL; next = next->next) {\n            if (seqno == next->tcphdr->seqno) {\n              /* The sequence number of the incoming segment is the\n                 same as the sequence number of the segment on\n                 ->ooseq. We check the lengths to see which one to\n                 discard. */\n              if (inseg.len > next->len) {\n                /* The incoming segment is larger than the old\n                   segment. We replace some segments with the new\n                   one. */\n                cseg = tcp_seg_copy(&inseg);\n                if (cseg != NULL) {\n                  if (prev != NULL) {\n                    prev->next = cseg;\n                  } else {\n                    pcb->ooseq = cseg;\n                  }\n                  tcp_oos_insert_segment(cseg, next);\n                }\n                break;\n              } else {\n                /* Either the lenghts are the same or the incoming\n                   segment was smaller than the old one; in either\n                   case, we ditch the incoming segment. */\n                break;\n              }\n            } else {\n              if (prev == NULL) {\n                if (TCP_SEQ_LT(seqno, next->tcphdr->seqno)) {\n                  /* The sequence number of the incoming segment is lower\n                     than the sequence number of the first segment on the\n                     queue. We put the incoming segment first on the\n                     queue. */\n                  cseg = tcp_seg_copy(&inseg);\n                  if (cseg != NULL) {\n                    pcb->ooseq = cseg;\n                    tcp_oos_insert_segment(cseg, next);\n                  }\n                  break;\n                }\n              } else {\n                /*if (TCP_SEQ_LT(prev->tcphdr->seqno, seqno) &&\n                  TCP_SEQ_LT(seqno, next->tcphdr->seqno)) {*/\n                if (TCP_SEQ_BETWEEN(seqno, prev->tcphdr->seqno+1, next->tcphdr->seqno-1)) {\n                  /* The sequence number of the incoming segment is in\n                     between the sequence numbers of the previous and\n                     the next segment on ->ooseq. We trim trim the previous\n                     segment, delete next segments that included in received segment\n                     and trim received, if needed. */\n                  cseg = tcp_seg_copy(&inseg);\n                  if (cseg != NULL) {\n                    if (TCP_SEQ_GT(prev->tcphdr->seqno + prev->len, seqno)) {\n                      /* We need to trim the prev segment. */\n                      prev->len = (u16_t)(seqno - prev->tcphdr->seqno);\n                      pbuf_realloc(prev->p, prev->len);\n                    }\n                    prev->next = cseg;\n                    tcp_oos_insert_segment(cseg, next);\n                  }\n                  break;\n                }\n              }\n              /* If the \"next\" segment is the last segment on the\n                 ooseq queue, we add the incoming segment to the end\n                 of the list. */\n              if (next->next == NULL &&\n                  TCP_SEQ_GT(seqno, next->tcphdr->seqno)) {\n                if (TCPH_FLAGS(next->tcphdr) & TCP_FIN) {\n                  /* segment \"next\" already contains all data */\n                  break;\n                }\n                next->next = tcp_seg_copy(&inseg);\n                if (next->next != NULL) {\n                  if (TCP_SEQ_GT(next->tcphdr->seqno + next->len, seqno)) {\n                    /* We need to trim the last segment. */\n                    next->len = (u16_t)(seqno - next->tcphdr->seqno);\n                    pbuf_realloc(next->p, next->len);\n                  }\n                  /* check if the remote side overruns our receive window */\n                  if ((u32_t)tcplen + seqno > pcb->rcv_nxt + (u32_t)pcb->rcv_wnd) {\n                    LWIP_DEBUGF(TCP_INPUT_DEBUG, \n                                (\"tcp_receive: other end overran receive window\"\n                                 \"seqno %\"U32_F\" len %\"U16_F\" right edge %\"U32_F\"\\n\",\n                                 seqno, tcplen, pcb->rcv_nxt + pcb->rcv_wnd));\n                    if (TCPH_FLAGS(next->next->tcphdr) & TCP_FIN) {\n                      /* Must remove the FIN from the header as we're trimming \n                       * that byte of sequence-space from the packet */\n                      TCPH_FLAGS_SET(next->next->tcphdr, TCPH_FLAGS(next->next->tcphdr) &~ TCP_FIN);\n                    }\n                    /* Adjust length of segment to fit in the window. */\n                    next->next->len = pcb->rcv_nxt + pcb->rcv_wnd - seqno;\n                    pbuf_realloc(next->next->p, next->next->len);\n                    tcplen = TCP_TCPLEN(next->next);\n                    LWIP_ASSERT(\"tcp_receive: segment not trimmed correctly to rcv_wnd\\n\",\n                                (seqno + tcplen) == (pcb->rcv_nxt + pcb->rcv_wnd));\n                  }\n                }\n                break;\n              }\n            }\n            prev = next;\n          }\n        }\n#if TCP_OOSEQ_MAX_BYTES || TCP_OOSEQ_MAX_PBUFS\n        /* Check that the data on ooseq doesn't exceed one of the limits\n           and throw away everything above that limit. */\n        ooseq_blen = 0;\n        ooseq_qlen = 0;\n        prev = NULL;\n        for(next = pcb->ooseq; next != NULL; prev = next, next = next->next) {\n          struct pbuf *p = next->p;\n          ooseq_blen += p->tot_len;\n          ooseq_qlen += pbuf_clen(p);\n          if ((ooseq_blen > TCP_OOSEQ_MAX_BYTES) ||\n              (ooseq_qlen > TCP_OOSEQ_MAX_PBUFS)) {\n             /* too much ooseq data, dump this and everything after it */\n             tcp_segs_free(next);\n             if (prev == NULL) {\n               /* first ooseq segment is too much, dump the whole queue */\n               pcb->ooseq = NULL;\n             } else {\n               /* just dump 'next' and everything after it */\n               prev->next = NULL;\n             }\n             break;\n          }\n        }\n#endif /* TCP_OOSEQ_MAX_BYTES || TCP_OOSEQ_MAX_PBUFS */\n#endif /* TCP_QUEUE_OOSEQ */\n      }\n    } else {\n      /* The incoming segment is not withing the window. */\n      tcp_send_empty_ack(pcb);\n    }\n  } else {\n    /* Segments with length 0 is taken care of here. Segments that\n       fall out of the window are ACKed. */\n    /*if (TCP_SEQ_GT(pcb->rcv_nxt, seqno) ||\n      TCP_SEQ_GEQ(seqno, pcb->rcv_nxt + pcb->rcv_wnd)) {*/\n    if(!TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt, pcb->rcv_nxt + pcb->rcv_wnd-1)){\n      tcp_ack_now(pcb);\n    }\n  }\n}\n\n/**\n * Parses the options contained in the incoming segment. \n *\n * Called from tcp_listen_input() and tcp_process().\n * Currently, only the MSS option is supported!\n *\n * @param pcb the tcp_pcb for which a segment arrived\n */\nstatic void\ntcp_parseopt(struct tcp_pcb *pcb)\n{\n  u16_t c, max_c;\n  u16_t mss;\n  u8_t *opts, opt;\n#if LWIP_TCP_TIMESTAMPS\n  u32_t tsval;\n#endif\n\n  opts = (u8_t *)tcphdr + TCP_HLEN;\n\n  /* Parse the TCP MSS option, if present. */\n  if(TCPH_HDRLEN(tcphdr) > 0x5) {\n    max_c = (TCPH_HDRLEN(tcphdr) - 5) << 2;\n    for (c = 0; c < max_c; ) {\n      opt = opts[c];\n      switch (opt) {\n      case 0x00:\n        /* End of options. */\n        LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_parseopt: EOL\\n\"));\n        return;\n      case 0x01:\n        /* NOP option. */\n        ++c;\n        LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_parseopt: NOP\\n\"));\n        break;\n      case 0x02:\n        LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_parseopt: MSS\\n\"));\n        if (opts[c + 1] != 0x04 || c + 0x04 > max_c) {\n          /* Bad length */\n          LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_parseopt: bad length\\n\"));\n          return;\n        }\n        /* An MSS option with the right option length. */\n        mss = (opts[c + 2] << 8) | opts[c + 3];\n        /* Limit the mss to the configured TCP_MSS and prevent division by zero */\n        pcb->mss = ((mss > TCP_MSS) || (mss == 0)) ? TCP_MSS : mss;\n        /* Advance to next option */\n        c += 0x04;\n        break;\n#if LWIP_TCP_TIMESTAMPS\n      case 0x08:\n        LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_parseopt: TS\\n\"));\n        if (opts[c + 1] != 0x0A || c + 0x0A > max_c) {\n          /* Bad length */\n          LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_parseopt: bad length\\n\"));\n          return;\n        }\n        /* TCP timestamp option with valid length */\n        tsval = (opts[c+2]) | (opts[c+3] << 8) | \n          (opts[c+4] << 16) | (opts[c+5] << 24);\n        if (flags & TCP_SYN) {\n          pcb->ts_recent = ntohl(tsval);\n          pcb->flags |= TF_TIMESTAMP;\n        } else if (TCP_SEQ_BETWEEN(pcb->ts_lastacksent, seqno, seqno+tcplen)) {\n          pcb->ts_recent = ntohl(tsval);\n        }\n        /* Advance to next option */\n        c += 0x0A;\n        break;\n#endif\n      default:\n        LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_parseopt: other\\n\"));\n        if (opts[c + 1] == 0) {\n          LWIP_DEBUGF(TCP_INPUT_DEBUG, (\"tcp_parseopt: bad length\\n\"));\n          /* If the length field is zero, the options are malformed\n             and we don't process them further. */\n          return;\n        }\n        /* All other options have a length field, so that we easily\n           can skip past them. */\n        c += opts[c + 1];\n      }\n    }\n  }\n}\n\n#endif /* LWIP_TCP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/tcp_out.c",
    "content": "/**\n * @file\n * Transmission Control Protocol, outgoing traffic\n *\n * The output functions of TCP.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/tcp_impl.h\"\n#include \"lwip/def.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/inet_chksum.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/snmp.h\"\n#if LWIP_TCP_TIMESTAMPS\n#include \"lwip/sys.h\"\n#endif\n\n#include <string.h>\n\n/* Define some copy-macros for checksum-on-copy so that the code looks\n   nicer by preventing too many ifdef's. */\n#if TCP_CHECKSUM_ON_COPY\n#define TCP_DATA_COPY(dst, src, len, seg) do { \\\n  tcp_seg_add_chksum(LWIP_CHKSUM_COPY(dst, src, len), \\\n                     len, &seg->chksum, &seg->chksum_swapped); \\\n  seg->flags |= TF_SEG_DATA_CHECKSUMMED; } while(0)\n#define TCP_DATA_COPY2(dst, src, len, chksum, chksum_swapped)  \\\n  tcp_seg_add_chksum(LWIP_CHKSUM_COPY(dst, src, len), len, chksum, chksum_swapped);\n#else /* TCP_CHECKSUM_ON_COPY*/\n#define TCP_DATA_COPY(dst, src, len, seg)                     MEMCPY(dst, src, len)\n#define TCP_DATA_COPY2(dst, src, len, chksum, chksum_swapped) MEMCPY(dst, src, len)\n#endif /* TCP_CHECKSUM_ON_COPY*/\n\n/** Define this to 1 for an extra check that the output checksum is valid\n * (usefule when the checksum is generated by the application, not the stack) */\n#ifndef TCP_CHECKSUM_ON_COPY_SANITY_CHECK\n#define TCP_CHECKSUM_ON_COPY_SANITY_CHECK   0\n#endif\n\n/* Forward declarations.*/\nstatic void tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb);\n\n/** Allocate a pbuf and create a tcphdr at p->payload, used for output\n * functions other than the default tcp_output -> tcp_output_segment\n * (e.g. tcp_send_empty_ack, etc.)\n *\n * @param pcb tcp pcb for which to send a packet (used to initialize tcp_hdr)\n * @param optlen length of header-options\n * @param datalen length of tcp data to reserve in pbuf\n * @param seqno_be seqno in network byte order (big-endian)\n * @return pbuf with p->payload being the tcp_hdr\n */\nstatic struct pbuf *\ntcp_output_alloc_header(struct tcp_pcb *pcb, u16_t optlen, u16_t datalen,\n                      u32_t seqno_be /* already in network byte order */)\n{\n  struct tcp_hdr *tcphdr;\n  struct pbuf *p = pbuf_alloc(PBUF_IP, TCP_HLEN + optlen + datalen, PBUF_RAM);\n  if (p != NULL) {\n    LWIP_ASSERT(\"check that first pbuf can hold struct tcp_hdr\",\n                 (p->len >= TCP_HLEN + optlen));\n    tcphdr = (struct tcp_hdr *)p->payload;\n    tcphdr->src = htons(pcb->local_port);\n    tcphdr->dest = htons(pcb->remote_port);\n    tcphdr->seqno = seqno_be;\n    tcphdr->ackno = htonl(pcb->rcv_nxt);\n    TCPH_HDRLEN_FLAGS_SET(tcphdr, (5 + optlen / 4), TCP_ACK);\n    tcphdr->wnd = htons(pcb->rcv_ann_wnd);\n    tcphdr->chksum = 0;\n    tcphdr->urgp = 0;\n\n    /* If we're sending a packet, update the announced right window edge */\n    pcb->rcv_ann_right_edge = pcb->rcv_nxt + pcb->rcv_ann_wnd;\n  }\n  return p;\n}\n\n/**\n * Called by tcp_close() to send a segment including FIN flag but not data.\n *\n * @param pcb the tcp_pcb over which to send a segment\n * @return ERR_OK if sent, another err_t otherwise\n */\nerr_t\ntcp_send_fin(struct tcp_pcb *pcb)\n{\n  /* first, try to add the fin to the last unsent segment */\n  if (pcb->unsent != NULL) {\n    struct tcp_seg *last_unsent;\n    for (last_unsent = pcb->unsent; last_unsent->next != NULL;\n         last_unsent = last_unsent->next);\n\n    if ((TCPH_FLAGS(last_unsent->tcphdr) & (TCP_SYN | TCP_FIN | TCP_RST)) == 0) {\n      /* no SYN/FIN/RST flag in the header, we can add the FIN flag */\n      TCPH_SET_FLAG(last_unsent->tcphdr, TCP_FIN);\n      pcb->flags |= TF_FIN;\n      return ERR_OK;\n    }\n  }\n  /* no data, no length, flags, copy=1, no optdata */\n  return tcp_enqueue_flags(pcb, TCP_FIN);\n}\n\n/**\n * Create a TCP segment with prefilled header.\n *\n * Called by tcp_write and tcp_enqueue_flags.\n *\n * @param pcb Protocol control block for the TCP connection.\n * @param p pbuf that is used to hold the TCP header.\n * @param flags TCP flags for header.\n * @param seqno TCP sequence number of this packet\n * @param optflags options to include in TCP header\n * @return a new tcp_seg pointing to p, or NULL.\n * The TCP header is filled in except ackno and wnd.\n * p is freed on failure.\n */\nstatic struct tcp_seg *\ntcp_create_segment(struct tcp_pcb *pcb, struct pbuf *p, u8_t flags, u32_t seqno, u8_t optflags)\n{\n  struct tcp_seg *seg;\n  u8_t optlen = LWIP_TCP_OPT_LENGTH(optflags);\n\n  if ((seg = (struct tcp_seg *)memp_malloc(MEMP_TCP_SEG)) == NULL) {\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 2, (\"tcp_create_segment: no memory.\\n\"));\n    pbuf_free(p);\n    return NULL;\n  }\n  seg->flags = optflags;\n  seg->next = NULL;\n  seg->p = p;\n  seg->len = p->tot_len - optlen;\n#if TCP_OVERSIZE_DBGCHECK\n  seg->oversize_left = 0;\n#endif /* TCP_OVERSIZE_DBGCHECK */\n#if TCP_CHECKSUM_ON_COPY\n  seg->chksum = 0;\n  seg->chksum_swapped = 0;\n  /* check optflags */\n  LWIP_ASSERT(\"invalid optflags passed: TF_SEG_DATA_CHECKSUMMED\",\n              (optflags & TF_SEG_DATA_CHECKSUMMED) == 0);\n#endif /* TCP_CHECKSUM_ON_COPY */\n\n  /* build TCP header */\n  if (pbuf_header(p, TCP_HLEN)) {\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 2, (\"tcp_create_segment: no room for TCP header in pbuf.\\n\"));\n    TCP_STATS_INC(tcp.err);\n    tcp_seg_free(seg);\n    return NULL;\n  }\n  seg->tcphdr = (struct tcp_hdr *)seg->p->payload;\n  seg->tcphdr->src = htons(pcb->local_port);\n  seg->tcphdr->dest = htons(pcb->remote_port);\n  seg->tcphdr->seqno = htonl(seqno);\n  /* ackno is set in tcp_output */\n  TCPH_HDRLEN_FLAGS_SET(seg->tcphdr, (5 + optlen / 4), flags);\n  /* wnd and chksum are set in tcp_output */\n  seg->tcphdr->urgp = 0;\n  return seg;\n} \n\n/**\n * Allocate a PBUF_RAM pbuf, perhaps with extra space at the end.\n *\n * This function is like pbuf_alloc(layer, length, PBUF_RAM) except\n * there may be extra bytes available at the end.\n *\n * @param layer flag to define header size.\n * @param length size of the pbuf's payload.\n * @param max_length maximum usable size of payload+oversize.\n * @param oversize pointer to a u16_t that will receive the number of usable tail bytes.\n * @param pcb The TCP connection that willo enqueue the pbuf.\n * @param apiflags API flags given to tcp_write.\n * @param first_seg true when this pbuf will be used in the first enqueued segment.\n * @param \n */\n#if TCP_OVERSIZE\nstatic struct pbuf *\ntcp_pbuf_prealloc(pbuf_layer layer, u16_t length, u16_t max_length,\n                  u16_t *oversize, struct tcp_pcb *pcb, u8_t apiflags,\n                  u8_t first_seg)\n{\n  struct pbuf *p;\n  u16_t alloc = length;\n\n#if LWIP_NETIF_TX_SINGLE_PBUF\n  LWIP_UNUSED_ARG(max_length);\n  LWIP_UNUSED_ARG(pcb);\n  LWIP_UNUSED_ARG(apiflags);\n  LWIP_UNUSED_ARG(first_seg);\n  /* always create MSS-sized pbufs */\n  alloc = max_length;\n#else /* LWIP_NETIF_TX_SINGLE_PBUF */\n  if (length < max_length) {\n    /* Should we allocate an oversized pbuf, or just the minimum\n     * length required? If tcp_write is going to be called again\n     * before this segment is transmitted, we want the oversized\n     * buffer. If the segment will be transmitted immediately, we can\n     * save memory by allocating only length. We use a simple\n     * heuristic based on the following information:\n     *\n     * Did the user set TCP_WRITE_FLAG_MORE?\n     *\n     * Will the Nagle algorithm defer transmission of this segment?\n     */\n    if ((apiflags & TCP_WRITE_FLAG_MORE) ||\n        (!(pcb->flags & TF_NODELAY) &&\n         (!first_seg ||\n          pcb->unsent != NULL ||\n          pcb->unacked != NULL))) {\n      alloc = LWIP_MIN(max_length, LWIP_MEM_ALIGN_SIZE(length + TCP_OVERSIZE));\n    }\n  }\n#endif /* LWIP_NETIF_TX_SINGLE_PBUF */\n  p = pbuf_alloc(layer, alloc, PBUF_RAM);\n  if (p == NULL) {\n    return NULL;\n  }\n  LWIP_ASSERT(\"need unchained pbuf\", p->next == NULL);\n  *oversize = p->len - length;\n  /* trim p->len to the currently used size */\n  p->len = p->tot_len = length;\n  return p;\n}\n#else /* TCP_OVERSIZE */\n#define tcp_pbuf_prealloc(layer, length, mx, os, pcb, api, fst) pbuf_alloc((layer), (length), PBUF_RAM)\n#endif /* TCP_OVERSIZE */\n\n#if TCP_CHECKSUM_ON_COPY\n/** Add a checksum of newly added data to the segment */\nstatic void\ntcp_seg_add_chksum(u16_t chksum, u16_t len, u16_t *seg_chksum,\n                   u8_t *seg_chksum_swapped)\n{\n  u32_t helper;\n  /* add chksum to old chksum and fold to u16_t */\n  helper = chksum + *seg_chksum;\n  chksum = FOLD_U32T(helper);\n  if ((len & 1) != 0) {\n    *seg_chksum_swapped = 1 - *seg_chksum_swapped;\n    chksum = SWAP_BYTES_IN_WORD(chksum);\n  }\n  *seg_chksum = chksum;\n}\n#endif /* TCP_CHECKSUM_ON_COPY */\n\n/** Checks if tcp_write is allowed or not (checks state, snd_buf and snd_queuelen).\n *\n * @param pcb the tcp pcb to check for\n * @param len length of data to send (checked agains snd_buf)\n * @return ERR_OK if tcp_write is allowed to proceed, another err_t otherwise\n */\nstatic err_t\ntcp_write_checks(struct tcp_pcb *pcb, u16_t len)\n{\n  /* connection is in invalid state for data transmission? */\n  if ((pcb->state != ESTABLISHED) &&\n      (pcb->state != CLOSE_WAIT) &&\n      (pcb->state != SYN_SENT) &&\n      (pcb->state != SYN_RCVD)) {\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_STATE | LWIP_DBG_LEVEL_SEVERE, (\"tcp_write() called in invalid state\\n\"));\n    return ERR_CONN;\n  } else if (len == 0) {\n    return ERR_OK;\n  }\n\n  /* fail on too much data */\n  if (len > pcb->snd_buf) {\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 3, (\"tcp_write: too much data (len=%\"U16_F\" > snd_buf=%\"U16_F\")\\n\",\n      len, pcb->snd_buf));\n    pcb->flags |= TF_NAGLEMEMERR;\n    return ERR_MEM;\n  }\n\n  LWIP_DEBUGF(TCP_QLEN_DEBUG, (\"tcp_write: queuelen: %\"U16_F\"\\n\", (u16_t)pcb->snd_queuelen));\n\n  /* If total number of pbufs on the unsent/unacked queues exceeds the\n   * configured maximum, return an error */\n  /* check for configured max queuelen and possible overflow */\n  if ((pcb->snd_queuelen >= TCP_SND_QUEUELEN) || (pcb->snd_queuelen > TCP_SNDQUEUELEN_OVERFLOW)) {\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 3, (\"tcp_write: too long queue %\"U16_F\" (max %\"U16_F\")\\n\",\n      pcb->snd_queuelen, TCP_SND_QUEUELEN));\n    TCP_STATS_INC(tcp.memerr);\n    pcb->flags |= TF_NAGLEMEMERR;\n    return ERR_MEM;\n  }\n  if (pcb->snd_queuelen != 0) {\n    LWIP_ASSERT(\"tcp_write: pbufs on queue => at least one queue non-empty\",\n      pcb->unacked != NULL || pcb->unsent != NULL);\n  } else {\n    LWIP_ASSERT(\"tcp_write: no pbufs on queue => both queues empty\",\n      pcb->unacked == NULL && pcb->unsent == NULL);\n  }\n  return ERR_OK;\n}\n\n/**\n * Write data for sending (but does not send it immediately).\n *\n * It waits in the expectation of more data being sent soon (as\n * it can send them more efficiently by combining them together).\n * To prompt the system to send data now, call tcp_output() after\n * calling tcp_write().\n *\n * @param pcb Protocol control block for the TCP connection to enqueue data for.\n * @param arg Pointer to the data to be enqueued for sending.\n * @param len Data length in bytes\n * @param apiflags combination of following flags :\n * - TCP_WRITE_FLAG_COPY (0x01) data will be copied into memory belonging to the stack\n * - TCP_WRITE_FLAG_MORE (0x02) for TCP connection, PSH flag will be set on last segment sent,\n * @return ERR_OK if enqueued, another err_t on error\n */\nerr_t\ntcp_write(struct tcp_pcb *pcb, const void *arg, u16_t len, u8_t apiflags)\n{\n  struct pbuf *concat_p = NULL;\n  struct tcp_seg *last_unsent = NULL, *seg = NULL, *prev_seg = NULL, *queue = NULL;\n  u16_t pos = 0; /* position in 'arg' data */\n  u16_t queuelen;\n  u8_t optlen = 0;\n  u8_t optflags = 0;\n#if TCP_OVERSIZE\n  u16_t oversize = 0;\n  u16_t oversize_used = 0;\n#endif /* TCP_OVERSIZE */\n#if TCP_CHECKSUM_ON_COPY\n  u16_t concat_chksum = 0;\n  u8_t concat_chksum_swapped = 0;\n  u16_t concat_chksummed = 0;\n#endif /* TCP_CHECKSUM_ON_COPY */\n  err_t err;\n  /* don't allocate segments bigger than half the maximum window we ever received */\n  u16_t mss_local = LWIP_MIN(pcb->mss, pcb->snd_wnd_max/2);\n\n#if LWIP_NETIF_TX_SINGLE_PBUF\n  /* Always copy to try to create single pbufs for TX */\n  apiflags |= TCP_WRITE_FLAG_COPY;\n#endif /* LWIP_NETIF_TX_SINGLE_PBUF */\n\n  LWIP_DEBUGF(TCP_OUTPUT_DEBUG, (\"tcp_write(pcb=%p, data=%p, len=%\"U16_F\", apiflags=%\"U16_F\")\\n\",\n    (void *)pcb, arg, len, (u16_t)apiflags));\n  LWIP_ERROR(\"tcp_write: arg == NULL (programmer violates API)\", \n             arg != NULL, return ERR_ARG;);\n\n  err = tcp_write_checks(pcb, len);\n  if (err != ERR_OK) {\n    return err;\n  }\n  queuelen = pcb->snd_queuelen;\n\n#if LWIP_TCP_TIMESTAMPS\n  if ((pcb->flags & TF_TIMESTAMP)) {\n    optflags = TF_SEG_OPTS_TS;\n    optlen = LWIP_TCP_OPT_LENGTH(TF_SEG_OPTS_TS);\n  }\n#endif /* LWIP_TCP_TIMESTAMPS */\n\n\n  /*\n   * TCP segmentation is done in three phases with increasing complexity:\n   *\n   * 1. Copy data directly into an oversized pbuf.\n   * 2. Chain a new pbuf to the end of pcb->unsent.\n   * 3. Create new segments.\n   *\n   * We may run out of memory at any point. In that case we must\n   * return ERR_MEM and not change anything in pcb. Therefore, all\n   * changes are recorded in local variables and committed at the end\n   * of the function. Some pcb fields are maintained in local copies:\n   *\n   * queuelen = pcb->snd_queuelen\n   * oversize = pcb->unsent_oversize\n   *\n   * These variables are set consistently by the phases:\n   *\n   * seg points to the last segment tampered with.\n   *\n   * pos records progress as data is segmented.\n   */\n\n  /* Find the tail of the unsent queue. */\n  if (pcb->unsent != NULL) {\n    u16_t space;\n    u16_t unsent_optlen;\n\n    /* @todo: this could be sped up by keeping last_unsent in the pcb */\n    for (last_unsent = pcb->unsent; last_unsent->next != NULL;\n         last_unsent = last_unsent->next);\n\n    /* Usable space at the end of the last unsent segment */\n    unsent_optlen = LWIP_TCP_OPT_LENGTH(last_unsent->flags);\n    space = mss_local - (last_unsent->len + unsent_optlen);\n\n    /*\n     * Phase 1: Copy data directly into an oversized pbuf.\n     *\n     * The number of bytes copied is recorded in the oversize_used\n     * variable. The actual copying is done at the bottom of the\n     * function.\n     */\n#if TCP_OVERSIZE\n#if TCP_OVERSIZE_DBGCHECK\n    /* check that pcb->unsent_oversize matches last_unsent->unsent_oversize */\n    LWIP_ASSERT(\"unsent_oversize mismatch (pcb vs. last_unsent)\",\n                pcb->unsent_oversize == last_unsent->oversize_left);\n#endif /* TCP_OVERSIZE_DBGCHECK */\n    oversize = pcb->unsent_oversize;\n    if (oversize > 0) {\n      LWIP_ASSERT(\"inconsistent oversize vs. space\", oversize_used <= space);\n      seg = last_unsent;\n      oversize_used = oversize < len ? oversize : len;\n      pos += oversize_used;\n      oversize -= oversize_used;\n      space -= oversize_used;\n    }\n    /* now we are either finished or oversize is zero */\n    LWIP_ASSERT(\"inconsistend oversize vs. len\", (oversize == 0) || (pos == len));\n#endif /* TCP_OVERSIZE */\n\n    /*\n     * Phase 2: Chain a new pbuf to the end of pcb->unsent.\n     *\n     * We don't extend segments containing SYN/FIN flags or options\n     * (len==0). The new pbuf is kept in concat_p and pbuf_cat'ed at\n     * the end.\n     */\n    if ((pos < len) && (space > 0) && (last_unsent->len > 0)) {\n      u16_t seglen = space < len - pos ? space : len - pos;\n      seg = last_unsent;\n\n      /* Create a pbuf with a copy or reference to seglen bytes. We\n       * can use PBUF_RAW here since the data appears in the middle of\n       * a segment. A header will never be prepended. */\n      if (apiflags & TCP_WRITE_FLAG_COPY) {\n        /* Data is copied */\n        if ((concat_p = tcp_pbuf_prealloc(PBUF_RAW, seglen, space, &oversize, pcb, apiflags, 1)) == NULL) {\n          LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 2,\n                      (\"tcp_write : could not allocate memory for pbuf copy size %\"U16_F\"\\n\",\n                       seglen));\n          goto memerr;\n        }\n#if TCP_OVERSIZE_DBGCHECK\n        last_unsent->oversize_left += oversize;\n#endif /* TCP_OVERSIZE_DBGCHECK */\n        TCP_DATA_COPY2(concat_p->payload, (u8_t*)arg + pos, seglen, &concat_chksum, &concat_chksum_swapped);\n#if TCP_CHECKSUM_ON_COPY\n        concat_chksummed += seglen;\n#endif /* TCP_CHECKSUM_ON_COPY */\n      } else {\n        /* Data is not copied */\n        if ((concat_p = pbuf_alloc(PBUF_RAW, seglen, PBUF_ROM)) == NULL) {\n          LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 2,\n                      (\"tcp_write: could not allocate memory for zero-copy pbuf\\n\"));\n          goto memerr;\n        }\n#if TCP_CHECKSUM_ON_COPY\n        /* calculate the checksum of nocopy-data */\n        tcp_seg_add_chksum(~inet_chksum((u8_t*)arg + pos, seglen), seglen,\n          &concat_chksum, &concat_chksum_swapped);\n        concat_chksummed += seglen;\n#endif /* TCP_CHECKSUM_ON_COPY */\n        /* reference the non-volatile payload data */\n        concat_p->payload = (u8_t*)arg + pos;\n      }\n\n      pos += seglen;\n      queuelen += pbuf_clen(concat_p);\n    }\n  } else {\n#if TCP_OVERSIZE\n    LWIP_ASSERT(\"unsent_oversize mismatch (pcb->unsent is NULL)\",\n                pcb->unsent_oversize == 0);\n#endif /* TCP_OVERSIZE */\n  }\n\n  /*\n   * Phase 3: Create new segments.\n   *\n   * The new segments are chained together in the local 'queue'\n   * variable, ready to be appended to pcb->unsent.\n   */\n  while (pos < len) {\n    struct pbuf *p;\n    u16_t left = len - pos;\n    u16_t max_len = mss_local - optlen;\n    u16_t seglen = left > max_len ? max_len : left;\n#if TCP_CHECKSUM_ON_COPY\n    u16_t chksum = 0;\n    u8_t chksum_swapped = 0;\n#endif /* TCP_CHECKSUM_ON_COPY */\n\n    if (apiflags & TCP_WRITE_FLAG_COPY) {\n      /* If copy is set, memory should be allocated and data copied\n       * into pbuf */\n      if ((p = tcp_pbuf_prealloc(PBUF_TRANSPORT, seglen + optlen, mss_local, &oversize, pcb, apiflags, queue == NULL)) == NULL) {\n        LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 2, (\"tcp_write : could not allocate memory for pbuf copy size %\"U16_F\"\\n\", seglen));\n        goto memerr;\n      }\n      LWIP_ASSERT(\"tcp_write: check that first pbuf can hold the complete seglen\",\n                  (p->len >= seglen));\n      TCP_DATA_COPY2((char *)p->payload + optlen, (u8_t*)arg + pos, seglen, &chksum, &chksum_swapped);\n    } else {\n      /* Copy is not set: First allocate a pbuf for holding the data.\n       * Since the referenced data is available at least until it is\n       * sent out on the link (as it has to be ACKed by the remote\n       * party) we can safely use PBUF_ROM instead of PBUF_REF here.\n       */\n      struct pbuf *p2;\n#if TCP_OVERSIZE\n      LWIP_ASSERT(\"oversize == 0\", oversize == 0);\n#endif /* TCP_OVERSIZE */\n      if ((p2 = pbuf_alloc(PBUF_TRANSPORT, seglen, PBUF_ROM)) == NULL) {\n        LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 2, (\"tcp_write: could not allocate memory for zero-copy pbuf\\n\"));\n        goto memerr;\n      }\n#if TCP_CHECKSUM_ON_COPY\n      /* calculate the checksum of nocopy-data */\n      chksum = ~inet_chksum((u8_t*)arg + pos, seglen);\n#endif /* TCP_CHECKSUM_ON_COPY */\n      /* reference the non-volatile payload data */\n      p2->payload = (u8_t*)arg + pos;\n\n      /* Second, allocate a pbuf for the headers. */\n      if ((p = pbuf_alloc(PBUF_TRANSPORT, optlen, PBUF_RAM)) == NULL) {\n        /* If allocation fails, we have to deallocate the data pbuf as\n         * well. */\n        pbuf_free(p2);\n        LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 2, (\"tcp_write: could not allocate memory for header pbuf\\n\"));\n        goto memerr;\n      }\n      /* Concatenate the headers and data pbufs together. */\n      pbuf_cat(p/*header*/, p2/*data*/);\n    }\n\n    queuelen += pbuf_clen(p);\n\n    /* Now that there are more segments queued, we check again if the\n     * length of the queue exceeds the configured maximum or\n     * overflows. */\n    if ((queuelen > TCP_SND_QUEUELEN) || (queuelen > TCP_SNDQUEUELEN_OVERFLOW)) {\n      LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 2, (\"tcp_write: queue too long %\"U16_F\" (%\"U16_F\")\\n\", queuelen, TCP_SND_QUEUELEN));\n      pbuf_free(p);\n      goto memerr;\n    }\n\n    if ((seg = tcp_create_segment(pcb, p, 0, pcb->snd_lbb + pos, optflags)) == NULL) {\n      goto memerr;\n    }\n#if TCP_OVERSIZE_DBGCHECK\n    seg->oversize_left = oversize;\n#endif /* TCP_OVERSIZE_DBGCHECK */\n#if TCP_CHECKSUM_ON_COPY\n    seg->chksum = chksum;\n    seg->chksum_swapped = chksum_swapped;\n    seg->flags |= TF_SEG_DATA_CHECKSUMMED;\n#endif /* TCP_CHECKSUM_ON_COPY */\n\n    /* first segment of to-be-queued data? */\n    if (queue == NULL) {\n      queue = seg;\n    } else {\n      /* Attach the segment to the end of the queued segments */\n      LWIP_ASSERT(\"prev_seg != NULL\", prev_seg != NULL);\n      prev_seg->next = seg;\n    }\n    /* remember last segment of to-be-queued data for next iteration */\n    prev_seg = seg;\n\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_TRACE, (\"tcp_write: queueing %\"U32_F\":%\"U32_F\"\\n\",\n      ntohl(seg->tcphdr->seqno),\n      ntohl(seg->tcphdr->seqno) + TCP_TCPLEN(seg)));\n\n    pos += seglen;\n  }\n\n  /*\n   * All three segmentation phases were successful. We can commit the\n   * transaction.\n   */\n\n  /*\n   * Phase 1: If data has been added to the preallocated tail of\n   * last_unsent, we update the length fields of the pbuf chain.\n   */\n#if TCP_OVERSIZE\n  if (oversize_used > 0) {\n    struct pbuf *p;\n    /* Bump tot_len of whole chain, len of tail */\n    for (p = last_unsent->p; p; p = p->next) {\n      p->tot_len += oversize_used;\n      if (p->next == NULL) {\n        TCP_DATA_COPY((char *)p->payload + p->len, arg, oversize_used, last_unsent);\n        p->len += oversize_used;\n      }\n    }\n    last_unsent->len += oversize_used;\n#if TCP_OVERSIZE_DBGCHECK\n    LWIP_ASSERT(\"last_unsent->oversize_left >= oversize_used\",\n                last_unsent->oversize_left >= oversize_used);\n    last_unsent->oversize_left -= oversize_used;\n#endif /* TCP_OVERSIZE_DBGCHECK */\n  }\n  pcb->unsent_oversize = oversize;\n#endif /* TCP_OVERSIZE */\n\n  /*\n   * Phase 2: concat_p can be concatenated onto last_unsent->p\n   */\n  if (concat_p != NULL) {\n    LWIP_ASSERT(\"tcp_write: cannot concatenate when pcb->unsent is empty\",\n      (last_unsent != NULL));\n    pbuf_cat(last_unsent->p, concat_p);\n    last_unsent->len += concat_p->tot_len;\n#if TCP_CHECKSUM_ON_COPY\n    if (concat_chksummed) {\n      tcp_seg_add_chksum(concat_chksum, concat_chksummed, &last_unsent->chksum,\n        &last_unsent->chksum_swapped);\n      last_unsent->flags |= TF_SEG_DATA_CHECKSUMMED;\n    }\n#endif /* TCP_CHECKSUM_ON_COPY */\n  }\n\n  /*\n   * Phase 3: Append queue to pcb->unsent. Queue may be NULL, but that\n   * is harmless\n   */\n  if (last_unsent == NULL) {\n    pcb->unsent = queue;\n  } else {\n    last_unsent->next = queue;\n  }\n\n  /*\n   * Finally update the pcb state.\n   */\n  pcb->snd_lbb += len;\n  pcb->snd_buf -= len;\n  pcb->snd_queuelen = queuelen;\n\n  LWIP_DEBUGF(TCP_QLEN_DEBUG, (\"tcp_write: %\"S16_F\" (after enqueued)\\n\",\n    pcb->snd_queuelen));\n  if (pcb->snd_queuelen != 0) {\n    LWIP_ASSERT(\"tcp_write: valid queue length\",\n                pcb->unacked != NULL || pcb->unsent != NULL);\n  }\n\n  /* Set the PSH flag in the last segment that we enqueued. */\n  if (seg != NULL && seg->tcphdr != NULL && ((apiflags & TCP_WRITE_FLAG_MORE)==0)) {\n    TCPH_SET_FLAG(seg->tcphdr, TCP_PSH);\n  }\n\n  return ERR_OK;\nmemerr:\n  pcb->flags |= TF_NAGLEMEMERR;\n  TCP_STATS_INC(tcp.memerr);\n\n  if (concat_p != NULL) {\n    pbuf_free(concat_p);\n  }\n  if (queue != NULL) {\n    tcp_segs_free(queue);\n  }\n  if (pcb->snd_queuelen != 0) {\n    LWIP_ASSERT(\"tcp_write: valid queue length\", pcb->unacked != NULL ||\n      pcb->unsent != NULL);\n  }\n  LWIP_DEBUGF(TCP_QLEN_DEBUG | LWIP_DBG_STATE, (\"tcp_write: %\"S16_F\" (with mem err)\\n\", pcb->snd_queuelen));\n  return ERR_MEM;\n}\n\n/**\n * Enqueue TCP options for transmission.\n *\n * Called by tcp_connect(), tcp_listen_input(), and tcp_send_ctrl().\n *\n * @param pcb Protocol control block for the TCP connection.\n * @param flags TCP header flags to set in the outgoing segment.\n * @param optdata pointer to TCP options, or NULL.\n * @param optlen length of TCP options in bytes.\n */\nerr_t\ntcp_enqueue_flags(struct tcp_pcb *pcb, u8_t flags)\n{\n  struct pbuf *p;\n  struct tcp_seg *seg;\n  u8_t optflags = 0;\n  u8_t optlen = 0;\n\n  LWIP_DEBUGF(TCP_QLEN_DEBUG, (\"tcp_enqueue_flags: queuelen: %\"U16_F\"\\n\", (u16_t)pcb->snd_queuelen));\n\n  LWIP_ASSERT(\"tcp_enqueue_flags: need either TCP_SYN or TCP_FIN in flags (programmer violates API)\",\n              (flags & (TCP_SYN | TCP_FIN)) != 0);\n\n  /* check for configured max queuelen and possible overflow */\n  if ((pcb->snd_queuelen >= TCP_SND_QUEUELEN) || (pcb->snd_queuelen > TCP_SNDQUEUELEN_OVERFLOW)) {\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 3, (\"tcp_enqueue_flags: too long queue %\"U16_F\" (max %\"U16_F\")\\n\",\n                                       pcb->snd_queuelen, TCP_SND_QUEUELEN));\n    TCP_STATS_INC(tcp.memerr);\n    pcb->flags |= TF_NAGLEMEMERR;\n    return ERR_MEM;\n  }\n\n  if (flags & TCP_SYN) {\n    optflags = TF_SEG_OPTS_MSS;\n  }\n#if LWIP_TCP_TIMESTAMPS\n  if ((pcb->flags & TF_TIMESTAMP)) {\n    optflags |= TF_SEG_OPTS_TS;\n  }\n#endif /* LWIP_TCP_TIMESTAMPS */\n  optlen = LWIP_TCP_OPT_LENGTH(optflags);\n\n  /* tcp_enqueue_flags is always called with either SYN or FIN in flags.\n   * We need one available snd_buf byte to do that.\n   * This means we can't send FIN while snd_buf==0. A better fix would be to\n   * not include SYN and FIN sequence numbers in the snd_buf count. */\n  if (pcb->snd_buf == 0) {\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG | 3, (\"tcp_enqueue_flags: no send buffer available\\n\"));\n    TCP_STATS_INC(tcp.memerr);\n    return ERR_MEM;\n  }\n\n  /* Allocate pbuf with room for TCP header + options */\n  if ((p = pbuf_alloc(PBUF_TRANSPORT, optlen, PBUF_RAM)) == NULL) {\n    pcb->flags |= TF_NAGLEMEMERR;\n    TCP_STATS_INC(tcp.memerr);\n    return ERR_MEM;\n  }\n  LWIP_ASSERT(\"tcp_enqueue_flags: check that first pbuf can hold optlen\",\n              (p->len >= optlen));\n\n  /* Allocate memory for tcp_seg, and fill in fields. */\n  if ((seg = tcp_create_segment(pcb, p, flags, pcb->snd_lbb, optflags)) == NULL) {\n    pcb->flags |= TF_NAGLEMEMERR;\n    TCP_STATS_INC(tcp.memerr);\n    return ERR_MEM;\n  }\n  LWIP_ASSERT(\"seg->tcphdr not aligned\", ((mem_ptr_t)seg->tcphdr % MEM_ALIGNMENT) == 0);\n  LWIP_ASSERT(\"tcp_enqueue_flags: invalid segment length\", seg->len == 0);\n\n  LWIP_DEBUGF(TCP_OUTPUT_DEBUG | LWIP_DBG_TRACE,\n              (\"tcp_enqueue_flags: queueing %\"U32_F\":%\"U32_F\" (0x%\"X16_F\")\\n\",\n               ntohl(seg->tcphdr->seqno),\n               ntohl(seg->tcphdr->seqno) + TCP_TCPLEN(seg),\n               (u16_t)flags));\n\n  /* Now append seg to pcb->unsent queue */\n  if (pcb->unsent == NULL) {\n    pcb->unsent = seg;\n  } else {\n    struct tcp_seg *useg;\n    for (useg = pcb->unsent; useg->next != NULL; useg = useg->next);\n    useg->next = seg;\n  }\n#if TCP_OVERSIZE\n  /* The new unsent tail has no space */\n  pcb->unsent_oversize = 0;\n#endif /* TCP_OVERSIZE */\n\n  /* SYN and FIN bump the sequence number */\n  if ((flags & TCP_SYN) || (flags & TCP_FIN)) {\n    pcb->snd_lbb++;\n    /* optlen does not influence snd_buf */\n    pcb->snd_buf--;\n  }\n  if (flags & TCP_FIN) {\n    pcb->flags |= TF_FIN;\n  }\n\n  /* update number of segments on the queues */\n  pcb->snd_queuelen += pbuf_clen(seg->p);\n  LWIP_DEBUGF(TCP_QLEN_DEBUG, (\"tcp_enqueue_flags: %\"S16_F\" (after enqueued)\\n\", pcb->snd_queuelen));\n  if (pcb->snd_queuelen != 0) {\n    LWIP_ASSERT(\"tcp_enqueue_flags: invalid queue length\",\n      pcb->unacked != NULL || pcb->unsent != NULL);\n  }\n\n  return ERR_OK;\n}\n\n#if LWIP_TCP_TIMESTAMPS\n/* Build a timestamp option (12 bytes long) at the specified options pointer)\n *\n * @param pcb tcp_pcb\n * @param opts option pointer where to store the timestamp option\n */\nstatic void\ntcp_build_timestamp_option(struct tcp_pcb *pcb, u32_t *opts)\n{\n  /* Pad with two NOP options to make everything nicely aligned */\n  opts[0] = PP_HTONL(0x0101080A);\n  opts[1] = htonl(sys_now());\n  opts[2] = htonl(pcb->ts_recent);\n}\n#endif\n\n/** Send an ACK without data.\n *\n * @param pcb Protocol control block for the TCP connection to send the ACK\n */\nerr_t\ntcp_send_empty_ack(struct tcp_pcb *pcb)\n{\n  struct pbuf *p;\n  struct tcp_hdr *tcphdr;\n  u8_t optlen = 0;\n\n#if LWIP_TCP_TIMESTAMPS\n  if (pcb->flags & TF_TIMESTAMP) {\n    optlen = LWIP_TCP_OPT_LENGTH(TF_SEG_OPTS_TS);\n  }\n#endif\n\n  p = tcp_output_alloc_header(pcb, optlen, 0, htonl(pcb->snd_nxt));\n  if (p == NULL) {\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG, (\"tcp_output: (ACK) could not allocate pbuf\\n\"));\n    return ERR_BUF;\n  }\n  tcphdr = (struct tcp_hdr *)p->payload;\n  LWIP_DEBUGF(TCP_OUTPUT_DEBUG, \n              (\"tcp_output: sending ACK for %\"U32_F\"\\n\", pcb->rcv_nxt));\n  /* remove ACK flags from the PCB, as we send an empty ACK now */\n  pcb->flags &= ~(TF_ACK_DELAY | TF_ACK_NOW);\n\n  /* NB. MSS option is only sent on SYNs, so ignore it here */\n#if LWIP_TCP_TIMESTAMPS\n  pcb->ts_lastacksent = pcb->rcv_nxt;\n\n  if (pcb->flags & TF_TIMESTAMP) {\n    tcp_build_timestamp_option(pcb, (u32_t *)(tcphdr + 1));\n  }\n#endif \n\n#if CHECKSUM_GEN_TCP\n  tcphdr->chksum = inet_chksum_pseudo(p, &(pcb->local_ip), &(pcb->remote_ip),\n        IP_PROTO_TCP, p->tot_len);\n#endif\n#if LWIP_NETIF_HWADDRHINT\n  ip_output_hinted(p, &(pcb->local_ip), &(pcb->remote_ip), pcb->ttl, pcb->tos,\n      IP_PROTO_TCP, &(pcb->addr_hint));\n#else /* LWIP_NETIF_HWADDRHINT*/\n  ip_output(p, &(pcb->local_ip), &(pcb->remote_ip), pcb->ttl, pcb->tos,\n      IP_PROTO_TCP);\n#endif /* LWIP_NETIF_HWADDRHINT*/\n  pbuf_free(p);\n\n  return ERR_OK;\n}\n\n/**\n * Find out what we can send and send it\n *\n * @param pcb Protocol control block for the TCP connection to send data\n * @return ERR_OK if data has been sent or nothing to send\n *         another err_t on error\n */\nerr_t\ntcp_output(struct tcp_pcb *pcb)\n{\n  struct tcp_seg *seg, *useg;\n  u32_t wnd, snd_nxt;\n#if TCP_CWND_DEBUG\n  s16_t i = 0;\n#endif /* TCP_CWND_DEBUG */\n\n  /* pcb->state LISTEN not allowed here */\n  LWIP_ASSERT(\"don't call tcp_output for listen-pcbs\",\n    pcb->state != LISTEN);\n\n  /* First, check if we are invoked by the TCP input processing\n     code. If so, we do not output anything. Instead, we rely on the\n     input processing code to call us when input processing is done\n     with. */\n  if (tcp_input_pcb == pcb) {\n    return ERR_OK;\n  }\n\n  wnd = LWIP_MIN(pcb->snd_wnd, pcb->cwnd);\n\n  seg = pcb->unsent;\n\n  /* If the TF_ACK_NOW flag is set and no data will be sent (either\n   * because the ->unsent queue is empty or because the window does\n   * not allow it), construct an empty ACK segment and send it.\n   *\n   * If data is to be sent, we will just piggyback the ACK (see below).\n   */\n  if (pcb->flags & TF_ACK_NOW &&\n     (seg == NULL ||\n      ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len > wnd)) {\n     return tcp_send_empty_ack(pcb);\n  }\n\n  /* useg should point to last segment on unacked queue */\n  useg = pcb->unacked;\n  if (useg != NULL) {\n    for (; useg->next != NULL; useg = useg->next);\n  }\n\n#if TCP_OUTPUT_DEBUG\n  if (seg == NULL) {\n    LWIP_DEBUGF(TCP_OUTPUT_DEBUG, (\"tcp_output: nothing to send (%p)\\n\",\n                                   (void*)pcb->unsent));\n  }\n#endif /* TCP_OUTPUT_DEBUG */\n#if TCP_CWND_DEBUG\n  if (seg == NULL) {\n    LWIP_DEBUGF(TCP_CWND_DEBUG, (\"tcp_output: snd_wnd %\"U16_F\n                                 \", cwnd %\"U16_F\", wnd %\"U32_F\n                                 \", seg == NULL, ack %\"U32_F\"\\n\",\n                                 pcb->snd_wnd, pcb->cwnd, wnd, pcb->lastack));\n  } else {\n    LWIP_DEBUGF(TCP_CWND_DEBUG, \n                (\"tcp_output: snd_wnd %\"U16_F\", cwnd %\"U16_F\", wnd %\"U32_F\n                 \", effwnd %\"U32_F\", seq %\"U32_F\", ack %\"U32_F\"\\n\",\n                 pcb->snd_wnd, pcb->cwnd, wnd,\n                 ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len,\n                 ntohl(seg->tcphdr->seqno), pcb->lastack));\n  }\n#endif /* TCP_CWND_DEBUG */\n  /* data available and window allows it to be sent? */\n  while (seg != NULL &&\n         ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len <= wnd) {\n    LWIP_ASSERT(\"RST not expected here!\", \n                (TCPH_FLAGS(seg->tcphdr) & TCP_RST) == 0);\n    /* Stop sending if the nagle algorithm would prevent it\n     * Don't stop:\n     * - if tcp_write had a memory error before (prevent delayed ACK timeout) or\n     * - if FIN was already enqueued for this PCB (SYN is always alone in a segment -\n     *   either seg->next != NULL or pcb->unacked == NULL;\n     *   RST is no sent using tcp_write/tcp_output.\n     */\n    if((tcp_do_output_nagle(pcb) == 0) &&\n      ((pcb->flags & (TF_NAGLEMEMERR | TF_FIN)) == 0)){\n      break;\n    }\n#if TCP_CWND_DEBUG\n    LWIP_DEBUGF(TCP_CWND_DEBUG, (\"tcp_output: snd_wnd %\"U16_F\", cwnd %\"U16_F\", wnd %\"U32_F\", effwnd %\"U32_F\", seq %\"U32_F\", ack %\"U32_F\", i %\"S16_F\"\\n\",\n                            pcb->snd_wnd, pcb->cwnd, wnd,\n                            ntohl(seg->tcphdr->seqno) + seg->len -\n                            pcb->lastack,\n                            ntohl(seg->tcphdr->seqno), pcb->lastack, i));\n    ++i;\n#endif /* TCP_CWND_DEBUG */\n\n    pcb->unsent = seg->next;\n\n    if (pcb->state != SYN_SENT) {\n      TCPH_SET_FLAG(seg->tcphdr, TCP_ACK);\n      pcb->flags &= ~(TF_ACK_DELAY | TF_ACK_NOW);\n    }\n\n    tcp_output_segment(seg, pcb);\n    snd_nxt = ntohl(seg->tcphdr->seqno) + TCP_TCPLEN(seg);\n    if (TCP_SEQ_LT(pcb->snd_nxt, snd_nxt)) {\n      pcb->snd_nxt = snd_nxt;\n    }\n    /* put segment on unacknowledged list if length > 0 */\n    if (TCP_TCPLEN(seg) > 0) {\n      seg->next = NULL;\n      /* unacked list is empty? */\n      if (pcb->unacked == NULL) {\n        pcb->unacked = seg;\n        useg = seg;\n      /* unacked list is not empty? */\n      } else {\n        /* In the case of fast retransmit, the packet should not go to the tail\n         * of the unacked queue, but rather somewhere before it. We need to check for\n         * this case. -STJ Jul 27, 2004 */\n        if (TCP_SEQ_LT(ntohl(seg->tcphdr->seqno), ntohl(useg->tcphdr->seqno))) {\n          /* add segment to before tail of unacked list, keeping the list sorted */\n          struct tcp_seg **cur_seg = &(pcb->unacked);\n          while (*cur_seg &&\n            TCP_SEQ_LT(ntohl((*cur_seg)->tcphdr->seqno), ntohl(seg->tcphdr->seqno))) {\n              cur_seg = &((*cur_seg)->next );\n          }\n          seg->next = (*cur_seg);\n          (*cur_seg) = seg;\n        } else {\n          /* add segment to tail of unacked list */\n          useg->next = seg;\n          useg = useg->next;\n        }\n      }\n    /* do not queue empty segments on the unacked list */\n    } else {\n      tcp_seg_free(seg);\n    }\n    seg = pcb->unsent;\n  }\n#if TCP_OVERSIZE\n  if (pcb->unsent == NULL) {\n    /* last unsent has been removed, reset unsent_oversize */\n    pcb->unsent_oversize = 0;\n  }\n#endif /* TCP_OVERSIZE */\n\n  pcb->flags &= ~TF_NAGLEMEMERR;\n  return ERR_OK;\n}\n\n/**\n * Called by tcp_output() to actually send a TCP segment over IP.\n *\n * @param seg the tcp_seg to send\n * @param pcb the tcp_pcb for the TCP connection used to send the segment\n */\nstatic void\ntcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb)\n{\n  u16_t len;\n  struct netif *netif;\n  u32_t *opts;\n\n  /** @bug Exclude retransmitted segments from this count. */\n  snmp_inc_tcpoutsegs();\n\n  /* The TCP header has already been constructed, but the ackno and\n   wnd fields remain. */\n  seg->tcphdr->ackno = htonl(pcb->rcv_nxt);\n\n  /* advertise our receive window size in this TCP segment */\n  seg->tcphdr->wnd = htons(pcb->rcv_ann_wnd);\n\n  pcb->rcv_ann_right_edge = pcb->rcv_nxt + pcb->rcv_ann_wnd;\n\n  /* Add any requested options.  NB MSS option is only set on SYN\n     packets, so ignore it here */\n  opts = (u32_t *)(void *)(seg->tcphdr + 1);\n  if (seg->flags & TF_SEG_OPTS_MSS) {\n    u16_t mss;\n#if TCP_CALCULATE_EFF_SEND_MSS\n    mss = tcp_eff_send_mss(TCP_MSS, &pcb->remote_ip);\n#else /* TCP_CALCULATE_EFF_SEND_MSS */\n    mss = TCP_MSS;\n#endif /* TCP_CALCULATE_EFF_SEND_MSS */\n    *opts = TCP_BUILD_MSS_OPTION(mss);\n    opts += 1;\n  }\n#if LWIP_TCP_TIMESTAMPS\n  pcb->ts_lastacksent = pcb->rcv_nxt;\n\n  if (seg->flags & TF_SEG_OPTS_TS) {\n    tcp_build_timestamp_option(pcb, opts);\n    opts += 3;\n  }\n#endif\n\n  /* Set retransmission timer running if it is not currently enabled \n     This must be set before checking the route. */\n  if (pcb->rtime == -1) {\n    pcb->rtime = 0;\n  }\n\n  /* If we don't have a local IP address, we get one by\n     calling ip_route(). */\n  if (ip_addr_isany(&(pcb->local_ip))) {\n    netif = ip_route(&(pcb->remote_ip));\n    if (netif == NULL) {\n      return;\n    }\n    ip_addr_copy(pcb->local_ip, netif->ip_addr);\n  }\n\n  if (pcb->rttest == 0) {\n    pcb->rttest = tcp_ticks;\n    pcb->rtseq = ntohl(seg->tcphdr->seqno);\n\n    LWIP_DEBUGF(TCP_RTO_DEBUG, (\"tcp_output_segment: rtseq %\"U32_F\"\\n\", pcb->rtseq));\n  }\n  LWIP_DEBUGF(TCP_OUTPUT_DEBUG, (\"tcp_output_segment: %\"U32_F\":%\"U32_F\"\\n\",\n          htonl(seg->tcphdr->seqno), htonl(seg->tcphdr->seqno) +\n          seg->len));\n\n  len = (u16_t)((u8_t *)seg->tcphdr - (u8_t *)seg->p->payload);\n\n  seg->p->len -= len;\n  seg->p->tot_len -= len;\n\n  seg->p->payload = seg->tcphdr;\n\n  seg->tcphdr->chksum = 0;\n#if CHECKSUM_GEN_TCP\n#if TCP_CHECKSUM_ON_COPY\n  {\n    u32_t acc;\n#if TCP_CHECKSUM_ON_COPY_SANITY_CHECK\n    u16_t chksum_slow = inet_chksum_pseudo(seg->p, &(pcb->local_ip),\n           &(pcb->remote_ip),\n           IP_PROTO_TCP, seg->p->tot_len);\n#endif /* TCP_CHECKSUM_ON_COPY_SANITY_CHECK */\n    if ((seg->flags & TF_SEG_DATA_CHECKSUMMED) == 0) {\n      LWIP_ASSERT(\"data included but not checksummed\",\n        seg->p->tot_len == (TCPH_HDRLEN(seg->tcphdr) * 4));\n    }\n\n    /* rebuild TCP header checksum (TCP header changes for retransmissions!) */\n    acc = inet_chksum_pseudo_partial(seg->p, &(pcb->local_ip),\n             &(pcb->remote_ip),\n             IP_PROTO_TCP, seg->p->tot_len, TCPH_HDRLEN(seg->tcphdr) * 4);\n    /* add payload checksum */\n    if (seg->chksum_swapped) {\n      seg->chksum = SWAP_BYTES_IN_WORD(seg->chksum);\n      seg->chksum_swapped = 0;\n    }\n    acc += (u16_t)~(seg->chksum);\n    seg->tcphdr->chksum = FOLD_U32T(acc);\n#if TCP_CHECKSUM_ON_COPY_SANITY_CHECK\n    if (chksum_slow != seg->tcphdr->chksum) {\n      LWIP_DEBUGF(TCP_DEBUG | LWIP_DBG_LEVEL_WARNING,\n                  (\"tcp_output_segment: calculated checksum is %\"X16_F\" instead of %\"X16_F\"\\n\",\n                  seg->tcphdr->chksum, chksum_slow));\n      seg->tcphdr->chksum = chksum_slow;\n    }\n#endif /* TCP_CHECKSUM_ON_COPY_SANITY_CHECK */\n  }\n#else /* TCP_CHECKSUM_ON_COPY */\n  seg->tcphdr->chksum = inet_chksum_pseudo(seg->p, &(pcb->local_ip),\n         &(pcb->remote_ip),\n         IP_PROTO_TCP, seg->p->tot_len);\n#endif /* TCP_CHECKSUM_ON_COPY */\n#endif /* CHECKSUM_GEN_TCP */\n  TCP_STATS_INC(tcp.xmit);\n\n#if LWIP_NETIF_HWADDRHINT\n  ip_output_hinted(seg->p, &(pcb->local_ip), &(pcb->remote_ip), pcb->ttl, pcb->tos,\n      IP_PROTO_TCP, &(pcb->addr_hint));\n#else /* LWIP_NETIF_HWADDRHINT*/\n  ip_output(seg->p, &(pcb->local_ip), &(pcb->remote_ip), pcb->ttl, pcb->tos,\n      IP_PROTO_TCP);\n#endif /* LWIP_NETIF_HWADDRHINT*/\n}\n\n/**\n * Send a TCP RESET packet (empty segment with RST flag set) either to\n * abort a connection or to show that there is no matching local connection\n * for a received segment.\n *\n * Called by tcp_abort() (to abort a local connection), tcp_input() (if no\n * matching local pcb was found), tcp_listen_input() (if incoming segment\n * has ACK flag set) and tcp_process() (received segment in the wrong state)\n *\n * Since a RST segment is in most cases not sent for an active connection,\n * tcp_rst() has a number of arguments that are taken from a tcp_pcb for\n * most other segment output functions.\n *\n * @param seqno the sequence number to use for the outgoing segment\n * @param ackno the acknowledge number to use for the outgoing segment\n * @param local_ip the local IP address to send the segment from\n * @param remote_ip the remote IP address to send the segment to\n * @param local_port the local TCP port to send the segment from\n * @param remote_port the remote TCP port to send the segment to\n */\nvoid\ntcp_rst(u32_t seqno, u32_t ackno,\n  ip_addr_t *local_ip, ip_addr_t *remote_ip,\n  u16_t local_port, u16_t remote_port)\n{\n  struct pbuf *p;\n  struct tcp_hdr *tcphdr;\n  p = pbuf_alloc(PBUF_IP, TCP_HLEN, PBUF_RAM);\n  if (p == NULL) {\n      LWIP_DEBUGF(TCP_DEBUG, (\"tcp_rst: could not allocate memory for pbuf\\n\"));\n      return;\n  }\n  LWIP_ASSERT(\"check that first pbuf can hold struct tcp_hdr\",\n              (p->len >= sizeof(struct tcp_hdr)));\n\n  tcphdr = (struct tcp_hdr *)p->payload;\n  tcphdr->src = htons(local_port);\n  tcphdr->dest = htons(remote_port);\n  tcphdr->seqno = htonl(seqno);\n  tcphdr->ackno = htonl(ackno);\n  TCPH_HDRLEN_FLAGS_SET(tcphdr, TCP_HLEN/4, TCP_RST | TCP_ACK);\n  tcphdr->wnd = PP_HTONS(TCP_WND);\n  tcphdr->chksum = 0;\n  tcphdr->urgp = 0;\n\n#if CHECKSUM_GEN_TCP\n  tcphdr->chksum = inet_chksum_pseudo(p, local_ip, remote_ip,\n              IP_PROTO_TCP, p->tot_len);\n#endif\n  TCP_STATS_INC(tcp.xmit);\n  snmp_inc_tcpoutrsts();\n   /* Send output with hardcoded TTL since we have no access to the pcb */\n  ip_output(p, local_ip, remote_ip, TCP_TTL, 0, IP_PROTO_TCP);\n  pbuf_free(p);\n  LWIP_DEBUGF(TCP_RST_DEBUG, (\"tcp_rst: seqno %\"U32_F\" ackno %\"U32_F\".\\n\", seqno, ackno));\n}\n\n/**\n * Requeue all unacked segments for retransmission\n *\n * Called by tcp_slowtmr() for slow retransmission.\n *\n * @param pcb the tcp_pcb for which to re-enqueue all unacked segments\n */\nvoid\ntcp_rexmit_rto(struct tcp_pcb *pcb)\n{\n  struct tcp_seg *seg;\n\n  if (pcb->unacked == NULL) {\n    return;\n  }\n\n  /* Move all unacked segments to the head of the unsent queue */\n  for (seg = pcb->unacked; seg->next != NULL; seg = seg->next);\n  /* concatenate unsent queue after unacked queue */\n  seg->next = pcb->unsent;\n  /* unsent queue is the concatenated queue (of unacked, unsent) */\n  pcb->unsent = pcb->unacked;\n  /* unacked queue is now empty */\n  pcb->unacked = NULL;\n  /* last unsent hasn't changed, no need to reset unsent_oversize */\n\n  /* increment number of retransmissions */\n  ++pcb->nrtx;\n\n  /* Don't take any RTT measurements after retransmitting. */\n  pcb->rttest = 0;\n\n  /* Do the actual retransmission */\n  tcp_output(pcb);\n}\n\n/**\n * Requeue the first unacked segment for retransmission\n *\n * Called by tcp_receive() for fast retramsmit.\n *\n * @param pcb the tcp_pcb for which to retransmit the first unacked segment\n */\nvoid\ntcp_rexmit(struct tcp_pcb *pcb)\n{\n  struct tcp_seg *seg;\n  struct tcp_seg **cur_seg;\n\n  if (pcb->unacked == NULL) {\n    return;\n  }\n\n  /* Move the first unacked segment to the unsent queue */\n  /* Keep the unsent queue sorted. */\n  seg = pcb->unacked;\n  pcb->unacked = seg->next;\n\n  cur_seg = &(pcb->unsent);\n  while (*cur_seg &&\n    TCP_SEQ_LT(ntohl((*cur_seg)->tcphdr->seqno), ntohl(seg->tcphdr->seqno))) {\n      cur_seg = &((*cur_seg)->next );\n  }\n  seg->next = *cur_seg;\n  *cur_seg = seg;\n#if TCP_OVERSIZE\n  if (seg->next == NULL) {\n    /* the retransmitted segment is last in unsent, so reset unsent_oversize */\n    pcb->unsent_oversize = 0;\n  }\n#endif /* TCP_OVERSIZE */\n\n  ++pcb->nrtx;\n\n  /* Don't take any rtt measurements after retransmitting. */\n  pcb->rttest = 0;\n\n  /* Do the actual retransmission. */\n  snmp_inc_tcpretranssegs();\n  /* No need to call tcp_output: we are always called from tcp_input()\n     and thus tcp_output directly returns. */\n}\n\n\n/**\n * Handle retransmission after three dupacks received\n *\n * @param pcb the tcp_pcb for which to retransmit the first unacked segment\n */\nvoid \ntcp_rexmit_fast(struct tcp_pcb *pcb)\n{\n  if (pcb->unacked != NULL && !(pcb->flags & TF_INFR)) {\n    /* This is fast retransmit. Retransmit the first unacked segment. */\n    LWIP_DEBUGF(TCP_FR_DEBUG, \n                (\"tcp_receive: dupacks %\"U16_F\" (%\"U32_F\n                 \"), fast retransmit %\"U32_F\"\\n\",\n                 (u16_t)pcb->dupacks, pcb->lastack,\n                 ntohl(pcb->unacked->tcphdr->seqno)));\n    tcp_rexmit(pcb);\n\n    /* Set ssthresh to half of the minimum of the current\n     * cwnd and the advertised window */\n    if (pcb->cwnd > pcb->snd_wnd) {\n      pcb->ssthresh = pcb->snd_wnd / 2;\n    } else {\n      pcb->ssthresh = pcb->cwnd / 2;\n    }\n    \n    /* The minimum value for ssthresh should be 2 MSS */\n    if (pcb->ssthresh < 2*pcb->mss) {\n      LWIP_DEBUGF(TCP_FR_DEBUG, \n                  (\"tcp_receive: The minimum value for ssthresh %\"U16_F\n                   \" should be min 2 mss %\"U16_F\"...\\n\",\n                   pcb->ssthresh, 2*pcb->mss));\n      pcb->ssthresh = 2*pcb->mss;\n    }\n    \n    pcb->cwnd = pcb->ssthresh + 3 * pcb->mss;\n    pcb->flags |= TF_INFR;\n  } \n}\n\n\n/**\n * Send keepalive packets to keep a connection active although\n * no data is sent over it.\n *\n * Called by tcp_slowtmr()\n *\n * @param pcb the tcp_pcb for which to send a keepalive packet\n */\nvoid\ntcp_keepalive(struct tcp_pcb *pcb)\n{\n  struct pbuf *p;\n  struct tcp_hdr *tcphdr;\n\n  LWIP_DEBUGF(TCP_DEBUG, (\"tcp_keepalive: sending KEEPALIVE probe to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n                          ip4_addr1_16(&pcb->remote_ip), ip4_addr2_16(&pcb->remote_ip),\n                          ip4_addr3_16(&pcb->remote_ip), ip4_addr4_16(&pcb->remote_ip)));\n\n  LWIP_DEBUGF(TCP_DEBUG, (\"tcp_keepalive: tcp_ticks %\"U32_F\"   pcb->tmr %\"U32_F\" pcb->keep_cnt_sent %\"U16_F\"\\n\", \n                          tcp_ticks, pcb->tmr, pcb->keep_cnt_sent));\n   \n  p = tcp_output_alloc_header(pcb, 0, 0, htonl(pcb->snd_nxt - 1));\n  if(p == NULL) {\n    LWIP_DEBUGF(TCP_DEBUG, \n                (\"tcp_keepalive: could not allocate memory for pbuf\\n\"));\n    return;\n  }\n  tcphdr = (struct tcp_hdr *)p->payload;\n\n#if CHECKSUM_GEN_TCP\n  tcphdr->chksum = inet_chksum_pseudo(p, &pcb->local_ip, &pcb->remote_ip,\n                                      IP_PROTO_TCP, p->tot_len);\n#endif\n  TCP_STATS_INC(tcp.xmit);\n\n  /* Send output to IP */\n#if LWIP_NETIF_HWADDRHINT\n  ip_output_hinted(p, &pcb->local_ip, &pcb->remote_ip, pcb->ttl, 0, IP_PROTO_TCP,\n    &(pcb->addr_hint));\n#else /* LWIP_NETIF_HWADDRHINT*/\n  ip_output(p, &pcb->local_ip, &pcb->remote_ip, pcb->ttl, 0, IP_PROTO_TCP);\n#endif /* LWIP_NETIF_HWADDRHINT*/\n\n  pbuf_free(p);\n\n  LWIP_DEBUGF(TCP_DEBUG, (\"tcp_keepalive: seqno %\"U32_F\" ackno %\"U32_F\".\\n\",\n                          pcb->snd_nxt - 1, pcb->rcv_nxt));\n}\n\n\n/**\n * Send persist timer zero-window probes to keep a connection active\n * when a window update is lost.\n *\n * Called by tcp_slowtmr()\n *\n * @param pcb the tcp_pcb for which to send a zero-window probe packet\n */\nvoid\ntcp_zero_window_probe(struct tcp_pcb *pcb)\n{\n  struct pbuf *p;\n  struct tcp_hdr *tcphdr;\n  struct tcp_seg *seg;\n  u16_t len;\n  u8_t is_fin;\n\n  LWIP_DEBUGF(TCP_DEBUG, \n              (\"tcp_zero_window_probe: sending ZERO WINDOW probe to %\"\n               U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n               ip4_addr1_16(&pcb->remote_ip), ip4_addr2_16(&pcb->remote_ip),\n               ip4_addr3_16(&pcb->remote_ip), ip4_addr4_16(&pcb->remote_ip)));\n\n  LWIP_DEBUGF(TCP_DEBUG, \n              (\"tcp_zero_window_probe: tcp_ticks %\"U32_F\n               \"   pcb->tmr %\"U32_F\" pcb->keep_cnt_sent %\"U16_F\"\\n\", \n               tcp_ticks, pcb->tmr, pcb->keep_cnt_sent));\n\n  seg = pcb->unacked;\n\n  if(seg == NULL) {\n    seg = pcb->unsent;\n  }\n  if(seg == NULL) {\n    return;\n  }\n\n  is_fin = ((TCPH_FLAGS(seg->tcphdr) & TCP_FIN) != 0) && (seg->len == 0);\n  /* we want to send one seqno: either FIN or data (no options) */\n  len = is_fin ? 0 : 1;\n\n  p = tcp_output_alloc_header(pcb, 0, len, seg->tcphdr->seqno);\n  if(p == NULL) {\n    LWIP_DEBUGF(TCP_DEBUG, (\"tcp_zero_window_probe: no memory for pbuf\\n\"));\n    return;\n  }\n  tcphdr = (struct tcp_hdr *)p->payload;\n\n  if (is_fin) {\n    /* FIN segment, no data */\n    TCPH_FLAGS_SET(tcphdr, TCP_ACK | TCP_FIN);\n  } else {\n    /* Data segment, copy in one byte from the head of the unacked queue */\n    char *d = ((char *)p->payload + TCP_HLEN);\n    /* Depending on whether the segment has already been sent (unacked) or not\n       (unsent), seg->p->payload points to the IP header or TCP header.\n       Ensure we copy the first TCP data byte: */\n    pbuf_copy_partial(seg->p, d, 1, seg->p->tot_len - seg->len);\n  }\n\n#if CHECKSUM_GEN_TCP\n  tcphdr->chksum = inet_chksum_pseudo(p, &pcb->local_ip, &pcb->remote_ip,\n                                      IP_PROTO_TCP, p->tot_len);\n#endif\n  TCP_STATS_INC(tcp.xmit);\n\n  /* Send output to IP */\n#if LWIP_NETIF_HWADDRHINT\n  ip_output_hinted(p, &pcb->local_ip, &pcb->remote_ip, pcb->ttl, 0, IP_PROTO_TCP,\n    &(pcb->addr_hint));\n#else /* LWIP_NETIF_HWADDRHINT*/\n  ip_output(p, &pcb->local_ip, &pcb->remote_ip, pcb->ttl, 0, IP_PROTO_TCP);\n#endif /* LWIP_NETIF_HWADDRHINT*/\n\n  pbuf_free(p);\n\n  LWIP_DEBUGF(TCP_DEBUG, (\"tcp_zero_window_probe: seqno %\"U32_F\n                          \" ackno %\"U32_F\".\\n\",\n                          pcb->snd_nxt - 1, pcb->rcv_nxt));\n}\n#endif /* LWIP_TCP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/timers.c",
    "content": "/**\n * @file\n * Stack-internal timers implementation.\n * This file includes timer callbacks for stack-internal timers as well as\n * functions to set up or stop timers and check for expired timers.\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *         Simon Goldschmidt\n *\n */\n\n#include \"lwip/opt.h\"\n\n#include \"lwip/timers.h\"\n#include \"lwip/tcp_impl.h\"\n\n#if LWIP_TIMERS\n\n#include \"lwip/def.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/tcpip.h\"\n\n#include \"lwip/ip_frag.h\"\n#include \"netif/etharp.h\"\n#include \"lwip/dhcp.h\"\n#include \"lwip/autoip.h\"\n#include \"lwip/igmp.h\"\n#include \"lwip/dns.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/pbuf.h\"\n\n\n/** The one and only timeout list */\nstatic struct sys_timeo *next_timeout;\n#if NO_SYS\nstatic u32_t timeouts_last_time;\n#endif /* NO_SYS */\n\n#if LWIP_TCP\n/** global variable that shows if the tcp timer is currently scheduled or not */\nstatic int tcpip_tcp_timer_active;\n\n/**\n * Timer callback function that calls tcp_tmr() and reschedules itself.\n *\n * @param arg unused argument\n */\nstatic void\ntcpip_tcp_timer(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n\n  /* call TCP timer handler */\n  tcp_tmr();\n  /* timer still needed? */\n  if (tcp_active_pcbs || tcp_tw_pcbs) {\n    /* restart timer */\n    sys_timeout(TCP_TMR_INTERVAL, tcpip_tcp_timer, NULL);\n  } else {\n    /* disable timer */\n    tcpip_tcp_timer_active = 0;\n  }\n}\n\n/**\n * Called from TCP_REG when registering a new PCB:\n * the reason is to have the TCP timer only running when\n * there are active (or time-wait) PCBs.\n */\nvoid\ntcp_timer_needed(void)\n{\n  /* timer is off but needed again? */\n  if (!tcpip_tcp_timer_active && (tcp_active_pcbs || tcp_tw_pcbs)) {\n    /* enable and start timer */\n    tcpip_tcp_timer_active = 1;\n    sys_timeout(TCP_TMR_INTERVAL, tcpip_tcp_timer, NULL);\n  }\n}\n#endif /* LWIP_TCP */\n\n#if IP_REASSEMBLY\n/**\n * Timer callback function that calls ip_reass_tmr() and reschedules itself.\n *\n * @param arg unused argument\n */\nstatic void\nip_reass_timer(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n  LWIP_DEBUGF(TIMERS_DEBUG, (\"tcpip: ip_reass_tmr()\\n\"));\n  ip_reass_tmr();\n  sys_timeout(IP_TMR_INTERVAL, ip_reass_timer, NULL);\n}\n#endif /* IP_REASSEMBLY */\n\n#if LWIP_ARP\n/**\n * Timer callback function that calls etharp_tmr() and reschedules itself.\n *\n * @param arg unused argument\n */\nstatic void\narp_timer(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n  LWIP_DEBUGF(TIMERS_DEBUG, (\"tcpip: etharp_tmr()\\n\"));\n  etharp_tmr();\n  sys_timeout(ARP_TMR_INTERVAL, arp_timer, NULL);\n}\n#endif /* LWIP_ARP */\n\n#if LWIP_DHCP\n/**\n * Timer callback function that calls dhcp_coarse_tmr() and reschedules itself.\n *\n * @param arg unused argument\n */\nstatic void\ndhcp_timer_coarse(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n  LWIP_DEBUGF(TIMERS_DEBUG, (\"tcpip: dhcp_coarse_tmr()\\n\"));\n  dhcp_coarse_tmr();\n  sys_timeout(DHCP_COARSE_TIMER_MSECS, dhcp_timer_coarse, NULL);\n}\n\n/**\n * Timer callback function that calls dhcp_fine_tmr() and reschedules itself.\n *\n * @param arg unused argument\n */\nstatic void\ndhcp_timer_fine(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n  LWIP_DEBUGF(TIMERS_DEBUG, (\"tcpip: dhcp_fine_tmr()\\n\"));\n  dhcp_fine_tmr();\n  sys_timeout(DHCP_FINE_TIMER_MSECS, dhcp_timer_fine, NULL);\n}\n#endif /* LWIP_DHCP */\n\n#if LWIP_AUTOIP\n/**\n * Timer callback function that calls autoip_tmr() and reschedules itself.\n *\n * @param arg unused argument\n */\nstatic void\nautoip_timer(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n  LWIP_DEBUGF(TIMERS_DEBUG, (\"tcpip: autoip_tmr()\\n\"));\n  autoip_tmr();\n  sys_timeout(AUTOIP_TMR_INTERVAL, autoip_timer, NULL);\n}\n#endif /* LWIP_AUTOIP */\n\n#if LWIP_IGMP\n/**\n * Timer callback function that calls igmp_tmr() and reschedules itself.\n *\n * @param arg unused argument\n */\nstatic void\nigmp_timer(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n  LWIP_DEBUGF(TIMERS_DEBUG, (\"tcpip: igmp_tmr()\\n\"));\n  igmp_tmr();\n  sys_timeout(IGMP_TMR_INTERVAL, igmp_timer, NULL);\n}\n#endif /* LWIP_IGMP */\n\n#if LWIP_DNS\n/**\n * Timer callback function that calls dns_tmr() and reschedules itself.\n *\n * @param arg unused argument\n */\nstatic void\ndns_timer(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n  LWIP_DEBUGF(TIMERS_DEBUG, (\"tcpip: dns_tmr()\\n\"));\n  dns_tmr();\n  sys_timeout(DNS_TMR_INTERVAL, dns_timer, NULL);\n}\n#endif /* LWIP_DNS */\n\n/** Initialize this module */\nvoid sys_timeouts_init(void)\n{\n#if IP_REASSEMBLY\n  sys_timeout(IP_TMR_INTERVAL, ip_reass_timer, NULL);\n#endif /* IP_REASSEMBLY */\n#if LWIP_ARP\n  sys_timeout(ARP_TMR_INTERVAL, arp_timer, NULL);\n#endif /* LWIP_ARP */\n#if LWIP_DHCP\n  sys_timeout(DHCP_COARSE_TIMER_MSECS, dhcp_timer_coarse, NULL);\n  sys_timeout(DHCP_FINE_TIMER_MSECS, dhcp_timer_fine, NULL);\n#endif /* LWIP_DHCP */\n#if LWIP_AUTOIP\n  sys_timeout(AUTOIP_TMR_INTERVAL, autoip_timer, NULL);\n#endif /* LWIP_AUTOIP */\n#if LWIP_IGMP\n  sys_timeout(IGMP_TMR_INTERVAL, igmp_timer, NULL);\n#endif /* LWIP_IGMP */\n#if LWIP_DNS\n  sys_timeout(DNS_TMR_INTERVAL, dns_timer, NULL);\n#endif /* LWIP_DNS */\n\n#if NO_SYS\n  /* Initialise timestamp for sys_check_timeouts */\n  timeouts_last_time = sys_now();\n#endif\n}\n\n/**\n * Create a one-shot timer (aka timeout). Timeouts are processed in the\n * following cases:\n * - while waiting for a message using sys_timeouts_mbox_fetch()\n * - by calling sys_check_timeouts() (NO_SYS==1 only)\n *\n * @param msecs time in milliseconds after that the timer should expire\n * @param handler callback function to call when msecs have elapsed\n * @param arg argument to pass to the callback function\n */\n#if LWIP_DEBUG_TIMERNAMES\nvoid\nsys_timeout_debug(u32_t msecs, sys_timeout_handler handler, void *arg, const char* handler_name)\n#else /* LWIP_DEBUG_TIMERNAMES */\nvoid\nsys_timeout(u32_t msecs, sys_timeout_handler handler, void *arg)\n#endif /* LWIP_DEBUG_TIMERNAMES */\n{\n  struct sys_timeo *timeout, *t;\n\n  timeout = (struct sys_timeo *)memp_malloc(MEMP_SYS_TIMEOUT);\n  if (timeout == NULL) {\n    LWIP_ASSERT(\"sys_timeout: timeout != NULL, pool MEMP_SYS_TIMEOUT is empty\", timeout != NULL);\n    return;\n  }\n  timeout->next = NULL;\n  timeout->h = handler;\n  timeout->arg = arg;\n  timeout->time = msecs;\n#if LWIP_DEBUG_TIMERNAMES\n  timeout->handler_name = handler_name;\n  LWIP_DEBUGF(TIMERS_DEBUG, (\"sys_timeout: %p msecs=%\"U32_F\" handler=%s arg=%p\\n\",\n    (void *)timeout, msecs, handler_name, (void *)arg));\n#endif /* LWIP_DEBUG_TIMERNAMES */\n\n  if (next_timeout == NULL) {\n    next_timeout = timeout;\n    return;\n  }\n\n  if (next_timeout->time > msecs) {\n    next_timeout->time -= msecs;\n    timeout->next = next_timeout;\n    next_timeout = timeout;\n  } else {\n    for(t = next_timeout; t != NULL; t = t->next) {\n      timeout->time -= t->time;\n      if (t->next == NULL || t->next->time > timeout->time) {\n        if (t->next != NULL) {\n          t->next->time -= timeout->time;\n        }\n        timeout->next = t->next;\n        t->next = timeout;\n        break;\n      }\n    }\n  }\n}\n\n/**\n * Go through timeout list (for this task only) and remove the first matching\n * entry, even though the timeout has not triggered yet.\n *\n * @note This function only works as expected if there is only one timeout\n * calling 'handler' in the list of timeouts.\n *\n * @param handler callback function that would be called by the timeout\n * @param arg callback argument that would be passed to handler\n*/\nvoid\nsys_untimeout(sys_timeout_handler handler, void *arg)\n{\n  struct sys_timeo *prev_t, *t;\n\n  if (next_timeout == NULL) {\n    return;\n  }\n\n  for (t = next_timeout, prev_t = NULL; t != NULL; prev_t = t, t = t->next) {\n    if ((t->h == handler) && (t->arg == arg)) {\n      /* We have a match */\n      /* Unlink from previous in list */\n      if (prev_t == NULL) {\n        next_timeout = t->next;\n      } else {\n        prev_t->next = t->next;\n      }\n      /* If not the last one, add time of this one back to next */\n      if (t->next != NULL) {\n        t->next->time += t->time;\n      }\n      memp_free(MEMP_SYS_TIMEOUT, t);\n      return;\n    }\n  }\n  return;\n}\n\n#if NO_SYS\n\n/** Handle timeouts for NO_SYS==1 (i.e. without using\n * tcpip_thread/sys_timeouts_mbox_fetch(). Uses sys_now() to call timeout\n * handler functions when timeouts expire.\n *\n * Must be called periodically from your main loop.\n */\nvoid\nsys_check_timeouts(void)\n{\n  if (next_timeout) {\n    struct sys_timeo *tmptimeout;\n    u32_t diff;\n    sys_timeout_handler handler;\n    void *arg;\n    u8_t had_one;\n    u32_t now;\n\n    now = sys_now();\n    /* this cares for wraparounds */\n    diff = now - timeouts_last_time;\n    do\n    {\n#if PBUF_POOL_FREE_OOSEQ\n      PBUF_CHECK_FREE_OOSEQ();\n#endif /* PBUF_POOL_FREE_OOSEQ */\n      had_one = 0;\n      tmptimeout = next_timeout;\n      if (tmptimeout && (tmptimeout->time <= diff)) {\n        /* timeout has expired */\n        had_one = 1;\n        timeouts_last_time = now;\n        diff -= tmptimeout->time;\n        next_timeout = tmptimeout->next;\n        handler = tmptimeout->h;\n        arg = tmptimeout->arg;\n#if LWIP_DEBUG_TIMERNAMES\n        if (handler != NULL) {\n          LWIP_DEBUGF(TIMERS_DEBUG, (\"sct calling h=%s arg=%p\\n\",\n            tmptimeout->handler_name, arg));\n        }\n#endif /* LWIP_DEBUG_TIMERNAMES */\n        memp_free(MEMP_SYS_TIMEOUT, tmptimeout);\n        if (handler != NULL) {\n          handler(arg);\n        }\n      }\n    /* repeat until all expired timers have been called */\n    }while(had_one);\n  }\n}\n\n/** Set back the timestamp of the last call to sys_check_timeouts()\n * This is necessary if sys_check_timeouts() hasn't been called for a long\n * time (e.g. while saving energy) to prevent all timer functions of that\n * period being called.\n */\nvoid\nsys_restart_timeouts(void)\n{\n  timeouts_last_time = sys_now();\n}\n\n#else /* NO_SYS */\n\n/**\n * Wait (forever) for a message to arrive in an mbox.\n * While waiting, timeouts are processed.\n *\n * @param mbox the mbox to fetch the message from\n * @param msg the place to store the message\n */\nvoid\nsys_timeouts_mbox_fetch(sys_mbox_t *mbox, void **msg)\n{\n  u32_t time_needed;\n  struct sys_timeo *tmptimeout;\n  sys_timeout_handler handler;\n  void *arg;\n\n again:\n  if (!next_timeout) {\n    time_needed = sys_arch_mbox_fetch(mbox, msg, 0);\n  } else {\n    if (next_timeout->time > 0) {\n      time_needed = sys_arch_mbox_fetch(mbox, msg, next_timeout->time);\n    } else {\n      time_needed = SYS_ARCH_TIMEOUT;\n    }\n\n    if (time_needed == SYS_ARCH_TIMEOUT) {\n      /* If time == SYS_ARCH_TIMEOUT, a timeout occured before a message\n         could be fetched. We should now call the timeout handler and\n         deallocate the memory allocated for the timeout. */\n      tmptimeout = next_timeout;\n      next_timeout = tmptimeout->next;\n      handler = tmptimeout->h;\n      arg = tmptimeout->arg;\n#if LWIP_DEBUG_TIMERNAMES\n      if (handler != NULL) {\n        LWIP_DEBUGF(TIMERS_DEBUG, (\"stmf calling h=%s arg=%p\\n\",\n          tmptimeout->handler_name, arg));\n      }\n#endif /* LWIP_DEBUG_TIMERNAMES */\n      memp_free(MEMP_SYS_TIMEOUT, tmptimeout);\n      if (handler != NULL) {\n        /* For LWIP_TCPIP_CORE_LOCKING, lock the core before calling the\n           timeout handler function. */\n        LOCK_TCPIP_CORE();\n        handler(arg);\n        UNLOCK_TCPIP_CORE();\n      }\n      LWIP_TCPIP_THREAD_ALIVE();\n\n      /* We try again to fetch a message from the mbox. */\n      goto again;\n    } else {\n      /* If time != SYS_ARCH_TIMEOUT, a message was received before the timeout\n         occured. The time variable is set to the number of\n         milliseconds we waited for the message. */\n      if (time_needed < next_timeout->time) {\n        next_timeout->time -= time_needed;\n      } else {\n        next_timeout->time = 0;\n      }\n    }\n  }\n}\n\n#endif /* NO_SYS */\n\n#else /* LWIP_TIMERS */\n/* Satisfy the TCP code which calls this function */\nvoid\ntcp_timer_needed(void)\n{\n}\n#endif /* LWIP_TIMERS */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/core/udp.c",
    "content": "/**\n * @file\n * User Datagram Protocol module\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n\n/* udp.c\n *\n * The code for the User Datagram Protocol UDP & UDPLite (RFC 3828).\n *\n */\n\n/* @todo Check the use of '(struct udp_pcb).chksum_len_rx'!\n */\n\n#include \"lwip/opt.h\"\n\n#if LWIP_UDP /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/udp.h\"\n#include \"lwip/def.h\"\n#include \"lwip/memp.h\"\n#include \"lwip/inet_chksum.h\"\n#include \"lwip/ip_addr.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/icmp.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/snmp.h\"\n#include \"arch/perf.h\"\n#include \"lwip/dhcp.h\"\n\n#include <string.h>\n\n#ifndef UDP_LOCAL_PORT_RANGE_START\n/* From http://www.iana.org/assignments/port-numbers:\n   \"The Dynamic and/or Private Ports are those from 49152 through 65535\" */\n#define UDP_LOCAL_PORT_RANGE_START  0xc000\n#define UDP_LOCAL_PORT_RANGE_END    0xffff\n#define UDP_ENSURE_LOCAL_PORT_RANGE(port) (((port) & ~UDP_LOCAL_PORT_RANGE_START) + UDP_LOCAL_PORT_RANGE_START)\n#endif\n\n/* last local UDP port */\nstatic u16_t udp_port = UDP_LOCAL_PORT_RANGE_START;\n\n/* The list of UDP PCBs */\n/* exported in udp.h (was static) */\nstruct udp_pcb *udp_pcbs;\n\n/**\n * Initialize this module.\n */\nvoid\nudp_init(void)\n{\n#if LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS && defined(LWIP_RAND)\n  udp_port = UDP_ENSURE_LOCAL_PORT_RANGE(LWIP_RAND());\n#endif /* LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS && defined(LWIP_RAND) */\n}\n\n/**\n * Allocate a new local UDP port.\n *\n * @return a new (free) local UDP port number\n */\nstatic u16_t\nudp_new_port(void)\n{\n  u16_t n = 0;\n  struct udp_pcb *pcb;\n  \nagain:\n  if (udp_port++ == UDP_LOCAL_PORT_RANGE_END) {\n    udp_port = UDP_LOCAL_PORT_RANGE_START;\n  }\n  /* Check all PCBs. */\n  for(pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) {\n    if (pcb->local_port == udp_port) {\n      if (++n > (UDP_LOCAL_PORT_RANGE_END - UDP_LOCAL_PORT_RANGE_START)) {\n        return 0;\n      }\n      goto again;\n    }\n  }\n  return udp_port;\n#if 0\n  struct udp_pcb *ipcb = udp_pcbs;\n  while ((ipcb != NULL) && (udp_port != UDP_LOCAL_PORT_RANGE_END)) {\n    if (ipcb->local_port == udp_port) {\n      /* port is already used by another udp_pcb */\n      udp_port++;\n      /* restart scanning all udp pcbs */\n      ipcb = udp_pcbs;\n    } else {\n      /* go on with next udp pcb */\n      ipcb = ipcb->next;\n    }\n  }\n  if (ipcb != NULL) {\n    return 0;\n  }\n  return udp_port;\n#endif\n}\n\n/**\n * Process an incoming UDP datagram.\n *\n * Given an incoming UDP datagram (as a chain of pbufs) this function\n * finds a corresponding UDP PCB and hands over the pbuf to the pcbs\n * recv function. If no pcb is found or the datagram is incorrect, the\n * pbuf is freed.\n *\n * @param p pbuf to be demultiplexed to a UDP PCB.\n * @param inp network interface on which the datagram was received.\n *\n */\nvoid\nudp_input(struct pbuf *p, struct netif *inp)\n{\n  struct udp_hdr *udphdr;\n  struct udp_pcb *pcb, *prev;\n  struct udp_pcb *uncon_pcb;\n  struct ip_hdr *iphdr;\n  u16_t src, dest;\n  u8_t local_match;\n  u8_t broadcast;\n\n  PERF_START;\n\n  UDP_STATS_INC(udp.recv);\n\n  iphdr = (struct ip_hdr *)p->payload;\n\n  /* Check minimum length (IP header + UDP header)\n   * and move payload pointer to UDP header */\n  if (p->tot_len < (IPH_HL(iphdr) * 4 + UDP_HLEN) || pbuf_header(p, -(s16_t)(IPH_HL(iphdr) * 4))) {\n    /* drop short packets */\n    LWIP_DEBUGF(UDP_DEBUG,\n                (\"udp_input: short UDP datagram (%\"U16_F\" bytes) discarded\\n\", p->tot_len));\n    UDP_STATS_INC(udp.lenerr);\n    UDP_STATS_INC(udp.drop);\n    snmp_inc_udpinerrors();\n    pbuf_free(p);\n    goto end;\n  }\n\n  udphdr = (struct udp_hdr *)p->payload;\n\n  /* is broadcast packet ? */\n  broadcast = ip_addr_isbroadcast(&current_iphdr_dest, inp);\n\n  LWIP_DEBUGF(UDP_DEBUG, (\"udp_input: received datagram of length %\"U16_F\"\\n\", p->tot_len));\n\n  /* convert src and dest ports to host byte order */\n  src = ntohs(udphdr->src);\n  dest = ntohs(udphdr->dest);\n\n  udp_debug_print(udphdr);\n\n  /* print the UDP source and destination */\n  LWIP_DEBUGF(UDP_DEBUG,\n              (\"udp (%\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\", %\"U16_F\") <-- \"\n               \"(%\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\", %\"U16_F\")\\n\",\n               ip4_addr1_16(&iphdr->dest), ip4_addr2_16(&iphdr->dest),\n               ip4_addr3_16(&iphdr->dest), ip4_addr4_16(&iphdr->dest), ntohs(udphdr->dest),\n               ip4_addr1_16(&iphdr->src), ip4_addr2_16(&iphdr->src),\n               ip4_addr3_16(&iphdr->src), ip4_addr4_16(&iphdr->src), ntohs(udphdr->src)));\n\n#if LWIP_DHCP\n  pcb = NULL;\n  /* when LWIP_DHCP is active, packets to DHCP_CLIENT_PORT may only be processed by\n     the dhcp module, no other UDP pcb may use the local UDP port DHCP_CLIENT_PORT */\n  if (dest == DHCP_CLIENT_PORT) {\n    /* all packets for DHCP_CLIENT_PORT not coming from DHCP_SERVER_PORT are dropped! */\n    if (src == DHCP_SERVER_PORT) {\n      if ((inp->dhcp != NULL) && (inp->dhcp->pcb != NULL)) {\n        /* accept the packe if \n           (- broadcast or directed to us) -> DHCP is link-layer-addressed, local ip is always ANY!\n           - inp->dhcp->pcb->remote == ANY or iphdr->src */\n        if ((ip_addr_isany(&inp->dhcp->pcb->remote_ip) ||\n           ip_addr_cmp(&(inp->dhcp->pcb->remote_ip), &current_iphdr_src))) {\n          pcb = inp->dhcp->pcb;\n        }\n      }\n    }\n  } else\n#endif /* LWIP_DHCP */\n  {\n    prev = NULL;\n    local_match = 0;\n    uncon_pcb = NULL;\n    /* Iterate through the UDP pcb list for a matching pcb.\n     * 'Perfect match' pcbs (connected to the remote port & ip address) are\n     * preferred. If no perfect match is found, the first unconnected pcb that\n     * matches the local port and ip address gets the datagram. */\n    for (pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) {\n      local_match = 0;\n      /* print the PCB local and remote address */\n      LWIP_DEBUGF(UDP_DEBUG,\n                  (\"pcb (%\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\", %\"U16_F\") --- \"\n                   \"(%\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\", %\"U16_F\")\\n\",\n                   ip4_addr1_16(&pcb->local_ip), ip4_addr2_16(&pcb->local_ip),\n                   ip4_addr3_16(&pcb->local_ip), ip4_addr4_16(&pcb->local_ip), pcb->local_port,\n                   ip4_addr1_16(&pcb->remote_ip), ip4_addr2_16(&pcb->remote_ip),\n                   ip4_addr3_16(&pcb->remote_ip), ip4_addr4_16(&pcb->remote_ip), pcb->remote_port));\n\n      /* compare PCB local addr+port to UDP destination addr+port */\n      if (pcb->local_port == dest) {\n        if (\n           (!broadcast && ip_addr_isany(&pcb->local_ip)) ||\n           ip_addr_cmp(&(pcb->local_ip), &current_iphdr_dest) ||\n#if LWIP_IGMP\n           ip_addr_ismulticast(&current_iphdr_dest) ||\n#endif /* LWIP_IGMP */\n#if IP_SOF_BROADCAST_RECV\n            (broadcast && ip_get_option(pcb, SOF_BROADCAST) &&\n             (ip_addr_isany(&pcb->local_ip) ||\n              ip_addr_netcmp(&pcb->local_ip, ip_current_dest_addr(), &inp->netmask)))) {\n#else /* IP_SOF_BROADCAST_RECV */\n            (broadcast &&\n             (ip_addr_isany(&pcb->local_ip) ||\n              ip_addr_netcmp(&pcb->local_ip, ip_current_dest_addr(), &inp->netmask)))) {\n#endif /* IP_SOF_BROADCAST_RECV */ \n          local_match = 1;\n          if ((uncon_pcb == NULL) && \n              ((pcb->flags & UDP_FLAGS_CONNECTED) == 0)) {\n            /* the first unconnected matching PCB */\n            uncon_pcb = pcb;\n          }\n        }\n      }\n      /* compare PCB remote addr+port to UDP source addr+port */\n      if ((local_match != 0) &&\n          (pcb->remote_port == src) &&\n          (ip_addr_isany(&pcb->remote_ip) ||\n           ip_addr_cmp(&(pcb->remote_ip), &current_iphdr_src))) {\n        /* the first fully matching PCB */\n        if (prev != NULL) {\n          /* move the pcb to the front of udp_pcbs so that is\n             found faster next time */\n          prev->next = pcb->next;\n          pcb->next = udp_pcbs;\n          udp_pcbs = pcb;\n        } else {\n          UDP_STATS_INC(udp.cachehit);\n        }\n        break;\n      }\n      prev = pcb;\n    }\n    /* no fully matching pcb found? then look for an unconnected pcb */\n    if (pcb == NULL) {\n      pcb = uncon_pcb;\n    }\n  }\n\n  /* Check checksum if this is a match or if it was directed at us. */\n  if (pcb != NULL || ip_addr_cmp(&inp->ip_addr, &current_iphdr_dest)) {\n    LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, (\"udp_input: calculating checksum\\n\"));\n#if LWIP_UDPLITE\n    if (IPH_PROTO(iphdr) == IP_PROTO_UDPLITE) {\n      /* Do the UDP Lite checksum */\n#if CHECKSUM_CHECK_UDP\n      u16_t chklen = ntohs(udphdr->len);\n      if (chklen < sizeof(struct udp_hdr)) {\n        if (chklen == 0) {\n          /* For UDP-Lite, checksum length of 0 means checksum\n             over the complete packet (See RFC 3828 chap. 3.1) */\n          chklen = p->tot_len;\n        } else {\n          /* At least the UDP-Lite header must be covered by the\n             checksum! (Again, see RFC 3828 chap. 3.1) */\n          UDP_STATS_INC(udp.chkerr);\n          UDP_STATS_INC(udp.drop);\n          snmp_inc_udpinerrors();\n          pbuf_free(p);\n          goto end;\n        }\n      }\n      if (inet_chksum_pseudo_partial(p, &current_iphdr_src, &current_iphdr_dest,\n                             IP_PROTO_UDPLITE, p->tot_len, chklen) != 0) {\n       LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_LEVEL_SERIOUS,\n                   (\"udp_input: UDP Lite datagram discarded due to failing checksum\\n\"));\n        UDP_STATS_INC(udp.chkerr);\n        UDP_STATS_INC(udp.drop);\n        snmp_inc_udpinerrors();\n        pbuf_free(p);\n        goto end;\n      }\n#endif /* CHECKSUM_CHECK_UDP */\n    } else\n#endif /* LWIP_UDPLITE */\n    {\n#if CHECKSUM_CHECK_UDP\n      if (udphdr->chksum != 0) {\n        if (inet_chksum_pseudo(p, ip_current_src_addr(), ip_current_dest_addr(),\n                               IP_PROTO_UDP, p->tot_len) != 0) {\n          LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_LEVEL_SERIOUS,\n                      (\"udp_input: UDP datagram discarded due to failing checksum\\n\"));\n          UDP_STATS_INC(udp.chkerr);\n          UDP_STATS_INC(udp.drop);\n          snmp_inc_udpinerrors();\n          pbuf_free(p);\n          goto end;\n        }\n      }\n#endif /* CHECKSUM_CHECK_UDP */\n    }\n    if(pbuf_header(p, -UDP_HLEN)) {\n      /* Can we cope with this failing? Just assert for now */\n      LWIP_ASSERT(\"pbuf_header failed\\n\", 0);\n      UDP_STATS_INC(udp.drop);\n      snmp_inc_udpinerrors();\n      pbuf_free(p);\n      goto end;\n    }\n    if (pcb != NULL) {\n      snmp_inc_udpindatagrams();\n#if SO_REUSE && SO_REUSE_RXTOALL\n      if ((broadcast || ip_addr_ismulticast(&current_iphdr_dest)) &&\n          ip_get_option(pcb, SOF_REUSEADDR)) {\n        /* pass broadcast- or multicast packets to all multicast pcbs\n           if SOF_REUSEADDR is set on the first match */\n        struct udp_pcb *mpcb;\n        u8_t p_header_changed = 0;\n        for (mpcb = udp_pcbs; mpcb != NULL; mpcb = mpcb->next) {\n          if (mpcb != pcb) {\n            /* compare PCB local addr+port to UDP destination addr+port */\n            if ((mpcb->local_port == dest) &&\n                ((!broadcast && ip_addr_isany(&mpcb->local_ip)) ||\n                 ip_addr_cmp(&(mpcb->local_ip), &current_iphdr_dest) ||\n#if LWIP_IGMP\n                 ip_addr_ismulticast(&current_iphdr_dest) ||\n#endif /* LWIP_IGMP */\n#if IP_SOF_BROADCAST_RECV\n                 (broadcast && ip_get_option(mpcb, SOF_BROADCAST)))) {\n#else  /* IP_SOF_BROADCAST_RECV */\n                 (broadcast))) {\n#endif /* IP_SOF_BROADCAST_RECV */\n              /* pass a copy of the packet to all local matches */\n              if (mpcb->recv != NULL) {\n                struct pbuf *q;\n                /* for that, move payload to IP header again */\n                if (p_header_changed == 0) {\n                  pbuf_header(p, (s16_t)((IPH_HL(iphdr) * 4) + UDP_HLEN));\n                  p_header_changed = 1;\n                }\n                q = pbuf_alloc(PBUF_RAW, p->tot_len, PBUF_RAM);\n                if (q != NULL) {\n                  err_t err = pbuf_copy(q, p);\n                  if (err == ERR_OK) {\n                    /* move payload to UDP data */\n                    pbuf_header(q, -(s16_t)((IPH_HL(iphdr) * 4) + UDP_HLEN));\n                    mpcb->recv(mpcb->recv_arg, mpcb, q, ip_current_src_addr(), src);\n                  }\n                }\n              }\n            }\n          }\n        }\n        if (p_header_changed) {\n          /* and move payload to UDP data again */\n          pbuf_header(p, -(s16_t)((IPH_HL(iphdr) * 4) + UDP_HLEN));\n        }\n      }\n#endif /* SO_REUSE && SO_REUSE_RXTOALL */\n      /* callback */\n      if (pcb->recv != NULL) {\n        /* now the recv function is responsible for freeing p */\n        pcb->recv(pcb->recv_arg, pcb, p, ip_current_src_addr(), src);\n      } else {\n        /* no recv function registered? then we have to free the pbuf! */\n        pbuf_free(p);\n        goto end;\n      }\n    } else {\n      LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, (\"udp_input: not for us.\\n\"));\n\n#if LWIP_ICMP\n      /* No match was found, send ICMP destination port unreachable unless\n         destination address was broadcast/multicast. */\n      if (!broadcast &&\n          !ip_addr_ismulticast(&current_iphdr_dest)) {\n        /* move payload pointer back to ip header */\n        pbuf_header(p, (IPH_HL(iphdr) * 4) + UDP_HLEN);\n        LWIP_ASSERT(\"p->payload == iphdr\", (p->payload == iphdr));\n        icmp_dest_unreach(p, ICMP_DUR_PORT);\n      }\n#endif /* LWIP_ICMP */\n      UDP_STATS_INC(udp.proterr);\n      UDP_STATS_INC(udp.drop);\n      snmp_inc_udpnoports();\n      pbuf_free(p);\n    }\n  } else {\n    pbuf_free(p);\n  }\nend:\n  PERF_STOP(\"udp_input\");\n}\n\n/**\n * Send data using UDP.\n *\n * @param pcb UDP PCB used to send the data.\n * @param p chain of pbuf's to be sent.\n *\n * The datagram will be sent to the current remote_ip & remote_port\n * stored in pcb. If the pcb is not bound to a port, it will\n * automatically be bound to a random port.\n *\n * @return lwIP error code.\n * - ERR_OK. Successful. No error occured.\n * - ERR_MEM. Out of memory.\n * - ERR_RTE. Could not find route to destination address.\n * - More errors could be returned by lower protocol layers.\n *\n * @see udp_disconnect() udp_sendto()\n */\nerr_t\nudp_send(struct udp_pcb *pcb, struct pbuf *p)\n{\n  /* send to the packet using remote ip and port stored in the pcb */\n  return udp_sendto(pcb, p, &pcb->remote_ip, pcb->remote_port);\n}\n\n#if LWIP_CHECKSUM_ON_COPY\n/** Same as udp_send() but with checksum\n */\nerr_t\nudp_send_chksum(struct udp_pcb *pcb, struct pbuf *p,\n                u8_t have_chksum, u16_t chksum)\n{\n  /* send to the packet using remote ip and port stored in the pcb */\n  return udp_sendto_chksum(pcb, p, &pcb->remote_ip, pcb->remote_port,\n    have_chksum, chksum);\n}\n#endif /* LWIP_CHECKSUM_ON_COPY */\n\n/**\n * Send data to a specified address using UDP.\n *\n * @param pcb UDP PCB used to send the data.\n * @param p chain of pbuf's to be sent.\n * @param dst_ip Destination IP address.\n * @param dst_port Destination UDP port.\n *\n * dst_ip & dst_port are expected to be in the same byte order as in the pcb.\n *\n * If the PCB already has a remote address association, it will\n * be restored after the data is sent.\n * \n * @return lwIP error code (@see udp_send for possible error codes)\n *\n * @see udp_disconnect() udp_send()\n */\nerr_t\nudp_sendto(struct udp_pcb *pcb, struct pbuf *p,\n  ip_addr_t *dst_ip, u16_t dst_port)\n{\n#if LWIP_CHECKSUM_ON_COPY\n  return udp_sendto_chksum(pcb, p, dst_ip, dst_port, 0, 0);\n}\n\n/** Same as udp_sendto(), but with checksum */\nerr_t\nudp_sendto_chksum(struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *dst_ip,\n                  u16_t dst_port, u8_t have_chksum, u16_t chksum)\n{\n#endif /* LWIP_CHECKSUM_ON_COPY */\n  struct netif *netif;\n\n  LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, (\"udp_send\\n\"));\n\n  /* find the outgoing network interface for this packet */\n#if LWIP_IGMP\n  netif = ip_route((ip_addr_ismulticast(dst_ip))?(&(pcb->multicast_ip)):(dst_ip));\n#else\n  netif = ip_route(dst_ip);\n#endif /* LWIP_IGMP */\n\n  /* no outgoing network interface could be found? */\n  if (netif == NULL) {\n    LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_LEVEL_SERIOUS, (\"udp_send: No route to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n      ip4_addr1_16(dst_ip), ip4_addr2_16(dst_ip), ip4_addr3_16(dst_ip), ip4_addr4_16(dst_ip)));\n    UDP_STATS_INC(udp.rterr);\n    return ERR_RTE;\n  }\n#if LWIP_CHECKSUM_ON_COPY\n  return udp_sendto_if_chksum(pcb, p, dst_ip, dst_port, netif, have_chksum, chksum);\n#else /* LWIP_CHECKSUM_ON_COPY */\n  return udp_sendto_if(pcb, p, dst_ip, dst_port, netif);\n#endif /* LWIP_CHECKSUM_ON_COPY */\n}\n\n/**\n * Send data to a specified address using UDP.\n * The netif used for sending can be specified.\n *\n * This function exists mainly for DHCP, to be able to send UDP packets\n * on a netif that is still down.\n *\n * @param pcb UDP PCB used to send the data.\n * @param p chain of pbuf's to be sent.\n * @param dst_ip Destination IP address.\n * @param dst_port Destination UDP port.\n * @param netif the netif used for sending.\n *\n * dst_ip & dst_port are expected to be in the same byte order as in the pcb.\n *\n * @return lwIP error code (@see udp_send for possible error codes)\n *\n * @see udp_disconnect() udp_send()\n */\nerr_t\nudp_sendto_if(struct udp_pcb *pcb, struct pbuf *p,\n  ip_addr_t *dst_ip, u16_t dst_port, struct netif *netif)\n{\n#if LWIP_CHECKSUM_ON_COPY\n  return udp_sendto_if_chksum(pcb, p, dst_ip, dst_port, netif, 0, 0);\n}\n\n/** Same as udp_sendto_if(), but with checksum */\nerr_t\nudp_sendto_if_chksum(struct udp_pcb *pcb, struct pbuf *p, ip_addr_t *dst_ip,\n                     u16_t dst_port, struct netif *netif, u8_t have_chksum,\n                     u16_t chksum)\n{\n#endif /* LWIP_CHECKSUM_ON_COPY */\n  struct udp_hdr *udphdr;\n  ip_addr_t *src_ip;\n  err_t err;\n  struct pbuf *q; /* q will be sent down the stack */\n\n#if IP_SOF_BROADCAST\n  /* broadcast filter? */\n  if (!ip_get_option(pcb, SOF_BROADCAST) && ip_addr_isbroadcast(dst_ip, netif)) {\n    LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_LEVEL_SERIOUS,\n      (\"udp_sendto_if: SOF_BROADCAST not enabled on pcb %p\\n\", (void *)pcb));\n    return ERR_VAL;\n  }\n#endif /* IP_SOF_BROADCAST */\n\n  /* if the PCB is not yet bound to a port, bind it here */\n  if (pcb->local_port == 0) {\n    LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, (\"udp_send: not yet bound to a port, binding now\\n\"));\n    err = udp_bind(pcb, &pcb->local_ip, pcb->local_port);\n    if (err != ERR_OK) {\n      LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"udp_send: forced port bind failed\\n\"));\n      return err;\n    }\n  }\n\n  /* not enough space to add an UDP header to first pbuf in given p chain? */\n  if (pbuf_header(p, UDP_HLEN)) {\n    /* allocate header in a separate new pbuf */\n    q = pbuf_alloc(PBUF_IP, UDP_HLEN, PBUF_RAM);\n    /* new header pbuf could not be allocated? */\n    if (q == NULL) {\n      LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS, (\"udp_send: could not allocate header\\n\"));\n      return ERR_MEM;\n    }\n    if (p->tot_len != 0) {\n      /* chain header q in front of given pbuf p (only if p contains data) */\n      pbuf_chain(q, p);\n    }\n    /* first pbuf q points to header pbuf */\n    LWIP_DEBUGF(UDP_DEBUG,\n                (\"udp_send: added header pbuf %p before given pbuf %p\\n\", (void *)q, (void *)p));\n  } else {\n    /* adding space for header within p succeeded */\n    /* first pbuf q equals given pbuf */\n    q = p;\n    LWIP_DEBUGF(UDP_DEBUG, (\"udp_send: added header in given pbuf %p\\n\", (void *)p));\n  }\n  LWIP_ASSERT(\"check that first pbuf can hold struct udp_hdr\",\n              (q->len >= sizeof(struct udp_hdr)));\n  /* q now represents the packet to be sent */\n  udphdr = (struct udp_hdr *)q->payload;\n  udphdr->src = htons(pcb->local_port);\n  udphdr->dest = htons(dst_port);\n  /* in UDP, 0 checksum means 'no checksum' */\n  udphdr->chksum = 0x0000; \n\n  /* Multicast Loop? */\n#if LWIP_IGMP\n  if (ip_addr_ismulticast(dst_ip) && ((pcb->flags & UDP_FLAGS_MULTICAST_LOOP) != 0)) {\n    q->flags |= PBUF_FLAG_MCASTLOOP;\n  }\n#endif /* LWIP_IGMP */\n\n\n  /* PCB local address is IP_ANY_ADDR? */\n  if (ip_addr_isany(&pcb->local_ip)) {\n    /* use outgoing network interface IP address as source address */\n    src_ip = &(netif->ip_addr);\n  } else {\n    /* check if UDP PCB local IP address is correct\n     * this could be an old address if netif->ip_addr has changed */\n    if (!ip_addr_cmp(&(pcb->local_ip), &(netif->ip_addr))) {\n      /* local_ip doesn't match, drop the packet */\n      if (q != p) {\n        /* free the header pbuf */\n        pbuf_free(q);\n        q = NULL;\n        /* p is still referenced by the caller, and will live on */\n      }\n      return ERR_VAL;\n    }\n    /* use UDP PCB local IP address as source address */\n    src_ip = &(pcb->local_ip);\n  }\n\n  LWIP_DEBUGF(UDP_DEBUG, (\"udp_send: sending datagram of length %\"U16_F\"\\n\", q->tot_len));\n\n#if LWIP_UDPLITE\n  /* UDP Lite protocol? */\n  if (pcb->flags & UDP_FLAGS_UDPLITE) {\n    u16_t chklen, chklen_hdr;\n    LWIP_DEBUGF(UDP_DEBUG, (\"udp_send: UDP LITE packet length %\"U16_F\"\\n\", q->tot_len));\n    /* set UDP message length in UDP header */\n    chklen_hdr = chklen = pcb->chksum_len_tx;\n    if ((chklen < sizeof(struct udp_hdr)) || (chklen > q->tot_len)) {\n      if (chklen != 0) {\n        LWIP_DEBUGF(UDP_DEBUG, (\"udp_send: UDP LITE pcb->chksum_len is illegal: %\"U16_F\"\\n\", chklen));\n      }\n      /* For UDP-Lite, checksum length of 0 means checksum\n         over the complete packet. (See RFC 3828 chap. 3.1)\n         At least the UDP-Lite header must be covered by the\n         checksum, therefore, if chksum_len has an illegal\n         value, we generate the checksum over the complete\n         packet to be safe. */\n      chklen_hdr = 0;\n      chklen = q->tot_len;\n    }\n    udphdr->len = htons(chklen_hdr);\n    /* calculate checksum */\n#if CHECKSUM_GEN_UDP\n    udphdr->chksum = inet_chksum_pseudo_partial(q, src_ip, dst_ip,\n      IP_PROTO_UDPLITE, q->tot_len,\n#if !LWIP_CHECKSUM_ON_COPY\n      chklen);\n#else /* !LWIP_CHECKSUM_ON_COPY */\n      (have_chksum ? UDP_HLEN : chklen));\n    if (have_chksum) {\n      u32_t acc;\n      acc = udphdr->chksum + (u16_t)~(chksum);\n      udphdr->chksum = FOLD_U32T(acc);\n    }\n#endif /* !LWIP_CHECKSUM_ON_COPY */\n\n    /* chksum zero must become 0xffff, as zero means 'no checksum' */\n    if (udphdr->chksum == 0x0000) {\n      udphdr->chksum = 0xffff;\n    }\n#endif /* CHECKSUM_GEN_UDP */\n    /* output to IP */\n    LWIP_DEBUGF(UDP_DEBUG, (\"udp_send: ip_output_if (,,,,IP_PROTO_UDPLITE,)\\n\"));\n    NETIF_SET_HWADDRHINT(netif, &pcb->addr_hint);\n    err = ip_output_if(q, src_ip, dst_ip, pcb->ttl, pcb->tos, IP_PROTO_UDPLITE, netif);\n    NETIF_SET_HWADDRHINT(netif, NULL);\n  } else\n#endif /* LWIP_UDPLITE */\n  {      /* UDP */\n    LWIP_DEBUGF(UDP_DEBUG, (\"udp_send: UDP packet length %\"U16_F\"\\n\", q->tot_len));\n    udphdr->len = htons(q->tot_len);\n    /* calculate checksum */\n#if CHECKSUM_GEN_UDP\n    if ((pcb->flags & UDP_FLAGS_NOCHKSUM) == 0) {\n      u16_t udpchksum;\n#if LWIP_CHECKSUM_ON_COPY\n      if (have_chksum) {\n        u32_t acc;\n        udpchksum = inet_chksum_pseudo_partial(q, src_ip, dst_ip, IP_PROTO_UDP,\n          q->tot_len, UDP_HLEN);\n        acc = udpchksum + (u16_t)~(chksum);\n        udpchksum = FOLD_U32T(acc);\n      } else\n#endif /* LWIP_CHECKSUM_ON_COPY */\n      {\n        udpchksum = inet_chksum_pseudo(q, src_ip, dst_ip, IP_PROTO_UDP, q->tot_len);\n      }\n\n      /* chksum zero must become 0xffff, as zero means 'no checksum' */\n      if (udpchksum == 0x0000) {\n        udpchksum = 0xffff;\n      }\n      udphdr->chksum = udpchksum;\n    }\n#endif /* CHECKSUM_GEN_UDP */\n    LWIP_DEBUGF(UDP_DEBUG, (\"udp_send: UDP checksum 0x%04\"X16_F\"\\n\", udphdr->chksum));\n    LWIP_DEBUGF(UDP_DEBUG, (\"udp_send: ip_output_if (,,,,IP_PROTO_UDP,)\\n\"));\n    /* output to IP */\n    NETIF_SET_HWADDRHINT(netif, &pcb->addr_hint);\n    err = ip_output_if(q, src_ip, dst_ip, pcb->ttl, pcb->tos, IP_PROTO_UDP, netif);\n    NETIF_SET_HWADDRHINT(netif, NULL);\n  }\n  /* TODO: must this be increased even if error occured? */\n  snmp_inc_udpoutdatagrams();\n\n  /* did we chain a separate header pbuf earlier? */\n  if (q != p) {\n    /* free the header pbuf */\n    pbuf_free(q);\n    q = NULL;\n    /* p is still referenced by the caller, and will live on */\n  }\n\n  UDP_STATS_INC(udp.xmit);\n  return err;\n}\n\n/**\n * Bind an UDP PCB.\n *\n * @param pcb UDP PCB to be bound with a local address ipaddr and port.\n * @param ipaddr local IP address to bind with. Use IP_ADDR_ANY to\n * bind to all local interfaces.\n * @param port local UDP port to bind with. Use 0 to automatically bind\n * to a random port between UDP_LOCAL_PORT_RANGE_START and\n * UDP_LOCAL_PORT_RANGE_END.\n *\n * ipaddr & port are expected to be in the same byte order as in the pcb.\n *\n * @return lwIP error code.\n * - ERR_OK. Successful. No error occured.\n * - ERR_USE. The specified ipaddr and port are already bound to by\n * another UDP PCB.\n *\n * @see udp_disconnect()\n */\nerr_t\nudp_bind(struct udp_pcb *pcb, ip_addr_t *ipaddr, u16_t port)\n{\n  struct udp_pcb *ipcb;\n  u8_t rebind;\n\n  LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, (\"udp_bind(ipaddr = \"));\n  ip_addr_debug_print(UDP_DEBUG, ipaddr);\n  LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE, (\", port = %\"U16_F\")\\n\", port));\n\n  rebind = 0;\n  /* Check for double bind and rebind of the same pcb */\n  for (ipcb = udp_pcbs; ipcb != NULL; ipcb = ipcb->next) {\n    /* is this UDP PCB already on active list? */\n    if (pcb == ipcb) {\n      /* pcb may occur at most once in active list */\n      LWIP_ASSERT(\"rebind == 0\", rebind == 0);\n      /* pcb already in list, just rebind */\n      rebind = 1;\n    }\n\n    /* By default, we don't allow to bind to a port that any other udp\n       PCB is alread bound to, unless *all* PCBs with that port have tha\n       REUSEADDR flag set. */\n#if SO_REUSE\n    else if (!ip_get_option(pcb, SOF_REUSEADDR) &&\n             !ip_get_option(ipcb, SOF_REUSEADDR)) {\n#else /* SO_REUSE */\n    /* port matches that of PCB in list and REUSEADDR not set -> reject */\n    else {\n#endif /* SO_REUSE */\n      if ((ipcb->local_port == port) &&\n          /* IP address matches, or one is IP_ADDR_ANY? */\n          (ip_addr_isany(&(ipcb->local_ip)) ||\n           ip_addr_isany(ipaddr) ||\n           ip_addr_cmp(&(ipcb->local_ip), ipaddr))) {\n        /* other PCB already binds to this local IP and port */\n        LWIP_DEBUGF(UDP_DEBUG,\n                    (\"udp_bind: local port %\"U16_F\" already bound by another pcb\\n\", port));\n        return ERR_USE;\n      }\n    }\n  }\n\n  ip_addr_set(&pcb->local_ip, ipaddr);\n\n  /* no port specified? */\n  if (port == 0) {\n    port = udp_new_port();\n    if (port == 0) {\n      /* no more ports available in local range */\n      LWIP_DEBUGF(UDP_DEBUG, (\"udp_bind: out of free UDP ports\\n\"));\n      return ERR_USE;\n    }\n  }\n  pcb->local_port = port;\n  snmp_insert_udpidx_tree(pcb);\n  /* pcb not active yet? */\n  if (rebind == 0) {\n    /* place the PCB on the active list if not already there */\n    pcb->next = udp_pcbs;\n    udp_pcbs = pcb;\n  }\n  LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n              (\"udp_bind: bound to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\", port %\"U16_F\"\\n\",\n               ip4_addr1_16(&pcb->local_ip), ip4_addr2_16(&pcb->local_ip),\n               ip4_addr3_16(&pcb->local_ip), ip4_addr4_16(&pcb->local_ip),\n               pcb->local_port));\n  return ERR_OK;\n}\n/**\n * Connect an UDP PCB.\n *\n * This will associate the UDP PCB with the remote address.\n *\n * @param pcb UDP PCB to be connected with remote address ipaddr and port.\n * @param ipaddr remote IP address to connect with.\n * @param port remote UDP port to connect with.\n *\n * @return lwIP error code\n *\n * ipaddr & port are expected to be in the same byte order as in the pcb.\n *\n * The udp pcb is bound to a random local port if not already bound.\n *\n * @see udp_disconnect()\n */\nerr_t\nudp_connect(struct udp_pcb *pcb, ip_addr_t *ipaddr, u16_t port)\n{\n  struct udp_pcb *ipcb;\n\n  if (pcb->local_port == 0) {\n    err_t err = udp_bind(pcb, &pcb->local_ip, pcb->local_port);\n    if (err != ERR_OK) {\n      return err;\n    }\n  }\n\n  ip_addr_set(&pcb->remote_ip, ipaddr);\n  pcb->remote_port = port;\n  pcb->flags |= UDP_FLAGS_CONNECTED;\n/** TODO: this functionality belongs in upper layers */\n#ifdef LWIP_UDP_TODO\n  /* Nail down local IP for netconn_addr()/getsockname() */\n  if (ip_addr_isany(&pcb->local_ip) && !ip_addr_isany(&pcb->remote_ip)) {\n    struct netif *netif;\n\n    if ((netif = ip_route(&(pcb->remote_ip))) == NULL) {\n      LWIP_DEBUGF(UDP_DEBUG, (\"udp_connect: No route to 0x%lx\\n\", pcb->remote_ip.addr));\n      UDP_STATS_INC(udp.rterr);\n      return ERR_RTE;\n    }\n    /** TODO: this will bind the udp pcb locally, to the interface which\n        is used to route output packets to the remote address. However, we\n        might want to accept incoming packets on any interface! */\n    pcb->local_ip = netif->ip_addr;\n  } else if (ip_addr_isany(&pcb->remote_ip)) {\n    pcb->local_ip.addr = 0;\n  }\n#endif\n  LWIP_DEBUGF(UDP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE,\n              (\"udp_connect: connected to %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\",port %\"U16_F\"\\n\",\n               ip4_addr1_16(&pcb->local_ip), ip4_addr2_16(&pcb->local_ip),\n               ip4_addr3_16(&pcb->local_ip), ip4_addr4_16(&pcb->local_ip),\n               pcb->local_port));\n\n  /* Insert UDP PCB into the list of active UDP PCBs. */\n  for (ipcb = udp_pcbs; ipcb != NULL; ipcb = ipcb->next) {\n    if (pcb == ipcb) {\n      /* already on the list, just return */\n      return ERR_OK;\n    }\n  }\n  /* PCB not yet on the list, add PCB now */\n  pcb->next = udp_pcbs;\n  udp_pcbs = pcb;\n  return ERR_OK;\n}\n\n/**\n * Disconnect a UDP PCB\n *\n * @param pcb the udp pcb to disconnect.\n */\nvoid\nudp_disconnect(struct udp_pcb *pcb)\n{\n  /* reset remote address association */\n  ip_addr_set_any(&pcb->remote_ip);\n  pcb->remote_port = 0;\n  /* mark PCB as unconnected */\n  pcb->flags &= ~UDP_FLAGS_CONNECTED;\n}\n\n/**\n * Set a receive callback for a UDP PCB\n *\n * This callback will be called when receiving a datagram for the pcb.\n *\n * @param pcb the pcb for wich to set the recv callback\n * @param recv function pointer of the callback function\n * @param recv_arg additional argument to pass to the callback function\n */\nvoid\nudp_recv(struct udp_pcb *pcb, udp_recv_fn recv, void *recv_arg)\n{\n  /* remember recv() callback and user data */\n  pcb->recv = recv;\n  pcb->recv_arg = recv_arg;\n}\n\n/**\n * Remove an UDP PCB.\n *\n * @param pcb UDP PCB to be removed. The PCB is removed from the list of\n * UDP PCB's and the data structure is freed from memory.\n *\n * @see udp_new()\n */\nvoid\nudp_remove(struct udp_pcb *pcb)\n{\n  struct udp_pcb *pcb2;\n\n  snmp_delete_udpidx_tree(pcb);\n  /* pcb to be removed is first in list? */\n  if (udp_pcbs == pcb) {\n    /* make list start at 2nd pcb */\n    udp_pcbs = udp_pcbs->next;\n    /* pcb not 1st in list */\n  } else {\n    for (pcb2 = udp_pcbs; pcb2 != NULL; pcb2 = pcb2->next) {\n      /* find pcb in udp_pcbs list */\n      if (pcb2->next != NULL && pcb2->next == pcb) {\n        /* remove pcb from list */\n        pcb2->next = pcb->next;\n      }\n    }\n  }\n  memp_free(MEMP_UDP_PCB, pcb);\n}\n\n/**\n * Create a UDP PCB.\n *\n * @return The UDP PCB which was created. NULL if the PCB data structure\n * could not be allocated.\n *\n * @see udp_remove()\n */\nstruct udp_pcb *\nudp_new(void)\n{\n  struct udp_pcb *pcb;\n  pcb = (struct udp_pcb *)memp_malloc(MEMP_UDP_PCB);\n  /* could allocate UDP PCB? */\n  if (pcb != NULL) {\n    /* UDP Lite: by initializing to all zeroes, chksum_len is set to 0\n     * which means checksum is generated over the whole datagram per default\n     * (recommended as default by RFC 3828). */\n    /* initialize PCB to all zeroes */\n    memset(pcb, 0, sizeof(struct udp_pcb));\n    pcb->ttl = UDP_TTL;\n  }\n  return pcb;\n}\n\n#if UDP_DEBUG\n/**\n * Print UDP header information for debug purposes.\n *\n * @param udphdr pointer to the udp header in memory.\n */\nvoid\nudp_debug_print(struct udp_hdr *udphdr)\n{\n  LWIP_DEBUGF(UDP_DEBUG, (\"UDP header:\\n\"));\n  LWIP_DEBUGF(UDP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(UDP_DEBUG, (\"|     %5\"U16_F\"     |     %5\"U16_F\"     | (src port, dest port)\\n\",\n                          ntohs(udphdr->src), ntohs(udphdr->dest)));\n  LWIP_DEBUGF(UDP_DEBUG, (\"+-------------------------------+\\n\"));\n  LWIP_DEBUGF(UDP_DEBUG, (\"|     %5\"U16_F\"     |     0x%04\"X16_F\"    | (len, chksum)\\n\",\n                          ntohs(udphdr->len), ntohs(udphdr->chksum)));\n  LWIP_DEBUGF(UDP_DEBUG, (\"+-------------------------------+\\n\"));\n}\n#endif /* UDP_DEBUG */\n\n#endif /* LWIP_UDP */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/darwin/src/compat.c",
    "content": "#include \"compat.h\"\n\nvoid tcp_accepted_c(struct tcp_pcb *pcb) {\n    tcp_accepted(pcb);\n}"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/darwin/src/sys_arch.c",
    "content": "#include <mach/mach_time.h>\n#include \"arch/sys_arch.h\"\n#include \"lwip/sys.h\"\n\nu32_t sys_now(void) {\n    uint64_t now = mach_absolute_time();\n    mach_timebase_info_data_t info;\n    mach_timebase_info(&info);\n    now = now * info.numer / info.denom / NSEC_PER_MSEC;\n    \n    return (u32_t)(now);\n}\n\nvoid\nsys_init(void)\n{\n}"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/FILES",
    "content": "This directory contains generic network interface device drivers that\ndo not contain any hardware or architecture specific code. The files\nare:\n\netharp.c\n          Implements the ARP (Address Resolution Protocol) over\n          Ethernet. The code in this file should be used together with\n          Ethernet device drivers. Note that this module has been\n          largely made Ethernet independent so you should be able to\n          adapt this for other link layers (such as Firewire).\n\nethernetif.c\n          An example of how an Ethernet device driver could look. This\n          file can be used as a \"skeleton\" for developing new Ethernet\n          network device drivers. It uses the etharp.c ARP code.\n\nloopif.c\n          A \"loopback\" network interface driver. It requires configuration\n          through the define LWIP_LOOPIF_MULTITHREADING (see opt.h).\n\nslipif.c\n          A generic implementation of the SLIP (Serial Line IP)\n          protocol. It requires a sio (serial I/O) module to work.\n\nppp/      Point-to-Point Protocol stack\n          The PPP stack has been ported from ucip (http://ucip.sourceforge.net).\n          It matches quite well to pppd 2.3.1 (http://ppp.samba.org), although\n          compared to that, it has some modifications for embedded systems and\n          the source code has been reordered a bit."
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/etharp.c",
    "content": "/**\n * @file\n * Address Resolution Protocol module for IP over Ethernet\n *\n * Functionally, ARP is divided into two parts. The first maps an IP address\n * to a physical address when sending a packet, and the second part answers\n * requests from other machines for our physical address.\n *\n * This implementation complies with RFC 826 (Ethernet ARP). It supports\n * Gratuitious ARP from RFC3220 (IP Mobility Support for IPv4) section 4.6\n * if an interface calls etharp_gratuitous(our_netif) upon address change.\n */\n\n/*\n * Copyright (c) 2001-2003 Swedish Institute of Computer Science.\n * Copyright (c) 2003-2004 Leon Woestenberg <leon.woestenberg@axon.tv>\n * Copyright (c) 2003-2004 Axon Digital Design B.V., The Netherlands.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT\n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n *\n */\n \n#include \"lwip/opt.h\"\n\n#if LWIP_ARP || LWIP_ETHERNET\n\n#include \"lwip/ip_addr.h\"\n#include \"lwip/def.h\"\n#include \"lwip/ip.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/snmp.h\"\n#include \"lwip/dhcp.h\"\n#include \"lwip/autoip.h\"\n#include \"netif/etharp.h\"\n\n#if PPPOE_SUPPORT\n#include \"netif/ppp_oe.h\"\n#endif /* PPPOE_SUPPORT */\n\n#include <string.h>\n\nconst struct eth_addr ethbroadcast = {{0xff,0xff,0xff,0xff,0xff,0xff}};\nconst struct eth_addr ethzero = {{0,0,0,0,0,0}};\n\n/** The 24-bit IANA multicast OUI is 01-00-5e: */\n#define LL_MULTICAST_ADDR_0 0x01\n#define LL_MULTICAST_ADDR_1 0x00\n#define LL_MULTICAST_ADDR_2 0x5e\n\n#if LWIP_ARP /* don't build if not configured for use in lwipopts.h */\n\n/** the time an ARP entry stays valid after its last update,\n *  for ARP_TMR_INTERVAL = 5000, this is\n *  (240 * 5) seconds = 20 minutes.\n */\n#define ARP_MAXAGE              240\n/** Re-request a used ARP entry 1 minute before it would expire to prevent\n *  breaking a steadily used connection because the ARP entry timed out. */\n#define ARP_AGE_REREQUEST_USED  (ARP_MAXAGE - 12)\n\n/** the time an ARP entry stays pending after first request,\n *  for ARP_TMR_INTERVAL = 5000, this is\n *  (2 * 5) seconds = 10 seconds.\n * \n *  @internal Keep this number at least 2, otherwise it might\n *  run out instantly if the timeout occurs directly after a request.\n */\n#define ARP_MAXPENDING 2\n\n#define HWTYPE_ETHERNET 1\n\nenum etharp_state {\n  ETHARP_STATE_EMPTY = 0,\n  ETHARP_STATE_PENDING,\n  ETHARP_STATE_STABLE,\n  ETHARP_STATE_STABLE_REREQUESTING\n#if ETHARP_SUPPORT_STATIC_ENTRIES\n  ,ETHARP_STATE_STATIC\n#endif /* ETHARP_SUPPORT_STATIC_ENTRIES */\n};\n\nstruct etharp_entry {\n#if ARP_QUEUEING\n  /** Pointer to queue of pending outgoing packets on this ARP entry. */\n  struct etharp_q_entry *q;\n#else /* ARP_QUEUEING */\n  /** Pointer to a single pending outgoing packet on this ARP entry. */\n  struct pbuf *q;\n#endif /* ARP_QUEUEING */\n  ip_addr_t ipaddr;\n  struct netif *netif;\n  struct eth_addr ethaddr;\n  u8_t state;\n  u8_t ctime;\n};\n\nstatic struct etharp_entry arp_table[ARP_TABLE_SIZE];\n\n#if !LWIP_NETIF_HWADDRHINT\nstatic u8_t etharp_cached_entry;\n#endif /* !LWIP_NETIF_HWADDRHINT */\n\n/** Try hard to create a new entry - we want the IP address to appear in\n    the cache (even if this means removing an active entry or so). */\n#define ETHARP_FLAG_TRY_HARD     1\n#define ETHARP_FLAG_FIND_ONLY    2\n#if ETHARP_SUPPORT_STATIC_ENTRIES\n#define ETHARP_FLAG_STATIC_ENTRY 4\n#endif /* ETHARP_SUPPORT_STATIC_ENTRIES */\n\n#if LWIP_NETIF_HWADDRHINT\n#define ETHARP_SET_HINT(netif, hint)  if (((netif) != NULL) && ((netif)->addr_hint != NULL))  \\\n                                      *((netif)->addr_hint) = (hint);\n#else /* LWIP_NETIF_HWADDRHINT */\n#define ETHARP_SET_HINT(netif, hint)  (etharp_cached_entry = (hint))\n#endif /* LWIP_NETIF_HWADDRHINT */\n\n\n/* Some checks, instead of etharp_init(): */\n#if (LWIP_ARP && (ARP_TABLE_SIZE > 0x7f))\n  #error \"ARP_TABLE_SIZE must fit in an s8_t, you have to reduce it in your lwipopts.h\"\n#endif\n\n\n#if ARP_QUEUEING\n/**\n * Free a complete queue of etharp entries\n *\n * @param q a qeueue of etharp_q_entry's to free\n */\nstatic void\nfree_etharp_q(struct etharp_q_entry *q)\n{\n  struct etharp_q_entry *r;\n  LWIP_ASSERT(\"q != NULL\", q != NULL);\n  LWIP_ASSERT(\"q->p != NULL\", q->p != NULL);\n  while (q) {\n    r = q;\n    q = q->next;\n    LWIP_ASSERT(\"r->p != NULL\", (r->p != NULL));\n    pbuf_free(r->p);\n    memp_free(MEMP_ARP_QUEUE, r);\n  }\n}\n#else /* ARP_QUEUEING */\n\n/** Compatibility define: free the queued pbuf */\n#define free_etharp_q(q) pbuf_free(q)\n\n#endif /* ARP_QUEUEING */\n\n/** Clean up ARP table entries */\nstatic void\netharp_free_entry(int i)\n{\n  /* remove from SNMP ARP index tree */\n  snmp_delete_arpidx_tree(arp_table[i].netif, &arp_table[i].ipaddr);\n  /* and empty packet queue */\n  if (arp_table[i].q != NULL) {\n    /* remove all queued packets */\n    LWIP_DEBUGF(ETHARP_DEBUG, (\"etharp_free_entry: freeing entry %\"U16_F\", packet queue %p.\\n\", (u16_t)i, (void *)(arp_table[i].q)));\n    free_etharp_q(arp_table[i].q);\n    arp_table[i].q = NULL;\n  }\n  /* recycle entry for re-use */\n  arp_table[i].state = ETHARP_STATE_EMPTY;\n#ifdef LWIP_DEBUG\n  /* for debugging, clean out the complete entry */\n  arp_table[i].ctime = 0;\n  arp_table[i].netif = NULL;\n  ip_addr_set_zero(&arp_table[i].ipaddr);\n  arp_table[i].ethaddr = ethzero;\n#endif /* LWIP_DEBUG */\n}\n\n/**\n * Clears expired entries in the ARP table.\n *\n * This function should be called every ETHARP_TMR_INTERVAL milliseconds (5 seconds),\n * in order to expire entries in the ARP table.\n */\nvoid\netharp_tmr(void)\n{\n  u8_t i;\n\n  LWIP_DEBUGF(ETHARP_DEBUG, (\"etharp_timer\\n\"));\n  /* remove expired entries from the ARP table */\n  for (i = 0; i < ARP_TABLE_SIZE; ++i) {\n    u8_t state = arp_table[i].state;\n    if (state != ETHARP_STATE_EMPTY\n#if ETHARP_SUPPORT_STATIC_ENTRIES\n      && (state != ETHARP_STATE_STATIC)\n#endif /* ETHARP_SUPPORT_STATIC_ENTRIES */\n      ) {\n      arp_table[i].ctime++;\n      if ((arp_table[i].ctime >= ARP_MAXAGE) ||\n          ((arp_table[i].state == ETHARP_STATE_PENDING)  &&\n           (arp_table[i].ctime >= ARP_MAXPENDING))) {\n        /* pending or stable entry has become old! */\n        LWIP_DEBUGF(ETHARP_DEBUG, (\"etharp_timer: expired %s entry %\"U16_F\".\\n\",\n             arp_table[i].state >= ETHARP_STATE_STABLE ? \"stable\" : \"pending\", (u16_t)i));\n        /* clean up entries that have just been expired */\n        etharp_free_entry(i);\n      }\n      else if (arp_table[i].state == ETHARP_STATE_STABLE_REREQUESTING) {\n        /* Reset state to stable, so that the next transmitted packet will\n           re-send an ARP request. */\n        arp_table[i].state = ETHARP_STATE_STABLE;\n      }\n#if ARP_QUEUEING\n      /* still pending entry? (not expired) */\n      if (arp_table[i].state == ETHARP_STATE_PENDING) {\n        /* resend an ARP query here? */\n      }\n#endif /* ARP_QUEUEING */\n    }\n  }\n}\n\n/**\n * Search the ARP table for a matching or new entry.\n * \n * If an IP address is given, return a pending or stable ARP entry that matches\n * the address. If no match is found, create a new entry with this address set,\n * but in state ETHARP_EMPTY. The caller must check and possibly change the\n * state of the returned entry.\n * \n * If ipaddr is NULL, return a initialized new entry in state ETHARP_EMPTY.\n * \n * In all cases, attempt to create new entries from an empty entry. If no\n * empty entries are available and ETHARP_FLAG_TRY_HARD flag is set, recycle\n * old entries. Heuristic choose the least important entry for recycling.\n *\n * @param ipaddr IP address to find in ARP cache, or to add if not found.\n * @param flags @see definition of ETHARP_FLAG_*\n * @param netif netif related to this address (used for NETIF_HWADDRHINT)\n *  \n * @return The ARP entry index that matched or is created, ERR_MEM if no\n * entry is found or could be recycled.\n */\nstatic s8_t\netharp_find_entry(ip_addr_t *ipaddr, u8_t flags)\n{\n  s8_t old_pending = ARP_TABLE_SIZE, old_stable = ARP_TABLE_SIZE;\n  s8_t empty = ARP_TABLE_SIZE;\n  u8_t i = 0, age_pending = 0, age_stable = 0;\n  /* oldest entry with packets on queue */\n  s8_t old_queue = ARP_TABLE_SIZE;\n  /* its age */\n  u8_t age_queue = 0;\n\n  /**\n   * a) do a search through the cache, remember candidates\n   * b) select candidate entry\n   * c) create new entry\n   */\n\n  /* a) in a single search sweep, do all of this\n   * 1) remember the first empty entry (if any)\n   * 2) remember the oldest stable entry (if any)\n   * 3) remember the oldest pending entry without queued packets (if any)\n   * 4) remember the oldest pending entry with queued packets (if any)\n   * 5) search for a matching IP entry, either pending or stable\n   *    until 5 matches, or all entries are searched for.\n   */\n\n  for (i = 0; i < ARP_TABLE_SIZE; ++i) {\n    u8_t state = arp_table[i].state;\n    /* no empty entry found yet and now we do find one? */\n    if ((empty == ARP_TABLE_SIZE) && (state == ETHARP_STATE_EMPTY)) {\n      LWIP_DEBUGF(ETHARP_DEBUG, (\"etharp_find_entry: found empty entry %\"U16_F\"\\n\", (u16_t)i));\n      /* remember first empty entry */\n      empty = i;\n    } else if (state != ETHARP_STATE_EMPTY) {\n      LWIP_ASSERT(\"state == ETHARP_STATE_PENDING || state >= ETHARP_STATE_STABLE\",\n        state == ETHARP_STATE_PENDING || state >= ETHARP_STATE_STABLE);\n      /* if given, does IP address match IP address in ARP entry? */\n      if (ipaddr && ip_addr_cmp(ipaddr, &arp_table[i].ipaddr)) {\n        LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_find_entry: found matching entry %\"U16_F\"\\n\", (u16_t)i));\n        /* found exact IP address match, simply bail out */\n        return i;\n      }\n      /* pending entry? */\n      if (state == ETHARP_STATE_PENDING) {\n        /* pending with queued packets? */\n        if (arp_table[i].q != NULL) {\n          if (arp_table[i].ctime >= age_queue) {\n            old_queue = i;\n            age_queue = arp_table[i].ctime;\n          }\n        } else\n        /* pending without queued packets? */\n        {\n          if (arp_table[i].ctime >= age_pending) {\n            old_pending = i;\n            age_pending = arp_table[i].ctime;\n          }\n        }\n      /* stable entry? */\n      } else if (state >= ETHARP_STATE_STABLE) {\n#if ETHARP_SUPPORT_STATIC_ENTRIES\n        /* don't record old_stable for static entries since they never expire */\n        if (state < ETHARP_STATE_STATIC)\n#endif /* ETHARP_SUPPORT_STATIC_ENTRIES */\n        {\n          /* remember entry with oldest stable entry in oldest, its age in maxtime */\n          if (arp_table[i].ctime >= age_stable) {\n            old_stable = i;\n            age_stable = arp_table[i].ctime;\n          }\n        }\n      }\n    }\n  }\n  /* { we have no match } => try to create a new entry */\n   \n  /* don't create new entry, only search? */\n  if (((flags & ETHARP_FLAG_FIND_ONLY) != 0) ||\n      /* or no empty entry found and not allowed to recycle? */\n      ((empty == ARP_TABLE_SIZE) && ((flags & ETHARP_FLAG_TRY_HARD) == 0))) {\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_find_entry: no empty entry found and not allowed to recycle\\n\"));\n    return (s8_t)ERR_MEM;\n  }\n  \n  /* b) choose the least destructive entry to recycle:\n   * 1) empty entry\n   * 2) oldest stable entry\n   * 3) oldest pending entry without queued packets\n   * 4) oldest pending entry with queued packets\n   * \n   * { ETHARP_FLAG_TRY_HARD is set at this point }\n   */ \n\n  /* 1) empty entry available? */\n  if (empty < ARP_TABLE_SIZE) {\n    i = empty;\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_find_entry: selecting empty entry %\"U16_F\"\\n\", (u16_t)i));\n  } else {\n    /* 2) found recyclable stable entry? */\n    if (old_stable < ARP_TABLE_SIZE) {\n      /* recycle oldest stable*/\n      i = old_stable;\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_find_entry: selecting oldest stable entry %\"U16_F\"\\n\", (u16_t)i));\n      /* no queued packets should exist on stable entries */\n      LWIP_ASSERT(\"arp_table[i].q == NULL\", arp_table[i].q == NULL);\n    /* 3) found recyclable pending entry without queued packets? */\n    } else if (old_pending < ARP_TABLE_SIZE) {\n      /* recycle oldest pending */\n      i = old_pending;\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_find_entry: selecting oldest pending entry %\"U16_F\" (without queue)\\n\", (u16_t)i));\n    /* 4) found recyclable pending entry with queued packets? */\n    } else if (old_queue < ARP_TABLE_SIZE) {\n      /* recycle oldest pending (queued packets are free in etharp_free_entry) */\n      i = old_queue;\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_find_entry: selecting oldest pending entry %\"U16_F\", freeing packet queue %p\\n\", (u16_t)i, (void *)(arp_table[i].q)));\n      /* no empty or recyclable entries found */\n    } else {\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_find_entry: no empty or recyclable entries found\\n\"));\n      return (s8_t)ERR_MEM;\n    }\n\n    /* { empty or recyclable entry found } */\n    LWIP_ASSERT(\"i < ARP_TABLE_SIZE\", i < ARP_TABLE_SIZE);\n    etharp_free_entry(i);\n  }\n\n  LWIP_ASSERT(\"i < ARP_TABLE_SIZE\", i < ARP_TABLE_SIZE);\n  LWIP_ASSERT(\"arp_table[i].state == ETHARP_STATE_EMPTY\",\n    arp_table[i].state == ETHARP_STATE_EMPTY);\n\n  /* IP address given? */\n  if (ipaddr != NULL) {\n    /* set IP address */\n    ip_addr_copy(arp_table[i].ipaddr, *ipaddr);\n  }\n  arp_table[i].ctime = 0;\n  return (err_t)i;\n}\n\n/**\n * Send an IP packet on the network using netif->linkoutput\n * The ethernet header is filled in before sending.\n *\n * @params netif the lwIP network interface on which to send the packet\n * @params p the packet to send, p->payload pointing to the (uninitialized) ethernet header\n * @params src the source MAC address to be copied into the ethernet header\n * @params dst the destination MAC address to be copied into the ethernet header\n * @return ERR_OK if the packet was sent, any other err_t on failure\n */\nstatic err_t\netharp_send_ip(struct netif *netif, struct pbuf *p, struct eth_addr *src, struct eth_addr *dst)\n{\n  struct eth_hdr *ethhdr = (struct eth_hdr *)p->payload;\n\n  LWIP_ASSERT(\"netif->hwaddr_len must be the same as ETHARP_HWADDR_LEN for etharp!\",\n              (netif->hwaddr_len == ETHARP_HWADDR_LEN));\n  ETHADDR32_COPY(&ethhdr->dest, dst);\n  ETHADDR16_COPY(&ethhdr->src, src);\n  ethhdr->type = PP_HTONS(ETHTYPE_IP);\n  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_send_ip: sending packet %p\\n\", (void *)p));\n  /* send the packet */\n  return netif->linkoutput(netif, p);\n}\n\n/**\n * Update (or insert) a IP/MAC address pair in the ARP cache.\n *\n * If a pending entry is resolved, any queued packets will be sent\n * at this point.\n * \n * @param netif netif related to this entry (used for NETIF_ADDRHINT)\n * @param ipaddr IP address of the inserted ARP entry.\n * @param ethaddr Ethernet address of the inserted ARP entry.\n * @param flags @see definition of ETHARP_FLAG_*\n *\n * @return\n * - ERR_OK Succesfully updated ARP cache.\n * - ERR_MEM If we could not add a new ARP entry when ETHARP_FLAG_TRY_HARD was set.\n * - ERR_ARG Non-unicast address given, those will not appear in ARP cache.\n *\n * @see pbuf_free()\n */\nstatic err_t\netharp_update_arp_entry(struct netif *netif, ip_addr_t *ipaddr, struct eth_addr *ethaddr, u8_t flags)\n{\n  s8_t i;\n  LWIP_ASSERT(\"netif->hwaddr_len == ETHARP_HWADDR_LEN\", netif->hwaddr_len == ETHARP_HWADDR_LEN);\n  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_update_arp_entry: %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\" - %02\"X16_F\":%02\"X16_F\":%02\"X16_F\":%02\"X16_F\":%02\"X16_F\":%02\"X16_F\"\\n\",\n    ip4_addr1_16(ipaddr), ip4_addr2_16(ipaddr), ip4_addr3_16(ipaddr), ip4_addr4_16(ipaddr),\n    ethaddr->addr[0], ethaddr->addr[1], ethaddr->addr[2],\n    ethaddr->addr[3], ethaddr->addr[4], ethaddr->addr[5]));\n  /* non-unicast address? */\n  if (ip_addr_isany(ipaddr) ||\n      ip_addr_isbroadcast(ipaddr, netif) ||\n      ip_addr_ismulticast(ipaddr)) {\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_update_arp_entry: will not add non-unicast IP address to ARP cache\\n\"));\n    return ERR_ARG;\n  }\n  /* find or create ARP entry */\n  i = etharp_find_entry(ipaddr, flags);\n  /* bail out if no entry could be found */\n  if (i < 0) {\n    return (err_t)i;\n  }\n\n#if ETHARP_SUPPORT_STATIC_ENTRIES\n  if (flags & ETHARP_FLAG_STATIC_ENTRY) {\n    /* record static type */\n    arp_table[i].state = ETHARP_STATE_STATIC;\n  } else\n#endif /* ETHARP_SUPPORT_STATIC_ENTRIES */\n  {\n    /* mark it stable */\n    arp_table[i].state = ETHARP_STATE_STABLE;\n  }\n\n  /* record network interface */\n  arp_table[i].netif = netif;\n  /* insert in SNMP ARP index tree */\n  snmp_insert_arpidx_tree(netif, &arp_table[i].ipaddr);\n\n  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_update_arp_entry: updating stable entry %\"S16_F\"\\n\", (s16_t)i));\n  /* update address */\n  ETHADDR32_COPY(&arp_table[i].ethaddr, ethaddr);\n  /* reset time stamp */\n  arp_table[i].ctime = 0;\n  /* this is where we will send out queued packets! */\n#if ARP_QUEUEING\n  while (arp_table[i].q != NULL) {\n    struct pbuf *p;\n    /* remember remainder of queue */\n    struct etharp_q_entry *q = arp_table[i].q;\n    /* pop first item off the queue */\n    arp_table[i].q = q->next;\n    /* get the packet pointer */\n    p = q->p;\n    /* now queue entry can be freed */\n    memp_free(MEMP_ARP_QUEUE, q);\n#else /* ARP_QUEUEING */\n  if (arp_table[i].q != NULL) {\n    struct pbuf *p = arp_table[i].q;\n    arp_table[i].q = NULL;\n#endif /* ARP_QUEUEING */\n    /* send the queued IP packet */\n    etharp_send_ip(netif, p, (struct eth_addr*)(netif->hwaddr), ethaddr);\n    /* free the queued IP packet */\n    pbuf_free(p);\n  }\n  return ERR_OK;\n}\n\n#if ETHARP_SUPPORT_STATIC_ENTRIES\n/** Add a new static entry to the ARP table. If an entry exists for the\n * specified IP address, this entry is overwritten.\n * If packets are queued for the specified IP address, they are sent out.\n *\n * @param ipaddr IP address for the new static entry\n * @param ethaddr ethernet address for the new static entry\n * @return @see return values of etharp_add_static_entry\n */\nerr_t\netharp_add_static_entry(ip_addr_t *ipaddr, struct eth_addr *ethaddr)\n{\n  struct netif *netif;\n  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_add_static_entry: %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\" - %02\"X16_F\":%02\"X16_F\":%02\"X16_F\":%02\"X16_F\":%02\"X16_F\":%02\"X16_F\"\\n\",\n    ip4_addr1_16(ipaddr), ip4_addr2_16(ipaddr), ip4_addr3_16(ipaddr), ip4_addr4_16(ipaddr),\n    ethaddr->addr[0], ethaddr->addr[1], ethaddr->addr[2],\n    ethaddr->addr[3], ethaddr->addr[4], ethaddr->addr[5]));\n\n  netif = ip_route(ipaddr);\n  if (netif == NULL) {\n    return ERR_RTE;\n  }\n\n  return etharp_update_arp_entry(netif, ipaddr, ethaddr, ETHARP_FLAG_TRY_HARD | ETHARP_FLAG_STATIC_ENTRY);\n}\n\n/** Remove a static entry from the ARP table previously added with a call to\n * etharp_add_static_entry.\n *\n * @param ipaddr IP address of the static entry to remove\n * @return ERR_OK: entry removed\n *         ERR_MEM: entry wasn't found\n *         ERR_ARG: entry wasn't a static entry but a dynamic one\n */\nerr_t\netharp_remove_static_entry(ip_addr_t *ipaddr)\n{\n  s8_t i;\n  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_remove_static_entry: %\"U16_F\".%\"U16_F\".%\"U16_F\".%\"U16_F\"\\n\",\n    ip4_addr1_16(ipaddr), ip4_addr2_16(ipaddr), ip4_addr3_16(ipaddr), ip4_addr4_16(ipaddr)));\n\n  /* find or create ARP entry */\n  i = etharp_find_entry(ipaddr, ETHARP_FLAG_FIND_ONLY);\n  /* bail out if no entry could be found */\n  if (i < 0) {\n    return (err_t)i;\n  }\n\n  if (arp_table[i].state != ETHARP_STATE_STATIC) {\n    /* entry wasn't a static entry, cannot remove it */\n    return ERR_ARG;\n  }\n  /* entry found, free it */\n  etharp_free_entry(i);\n  return ERR_OK;\n}\n#endif /* ETHARP_SUPPORT_STATIC_ENTRIES */\n\n/**\n * Remove all ARP table entries of the specified netif.\n *\n * @param netif points to a network interface\n */\nvoid etharp_cleanup_netif(struct netif *netif)\n{\n  u8_t i;\n\n  for (i = 0; i < ARP_TABLE_SIZE; ++i) {\n    u8_t state = arp_table[i].state;\n    if ((state != ETHARP_STATE_EMPTY) && (arp_table[i].netif == netif)) {\n      etharp_free_entry(i);\n    }\n  }\n}\n\n/**\n * Finds (stable) ethernet/IP address pair from ARP table\n * using interface and IP address index.\n * @note the addresses in the ARP table are in network order!\n *\n * @param netif points to interface index\n * @param ipaddr points to the (network order) IP address index\n * @param eth_ret points to return pointer\n * @param ip_ret points to return pointer\n * @return table index if found, -1 otherwise\n */\ns8_t\netharp_find_addr(struct netif *netif, ip_addr_t *ipaddr,\n         struct eth_addr **eth_ret, ip_addr_t **ip_ret)\n{\n  s8_t i;\n\n  LWIP_ASSERT(\"eth_ret != NULL && ip_ret != NULL\",\n    eth_ret != NULL && ip_ret != NULL);\n\n  LWIP_UNUSED_ARG(netif);\n\n  i = etharp_find_entry(ipaddr, ETHARP_FLAG_FIND_ONLY);\n  if((i >= 0) && (arp_table[i].state >= ETHARP_STATE_STABLE)) {\n      *eth_ret = &arp_table[i].ethaddr;\n      *ip_ret = &arp_table[i].ipaddr;\n      return i;\n  }\n  return -1;\n}\n\n#if ETHARP_TRUST_IP_MAC\n/**\n * Updates the ARP table using the given IP packet.\n *\n * Uses the incoming IP packet's source address to update the\n * ARP cache for the local network. The function does not alter\n * or free the packet. This function must be called before the\n * packet p is passed to the IP layer.\n *\n * @param netif The lwIP network interface on which the IP packet pbuf arrived.\n * @param p The IP packet that arrived on netif.\n *\n * @return NULL\n *\n * @see pbuf_free()\n */\nstatic void\netharp_ip_input(struct netif *netif, struct pbuf *p)\n{\n  struct eth_hdr *ethhdr;\n  struct ip_hdr *iphdr;\n  ip_addr_t iphdr_src;\n  LWIP_ERROR(\"netif != NULL\", (netif != NULL), return;);\n\n  /* Only insert an entry if the source IP address of the\n     incoming IP packet comes from a host on the local network. */\n  ethhdr = (struct eth_hdr *)p->payload;\n  iphdr = (struct ip_hdr *)((u8_t*)ethhdr + SIZEOF_ETH_HDR);\n#if ETHARP_SUPPORT_VLAN\n  if (ethhdr->type == PP_HTONS(ETHTYPE_VLAN)) {\n    iphdr = (struct ip_hdr *)((u8_t*)ethhdr + SIZEOF_ETH_HDR + SIZEOF_VLAN_HDR);\n  }\n#endif /* ETHARP_SUPPORT_VLAN */\n\n  ip_addr_copy(iphdr_src, iphdr->src);\n\n  /* source is not on the local network? */\n  if (!ip_addr_netcmp(&iphdr_src, &(netif->ip_addr), &(netif->netmask))) {\n    /* do nothing */\n    return;\n  }\n\n  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_ip_input: updating ETHARP table.\\n\"));\n  /* update the source IP address in the cache, if present */\n  /* @todo We could use ETHARP_FLAG_TRY_HARD if we think we are going to talk\n   * back soon (for example, if the destination IP address is ours. */\n  etharp_update_arp_entry(netif, &iphdr_src, &(ethhdr->src), ETHARP_FLAG_FIND_ONLY);\n}\n#endif /* ETHARP_TRUST_IP_MAC */\n\n/**\n * Responds to ARP requests to us. Upon ARP replies to us, add entry to cache  \n * send out queued IP packets. Updates cache with snooped address pairs.\n *\n * Should be called for incoming ARP packets. The pbuf in the argument\n * is freed by this function.\n *\n * @param netif The lwIP network interface on which the ARP packet pbuf arrived.\n * @param ethaddr Ethernet address of netif.\n * @param p The ARP packet that arrived on netif. Is freed by this function.\n *\n * @return NULL\n *\n * @see pbuf_free()\n */\nstatic void\netharp_arp_input(struct netif *netif, struct eth_addr *ethaddr, struct pbuf *p)\n{\n  struct etharp_hdr *hdr;\n  struct eth_hdr *ethhdr;\n  /* these are aligned properly, whereas the ARP header fields might not be */\n  ip_addr_t sipaddr, dipaddr;\n  u8_t for_us;\n#if LWIP_AUTOIP\n  const u8_t * ethdst_hwaddr;\n#endif /* LWIP_AUTOIP */\n\n  LWIP_ERROR(\"netif != NULL\", (netif != NULL), return;);\n\n  /* drop short ARP packets: we have to check for p->len instead of p->tot_len here\n     since a struct etharp_hdr is pointed to p->payload, so it musn't be chained! */\n  if (p->len < SIZEOF_ETHARP_PACKET) {\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING,\n      (\"etharp_arp_input: packet dropped, too short (%\"S16_F\"/%\"S16_F\")\\n\", p->tot_len,\n      (s16_t)SIZEOF_ETHARP_PACKET));\n    ETHARP_STATS_INC(etharp.lenerr);\n    ETHARP_STATS_INC(etharp.drop);\n    pbuf_free(p);\n    return;\n  }\n\n  ethhdr = (struct eth_hdr *)p->payload;\n  hdr = (struct etharp_hdr *)((u8_t*)ethhdr + SIZEOF_ETH_HDR);\n#if ETHARP_SUPPORT_VLAN\n  if (ethhdr->type == PP_HTONS(ETHTYPE_VLAN)) {\n    hdr = (struct etharp_hdr *)(((u8_t*)ethhdr) + SIZEOF_ETH_HDR + SIZEOF_VLAN_HDR);\n  }\n#endif /* ETHARP_SUPPORT_VLAN */\n\n  /* RFC 826 \"Packet Reception\": */\n  if ((hdr->hwtype != PP_HTONS(HWTYPE_ETHERNET)) ||\n      (hdr->hwlen != ETHARP_HWADDR_LEN) ||\n      (hdr->protolen != sizeof(ip_addr_t)) ||\n      (hdr->proto != PP_HTONS(ETHTYPE_IP)))  {\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING,\n      (\"etharp_arp_input: packet dropped, wrong hw type, hwlen, proto, protolen or ethernet type (%\"U16_F\"/%\"U16_F\"/%\"U16_F\"/%\"U16_F\")\\n\",\n      hdr->hwtype, hdr->hwlen, hdr->proto, hdr->protolen));\n    ETHARP_STATS_INC(etharp.proterr);\n    ETHARP_STATS_INC(etharp.drop);\n    pbuf_free(p);\n    return;\n  }\n  ETHARP_STATS_INC(etharp.recv);\n\n#if LWIP_AUTOIP\n  /* We have to check if a host already has configured our random\n   * created link local address and continously check if there is\n   * a host with this IP-address so we can detect collisions */\n  autoip_arp_reply(netif, hdr);\n#endif /* LWIP_AUTOIP */\n\n  /* Copy struct ip_addr2 to aligned ip_addr, to support compilers without\n   * structure packing (not using structure copy which breaks strict-aliasing rules). */\n  IPADDR2_COPY(&sipaddr, &hdr->sipaddr);\n  IPADDR2_COPY(&dipaddr, &hdr->dipaddr);\n\n  /* this interface is not configured? */\n  if (ip_addr_isany(&netif->ip_addr)) {\n    for_us = 0;\n  } else {\n    /* ARP packet directed to us? */\n    for_us = (u8_t)ip_addr_cmp(&dipaddr, &(netif->ip_addr));\n  }\n\n  /* ARP message directed to us?\n      -> add IP address in ARP cache; assume requester wants to talk to us,\n         can result in directly sending the queued packets for this host.\n     ARP message not directed to us?\n      ->  update the source IP address in the cache, if present */\n  etharp_update_arp_entry(netif, &sipaddr, &(hdr->shwaddr),\n                   for_us ? ETHARP_FLAG_TRY_HARD : ETHARP_FLAG_FIND_ONLY);\n\n  /* now act on the message itself */\n  switch (hdr->opcode) {\n  /* ARP request? */\n  case PP_HTONS(ARP_REQUEST):\n    /* ARP request. If it asked for our address, we send out a\n     * reply. In any case, we time-stamp any existing ARP entry,\n     * and possiby send out an IP packet that was queued on it. */\n\n    LWIP_DEBUGF (ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_arp_input: incoming ARP request\\n\"));\n    /* ARP request for our address? */\n    if (for_us) {\n\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_arp_input: replying to ARP request for our IP address\\n\"));\n      /* Re-use pbuf to send ARP reply.\n         Since we are re-using an existing pbuf, we can't call etharp_raw since\n         that would allocate a new pbuf. */\n      hdr->opcode = htons(ARP_REPLY);\n\n      IPADDR2_COPY(&hdr->dipaddr, &hdr->sipaddr);\n      IPADDR2_COPY(&hdr->sipaddr, &netif->ip_addr);\n\n      LWIP_ASSERT(\"netif->hwaddr_len must be the same as ETHARP_HWADDR_LEN for etharp!\",\n                  (netif->hwaddr_len == ETHARP_HWADDR_LEN));\n#if LWIP_AUTOIP\n      /* If we are using Link-Local, all ARP packets that contain a Link-Local\n       * 'sender IP address' MUST be sent using link-layer broadcast instead of\n       * link-layer unicast. (See RFC3927 Section 2.5, last paragraph) */\n      ethdst_hwaddr = ip_addr_islinklocal(&netif->ip_addr) ? (u8_t*)(ethbroadcast.addr) : hdr->shwaddr.addr;\n#endif /* LWIP_AUTOIP */\n\n      ETHADDR16_COPY(&hdr->dhwaddr, &hdr->shwaddr);\n#if LWIP_AUTOIP\n      ETHADDR16_COPY(&ethhdr->dest, ethdst_hwaddr);\n#else  /* LWIP_AUTOIP */\n      ETHADDR16_COPY(&ethhdr->dest, &hdr->shwaddr);\n#endif /* LWIP_AUTOIP */\n      ETHADDR16_COPY(&hdr->shwaddr, ethaddr);\n      ETHADDR16_COPY(&ethhdr->src, ethaddr);\n\n      /* hwtype, hwaddr_len, proto, protolen and the type in the ethernet header\n         are already correct, we tested that before */\n\n      /* return ARP reply */\n      netif->linkoutput(netif, p);\n    /* we are not configured? */\n    } else if (ip_addr_isany(&netif->ip_addr)) {\n      /* { for_us == 0 and netif->ip_addr.addr == 0 } */\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_arp_input: we are unconfigured, ARP request ignored.\\n\"));\n    /* request was not directed to us */\n    } else {\n      /* { for_us == 0 and netif->ip_addr.addr != 0 } */\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_arp_input: ARP request was not for us.\\n\"));\n    }\n    break;\n  case PP_HTONS(ARP_REPLY):\n    /* ARP reply. We already updated the ARP cache earlier. */\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_arp_input: incoming ARP reply\\n\"));\n#if (LWIP_DHCP && DHCP_DOES_ARP_CHECK)\n    /* DHCP wants to know about ARP replies from any host with an\n     * IP address also offered to us by the DHCP server. We do not\n     * want to take a duplicate IP address on a single network.\n     * @todo How should we handle redundant (fail-over) interfaces? */\n    dhcp_arp_reply(netif, &sipaddr);\n#endif /* (LWIP_DHCP && DHCP_DOES_ARP_CHECK) */\n    break;\n  default:\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_arp_input: ARP unknown opcode type %\"S16_F\"\\n\", htons(hdr->opcode)));\n    ETHARP_STATS_INC(etharp.err);\n    break;\n  }\n  /* free ARP packet */\n  pbuf_free(p);\n}\n\n/** Just a small helper function that sends a pbuf to an ethernet address\n * in the arp_table specified by the index 'arp_idx'.\n */\nstatic err_t\netharp_output_to_arp_index(struct netif *netif, struct pbuf *q, u8_t arp_idx)\n{\n  LWIP_ASSERT(\"arp_table[arp_idx].state >= ETHARP_STATE_STABLE\",\n              arp_table[arp_idx].state >= ETHARP_STATE_STABLE);\n  /* if arp table entry is about to expire: re-request it,\n     but only if its state is ETHARP_STATE_STABLE to prevent flooding the\n     network with ARP requests if this address is used frequently. */\n  if ((arp_table[arp_idx].state == ETHARP_STATE_STABLE) && \n      (arp_table[arp_idx].ctime >= ARP_AGE_REREQUEST_USED)) {\n    if (etharp_request(netif, &arp_table[arp_idx].ipaddr) == ERR_OK) {\n      arp_table[arp_idx].state = ETHARP_STATE_STABLE_REREQUESTING;\n    }\n  }\n  \n  return etharp_send_ip(netif, q, (struct eth_addr*)(netif->hwaddr),\n    &arp_table[arp_idx].ethaddr);\n}\n\n/**\n * Resolve and fill-in Ethernet address header for outgoing IP packet.\n *\n * For IP multicast and broadcast, corresponding Ethernet addresses\n * are selected and the packet is transmitted on the link.\n *\n * For unicast addresses, the packet is submitted to etharp_query(). In\n * case the IP address is outside the local network, the IP address of\n * the gateway is used.\n *\n * @param netif The lwIP network interface which the IP packet will be sent on.\n * @param q The pbuf(s) containing the IP packet to be sent.\n * @param ipaddr The IP address of the packet destination.\n *\n * @return\n * - ERR_RTE No route to destination (no gateway to external networks),\n * or the return type of either etharp_query() or etharp_send_ip().\n */\nerr_t\netharp_output(struct netif *netif, struct pbuf *q, ip_addr_t *ipaddr)\n{\n  struct eth_addr *dest;\n  struct eth_addr mcastaddr;\n  ip_addr_t *dst_addr = ipaddr;\n\n  LWIP_ASSERT(\"netif != NULL\", netif != NULL);\n  LWIP_ASSERT(\"q != NULL\", q != NULL);\n  LWIP_ASSERT(\"ipaddr != NULL\", ipaddr != NULL);\n\n  /* make room for Ethernet header - should not fail */\n  if (pbuf_header(q, sizeof(struct eth_hdr)) != 0) {\n    /* bail out */\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS,\n      (\"etharp_output: could not allocate room for header.\\n\"));\n    LINK_STATS_INC(link.lenerr);\n    return ERR_BUF;\n  }\n\n  /* Determine on destination hardware address. Broadcasts and multicasts\n   * are special, other IP addresses are looked up in the ARP table. */\n\n  /* broadcast destination IP address? */\n  if (ip_addr_isbroadcast(ipaddr, netif)) {\n    /* broadcast on Ethernet also */\n    dest = (struct eth_addr *)&ethbroadcast;\n  /* multicast destination IP address? */\n  } else if (ip_addr_ismulticast(ipaddr)) {\n    /* Hash IP multicast address to MAC address.*/\n    mcastaddr.addr[0] = LL_MULTICAST_ADDR_0;\n    mcastaddr.addr[1] = LL_MULTICAST_ADDR_1;\n    mcastaddr.addr[2] = LL_MULTICAST_ADDR_2;\n    mcastaddr.addr[3] = ip4_addr2(ipaddr) & 0x7f;\n    mcastaddr.addr[4] = ip4_addr3(ipaddr);\n    mcastaddr.addr[5] = ip4_addr4(ipaddr);\n    /* destination Ethernet address is multicast */\n    dest = &mcastaddr;\n  /* unicast destination IP address? */\n  } else {\n    s8_t i;\n    /* outside local network? if so, this can neither be a global broadcast nor\n       a subnet broadcast. */\n    if (!ip_addr_netcmp(ipaddr, &(netif->ip_addr), &(netif->netmask)) &&\n        !ip_addr_islinklocal(ipaddr)) {\n#if LWIP_AUTOIP\n      struct ip_hdr *iphdr = (struct ip_hdr*)((u8_t*)q->payload +\n        sizeof(struct eth_hdr));\n      /* According to RFC 3297, chapter 2.6.2 (Forwarding Rules), a packet with\n         a link-local source address must always be \"directly to its destination\n         on the same physical link. The host MUST NOT send the packet to any\n         router for forwarding\". */\n      if (!ip_addr_islinklocal(&iphdr->src))\n#endif /* LWIP_AUTOIP */\n      {\n        /* interface has default gateway? */\n        if (!ip_addr_isany(&netif->gw)) {\n          /* send to hardware address of default gateway IP address */\n          dst_addr = &(netif->gw);\n        /* no default gateway available */\n        } else {\n          /* no route to destination error (default gateway missing) */\n          return ERR_RTE;\n        }\n      }\n    }\n#if LWIP_NETIF_HWADDRHINT\n    if (netif->addr_hint != NULL) {\n      /* per-pcb cached entry was given */\n      u8_t etharp_cached_entry = *(netif->addr_hint);\n      if (etharp_cached_entry < ARP_TABLE_SIZE) {\n#endif /* LWIP_NETIF_HWADDRHINT */\n        if ((arp_table[etharp_cached_entry].state >= ETHARP_STATE_STABLE) &&\n            (ip_addr_cmp(dst_addr, &arp_table[etharp_cached_entry].ipaddr))) {\n          /* the per-pcb-cached entry is stable and the right one! */\n          ETHARP_STATS_INC(etharp.cachehit);\n          return etharp_output_to_arp_index(netif, q, etharp_cached_entry);\n        }\n#if LWIP_NETIF_HWADDRHINT\n      }\n    }\n#endif /* LWIP_NETIF_HWADDRHINT */\n\n    /* find stable entry: do this here since this is a critical path for\n       throughput and etharp_find_entry() is kind of slow */\n    for (i = 0; i < ARP_TABLE_SIZE; i++) {\n      if ((arp_table[i].state >= ETHARP_STATE_STABLE) &&\n          (ip_addr_cmp(dst_addr, &arp_table[i].ipaddr))) {\n        /* found an existing, stable entry */\n        ETHARP_SET_HINT(netif, i);\n        return etharp_output_to_arp_index(netif, q, i);\n      }\n    }\n    /* no stable entry found, use the (slower) query function:\n       queue on destination Ethernet address belonging to ipaddr */\n    return etharp_query(netif, dst_addr, q);\n  }\n\n  /* continuation for multicast/broadcast destinations */\n  /* obtain source Ethernet address of the given interface */\n  /* send packet directly on the link */\n  return etharp_send_ip(netif, q, (struct eth_addr*)(netif->hwaddr), dest);\n}\n\n/**\n * Send an ARP request for the given IP address and/or queue a packet.\n *\n * If the IP address was not yet in the cache, a pending ARP cache entry\n * is added and an ARP request is sent for the given address. The packet\n * is queued on this entry.\n *\n * If the IP address was already pending in the cache, a new ARP request\n * is sent for the given address. The packet is queued on this entry.\n *\n * If the IP address was already stable in the cache, and a packet is\n * given, it is directly sent and no ARP request is sent out. \n * \n * If the IP address was already stable in the cache, and no packet is\n * given, an ARP request is sent out.\n * \n * @param netif The lwIP network interface on which ipaddr\n * must be queried for.\n * @param ipaddr The IP address to be resolved.\n * @param q If non-NULL, a pbuf that must be delivered to the IP address.\n * q is not freed by this function.\n *\n * @note q must only be ONE packet, not a packet queue!\n *\n * @return\n * - ERR_BUF Could not make room for Ethernet header.\n * - ERR_MEM Hardware address unknown, and no more ARP entries available\n *   to query for address or queue the packet.\n * - ERR_MEM Could not queue packet due to memory shortage.\n * - ERR_RTE No route to destination (no gateway to external networks).\n * - ERR_ARG Non-unicast address given, those will not appear in ARP cache.\n *\n */\nerr_t\netharp_query(struct netif *netif, ip_addr_t *ipaddr, struct pbuf *q)\n{\n  struct eth_addr * srcaddr = (struct eth_addr *)netif->hwaddr;\n  err_t result = ERR_MEM;\n  s8_t i; /* ARP entry index */\n\n  /* non-unicast address? */\n  if (ip_addr_isbroadcast(ipaddr, netif) ||\n      ip_addr_ismulticast(ipaddr) ||\n      ip_addr_isany(ipaddr)) {\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_query: will not add non-unicast IP address to ARP cache\\n\"));\n    return ERR_ARG;\n  }\n\n  /* find entry in ARP cache, ask to create entry if queueing packet */\n  i = etharp_find_entry(ipaddr, ETHARP_FLAG_TRY_HARD);\n\n  /* could not find or create entry? */\n  if (i < 0) {\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_query: could not create ARP entry\\n\"));\n    if (q) {\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_query: packet dropped\\n\"));\n      ETHARP_STATS_INC(etharp.memerr);\n    }\n    return (err_t)i;\n  }\n\n  /* mark a fresh entry as pending (we just sent a request) */\n  if (arp_table[i].state == ETHARP_STATE_EMPTY) {\n    arp_table[i].state = ETHARP_STATE_PENDING;\n  }\n\n  /* { i is either a STABLE or (new or existing) PENDING entry } */\n  LWIP_ASSERT(\"arp_table[i].state == PENDING or STABLE\",\n  ((arp_table[i].state == ETHARP_STATE_PENDING) ||\n   (arp_table[i].state >= ETHARP_STATE_STABLE)));\n\n  /* do we have a pending entry? or an implicit query request? */\n  if ((arp_table[i].state == ETHARP_STATE_PENDING) || (q == NULL)) {\n    /* try to resolve it; send out ARP request */\n    result = etharp_request(netif, ipaddr);\n    if (result != ERR_OK) {\n      /* ARP request couldn't be sent */\n      /* We don't re-send arp request in etharp_tmr, but we still queue packets,\n         since this failure could be temporary, and the next packet calling\n         etharp_query again could lead to sending the queued packets. */\n    }\n    if (q == NULL) {\n      return result;\n    }\n  }\n\n  /* packet given? */\n  LWIP_ASSERT(\"q != NULL\", q != NULL);\n  /* stable entry? */\n  if (arp_table[i].state >= ETHARP_STATE_STABLE) {\n    /* we have a valid IP->Ethernet address mapping */\n    ETHARP_SET_HINT(netif, i);\n    /* send the packet */\n    result = etharp_send_ip(netif, q, srcaddr, &(arp_table[i].ethaddr));\n  /* pending entry? (either just created or already pending */\n  } else if (arp_table[i].state == ETHARP_STATE_PENDING) {\n    /* entry is still pending, queue the given packet 'q' */\n    struct pbuf *p;\n    int copy_needed = 0;\n    /* IF q includes a PBUF_REF, PBUF_POOL or PBUF_RAM, we have no choice but\n     * to copy the whole queue into a new PBUF_RAM (see bug #11400) \n     * PBUF_ROMs can be left as they are, since ROM must not get changed. */\n    p = q;\n    while (p) {\n      LWIP_ASSERT(\"no packet queues allowed!\", (p->len != p->tot_len) || (p->next == 0));\n      if(p->type != PBUF_ROM) {\n        copy_needed = 1;\n        break;\n      }\n      p = p->next;\n    }\n    if(copy_needed) {\n      /* copy the whole packet into new pbufs */\n      p = pbuf_alloc(PBUF_RAW, p->tot_len, PBUF_RAM);\n      if(p != NULL) {\n        if (pbuf_copy(p, q) != ERR_OK) {\n          pbuf_free(p);\n          p = NULL;\n        }\n      }\n    } else {\n      /* referencing the old pbuf is enough */\n      p = q;\n      pbuf_ref(p);\n    }\n    /* packet could be taken over? */\n    if (p != NULL) {\n      /* queue packet ... */\n#if ARP_QUEUEING\n      struct etharp_q_entry *new_entry;\n      /* allocate a new arp queue entry */\n      new_entry = (struct etharp_q_entry *)memp_malloc(MEMP_ARP_QUEUE);\n      if (new_entry != NULL) {\n        new_entry->next = 0;\n        new_entry->p = p;\n        if(arp_table[i].q != NULL) {\n          /* queue was already existent, append the new entry to the end */\n          struct etharp_q_entry *r;\n          r = arp_table[i].q;\n          while (r->next != NULL) {\n            r = r->next;\n          }\n          r->next = new_entry;\n        } else {\n          /* queue did not exist, first item in queue */\n          arp_table[i].q = new_entry;\n        }\n        LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_query: queued packet %p on ARP entry %\"S16_F\"\\n\", (void *)q, (s16_t)i));\n        result = ERR_OK;\n      } else {\n        /* the pool MEMP_ARP_QUEUE is empty */\n        pbuf_free(p);\n        LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_query: could not queue a copy of PBUF_REF packet %p (out of memory)\\n\", (void *)q));\n        result = ERR_MEM;\n      }\n#else /* ARP_QUEUEING */\n      /* always queue one packet per ARP request only, freeing a previously queued packet */\n      if (arp_table[i].q != NULL) {\n        LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_query: dropped previously queued packet %p for ARP entry %\"S16_F\"\\n\", (void *)q, (s16_t)i));\n        pbuf_free(arp_table[i].q);\n      }\n      arp_table[i].q = p;\n      result = ERR_OK;\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_query: queued packet %p on ARP entry %\"S16_F\"\\n\", (void *)q, (s16_t)i));\n#endif /* ARP_QUEUEING */\n    } else {\n      ETHARP_STATS_INC(etharp.memerr);\n      LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_query: could not queue a copy of PBUF_REF packet %p (out of memory)\\n\", (void *)q));\n      result = ERR_MEM;\n    }\n  }\n  return result;\n}\n\n/**\n * Send a raw ARP packet (opcode and all addresses can be modified)\n *\n * @param netif the lwip network interface on which to send the ARP packet\n * @param ethsrc_addr the source MAC address for the ethernet header\n * @param ethdst_addr the destination MAC address for the ethernet header\n * @param hwsrc_addr the source MAC address for the ARP protocol header\n * @param ipsrc_addr the source IP address for the ARP protocol header\n * @param hwdst_addr the destination MAC address for the ARP protocol header\n * @param ipdst_addr the destination IP address for the ARP protocol header\n * @param opcode the type of the ARP packet\n * @return ERR_OK if the ARP packet has been sent\n *         ERR_MEM if the ARP packet couldn't be allocated\n *         any other err_t on failure\n */\n#if !LWIP_AUTOIP\nstatic\n#endif /* LWIP_AUTOIP */\nerr_t\netharp_raw(struct netif *netif, const struct eth_addr *ethsrc_addr,\n           const struct eth_addr *ethdst_addr,\n           const struct eth_addr *hwsrc_addr, const ip_addr_t *ipsrc_addr,\n           const struct eth_addr *hwdst_addr, const ip_addr_t *ipdst_addr,\n           const u16_t opcode)\n{\n  struct pbuf *p;\n  err_t result = ERR_OK;\n  struct eth_hdr *ethhdr;\n  struct etharp_hdr *hdr;\n#if LWIP_AUTOIP\n  const u8_t * ethdst_hwaddr;\n#endif /* LWIP_AUTOIP */\n\n  LWIP_ASSERT(\"netif != NULL\", netif != NULL);\n\n  /* allocate a pbuf for the outgoing ARP request packet */\n  p = pbuf_alloc(PBUF_RAW, SIZEOF_ETHARP_PACKET, PBUF_RAM);\n  /* could allocate a pbuf for an ARP request? */\n  if (p == NULL) {\n    LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_SERIOUS,\n      (\"etharp_raw: could not allocate pbuf for ARP request.\\n\"));\n    ETHARP_STATS_INC(etharp.memerr);\n    return ERR_MEM;\n  }\n  LWIP_ASSERT(\"check that first pbuf can hold struct etharp_hdr\",\n              (p->len >= SIZEOF_ETHARP_PACKET));\n\n  ethhdr = (struct eth_hdr *)p->payload;\n  hdr = (struct etharp_hdr *)((u8_t*)ethhdr + SIZEOF_ETH_HDR);\n  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_raw: sending raw ARP packet.\\n\"));\n  hdr->opcode = htons(opcode);\n\n  LWIP_ASSERT(\"netif->hwaddr_len must be the same as ETHARP_HWADDR_LEN for etharp!\",\n              (netif->hwaddr_len == ETHARP_HWADDR_LEN));\n#if LWIP_AUTOIP\n  /* If we are using Link-Local, all ARP packets that contain a Link-Local\n   * 'sender IP address' MUST be sent using link-layer broadcast instead of\n   * link-layer unicast. (See RFC3927 Section 2.5, last paragraph) */\n  ethdst_hwaddr = ip_addr_islinklocal(ipsrc_addr) ? (u8_t*)(ethbroadcast.addr) : ethdst_addr->addr;\n#endif /* LWIP_AUTOIP */\n  /* Write the ARP MAC-Addresses */\n  ETHADDR16_COPY(&hdr->shwaddr, hwsrc_addr);\n  ETHADDR16_COPY(&hdr->dhwaddr, hwdst_addr);\n  /* Write the Ethernet MAC-Addresses */\n#if LWIP_AUTOIP\n  ETHADDR16_COPY(&ethhdr->dest, ethdst_hwaddr);\n#else  /* LWIP_AUTOIP */\n  ETHADDR16_COPY(&ethhdr->dest, ethdst_addr);\n#endif /* LWIP_AUTOIP */\n  ETHADDR16_COPY(&ethhdr->src, ethsrc_addr);\n  /* Copy struct ip_addr2 to aligned ip_addr, to support compilers without\n   * structure packing. */ \n  IPADDR2_COPY(&hdr->sipaddr, ipsrc_addr);\n  IPADDR2_COPY(&hdr->dipaddr, ipdst_addr);\n\n  hdr->hwtype = PP_HTONS(HWTYPE_ETHERNET);\n  hdr->proto = PP_HTONS(ETHTYPE_IP);\n  /* set hwlen and protolen */\n  hdr->hwlen = ETHARP_HWADDR_LEN;\n  hdr->protolen = sizeof(ip_addr_t);\n\n  ethhdr->type = PP_HTONS(ETHTYPE_ARP);\n  /* send ARP query */\n  result = netif->linkoutput(netif, p);\n  ETHARP_STATS_INC(etharp.xmit);\n  /* free ARP query packet */\n  pbuf_free(p);\n  p = NULL;\n  /* could not allocate pbuf for ARP request */\n\n  return result;\n}\n\n/**\n * Send an ARP request packet asking for ipaddr.\n *\n * @param netif the lwip network interface on which to send the request\n * @param ipaddr the IP address for which to ask\n * @return ERR_OK if the request has been sent\n *         ERR_MEM if the ARP packet couldn't be allocated\n *         any other err_t on failure\n */\nerr_t\netharp_request(struct netif *netif, ip_addr_t *ipaddr)\n{\n  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE, (\"etharp_request: sending ARP request.\\n\"));\n  return etharp_raw(netif, (struct eth_addr *)netif->hwaddr, &ethbroadcast,\n                    (struct eth_addr *)netif->hwaddr, &netif->ip_addr, &ethzero,\n                    ipaddr, ARP_REQUEST);\n}\n#endif /* LWIP_ARP */\n\n/**\n * Process received ethernet frames. Using this function instead of directly\n * calling ip_input and passing ARP frames through etharp in ethernetif_input,\n * the ARP cache is protected from concurrent access.\n *\n * @param p the recevied packet, p->payload pointing to the ethernet header\n * @param netif the network interface on which the packet was received\n */\nerr_t\nethernet_input(struct pbuf *p, struct netif *netif)\n{\n  struct eth_hdr* ethhdr;\n  u16_t type;\n#if LWIP_ARP || ETHARP_SUPPORT_VLAN\n  s16_t ip_hdr_offset = SIZEOF_ETH_HDR;\n#endif /* LWIP_ARP || ETHARP_SUPPORT_VLAN */\n\n  if (p->len <= SIZEOF_ETH_HDR) {\n    /* a packet with only an ethernet header (or less) is not valid for us */\n    ETHARP_STATS_INC(etharp.proterr);\n    ETHARP_STATS_INC(etharp.drop);\n    goto free_and_return;\n  }\n\n  /* points to packet payload, which starts with an Ethernet header */\n  ethhdr = (struct eth_hdr *)p->payload;\n  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE,\n    (\"ethernet_input: dest:%\"X8_F\":%\"X8_F\":%\"X8_F\":%\"X8_F\":%\"X8_F\":%\"X8_F\", src:%\"X8_F\":%\"X8_F\":%\"X8_F\":%\"X8_F\":%\"X8_F\":%\"X8_F\", type:%\"X16_F\"\\n\",\n     (unsigned)ethhdr->dest.addr[0], (unsigned)ethhdr->dest.addr[1], (unsigned)ethhdr->dest.addr[2],\n     (unsigned)ethhdr->dest.addr[3], (unsigned)ethhdr->dest.addr[4], (unsigned)ethhdr->dest.addr[5],\n     (unsigned)ethhdr->src.addr[0], (unsigned)ethhdr->src.addr[1], (unsigned)ethhdr->src.addr[2],\n     (unsigned)ethhdr->src.addr[3], (unsigned)ethhdr->src.addr[4], (unsigned)ethhdr->src.addr[5],\n     (unsigned)htons(ethhdr->type)));\n\n  type = ethhdr->type;\n#if ETHARP_SUPPORT_VLAN\n  if (type == PP_HTONS(ETHTYPE_VLAN)) {\n    struct eth_vlan_hdr *vlan = (struct eth_vlan_hdr*)(((char*)ethhdr) + SIZEOF_ETH_HDR);\n    if (p->len <= SIZEOF_ETH_HDR + SIZEOF_VLAN_HDR) {\n      /* a packet with only an ethernet/vlan header (or less) is not valid for us */\n      ETHARP_STATS_INC(etharp.proterr);\n      ETHARP_STATS_INC(etharp.drop);\n      goto free_and_return;\n    }\n#if defined(ETHARP_VLAN_CHECK) || defined(ETHARP_VLAN_CHECK_FN) /* if not, allow all VLANs */\n#ifdef ETHARP_VLAN_CHECK_FN\n    if (!ETHARP_VLAN_CHECK_FN(ethhdr, vlan)) {\n#elif defined(ETHARP_VLAN_CHECK)\n    if (VLAN_ID(vlan) != ETHARP_VLAN_CHECK) {\n#endif\n      /* silently ignore this packet: not for our VLAN */\n      pbuf_free(p);\n      return ERR_OK;\n    }\n#endif /* defined(ETHARP_VLAN_CHECK) || defined(ETHARP_VLAN_CHECK_FN) */\n    type = vlan->tpid;\n    ip_hdr_offset = SIZEOF_ETH_HDR + SIZEOF_VLAN_HDR;\n  }\n#endif /* ETHARP_SUPPORT_VLAN */\n\n#if LWIP_ARP_FILTER_NETIF\n  netif = LWIP_ARP_FILTER_NETIF_FN(p, netif, htons(type));\n#endif /* LWIP_ARP_FILTER_NETIF*/\n\n  if (ethhdr->dest.addr[0] & 1) {\n    /* this might be a multicast or broadcast packet */\n    if (ethhdr->dest.addr[0] == LL_MULTICAST_ADDR_0) {\n      if ((ethhdr->dest.addr[1] == LL_MULTICAST_ADDR_1) &&\n          (ethhdr->dest.addr[2] == LL_MULTICAST_ADDR_2)) {\n        /* mark the pbuf as link-layer multicast */\n        p->flags |= PBUF_FLAG_LLMCAST;\n      }\n    } else if (eth_addr_cmp(&ethhdr->dest, &ethbroadcast)) {\n      /* mark the pbuf as link-layer broadcast */\n      p->flags |= PBUF_FLAG_LLBCAST;\n    }\n  }\n\n  switch (type) {\n#if LWIP_ARP\n    /* IP packet? */\n    case PP_HTONS(ETHTYPE_IP):\n      if (!(netif->flags & NETIF_FLAG_ETHARP)) {\n        goto free_and_return;\n      }\n#if ETHARP_TRUST_IP_MAC\n      /* update ARP table */\n      etharp_ip_input(netif, p);\n#endif /* ETHARP_TRUST_IP_MAC */\n      /* skip Ethernet header */\n      if(pbuf_header(p, -ip_hdr_offset)) {\n        LWIP_ASSERT(\"Can't move over header in packet\", 0);\n        goto free_and_return;\n      } else {\n        /* pass to IP layer */\n        ip_input(p, netif);\n      }\n      break;\n      \n    case PP_HTONS(ETHTYPE_ARP):\n      if (!(netif->flags & NETIF_FLAG_ETHARP)) {\n        goto free_and_return;\n      }\n      /* pass p to ARP module */\n      etharp_arp_input(netif, (struct eth_addr*)(netif->hwaddr), p);\n      break;\n#endif /* LWIP_ARP */\n#if PPPOE_SUPPORT\n    case PP_HTONS(ETHTYPE_PPPOEDISC): /* PPP Over Ethernet Discovery Stage */\n      pppoe_disc_input(netif, p);\n      break;\n\n    case PP_HTONS(ETHTYPE_PPPOE): /* PPP Over Ethernet Session Stage */\n      pppoe_data_input(netif, p);\n      break;\n#endif /* PPPOE_SUPPORT */\n\n    default:\n      ETHARP_STATS_INC(etharp.proterr);\n      ETHARP_STATS_INC(etharp.drop);\n      goto free_and_return;\n  }\n\n  /* This means the pbuf is freed or consumed,\n     so the caller doesn't have to free it again */\n  return ERR_OK;\n\nfree_and_return:\n  pbuf_free(p);\n  return ERR_OK;\n}\n#endif /* LWIP_ARP || LWIP_ETHERNET */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ethernetif.c",
    "content": "/**\n * @file\n * Ethernet Interface Skeleton\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n * \n * Redistribution and use in source and binary forms, with or without modification, \n * are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n *    this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n *    this list of conditions and the following disclaimer in the documentation\n *    and/or other materials provided with the distribution.\n * 3. The name of the author may not be used to endorse or promote products\n *    derived from this software without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED \n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT \n * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, \n * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT \n * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING \n * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY \n * OF SUCH DAMAGE.\n *\n * This file is part of the lwIP TCP/IP stack.\n * \n * Author: Adam Dunkels <adam@sics.se>\n *\n */\n\n/*\n * This file is a skeleton for developing Ethernet network interface\n * drivers for lwIP. Add code to the low_level functions and do a\n * search-and-replace for the word \"ethernetif\" to replace it with\n * something that better describes your network interface.\n */\n\n#include \"lwip/opt.h\"\n\n#if 0 /* don't build, this is only a skeleton, see previous comment */\n\n#include \"lwip/def.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/pbuf.h\"\n#include <lwip/stats.h>\n#include <lwip/snmp.h>\n#include \"netif/etharp.h\"\n#include \"netif/ppp_oe.h\"\n\n/* Define those to better describe your network interface. */\n#define IFNAME0 'e'\n#define IFNAME1 'n'\n\n/**\n * Helper struct to hold private data used to operate your ethernet interface.\n * Keeping the ethernet address of the MAC in this struct is not necessary\n * as it is already kept in the struct netif.\n * But this is only an example, anyway...\n */\nstruct ethernetif {\n  struct eth_addr *ethaddr;\n  /* Add whatever per-interface state that is needed here. */\n};\n\n/* Forward declarations. */\nstatic void  ethernetif_input(struct netif *netif);\n\n/**\n * In this function, the hardware should be initialized.\n * Called from ethernetif_init().\n *\n * @param netif the already initialized lwip network interface structure\n *        for this ethernetif\n */\nstatic void\nlow_level_init(struct netif *netif)\n{\n  struct ethernetif *ethernetif = netif->state;\n  \n  /* set MAC hardware address length */\n  netif->hwaddr_len = ETHARP_HWADDR_LEN;\n\n  /* set MAC hardware address */\n  netif->hwaddr[0] = ;\n  ...\n  netif->hwaddr[5] = ;\n\n  /* maximum transfer unit */\n  netif->mtu = 1500;\n  \n  /* device capabilities */\n  /* don't set NETIF_FLAG_ETHARP if this device is not an ethernet one */\n  netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_LINK_UP;\n \n  /* Do whatever else is needed to initialize interface. */  \n}\n\n/**\n * This function should do the actual transmission of the packet. The packet is\n * contained in the pbuf that is passed to the function. This pbuf\n * might be chained.\n *\n * @param netif the lwip network interface structure for this ethernetif\n * @param p the MAC packet to send (e.g. IP packet including MAC addresses and type)\n * @return ERR_OK if the packet could be sent\n *         an err_t value if the packet couldn't be sent\n *\n * @note Returning ERR_MEM here if a DMA queue of your MAC is full can lead to\n *       strange results. You might consider waiting for space in the DMA queue\n *       to become availale since the stack doesn't retry to send a packet\n *       dropped because of memory failure (except for the TCP timers).\n */\n\nstatic err_t\nlow_level_output(struct netif *netif, struct pbuf *p)\n{\n  struct ethernetif *ethernetif = netif->state;\n  struct pbuf *q;\n\n  initiate transfer();\n  \n#if ETH_PAD_SIZE\n  pbuf_header(p, -ETH_PAD_SIZE); /* drop the padding word */\n#endif\n\n  for(q = p; q != NULL; q = q->next) {\n    /* Send the data from the pbuf to the interface, one pbuf at a\n       time. The size of the data in each pbuf is kept in the ->len\n       variable. */\n    send data from(q->payload, q->len);\n  }\n\n  signal that packet should be sent();\n\n#if ETH_PAD_SIZE\n  pbuf_header(p, ETH_PAD_SIZE); /* reclaim the padding word */\n#endif\n  \n  LINK_STATS_INC(link.xmit);\n\n  return ERR_OK;\n}\n\n/**\n * Should allocate a pbuf and transfer the bytes of the incoming\n * packet from the interface into the pbuf.\n *\n * @param netif the lwip network interface structure for this ethernetif\n * @return a pbuf filled with the received packet (including MAC header)\n *         NULL on memory error\n */\nstatic struct pbuf *\nlow_level_input(struct netif *netif)\n{\n  struct ethernetif *ethernetif = netif->state;\n  struct pbuf *p, *q;\n  u16_t len;\n\n  /* Obtain the size of the packet and put it into the \"len\"\n     variable. */\n  len = ;\n\n#if ETH_PAD_SIZE\n  len += ETH_PAD_SIZE; /* allow room for Ethernet padding */\n#endif\n\n  /* We allocate a pbuf chain of pbufs from the pool. */\n  p = pbuf_alloc(PBUF_RAW, len, PBUF_POOL);\n  \n  if (p != NULL) {\n\n#if ETH_PAD_SIZE\n    pbuf_header(p, -ETH_PAD_SIZE); /* drop the padding word */\n#endif\n\n    /* We iterate over the pbuf chain until we have read the entire\n     * packet into the pbuf. */\n    for(q = p; q != NULL; q = q->next) {\n      /* Read enough bytes to fill this pbuf in the chain. The\n       * available data in the pbuf is given by the q->len\n       * variable.\n       * This does not necessarily have to be a memcpy, you can also preallocate\n       * pbufs for a DMA-enabled MAC and after receiving truncate it to the\n       * actually received size. In this case, ensure the tot_len member of the\n       * pbuf is the sum of the chained pbuf len members.\n       */\n      read data into(q->payload, q->len);\n    }\n    acknowledge that packet has been read();\n\n#if ETH_PAD_SIZE\n    pbuf_header(p, ETH_PAD_SIZE); /* reclaim the padding word */\n#endif\n\n    LINK_STATS_INC(link.recv);\n  } else {\n    drop packet();\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.drop);\n  }\n\n  return p;  \n}\n\n/**\n * This function should be called when a packet is ready to be read\n * from the interface. It uses the function low_level_input() that\n * should handle the actual reception of bytes from the network\n * interface. Then the type of the received packet is determined and\n * the appropriate input function is called.\n *\n * @param netif the lwip network interface structure for this ethernetif\n */\nstatic void\nethernetif_input(struct netif *netif)\n{\n  struct ethernetif *ethernetif;\n  struct eth_hdr *ethhdr;\n  struct pbuf *p;\n\n  ethernetif = netif->state;\n\n  /* move received packet into a new pbuf */\n  p = low_level_input(netif);\n  /* no packet could be read, silently ignore this */\n  if (p == NULL) return;\n  /* points to packet payload, which starts with an Ethernet header */\n  ethhdr = p->payload;\n\n  switch (htons(ethhdr->type)) {\n  /* IP or ARP packet? */\n  case ETHTYPE_IP:\n  case ETHTYPE_ARP:\n#if PPPOE_SUPPORT\n  /* PPPoE packet? */\n  case ETHTYPE_PPPOEDISC:\n  case ETHTYPE_PPPOE:\n#endif /* PPPOE_SUPPORT */\n    /* full packet send to tcpip_thread to process */\n    if (netif->input(p, netif)!=ERR_OK)\n     { LWIP_DEBUGF(NETIF_DEBUG, (\"ethernetif_input: IP input error\\n\"));\n       pbuf_free(p);\n       p = NULL;\n     }\n    break;\n\n  default:\n    pbuf_free(p);\n    p = NULL;\n    break;\n  }\n}\n\n/**\n * Should be called at the beginning of the program to set up the\n * network interface. It calls the function low_level_init() to do the\n * actual setup of the hardware.\n *\n * This function should be passed as a parameter to netif_add().\n *\n * @param netif the lwip network interface structure for this ethernetif\n * @return ERR_OK if the loopif is initialized\n *         ERR_MEM if private data couldn't be allocated\n *         any other err_t on error\n */\nerr_t\nethernetif_init(struct netif *netif)\n{\n  struct ethernetif *ethernetif;\n\n  LWIP_ASSERT(\"netif != NULL\", (netif != NULL));\n    \n  ethernetif = mem_malloc(sizeof(struct ethernetif));\n  if (ethernetif == NULL) {\n    LWIP_DEBUGF(NETIF_DEBUG, (\"ethernetif_init: out of memory\\n\"));\n    return ERR_MEM;\n  }\n\n#if LWIP_NETIF_HOSTNAME\n  /* Initialize interface hostname */\n  netif->hostname = \"lwip\";\n#endif /* LWIP_NETIF_HOSTNAME */\n\n  /*\n   * Initialize the snmp variables and counters inside the struct netif.\n   * The last argument should be replaced with your link speed, in units\n   * of bits per second.\n   */\n  NETIF_INIT_SNMP(netif, snmp_ifType_ethernet_csmacd, LINK_SPEED_OF_YOUR_NETIF_IN_BPS);\n\n  netif->state = ethernetif;\n  netif->name[0] = IFNAME0;\n  netif->name[1] = IFNAME1;\n  /* We directly use etharp_output() here to save a function call.\n   * You can instead declare your own function an call etharp_output()\n   * from it if you have to do some checks before sending (e.g. if link\n   * is available...) */\n  netif->output = etharp_output;\n  netif->linkoutput = low_level_output;\n  \n  ethernetif->ethaddr = (struct eth_addr *)&(netif->hwaddr[0]);\n  \n  /* initialize the hardware */\n  low_level_init(netif);\n\n  return ERR_OK;\n}\n\n#endif /* 0 */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/auth.c",
    "content": "/*****************************************************************************\n* auth.c - Network Authentication and Phase Control program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* Copyright (c) 1997 by Global Election Systems Inc.  All rights reserved.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-08 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Ported from public pppd code.\n*****************************************************************************/\n/*\n * auth.c - PPP authentication and phase control.\n *\n * Copyright (c) 1993 The Australian National University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by the Australian National University.  The name of the University\n * may not be used to endorse or promote products derived from this\n * software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"fsm.h\"\n#include \"lcp.h\"\n#include \"pap.h\"\n#include \"chap.h\"\n#include \"auth.h\"\n#include \"ipcp.h\"\n\n#if CBCP_SUPPORT\n#include \"cbcp.h\"\n#endif /* CBCP_SUPPORT */\n\n#include \"lwip/inet.h\"\n\n#include <string.h>\n\n#if 0 /* UNUSED */\n/* Bits in scan_authfile return value */\n#define NONWILD_SERVER  1\n#define NONWILD_CLIENT  2\n\n#define ISWILD(word)  (word[0] == '*' && word[1] == 0)\n#endif /* UNUSED */\n\n#if PAP_SUPPORT || CHAP_SUPPORT\n/* The name by which the peer authenticated itself to us. */\nstatic char peer_authname[MAXNAMELEN];\n#endif /* PAP_SUPPORT || CHAP_SUPPORT */\n\n/* Records which authentication operations haven't completed yet. */\nstatic int auth_pending[NUM_PPP];\n\n/* Set if we have successfully called plogin() */\nstatic int logged_in;\n\n/* Set if we have run the /etc/ppp/auth-up script. */\nstatic int did_authup; /* @todo, we don't need this in lwip*/\n\n/* List of addresses which the peer may use. */\nstatic struct wordlist *addresses[NUM_PPP];\n\n#if 0 /* UNUSED */\n/* Wordlist giving addresses which the peer may use\n   without authenticating itself. */\nstatic struct wordlist *noauth_addrs;\n\n/* Extra options to apply, from the secrets file entry for the peer. */\nstatic struct wordlist *extra_options;\n#endif /* UNUSED */\n\n/* Number of network protocols which we have opened. */\nstatic int num_np_open;\n\n/* Number of network protocols which have come up. */\nstatic int num_np_up;\n\n#if PAP_SUPPORT || CHAP_SUPPORT\n/* Set if we got the contents of passwd[] from the pap-secrets file. */\nstatic int passwd_from_file;\n#endif /* PAP_SUPPORT || CHAP_SUPPORT */\n\n#if 0 /* UNUSED */\n/* Set if we require authentication only because we have a default route. */\nstatic bool default_auth;\n\n/* Hook to enable a plugin to control the idle time limit */\nint (*idle_time_hook) __P((struct ppp_idle *)) = NULL;\n\n/* Hook for a plugin to say whether we can possibly authenticate any peer */\nint (*pap_check_hook) __P((void)) = NULL;\n\n/* Hook for a plugin to check the PAP user and password */\nint (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,\n        struct wordlist **paddrs,\n        struct wordlist **popts)) = NULL;\n\n/* Hook for a plugin to know about the PAP user logout */\nvoid (*pap_logout_hook) __P((void)) = NULL;\n\n/* Hook for a plugin to get the PAP password for authenticating us */\nint (*pap_passwd_hook) __P((char *user, char *passwd)) = NULL;\n\n/*\n * This is used to ensure that we don't start an auth-up/down\n * script while one is already running.\n */\nenum script_state {\n    s_down,\n    s_up\n};\n\nstatic enum script_state auth_state = s_down;\nstatic enum script_state auth_script_state = s_down;\nstatic pid_t auth_script_pid = 0;\n\n/*\n * Option variables.\n * lwip: some of these are present in the ppp_settings structure\n */\nbool uselogin = 0;            /* Use /etc/passwd for checking PAP */\nbool cryptpap = 0;            /* Passwords in pap-secrets are encrypted */\nbool refuse_pap = 0;          /* Don't wanna auth. ourselves with PAP */\nbool refuse_chap = 0;         /* Don't wanna auth. ourselves with CHAP */\nbool usehostname = 0;         /* Use hostname for our_name */\nbool auth_required = 0;       /* Always require authentication from peer */\nbool allow_any_ip = 0;        /* Allow peer to use any IP address */\nbool explicit_remote = 0;     /* User specified explicit remote name */\nchar remote_name[MAXNAMELEN]; /* Peer's name for authentication */\n\n#endif /* UNUSED */\n\n/* Bits in auth_pending[] */\n#define PAP_WITHPEER    1\n#define PAP_PEER        2\n#define CHAP_WITHPEER   4\n#define CHAP_PEER       8\n\n/* @todo, move this somewhere */\n/* Used for storing a sequence of words.  Usually malloced. */\nstruct wordlist {\n  struct wordlist *next;\n  char        word[1];\n};\n\n\nextern char *crypt (const char *, const char *);\n\n/* Prototypes for procedures local to this file. */\n\nstatic void network_phase (int);\nstatic void check_idle (void *);\nstatic void connect_time_expired (void *);\n#if 0\nstatic int  plogin (char *, char *, char **, int *);\n#endif\nstatic void plogout (void);\nstatic int  null_login (int);\nstatic int  get_pap_passwd (int, char *, char *);\nstatic int  have_pap_secret (void);\nstatic int  have_chap_secret (char *, char *, u32_t);\nstatic int  ip_addr_check (u32_t, struct wordlist *);\n\n#if 0 /* PAP_SUPPORT || CHAP_SUPPORT */\nstatic int  scan_authfile (FILE *, char *, char *, char *,\n             struct wordlist **, struct wordlist **,\n             char *);\nstatic void free_wordlist (struct wordlist *);\nstatic void auth_script (char *);\nstatic void auth_script_done (void *);\nstatic void set_allowed_addrs (int unit, struct wordlist *addrs);\nstatic int  some_ip_ok (struct wordlist *);\nstatic int  setupapfile (char **);\nstatic int  privgroup (char **);\nstatic int  set_noauth_addr (char **);\nstatic void check_access (FILE *, char *);\n#endif /* 0 */ /* PAP_SUPPORT || CHAP_SUPPORT */\n\n#if 0 /* UNUSED */\n/*\n * Authentication-related options.\n */\noption_t auth_options[] = {\n    { \"require-pap\", o_bool, &lcp_wantoptions[0].neg_upap,\n      \"Require PAP authentication from peer\", 1, &auth_required },\n    { \"+pap\", o_bool, &lcp_wantoptions[0].neg_upap,\n      \"Require PAP authentication from peer\", 1, &auth_required },\n    { \"refuse-pap\", o_bool, &refuse_pap,\n      \"Don't agree to auth to peer with PAP\", 1 },\n    { \"-pap\", o_bool, &refuse_pap,\n      \"Don't allow PAP authentication with peer\", 1 },\n    { \"require-chap\", o_bool, &lcp_wantoptions[0].neg_chap,\n      \"Require CHAP authentication from peer\", 1, &auth_required },\n    { \"+chap\", o_bool, &lcp_wantoptions[0].neg_chap,\n      \"Require CHAP authentication from peer\", 1, &auth_required },\n    { \"refuse-chap\", o_bool, &refuse_chap,\n      \"Don't agree to auth to peer with CHAP\", 1 },\n    { \"-chap\", o_bool, &refuse_chap,\n      \"Don't allow CHAP authentication with peer\", 1 },\n    { \"name\", o_string, our_name,\n      \"Set local name for authentication\",\n      OPT_PRIV|OPT_STATIC, NULL, MAXNAMELEN },\n    { \"user\", o_string, user,\n      \"Set name for auth with peer\", OPT_STATIC, NULL, MAXNAMELEN },\n    { \"usehostname\", o_bool, &usehostname,\n      \"Must use hostname for authentication\", 1 },\n    { \"remotename\", o_string, remote_name,\n      \"Set remote name for authentication\", OPT_STATIC,\n      &explicit_remote, MAXNAMELEN },\n    { \"auth\", o_bool, &auth_required,\n      \"Require authentication from peer\", 1 },\n    { \"noauth\", o_bool, &auth_required,\n      \"Don't require peer to authenticate\", OPT_PRIV, &allow_any_ip },\n    {  \"login\", o_bool, &uselogin,\n      \"Use system password database for PAP\", 1 },\n    { \"papcrypt\", o_bool, &cryptpap,\n      \"PAP passwords are encrypted\", 1 },\n    { \"+ua\", o_special, (void *)setupapfile,\n      \"Get PAP user and password from file\" },\n    { \"password\", o_string, passwd,\n      \"Password for authenticating us to the peer\", OPT_STATIC,\n      NULL, MAXSECRETLEN },\n    { \"privgroup\", o_special, (void *)privgroup,\n      \"Allow group members to use privileged options\", OPT_PRIV },\n    { \"allow-ip\", o_special, (void *)set_noauth_addr,\n      \"Set IP address(es) which can be used without authentication\",\n      OPT_PRIV },\n    { NULL }\n};\n#endif /* UNUSED */\n#if 0 /* UNUSED */\n/*\n * setupapfile - specifies UPAP info for authenticating with peer.\n */\nstatic int\nsetupapfile(char **argv)\n{\n    FILE * ufile;\n    int l;\n\n    lcp_allowoptions[0].neg_upap = 1;\n\n    /* open user info file */\n    seteuid(getuid());\n    ufile = fopen(*argv, \"r\");\n    seteuid(0);\n    if (ufile == NULL) {\n      option_error(\"unable to open user login data file %s\", *argv);\n      return 0;\n    }\n    check_access(ufile, *argv);\n\n    /* get username */\n    if (fgets(user, MAXNAMELEN - 1, ufile) == NULL\n        || fgets(passwd, MAXSECRETLEN - 1, ufile) == NULL){\n      option_error(\"unable to read user login data file %s\", *argv);\n      return 0;\n    }\n    fclose(ufile);\n\n    /* get rid of newlines */\n    l = strlen(user);\n    if (l > 0 && user[l-1] == '\\n')\n      user[l-1] = 0;\n    l = strlen(passwd);\n    if (l > 0 && passwd[l-1] == '\\n')\n      passwd[l-1] = 0;\n\n    return (1);\n}\n#endif /* UNUSED */\n\n#if 0 /* UNUSED */\n/*\n * privgroup - allow members of the group to have privileged access.\n */\nstatic int\nprivgroup(char **argv)\n{\n    struct group *g;\n    int i;\n\n    g = getgrnam(*argv);\n    if (g == 0) {\n      option_error(\"group %s is unknown\", *argv);\n      return 0;\n    }\n    for (i = 0; i < ngroups; ++i) {\n      if (groups[i] == g->gr_gid) {\n        privileged = 1;\n        break;\n      }\n    }\n    return 1;\n}\n#endif\n\n#if 0 /* UNUSED */\n/*\n * set_noauth_addr - set address(es) that can be used without authentication.\n * Equivalent to specifying an entry like `\"\" * \"\" addr' in pap-secrets.\n */\nstatic int\nset_noauth_addr(char **argv)\n{\n    char *addr = *argv;\n    int l = strlen(addr);\n    struct wordlist *wp;\n\n    wp = (struct wordlist *) malloc(sizeof(struct wordlist) + l + 1);\n    if (wp == NULL)\n      novm(\"allow-ip argument\");\n    wp->word = (char *) (wp + 1);\n    wp->next = noauth_addrs;\n    BCOPY(addr, wp->word, l);\n    noauth_addrs = wp;\n    return 1;\n}\n#endif /* UNUSED */\n\n/*\n * An Open on LCP has requested a change from Dead to Establish phase.\n * Do what's necessary to bring the physical layer up.\n */\nvoid\nlink_required(int unit)\n{\n  LWIP_UNUSED_ARG(unit);\n\n  AUTHDEBUG(LOG_INFO, (\"link_required: %d\\n\", unit));\n}\n\n/*\n * LCP has terminated the link; go to the Dead phase and take the\n * physical layer down.\n */\nvoid\nlink_terminated(int unit)\n{\n  AUTHDEBUG(LOG_INFO, (\"link_terminated: %d\\n\", unit));\n  if (lcp_phase[unit] == PHASE_DEAD) {\n    return;\n  }\n  if (logged_in) {\n    plogout();\n  }\n  lcp_phase[unit] = PHASE_DEAD;\n  AUTHDEBUG(LOG_NOTICE, (\"Connection terminated.\\n\"));\n  pppLinkTerminated(unit);\n}\n\n/*\n * LCP has gone down; it will either die or try to re-establish.\n */\nvoid\nlink_down(int unit)\n{\n  int i;\n  struct protent *protp;\n\n  AUTHDEBUG(LOG_INFO, (\"link_down: %d\\n\", unit));\n\n  if (did_authup) {\n    /* XXX Do link down processing. */\n    did_authup = 0;\n  }\n  for (i = 0; (protp = ppp_protocols[i]) != NULL; ++i) {\n    if (!protp->enabled_flag) {\n      continue;\n    }\n    if (protp->protocol != PPP_LCP && protp->lowerdown != NULL) {\n      (*protp->lowerdown)(unit);\n    }\n    if (protp->protocol < 0xC000 && protp->close != NULL) {\n      (*protp->close)(unit, \"LCP down\");\n    }\n  }\n  num_np_open = 0;  /* number of network protocols we have opened */\n  num_np_up = 0;    /* Number of network protocols which have come up */\n\n  if (lcp_phase[unit] != PHASE_DEAD) {\n    lcp_phase[unit] = PHASE_TERMINATE;\n  }\n  pppLinkDown(unit);\n}\n\n/*\n * The link is established.\n * Proceed to the Dead, Authenticate or Network phase as appropriate.\n */\nvoid\nlink_established(int unit)\n{\n  int auth;\n  int i;\n  struct protent *protp;\n  lcp_options *wo = &lcp_wantoptions[unit];\n  lcp_options *go = &lcp_gotoptions[unit];\n#if PAP_SUPPORT || CHAP_SUPPORT\n  lcp_options *ho = &lcp_hisoptions[unit];\n#endif /* PAP_SUPPORT || CHAP_SUPPORT */\n\n  AUTHDEBUG(LOG_INFO, (\"link_established: unit %d; Lowering up all protocols...\\n\", unit));\n  /*\n   * Tell higher-level protocols that LCP is up.\n   */\n  for (i = 0; (protp = ppp_protocols[i]) != NULL; ++i) {\n    if (protp->protocol != PPP_LCP && protp->enabled_flag && protp->lowerup != NULL) {\n      (*protp->lowerup)(unit);\n    }\n  }\n  if (ppp_settings.auth_required && !(go->neg_chap || go->neg_upap)) {\n    /*\n     * We wanted the peer to authenticate itself, and it refused:\n     * treat it as though it authenticated with PAP using a username\n     * of \"\" and a password of \"\".  If that's not OK, boot it out.\n     */\n    if (!wo->neg_upap || !null_login(unit)) {\n      AUTHDEBUG(LOG_WARNING, (\"peer refused to authenticate\\n\"));\n      lcp_close(unit, \"peer refused to authenticate\");\n      return;\n    }\n  }\n\n  lcp_phase[unit] = PHASE_AUTHENTICATE;\n  auth = 0;\n#if CHAP_SUPPORT\n  if (go->neg_chap) {\n    ChapAuthPeer(unit, ppp_settings.our_name, go->chap_mdtype);\n    auth |= CHAP_PEER;\n  } \n#endif /* CHAP_SUPPORT */\n#if PAP_SUPPORT && CHAP_SUPPORT\n  else\n#endif /* PAP_SUPPORT && CHAP_SUPPORT */\n#if PAP_SUPPORT\n  if (go->neg_upap) {\n    upap_authpeer(unit);\n    auth |= PAP_PEER;\n  }\n#endif /* PAP_SUPPORT */\n#if CHAP_SUPPORT\n  if (ho->neg_chap) {\n    ChapAuthWithPeer(unit, ppp_settings.user, ho->chap_mdtype);\n    auth |= CHAP_WITHPEER;\n  }\n#endif /* CHAP_SUPPORT */\n#if PAP_SUPPORT && CHAP_SUPPORT\n  else\n#endif /* PAP_SUPPORT && CHAP_SUPPORT */\n#if PAP_SUPPORT\n  if (ho->neg_upap) {\n    if (ppp_settings.passwd[0] == 0) {\n      passwd_from_file = 1;\n      if (!get_pap_passwd(unit, ppp_settings.user, ppp_settings.passwd)) {\n        AUTHDEBUG(LOG_ERR, (\"No secret found for PAP login\\n\"));\n      }\n    }\n    upap_authwithpeer(unit, ppp_settings.user, ppp_settings.passwd);\n    auth |= PAP_WITHPEER;\n  }\n#endif /* PAP_SUPPORT */\n  auth_pending[unit] = auth;\n\n  if (!auth) {\n    network_phase(unit);\n  }\n}\n\n/*\n * Proceed to the network phase.\n */\nstatic void\nnetwork_phase(int unit)\n{\n  int i;\n  struct protent *protp;\n  lcp_options *go = &lcp_gotoptions[unit];\n\n  /*\n   * If the peer had to authenticate, run the auth-up script now.\n   */\n  if ((go->neg_chap || go->neg_upap) && !did_authup) {\n    /* XXX Do setup for peer authentication. */\n    did_authup = 1;\n  }\n\n#if CBCP_SUPPORT\n  /*\n   * If we negotiated callback, do it now.\n   */\n  if (go->neg_cbcp) {\n    lcp_phase[unit] = PHASE_CALLBACK;\n    (*cbcp_protent.open)(unit);\n    return;\n  }\n#endif /* CBCP_SUPPORT */\n\n  lcp_phase[unit] = PHASE_NETWORK;\n  for (i = 0; (protp = ppp_protocols[i]) != NULL; ++i) {\n    if (protp->protocol < 0xC000 && protp->enabled_flag && protp->open != NULL) {\n      (*protp->open)(unit);\n      if (protp->protocol != PPP_CCP) {\n        ++num_np_open;\n      }\n    }\n  }\n\n  if (num_np_open == 0) {\n    /* nothing to do */\n    lcp_close(0, \"No network protocols running\");\n  }\n}\n/* @todo: add void start_networks(void) here (pppd 2.3.11) */\n\n/*\n * The peer has failed to authenticate himself using `protocol'.\n */\nvoid\nauth_peer_fail(int unit, u16_t protocol)\n{\n  LWIP_UNUSED_ARG(protocol);\n\n  AUTHDEBUG(LOG_INFO, (\"auth_peer_fail: %d proto=%X\\n\", unit, protocol));\n  /*\n   * Authentication failure: take the link down\n   */\n  lcp_close(unit, \"Authentication failed\");\n}\n\n\n#if PAP_SUPPORT || CHAP_SUPPORT\n/*\n * The peer has been successfully authenticated using `protocol'.\n */\nvoid\nauth_peer_success(int unit, u16_t protocol, char *name, int namelen)\n{\n  int pbit;\n\n  AUTHDEBUG(LOG_INFO, (\"auth_peer_success: %d proto=%X\\n\", unit, protocol));\n  switch (protocol) {\n    case PPP_CHAP:\n      pbit = CHAP_PEER;\n      break;\n    case PPP_PAP:\n      pbit = PAP_PEER;\n      break;\n    default:\n      AUTHDEBUG(LOG_WARNING, (\"auth_peer_success: unknown protocol %x\\n\", protocol));\n      return;\n  }\n\n  /*\n   * Save the authenticated name of the peer for later.\n   */\n  if (namelen > (int)sizeof(peer_authname) - 1) {\n    namelen = sizeof(peer_authname) - 1;\n  }\n  BCOPY(name, peer_authname, namelen);\n  peer_authname[namelen] = 0;\n  \n  /*\n   * If there is no more authentication still to be done,\n   * proceed to the network (or callback) phase.\n   */\n  if ((auth_pending[unit] &= ~pbit) == 0) {\n    network_phase(unit);\n  }\n}\n\n/*\n * We have failed to authenticate ourselves to the peer using `protocol'.\n */\nvoid\nauth_withpeer_fail(int unit, u16_t protocol)\n{\n  int errCode = PPPERR_AUTHFAIL;\n\n  LWIP_UNUSED_ARG(protocol);\n\n  AUTHDEBUG(LOG_INFO, (\"auth_withpeer_fail: %d proto=%X\\n\", unit, protocol));\n  if (passwd_from_file) {\n    BZERO(ppp_settings.passwd, MAXSECRETLEN);\n  }\n\n  /*\n   * We've failed to authenticate ourselves to our peer.\n   * He'll probably take the link down, and there's not much\n   * we can do except wait for that.\n   */\n  pppIOCtl(unit, PPPCTLS_ERRCODE, &errCode);\n  lcp_close(unit, \"Failed to authenticate ourselves to peer\");\n}\n\n/*\n * We have successfully authenticated ourselves with the peer using `protocol'.\n */\nvoid\nauth_withpeer_success(int unit, u16_t protocol)\n{\n  int pbit;\n\n  AUTHDEBUG(LOG_INFO, (\"auth_withpeer_success: %d proto=%X\\n\", unit, protocol));\n  switch (protocol) {\n    case PPP_CHAP:\n      pbit = CHAP_WITHPEER;\n      break;\n    case PPP_PAP:\n      if (passwd_from_file) {\n        BZERO(ppp_settings.passwd, MAXSECRETLEN);\n      }\n      pbit = PAP_WITHPEER;\n      break;\n    default:\n      AUTHDEBUG(LOG_WARNING, (\"auth_peer_success: unknown protocol %x\\n\", protocol));\n      pbit = 0;\n  }\n\n  /*\n   * If there is no more authentication still being done,\n   * proceed to the network (or callback) phase.\n   */\n  if ((auth_pending[unit] &= ~pbit) == 0) {\n    network_phase(unit);\n  }\n}\n#endif /* PAP_SUPPORT || CHAP_SUPPORT */\n\n\n/*\n * np_up - a network protocol has come up.\n */\nvoid\nnp_up(int unit, u16_t proto)\n{\n  LWIP_UNUSED_ARG(unit);\n  LWIP_UNUSED_ARG(proto);\n\n  AUTHDEBUG(LOG_INFO, (\"np_up: %d proto=%X\\n\", unit, proto));\n  if (num_np_up == 0) {\n    AUTHDEBUG(LOG_INFO, (\"np_up: maxconnect=%d idle_time_limit=%d\\n\",ppp_settings.maxconnect,ppp_settings.idle_time_limit));\n    /*\n     * At this point we consider that the link has come up successfully.\n     */\n    if (ppp_settings.idle_time_limit > 0) {\n      TIMEOUT(check_idle, NULL, ppp_settings.idle_time_limit);\n    }\n\n    /*\n     * Set a timeout to close the connection once the maximum\n     * connect time has expired.\n     */\n    if (ppp_settings.maxconnect > 0) {\n      TIMEOUT(connect_time_expired, 0, ppp_settings.maxconnect);\n    }\n  }\n  ++num_np_up;\n}\n\n/*\n * np_down - a network protocol has gone down.\n */\nvoid\nnp_down(int unit, u16_t proto)\n{\n  LWIP_UNUSED_ARG(unit);\n  LWIP_UNUSED_ARG(proto);\n\n  AUTHDEBUG(LOG_INFO, (\"np_down: %d proto=%X\\n\", unit, proto));\n  if (--num_np_up == 0 && ppp_settings.idle_time_limit > 0) {\n    UNTIMEOUT(check_idle, NULL);\n  }\n}\n\n/*\n * np_finished - a network protocol has finished using the link.\n */\nvoid\nnp_finished(int unit, u16_t proto)\n{\n  LWIP_UNUSED_ARG(unit);\n  LWIP_UNUSED_ARG(proto);\n\n  AUTHDEBUG(LOG_INFO, (\"np_finished: %d proto=%X\\n\", unit, proto));\n  if (--num_np_open <= 0) {\n    /* no further use for the link: shut up shop. */\n    lcp_close(0, \"No network protocols running\");\n  }\n}\n\n/*\n * check_idle - check whether the link has been idle for long\n * enough that we can shut it down.\n */\nstatic void\ncheck_idle(void *arg)\n{\n  struct ppp_idle idle;\n  u_short itime;\n  \n  LWIP_UNUSED_ARG(arg);\n  if (!get_idle_time(0, &idle)) {\n    return;\n  }\n  itime = LWIP_MIN(idle.xmit_idle, idle.recv_idle);\n  if (itime >= ppp_settings.idle_time_limit) {\n    /* link is idle: shut it down. */\n    AUTHDEBUG(LOG_INFO, (\"Terminating connection due to lack of activity.\\n\"));\n    lcp_close(0, \"Link inactive\");\n  } else {\n    TIMEOUT(check_idle, NULL, ppp_settings.idle_time_limit - itime);\n  }\n}\n\n/*\n * connect_time_expired - log a message and close the connection.\n */\nstatic void\nconnect_time_expired(void *arg)\n{\n  LWIP_UNUSED_ARG(arg);\n\n  AUTHDEBUG(LOG_INFO, (\"Connect time expired\\n\"));\n  lcp_close(0, \"Connect time expired\");   /* Close connection */\n}\n\n#if 0 /* UNUSED */\n/*\n * auth_check_options - called to check authentication options.\n */\nvoid\nauth_check_options(void)\n{\n  lcp_options *wo = &lcp_wantoptions[0];\n  int can_auth;\n  ipcp_options *ipwo = &ipcp_wantoptions[0];\n  u32_t remote;\n\n  /* Default our_name to hostname, and user to our_name */\n  if (ppp_settings.our_name[0] == 0 || ppp_settings.usehostname) {\n      strcpy(ppp_settings.our_name, ppp_settings.hostname);\n  }\n\n  if (ppp_settings.user[0] == 0) {\n    strcpy(ppp_settings.user, ppp_settings.our_name);\n  }\n\n  /* If authentication is required, ask peer for CHAP or PAP. */\n  if (ppp_settings.auth_required && !wo->neg_chap && !wo->neg_upap) {\n    wo->neg_chap = 1;\n    wo->neg_upap = 1;\n  }\n  \n  /*\n   * Check whether we have appropriate secrets to use\n   * to authenticate the peer.\n   */\n  can_auth = wo->neg_upap && have_pap_secret();\n  if (!can_auth && wo->neg_chap) {\n    remote = ipwo->accept_remote? 0: ipwo->hisaddr;\n    can_auth = have_chap_secret(ppp_settings.remote_name, ppp_settings.our_name, remote);\n  }\n\n  if (ppp_settings.auth_required && !can_auth) {\n    ppp_panic(\"No auth secret\");\n  }\n}\n#endif /* UNUSED */\n\n/*\n * auth_reset - called when LCP is starting negotiations to recheck\n * authentication options, i.e. whether we have appropriate secrets\n * to use for authenticating ourselves and/or the peer.\n */\nvoid\nauth_reset(int unit)\n{\n  lcp_options *go = &lcp_gotoptions[unit];\n  lcp_options *ao = &lcp_allowoptions[0];\n  ipcp_options *ipwo = &ipcp_wantoptions[0];\n  u32_t remote;\n\n  AUTHDEBUG(LOG_INFO, (\"auth_reset: %d\\n\", unit));\n  ao->neg_upap = !ppp_settings.refuse_pap && (ppp_settings.passwd[0] != 0 || get_pap_passwd(unit, NULL, NULL));\n  ao->neg_chap = !ppp_settings.refuse_chap && ppp_settings.passwd[0] != 0 /*have_chap_secret(ppp_settings.user, ppp_settings.remote_name, (u32_t)0)*/;\n\n  if (go->neg_upap && !have_pap_secret()) {\n    go->neg_upap = 0;\n  }\n  if (go->neg_chap) {\n    remote = ipwo->accept_remote? 0: ipwo->hisaddr;\n    if (!have_chap_secret(ppp_settings.remote_name, ppp_settings.our_name, remote)) {\n      go->neg_chap = 0;\n    }\n  }\n}\n\n#if PAP_SUPPORT\n/*\n * check_passwd - Check the user name and passwd against the PAP secrets\n * file.  If requested, also check against the system password database,\n * and login the user if OK.\n *\n * returns:\n *  UPAP_AUTHNAK: Authentication failed.\n *  UPAP_AUTHACK: Authentication succeeded.\n * In either case, msg points to an appropriate message.\n */\nu_char\ncheck_passwd( int unit, char *auser, int userlen, char *apasswd, int passwdlen, char **msg, int *msglen)\n{\n#if 1 /* XXX Assume all entries OK. */\n  LWIP_UNUSED_ARG(unit);\n  LWIP_UNUSED_ARG(auser);\n  LWIP_UNUSED_ARG(userlen);\n  LWIP_UNUSED_ARG(apasswd);\n  LWIP_UNUSED_ARG(passwdlen);\n  LWIP_UNUSED_ARG(msglen);\n  *msg = (char *) 0;\n  return UPAP_AUTHACK;     /* XXX Assume all entries OK. */\n#else\n  u_char ret = 0;\n  struct wordlist *addrs = NULL;\n  char passwd[256], user[256];\n  char secret[MAXWORDLEN];\n  static u_short attempts = 0;\n  \n  /*\n   * Make copies of apasswd and auser, then null-terminate them.\n   */\n  BCOPY(apasswd, passwd, passwdlen);\n  passwd[passwdlen] = '\\0';\n  BCOPY(auser, user, userlen);\n  user[userlen] = '\\0';\n  *msg = (char *) 0;\n\n  /* XXX Validate user name and password. */\n  ret = UPAP_AUTHACK;     /* XXX Assume all entries OK. */\n      \n  if (ret == UPAP_AUTHNAK) {\n    if (*msg == (char *) 0) {\n      *msg = \"Login incorrect\";\n    }\n    *msglen = strlen(*msg);\n    /*\n     * Frustrate passwd stealer programs.\n     * Allow 10 tries, but start backing off after 3 (stolen from login).\n     * On 10'th, drop the connection.\n     */\n    if (attempts++ >= 10) {\n      AUTHDEBUG(LOG_WARNING, (\"%d LOGIN FAILURES BY %s\\n\", attempts, user));\n      /*ppp_panic(\"Excess Bad Logins\");*/\n    }\n    if (attempts > 3) {\n      /* @todo: this was sleep(), i.e. seconds, not milliseconds\n       * I don't think we really need this in lwIP - we would block tcpip_thread!\n       */\n      /*sys_msleep((attempts - 3) * 5);*/\n    }\n    if (addrs != NULL) {\n      free_wordlist(addrs);\n    }\n  } else {\n    attempts = 0; /* Reset count */\n    if (*msg == (char *) 0) {\n      *msg = \"Login ok\";\n    }\n    *msglen = strlen(*msg);\n    set_allowed_addrs(unit, addrs);\n  }\n\n  BZERO(passwd, sizeof(passwd));\n  BZERO(secret, sizeof(secret));\n\n  return ret;\n#endif\n}\n#endif /* PAP_SUPPORT */\n\n#if 0 /* UNUSED */\n/*\n * This function is needed for PAM.\n */\n\n#ifdef USE_PAM\n\n/* lwip does not support PAM*/\n\n#endif  /* USE_PAM */\n\n#endif /* UNUSED */\n\n\n#if 0 /* UNUSED */\n/*\n * plogin - Check the user name and password against the system\n * password database, and login the user if OK.\n *\n * returns:\n *  UPAP_AUTHNAK: Login failed.\n *  UPAP_AUTHACK: Login succeeded.\n * In either case, msg points to an appropriate message.\n */\nstatic int\nplogin(char *user, char *passwd, char **msg, int *msglen)\n{\n\n  LWIP_UNUSED_ARG(user);\n  LWIP_UNUSED_ARG(passwd);\n  LWIP_UNUSED_ARG(msg);\n  LWIP_UNUSED_ARG(msglen);\n\n\n /* The new lines are here align the file when \n  * compared against the pppd 2.3.11 code */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n  /* XXX Fail until we decide that we want to support logins. */\n  return (UPAP_AUTHNAK);\n}\n#endif\n\n\n\n/*\n * plogout - Logout the user.\n */\nstatic void\nplogout(void)\n{\n  logged_in = 0;\n}\n\n/*\n * null_login - Check if a username of \"\" and a password of \"\" are\n * acceptable, and iff so, set the list of acceptable IP addresses\n * and return 1.\n */\nstatic int\nnull_login(int unit)\n{\n  LWIP_UNUSED_ARG(unit);\n  /* XXX Fail until we decide that we want to support logins. */\n  return 0;\n}\n\n\n/*\n * get_pap_passwd - get a password for authenticating ourselves with\n * our peer using PAP.  Returns 1 on success, 0 if no suitable password\n * could be found.\n */\nstatic int\nget_pap_passwd(int unit, char *user, char *passwd)\n{\n  LWIP_UNUSED_ARG(unit);\n/* normally we would reject PAP if no password is provided,\n   but this causes problems with some providers (like CHT in Taiwan)\n   who incorrectly request PAP and expect a bogus/empty password, so\n   always provide a default user/passwd of \"none\"/\"none\"\n\n   @todo: This should be configured by the user, instead of being hardcoded here!\n*/\n  if(user) {\n    strcpy(user, \"none\");\n  }\n  if(passwd) {\n    strcpy(passwd, \"none\");\n  }\n  return 1;\n}\n\n/*\n * have_pap_secret - check whether we have a PAP file with any\n * secrets that we could possibly use for authenticating the peer.\n */\nstatic int\nhave_pap_secret(void)\n{\n  /* XXX Fail until we set up our passwords. */\n  return 0;\n}\n\n/*\n * have_chap_secret - check whether we have a CHAP file with a\n * secret that we could possibly use for authenticating `client'\n * on `server'.  Either can be the null string, meaning we don't\n * know the identity yet.\n */\nstatic int\nhave_chap_secret(char *client, char *server, u32_t remote)\n{\n  LWIP_UNUSED_ARG(client);\n  LWIP_UNUSED_ARG(server);\n  LWIP_UNUSED_ARG(remote);\n\n  /* XXX Fail until we set up our passwords. */\n  return 0;\n}\n#if CHAP_SUPPORT\n\n/*\n * get_secret - open the CHAP secret file and return the secret\n * for authenticating the given client on the given server.\n * (We could be either client or server).\n */\nint\nget_secret(int unit, char *client, char *server, char *secret, int *secret_len, int save_addrs)\n{\n#if 1\n  int len;\n  struct wordlist *addrs;\n\n  LWIP_UNUSED_ARG(unit);\n  LWIP_UNUSED_ARG(server);\n  LWIP_UNUSED_ARG(save_addrs);\n\n  addrs = NULL;\n\n  if(!client || !client[0] || strcmp(client, ppp_settings.user)) {\n    return 0;\n  }\n\n  len = (int)strlen(ppp_settings.passwd);\n  if (len > MAXSECRETLEN) {\n    AUTHDEBUG(LOG_ERR, (\"Secret for %s on %s is too long\\n\", client, server));\n    len = MAXSECRETLEN;\n  }\n\n  BCOPY(ppp_settings.passwd, secret, len);\n  *secret_len = len;\n\n  return 1;\n#else\n  int ret = 0, len;\n  struct wordlist *addrs;\n  char secbuf[MAXWORDLEN];\n  \n  addrs = NULL;\n  secbuf[0] = 0;\n\n  /* XXX Find secret. */\n  if (ret < 0) {\n    return 0;\n  }\n\n  if (save_addrs) {\n    set_allowed_addrs(unit, addrs);\n  }\n\n  len = strlen(secbuf);\n  if (len > MAXSECRETLEN) {\n    AUTHDEBUG(LOG_ERR, (\"Secret for %s on %s is too long\\n\", client, server));\n    len = MAXSECRETLEN;\n  }\n\n  BCOPY(secbuf, secret, len);\n  BZERO(secbuf, sizeof(secbuf));\n  *secret_len = len;\n\n  return 1;\n#endif\n}\n#endif /* CHAP_SUPPORT */\n\n\n#if 0 /* PAP_SUPPORT || CHAP_SUPPORT */\n/*\n * set_allowed_addrs() - set the list of allowed addresses.\n */\nstatic void\nset_allowed_addrs(int unit, struct wordlist *addrs)\n{\n  if (addresses[unit] != NULL) {\n    free_wordlist(addresses[unit]);\n  }\n  addresses[unit] = addrs;\n\n#if 0\n  /*\n   * If there's only one authorized address we might as well\n   * ask our peer for that one right away\n   */\n  if (addrs != NULL && addrs->next == NULL) {\n    char *p = addrs->word;\n    struct ipcp_options *wo = &ipcp_wantoptions[unit];\n    u32_t a;\n    struct hostent *hp;\n    \n    if (wo->hisaddr == 0 && *p != '!' && *p != '-' && strchr(p, '/') == NULL) {\n      hp = gethostbyname(p);\n      if (hp != NULL && hp->h_addrtype == AF_INET) {\n        a = *(u32_t *)hp->h_addr;\n      } else {\n        a = inet_addr(p);\n      }\n      if (a != (u32_t) -1) {\n        wo->hisaddr = a;\n      }\n    }\n  }\n#endif\n}\n#endif /* 0 */ /* PAP_SUPPORT || CHAP_SUPPORT */\n\n/*\n * auth_ip_addr - check whether the peer is authorized to use\n * a given IP address.  Returns 1 if authorized, 0 otherwise.\n */\nint\nauth_ip_addr(int unit, u32_t addr)\n{\n  return ip_addr_check(addr, addresses[unit]);\n}\n\nstatic int /* @todo: integrate this funtion into auth_ip_addr()*/\nip_addr_check(u32_t addr, struct wordlist *addrs)\n{\n  /* don't allow loopback or multicast address */\n  if (bad_ip_adrs(addr)) {\n    return 0;\n  }\n\n  if (addrs == NULL) {\n    return !ppp_settings.auth_required; /* no addresses authorized */\n  }\n\n  /* XXX All other addresses allowed. */\n  return 1;\n}\n\n/*\n * bad_ip_adrs - return 1 if the IP address is one we don't want\n * to use, such as an address in the loopback net or a multicast address.\n * addr is in network byte order.\n */\nint\nbad_ip_adrs(u32_t addr)\n{\n  addr = ntohl(addr);\n  return (addr >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET\n      || IN_MULTICAST(addr) || IN_BADCLASS(addr);\n}\n\n#if 0 /* UNUSED */ /* PAP_SUPPORT || CHAP_SUPPORT */\n/*\n * some_ip_ok - check a wordlist to see if it authorizes any\n * IP address(es).\n */\nstatic int\nsome_ip_ok(struct wordlist *addrs)\n{\n    for (; addrs != 0; addrs = addrs->next) {\n      if (addrs->word[0] == '-')\n        break;\n      if (addrs->word[0] != '!')\n        return 1; /* some IP address is allowed */\n    }\n    return 0;\n}\n\n/*\n * check_access - complain if a secret file has too-liberal permissions.\n */\nstatic void\ncheck_access(FILE *f, char *filename)\n{\n    struct stat sbuf;\n\n    if (fstat(fileno(f), &sbuf) < 0) {\n      warn(\"cannot stat secret file %s: %m\", filename);\n    } else if ((sbuf.st_mode & (S_IRWXG | S_IRWXO)) != 0) {\n      warn(\"Warning - secret file %s has world and/or group access\",\n            filename);\n    }\n}\n\n\n/*\n * scan_authfile - Scan an authorization file for a secret suitable\n * for authenticating `client' on `server'.  The return value is -1\n * if no secret is found, otherwise >= 0.  The return value has\n * NONWILD_CLIENT set if the secret didn't have \"*\" for the client, and\n * NONWILD_SERVER set if the secret didn't have \"*\" for the server.\n * Any following words on the line up to a \"--\" (i.e. address authorization\n * info) are placed in a wordlist and returned in *addrs.  Any\n * following words (extra options) are placed in a wordlist and\n * returned in *opts.\n * We assume secret is NULL or points to MAXWORDLEN bytes of space.\n */\nstatic int\nscan_authfile(FILE *f, char *client, char *server, char *secret, struct wordlist **addrs, struct wordlist **opts, char *filename)\n{\n  /* We do not (currently) need this in lwip  */\n  return 0; /* dummy */\n}\n/*\n * free_wordlist - release memory allocated for a wordlist.\n */\nstatic void\nfree_wordlist(struct wordlist *wp)\n{\n  struct wordlist *next;\n\n  while (wp != NULL) {\n    next = wp->next;\n    free(wp);\n    wp = next;\n  }\n}\n\n/*\n * auth_script_done - called when the auth-up or auth-down script\n * has finished.\n */\nstatic void\nauth_script_done(void *arg)\n{\n    auth_script_pid = 0;\n    switch (auth_script_state) {\n    case s_up:\n      if (auth_state == s_down) {\n        auth_script_state = s_down;\n        auth_script(_PATH_AUTHDOWN);\n      }\n      break;\n    case s_down:\n      if (auth_state == s_up) {\n        auth_script_state = s_up;\n        auth_script(_PATH_AUTHUP);\n      }\n      break;\n    }\n}\n\n/*\n * auth_script - execute a script with arguments\n * interface-name peer-name real-user tty speed\n */\nstatic void\nauth_script(char *script)\n{\n    char strspeed[32];\n    struct passwd *pw;\n    char struid[32];\n    char *user_name;\n    char *argv[8];\n\n    if ((pw = getpwuid(getuid())) != NULL && pw->pw_name != NULL)\n      user_name = pw->pw_name;\n    else {\n      slprintf(struid, sizeof(struid), \"%d\", getuid());\n      user_name = struid;\n    }\n    slprintf(strspeed, sizeof(strspeed), \"%d\", baud_rate);\n\n    argv[0] = script;\n    argv[1] = ifname;\n    argv[2] = peer_authname;\n    argv[3] = user_name;\n    argv[4] = devnam;\n    argv[5] = strspeed;\n    argv[6] = NULL;\n\n    auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL);\n}\n#endif  /* 0 */ /* PAP_SUPPORT || CHAP_SUPPORT */\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/auth.h",
    "content": "/*****************************************************************************\n* auth.h -  PPP Authentication and phase control header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1998 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-04 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original derived from BSD pppd.h.\n*****************************************************************************/\n/*\n * pppd.h - PPP daemon global declarations.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n */\n\n#ifndef AUTH_H\n#define AUTH_H\n\n/***********************\n*** PUBLIC FUNCTIONS ***\n***********************/\n\n/* we are starting to use the link */\nvoid link_required (int);\n\n/* we are finished with the link */\nvoid link_terminated (int);\n\n/* the LCP layer has left the Opened state */\nvoid link_down (int);\n\n/* the link is up; authenticate now */\nvoid link_established (int);\n\n/* a network protocol has come up */\nvoid np_up (int, u16_t);\n\n/* a network protocol has gone down */\nvoid np_down (int, u16_t);\n\n/* a network protocol no longer needs link */\nvoid np_finished (int, u16_t);\n\n/* peer failed to authenticate itself */\nvoid auth_peer_fail (int, u16_t);\n\n/* peer successfully authenticated itself */\nvoid auth_peer_success (int, u16_t, char *, int);\n\n/* we failed to authenticate ourselves */\nvoid auth_withpeer_fail (int, u16_t);\n\n/* we successfully authenticated ourselves */\nvoid auth_withpeer_success (int, u16_t);\n\n/* check authentication options supplied */\nvoid auth_check_options (void);\n\n/* check what secrets we have */\nvoid auth_reset (int);\n\n/* Check peer-supplied username/password */\nu_char check_passwd (int, char *, int, char *, int, char **, int *);\n\n/* get \"secret\" for chap */\nint  get_secret (int, char *, char *, char *, int *, int);\n\n/* check if IP address is authorized */\nint  auth_ip_addr (int, u32_t);\n\n/* check if IP address is unreasonable */\nint  bad_ip_adrs (u32_t);\n\n#endif /* AUTH_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/chap.c",
    "content": "/*** WARNING - THIS HAS NEVER BEEN FINISHED ***/\n/*****************************************************************************\n* chap.c - Network Challenge Handshake Authentication Protocol program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 by Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-04 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original based on BSD chap.c.\n*****************************************************************************/\n/*\n * chap.c - Challenge Handshake Authentication Protocol.\n *\n * Copyright (c) 1993 The Australian National University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by the Australian National University.  The name of the University\n * may not be used to endorse or promote products derived from this\n * software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * Copyright (c) 1991 Gregory M. Christy.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Gregory M. Christy.  The name of the author may not be used to\n * endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT  /* don't build if not configured for use in lwipopts.h */\n\n#if CHAP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"magic.h\"\n#include \"randm.h\"\n#include \"auth.h\"\n#include \"md5.h\"\n#include \"chap.h\"\n#include \"chpms.h\"\n\n#include <string.h>\n\n#if 0 /* UNUSED */\n/*\n * Command-line options.\n */\nstatic option_t chap_option_list[] = {\n    { \"chap-restart\", o_int, &chap[0].timeouttime,\n      \"Set timeout for CHAP\" },\n    { \"chap-max-challenge\", o_int, &chap[0].max_transmits,\n      \"Set max #xmits for challenge\" },\n    { \"chap-interval\", o_int, &chap[0].chal_interval,\n      \"Set interval for rechallenge\" },\n#ifdef MSLANMAN\n    { \"ms-lanman\", o_bool, &ms_lanman,\n      \"Use LanMan passwd when using MS-CHAP\", 1 },\n#endif\n    { NULL }\n};\n#endif /* UNUSED */\n\n/*\n * Protocol entry points.\n */\nstatic void ChapInit (int);\nstatic void ChapLowerUp (int);\nstatic void ChapLowerDown (int);\nstatic void ChapInput (int, u_char *, int);\nstatic void ChapProtocolReject (int);\n#if PPP_ADDITIONAL_CALLBACKS\nstatic int  ChapPrintPkt (u_char *, int, void (*) (void *, char *, ...), void *);\n#endif\n\nstruct protent chap_protent = {\n  PPP_CHAP,\n  ChapInit,\n  ChapInput,\n  ChapProtocolReject,\n  ChapLowerUp,\n  ChapLowerDown,\n  NULL,\n  NULL,\n#if PPP_ADDITIONAL_CALLBACKS\n  ChapPrintPkt,\n  NULL,\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n  1,\n  \"CHAP\",\n#if PPP_ADDITIONAL_CALLBACKS\n  NULL,\n  NULL,\n  NULL\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n};\n\nchap_state chap[NUM_PPP]; /* CHAP state; one for each unit */\n\nstatic void ChapChallengeTimeout (void *);\nstatic void ChapResponseTimeout (void *);\nstatic void ChapReceiveChallenge (chap_state *, u_char *, u_char, int);\nstatic void ChapRechallenge (void *);\nstatic void ChapReceiveResponse (chap_state *, u_char *, int, int);\nstatic void ChapReceiveSuccess(chap_state *cstate, u_char *inp, u_char id, int len);\nstatic void ChapReceiveFailure(chap_state *cstate, u_char *inp, u_char id, int len);\nstatic void ChapSendStatus (chap_state *, int);\nstatic void ChapSendChallenge (chap_state *);\nstatic void ChapSendResponse (chap_state *);\nstatic void ChapGenChallenge (chap_state *);\n\n/*\n * ChapInit - Initialize a CHAP unit.\n */\nstatic void\nChapInit(int unit)\n{\n  chap_state *cstate = &chap[unit];\n\n  BZERO(cstate, sizeof(*cstate));\n  cstate->unit = unit;\n  cstate->clientstate = CHAPCS_INITIAL;\n  cstate->serverstate = CHAPSS_INITIAL;\n  cstate->timeouttime = CHAP_DEFTIMEOUT;\n  cstate->max_transmits = CHAP_DEFTRANSMITS;\n  /* random number generator is initialized in magic_init */\n}\n\n\n/*\n * ChapAuthWithPeer - Authenticate us with our peer (start client).\n *\n */\nvoid\nChapAuthWithPeer(int unit, char *our_name, u_char digest)\n{\n  chap_state *cstate = &chap[unit];\n\n  cstate->resp_name = our_name;\n  cstate->resp_type = digest;\n\n  if (cstate->clientstate == CHAPCS_INITIAL ||\n      cstate->clientstate == CHAPCS_PENDING) {\n    /* lower layer isn't up - wait until later */\n    cstate->clientstate = CHAPCS_PENDING;\n    return;\n  }\n\n  /*\n   * We get here as a result of LCP coming up.\n   * So even if CHAP was open before, we will \n   * have to re-authenticate ourselves.\n   */\n  cstate->clientstate = CHAPCS_LISTEN;\n}\n\n\n/*\n * ChapAuthPeer - Authenticate our peer (start server).\n */\nvoid\nChapAuthPeer(int unit, char *our_name, u_char digest)\n{\n  chap_state *cstate = &chap[unit];\n\n  cstate->chal_name = our_name;\n  cstate->chal_type = digest;\n  \n  if (cstate->serverstate == CHAPSS_INITIAL ||\n      cstate->serverstate == CHAPSS_PENDING) {\n    /* lower layer isn't up - wait until later */\n    cstate->serverstate = CHAPSS_PENDING;\n    return;\n  }\n\n  ChapGenChallenge(cstate);\n  ChapSendChallenge(cstate);    /* crank it up dude! */\n  cstate->serverstate = CHAPSS_INITIAL_CHAL;\n}\n\n\n/*\n * ChapChallengeTimeout - Timeout expired on sending challenge.\n */\nstatic void\nChapChallengeTimeout(void *arg)\n{\n  chap_state *cstate = (chap_state *) arg;\n\n  /* if we aren't sending challenges, don't worry.  then again we */\n  /* probably shouldn't be here either */\n  if (cstate->serverstate != CHAPSS_INITIAL_CHAL &&\n      cstate->serverstate != CHAPSS_RECHALLENGE) {\n    return;\n  }\n\n  if (cstate->chal_transmits >= cstate->max_transmits) {\n    /* give up on peer */\n    CHAPDEBUG(LOG_ERR, (\"Peer failed to respond to CHAP challenge\\n\"));\n    cstate->serverstate = CHAPSS_BADAUTH;\n    auth_peer_fail(cstate->unit, PPP_CHAP);\n    return;\n  }\n\n  ChapSendChallenge(cstate); /* Re-send challenge */\n}\n\n\n/*\n * ChapResponseTimeout - Timeout expired on sending response.\n */\nstatic void\nChapResponseTimeout(void *arg)\n{\n  chap_state *cstate = (chap_state *) arg;\n\n  /* if we aren't sending a response, don't worry. */\n  if (cstate->clientstate != CHAPCS_RESPONSE) {\n    return;\n  }\n\n  ChapSendResponse(cstate);    /* re-send response */\n}\n\n\n/*\n * ChapRechallenge - Time to challenge the peer again.\n */\nstatic void\nChapRechallenge(void *arg)\n{\n  chap_state *cstate = (chap_state *) arg;\n  \n  /* if we aren't sending a response, don't worry. */\n  if (cstate->serverstate != CHAPSS_OPEN) {\n    return;\n  }\n\n  ChapGenChallenge(cstate);\n  ChapSendChallenge(cstate);\n  cstate->serverstate = CHAPSS_RECHALLENGE;\n}\n\n\n/*\n * ChapLowerUp - The lower layer is up.\n *\n * Start up if we have pending requests.\n */\nstatic void\nChapLowerUp(int unit)\n{\n  chap_state *cstate = &chap[unit];\n\n  if (cstate->clientstate == CHAPCS_INITIAL) {\n    cstate->clientstate = CHAPCS_CLOSED;\n  } else if (cstate->clientstate == CHAPCS_PENDING) {\n    cstate->clientstate = CHAPCS_LISTEN;\n  }\n\n  if (cstate->serverstate == CHAPSS_INITIAL) {\n    cstate->serverstate = CHAPSS_CLOSED;\n  } else if (cstate->serverstate == CHAPSS_PENDING) {\n    ChapGenChallenge(cstate);\n    ChapSendChallenge(cstate);\n    cstate->serverstate = CHAPSS_INITIAL_CHAL;\n  }\n}\n\n\n/*\n * ChapLowerDown - The lower layer is down.\n *\n * Cancel all timeouts.\n */\nstatic void\nChapLowerDown(int unit)\n{\n  chap_state *cstate = &chap[unit];\n\n  /* Timeout(s) pending?  Cancel if so. */\n  if (cstate->serverstate == CHAPSS_INITIAL_CHAL ||\n      cstate->serverstate == CHAPSS_RECHALLENGE) {\n    UNTIMEOUT(ChapChallengeTimeout, cstate);\n  } else if (cstate->serverstate == CHAPSS_OPEN\n      && cstate->chal_interval != 0) {\n    UNTIMEOUT(ChapRechallenge, cstate);\n  }\n  if (cstate->clientstate == CHAPCS_RESPONSE) {\n    UNTIMEOUT(ChapResponseTimeout, cstate);\n  }\n  cstate->clientstate = CHAPCS_INITIAL;\n  cstate->serverstate = CHAPSS_INITIAL;\n}\n\n\n/*\n * ChapProtocolReject - Peer doesn't grok CHAP.\n */\nstatic void\nChapProtocolReject(int unit)\n{\n  chap_state *cstate = &chap[unit];\n  \n  if (cstate->serverstate != CHAPSS_INITIAL &&\n      cstate->serverstate != CHAPSS_CLOSED) {\n    auth_peer_fail(unit, PPP_CHAP);\n  }\n  if (cstate->clientstate != CHAPCS_INITIAL &&\n      cstate->clientstate != CHAPCS_CLOSED) {\n    auth_withpeer_fail(unit, PPP_CHAP); /* lwip: just sets the PPP error code on this unit to PPPERR_AUTHFAIL */\n  }\n  ChapLowerDown(unit); /* shutdown chap */\n}\n\n\n/*\n * ChapInput - Input CHAP packet.\n */\nstatic void\nChapInput(int unit, u_char *inpacket, int packet_len)\n{\n  chap_state *cstate = &chap[unit];\n  u_char *inp;\n  u_char code, id;\n  int len;\n  \n  /*\n   * Parse header (code, id and length).\n   * If packet too short, drop it.\n   */\n  inp = inpacket;\n  if (packet_len < CHAP_HEADERLEN) {\n    CHAPDEBUG(LOG_INFO, (\"ChapInput: rcvd short header.\\n\"));\n    return;\n  }\n  GETCHAR(code, inp);\n  GETCHAR(id, inp);\n  GETSHORT(len, inp);\n  if (len < CHAP_HEADERLEN) {\n    CHAPDEBUG(LOG_INFO, (\"ChapInput: rcvd illegal length.\\n\"));\n    return;\n  }\n  if (len > packet_len) {\n    CHAPDEBUG(LOG_INFO, (\"ChapInput: rcvd short packet.\\n\"));\n    return;\n  }\n  len -= CHAP_HEADERLEN;\n  \n  /*\n   * Action depends on code (as in fact it usually does :-).\n   */\n  switch (code) {\n    case CHAP_CHALLENGE:\n      ChapReceiveChallenge(cstate, inp, id, len);\n      break;\n    \n    case CHAP_RESPONSE:\n      ChapReceiveResponse(cstate, inp, id, len);\n      break;\n    \n    case CHAP_FAILURE:\n      ChapReceiveFailure(cstate, inp, id, len);\n      break;\n    \n    case CHAP_SUCCESS:\n      ChapReceiveSuccess(cstate, inp, id, len);\n      break;\n    \n    default:        /* Need code reject? */\n      CHAPDEBUG(LOG_WARNING, (\"Unknown CHAP code (%d) received.\\n\", code));\n      break;\n  }\n}\n\n\n/*\n * ChapReceiveChallenge - Receive Challenge and send Response.\n */\nstatic void\nChapReceiveChallenge(chap_state *cstate, u_char *inp, u_char id, int len)\n{\n  int rchallenge_len;\n  u_char *rchallenge;\n  int secret_len;\n  char secret[MAXSECRETLEN];\n  char rhostname[256];\n  MD5_CTX mdContext;\n  u_char hash[MD5_SIGNATURE_SIZE];\n\n  CHAPDEBUG(LOG_INFO, (\"ChapReceiveChallenge: Rcvd id %d.\\n\", id));\n  if (cstate->clientstate == CHAPCS_CLOSED ||\n    cstate->clientstate == CHAPCS_PENDING) {\n    CHAPDEBUG(LOG_INFO, (\"ChapReceiveChallenge: in state %d\\n\",\n         cstate->clientstate));\n    return;\n  }\n\n  if (len < 2) {\n    CHAPDEBUG(LOG_INFO, (\"ChapReceiveChallenge: rcvd short packet.\\n\"));\n    return;\n  }\n\n  GETCHAR(rchallenge_len, inp);\n  len -= sizeof (u_char) + rchallenge_len;  /* now name field length */\n  if (len < 0) {\n    CHAPDEBUG(LOG_INFO, (\"ChapReceiveChallenge: rcvd short packet.\\n\"));\n    return;\n  }\n  rchallenge = inp;\n  INCPTR(rchallenge_len, inp);\n\n  if (len >= (int)sizeof(rhostname)) {\n    len = sizeof(rhostname) - 1;\n  }\n  BCOPY(inp, rhostname, len);\n  rhostname[len] = '\\000';\n\n  CHAPDEBUG(LOG_INFO, (\"ChapReceiveChallenge: received name field '%s'\\n\",\n             rhostname));\n\n  /* Microsoft doesn't send their name back in the PPP packet */\n  if (ppp_settings.remote_name[0] != 0 && (ppp_settings.explicit_remote || rhostname[0] == 0)) {\n    strncpy(rhostname, ppp_settings.remote_name, sizeof(rhostname));\n    rhostname[sizeof(rhostname) - 1] = 0;\n    CHAPDEBUG(LOG_INFO, (\"ChapReceiveChallenge: using '%s' as remote name\\n\",\n               rhostname));\n  }\n\n  /* get secret for authenticating ourselves with the specified host */\n  if (!get_secret(cstate->unit, cstate->resp_name, rhostname,\n                  secret, &secret_len, 0)) {\n    secret_len = 0;    /* assume null secret if can't find one */\n    CHAPDEBUG(LOG_WARNING, (\"No CHAP secret found for authenticating us to %s\\n\",\n               rhostname));\n  }\n\n  /* cancel response send timeout if necessary */\n  if (cstate->clientstate == CHAPCS_RESPONSE) {\n    UNTIMEOUT(ChapResponseTimeout, cstate);\n  }\n\n  cstate->resp_id = id;\n  cstate->resp_transmits = 0;\n\n  /*  generate MD based on negotiated type */\n  switch (cstate->resp_type) { \n\n  case CHAP_DIGEST_MD5:\n    MD5Init(&mdContext);\n    MD5Update(&mdContext, &cstate->resp_id, 1);\n    MD5Update(&mdContext, (u_char*)secret, secret_len);\n    MD5Update(&mdContext, rchallenge, rchallenge_len);\n    MD5Final(hash, &mdContext);\n    BCOPY(hash, cstate->response, MD5_SIGNATURE_SIZE);\n    cstate->resp_length = MD5_SIGNATURE_SIZE;\n    break;\n  \n#if MSCHAP_SUPPORT\n  case CHAP_MICROSOFT:\n    ChapMS(cstate, rchallenge, rchallenge_len, secret, secret_len);\n    break;\n#endif\n\n  default:\n    CHAPDEBUG(LOG_INFO, (\"unknown digest type %d\\n\", cstate->resp_type));\n    return;\n  }\n\n  BZERO(secret, sizeof(secret));\n  ChapSendResponse(cstate);\n}\n\n\n/*\n * ChapReceiveResponse - Receive and process response.\n */\nstatic void\nChapReceiveResponse(chap_state *cstate, u_char *inp, int id, int len)\n{\n  u_char *remmd, remmd_len;\n  int secret_len, old_state;\n  int code;\n  char rhostname[256];\n  MD5_CTX mdContext;\n  char secret[MAXSECRETLEN];\n  u_char hash[MD5_SIGNATURE_SIZE];\n\n  CHAPDEBUG(LOG_INFO, (\"ChapReceiveResponse: Rcvd id %d.\\n\", id));\n  \n  if (cstate->serverstate == CHAPSS_CLOSED ||\n      cstate->serverstate == CHAPSS_PENDING) {\n    CHAPDEBUG(LOG_INFO, (\"ChapReceiveResponse: in state %d\\n\",\n    cstate->serverstate));\n    return;\n  }\n\n  if (id != cstate->chal_id) {\n    return;      /* doesn't match ID of last challenge */\n  }\n\n  /*\n  * If we have received a duplicate or bogus Response,\n  * we have to send the same answer (Success/Failure)\n  * as we did for the first Response we saw.\n  */\n  if (cstate->serverstate == CHAPSS_OPEN) {\n    ChapSendStatus(cstate, CHAP_SUCCESS);\n    return;\n  }\n  if (cstate->serverstate == CHAPSS_BADAUTH) {\n    ChapSendStatus(cstate, CHAP_FAILURE);\n    return;\n  }\n  \n  if (len < 2) {\n    CHAPDEBUG(LOG_INFO, (\"ChapReceiveResponse: rcvd short packet.\\n\"));\n    return;\n  }\n  GETCHAR(remmd_len, inp); /* get length of MD */\n  remmd = inp;             /* get pointer to MD */\n  INCPTR(remmd_len, inp);\n  \n  len -= sizeof (u_char) + remmd_len;\n  if (len < 0) {\n    CHAPDEBUG(LOG_INFO, (\"ChapReceiveResponse: rcvd short packet.\\n\"));\n    return;\n  }\n\n  UNTIMEOUT(ChapChallengeTimeout, cstate);\n  \n  if (len >= (int)sizeof(rhostname)) {\n    len = sizeof(rhostname) - 1;\n  }\n  BCOPY(inp, rhostname, len);\n  rhostname[len] = '\\000';\n\n  CHAPDEBUG(LOG_INFO, (\"ChapReceiveResponse: received name field: %s\\n\",\n             rhostname));\n\n  /*\n  * Get secret for authenticating them with us,\n  * do the hash ourselves, and compare the result.\n  */\n  code = CHAP_FAILURE;\n  if (!get_secret(cstate->unit, rhostname, cstate->chal_name,\n                  secret, &secret_len, 1)) {\n    CHAPDEBUG(LOG_WARNING, (\"No CHAP secret found for authenticating %s\\n\",\n               rhostname));\n  } else {\n    /*  generate MD based on negotiated type */\n    switch (cstate->chal_type) {\n\n      case CHAP_DIGEST_MD5:    /* only MD5 is defined for now */\n        if (remmd_len != MD5_SIGNATURE_SIZE) {\n          break;      /* it's not even the right length */\n        }\n        MD5Init(&mdContext);\n        MD5Update(&mdContext, &cstate->chal_id, 1);\n        MD5Update(&mdContext, (u_char*)secret, secret_len);\n        MD5Update(&mdContext, cstate->challenge, cstate->chal_len);\n        MD5Final(hash, &mdContext); \n        \n        /* compare local and remote MDs and send the appropriate status */\n        if (memcmp (hash, remmd, MD5_SIGNATURE_SIZE) == 0) {\n          code = CHAP_SUCCESS;  /* they are the same! */\n        }\n        break;\n      \n      default:\n        CHAPDEBUG(LOG_INFO, (\"unknown digest type %d\\n\", cstate->chal_type));\n    }\n  }\n  \n  BZERO(secret, sizeof(secret));\n  ChapSendStatus(cstate, code);\n\n  if (code == CHAP_SUCCESS) {\n    old_state = cstate->serverstate;\n    cstate->serverstate = CHAPSS_OPEN;\n    if (old_state == CHAPSS_INITIAL_CHAL) {\n      auth_peer_success(cstate->unit, PPP_CHAP, rhostname, len);\n    }\n    if (cstate->chal_interval != 0) {\n      TIMEOUT(ChapRechallenge, cstate, cstate->chal_interval);\n    }\n  } else {\n    CHAPDEBUG(LOG_ERR, (\"CHAP peer authentication failed\\n\"));\n    cstate->serverstate = CHAPSS_BADAUTH;\n    auth_peer_fail(cstate->unit, PPP_CHAP);\n  }\n}\n\n/*\n * ChapReceiveSuccess - Receive Success\n */\nstatic void\nChapReceiveSuccess(chap_state *cstate, u_char *inp, u_char id, int len)\n{\n  LWIP_UNUSED_ARG(id);\n  LWIP_UNUSED_ARG(inp);\n\n  CHAPDEBUG(LOG_INFO, (\"ChapReceiveSuccess: Rcvd id %d.\\n\", id));\n\n  if (cstate->clientstate == CHAPCS_OPEN) {\n    /* presumably an answer to a duplicate response */\n    return;\n  }\n\n  if (cstate->clientstate != CHAPCS_RESPONSE) {\n    /* don't know what this is */\n    CHAPDEBUG(LOG_INFO, (\"ChapReceiveSuccess: in state %d\\n\",\n               cstate->clientstate));\n    return;\n  }\n  \n  UNTIMEOUT(ChapResponseTimeout, cstate);\n  \n  /*\n   * Print message.\n   */\n  if (len > 0) {\n    PRINTMSG(inp, len);\n  }\n\n  cstate->clientstate = CHAPCS_OPEN;\n\n  auth_withpeer_success(cstate->unit, PPP_CHAP);\n}\n\n\n/*\n * ChapReceiveFailure - Receive failure.\n */\nstatic void\nChapReceiveFailure(chap_state *cstate, u_char *inp, u_char id, int len)\n{\n  LWIP_UNUSED_ARG(id);\n  LWIP_UNUSED_ARG(inp);\n\n  CHAPDEBUG(LOG_INFO, (\"ChapReceiveFailure: Rcvd id %d.\\n\", id));\n\n  if (cstate->clientstate != CHAPCS_RESPONSE) {\n    /* don't know what this is */\n    CHAPDEBUG(LOG_INFO, (\"ChapReceiveFailure: in state %d\\n\",\n               cstate->clientstate));\n    return;\n  }\n\n  UNTIMEOUT(ChapResponseTimeout, cstate);\n\n  /*\n   * Print message.\n   */\n  if (len > 0) {\n    PRINTMSG(inp, len);\n  }\n\n  CHAPDEBUG(LOG_ERR, (\"CHAP authentication failed\\n\"));\n  auth_withpeer_fail(cstate->unit, PPP_CHAP); /* lwip: just sets the PPP error code on this unit to PPPERR_AUTHFAIL */\n}\n\n\n/*\n * ChapSendChallenge - Send an Authenticate challenge.\n */\nstatic void\nChapSendChallenge(chap_state *cstate)\n{\n  u_char *outp;\n  int chal_len, name_len;\n  int outlen;\n  \n  chal_len = cstate->chal_len;\n  name_len = (int)strlen(cstate->chal_name);\n  outlen = CHAP_HEADERLEN + sizeof (u_char) + chal_len + name_len;\n  outp = outpacket_buf[cstate->unit];\n\n  MAKEHEADER(outp, PPP_CHAP);    /* paste in a CHAP header */\n\n  PUTCHAR(CHAP_CHALLENGE, outp);\n  PUTCHAR(cstate->chal_id, outp);\n  PUTSHORT(outlen, outp);\n\n  PUTCHAR(chal_len, outp);    /* put length of challenge */\n  BCOPY(cstate->challenge, outp, chal_len);\n  INCPTR(chal_len, outp);\n\n  BCOPY(cstate->chal_name, outp, name_len);  /* append hostname */\n  \n  pppWrite(cstate->unit, outpacket_buf[cstate->unit], outlen + PPP_HDRLEN);\n\n  CHAPDEBUG(LOG_INFO, (\"ChapSendChallenge: Sent id %d.\\n\", cstate->chal_id));\n  \n  TIMEOUT(ChapChallengeTimeout, cstate, cstate->timeouttime);\n  ++cstate->chal_transmits;\n}\n\n\n/*\n * ChapSendStatus - Send a status response (ack or nak).\n */\nstatic void\nChapSendStatus(chap_state *cstate, int code)\n{\n  u_char *outp;\n  int outlen, msglen;\n  char msg[256]; /* @todo: this can be a char*, no strcpy needed */\n\n  if (code == CHAP_SUCCESS) {\n    strcpy(msg, \"Welcome!\");\n  } else {\n    strcpy(msg, \"I don't like you.  Go 'way.\");\n  }\n  msglen = (int)strlen(msg);\n\n  outlen = CHAP_HEADERLEN + msglen;\n  outp = outpacket_buf[cstate->unit];\n\n  MAKEHEADER(outp, PPP_CHAP);    /* paste in a header */\n  \n  PUTCHAR(code, outp);\n  PUTCHAR(cstate->chal_id, outp);\n  PUTSHORT(outlen, outp);\n  BCOPY(msg, outp, msglen);\n  pppWrite(cstate->unit, outpacket_buf[cstate->unit], outlen + PPP_HDRLEN);\n\n  CHAPDEBUG(LOG_INFO, (\"ChapSendStatus: Sent code %d, id %d.\\n\", code,\n             cstate->chal_id));\n}\n\n/*\n * ChapGenChallenge is used to generate a pseudo-random challenge string of\n * a pseudo-random length between min_len and max_len.  The challenge\n * string and its length are stored in *cstate, and various other fields of\n * *cstate are initialized.\n */\n\nstatic void\nChapGenChallenge(chap_state *cstate)\n{\n  int chal_len;\n  u_char *ptr = cstate->challenge;\n  int i;\n\n  /* pick a random challenge length between MIN_CHALLENGE_LENGTH and \n     MAX_CHALLENGE_LENGTH */  \n  chal_len = (unsigned)\n        ((((magic() >> 16) *\n              (MAX_CHALLENGE_LENGTH - MIN_CHALLENGE_LENGTH)) >> 16)\n           + MIN_CHALLENGE_LENGTH);\n  LWIP_ASSERT(\"chal_len <= 0xff\", chal_len <= 0xffff);\n  cstate->chal_len = (u_char)chal_len;\n  cstate->chal_id = ++cstate->id;\n  cstate->chal_transmits = 0;\n\n  /* generate a random string */\n  for (i = 0; i < chal_len; i++ ) {\n    *ptr++ = (char) (magic() & 0xff);\n  }\n}\n\n/*\n * ChapSendResponse - send a response packet with values as specified\n * in *cstate.\n */\n/* ARGSUSED */\nstatic void\nChapSendResponse(chap_state *cstate)\n{\n  u_char *outp;\n  int outlen, md_len, name_len;\n\n  md_len = cstate->resp_length;\n  name_len = (int)strlen(cstate->resp_name);\n  outlen = CHAP_HEADERLEN + sizeof (u_char) + md_len + name_len;\n  outp = outpacket_buf[cstate->unit];\n\n  MAKEHEADER(outp, PPP_CHAP);\n  \n  PUTCHAR(CHAP_RESPONSE, outp);  /* we are a response */\n  PUTCHAR(cstate->resp_id, outp);  /* copy id from challenge packet */\n  PUTSHORT(outlen, outp);      /* packet length */\n  \n  PUTCHAR(md_len, outp);      /* length of MD */\n  BCOPY(cstate->response, outp, md_len);    /* copy MD to buffer */\n  INCPTR(md_len, outp);\n\n  BCOPY(cstate->resp_name, outp, name_len);  /* append our name */\n\n  /* send the packet */\n  pppWrite(cstate->unit, outpacket_buf[cstate->unit], outlen + PPP_HDRLEN);\n\n  cstate->clientstate = CHAPCS_RESPONSE;\n  TIMEOUT(ChapResponseTimeout, cstate, cstate->timeouttime);\n  ++cstate->resp_transmits;\n}\n\n#if PPP_ADDITIONAL_CALLBACKS\nstatic char *ChapCodenames[] = {\n  \"Challenge\", \"Response\", \"Success\", \"Failure\"\n};\n/*\n * ChapPrintPkt - print the contents of a CHAP packet.\n */\nstatic int\nChapPrintPkt( u_char *p, int plen, void (*printer) (void *, char *, ...), void *arg)\n{\n  int code, id, len;\n  int clen, nlen;\n  u_char x;\n\n  if (plen < CHAP_HEADERLEN) {\n    return 0;\n  }\n  GETCHAR(code, p);\n  GETCHAR(id, p);\n  GETSHORT(len, p);\n  if (len < CHAP_HEADERLEN || len > plen) {\n    return 0;\n  }\n\n  if (code >= 1 && code <= sizeof(ChapCodenames) / sizeof(char *)) {\n    printer(arg, \" %s\", ChapCodenames[code-1]);\n  } else {\n    printer(arg, \" code=0x%x\", code);\n  }\n  printer(arg, \" id=0x%x\", id);\n  len -= CHAP_HEADERLEN;\n  switch (code) {\n    case CHAP_CHALLENGE:\n    case CHAP_RESPONSE:\n      if (len < 1) {\n        break;\n      }\n      clen = p[0];\n      if (len < clen + 1) {\n        break;\n      }\n      ++p;\n      nlen = len - clen - 1;\n      printer(arg, \" <\");\n      for (; clen > 0; --clen) {\n        GETCHAR(x, p);\n        printer(arg, \"%.2x\", x);\n      }\n      printer(arg, \">, name = %.*Z\", nlen, p);\n      break;\n    case CHAP_FAILURE:\n    case CHAP_SUCCESS:\n      printer(arg, \" %.*Z\", len, p);\n      break;\n    default:\n      for (clen = len; clen > 0; --clen) {\n        GETCHAR(x, p);\n        printer(arg, \" %.2x\", x);\n      }\n  }\n\n  return len + CHAP_HEADERLEN;\n}\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n\n#endif /* CHAP_SUPPORT */\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/chap.h",
    "content": "/*****************************************************************************\n* chap.h - Network Challenge Handshake Authentication Protocol header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1998 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-03 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original built from BSD network code.\n******************************************************************************/\n/*\n * chap.h - Challenge Handshake Authentication Protocol definitions.\n *\n * Copyright (c) 1993 The Australian National University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by the Australian National University.  The name of the University\n * may not be used to endorse or promote products derived from this\n * software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * Copyright (c) 1991 Gregory M. Christy\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by the author.\n *\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * $Id: chap.h,v 1.6 2010/01/24 13:19:34 goldsimon Exp $\n */\n\n#ifndef CHAP_H\n#define CHAP_H\n\n/* Code + ID + length */\n#define CHAP_HEADERLEN 4\n\n/*\n * CHAP codes.\n */\n\n#define CHAP_DIGEST_MD5      5    /* use MD5 algorithm */\n#define MD5_SIGNATURE_SIZE   16   /* 16 bytes in a MD5 message digest */\n#define CHAP_MICROSOFT       0x80 /* use Microsoft-compatible alg. */\n#define MS_CHAP_RESPONSE_LEN 49   /* Response length for MS-CHAP */\n\n#define CHAP_CHALLENGE       1\n#define CHAP_RESPONSE        2\n#define CHAP_SUCCESS         3\n#define CHAP_FAILURE         4\n\n/*\n *  Challenge lengths (for challenges we send) and other limits.\n */\n#define MIN_CHALLENGE_LENGTH 32\n#define MAX_CHALLENGE_LENGTH 64\n#define MAX_RESPONSE_LENGTH  64 /* sufficient for MD5 or MS-CHAP */\n\n/*\n * Each interface is described by a chap structure.\n */\n\ntypedef struct chap_state {\n  int unit;                               /* Interface unit number */\n  int clientstate;                        /* Client state */\n  int serverstate;                        /* Server state */\n  u_char challenge[MAX_CHALLENGE_LENGTH]; /* last challenge string sent */\n  u_char chal_len;                        /* challenge length */\n  u_char chal_id;                         /* ID of last challenge */\n  u_char chal_type;                       /* hash algorithm for challenges */\n  u_char id;                              /* Current id */\n  char *chal_name;                        /* Our name to use with challenge */\n  int chal_interval;                      /* Time until we challenge peer again */\n  int timeouttime;                        /* Timeout time in seconds */\n  int max_transmits;                      /* Maximum # of challenge transmissions */\n  int chal_transmits;                     /* Number of transmissions of challenge */\n  int resp_transmits;                     /* Number of transmissions of response */\n  u_char response[MAX_RESPONSE_LENGTH];   /* Response to send */\n  u_char resp_length;                     /* length of response */\n  u_char resp_id;                         /* ID for response messages */\n  u_char resp_type;                       /* hash algorithm for responses */\n  char *resp_name;                        /* Our name to send with response */\n} chap_state;\n\n\n/*\n * Client (peer) states.\n */\n#define CHAPCS_INITIAL       0 /* Lower layer down, not opened */\n#define CHAPCS_CLOSED        1 /* Lower layer up, not opened */\n#define CHAPCS_PENDING       2 /* Auth us to peer when lower up */\n#define CHAPCS_LISTEN        3 /* Listening for a challenge */\n#define CHAPCS_RESPONSE      4 /* Sent response, waiting for status */\n#define CHAPCS_OPEN          5 /* We've received Success */\n\n/*\n * Server (authenticator) states.\n */\n#define CHAPSS_INITIAL       0 /* Lower layer down, not opened */\n#define CHAPSS_CLOSED        1 /* Lower layer up, not opened */\n#define CHAPSS_PENDING       2 /* Auth peer when lower up */\n#define CHAPSS_INITIAL_CHAL  3 /* We've sent the first challenge */\n#define CHAPSS_OPEN          4 /* We've sent a Success msg */\n#define CHAPSS_RECHALLENGE   5 /* We've sent another challenge */\n#define CHAPSS_BADAUTH       6 /* We've sent a Failure msg */\n\nextern chap_state chap[];\n\nvoid ChapAuthWithPeer (int, char *, u_char);\nvoid ChapAuthPeer (int, char *, u_char);\n\nextern struct protent chap_protent;\n\n#endif /* CHAP_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/chpms.c",
    "content": "/*** WARNING - THIS CODE HAS NOT BEEN FINISHED! ***/\n/*** The original PPPD code is written in a way to require either the UNIX DES\n     encryption functions encrypt(3) and setkey(3) or the DES library libdes.\n     Since both is not included in lwIP, MSCHAP currently does not work! */\n/*****************************************************************************\n* chpms.c - Network MicroSoft Challenge Handshake Authentication Protocol program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* Copyright (c) 1997 by Global Election Systems Inc.  All rights reserved.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-08 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original based on BSD chap_ms.c.\n*****************************************************************************/\n/*\n * chap_ms.c - Microsoft MS-CHAP compatible implementation.\n *\n * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited.\n * http://www.strataware.com/\n *\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Eric Rosenquist.  The name of the author may not be used to\n * endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n\n/*\n * Modifications by Lauri Pesonen / lpesonen@clinet.fi, april 1997\n *\n *   Implemented LANManager type password response to MS-CHAP challenges.\n *   Now pppd provides both NT style and LANMan style blocks, and the\n *   prefered is set by option \"ms-lanman\". Default is to use NT.\n *   The hash text (StdText) was taken from Win95 RASAPI32.DLL.\n *\n *   You should also use DOMAIN\\\\USERNAME as described in README.MSCHAP80\n */\n\n#define USE_CRYPT\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#if MSCHAP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"md4.h\"\n#ifndef USE_CRYPT\n#include \"des.h\"\n#endif\n#include \"chap.h\"\n#include \"chpms.h\"\n\n#include <string.h>\n\n\n/*************************/\n/*** LOCAL DEFINITIONS ***/\n/*************************/\n\n\n/************************/\n/*** LOCAL DATA TYPES ***/\n/************************/\ntypedef struct {\n    u_char LANManResp[24];\n    u_char NTResp[24];\n    u_char UseNT; /* If 1, ignore the LANMan response field */\n} MS_ChapResponse;\n/* We use MS_CHAP_RESPONSE_LEN, rather than sizeof(MS_ChapResponse),\n   in case this struct gets padded. */\n\n\n\n/***********************************/\n/*** LOCAL FUNCTION DECLARATIONS ***/\n/***********************************/\n\n/* XXX Don't know what to do with these. */\nextern void setkey(const char *);\nextern void encrypt(char *, int);\n\nstatic void DesEncrypt (u_char *, u_char *, u_char *);\nstatic void MakeKey (u_char *, u_char *);\n\n#ifdef USE_CRYPT\nstatic void Expand (u_char *, u_char *);\nstatic void Collapse (u_char *, u_char *);\n#endif\n\nstatic void ChallengeResponse(\n  u_char *challenge, /* IN   8 octets */\n  u_char *pwHash,    /* IN  16 octets */\n  u_char *response   /* OUT 24 octets */\n);\nstatic void ChapMS_NT(\n  char *rchallenge,\n  int rchallenge_len,\n  char *secret,\n  int secret_len,\n  MS_ChapResponse *response\n);\nstatic u_char Get7Bits(\n  u_char *input,\n  int startBit\n);\n\nstatic void\nChallengeResponse( u_char *challenge, /* IN   8 octets */\n                   u_char *pwHash,    /* IN  16 octets */\n                   u_char *response   /* OUT 24 octets */)\n{\n  u_char    ZPasswordHash[21];\n\n  BZERO(ZPasswordHash, sizeof(ZPasswordHash));\n  BCOPY(pwHash, ZPasswordHash, 16);\n\n#if 0\n  log_packet(ZPasswordHash, sizeof(ZPasswordHash), \"ChallengeResponse - ZPasswordHash\", LOG_DEBUG);\n#endif\n\n  DesEncrypt(challenge, ZPasswordHash +  0, response + 0);\n  DesEncrypt(challenge, ZPasswordHash +  7, response + 8);\n  DesEncrypt(challenge, ZPasswordHash + 14, response + 16);\n\n#if 0\n  log_packet(response, 24, \"ChallengeResponse - response\", LOG_DEBUG);\n#endif\n}\n\n\n#ifdef USE_CRYPT\nstatic void\nDesEncrypt( u_char *clear, /* IN  8 octets */\n            u_char *key,   /* IN  7 octets */\n            u_char *cipher /* OUT 8 octets */)\n{\n  u_char des_key[8];\n  u_char crypt_key[66];\n  u_char des_input[66];\n\n  MakeKey(key, des_key);\n\n  Expand(des_key, crypt_key);\n  setkey((char*)crypt_key);\n\n#if 0\n  CHAPDEBUG(LOG_INFO, (\"DesEncrypt: 8 octet input : %02X%02X%02X%02X%02X%02X%02X%02X\\n\",\n             clear[0], clear[1], clear[2], clear[3], clear[4], clear[5], clear[6], clear[7]));\n#endif\n\n  Expand(clear, des_input);\n  encrypt((char*)des_input, 0);\n  Collapse(des_input, cipher);\n\n#if 0\n  CHAPDEBUG(LOG_INFO, (\"DesEncrypt: 8 octet output: %02X%02X%02X%02X%02X%02X%02X%02X\\n\",\n             cipher[0], cipher[1], cipher[2], cipher[3], cipher[4], cipher[5], cipher[6], cipher[7]));\n#endif\n}\n\n#else /* USE_CRYPT */\n\nstatic void\nDesEncrypt( u_char *clear, /* IN  8 octets */\n            u_char *key,   /* IN  7 octets */\n            u_char *cipher /* OUT 8 octets */)\n{\n  des_cblock    des_key;\n  des_key_schedule  key_schedule;\n\n  MakeKey(key, des_key);\n\n  des_set_key(&des_key, key_schedule);\n\n#if 0\n  CHAPDEBUG(LOG_INFO, (\"DesEncrypt: 8 octet input : %02X%02X%02X%02X%02X%02X%02X%02X\\n\",\n             clear[0], clear[1], clear[2], clear[3], clear[4], clear[5], clear[6], clear[7]));\n#endif\n\n  des_ecb_encrypt((des_cblock *)clear, (des_cblock *)cipher, key_schedule, 1);\n\n#if 0\n  CHAPDEBUG(LOG_INFO, (\"DesEncrypt: 8 octet output: %02X%02X%02X%02X%02X%02X%02X%02X\\n\",\n             cipher[0], cipher[1], cipher[2], cipher[3], cipher[4], cipher[5], cipher[6], cipher[7]));\n#endif\n}\n\n#endif /* USE_CRYPT */\n\n\nstatic u_char\nGet7Bits( u_char *input, int startBit)\n{\n  register unsigned int  word;\n\n  word  = (unsigned)input[startBit / 8] << 8;\n  word |= (unsigned)input[startBit / 8 + 1];\n\n  word >>= 15 - (startBit % 8 + 7);\n\n  return word & 0xFE;\n}\n\n#ifdef USE_CRYPT\n\n/* in == 8-byte string (expanded version of the 56-bit key)\n * out == 64-byte string where each byte is either 1 or 0\n * Note that the low-order \"bit\" is always ignored by by setkey()\n */\nstatic void\nExpand(u_char *in, u_char *out)\n{\n  int j, c;\n  int i;\n\n  for(i = 0; i < 64; in++){\n    c = *in;\n    for(j = 7; j >= 0; j--) {\n      *out++ = (c >> j) & 01;\n    }\n    i += 8;\n  }\n}\n\n/* The inverse of Expand\n */\nstatic void\nCollapse(u_char *in, u_char *out)\n{\n  int j;\n  int i;\n  unsigned int c;\n\n  for (i = 0; i < 64; i += 8, out++) {\n    c = 0;\n    for (j = 7; j >= 0; j--, in++) {\n      c |= *in << j;\n    }\n    *out = c & 0xff;\n  }\n}\n#endif\n\nstatic void\nMakeKey( u_char *key,    /* IN  56 bit DES key missing parity bits */\n         u_char *des_key /* OUT 64 bit DES key with parity bits added */)\n{\n  des_key[0] = Get7Bits(key,  0);\n  des_key[1] = Get7Bits(key,  7);\n  des_key[2] = Get7Bits(key, 14);\n  des_key[3] = Get7Bits(key, 21);\n  des_key[4] = Get7Bits(key, 28);\n  des_key[5] = Get7Bits(key, 35);\n  des_key[6] = Get7Bits(key, 42);\n  des_key[7] = Get7Bits(key, 49);\n  \n#ifndef USE_CRYPT\n  des_set_odd_parity((des_cblock *)des_key);\n#endif\n  \n#if 0\n  CHAPDEBUG(LOG_INFO, (\"MakeKey: 56-bit input : %02X%02X%02X%02X%02X%02X%02X\\n\",\n             key[0], key[1], key[2], key[3], key[4], key[5], key[6]));\n  CHAPDEBUG(LOG_INFO, (\"MakeKey: 64-bit output: %02X%02X%02X%02X%02X%02X%02X%02X\\n\",\n             des_key[0], des_key[1], des_key[2], des_key[3], des_key[4], des_key[5], des_key[6], des_key[7]));\n#endif\n}\n\nstatic void\nChapMS_NT( char *rchallenge,\n           int rchallenge_len,\n           char *secret,\n           int secret_len,\n           MS_ChapResponse *response)\n{\n  int      i;\n  MDstruct  md4Context;\n  u_char    unicodePassword[MAX_NT_PASSWORD * 2];\n  static int  low_byte_first = -1;\n\n  LWIP_UNUSED_ARG(rchallenge_len);\n\n  /* Initialize the Unicode version of the secret (== password). */\n  /* This implicitly supports 8-bit ISO8859/1 characters. */\n  BZERO(unicodePassword, sizeof(unicodePassword));\n  for (i = 0; i < secret_len; i++) {\n    unicodePassword[i * 2] = (u_char)secret[i];\n  }\n  MDbegin(&md4Context);\n  MDupdate(&md4Context, unicodePassword, secret_len * 2 * 8);  /* Unicode is 2 bytes/char, *8 for bit count */\n\n  if (low_byte_first == -1) {\n    low_byte_first = (PP_HTONS((unsigned short int)1) != 1);\n  }\n  if (low_byte_first == 0) {\n    /* @todo: arg type - u_long* or u_int* ? */\n    MDreverse((unsigned int*)&md4Context);  /*  sfb 961105 */\n  }\n\n  MDupdate(&md4Context, NULL, 0);  /* Tell MD4 we're done */\n\n  ChallengeResponse((u_char*)rchallenge, (u_char*)md4Context.buffer, response->NTResp);\n}\n\n#ifdef MSLANMAN\nstatic u_char *StdText = (u_char *)\"KGS!@#$%\"; /* key from rasapi32.dll */\n\nstatic void\nChapMS_LANMan( char *rchallenge,\n               int rchallenge_len,\n               char *secret,\n               int secret_len,\n               MS_ChapResponse  *response)\n{\n  int      i;\n  u_char    UcasePassword[MAX_NT_PASSWORD]; /* max is actually 14 */\n  u_char    PasswordHash[16];\n  \n  /* LANMan password is case insensitive */\n  BZERO(UcasePassword, sizeof(UcasePassword));\n  for (i = 0; i < secret_len; i++) {\n    UcasePassword[i] = (u_char)toupper(secret[i]);\n  }\n  DesEncrypt( StdText, UcasePassword + 0, PasswordHash + 0 );\n  DesEncrypt( StdText, UcasePassword + 7, PasswordHash + 8 );\n  ChallengeResponse(rchallenge, PasswordHash, response->LANManResp);\n}\n#endif\n\nvoid\nChapMS( chap_state *cstate, char *rchallenge, int rchallenge_len, char *secret, int secret_len)\n{\n  MS_ChapResponse response;\n#ifdef MSLANMAN\n  extern int ms_lanman;\n#endif\n\n#if 0\n  CHAPDEBUG(LOG_INFO, (\"ChapMS: secret is '%.*s'\\n\", secret_len, secret));\n#endif\n  BZERO(&response, sizeof(response));\n\n  /* Calculate both always */\n  ChapMS_NT(rchallenge, rchallenge_len, secret, secret_len, &response);\n\n#ifdef MSLANMAN\n  ChapMS_LANMan(rchallenge, rchallenge_len, secret, secret_len, &response);\n\n  /* prefered method is set by option  */\n  response.UseNT = !ms_lanman;\n#else\n  response.UseNT = 1;\n#endif\n\n  BCOPY(&response, cstate->response, MS_CHAP_RESPONSE_LEN);\n  cstate->resp_length = MS_CHAP_RESPONSE_LEN;\n}\n\n#endif /* MSCHAP_SUPPORT */\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/chpms.h",
    "content": "/*****************************************************************************\n* chpms.h - Network Microsoft Challenge Handshake Protocol header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1998 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 98-01-30 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original built from BSD network code.\n******************************************************************************/\n/*\n * chap.h - Challenge Handshake Authentication Protocol definitions.\n *\n * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited.\n * http://www.strataware.com/\n *\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Eric Rosenquist.  The name of the author may not be used to\n * endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * $Id: chpms.h,v 1.5 2007/12/19 20:47:23 fbernon Exp $\n */\n\n#ifndef CHPMS_H\n#define CHPMS_H\n\n#define MAX_NT_PASSWORD 256 /* Maximum number of (Unicode) chars in an NT password */\n\nvoid ChapMS (chap_state *, char *, int, char *, int);\n\n#endif /* CHPMS_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/fsm.c",
    "content": "/*****************************************************************************\n* fsm.c - Network Control Protocol Finite State Machine program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 by Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-01 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original based on BSD fsm.c.\n*****************************************************************************/\n/*\n * fsm.c - {Link, IP} Control Protocol Finite State Machine.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n\n/*\n * TODO:\n * Randomize fsm id on link/init.\n * Deal with variable outgoing MTU.\n */\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"fsm.h\"\n\n#include <string.h>\n\n#if PPP_DEBUG\nstatic const char *ppperr_strerr[] = {\n           \"LS_INITIAL\",  /* LS_INITIAL  0 */\n           \"LS_STARTING\", /* LS_STARTING 1 */\n           \"LS_CLOSED\",   /* LS_CLOSED   2 */\n           \"LS_STOPPED\",  /* LS_STOPPED  3 */\n           \"LS_CLOSING\",  /* LS_CLOSING  4 */\n           \"LS_STOPPING\", /* LS_STOPPING 5 */\n           \"LS_REQSENT\",  /* LS_REQSENT  6 */\n           \"LS_ACKRCVD\",  /* LS_ACKRCVD  7 */\n           \"LS_ACKSENT\",  /* LS_ACKSENT  8 */\n           \"LS_OPENED\"    /* LS_OPENED   9 */\n};\n#endif /* PPP_DEBUG */\n\nstatic void fsm_timeout (void *);\nstatic void fsm_rconfreq (fsm *, u_char, u_char *, int);\nstatic void fsm_rconfack (fsm *, int, u_char *, int);\nstatic void fsm_rconfnakrej (fsm *, int, int, u_char *, int);\nstatic void fsm_rtermreq (fsm *, int, u_char *, int);\nstatic void fsm_rtermack (fsm *);\nstatic void fsm_rcoderej (fsm *, u_char *, int);\nstatic void fsm_sconfreq (fsm *, int);\n\n#define PROTO_NAME(f) ((f)->callbacks->proto_name)\n\nint peer_mru[NUM_PPP];\n\n\n/*\n * fsm_init - Initialize fsm.\n *\n * Initialize fsm state.\n */\nvoid\nfsm_init(fsm *f)\n{\n  f->state = LS_INITIAL;\n  f->flags = 0;\n  f->id = 0;        /* XXX Start with random id? */\n  f->timeouttime = FSM_DEFTIMEOUT;\n  f->maxconfreqtransmits = FSM_DEFMAXCONFREQS;\n  f->maxtermtransmits = FSM_DEFMAXTERMREQS;\n  f->maxnakloops = FSM_DEFMAXNAKLOOPS;\n  f->term_reason_len = 0;\n}\n\n\n/*\n * fsm_lowerup - The lower layer is up.\n */\nvoid\nfsm_lowerup(fsm *f)\n{\n  int oldState = f->state;\n\n  LWIP_UNUSED_ARG(oldState);\n\n  switch( f->state ) {\n    case LS_INITIAL:\n      f->state = LS_CLOSED;\n      break;\n\n    case LS_STARTING:\n      if( f->flags & OPT_SILENT ) {\n        f->state = LS_STOPPED;\n      } else {\n        /* Send an initial configure-request */\n        fsm_sconfreq(f, 0);\n        f->state = LS_REQSENT;\n      }\n    break;\n\n    default:\n      FSMDEBUG(LOG_INFO, (\"%s: Up event in state %d (%s)!\\n\",\n          PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n  }\n\n  FSMDEBUG(LOG_INFO, (\"%s: lowerup state %d (%s) -> %d (%s)\\n\",\n      PROTO_NAME(f), oldState, ppperr_strerr[oldState], f->state, ppperr_strerr[f->state]));\n}\n\n\n/*\n * fsm_lowerdown - The lower layer is down.\n *\n * Cancel all timeouts and inform upper layers.\n */\nvoid\nfsm_lowerdown(fsm *f)\n{\n  int oldState = f->state;\n\n  LWIP_UNUSED_ARG(oldState);\n\n  switch( f->state ) {\n    case LS_CLOSED:\n      f->state = LS_INITIAL;\n      break;\n\n    case LS_STOPPED:\n      f->state = LS_STARTING;\n      if( f->callbacks->starting ) {\n        (*f->callbacks->starting)(f);\n      }\n      break;\n\n    case LS_CLOSING:\n      f->state = LS_INITIAL;\n      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      break;\n\n    case LS_STOPPING:\n    case LS_REQSENT:\n    case LS_ACKRCVD:\n    case LS_ACKSENT:\n      f->state = LS_STARTING;\n      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      break;\n\n    case LS_OPENED:\n      if( f->callbacks->down ) {\n        (*f->callbacks->down)(f);\n      }\n      f->state = LS_STARTING;\n      break;\n\n    default:\n      FSMDEBUG(LOG_INFO, (\"%s: Down event in state %d (%s)!\\n\",\n          PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n  }\n\n  FSMDEBUG(LOG_INFO, (\"%s: lowerdown state %d (%s) -> %d (%s)\\n\",\n      PROTO_NAME(f), oldState, ppperr_strerr[oldState], f->state, ppperr_strerr[f->state]));\n}\n\n\n/*\n * fsm_open - Link is allowed to come up.\n */\nvoid\nfsm_open(fsm *f)\n{\n  int oldState = f->state;\n\n  LWIP_UNUSED_ARG(oldState);\n\n  switch( f->state ) {\n    case LS_INITIAL:\n      f->state = LS_STARTING;\n      if( f->callbacks->starting ) {\n        (*f->callbacks->starting)(f);\n      }\n      break;\n\n    case LS_CLOSED:\n      if( f->flags & OPT_SILENT ) {\n        f->state = LS_STOPPED;\n      } else {\n        /* Send an initial configure-request */\n        fsm_sconfreq(f, 0);\n        f->state = LS_REQSENT;\n      }\n      break;\n  \n    case LS_CLOSING:\n      f->state = LS_STOPPING;\n      /* fall through */\n    case LS_STOPPED:\n    case LS_OPENED:\n      if( f->flags & OPT_RESTART ) {\n        fsm_lowerdown(f);\n        fsm_lowerup(f);\n      }\n      break;\n  }\n\n  FSMDEBUG(LOG_INFO, (\"%s: open state %d (%s) -> %d (%s)\\n\",\n      PROTO_NAME(f), oldState, ppperr_strerr[oldState], f->state, ppperr_strerr[f->state]));\n}\n\n#if 0 /* backport pppd 2.4.4b1; */\n/*\n * terminate_layer - Start process of shutting down the FSM\n *\n * Cancel any timeout running, notify upper layers we're done, and\n * send a terminate-request message as configured.\n */\nstatic void\nterminate_layer(fsm *f, int nextstate)\n{\n  /* @todo */\n}\n#endif\n\n/*\n * fsm_close - Start closing connection.\n *\n * Cancel timeouts and either initiate close or possibly go directly to\n * the LS_CLOSED state.\n */\nvoid\nfsm_close(fsm *f, char *reason)\n{\n  int oldState = f->state;\n\n  LWIP_UNUSED_ARG(oldState);\n\n  f->term_reason = reason;\n  f->term_reason_len = (reason == NULL ? 0 : (int)strlen(reason));\n  switch( f->state ) {\n    case LS_STARTING:\n      f->state = LS_INITIAL;\n      break;\n    case LS_STOPPED:\n      f->state = LS_CLOSED;\n      break;\n    case LS_STOPPING:\n      f->state = LS_CLOSING;\n      break;\n\n    case LS_REQSENT:\n    case LS_ACKRCVD:\n    case LS_ACKSENT:\n    case LS_OPENED:\n      if( f->state != LS_OPENED ) {\n        UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      } else if( f->callbacks->down ) {\n        (*f->callbacks->down)(f);  /* Inform upper layers we're down */\n      }\n      /* Init restart counter, send Terminate-Request */\n      f->retransmits = f->maxtermtransmits;\n      fsm_sdata(f, TERMREQ, f->reqid = ++f->id,\n            (u_char *) f->term_reason, f->term_reason_len);\n      TIMEOUT(fsm_timeout, f, f->timeouttime);\n      --f->retransmits;\n\n      f->state = LS_CLOSING;\n      break;\n  }\n\n  FSMDEBUG(LOG_INFO, (\"%s: close reason=%s state %d (%s) -> %d (%s)\\n\",\n      PROTO_NAME(f), reason, oldState, ppperr_strerr[oldState], f->state, ppperr_strerr[f->state]));\n}\n\n\n/*\n * fsm_timeout - Timeout expired.\n */\nstatic void\nfsm_timeout(void *arg)\n{\n  fsm *f = (fsm *) arg;\n\n  switch (f->state) {\n    case LS_CLOSING:\n    case LS_STOPPING:\n      if( f->retransmits <= 0 ) {\n        FSMDEBUG(LOG_WARNING, (\"%s: timeout sending Terminate-Request state=%d (%s)\\n\",\n             PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n        /*\n         * We've waited for an ack long enough.  Peer probably heard us.\n         */\n        f->state = (f->state == LS_CLOSING)? LS_CLOSED: LS_STOPPED;\n        if( f->callbacks->finished ) {\n          (*f->callbacks->finished)(f);\n        }\n      } else {\n        FSMDEBUG(LOG_WARNING, (\"%s: timeout resending Terminate-Requests state=%d (%s)\\n\",\n             PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n        /* Send Terminate-Request */\n        fsm_sdata(f, TERMREQ, f->reqid = ++f->id,\n            (u_char *) f->term_reason, f->term_reason_len);\n        TIMEOUT(fsm_timeout, f, f->timeouttime);\n        --f->retransmits;\n      }\n      break;\n\n    case LS_REQSENT:\n    case LS_ACKRCVD:\n    case LS_ACKSENT:\n      if (f->retransmits <= 0) {\n        FSMDEBUG(LOG_WARNING, (\"%s: timeout sending Config-Requests state=%d (%s)\\n\",\n         PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n        f->state = LS_STOPPED;\n        if( (f->flags & OPT_PASSIVE) == 0 && f->callbacks->finished ) {\n          (*f->callbacks->finished)(f);\n        }\n      } else {\n        FSMDEBUG(LOG_WARNING, (\"%s: timeout resending Config-Request state=%d (%s)\\n\",\n         PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n        /* Retransmit the configure-request */\n        if (f->callbacks->retransmit) {\n          (*f->callbacks->retransmit)(f);\n        }\n        fsm_sconfreq(f, 1);    /* Re-send Configure-Request */\n        if( f->state == LS_ACKRCVD ) {\n          f->state = LS_REQSENT;\n        }\n      }\n      break;\n\n    default:\n      FSMDEBUG(LOG_INFO, (\"%s: UNHANDLED timeout event in state %d (%s)!\\n\",\n          PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n  }\n}\n\n\n/*\n * fsm_input - Input packet.\n */\nvoid\nfsm_input(fsm *f, u_char *inpacket, int l)\n{\n  u_char *inp = inpacket;\n  u_char code, id;\n  int len;\n\n  /*\n  * Parse header (code, id and length).\n  * If packet too short, drop it.\n  */\n  if (l < HEADERLEN) {\n    FSMDEBUG(LOG_WARNING, (\"fsm_input(%x): Rcvd short header.\\n\",\n          f->protocol));\n    return;\n  }\n  GETCHAR(code, inp);\n  GETCHAR(id, inp);\n  GETSHORT(len, inp);\n  if (len < HEADERLEN) {\n    FSMDEBUG(LOG_INFO, (\"fsm_input(%x): Rcvd illegal length.\\n\",\n        f->protocol));\n    return;\n  }\n  if (len > l) {\n    FSMDEBUG(LOG_INFO, (\"fsm_input(%x): Rcvd short packet.\\n\",\n        f->protocol));\n    return;\n  }\n  len -= HEADERLEN;    /* subtract header length */\n\n  if( f->state == LS_INITIAL || f->state == LS_STARTING ) {\n    FSMDEBUG(LOG_INFO, (\"fsm_input(%x): Rcvd packet in state %d (%s).\\n\",\n        f->protocol, f->state, ppperr_strerr[f->state]));\n    return;\n  }\n  FSMDEBUG(LOG_INFO, (\"fsm_input(%s):%d,%d,%d\\n\", PROTO_NAME(f), code, id, l));\n  /*\n   * Action depends on code.\n   */\n  switch (code) {\n    case CONFREQ:\n      fsm_rconfreq(f, id, inp, len);\n      break;\n    \n    case CONFACK:\n      fsm_rconfack(f, id, inp, len);\n      break;\n    \n    case CONFNAK:\n    case CONFREJ:\n      fsm_rconfnakrej(f, code, id, inp, len);\n      break;\n    \n    case TERMREQ:\n      fsm_rtermreq(f, id, inp, len);\n      break;\n    \n    case TERMACK:\n      fsm_rtermack(f);\n      break;\n    \n    case CODEREJ:\n      fsm_rcoderej(f, inp, len);\n      break;\n    \n    default:\n      FSMDEBUG(LOG_INFO, (\"fsm_input(%s): default: \\n\", PROTO_NAME(f)));\n      if( !f->callbacks->extcode ||\n          !(*f->callbacks->extcode)(f, code, id, inp, len) ) {\n        fsm_sdata(f, CODEREJ, ++f->id, inpacket, len + HEADERLEN);\n      }\n      break;\n  }\n}\n\n\n/*\n * fsm_rconfreq - Receive Configure-Request.\n */\nstatic void\nfsm_rconfreq(fsm *f, u_char id, u_char *inp, int len)\n{\n  int code, reject_if_disagree;\n\n  FSMDEBUG(LOG_INFO, (\"fsm_rconfreq(%s): Rcvd id %d state=%d (%s)\\n\", \n        PROTO_NAME(f), id, f->state, ppperr_strerr[f->state]));\n  switch( f->state ) {\n    case LS_CLOSED:\n      /* Go away, we're closed */\n      fsm_sdata(f, TERMACK, id, NULL, 0);\n      return;\n    case LS_CLOSING:\n    case LS_STOPPING:\n      return;\n\n    case LS_OPENED:\n      /* Go down and restart negotiation */\n      if( f->callbacks->down ) {\n        (*f->callbacks->down)(f);  /* Inform upper layers */\n      }\n      fsm_sconfreq(f, 0);    /* Send initial Configure-Request */\n      break;\n\n    case LS_STOPPED:\n      /* Negotiation started by our peer */\n      fsm_sconfreq(f, 0);    /* Send initial Configure-Request */\n      f->state = LS_REQSENT;\n      break;\n  }\n  \n  /*\n  * Pass the requested configuration options\n  * to protocol-specific code for checking.\n  */\n  if (f->callbacks->reqci) {    /* Check CI */\n    reject_if_disagree = (f->nakloops >= f->maxnakloops);\n    code = (*f->callbacks->reqci)(f, inp, &len, reject_if_disagree);\n  } else if (len) {\n    code = CONFREJ;      /* Reject all CI */\n  } else {\n    code = CONFACK;\n  }\n  \n  /* send the Ack, Nak or Rej to the peer */\n  fsm_sdata(f, (u_char)code, id, inp, len);\n  \n  if (code == CONFACK) {\n    if (f->state == LS_ACKRCVD) {\n      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      f->state = LS_OPENED;\n      if (f->callbacks->up) {\n        (*f->callbacks->up)(f);  /* Inform upper layers */\n      }\n    } else {\n      f->state = LS_ACKSENT;\n    }\n    f->nakloops = 0;\n  } else {\n    /* we sent CONFACK or CONFREJ */\n    if (f->state != LS_ACKRCVD) {\n      f->state = LS_REQSENT;\n    }\n    if( code == CONFNAK ) {\n      ++f->nakloops;\n    }\n  }\n}\n\n\n/*\n * fsm_rconfack - Receive Configure-Ack.\n */\nstatic void\nfsm_rconfack(fsm *f, int id, u_char *inp, int len)\n{\n  FSMDEBUG(LOG_INFO, (\"fsm_rconfack(%s): Rcvd id %d state=%d (%s)\\n\",\n        PROTO_NAME(f), id, f->state, ppperr_strerr[f->state]));\n  \n  if (id != f->reqid || f->seen_ack) {   /* Expected id? */\n    return; /* Nope, toss... */\n  }\n  if( !(f->callbacks->ackci? (*f->callbacks->ackci)(f, inp, len): (len == 0)) ) {\n    /* Ack is bad - ignore it */\n    FSMDEBUG(LOG_INFO, (\"%s: received bad Ack (length %d)\\n\",\n          PROTO_NAME(f), len));\n    return;\n  }\n  f->seen_ack = 1;\n  \n  switch (f->state) {\n    case LS_CLOSED:\n    case LS_STOPPED:\n      fsm_sdata(f, TERMACK, (u_char)id, NULL, 0);\n      break;\n    \n    case LS_REQSENT:\n      f->state = LS_ACKRCVD;\n      f->retransmits = f->maxconfreqtransmits;\n      break;\n    \n    case LS_ACKRCVD:\n      /* Huh? an extra valid Ack? oh well... */\n      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      fsm_sconfreq(f, 0);\n      f->state = LS_REQSENT;\n      break;\n    \n    case LS_ACKSENT:\n      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      f->state = LS_OPENED;\n      f->retransmits = f->maxconfreqtransmits;\n      if (f->callbacks->up) {\n        (*f->callbacks->up)(f);  /* Inform upper layers */\n      }\n      break;\n    \n    case LS_OPENED:\n      /* Go down and restart negotiation */\n      if (f->callbacks->down) {\n        (*f->callbacks->down)(f);  /* Inform upper layers */\n      }\n      fsm_sconfreq(f, 0);    /* Send initial Configure-Request */\n      f->state = LS_REQSENT;\n      break;\n  }\n}\n\n\n/*\n * fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject.\n */\nstatic void\nfsm_rconfnakrej(fsm *f, int code, int id, u_char *inp, int len)\n{\n  int (*proc) (fsm *, u_char *, int);\n  int ret;\n\n  FSMDEBUG(LOG_INFO, (\"fsm_rconfnakrej(%s): Rcvd id %d state=%d (%s)\\n\",\n        PROTO_NAME(f), id, f->state, ppperr_strerr[f->state]));\n\n  if (id != f->reqid || f->seen_ack) { /* Expected id? */\n    return;        /* Nope, toss... */\n  }\n  proc = (code == CONFNAK)? f->callbacks->nakci: f->callbacks->rejci;\n  if (!proc || !((ret = proc(f, inp, len)))) {\n    /* Nak/reject is bad - ignore it */\n    FSMDEBUG(LOG_INFO, (\"%s: received bad %s (length %d)\\n\",\n          PROTO_NAME(f), (code==CONFNAK? \"Nak\": \"reject\"), len));\n    return;\n  }\n  f->seen_ack = 1;\n\n  switch (f->state) {\n    case LS_CLOSED:\n    case LS_STOPPED:\n      fsm_sdata(f, TERMACK, (u_char)id, NULL, 0);\n      break;\n    \n    case LS_REQSENT:\n    case LS_ACKSENT:\n      /* They didn't agree to what we wanted - try another request */\n      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      if (ret < 0) {\n        f->state = LS_STOPPED;    /* kludge for stopping CCP */\n      } else {\n        fsm_sconfreq(f, 0);    /* Send Configure-Request */\n      }\n      break;\n    \n    case LS_ACKRCVD:\n      /* Got a Nak/reject when we had already had an Ack?? oh well... */\n      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      fsm_sconfreq(f, 0);\n      f->state = LS_REQSENT;\n      break;\n    \n    case LS_OPENED:\n      /* Go down and restart negotiation */\n      if (f->callbacks->down) {\n        (*f->callbacks->down)(f);  /* Inform upper layers */\n      }\n      fsm_sconfreq(f, 0);    /* Send initial Configure-Request */\n      f->state = LS_REQSENT;\n      break;\n  }\n}\n\n\n/*\n * fsm_rtermreq - Receive Terminate-Req.\n */\nstatic void\nfsm_rtermreq(fsm *f, int id, u_char *p, int len)\n{\n  LWIP_UNUSED_ARG(p);\n\n  FSMDEBUG(LOG_INFO, (\"fsm_rtermreq(%s): Rcvd id %d state=%d (%s)\\n\",\n        PROTO_NAME(f), id, f->state, ppperr_strerr[f->state]));\n\n  switch (f->state) {\n    case LS_ACKRCVD:\n    case LS_ACKSENT:\n      f->state = LS_REQSENT;    /* Start over but keep trying */\n      break;\n\n    case LS_OPENED:\n      if (len > 0) {\n        FSMDEBUG(LOG_INFO, (\"%s terminated by peer (%p)\\n\", PROTO_NAME(f), p));\n      } else {\n        FSMDEBUG(LOG_INFO, (\"%s terminated by peer\\n\", PROTO_NAME(f)));\n      }\n      if (f->callbacks->down) {\n        (*f->callbacks->down)(f);  /* Inform upper layers */\n      }\n      f->retransmits = 0;\n      f->state = LS_STOPPING;\n      TIMEOUT(fsm_timeout, f, f->timeouttime);\n      break;\n  }\n\n  fsm_sdata(f, TERMACK, (u_char)id, NULL, 0);\n}\n\n\n/*\n * fsm_rtermack - Receive Terminate-Ack.\n */\nstatic void\nfsm_rtermack(fsm *f)\n{\n  FSMDEBUG(LOG_INFO, (\"fsm_rtermack(%s): state=%d (%s)\\n\", \n        PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n  \n  switch (f->state) {\n    case LS_CLOSING:\n      UNTIMEOUT(fsm_timeout, f);\n      f->state = LS_CLOSED;\n      if( f->callbacks->finished ) {\n        (*f->callbacks->finished)(f);\n      }\n      break;\n\n    case LS_STOPPING:\n      UNTIMEOUT(fsm_timeout, f);\n      f->state = LS_STOPPED;\n      if( f->callbacks->finished ) {\n        (*f->callbacks->finished)(f);\n      }\n      break;\n    \n    case LS_ACKRCVD:\n      f->state = LS_REQSENT;\n      break;\n    \n    case LS_OPENED:\n      if (f->callbacks->down) {\n        (*f->callbacks->down)(f);  /* Inform upper layers */\n      }\n      fsm_sconfreq(f, 0);\n      break;\n    default:\n      FSMDEBUG(LOG_INFO, (\"fsm_rtermack(%s): UNHANDLED state=%d (%s)!!!\\n\", \n                PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n  }\n}\n\n\n/*\n * fsm_rcoderej - Receive an Code-Reject.\n */\nstatic void\nfsm_rcoderej(fsm *f, u_char *inp, int len)\n{\n  u_char code, id;\n  \n  FSMDEBUG(LOG_INFO, (\"fsm_rcoderej(%s): state=%d (%s)\\n\", \n        PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n  \n  if (len < HEADERLEN) {\n    FSMDEBUG(LOG_INFO, (\"fsm_rcoderej: Rcvd short Code-Reject packet!\\n\"));\n    return;\n  }\n  GETCHAR(code, inp);\n  GETCHAR(id, inp);\n  FSMDEBUG(LOG_WARNING, (\"%s: Rcvd Code-Reject for code %d, id %d\\n\",\n        PROTO_NAME(f), code, id));\n  \n  if( f->state == LS_ACKRCVD ) {\n    f->state = LS_REQSENT;\n  }\n}\n\n\n/*\n * fsm_protreject - Peer doesn't speak this protocol.\n *\n * Treat this as a catastrophic error (RXJ-).\n */\nvoid\nfsm_protreject(fsm *f)\n{\n  switch( f->state ) {\n    case LS_CLOSING:\n      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      /* fall through */\n    case LS_CLOSED:\n      f->state = LS_CLOSED;\n      if( f->callbacks->finished ) {\n        (*f->callbacks->finished)(f);\n      }\n      break;\n\n    case LS_STOPPING:\n    case LS_REQSENT:\n    case LS_ACKRCVD:\n    case LS_ACKSENT:\n      UNTIMEOUT(fsm_timeout, f);  /* Cancel timeout */\n      /* fall through */\n    case LS_STOPPED:\n      f->state = LS_STOPPED;\n      if( f->callbacks->finished ) {\n        (*f->callbacks->finished)(f);\n      }\n      break;\n    \n    case LS_OPENED:\n      if( f->callbacks->down ) {\n        (*f->callbacks->down)(f);\n      }\n      /* Init restart counter, send Terminate-Request */\n      f->retransmits = f->maxtermtransmits;\n      fsm_sdata(f, TERMREQ, f->reqid = ++f->id,\n            (u_char *) f->term_reason, f->term_reason_len);\n      TIMEOUT(fsm_timeout, f, f->timeouttime);\n      --f->retransmits;\n\n      f->state = LS_STOPPING;\n      break;\n    \n    default:\n      FSMDEBUG(LOG_INFO, (\"%s: Protocol-reject event in state %d (%s)!\\n\",\n            PROTO_NAME(f), f->state, ppperr_strerr[f->state]));\n    }\n}\n\n\n/*\n * fsm_sconfreq - Send a Configure-Request.\n */\nstatic void\nfsm_sconfreq(fsm *f, int retransmit)\n{\n  u_char *outp;\n  int cilen;\n  \n  if( f->state != LS_REQSENT && f->state != LS_ACKRCVD && f->state != LS_ACKSENT ) {\n    /* Not currently negotiating - reset options */\n    if( f->callbacks->resetci ) {\n      (*f->callbacks->resetci)(f);\n    }\n    f->nakloops = 0;\n  }\n  \n  if( !retransmit ) {\n    /* New request - reset retransmission counter, use new ID */\n    f->retransmits = f->maxconfreqtransmits;\n    f->reqid = ++f->id;\n  }\n  \n  f->seen_ack = 0;\n  \n  /*\n   * Make up the request packet\n   */\n  outp = outpacket_buf[f->unit] + PPP_HDRLEN + HEADERLEN;\n  if( f->callbacks->cilen && f->callbacks->addci ) {\n    cilen = (*f->callbacks->cilen)(f);\n    if( cilen > peer_mru[f->unit] - (int)HEADERLEN ) {\n      cilen = peer_mru[f->unit] - HEADERLEN;\n    }\n    if (f->callbacks->addci) {\n      (*f->callbacks->addci)(f, outp, &cilen);\n    }\n  } else {\n    cilen = 0;\n  }\n\n  /* send the request to our peer */\n  fsm_sdata(f, CONFREQ, f->reqid, outp, cilen);\n  \n  /* start the retransmit timer */\n  --f->retransmits;\n  TIMEOUT(fsm_timeout, f, f->timeouttime);\n  \n  FSMDEBUG(LOG_INFO, (\"%s: sending Configure-Request, id %d\\n\",\n        PROTO_NAME(f), f->reqid));\n}\n\n\n/*\n * fsm_sdata - Send some data.\n *\n * Used for all packets sent to our peer by this module.\n */\nvoid\nfsm_sdata( fsm *f, u_char code, u_char id, u_char *data, int datalen)\n{\n  u_char *outp;\n  int outlen;\n\n  /* Adjust length to be smaller than MTU */\n  outp = outpacket_buf[f->unit];\n  if (datalen > peer_mru[f->unit] - (int)HEADERLEN) {\n    datalen = peer_mru[f->unit] - HEADERLEN;\n  }\n  if (datalen && data != outp + PPP_HDRLEN + HEADERLEN) {\n    BCOPY(data, outp + PPP_HDRLEN + HEADERLEN, datalen);\n  }\n  outlen = datalen + HEADERLEN;\n  MAKEHEADER(outp, f->protocol);\n  PUTCHAR(code, outp);\n  PUTCHAR(id, outp);\n  PUTSHORT(outlen, outp);\n  pppWrite(f->unit, outpacket_buf[f->unit], outlen + PPP_HDRLEN);\n  FSMDEBUG(LOG_INFO, (\"fsm_sdata(%s): Sent code %d,%d,%d.\\n\",\n        PROTO_NAME(f), code, id, outlen));\n}\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/fsm.h",
    "content": "/*****************************************************************************\n* fsm.h - Network Control Protocol Finite State Machine header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* Copyright (c) 1997 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-11-05 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc.\n*   Original based on BSD code.\n*****************************************************************************/\n/*\n * fsm.h - {Link, IP} Control Protocol Finite State Machine definitions.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * $Id: fsm.h,v 1.5 2009/12/31 17:08:08 goldsimon Exp $\n */\n\n#ifndef FSM_H\n#define FSM_H\n\n/*\n * LCP Packet header = Code, id, length.\n */\n#define HEADERLEN (sizeof (u_char) + sizeof (u_char) + sizeof (u_short))\n\n\n/*\n *  CP (LCP, IPCP, etc.) codes.\n */\n#define CONFREQ     1 /* Configuration Request */\n#define CONFACK     2 /* Configuration Ack */\n#define CONFNAK     3 /* Configuration Nak */\n#define CONFREJ     4 /* Configuration Reject */\n#define TERMREQ     5 /* Termination Request */\n#define TERMACK     6 /* Termination Ack */\n#define CODEREJ     7 /* Code Reject */\n\n\n/*\n * Each FSM is described by an fsm structure and fsm callbacks.\n */\ntypedef struct fsm {\n  int unit;                        /* Interface unit number */\n  u_short protocol;                /* Data Link Layer Protocol field value */\n  int state;                       /* State */\n  int flags;                       /* Contains option bits */\n  u_char id;                       /* Current id */\n  u_char reqid;                    /* Current request id */\n  u_char seen_ack;                 /* Have received valid Ack/Nak/Rej to Req */\n  int timeouttime;                 /* Timeout time in milliseconds */\n  int maxconfreqtransmits;         /* Maximum Configure-Request transmissions */\n  int retransmits;                 /* Number of retransmissions left */\n  int maxtermtransmits;            /* Maximum Terminate-Request transmissions */\n  int nakloops;                    /* Number of nak loops since last ack */\n  int maxnakloops;                 /* Maximum number of nak loops tolerated */\n  struct fsm_callbacks* callbacks; /* Callback routines */\n  char* term_reason;               /* Reason for closing protocol */\n  int term_reason_len;             /* Length of term_reason */\n} fsm;\n\n\ntypedef struct fsm_callbacks {\n  void (*resetci)(fsm*);                            /* Reset our Configuration Information */\n  int  (*cilen)(fsm*);                              /* Length of our Configuration Information */\n  void (*addci)(fsm*, u_char*, int*);               /* Add our Configuration Information */\n  int  (*ackci)(fsm*, u_char*, int);                /* ACK our Configuration Information */\n  int  (*nakci)(fsm*, u_char*, int);                /* NAK our Configuration Information */\n  int  (*rejci)(fsm*, u_char*, int);                /* Reject our Configuration Information */\n  int  (*reqci)(fsm*, u_char*, int*, int);          /* Request peer's Configuration Information */\n  void (*up)(fsm*);                                 /* Called when fsm reaches LS_OPENED state */\n  void (*down)(fsm*);                               /* Called when fsm leaves LS_OPENED state */\n  void (*starting)(fsm*);                           /* Called when we want the lower layer */\n  void (*finished)(fsm*);                           /* Called when we don't want the lower layer */\n  void (*protreject)(int);                          /* Called when Protocol-Reject received */\n  void (*retransmit)(fsm*);                         /* Retransmission is necessary */\n  int  (*extcode)(fsm*, int, u_char, u_char*, int); /* Called when unknown code received */\n  char *proto_name;                                 /* String name for protocol (for messages) */\n} fsm_callbacks;\n\n\n/*\n * Link states.\n */\n#define LS_INITIAL  0 /* Down, hasn't been opened */\n#define LS_STARTING 1 /* Down, been opened */\n#define LS_CLOSED   2 /* Up, hasn't been opened */\n#define LS_STOPPED  3 /* Open, waiting for down event */\n#define LS_CLOSING  4 /* Terminating the connection, not open */\n#define LS_STOPPING 5 /* Terminating, but open */\n#define LS_REQSENT  6 /* We've sent a Config Request */\n#define LS_ACKRCVD  7 /* We've received a Config Ack */\n#define LS_ACKSENT  8 /* We've sent a Config Ack */\n#define LS_OPENED   9 /* Connection available */\n\n/*\n * Flags - indicate options controlling FSM operation\n */\n#define OPT_PASSIVE 1 /* Don't die if we don't get a response */\n#define OPT_RESTART 2 /* Treat 2nd OPEN as DOWN, UP */\n#define OPT_SILENT  4 /* Wait for peer to speak first */\n\n\n/*\n * Prototypes\n */\nvoid fsm_init (fsm*);\nvoid fsm_lowerup (fsm*);\nvoid fsm_lowerdown (fsm*);\nvoid fsm_open (fsm*);\nvoid fsm_close (fsm*, char*);\nvoid fsm_input (fsm*, u_char*, int);\nvoid fsm_protreject (fsm*);\nvoid fsm_sdata (fsm*, u_char, u_char, u_char*, int);\n\n\n/*\n * Variables\n */\nextern int peer_mru[]; /* currently negotiated peer MRU (per unit) */\n\n#endif /* FSM_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/ipcp.c",
    "content": "/** In contrast to pppd 2.3.1, DNS support has been added, proxy-ARP and\n    dial-on-demand has been stripped. */\n/*****************************************************************************\n* ipcp.c - Network PPP IP Control Protocol program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 by Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-08 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original.\n*****************************************************************************/\n/*\n * ipcp.c - PPP IP Control Protocol.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"auth.h\"\n#include \"fsm.h\"\n#include \"vj.h\"\n#include \"ipcp.h\"\n\n#include \"lwip/inet.h\"\n\n#include <string.h>\n\n/* #define OLD_CI_ADDRS 1 */ /* Support deprecated address negotiation. */\n\n/* global vars */\nipcp_options ipcp_wantoptions[NUM_PPP];  /* Options that we want to request */\nipcp_options ipcp_gotoptions[NUM_PPP];   /* Options that peer ack'd */\nipcp_options ipcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */\nipcp_options ipcp_hisoptions[NUM_PPP];   /* Options that we ack'd */\n\n/* local vars */\nstatic int default_route_set[NUM_PPP]; /* Have set up a default route */\nstatic int cis_received[NUM_PPP];      /* # Conf-Reqs received */\n\n\n/*\n * Callbacks for fsm code.  (CI = Configuration Information)\n */\nstatic void ipcp_resetci (fsm *);                     /* Reset our CI */\nstatic int  ipcp_cilen (fsm *);                       /* Return length of our CI */\nstatic void ipcp_addci (fsm *, u_char *, int *);      /* Add our CI */\nstatic int  ipcp_ackci (fsm *, u_char *, int);        /* Peer ack'd our CI */\nstatic int  ipcp_nakci (fsm *, u_char *, int);        /* Peer nak'd our CI */\nstatic int  ipcp_rejci (fsm *, u_char *, int);        /* Peer rej'd our CI */\nstatic int  ipcp_reqci (fsm *, u_char *, int *, int); /* Rcv CI */\nstatic void ipcp_up (fsm *);                          /* We're UP */\nstatic void ipcp_down (fsm *);                        /* We're DOWN */\n#if PPP_ADDITIONAL_CALLBACKS\nstatic void ipcp_script (fsm *, char *); /* Run an up/down script */\n#endif\nstatic void ipcp_finished (fsm *);                    /* Don't need lower layer */\n\n\nfsm ipcp_fsm[NUM_PPP]; /* IPCP fsm structure */\n\n\nstatic fsm_callbacks ipcp_callbacks = { /* IPCP callback routines */\n  ipcp_resetci,  /* Reset our Configuration Information */\n  ipcp_cilen,    /* Length of our Configuration Information */\n  ipcp_addci,    /* Add our Configuration Information */\n  ipcp_ackci,    /* ACK our Configuration Information */\n  ipcp_nakci,    /* NAK our Configuration Information */\n  ipcp_rejci,    /* Reject our Configuration Information */\n  ipcp_reqci,    /* Request peer's Configuration Information */\n  ipcp_up,       /* Called when fsm reaches LS_OPENED state */\n  ipcp_down,     /* Called when fsm leaves LS_OPENED state */\n  NULL,          /* Called when we want the lower layer up */\n  ipcp_finished, /* Called when we want the lower layer down */\n  NULL,          /* Called when Protocol-Reject received */\n  NULL,          /* Retransmission is necessary */\n  NULL,          /* Called to handle protocol-specific codes */\n  \"IPCP\"         /* String name of protocol */\n};\n\n/*\n * Protocol entry points from main code.\n */\nstatic void ipcp_init (int);\nstatic void ipcp_open (int);\nstatic void ipcp_close (int, char *);\nstatic void ipcp_lowerup (int);\nstatic void ipcp_lowerdown (int);\nstatic void ipcp_input (int, u_char *, int);\nstatic void ipcp_protrej (int);\n\n\nstruct protent ipcp_protent = {\n  PPP_IPCP,\n  ipcp_init,\n  ipcp_input,\n  ipcp_protrej,\n  ipcp_lowerup,\n  ipcp_lowerdown,\n  ipcp_open,\n  ipcp_close,\n#if PPP_ADDITIONAL_CALLBACKS\n  ipcp_printpkt,\n  NULL,\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n  1,\n  \"IPCP\",\n#if PPP_ADDITIONAL_CALLBACKS\n  ip_check_options,\n  NULL,\n  ip_active_pkt\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n};\n\nstatic void ipcp_clear_addrs (int);\n\n/*\n * Lengths of configuration options.\n */\n#define CILEN_VOID     2\n#define CILEN_COMPRESS 4  /* min length for compression protocol opt. */\n#define CILEN_VJ       6  /* length for RFC1332 Van-Jacobson opt. */\n#define CILEN_ADDR     6  /* new-style single address option */\n#define CILEN_ADDRS    10 /* old-style dual address option */\n\n\n#define CODENAME(x) ((x) == CONFACK ? \"ACK\" : \\\n                     (x) == CONFNAK ? \"NAK\" : \"REJ\")\n\n\n/*\n * ipcp_init - Initialize IPCP.\n */\nstatic void\nipcp_init(int unit)\n{\n  fsm           *f = &ipcp_fsm[unit];\n  ipcp_options *wo = &ipcp_wantoptions[unit];\n  ipcp_options *ao = &ipcp_allowoptions[unit];\n\n  f->unit      = unit;\n  f->protocol  = PPP_IPCP;\n  f->callbacks = &ipcp_callbacks;\n  fsm_init(&ipcp_fsm[unit]);\n\n  memset(wo, 0, sizeof(*wo));\n  memset(ao, 0, sizeof(*ao));\n\n  wo->neg_addr      = 1;\n  wo->ouraddr       = 0;\n#if VJ_SUPPORT\n  wo->neg_vj        = 1;\n#else  /* VJ_SUPPORT */\n  wo->neg_vj        = 0;\n#endif /* VJ_SUPPORT */\n  wo->vj_protocol   = IPCP_VJ_COMP;\n  wo->maxslotindex  = MAX_SLOTS - 1;\n  wo->cflag         = 0;\n  wo->default_route = 1;\n\n  ao->neg_addr      = 1;\n#if VJ_SUPPORT\n  ao->neg_vj        = 1;\n#else  /* VJ_SUPPORT */\n  ao->neg_vj        = 0;\n#endif /* VJ_SUPPORT */\n  ao->maxslotindex  = MAX_SLOTS - 1;\n  ao->cflag         = 1;\n  ao->default_route = 1;\n}\n\n\n/*\n * ipcp_open - IPCP is allowed to come up.\n */\nstatic void\nipcp_open(int unit)\n{\n  fsm_open(&ipcp_fsm[unit]);\n}\n\n\n/*\n * ipcp_close - Take IPCP down.\n */\nstatic void\nipcp_close(int unit, char *reason)\n{\n  fsm_close(&ipcp_fsm[unit], reason);\n}\n\n\n/*\n * ipcp_lowerup - The lower layer is up.\n */\nstatic void\nipcp_lowerup(int unit)\n{\n  fsm_lowerup(&ipcp_fsm[unit]);\n}\n\n\n/*\n * ipcp_lowerdown - The lower layer is down.\n */\nstatic void\nipcp_lowerdown(int unit)\n{\n  fsm_lowerdown(&ipcp_fsm[unit]);\n}\n\n\n/*\n * ipcp_input - Input IPCP packet.\n */\nstatic void\nipcp_input(int unit, u_char *p, int len)\n{\n  fsm_input(&ipcp_fsm[unit], p, len);\n}\n\n\n/*\n * ipcp_protrej - A Protocol-Reject was received for IPCP.\n *\n * Pretend the lower layer went down, so we shut up.\n */\nstatic void\nipcp_protrej(int unit)\n{\n  fsm_lowerdown(&ipcp_fsm[unit]);\n}\n\n\n/*\n * ipcp_resetci - Reset our CI.\n */\nstatic void\nipcp_resetci(fsm *f)\n{\n  ipcp_options *wo = &ipcp_wantoptions[f->unit];\n  \n  wo->req_addr = wo->neg_addr && ipcp_allowoptions[f->unit].neg_addr;\n  if (wo->ouraddr == 0) {\n    wo->accept_local = 1;\n  }\n  if (wo->hisaddr == 0) {\n    wo->accept_remote = 1;\n  }\n  /* Request DNS addresses from the peer */\n  wo->req_dns1 = ppp_settings.usepeerdns;\n  wo->req_dns2 = ppp_settings.usepeerdns;\n  ipcp_gotoptions[f->unit] = *wo;\n  cis_received[f->unit] = 0;\n}\n\n\n/*\n * ipcp_cilen - Return length of our CI.\n */\nstatic int\nipcp_cilen(fsm *f)\n{\n  ipcp_options *go = &ipcp_gotoptions[f->unit];\n  ipcp_options *wo = &ipcp_wantoptions[f->unit];\n  ipcp_options *ho = &ipcp_hisoptions[f->unit];\n\n#define LENCIVJ(neg, old)   (neg ? (old? CILEN_COMPRESS : CILEN_VJ) : 0)\n#define LENCIADDR(neg, old) (neg ? (old? CILEN_ADDRS : CILEN_ADDR) : 0)\n#define LENCIDNS(neg)       (neg ? (CILEN_ADDR) : 0)\n\n  /*\n   * First see if we want to change our options to the old\n   * forms because we have received old forms from the peer.\n   */\n  if (wo->neg_addr && !go->neg_addr && !go->old_addrs) {\n    /* use the old style of address negotiation */\n    go->neg_addr = 1;\n    go->old_addrs = 1;\n  }\n  if (wo->neg_vj && !go->neg_vj && !go->old_vj) {\n    /* try an older style of VJ negotiation */\n    if (cis_received[f->unit] == 0) {\n      /* keep trying the new style until we see some CI from the peer */\n      go->neg_vj = 1;\n    } else {\n      /* use the old style only if the peer did */\n      if (ho->neg_vj && ho->old_vj) {\n        go->neg_vj = 1;\n        go->old_vj = 1;\n        go->vj_protocol = ho->vj_protocol;\n      }\n    }\n  }\n\n  return (LENCIADDR(go->neg_addr, go->old_addrs) +\n          LENCIVJ(go->neg_vj, go->old_vj) +\n          LENCIDNS(go->req_dns1) +\n          LENCIDNS(go->req_dns2));\n}\n\n\n/*\n * ipcp_addci - Add our desired CIs to a packet.\n */\nstatic void\nipcp_addci(fsm *f, u_char *ucp, int *lenp)\n{\n  ipcp_options *go = &ipcp_gotoptions[f->unit];\n  int len = *lenp;\n\n#define ADDCIVJ(opt, neg, val, old, maxslotindex, cflag) \\\n  if (neg) { \\\n    int vjlen = old? CILEN_COMPRESS : CILEN_VJ; \\\n    if (len >= vjlen) { \\\n      PUTCHAR(opt, ucp); \\\n      PUTCHAR(vjlen, ucp); \\\n      PUTSHORT(val, ucp); \\\n      if (!old) { \\\n        PUTCHAR(maxslotindex, ucp); \\\n        PUTCHAR(cflag, ucp); \\\n      } \\\n      len -= vjlen; \\\n    } else { \\\n      neg = 0; \\\n    } \\\n  }\n\n#define ADDCIADDR(opt, neg, old, val1, val2) \\\n  if (neg) { \\\n    int addrlen = (old? CILEN_ADDRS: CILEN_ADDR); \\\n    if (len >= addrlen) { \\\n      u32_t l; \\\n      PUTCHAR(opt, ucp); \\\n      PUTCHAR(addrlen, ucp); \\\n      l = ntohl(val1); \\\n      PUTLONG(l, ucp); \\\n      if (old) { \\\n        l = ntohl(val2); \\\n        PUTLONG(l, ucp); \\\n      } \\\n      len -= addrlen; \\\n    } else { \\\n      neg = 0; \\\n    } \\\n  }\n\n#define ADDCIDNS(opt, neg, addr) \\\n  if (neg) { \\\n    if (len >= CILEN_ADDR) { \\\n      u32_t l; \\\n      PUTCHAR(opt, ucp); \\\n      PUTCHAR(CILEN_ADDR, ucp); \\\n      l = ntohl(addr); \\\n      PUTLONG(l, ucp); \\\n      len -= CILEN_ADDR; \\\n    } else { \\\n      neg = 0; \\\n    } \\\n  }\n\n  ADDCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), go->neg_addr,\n      go->old_addrs, go->ouraddr, go->hisaddr);\n\n  ADDCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol, go->old_vj,\n      go->maxslotindex, go->cflag);\n\n  ADDCIDNS(CI_MS_DNS1, go->req_dns1, go->dnsaddr[0]);\n\n  ADDCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);\n\n  *lenp -= len;\n}\n\n\n/*\n * ipcp_ackci - Ack our CIs.\n *\n * Returns:\n *  0 - Ack was bad.\n *  1 - Ack was good.\n */\nstatic int\nipcp_ackci(fsm *f, u_char *p, int len)\n{\n  ipcp_options *go = &ipcp_gotoptions[f->unit];\n  u_short cilen, citype, cishort;\n  u32_t cilong;\n  u_char cimaxslotindex, cicflag;\n\n  /*\n   * CIs must be in exactly the same order that we sent...\n   * Check packet length and CI length at each step.\n   * If we find any deviations, then this packet is bad.\n   */\n\n#define ACKCIVJ(opt, neg, val, old, maxslotindex, cflag) \\\n  if (neg) { \\\n    int vjlen = old? CILEN_COMPRESS : CILEN_VJ; \\\n    if ((len -= vjlen) < 0) { \\\n      goto bad; \\\n    } \\\n    GETCHAR(citype, p); \\\n    GETCHAR(cilen, p); \\\n    if (cilen != vjlen || \\\n        citype != opt) { \\\n      goto bad; \\\n    } \\\n    GETSHORT(cishort, p); \\\n    if (cishort != val) { \\\n      goto bad; \\\n    } \\\n    if (!old) { \\\n      GETCHAR(cimaxslotindex, p); \\\n      if (cimaxslotindex != maxslotindex) { \\\n        goto bad; \\\n      } \\\n      GETCHAR(cicflag, p); \\\n      if (cicflag != cflag) { \\\n        goto bad; \\\n      } \\\n    } \\\n  }\n  \n#define ACKCIADDR(opt, neg, old, val1, val2) \\\n  if (neg) { \\\n    int addrlen = (old? CILEN_ADDRS: CILEN_ADDR); \\\n    u32_t l; \\\n    if ((len -= addrlen) < 0) { \\\n      goto bad; \\\n    } \\\n    GETCHAR(citype, p); \\\n    GETCHAR(cilen, p); \\\n    if (cilen != addrlen || \\\n        citype != opt) { \\\n      goto bad; \\\n    } \\\n    GETLONG(l, p); \\\n    cilong = htonl(l); \\\n    if (val1 != cilong) { \\\n      goto bad; \\\n    } \\\n    if (old) { \\\n      GETLONG(l, p); \\\n      cilong = htonl(l); \\\n      if (val2 != cilong) { \\\n        goto bad; \\\n      } \\\n    } \\\n  }\n\n#define ACKCIDNS(opt, neg, addr) \\\n  if (neg) { \\\n    u32_t l; \\\n    if ((len -= CILEN_ADDR) < 0) { \\\n      goto bad; \\\n    } \\\n    GETCHAR(citype, p); \\\n    GETCHAR(cilen, p); \\\n    if (cilen != CILEN_ADDR || \\\n        citype != opt) { \\\n      goto bad; \\\n    } \\\n    GETLONG(l, p); \\\n    cilong = htonl(l); \\\n    if (addr != cilong) { \\\n      goto bad; \\\n    } \\\n  }\n\n  ACKCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), go->neg_addr,\n        go->old_addrs, go->ouraddr, go->hisaddr);\n\n  ACKCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol, go->old_vj,\n      go->maxslotindex, go->cflag);\n\n  ACKCIDNS(CI_MS_DNS1, go->req_dns1, go->dnsaddr[0]);\n\n  ACKCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);\n\n  /*\n   * If there are any remaining CIs, then this packet is bad.\n   */\n  if (len != 0) {\n    goto bad;\n  }\n  return (1);\n\nbad:\n  IPCPDEBUG(LOG_INFO, (\"ipcp_ackci: received bad Ack!\\n\"));\n  return (0);\n}\n\n/*\n * ipcp_nakci - Peer has sent a NAK for some of our CIs.\n * This should not modify any state if the Nak is bad\n * or if IPCP is in the LS_OPENED state.\n *\n * Returns:\n *  0 - Nak was bad.\n *  1 - Nak was good.\n */\nstatic int\nipcp_nakci(fsm *f, u_char *p, int len)\n{\n  ipcp_options *go = &ipcp_gotoptions[f->unit];\n  u_char cimaxslotindex, cicflag;\n  u_char citype, cilen, *next;\n  u_short cishort;\n  u32_t ciaddr1, ciaddr2, l, cidnsaddr;\n  ipcp_options no;    /* options we've seen Naks for */\n  ipcp_options try;    /* options to request next time */\n\n  BZERO(&no, sizeof(no));\n  try = *go;\n\n  /*\n   * Any Nak'd CIs must be in exactly the same order that we sent.\n   * Check packet length and CI length at each step.\n   * If we find any deviations, then this packet is bad.\n   */\n#define NAKCIADDR(opt, neg, old, code) \\\n  if (go->neg && \\\n      len >= (cilen = (old? CILEN_ADDRS: CILEN_ADDR)) && \\\n      p[1] == cilen && \\\n      p[0] == opt) { \\\n    len -= cilen; \\\n    INCPTR(2, p); \\\n    GETLONG(l, p); \\\n    ciaddr1 = htonl(l); \\\n    if (old) { \\\n      GETLONG(l, p); \\\n      ciaddr2 = htonl(l); \\\n      no.old_addrs = 1; \\\n    } else { \\\n      ciaddr2 = 0; \\\n    } \\\n    no.neg = 1; \\\n    code \\\n  }\n\n#define NAKCIVJ(opt, neg, code) \\\n  if (go->neg && \\\n      ((cilen = p[1]) == CILEN_COMPRESS || cilen == CILEN_VJ) && \\\n      len >= cilen && \\\n      p[0] == opt) { \\\n    len -= cilen; \\\n    INCPTR(2, p); \\\n    GETSHORT(cishort, p); \\\n    no.neg = 1; \\\n    code \\\n  }\n  \n#define NAKCIDNS(opt, neg, code) \\\n  if (go->neg && \\\n      ((cilen = p[1]) == CILEN_ADDR) && \\\n      len >= cilen && \\\n      p[0] == opt) { \\\n    len -= cilen; \\\n    INCPTR(2, p); \\\n    GETLONG(l, p); \\\n    cidnsaddr = htonl(l); \\\n    no.neg = 1; \\\n    code \\\n  }\n\n  /*\n   * Accept the peer's idea of {our,his} address, if different\n   * from our idea, only if the accept_{local,remote} flag is set.\n   */\n  NAKCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), neg_addr, go->old_addrs,\n    if (go->accept_local && ciaddr1) { /* Do we know our address? */\n      try.ouraddr = ciaddr1;\n      IPCPDEBUG(LOG_INFO, (\"local IP address %s\\n\",\n           inet_ntoa(ciaddr1)));\n    }\n    if (go->accept_remote && ciaddr2) { /* Does he know his? */\n      try.hisaddr = ciaddr2;\n      IPCPDEBUG(LOG_INFO, (\"remote IP address %s\\n\",\n           inet_ntoa(ciaddr2)));\n    }\n  );\n\n  /*\n   * Accept the peer's value of maxslotindex provided that it\n   * is less than what we asked for.  Turn off slot-ID compression\n   * if the peer wants.  Send old-style compress-type option if\n   * the peer wants.\n   */\n  NAKCIVJ(CI_COMPRESSTYPE, neg_vj,\n    if (cilen == CILEN_VJ) {\n      GETCHAR(cimaxslotindex, p);\n      GETCHAR(cicflag, p);\n      if (cishort == IPCP_VJ_COMP) {\n        try.old_vj = 0;\n        if (cimaxslotindex < go->maxslotindex) {\n          try.maxslotindex = cimaxslotindex;\n        }\n        if (!cicflag) {\n          try.cflag = 0;\n        }\n      } else {\n        try.neg_vj = 0;\n      }\n    } else {\n      if (cishort == IPCP_VJ_COMP || cishort == IPCP_VJ_COMP_OLD) {\n        try.old_vj = 1;\n        try.vj_protocol = cishort;\n      } else {\n        try.neg_vj = 0;\n      }\n    }\n  );\n\n  NAKCIDNS(CI_MS_DNS1, req_dns1,\n      try.dnsaddr[0] = cidnsaddr;\n        IPCPDEBUG(LOG_INFO, (\"primary DNS address %s\\n\", inet_ntoa(cidnsaddr)));\n      );\n\n  NAKCIDNS(CI_MS_DNS2, req_dns2,\n      try.dnsaddr[1] = cidnsaddr;\n        IPCPDEBUG(LOG_INFO, (\"secondary DNS address %s\\n\", inet_ntoa(cidnsaddr)));\n      );\n\n  /*\n  * There may be remaining CIs, if the peer is requesting negotiation\n  * on an option that we didn't include in our request packet.\n  * If they want to negotiate about IP addresses, we comply.\n  * If they want us to ask for compression, we refuse.\n  */\n  while (len > CILEN_VOID) {\n    GETCHAR(citype, p);\n    GETCHAR(cilen, p);\n    if( (len -= cilen) < 0 ) {\n      goto bad;\n    }\n    next = p + cilen - 2;\n\n    switch (citype) {\n      case CI_COMPRESSTYPE:\n        if (go->neg_vj || no.neg_vj ||\n            (cilen != CILEN_VJ && cilen != CILEN_COMPRESS)) {\n          goto bad;\n        }\n        no.neg_vj = 1;\n        break;\n      case CI_ADDRS:\n        if ((go->neg_addr && go->old_addrs) || no.old_addrs\n            || cilen != CILEN_ADDRS) {\n          goto bad;\n        }\n        try.neg_addr = 1;\n        try.old_addrs = 1;\n        GETLONG(l, p);\n        ciaddr1 = htonl(l);\n        if (ciaddr1 && go->accept_local) {\n          try.ouraddr = ciaddr1;\n        }\n        GETLONG(l, p);\n        ciaddr2 = htonl(l);\n        if (ciaddr2 && go->accept_remote) {\n          try.hisaddr = ciaddr2;\n        }\n        no.old_addrs = 1;\n        break;\n      case CI_ADDR:\n        if (go->neg_addr || no.neg_addr || cilen != CILEN_ADDR) {\n          goto bad;\n        }\n        try.old_addrs = 0;\n        GETLONG(l, p);\n        ciaddr1 = htonl(l);\n        if (ciaddr1 && go->accept_local) {\n          try.ouraddr = ciaddr1;\n        }\n        if (try.ouraddr != 0) {\n          try.neg_addr = 1;\n        }\n        no.neg_addr = 1;\n        break;\n    }\n    p = next;\n  }\n\n  /* If there is still anything left, this packet is bad. */\n  if (len != 0) {\n    goto bad;\n  }\n\n  /*\n   * OK, the Nak is good.  Now we can update state.\n   */\n  if (f->state != LS_OPENED) {\n    *go = try;\n  }\n\n  return 1;\n\nbad:\n  IPCPDEBUG(LOG_INFO, (\"ipcp_nakci: received bad Nak!\\n\"));\n  return 0;\n}\n\n\n/*\n * ipcp_rejci - Reject some of our CIs.\n */\nstatic int\nipcp_rejci(fsm *f, u_char *p, int len)\n{\n  ipcp_options *go = &ipcp_gotoptions[f->unit];\n  u_char cimaxslotindex, ciflag, cilen;\n  u_short cishort;\n  u32_t cilong;\n  ipcp_options try;    /* options to request next time */\n\n  try = *go;\n  /*\n   * Any Rejected CIs must be in exactly the same order that we sent.\n   * Check packet length and CI length at each step.\n   * If we find any deviations, then this packet is bad.\n   */\n#define REJCIADDR(opt, neg, old, val1, val2) \\\n  if (go->neg && \\\n      len >= (cilen = old? CILEN_ADDRS: CILEN_ADDR) && \\\n      p[1] == cilen && \\\n      p[0] == opt) { \\\n    u32_t l; \\\n    len -= cilen; \\\n    INCPTR(2, p); \\\n    GETLONG(l, p); \\\n    cilong = htonl(l); \\\n    /* Check rejected value. */ \\\n    if (cilong != val1) { \\\n      goto bad; \\\n    } \\\n    if (old) { \\\n      GETLONG(l, p); \\\n      cilong = htonl(l); \\\n      /* Check rejected value. */ \\\n      if (cilong != val2) { \\\n        goto bad; \\\n      } \\\n    } \\\n    try.neg = 0; \\\n  }\n\n#define REJCIVJ(opt, neg, val, old, maxslot, cflag) \\\n  if (go->neg && \\\n      p[1] == (old? CILEN_COMPRESS : CILEN_VJ) && \\\n      len >= p[1] && \\\n      p[0] == opt) { \\\n    len -= p[1]; \\\n    INCPTR(2, p); \\\n    GETSHORT(cishort, p); \\\n    /* Check rejected value. */  \\\n    if (cishort != val) { \\\n      goto bad; \\\n    } \\\n    if (!old) { \\\n      GETCHAR(cimaxslotindex, p); \\\n      if (cimaxslotindex != maxslot) { \\\n        goto bad; \\\n      } \\\n      GETCHAR(ciflag, p); \\\n      if (ciflag != cflag) { \\\n        goto bad; \\\n      } \\\n    } \\\n    try.neg = 0; \\\n  }\n\n#define REJCIDNS(opt, neg, dnsaddr) \\\n  if (go->neg && \\\n      ((cilen = p[1]) == CILEN_ADDR) && \\\n      len >= cilen && \\\n      p[0] == opt) { \\\n    u32_t l; \\\n    len -= cilen; \\\n    INCPTR(2, p); \\\n    GETLONG(l, p); \\\n    cilong = htonl(l); \\\n    /* Check rejected value. */ \\\n    if (cilong != dnsaddr) { \\\n      goto bad; \\\n    } \\\n    try.neg = 0; \\\n  }\n\n  REJCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), neg_addr,\n        go->old_addrs, go->ouraddr, go->hisaddr);\n\n  REJCIVJ(CI_COMPRESSTYPE, neg_vj, go->vj_protocol, go->old_vj,\n      go->maxslotindex, go->cflag);\n\n  REJCIDNS(CI_MS_DNS1, req_dns1, go->dnsaddr[0]);\n\n  REJCIDNS(CI_MS_DNS2, req_dns2, go->dnsaddr[1]);\n\n  /*\n   * If there are any remaining CIs, then this packet is bad.\n   */\n  if (len != 0) {\n    goto bad;\n  }\n  /*\n   * Now we can update state.\n   */\n  if (f->state != LS_OPENED) {\n    *go = try;\n  }\n  return 1;\n\nbad:\n  IPCPDEBUG(LOG_INFO, (\"ipcp_rejci: received bad Reject!\\n\"));\n  return 0;\n}\n\n\n/*\n * ipcp_reqci - Check the peer's requested CIs and send appropriate response.\n *\n * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified\n * appropriately.  If reject_if_disagree is non-zero, doesn't return\n * CONFNAK; returns CONFREJ if it can't return CONFACK.\n */\nstatic int\nipcp_reqci(fsm *f, u_char *inp/* Requested CIs */,int *len/* Length of requested CIs */,int reject_if_disagree)\n{\n  ipcp_options *wo = &ipcp_wantoptions[f->unit];\n  ipcp_options *ho = &ipcp_hisoptions[f->unit];\n  ipcp_options *ao = &ipcp_allowoptions[f->unit];\n#ifdef OLD_CI_ADDRS\n  ipcp_options *go = &ipcp_gotoptions[f->unit];\n#endif\n  u_char *cip, *next;     /* Pointer to current and next CIs */\n  u_short cilen, citype;  /* Parsed len, type */\n  u_short cishort;        /* Parsed short value */\n  u32_t tl, ciaddr1;      /* Parsed address values */\n#ifdef OLD_CI_ADDRS\n  u32_t ciaddr2;          /* Parsed address values */\n#endif\n  int rc = CONFACK;       /* Final packet return code */\n  int orc;                /* Individual option return code */\n  u_char *p;              /* Pointer to next char to parse */\n  u_char *ucp = inp;      /* Pointer to current output char */\n  int l = *len;           /* Length left */\n  u_char maxslotindex, cflag;\n  int d;\n\n  cis_received[f->unit] = 1;\n\n  /*\n   * Reset all his options.\n   */\n  BZERO(ho, sizeof(*ho));\n\n  /*\n   * Process all his options.\n   */\n  next = inp;\n  while (l) {\n    orc = CONFACK;       /* Assume success */\n    cip = p = next;      /* Remember begining of CI */\n    if (l < 2 ||         /* Not enough data for CI header or */\n        p[1] < 2 ||      /*  CI length too small or */\n        p[1] > l) {      /*  CI length too big? */\n      IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: bad CI length!\\n\"));\n      orc = CONFREJ;     /* Reject bad CI */\n      cilen = (u_short)l;/* Reject till end of packet */\n      l = 0;             /* Don't loop again */\n      goto endswitch;\n    }\n    GETCHAR(citype, p);  /* Parse CI type */\n    GETCHAR(cilen, p);   /* Parse CI length */\n    l -= cilen;          /* Adjust remaining length */\n    next += cilen;       /* Step to next CI */\n\n    switch (citype) {      /* Check CI type */\n#ifdef OLD_CI_ADDRS /* Need to save space... */\n      case CI_ADDRS:\n        IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: received ADDRS\\n\"));\n        if (!ao->neg_addr ||\n            cilen != CILEN_ADDRS) {  /* Check CI length */\n          orc = CONFREJ;    /* Reject CI */\n          break;\n        }\n\n        /*\n         * If he has no address, or if we both have his address but\n         * disagree about it, then NAK it with our idea.\n         * In particular, if we don't know his address, but he does,\n         * then accept it.\n         */\n        GETLONG(tl, p);    /* Parse source address (his) */\n        ciaddr1 = htonl(tl);\n        IPCPDEBUG(LOG_INFO, (\"his addr %s\\n\", inet_ntoa(ciaddr1)));\n        if (ciaddr1 != wo->hisaddr\n            && (ciaddr1 == 0 || !wo->accept_remote)) {\n          orc = CONFNAK;\n          if (!reject_if_disagree) {\n            DECPTR(sizeof(u32_t), p);\n            tl = ntohl(wo->hisaddr);\n            PUTLONG(tl, p);\n          }\n        } else if (ciaddr1 == 0 && wo->hisaddr == 0) {\n          /*\n           * If neither we nor he knows his address, reject the option.\n           */\n          orc = CONFREJ;\n          wo->req_addr = 0;  /* don't NAK with 0.0.0.0 later */\n          break;\n        }\n\n        /*\n         * If he doesn't know our address, or if we both have our address\n         * but disagree about it, then NAK it with our idea.\n         */\n        GETLONG(tl, p);    /* Parse desination address (ours) */\n        ciaddr2 = htonl(tl);\n        IPCPDEBUG(LOG_INFO, (\"our addr %s\\n\", inet_ntoa(ciaddr2)));\n        if (ciaddr2 != wo->ouraddr) {\n          if (ciaddr2 == 0 || !wo->accept_local) {\n            orc = CONFNAK;\n            if (!reject_if_disagree) {\n              DECPTR(sizeof(u32_t), p);\n              tl = ntohl(wo->ouraddr);\n              PUTLONG(tl, p);\n            }\n          } else {\n            go->ouraddr = ciaddr2;  /* accept peer's idea */\n          }\n        }\n\n        ho->neg_addr = 1;\n        ho->old_addrs = 1;\n        ho->hisaddr = ciaddr1;\n        ho->ouraddr = ciaddr2;\n        break;\n#endif\n\n      case CI_ADDR:\n        if (!ao->neg_addr) {\n          IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Reject ADDR not allowed\\n\"));\n          orc = CONFREJ;        /* Reject CI */\n          break;\n        } else if (cilen != CILEN_ADDR) {  /* Check CI length */\n          IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Reject ADDR bad len\\n\"));\n          orc = CONFREJ;        /* Reject CI */\n          break;\n        }\n\n        /*\n         * If he has no address, or if we both have his address but\n         * disagree about it, then NAK it with our idea.\n         * In particular, if we don't know his address, but he does,\n         * then accept it.\n         */\n        GETLONG(tl, p);  /* Parse source address (his) */\n        ciaddr1 = htonl(tl);\n        if (ciaddr1 != wo->hisaddr\n            && (ciaddr1 == 0 || !wo->accept_remote)) {\n          orc = CONFNAK;\n          if (!reject_if_disagree) {\n            DECPTR(sizeof(u32_t), p);\n            tl = ntohl(wo->hisaddr);\n            PUTLONG(tl, p);\n          }\n          IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Nak ADDR %s\\n\", inet_ntoa(ciaddr1)));\n        } else if (ciaddr1 == 0 && wo->hisaddr == 0) {\n          /*\n           * Don't ACK an address of 0.0.0.0 - reject it instead.\n           */\n          IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Reject ADDR %s\\n\", inet_ntoa(ciaddr1)));\n          orc = CONFREJ;\n          wo->req_addr = 0;  /* don't NAK with 0.0.0.0 later */\n          break;\n        }\n\n        ho->neg_addr = 1;\n        ho->hisaddr = ciaddr1;\n        IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: ADDR %s\\n\", inet_ntoa(ciaddr1)));\n        break;\n\n      case CI_MS_DNS1:\n      case CI_MS_DNS2:\n        /* Microsoft primary or secondary DNS request */\n        d = citype == CI_MS_DNS2;\n\n        /* If we do not have a DNS address then we cannot send it */\n        if (ao->dnsaddr[d] == 0 ||\n            cilen != CILEN_ADDR) {  /* Check CI length */\n          IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Rejecting DNS%d Request\\n\", d+1));\n          orc = CONFREJ;        /* Reject CI */\n          break;\n        }\n        GETLONG(tl, p);\n        if (htonl(tl) != ao->dnsaddr[d]) {\n          IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Naking DNS%d Request %s\\n\",\n                d+1, inet_ntoa(tl)));\n          DECPTR(sizeof(u32_t), p);\n          tl = ntohl(ao->dnsaddr[d]);\n          PUTLONG(tl, p);\n          orc = CONFNAK;\n        }\n        IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: received DNS%d Request\\n\", d+1));\n        break;\n\n      case CI_MS_WINS1:\n      case CI_MS_WINS2:\n        /* Microsoft primary or secondary WINS request */\n        d = citype == CI_MS_WINS2;\n        IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: received WINS%d Request\\n\", d+1));\n\n        /* If we do not have a DNS address then we cannot send it */\n        if (ao->winsaddr[d] == 0 ||\n          cilen != CILEN_ADDR) {  /* Check CI length */\n          orc = CONFREJ;      /* Reject CI */\n          break;\n        }\n        GETLONG(tl, p);\n        if (htonl(tl) != ao->winsaddr[d]) {\n          DECPTR(sizeof(u32_t), p);\n          tl = ntohl(ao->winsaddr[d]);\n          PUTLONG(tl, p);\n          orc = CONFNAK;\n        }\n        break;\n\n      case CI_COMPRESSTYPE:\n        if (!ao->neg_vj) {\n          IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Rejecting COMPRESSTYPE not allowed\\n\"));\n          orc = CONFREJ;\n          break;\n        } else if (cilen != CILEN_VJ && cilen != CILEN_COMPRESS) {\n          IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Rejecting COMPRESSTYPE len=%d\\n\", cilen));\n          orc = CONFREJ;\n          break;\n        }\n        GETSHORT(cishort, p);\n\n        if (!(cishort == IPCP_VJ_COMP ||\n            (cishort == IPCP_VJ_COMP_OLD && cilen == CILEN_COMPRESS))) {\n          IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Rejecting COMPRESSTYPE %d\\n\", cishort));\n          orc = CONFREJ;\n          break;\n        }\n\n        ho->neg_vj = 1;\n        ho->vj_protocol = cishort;\n        if (cilen == CILEN_VJ) {\n          GETCHAR(maxslotindex, p);\n          if (maxslotindex > ao->maxslotindex) { \n            IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Naking VJ max slot %d\\n\", maxslotindex));\n            orc = CONFNAK;\n            if (!reject_if_disagree) {\n              DECPTR(1, p);\n              PUTCHAR(ao->maxslotindex, p);\n            }\n          }\n          GETCHAR(cflag, p);\n          if (cflag && !ao->cflag) {\n            IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Naking VJ cflag %d\\n\", cflag));\n            orc = CONFNAK;\n            if (!reject_if_disagree) {\n              DECPTR(1, p);\n              PUTCHAR(wo->cflag, p);\n            }\n          }\n          ho->maxslotindex = maxslotindex;\n          ho->cflag = cflag;\n        } else {\n          ho->old_vj = 1;\n          ho->maxslotindex = MAX_SLOTS - 1;\n          ho->cflag = 1;\n        }\n        IPCPDEBUG(LOG_INFO, (\n              \"ipcp_reqci: received COMPRESSTYPE p=%d old=%d maxslot=%d cflag=%d\\n\",\n              ho->vj_protocol, ho->old_vj, ho->maxslotindex, ho->cflag));\n        break;\n\n      default:\n        IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Rejecting unknown CI type %d\\n\", citype));\n        orc = CONFREJ;\n        break;\n    }\n\nendswitch:\n    if (orc == CONFACK &&    /* Good CI */\n        rc != CONFACK) {     /*  but prior CI wasnt? */\n      continue;              /* Don't send this one */\n    }\n\n    if (orc == CONFNAK) {    /* Nak this CI? */\n      if (reject_if_disagree) {  /* Getting fed up with sending NAKs? */\n        IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Rejecting too many naks\\n\"));\n        orc = CONFREJ;       /* Get tough if so */\n      } else {\n        if (rc == CONFREJ) { /* Rejecting prior CI? */\n          continue;          /* Don't send this one */\n        }\n        if (rc == CONFACK) { /* Ack'd all prior CIs? */\n          rc = CONFNAK;      /* Not anymore... */\n          ucp = inp;         /* Backup */\n        }\n      }\n    }\n\n    if (orc == CONFREJ &&    /* Reject this CI */\n        rc != CONFREJ) {  /*  but no prior ones? */\n      rc = CONFREJ;\n      ucp = inp;        /* Backup */\n    }\n    \n    /* Need to move CI? */\n    if (ucp != cip) {\n      BCOPY(cip, ucp, cilen);  /* Move it */\n    }\n\n    /* Update output pointer */\n    INCPTR(cilen, ucp);\n  }\n\n  /*\n   * If we aren't rejecting this packet, and we want to negotiate\n   * their address, and they didn't send their address, then we\n   * send a NAK with a CI_ADDR option appended.  We assume the\n   * input buffer is long enough that we can append the extra\n   * option safely.\n   */\n  if (rc != CONFREJ && !ho->neg_addr &&\n      wo->req_addr && !reject_if_disagree) {\n    IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: Requesting peer address\\n\"));\n    if (rc == CONFACK) {\n      rc = CONFNAK;\n      ucp = inp;        /* reset pointer */\n      wo->req_addr = 0;    /* don't ask again */\n    }\n    PUTCHAR(CI_ADDR, ucp);\n    PUTCHAR(CILEN_ADDR, ucp);\n    tl = ntohl(wo->hisaddr);\n    PUTLONG(tl, ucp);\n  }\n\n  *len = (int)(ucp - inp);    /* Compute output length */\n  IPCPDEBUG(LOG_INFO, (\"ipcp_reqci: returning Configure-%s\\n\", CODENAME(rc)));\n  return (rc);      /* Return final code */\n}\n\n\n#if 0\n/*\n * ip_check_options - check that any IP-related options are OK,\n * and assign appropriate defaults.\n */\nstatic void\nip_check_options(u_long localAddr)\n{\n  ipcp_options *wo = &ipcp_wantoptions[0];\n\n  /*\n   * Load our default IP address but allow the remote host to give us\n   * a new address.\n   */\n  if (wo->ouraddr == 0 && !ppp_settings.disable_defaultip) {\n    wo->accept_local = 1;  /* don't insist on this default value */\n    wo->ouraddr = htonl(localAddr);\n  }\n}\n#endif\n\n\n/*\n * ipcp_up - IPCP has come UP.\n *\n * Configure the IP network interface appropriately and bring it up.\n */\nstatic void\nipcp_up(fsm *f)\n{\n  u32_t mask;\n  ipcp_options *ho = &ipcp_hisoptions[f->unit];\n  ipcp_options *go = &ipcp_gotoptions[f->unit];\n  ipcp_options *wo = &ipcp_wantoptions[f->unit];\n\n  np_up(f->unit, PPP_IP);\n  IPCPDEBUG(LOG_INFO, (\"ipcp: up\\n\"));\n\n  /*\n   * We must have a non-zero IP address for both ends of the link.\n   */\n  if (!ho->neg_addr) {\n    ho->hisaddr = wo->hisaddr;\n  }\n\n  if (ho->hisaddr == 0) {\n    IPCPDEBUG(LOG_ERR, (\"Could not determine remote IP address\\n\"));\n    ipcp_close(f->unit, \"Could not determine remote IP address\");\n    return;\n  }\n  if (go->ouraddr == 0) {\n    IPCPDEBUG(LOG_ERR, (\"Could not determine local IP address\\n\"));\n    ipcp_close(f->unit, \"Could not determine local IP address\");\n    return;\n  }\n\n  if (ppp_settings.usepeerdns && (go->dnsaddr[0] || go->dnsaddr[1])) {\n    /*pppGotDNSAddrs(go->dnsaddr[0], go->dnsaddr[1]);*/\n  }\n\n  /*\n   * Check that the peer is allowed to use the IP address it wants.\n   */\n  if (!auth_ip_addr(f->unit, ho->hisaddr)) {\n    IPCPDEBUG(LOG_ERR, (\"Peer is not authorized to use remote address %s\\n\",\n        inet_ntoa(ho->hisaddr)));\n    ipcp_close(f->unit, \"Unauthorized remote IP address\");\n    return;\n  }\n\n  /* set tcp compression */\n  sifvjcomp(f->unit, ho->neg_vj, ho->cflag, ho->maxslotindex);\n\n  /*\n   * Set IP addresses and (if specified) netmask.\n   */\n  mask = GetMask(go->ouraddr);\n\n  if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask, go->dnsaddr[0], go->dnsaddr[1])) {\n    IPCPDEBUG(LOG_WARNING, (\"sifaddr failed\\n\"));\n    ipcp_close(f->unit, \"Interface configuration failed\");\n    return;\n  }\n\n  /* bring the interface up for IP */\n  if (!sifup(f->unit)) {\n    IPCPDEBUG(LOG_WARNING, (\"sifup failed\\n\"));\n    ipcp_close(f->unit, \"Interface configuration failed\");\n    return;\n  }\n\n  sifnpmode(f->unit, PPP_IP, NPMODE_PASS);\n\n  /* assign a default route through the interface if required */\n  if (ipcp_wantoptions[f->unit].default_route) {\n    if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr)) {\n      default_route_set[f->unit] = 1;\n    }\n  }\n\n  IPCPDEBUG(LOG_NOTICE, (\"local  IP address %s\\n\", inet_ntoa(go->ouraddr)));\n  IPCPDEBUG(LOG_NOTICE, (\"remote IP address %s\\n\", inet_ntoa(ho->hisaddr)));\n  if (go->dnsaddr[0]) {\n    IPCPDEBUG(LOG_NOTICE, (\"primary   DNS address %s\\n\", inet_ntoa(go->dnsaddr[0])));\n  }\n  if (go->dnsaddr[1]) {\n    IPCPDEBUG(LOG_NOTICE, (\"secondary DNS address %s\\n\", inet_ntoa(go->dnsaddr[1])));\n  }\n}\n\n\n/*\n * ipcp_down - IPCP has gone DOWN.\n *\n * Take the IP network interface down, clear its addresses\n * and delete routes through it.\n */\nstatic void\nipcp_down(fsm *f)\n{\n  IPCPDEBUG(LOG_INFO, (\"ipcp: down\\n\"));\n  np_down(f->unit, PPP_IP);\n  sifvjcomp(f->unit, 0, 0, 0);\n\n  sifdown(f->unit);\n  ipcp_clear_addrs(f->unit);\n}\n\n\n/*\n * ipcp_clear_addrs() - clear the interface addresses, routes, etc.\n */\nstatic void\nipcp_clear_addrs(int unit)\n{\n  u32_t ouraddr, hisaddr;\n\n  ouraddr = ipcp_gotoptions[unit].ouraddr;\n  hisaddr = ipcp_hisoptions[unit].hisaddr;\n  if (default_route_set[unit]) {\n    cifdefaultroute(unit, ouraddr, hisaddr);\n    default_route_set[unit] = 0;\n  }\n  cifaddr(unit, ouraddr, hisaddr);\n}\n\n\n/*\n * ipcp_finished - possibly shut down the lower layers.\n */\nstatic void\nipcp_finished(fsm *f)\n{\n  np_finished(f->unit, PPP_IP);\n}\n\n#if PPP_ADDITIONAL_CALLBACKS\nstatic int\nipcp_printpkt(u_char *p, int plen, void (*printer) (void *, char *, ...), void *arg)\n{\n  LWIP_UNUSED_ARG(p);\n  LWIP_UNUSED_ARG(plen);\n  LWIP_UNUSED_ARG(printer);\n  LWIP_UNUSED_ARG(arg);\n  return 0;\n}\n\n/*\n * ip_active_pkt - see if this IP packet is worth bringing the link up for.\n * We don't bring the link up for IP fragments or for TCP FIN packets\n * with no data.\n */\n#define IP_HDRLEN   20  /* bytes */\n#define IP_OFFMASK  0x1fff\n#define IPPROTO_TCP 6\n#define TCP_HDRLEN  20\n#define TH_FIN      0x01\n\n/*\n * We use these macros because the IP header may be at an odd address,\n * and some compilers might use word loads to get th_off or ip_hl.\n */\n\n#define net_short(x)    (((x)[0] << 8) + (x)[1])\n#define get_iphl(x)     (((unsigned char *)(x))[0] & 0xF)\n#define get_ipoff(x)    net_short((unsigned char *)(x) + 6)\n#define get_ipproto(x)  (((unsigned char *)(x))[9])\n#define get_tcpoff(x)   (((unsigned char *)(x))[12] >> 4)\n#define get_tcpflags(x) (((unsigned char *)(x))[13])\n\nstatic int\nip_active_pkt(u_char *pkt, int len)\n{\n  u_char *tcp;\n  int hlen;\n\n  len -= PPP_HDRLEN;\n  pkt += PPP_HDRLEN;\n  if (len < IP_HDRLEN) {\n    return 0;\n  }\n  if ((get_ipoff(pkt) & IP_OFFMASK) != 0) {\n    return 0;\n  }\n  if (get_ipproto(pkt) != IPPROTO_TCP) {\n    return 1;\n  }\n  hlen = get_iphl(pkt) * 4;\n  if (len < hlen + TCP_HDRLEN) {\n    return 0;\n  }\n  tcp = pkt + hlen;\n  if ((get_tcpflags(tcp) & TH_FIN) != 0 && len == hlen + get_tcpoff(tcp) * 4) {\n    return 0;\n  }\n  return 1;\n}\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/ipcp.h",
    "content": "/*****************************************************************************\n* ipcp.h -  PPP IP NCP: Internet Protocol Network Control Protocol header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-04 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc.\n*   Original derived from BSD codes.\n*****************************************************************************/\n/*\n * ipcp.h - IP Control Protocol definitions.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * $Id: ipcp.h,v 1.4 2010/01/18 20:49:43 goldsimon Exp $\n */\n\n#ifndef IPCP_H\n#define IPCP_H\n\n/*\n * Options.\n */\n#define CI_ADDRS            1      /* IP Addresses */\n#define CI_COMPRESSTYPE     2      /* Compression Type */\n#define CI_ADDR             3\n\n#define CI_MS_DNS1          129    /* Primary DNS value */\n#define CI_MS_WINS1         128    /* Primary WINS value */\n#define CI_MS_DNS2          131    /* Secondary DNS value */\n#define CI_MS_WINS2         130    /* Secondary WINS value */\n\n#define IPCP_VJMODE_OLD     1      /* \"old\" mode (option # = 0x0037) */\n#define IPCP_VJMODE_RFC1172 2      /* \"old-rfc\"mode (option # = 0x002d) */\n#define IPCP_VJMODE_RFC1332 3      /* \"new-rfc\"mode (option # = 0x002d, */\n                                   /*  maxslot and slot number compression) */\n\n#define IPCP_VJ_COMP        0x002d /* current value for VJ compression option */\n#define IPCP_VJ_COMP_OLD    0x0037 /* \"old\" (i.e, broken) value for VJ */\n                                   /* compression option */ \n\ntypedef struct ipcp_options {\n  u_int   neg_addr      : 1; /* Negotiate IP Address? */\n  u_int   old_addrs     : 1; /* Use old (IP-Addresses) option? */\n  u_int   req_addr      : 1; /* Ask peer to send IP address? */\n  u_int   default_route : 1; /* Assign default route through interface? */\n  u_int   proxy_arp     : 1; /* Make proxy ARP entry for peer? */\n  u_int   neg_vj        : 1; /* Van Jacobson Compression? */\n  u_int   old_vj        : 1; /* use old (short) form of VJ option? */\n  u_int   accept_local  : 1; /* accept peer's value for ouraddr */\n  u_int   accept_remote : 1; /* accept peer's value for hisaddr */\n  u_int   req_dns1      : 1; /* Ask peer to send primary DNS address? */\n  u_int   req_dns2      : 1; /* Ask peer to send secondary DNS address? */\n  u_short vj_protocol;       /* protocol value to use in VJ option */\n  u_char  maxslotindex;      /* VJ slots - 1. */\n  u_char  cflag;             /* VJ slot compression flag. */\n  u32_t   ouraddr, hisaddr;  /* Addresses in NETWORK BYTE ORDER */\n  u32_t   dnsaddr[2];        /* Primary and secondary MS DNS entries */\n  u32_t   winsaddr[2];       /* Primary and secondary MS WINS entries */\n} ipcp_options;\n\nextern fsm ipcp_fsm[];\nextern ipcp_options ipcp_wantoptions[];\nextern ipcp_options ipcp_gotoptions[];\nextern ipcp_options ipcp_allowoptions[];\nextern ipcp_options ipcp_hisoptions[];\n\nextern struct protent ipcp_protent;\n\n#endif /* IPCP_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/lcp.c",
    "content": "/*****************************************************************************\n* lcp.c - Network Link Control Protocol program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 by Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-01 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original.\n*****************************************************************************/\n\n/*\n * lcp.c - PPP Link Control Protocol.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n \n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"fsm.h\"\n#include \"chap.h\"\n#include \"magic.h\"\n#include \"auth.h\"\n#include \"lcp.h\"\n\n#include <string.h>\n\n#if PPPOE_SUPPORT\n#include \"netif/ppp_oe.h\"\n#else\n#define PPPOE_MAXMTU PPP_MAXMRU\n#endif\n\n#if 0 /* UNUSED */\n/*\n * LCP-related command-line options.\n */\nint lcp_echo_interval = 0;  /* Interval between LCP echo-requests */\nint lcp_echo_fails = 0;     /* Tolerance to unanswered echo-requests */\nbool  lax_recv = 0;         /* accept control chars in asyncmap */\n\nstatic int setescape (char **);\n\nstatic option_t lcp_option_list[] = {\n    /* LCP options */\n    /* list stripped for simplicity */\n    {NULL}\n};\n#endif /* UNUSED */\n\n/* options */\nLinkPhase lcp_phase[NUM_PPP];          /* Phase of link session (RFC 1661) */\nstatic u_int lcp_echo_interval      = LCP_ECHOINTERVAL; /* Interval between LCP echo-requests */\nstatic u_int lcp_echo_fails         = LCP_MAXECHOFAILS; /* Tolerance to unanswered echo-requests */\n\n/* global vars */\nstatic fsm lcp_fsm[NUM_PPP];                            /* LCP fsm structure (global)*/\nlcp_options lcp_wantoptions[NUM_PPP];  /* Options that we want to request */\nlcp_options lcp_gotoptions[NUM_PPP];   /* Options that peer ack'd */\nlcp_options lcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */\nlcp_options lcp_hisoptions[NUM_PPP];   /* Options that we ack'd */\next_accm xmit_accm[NUM_PPP];           /* extended transmit ACCM */\n\nstatic u32_t lcp_echos_pending      = 0;                /* Number of outstanding echo msgs */\nstatic u32_t lcp_echo_number        = 0;                /* ID number of next echo frame */\nstatic u32_t lcp_echo_timer_running = 0;                /* TRUE if a timer is running */\n\n/* @todo: do we really need such a large buffer? The typical 1500 bytes seem too much. */\nstatic u_char nak_buffer[PPP_MRU]; /* where we construct a nak packet */ \n\n/*\n * Callbacks for fsm code.  (CI = Configuration Information)\n */\nstatic void lcp_resetci (fsm*);                   /* Reset our CI */\nstatic int  lcp_cilen (fsm*);                     /* Return length of our CI */\nstatic void lcp_addci (fsm*, u_char*, int*);      /* Add our CI to pkt */\nstatic int  lcp_ackci (fsm*, u_char*, int);       /* Peer ack'd our CI */\nstatic int  lcp_nakci (fsm*, u_char*, int);       /* Peer nak'd our CI */\nstatic int  lcp_rejci (fsm*, u_char*, int);       /* Peer rej'd our CI */\nstatic int  lcp_reqci (fsm*, u_char*, int*, int); /* Rcv peer CI */\nstatic void lcp_up (fsm*);                        /* We're UP */\nstatic void lcp_down (fsm*);                      /* We're DOWN */\nstatic void lcp_starting (fsm*);                  /* We need lower layer up */\nstatic void lcp_finished (fsm*);                  /* We need lower layer down */\nstatic int  lcp_extcode (fsm*, int, u_char, u_char*, int);\nstatic void lcp_rprotrej (fsm*, u_char*, int);\n\n/*\n * routines to send LCP echos to peer\n */\n\nstatic void lcp_echo_lowerup (int);\nstatic void lcp_echo_lowerdown (int);\nstatic void LcpEchoTimeout (void*);\nstatic void lcp_received_echo_reply (fsm*, int, u_char*, int);\nstatic void LcpSendEchoRequest (fsm*);\nstatic void LcpLinkFailure (fsm*);\nstatic void LcpEchoCheck (fsm*);\n\nstatic fsm_callbacks lcp_callbacks = { /* LCP callback routines */\n  lcp_resetci,  /* Reset our Configuration Information */\n  lcp_cilen,    /* Length of our Configuration Information */\n  lcp_addci,    /* Add our Configuration Information */\n  lcp_ackci,    /* ACK our Configuration Information */\n  lcp_nakci,    /* NAK our Configuration Information */\n  lcp_rejci,    /* Reject our Configuration Information */\n  lcp_reqci,    /* Request peer's Configuration Information */\n  lcp_up,       /* Called when fsm reaches LS_OPENED state */\n  lcp_down,     /* Called when fsm leaves LS_OPENED state */\n  lcp_starting, /* Called when we want the lower layer up */\n  lcp_finished, /* Called when we want the lower layer down */\n  NULL,         /* Called when Protocol-Reject received */\n  NULL,         /* Retransmission is necessary */\n  lcp_extcode,  /* Called to handle LCP-specific codes */\n  \"LCP\"         /* String name of protocol */\n};\n\n/*\n * Protocol entry points.\n * Some of these are called directly.\n */\n\nstatic void lcp_input (int, u_char *, int);\nstatic void lcp_protrej (int);\n\nstruct protent lcp_protent = {\n    PPP_LCP,\n    lcp_init,\n    lcp_input,\n    lcp_protrej,\n    lcp_lowerup,\n    lcp_lowerdown,\n    lcp_open,\n    lcp_close,\n#if PPP_ADDITIONAL_CALLBACKS\n    lcp_printpkt,\n    NULL,\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n    1,\n    \"LCP\",\n#if PPP_ADDITIONAL_CALLBACKS\n    NULL,\n    NULL,\n    NULL\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n};\n\nint lcp_loopbackfail = DEFLOOPBACKFAIL;\n\n/*\n * Length of each type of configuration option (in octets)\n */\n#define CILEN_VOID  2\n#define CILEN_CHAR  3\n#define CILEN_SHORT 4 /* CILEN_VOID + sizeof(short) */\n#define CILEN_CHAP  5 /* CILEN_VOID + sizeof(short) + 1 */\n#define CILEN_LONG  6 /* CILEN_VOID + sizeof(long) */\n#define CILEN_LQR   8 /* CILEN_VOID + sizeof(short) + sizeof(long) */\n#define CILEN_CBCP  3\n\n#define CODENAME(x)  ((x) == CONFACK ? \"ACK\" : (x) == CONFNAK ? \"NAK\" : \"REJ\")\n\n#if 0 /* UNUSED */\n/*\n * setescape - add chars to the set we escape on transmission.\n */\nstatic int\nsetescape(argv)\n    char **argv;\n{\n    int n, ret;\n    char *p, *endp;\n\n    p = *argv;\n    ret = 1;\n    while (*p) {\n      n = strtol(p, &endp, 16);\n      if (p == endp) {\n        option_error(\"escape parameter contains invalid hex number '%s'\", p);\n        return 0;\n      }\n      p = endp;\n      if (n < 0 || n == 0x5E || n > 0xFF) {\n        option_error(\"can't escape character 0x%x\", n);\n        ret = 0;\n      } else\n        xmit_accm[0][n >> 5] |= 1 << (n & 0x1F);\n      while (*p == ',' || *p == ' ')\n        ++p;\n    }\n    return ret;\n}\n#endif /* UNUSED */\n\n/*\n * lcp_init - Initialize LCP.\n */\nvoid\nlcp_init(int unit)\n{\n  fsm         *f  = &lcp_fsm[unit];\n  lcp_options *wo = &lcp_wantoptions[unit];\n  lcp_options *ao = &lcp_allowoptions[unit];\n\n  f->unit      = unit;\n  f->protocol  = PPP_LCP;\n  f->callbacks = &lcp_callbacks;\n\n  fsm_init(f);\n\n  wo->passive           = 0;\n  wo->silent            = 0;\n  wo->restart           = 0;               /* Set to 1 in kernels or multi-line implementations */\n  wo->neg_mru           = 1;\n  wo->mru               = PPP_DEFMRU;\n  wo->neg_asyncmap      = 1;\n  wo->asyncmap          = 0x00000000l;     /* Assume don't need to escape any ctl chars. */\n  wo->neg_chap          = 0;               /* Set to 1 on server */\n  wo->neg_upap          = 0;               /* Set to 1 on server */\n  wo->chap_mdtype       = CHAP_DIGEST_MD5;\n  wo->neg_magicnumber   = 1;\n  wo->neg_pcompression  = 1;\n  wo->neg_accompression = 1;\n  wo->neg_lqr           = 0;               /* no LQR implementation yet */\n  wo->neg_cbcp          = 0;\n\n  ao->neg_mru           = 1;\n  ao->mru               = PPP_MAXMRU;\n  ao->neg_asyncmap      = 1;\n  ao->asyncmap          = 0x00000000l;     /* Assume don't need to escape any ctl chars. */\n  ao->neg_chap          = (CHAP_SUPPORT != 0);\n  ao->chap_mdtype       = CHAP_DIGEST_MD5;\n  ao->neg_upap          = (PAP_SUPPORT != 0);\n  ao->neg_magicnumber   = 1;\n  ao->neg_pcompression  = 1;\n  ao->neg_accompression = 1;\n  ao->neg_lqr           = 0;               /* no LQR implementation yet */\n  ao->neg_cbcp          = (CBCP_SUPPORT != 0);\n\n  /* \n   * Set transmit escape for the flag and escape characters plus anything\n   * set for the allowable options.\n   */\n  memset(xmit_accm[unit], 0, sizeof(xmit_accm[0]));\n  xmit_accm[unit][15] = 0x60;\n  xmit_accm[unit][0]  = (u_char)((ao->asyncmap        & 0xFF));\n  xmit_accm[unit][1]  = (u_char)((ao->asyncmap >> 8)  & 0xFF);\n  xmit_accm[unit][2]  = (u_char)((ao->asyncmap >> 16) & 0xFF);\n  xmit_accm[unit][3]  = (u_char)((ao->asyncmap >> 24) & 0xFF);\n  LCPDEBUG(LOG_INFO, (\"lcp_init: xmit_accm=%X %X %X %X\\n\",\n        xmit_accm[unit][0],\n        xmit_accm[unit][1],\n        xmit_accm[unit][2],\n        xmit_accm[unit][3]));\n  \n  lcp_phase[unit] = PHASE_INITIALIZE;\n}\n\n\n/*\n * lcp_open - LCP is allowed to come up.\n */\nvoid\nlcp_open(int unit)\n{\n  fsm         *f  = &lcp_fsm[unit];\n  lcp_options *wo = &lcp_wantoptions[unit];\n\n  f->flags = 0;\n  if (wo->passive) {\n    f->flags |= OPT_PASSIVE;\n  }\n  if (wo->silent) {\n    f->flags |= OPT_SILENT;\n  }\n  fsm_open(f);\n\n  lcp_phase[unit] = PHASE_ESTABLISH;\n}\n\n\n/*\n * lcp_close - Take LCP down.\n */\nvoid\nlcp_close(int unit, char *reason)\n{\n  fsm *f = &lcp_fsm[unit];\n\n  if (lcp_phase[unit] != PHASE_DEAD) {\n    lcp_phase[unit] = PHASE_TERMINATE;\n  }\n  if (f->state == LS_STOPPED && f->flags & (OPT_PASSIVE|OPT_SILENT)) {\n    /*\n     * This action is not strictly according to the FSM in RFC1548,\n     * but it does mean that the program terminates if you do an\n     * lcp_close() in passive/silent mode when a connection hasn't\n     * been established.\n     */\n    f->state = LS_CLOSED;\n    lcp_finished(f);\n  } else {\n    fsm_close(f, reason);\n  }\n}\n\n\n/*\n * lcp_lowerup - The lower layer is up.\n */\nvoid\nlcp_lowerup(int unit)\n{\n  lcp_options *wo = &lcp_wantoptions[unit];\n\n  /*\n   * Don't use A/C or protocol compression on transmission,\n   * but accept A/C and protocol compressed packets\n   * if we are going to ask for A/C and protocol compression.\n   */\n  ppp_set_xaccm(unit, &xmit_accm[unit]);\n  ppp_send_config(unit, PPP_MRU, 0xffffffffl, 0, 0);\n  ppp_recv_config(unit, PPP_MRU, 0x00000000l,\n  wo->neg_pcompression, wo->neg_accompression);\n  peer_mru[unit] = PPP_MRU;\n  lcp_allowoptions[unit].asyncmap = (u_long)xmit_accm[unit][0]\n                                 | ((u_long)xmit_accm[unit][1] << 8)\n                                 | ((u_long)xmit_accm[unit][2] << 16)\n                                 | ((u_long)xmit_accm[unit][3] << 24);\n  LCPDEBUG(LOG_INFO, (\"lcp_lowerup: asyncmap=%X %X %X %X\\n\",\n            xmit_accm[unit][3],\n            xmit_accm[unit][2],\n            xmit_accm[unit][1],\n            xmit_accm[unit][0]));\n\n  fsm_lowerup(&lcp_fsm[unit]);\n}\n\n\n/*\n * lcp_lowerdown - The lower layer is down.\n */\nvoid\nlcp_lowerdown(int unit)\n{\n  fsm_lowerdown(&lcp_fsm[unit]);\n}\n\n\n/*\n * lcp_input - Input LCP packet.\n */\nstatic void\nlcp_input(int unit, u_char *p, int len)\n{\n  fsm *f = &lcp_fsm[unit];\n\n  fsm_input(f, p, len);\n}\n\n\n/*\n * lcp_extcode - Handle a LCP-specific code.\n */\nstatic int\nlcp_extcode(fsm *f, int code, u_char id, u_char *inp, int len)\n{\n  u_char *magp;\n\n  switch( code ){\n    case PROTREJ:\n      lcp_rprotrej(f, inp, len);\n      break;\n  \n    case ECHOREQ:\n      if (f->state != LS_OPENED) {\n        break;\n      }\n      LCPDEBUG(LOG_INFO, (\"lcp: Echo-Request, Rcvd id %d\\n\", id));\n      magp = inp;\n      PUTLONG(lcp_gotoptions[f->unit].magicnumber, magp);\n      fsm_sdata(f, ECHOREP, id, inp, len);\n      break;\n\n    case ECHOREP:\n      lcp_received_echo_reply(f, id, inp, len);\n      break;\n\n    case DISCREQ:\n      break;\n\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*\n * lcp_rprotrej - Receive an Protocol-Reject.\n *\n * Figure out which protocol is rejected and inform it.\n */\nstatic void\nlcp_rprotrej(fsm *f, u_char *inp, int len)\n{\n  int i;\n  struct protent *protp;\n  u_short prot;\n\n  if (len < (int)sizeof (u_short)) {\n    LCPDEBUG(LOG_INFO, (\"lcp_rprotrej: Rcvd short Protocol-Reject packet!\\n\"));\n    return;\n  }\n\n  GETSHORT(prot, inp);\n\n  LCPDEBUG(LOG_INFO, (\"lcp_rprotrej: Rcvd Protocol-Reject packet for %x!\\n\", prot));\n\n  /*\n   * Protocol-Reject packets received in any state other than the LCP\n   * LS_OPENED state SHOULD be silently discarded.\n   */\n  if( f->state != LS_OPENED ) {\n    LCPDEBUG(LOG_INFO, (\"Protocol-Reject discarded: LCP in state %d\\n\", f->state));\n    return;\n  }\n\n  /*\n   * Upcall the proper Protocol-Reject routine.\n   */\n  for (i = 0; (protp = ppp_protocols[i]) != NULL; ++i) {\n    if (protp->protocol == prot && protp->enabled_flag) {\n      (*protp->protrej)(f->unit);\n      return;\n    }\n  }\n\n  LCPDEBUG(LOG_WARNING, (\"Protocol-Reject for unsupported protocol 0x%x\\n\", prot));\n}\n\n\n/*\n * lcp_protrej - A Protocol-Reject was received.\n */\nstatic void\nlcp_protrej(int unit)\n{\n  LWIP_UNUSED_ARG(unit);\n  /*\n   * Can't reject LCP!\n   */\n  LCPDEBUG(LOG_WARNING, (\"lcp_protrej: Received Protocol-Reject for LCP!\\n\"));\n  fsm_protreject(&lcp_fsm[unit]);\n}\n\n\n/*\n * lcp_sprotrej - Send a Protocol-Reject for some protocol.\n */\nvoid\nlcp_sprotrej(int unit, u_char *p, int len)\n{\n  /*\n   * Send back the protocol and the information field of the\n   * rejected packet.  We only get here if LCP is in the LS_OPENED state.\n   */\n\n  fsm_sdata(&lcp_fsm[unit], PROTREJ, ++lcp_fsm[unit].id, p, len);\n}\n\n\n/*\n * lcp_resetci - Reset our CI.\n */\nstatic void\nlcp_resetci(fsm *f)\n{\n  lcp_wantoptions[f->unit].magicnumber = magic();\n  lcp_wantoptions[f->unit].numloops = 0;\n  lcp_gotoptions[f->unit] = lcp_wantoptions[f->unit];\n  peer_mru[f->unit] = PPP_MRU;\n  auth_reset(f->unit);\n}\n\n\n/*\n * lcp_cilen - Return length of our CI.\n */\nstatic int\nlcp_cilen(fsm *f)\n{\n  lcp_options *go = &lcp_gotoptions[f->unit];\n\n#define LENCIVOID(neg)  ((neg) ? CILEN_VOID : 0)\n#define LENCICHAP(neg)  ((neg) ? CILEN_CHAP : 0)\n#define LENCISHORT(neg) ((neg) ? CILEN_SHORT : 0)\n#define LENCILONG(neg)  ((neg) ? CILEN_LONG : 0)\n#define LENCILQR(neg)   ((neg) ? CILEN_LQR: 0)\n#define LENCICBCP(neg)  ((neg) ? CILEN_CBCP: 0)\n  /*\n   * NB: we only ask for one of CHAP and UPAP, even if we will\n   * accept either.\n   */\n  return (LENCISHORT(go->neg_mru && go->mru != PPP_DEFMRU) +\n          LENCILONG(go->neg_asyncmap && go->asyncmap != 0xFFFFFFFFl) +\n          LENCICHAP(go->neg_chap) +\n          LENCISHORT(!go->neg_chap && go->neg_upap) +\n          LENCILQR(go->neg_lqr) +\n          LENCICBCP(go->neg_cbcp) +\n          LENCILONG(go->neg_magicnumber) +\n          LENCIVOID(go->neg_pcompression) +\n          LENCIVOID(go->neg_accompression));\n}\n\n\n/*\n * lcp_addci - Add our desired CIs to a packet.\n */\nstatic void\nlcp_addci(fsm *f, u_char *ucp, int *lenp)\n{\n  lcp_options *go = &lcp_gotoptions[f->unit];\n  u_char *start_ucp = ucp;\n\n#define ADDCIVOID(opt, neg) \\\n  if (neg) { \\\n    LCPDEBUG(LOG_INFO, (\"lcp_addci: opt=%d\\n\", opt)); \\\n    PUTCHAR(opt, ucp); \\\n    PUTCHAR(CILEN_VOID, ucp); \\\n  }\n#define ADDCISHORT(opt, neg, val) \\\n  if (neg) { \\\n    LCPDEBUG(LOG_INFO, (\"lcp_addci: INT opt=%d %X\\n\", opt, val)); \\\n    PUTCHAR(opt, ucp); \\\n    PUTCHAR(CILEN_SHORT, ucp); \\\n    PUTSHORT(val, ucp); \\\n  }\n#define ADDCICHAP(opt, neg, val, digest) \\\n  if (neg) { \\\n    LCPDEBUG(LOG_INFO, (\"lcp_addci: CHAP opt=%d %X\\n\", opt, val)); \\\n    PUTCHAR(opt, ucp); \\\n    PUTCHAR(CILEN_CHAP, ucp); \\\n    PUTSHORT(val, ucp); \\\n    PUTCHAR(digest, ucp); \\\n  }\n#define ADDCILONG(opt, neg, val) \\\n  if (neg) { \\\n    LCPDEBUG(LOG_INFO, (\"lcp_addci: L opt=%d %lX\\n\", opt, val)); \\\n    PUTCHAR(opt, ucp); \\\n    PUTCHAR(CILEN_LONG, ucp); \\\n    PUTLONG(val, ucp); \\\n  }\n#define ADDCILQR(opt, neg, val) \\\n  if (neg) { \\\n    LCPDEBUG(LOG_INFO, (\"lcp_addci: LQR opt=%d %lX\\n\", opt, val)); \\\n    PUTCHAR(opt, ucp); \\\n    PUTCHAR(CILEN_LQR, ucp); \\\n    PUTSHORT(PPP_LQR, ucp); \\\n    PUTLONG(val, ucp); \\\n  }\n#define ADDCICHAR(opt, neg, val) \\\n  if (neg) { \\\n    LCPDEBUG(LOG_INFO, (\"lcp_addci: CHAR opt=%d %X '%z'\\n\", opt, val, val)); \\\n    PUTCHAR(opt, ucp); \\\n    PUTCHAR(CILEN_CHAR, ucp); \\\n    PUTCHAR(val, ucp); \\\n  }\n\n  ADDCISHORT(CI_MRU, go->neg_mru && go->mru != PPP_DEFMRU, go->mru);\n  ADDCILONG(CI_ASYNCMAP, go->neg_asyncmap && go->asyncmap != 0xFFFFFFFFl, go->asyncmap);\n  ADDCICHAP(CI_AUTHTYPE, go->neg_chap, PPP_CHAP, go->chap_mdtype);\n  ADDCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, PPP_PAP);\n  ADDCILQR(CI_QUALITY, go->neg_lqr, go->lqr_period);\n  ADDCICHAR(CI_CALLBACK, go->neg_cbcp, CBCP_OPT);\n  ADDCILONG(CI_MAGICNUMBER, go->neg_magicnumber, go->magicnumber);\n  ADDCIVOID(CI_PCOMPRESSION, go->neg_pcompression);\n  ADDCIVOID(CI_ACCOMPRESSION, go->neg_accompression);\n\n  if (ucp - start_ucp != *lenp) {\n    /* this should never happen, because peer_mtu should be 1500 */\n    LCPDEBUG(LOG_ERR, (\"Bug in lcp_addci: wrong length\\n\"));\n  }\n}\n\n\n/*\n * lcp_ackci - Ack our CIs.\n * This should not modify any state if the Ack is bad.\n *\n * Returns:\n *  0 - Ack was bad.\n *  1 - Ack was good.\n */\nstatic int\nlcp_ackci(fsm *f, u_char *p, int len)\n{\n  lcp_options *go = &lcp_gotoptions[f->unit];\n  u_char cilen, citype, cichar;\n  u_short cishort;\n  u32_t cilong;\n\n  /*\n   * CIs must be in exactly the same order that we sent.\n   * Check packet length and CI length at each step.\n   * If we find any deviations, then this packet is bad.\n   */\n#define ACKCIVOID(opt, neg) \\\n  if (neg) { \\\n    if ((len -= CILEN_VOID) < 0) \\\n      goto bad; \\\n    GETCHAR(citype, p); \\\n    GETCHAR(cilen, p); \\\n    if (cilen != CILEN_VOID || citype != opt) \\\n      goto bad; \\\n  }\n#define ACKCISHORT(opt, neg, val) \\\n  if (neg) { \\\n    if ((len -= CILEN_SHORT) < 0) \\\n      goto bad; \\\n    GETCHAR(citype, p); \\\n    GETCHAR(cilen, p); \\\n    if (cilen != CILEN_SHORT || citype != opt) \\\n      goto bad; \\\n    GETSHORT(cishort, p); \\\n    if (cishort != val) \\\n      goto bad; \\\n  }\n#define ACKCICHAR(opt, neg, val) \\\n  if (neg) { \\\n    if ((len -= CILEN_CHAR) < 0) \\\n      goto bad; \\\n    GETCHAR(citype, p); \\\n    GETCHAR(cilen, p); \\\n    if (cilen != CILEN_CHAR || citype != opt) \\\n      goto bad; \\\n    GETCHAR(cichar, p); \\\n    if (cichar != val) \\\n      goto bad; \\\n  }\n#define ACKCICHAP(opt, neg, val, digest) \\\n  if (neg) { \\\n    if ((len -= CILEN_CHAP) < 0) \\\n      goto bad; \\\n    GETCHAR(citype, p); \\\n    GETCHAR(cilen, p); \\\n    if (cilen != CILEN_CHAP || citype != opt) \\\n      goto bad; \\\n    GETSHORT(cishort, p); \\\n    if (cishort != val) \\\n      goto bad; \\\n    GETCHAR(cichar, p); \\\n    if (cichar != digest) \\\n      goto bad; \\\n  }\n#define ACKCILONG(opt, neg, val) \\\n  if (neg) { \\\n    if ((len -= CILEN_LONG) < 0) \\\n      goto bad; \\\n    GETCHAR(citype, p); \\\n    GETCHAR(cilen, p); \\\n    if (cilen != CILEN_LONG ||  citype != opt) \\\n      goto bad; \\\n    GETLONG(cilong, p); \\\n    if (cilong != val) \\\n      goto bad; \\\n  }\n#define ACKCILQR(opt, neg, val) \\\n  if (neg) { \\\n    if ((len -= CILEN_LQR) < 0) \\\n      goto bad; \\\n    GETCHAR(citype, p); \\\n    GETCHAR(cilen, p); \\\n    if (cilen != CILEN_LQR || citype != opt) \\\n      goto bad; \\\n    GETSHORT(cishort, p); \\\n    if (cishort != PPP_LQR) \\\n      goto bad; \\\n    GETLONG(cilong, p); \\\n    if (cilong != val) \\\n      goto bad; \\\n  }\n\n  ACKCISHORT(CI_MRU, go->neg_mru && go->mru != PPP_DEFMRU, go->mru);\n  ACKCILONG(CI_ASYNCMAP, go->neg_asyncmap && go->asyncmap != 0xFFFFFFFFl, go->asyncmap);\n  ACKCICHAP(CI_AUTHTYPE, go->neg_chap, PPP_CHAP, go->chap_mdtype);\n  ACKCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, PPP_PAP);\n  ACKCILQR(CI_QUALITY, go->neg_lqr, go->lqr_period);\n  ACKCICHAR(CI_CALLBACK, go->neg_cbcp, CBCP_OPT);\n  ACKCILONG(CI_MAGICNUMBER, go->neg_magicnumber, go->magicnumber);\n  ACKCIVOID(CI_PCOMPRESSION, go->neg_pcompression);\n  ACKCIVOID(CI_ACCOMPRESSION, go->neg_accompression);\n\n  /*\n   * If there are any remaining CIs, then this packet is bad.\n   */\n  if (len != 0) {\n    goto bad;\n  }\n  LCPDEBUG(LOG_INFO, (\"lcp_acki: Ack\\n\"));\n  return (1);\nbad:\n  LCPDEBUG(LOG_WARNING, (\"lcp_acki: received bad Ack!\\n\"));\n  return (0);\n}\n\n\n/*\n * lcp_nakci - Peer has sent a NAK for some of our CIs.\n * This should not modify any state if the Nak is bad\n * or if LCP is in the LS_OPENED state.\n *\n * Returns:\n *  0 - Nak was bad.\n *  1 - Nak was good.\n */\nstatic int\nlcp_nakci(fsm *f, u_char *p, int len)\n{\n  lcp_options *go = &lcp_gotoptions[f->unit];\n  lcp_options *wo = &lcp_wantoptions[f->unit];\n  u_char citype, cichar, *next;\n  u_short cishort;\n  u32_t cilong;\n  lcp_options no;     /* options we've seen Naks for */\n  lcp_options try;    /* options to request next time */\n  int looped_back = 0;\n  int cilen;\n\n  BZERO(&no, sizeof(no));\n  try = *go;\n\n  /*\n   * Any Nak'd CIs must be in exactly the same order that we sent.\n   * Check packet length and CI length at each step.\n   * If we find any deviations, then this packet is bad.\n   */\n#define NAKCIVOID(opt, neg, code) \\\n  if (go->neg && \\\n      len >= CILEN_VOID && \\\n      p[1] == CILEN_VOID && \\\n      p[0] == opt) { \\\n    len -= CILEN_VOID; \\\n    INCPTR(CILEN_VOID, p); \\\n    no.neg = 1; \\\n    code \\\n  }\n#define NAKCICHAP(opt, neg, code) \\\n  if (go->neg && \\\n      len >= CILEN_CHAP && \\\n      p[1] == CILEN_CHAP && \\\n      p[0] == opt) { \\\n    len -= CILEN_CHAP; \\\n    INCPTR(2, p); \\\n    GETSHORT(cishort, p); \\\n    GETCHAR(cichar, p); \\\n    no.neg = 1; \\\n    code \\\n  }\n#define NAKCICHAR(opt, neg, code) \\\n  if (go->neg && \\\n      len >= CILEN_CHAR && \\\n      p[1] == CILEN_CHAR && \\\n      p[0] == opt) { \\\n    len -= CILEN_CHAR; \\\n    INCPTR(2, p); \\\n    GETCHAR(cichar, p); \\\n    no.neg = 1; \\\n    code \\\n  }\n#define NAKCISHORT(opt, neg, code) \\\n  if (go->neg && \\\n      len >= CILEN_SHORT && \\\n      p[1] == CILEN_SHORT && \\\n      p[0] == opt) { \\\n    len -= CILEN_SHORT; \\\n    INCPTR(2, p); \\\n    GETSHORT(cishort, p); \\\n    no.neg = 1; \\\n    code \\\n  }\n#define NAKCILONG(opt, neg, code) \\\n  if (go->neg && \\\n      len >= CILEN_LONG && \\\n      p[1] == CILEN_LONG && \\\n      p[0] == opt) { \\\n    len -= CILEN_LONG; \\\n    INCPTR(2, p); \\\n    GETLONG(cilong, p); \\\n    no.neg = 1; \\\n    code \\\n  }\n#define NAKCILQR(opt, neg, code) \\\n  if (go->neg && \\\n      len >= CILEN_LQR && \\\n      p[1] == CILEN_LQR && \\\n      p[0] == opt) { \\\n    len -= CILEN_LQR; \\\n    INCPTR(2, p); \\\n    GETSHORT(cishort, p); \\\n    GETLONG(cilong, p); \\\n    no.neg = 1; \\\n    code \\\n  }\n\n  /*\n   * We don't care if they want to send us smaller packets than\n   * we want.  Therefore, accept any MRU less than what we asked for,\n   * but then ignore the new value when setting the MRU in the kernel.\n   * If they send us a bigger MRU than what we asked, accept it, up to\n   * the limit of the default MRU we'd get if we didn't negotiate.\n   */\n  if (go->neg_mru && go->mru != PPP_DEFMRU) {\n    NAKCISHORT(CI_MRU, neg_mru,\n      if (cishort <= wo->mru || cishort < PPP_DEFMRU) {\n        try.mru = cishort;\n      }\n    );\n  }\n\n  /*\n   * Add any characters they want to our (receive-side) asyncmap.\n   */\n  if (go->neg_asyncmap && go->asyncmap != 0xFFFFFFFFl) {\n    NAKCILONG(CI_ASYNCMAP, neg_asyncmap,\n      try.asyncmap = go->asyncmap | cilong;\n    );\n  }\n\n  /*\n   * If they've nak'd our authentication-protocol, check whether\n   * they are proposing a different protocol, or a different\n   * hash algorithm for CHAP.\n   */\n  if ((go->neg_chap || go->neg_upap)\n      && len >= CILEN_SHORT\n      && p[0] == CI_AUTHTYPE && p[1] >= CILEN_SHORT && p[1] <= len) {\n    cilen = p[1];\n    len -= cilen;\n    no.neg_chap = go->neg_chap;\n    no.neg_upap = go->neg_upap;\n    INCPTR(2, p);\n    GETSHORT(cishort, p);\n    if (cishort == PPP_PAP && cilen == CILEN_SHORT) {\n      /*\n       * If we were asking for CHAP, they obviously don't want to do it.\n       * If we weren't asking for CHAP, then we were asking for PAP,\n       * in which case this Nak is bad.\n       */\n      if (!go->neg_chap) {\n        goto bad;\n      }\n      try.neg_chap = 0;\n    \n    } else if (cishort == PPP_CHAP && cilen == CILEN_CHAP) {\n      GETCHAR(cichar, p);\n      if (go->neg_chap) {\n        /*\n         * We were asking for CHAP/MD5; they must want a different\n         * algorithm.  If they can't do MD5, we'll have to stop\n         * asking for CHAP.\n         */\n        if (cichar != go->chap_mdtype) {\n          try.neg_chap = 0;\n        }\n      } else {\n        /*\n         * Stop asking for PAP if we were asking for it.\n         */\n        try.neg_upap = 0;\n      }\n    \n    } else {\n      /*\n       * We don't recognize what they're suggesting.\n       * Stop asking for what we were asking for.\n       */\n      if (go->neg_chap) {\n        try.neg_chap = 0;\n      } else {\n        try.neg_upap = 0;\n      }\n      p += cilen - CILEN_SHORT;\n    }\n  }\n\n  /*\n   * If they can't cope with our link quality protocol, we'll have\n   * to stop asking for LQR.  We haven't got any other protocol.\n   * If they Nak the reporting period, take their value XXX ?\n   */\n  NAKCILQR(CI_QUALITY, neg_lqr,\n    if (cishort != PPP_LQR) {\n      try.neg_lqr = 0;\n    } else {\n      try.lqr_period = cilong;\n    }\n  );\n\n  /*\n   * Only implementing CBCP...not the rest of the callback options\n   */\n  NAKCICHAR(CI_CALLBACK, neg_cbcp,\n    try.neg_cbcp = 0;\n  );\n\n  /*\n   * Check for a looped-back line.\n   */\n  NAKCILONG(CI_MAGICNUMBER, neg_magicnumber,\n    try.magicnumber = magic();\n    looped_back = 1;\n  );\n\n  /*\n   * Peer shouldn't send Nak for protocol compression or\n   * address/control compression requests; they should send\n   * a Reject instead.  If they send a Nak, treat it as a Reject.\n   */\n  NAKCIVOID(CI_PCOMPRESSION, neg_pcompression,\n    try.neg_pcompression = 0;\n  );\n  NAKCIVOID(CI_ACCOMPRESSION, neg_accompression,\n    try.neg_accompression = 0;\n  );\n\n  /*\n   * There may be remaining CIs, if the peer is requesting negotiation\n   * on an option that we didn't include in our request packet.\n   * If we see an option that we requested, or one we've already seen\n   * in this packet, then this packet is bad.\n   * If we wanted to respond by starting to negotiate on the requested\n   * option(s), we could, but we don't, because except for the\n   * authentication type and quality protocol, if we are not negotiating\n   * an option, it is because we were told not to.\n   * For the authentication type, the Nak from the peer means\n   * `let me authenticate myself with you' which is a bit pointless.\n   * For the quality protocol, the Nak means `ask me to send you quality\n   * reports', but if we didn't ask for them, we don't want them.\n   * An option we don't recognize represents the peer asking to\n   * negotiate some option we don't support, so ignore it.\n   */\n  while (len > CILEN_VOID) {\n    GETCHAR(citype, p);\n    GETCHAR(cilen, p);\n    if (cilen < CILEN_VOID || (len -= cilen) < 0) {\n      goto bad;\n    }\n    next = p + cilen - 2;\n\n    switch (citype) {\n      case CI_MRU:\n        if ((go->neg_mru && go->mru != PPP_DEFMRU)\n            || no.neg_mru || cilen != CILEN_SHORT) {\n          goto bad;\n        }\n        GETSHORT(cishort, p);\n        if (cishort < PPP_DEFMRU) {\n          try.mru = cishort;\n        }\n        break;\n      case CI_ASYNCMAP:\n        if ((go->neg_asyncmap && go->asyncmap != 0xFFFFFFFFl)\n            || no.neg_asyncmap || cilen != CILEN_LONG) {\n          goto bad;\n        }\n        break;\n      case CI_AUTHTYPE:\n        if (go->neg_chap || no.neg_chap || go->neg_upap || no.neg_upap) {\n          goto bad;\n        }\n        break;\n      case CI_MAGICNUMBER:\n        if (go->neg_magicnumber || no.neg_magicnumber ||\n            cilen != CILEN_LONG) {\n          goto bad;\n        }\n        break;\n      case CI_PCOMPRESSION:\n        if (go->neg_pcompression || no.neg_pcompression\n            || cilen != CILEN_VOID) {\n          goto bad;\n        }\n        break;\n      case CI_ACCOMPRESSION:\n        if (go->neg_accompression || no.neg_accompression\n            || cilen != CILEN_VOID) {\n          goto bad;\n        }\n        break;\n      case CI_QUALITY:\n        if (go->neg_lqr || no.neg_lqr || cilen != CILEN_LQR) {\n          goto bad;\n        }\n        break;\n    }\n    p = next;\n  }\n\n  /* If there is still anything left, this packet is bad. */\n  if (len != 0) {\n    goto bad;\n  }\n\n  /*\n  * OK, the Nak is good.  Now we can update state.\n  */\n  if (f->state != LS_OPENED) {\n    if (looped_back) {\n      if (++try.numloops >= lcp_loopbackfail) {\n        LCPDEBUG(LOG_NOTICE, (\"Serial line is looped back.\\n\"));\n        lcp_close(f->unit, \"Loopback detected\");\n      }\n    } else {\n      try.numloops = 0;\n    }\n    *go = try;\n  }\n\n  return 1;\n\nbad:\n  LCPDEBUG(LOG_WARNING, (\"lcp_nakci: received bad Nak!\\n\"));\n  return 0;\n}\n\n\n/*\n * lcp_rejci - Peer has Rejected some of our CIs.\n * This should not modify any state if the Reject is bad\n * or if LCP is in the LS_OPENED state.\n *\n * Returns:\n *  0 - Reject was bad.\n *  1 - Reject was good.\n */\nstatic int\nlcp_rejci(fsm *f, u_char *p, int len)\n{\n  lcp_options *go = &lcp_gotoptions[f->unit];\n  u_char cichar;\n  u_short cishort;\n  u32_t cilong;\n  lcp_options try; /* options to request next time */\n\n  try = *go;\n\n  /*\n   * Any Rejected CIs must be in exactly the same order that we sent.\n   * Check packet length and CI length at each step.\n   * If we find any deviations, then this packet is bad.\n   */\n#define REJCIVOID(opt, neg) \\\n  if (go->neg && \\\n      len >= CILEN_VOID && \\\n      p[1] == CILEN_VOID && \\\n      p[0] == opt) { \\\n    len -= CILEN_VOID; \\\n    INCPTR(CILEN_VOID, p); \\\n    try.neg = 0; \\\n    LCPDEBUG(LOG_INFO, (\"lcp_rejci: void opt %d rejected\\n\", opt)); \\\n  }\n#define REJCISHORT(opt, neg, val) \\\n  if (go->neg && \\\n      len >= CILEN_SHORT && \\\n      p[1] == CILEN_SHORT && \\\n      p[0] == opt) { \\\n    len -= CILEN_SHORT; \\\n    INCPTR(2, p); \\\n    GETSHORT(cishort, p); \\\n    /* Check rejected value. */ \\\n    if (cishort != val) { \\\n      goto bad; \\\n    } \\\n    try.neg = 0; \\\n    LCPDEBUG(LOG_INFO, (\"lcp_rejci: short opt %d rejected\\n\", opt)); \\\n  }\n#define REJCICHAP(opt, neg, val, digest) \\\n  if (go->neg && \\\n      len >= CILEN_CHAP && \\\n      p[1] == CILEN_CHAP && \\\n      p[0] == opt) { \\\n    len -= CILEN_CHAP; \\\n    INCPTR(2, p); \\\n    GETSHORT(cishort, p); \\\n    GETCHAR(cichar, p); \\\n    /* Check rejected value. */ \\\n    if (cishort != val || cichar != digest) { \\\n      goto bad; \\\n    } \\\n    try.neg = 0; \\\n    try.neg_upap = 0; \\\n    LCPDEBUG(LOG_INFO, (\"lcp_rejci: chap opt %d rejected\\n\", opt)); \\\n  }\n#define REJCILONG(opt, neg, val) \\\n  if (go->neg && \\\n      len >= CILEN_LONG && \\\n      p[1] == CILEN_LONG && \\\n      p[0] == opt) { \\\n    len -= CILEN_LONG; \\\n    INCPTR(2, p); \\\n    GETLONG(cilong, p); \\\n    /* Check rejected value. */ \\\n    if (cilong != val) { \\\n      goto bad; \\\n    } \\\n    try.neg = 0; \\\n    LCPDEBUG(LOG_INFO, (\"lcp_rejci: long opt %d rejected\\n\", opt)); \\\n  }\n#define REJCILQR(opt, neg, val) \\\n  if (go->neg && \\\n      len >= CILEN_LQR && \\\n      p[1] == CILEN_LQR && \\\n      p[0] == opt) { \\\n    len -= CILEN_LQR; \\\n    INCPTR(2, p); \\\n    GETSHORT(cishort, p); \\\n    GETLONG(cilong, p); \\\n    /* Check rejected value. */ \\\n    if (cishort != PPP_LQR || cilong != val) { \\\n      goto bad; \\\n    } \\\n    try.neg = 0; \\\n    LCPDEBUG(LOG_INFO, (\"lcp_rejci: LQR opt %d rejected\\n\", opt)); \\\n  }\n#define REJCICBCP(opt, neg, val) \\\n  if (go->neg && \\\n      len >= CILEN_CBCP && \\\n      p[1] == CILEN_CBCP && \\\n      p[0] == opt) { \\\n    len -= CILEN_CBCP; \\\n    INCPTR(2, p); \\\n    GETCHAR(cichar, p); \\\n    /* Check rejected value. */ \\\n    if (cichar != val) { \\\n      goto bad; \\\n    } \\\n    try.neg = 0; \\\n    LCPDEBUG(LOG_INFO, (\"lcp_rejci: Callback opt %d rejected\\n\", opt)); \\\n  }\n  \n  REJCISHORT(CI_MRU, neg_mru, go->mru);\n  REJCILONG(CI_ASYNCMAP, neg_asyncmap, go->asyncmap);\n  REJCICHAP(CI_AUTHTYPE, neg_chap, PPP_CHAP, go->chap_mdtype);\n  if (!go->neg_chap) {\n    REJCISHORT(CI_AUTHTYPE, neg_upap, PPP_PAP);\n  }\n  REJCILQR(CI_QUALITY, neg_lqr, go->lqr_period);\n  REJCICBCP(CI_CALLBACK, neg_cbcp, CBCP_OPT);\n  REJCILONG(CI_MAGICNUMBER, neg_magicnumber, go->magicnumber);\n  REJCIVOID(CI_PCOMPRESSION, neg_pcompression);\n  REJCIVOID(CI_ACCOMPRESSION, neg_accompression);\n  \n  /*\n   * If there are any remaining CIs, then this packet is bad.\n   */\n  if (len != 0) {\n    goto bad;\n  }\n  /*\n   * Now we can update state.\n   */\n  if (f->state != LS_OPENED) {\n    *go = try;\n  }\n  return 1;\n  \nbad:\n  LCPDEBUG(LOG_WARNING, (\"lcp_rejci: received bad Reject!\\n\"));\n  return 0;\n}\n\n\n/*\n * lcp_reqci - Check the peer's requested CIs and send appropriate response.\n *\n * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified\n * appropriately.  If reject_if_disagree is non-zero, doesn't return\n * CONFNAK; returns CONFREJ if it can't return CONFACK.\n */\nstatic int\nlcp_reqci(fsm *f, \n          u_char *inp,    /* Requested CIs */\n          int *lenp,      /* Length of requested CIs */\n          int reject_if_disagree)\n{\n  lcp_options *go = &lcp_gotoptions[f->unit];\n  lcp_options *ho = &lcp_hisoptions[f->unit];\n  lcp_options *ao = &lcp_allowoptions[f->unit];\n  u_char *cip, *next;         /* Pointer to current and next CIs */\n  int cilen, citype;          /* Parsed len, type */\n  u_char cichar;              /* Parsed char value */\n  u_short cishort;            /* Parsed short value */\n  u32_t cilong;               /* Parse long value */\n  int rc = CONFACK;           /* Final packet return code */\n  int orc;                    /* Individual option return code */\n  u_char *p;                  /* Pointer to next char to parse */\n  u_char *rejp;               /* Pointer to next char in reject frame */\n  u_char *nakp;               /* Pointer to next char in Nak frame */\n  int l = *lenp;              /* Length left */\n#if TRACELCP > 0\n  char traceBuf[80];\n  size_t traceNdx = 0;\n#endif\n\n  /*\n   * Reset all his options.\n   */\n  BZERO(ho, sizeof(*ho));\n\n  /*\n   * Process all his options.\n   */\n  next = inp;\n  nakp = nak_buffer;\n  rejp = inp;\n  while (l) {\n    orc = CONFACK;      /* Assume success */\n    cip = p = next;     /* Remember begining of CI */\n    if (l < 2 ||        /* Not enough data for CI header or */\n        p[1] < 2 ||     /*  CI length too small or */\n        p[1] > l) {     /*  CI length too big? */\n      LCPDEBUG(LOG_WARNING, (\"lcp_reqci: bad CI length!\\n\"));\n      orc = CONFREJ;    /* Reject bad CI */\n      cilen = l;        /* Reject till end of packet */\n      l = 0;            /* Don't loop again */\n      citype = 0;\n      goto endswitch;\n    }\n    GETCHAR(citype, p); /* Parse CI type */\n    GETCHAR(cilen, p);  /* Parse CI length */\n    l -= cilen;         /* Adjust remaining length */\n    next += cilen;      /* Step to next CI */\n\n    switch (citype) {   /* Check CI type */\n      case CI_MRU:\n        if (!ao->neg_mru) {    /* Allow option? */\n          LCPDEBUG(LOG_INFO, (\"lcp_reqci: Reject MRU - not allowed\\n\"));\n          orc = CONFREJ;    /* Reject CI */\n          break;\n        } else if (cilen != CILEN_SHORT) {  /* Check CI length */\n          LCPDEBUG(LOG_INFO, (\"lcp_reqci: Reject MRU - bad length\\n\"));\n          orc = CONFREJ;    /* Reject CI */\n          break;\n        }\n        GETSHORT(cishort, p);  /* Parse MRU */\n\n        /*\n         * He must be able to receive at least our minimum.\n         * No need to check a maximum.  If he sends a large number,\n         * we'll just ignore it.\n         */\n        if (cishort < PPP_MINMRU) {\n          LCPDEBUG(LOG_INFO, (\"lcp_reqci: Nak - MRU too small\\n\"));\n          orc = CONFNAK;    /* Nak CI */\n          PUTCHAR(CI_MRU, nakp);\n          PUTCHAR(CILEN_SHORT, nakp);\n          PUTSHORT(PPP_MINMRU, nakp);  /* Give him a hint */\n          break;\n        }\n        ho->neg_mru = 1;    /* Remember he sent MRU */\n        ho->mru = cishort;    /* And remember value */\n#if TRACELCP > 0\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" MRU %d\", cishort);\n        traceNdx = strlen(traceBuf);\n#endif\n        break;\n\n      case CI_ASYNCMAP:\n        if (!ao->neg_asyncmap) {\n          LCPDEBUG(LOG_INFO, (\"lcp_reqci: Reject ASYNCMAP not allowed\\n\"));\n          orc = CONFREJ;\n          break;\n        } else if (cilen != CILEN_LONG) {\n          LCPDEBUG(LOG_INFO, (\"lcp_reqci: Reject ASYNCMAP bad length\\n\"));\n          orc = CONFREJ;\n          break;\n        }\n        GETLONG(cilong, p);\n        \n        /*\n         * Asyncmap must have set at least the bits\n         * which are set in lcp_allowoptions[unit].asyncmap.\n         */\n        if ((ao->asyncmap & ~cilong) != 0) {\n          LCPDEBUG(LOG_INFO, (\"lcp_reqci: Nak ASYNCMAP %lX missing %lX\\n\", \n                    cilong, ao->asyncmap));\n          orc = CONFNAK;\n          PUTCHAR(CI_ASYNCMAP, nakp);\n          PUTCHAR(CILEN_LONG, nakp);\n          PUTLONG(ao->asyncmap | cilong, nakp);\n          break;\n        }\n        ho->neg_asyncmap = 1;\n        ho->asyncmap = cilong;\n#if TRACELCP > 0\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" ASYNCMAP=%lX\", cilong);\n        traceNdx = strlen(traceBuf);\n#endif\n        break;\n\n      case CI_AUTHTYPE:\n        if (cilen < CILEN_SHORT) {\n          LCPDEBUG(LOG_INFO, (\"lcp_reqci: Reject AUTHTYPE missing arg\\n\"));\n          orc = CONFREJ;\n          break;\n        } else if (!(ao->neg_upap || ao->neg_chap)) {\n          /*\n           * Reject the option if we're not willing to authenticate.\n           */\n          LCPDEBUG(LOG_INFO, (\"lcp_reqci: Reject AUTHTYPE not allowed\\n\"));\n          orc = CONFREJ;\n          break;\n        }\n        GETSHORT(cishort, p);\n        \n        /*\n         * Authtype must be UPAP or CHAP.\n         *\n         * Note: if both ao->neg_upap and ao->neg_chap are set,\n         * and the peer sends a Configure-Request with two\n         * authenticate-protocol requests, one for CHAP and one\n         * for UPAP, then we will reject the second request.\n         * Whether we end up doing CHAP or UPAP depends then on\n         * the ordering of the CIs in the peer's Configure-Request.\n         */\n        \n        if (cishort == PPP_PAP) {\n          if (ho->neg_chap) {  /* we've already accepted CHAP */\n            LCPDEBUG(LOG_WARNING, (\"lcp_reqci: Reject AUTHTYPE PAP already accepted\\n\"));\n            orc = CONFREJ;\n            break;\n          } else if (cilen != CILEN_SHORT) {\n            LCPDEBUG(LOG_WARNING, (\"lcp_reqci: Reject AUTHTYPE PAP bad len\\n\"));\n            orc = CONFREJ;\n            break;\n          }\n          if (!ao->neg_upap) {  /* we don't want to do PAP */\n            LCPDEBUG(LOG_WARNING, (\"lcp_reqci: Nak AUTHTYPE PAP not allowed\\n\"));\n            orc = CONFNAK;  /* NAK it and suggest CHAP */\n            PUTCHAR(CI_AUTHTYPE, nakp);\n            PUTCHAR(CILEN_CHAP, nakp);\n            PUTSHORT(PPP_CHAP, nakp);\n            PUTCHAR(ao->chap_mdtype, nakp);\n            break;\n          }\n          ho->neg_upap = 1;\n#if TRACELCP > 0\n          snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" PAP (%X)\", cishort);\n          traceNdx = strlen(traceBuf);\n#endif\n          break;\n        }\n        if (cishort == PPP_CHAP) {\n          if (ho->neg_upap) {  /* we've already accepted PAP */\n            LCPDEBUG(LOG_WARNING, (\"lcp_reqci: Reject AUTHTYPE CHAP accepted PAP\\n\"));\n            orc = CONFREJ;\n            break;\n          } else if (cilen != CILEN_CHAP) {\n            LCPDEBUG(LOG_WARNING, (\"lcp_reqci: Reject AUTHTYPE CHAP bad len\\n\"));\n            orc = CONFREJ;\n            break;\n          }\n          if (!ao->neg_chap) {  /* we don't want to do CHAP */\n            LCPDEBUG(LOG_WARNING, (\"lcp_reqci: Nak AUTHTYPE CHAP not allowed\\n\"));\n            orc = CONFNAK;  /* NAK it and suggest PAP */\n            PUTCHAR(CI_AUTHTYPE, nakp);\n            PUTCHAR(CILEN_SHORT, nakp);\n            PUTSHORT(PPP_PAP, nakp);\n            break;\n          }\n          GETCHAR(cichar, p);  /* get digest type*/\n          if (cichar != CHAP_DIGEST_MD5\n#if MSCHAP_SUPPORT\n              && cichar != CHAP_MICROSOFT\n#endif\n          ) {\n            LCPDEBUG(LOG_WARNING, (\"lcp_reqci: Nak AUTHTYPE CHAP digest=%d\\n\", (int)cichar));\n            orc = CONFNAK;\n            PUTCHAR(CI_AUTHTYPE, nakp);\n            PUTCHAR(CILEN_CHAP, nakp);\n            PUTSHORT(PPP_CHAP, nakp);\n            PUTCHAR(ao->chap_mdtype, nakp);\n            break;\n          }\n#if TRACELCP > 0\n          snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" CHAP %X,%d\", cishort, (int)cichar);\n          traceNdx = strlen(traceBuf);\n#endif\n          ho->chap_mdtype = cichar; /* save md type */\n          ho->neg_chap = 1;\n          break;\n        }\n        \n        /*\n         * We don't recognize the protocol they're asking for.\n         * Nak it with something we're willing to do.\n         * (At this point we know ao->neg_upap || ao->neg_chap.)\n         */\n        orc = CONFNAK;\n        PUTCHAR(CI_AUTHTYPE, nakp);\n        if (ao->neg_chap) {\n          LCPDEBUG(LOG_WARNING, (\"lcp_reqci: Nak AUTHTYPE %d req CHAP\\n\", cishort));\n          PUTCHAR(CILEN_CHAP, nakp);\n          PUTSHORT(PPP_CHAP, nakp);\n          PUTCHAR(ao->chap_mdtype, nakp);\n        } else {\n          LCPDEBUG(LOG_WARNING, (\"lcp_reqci: Nak AUTHTYPE %d req PAP\\n\", cishort));\n          PUTCHAR(CILEN_SHORT, nakp);\n          PUTSHORT(PPP_PAP, nakp);\n        }\n        break;\n      \n      case CI_QUALITY:\n        GETSHORT(cishort, p);\n        GETLONG(cilong, p);\n#if TRACELCP > 0\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" QUALITY (%x %x)\", cishort, (unsigned int) cilong);\n        traceNdx = strlen(traceBuf);\n#endif\n\n        if (!ao->neg_lqr ||\n            cilen != CILEN_LQR) {\n          orc = CONFREJ;\n          break;\n        }\n        \n        /*\n         * Check the protocol and the reporting period.\n         * XXX When should we Nak this, and what with?\n         */\n        if (cishort != PPP_LQR) {\n          orc = CONFNAK;\n          PUTCHAR(CI_QUALITY, nakp);\n          PUTCHAR(CILEN_LQR, nakp);\n          PUTSHORT(PPP_LQR, nakp);\n          PUTLONG(ao->lqr_period, nakp);\n          break;\n        }\n        break;\n      \n      case CI_MAGICNUMBER:\n        if (!(ao->neg_magicnumber || go->neg_magicnumber) ||\n            cilen != CILEN_LONG) {\n          orc = CONFREJ;\n          break;\n        }\n        GETLONG(cilong, p);\n#if TRACELCP > 0\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" MAGICNUMBER (%lX)\", cilong);\n        traceNdx = strlen(traceBuf);\n#endif\n\n        /*\n         * He must have a different magic number.\n         */\n        if (go->neg_magicnumber &&\n            cilong == go->magicnumber) {\n          cilong = magic();  /* Don't put magic() inside macro! */\n          orc = CONFNAK;\n          PUTCHAR(CI_MAGICNUMBER, nakp);\n          PUTCHAR(CILEN_LONG, nakp);\n          PUTLONG(cilong, nakp);\n          break;\n        }\n        ho->neg_magicnumber = 1;\n        ho->magicnumber = cilong;\n        break;\n      \n      \n      case CI_PCOMPRESSION:\n#if TRACELCP > 0\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" PCOMPRESSION\");\n        traceNdx = strlen(traceBuf);\n#endif\n        if (!ao->neg_pcompression ||\n            cilen != CILEN_VOID) {\n          orc = CONFREJ;\n          break;\n        }\n        ho->neg_pcompression = 1;\n        break;\n      \n      case CI_ACCOMPRESSION:\n#if TRACELCP > 0\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" ACCOMPRESSION\");\n        traceNdx = strlen(traceBuf);\n#endif\n        if (!ao->neg_accompression ||\n            cilen != CILEN_VOID) {\n          orc = CONFREJ;\n          break;\n        }\n        ho->neg_accompression = 1;\n        break;\n      \n      case CI_MRRU:\n#if TRACELCP > 0\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" CI_MRRU\");\n        traceNdx = strlen(traceBuf);\n#endif\n        orc = CONFREJ;\n        break;\n      \n      case CI_SSNHF:\n#if TRACELCP > 0\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" CI_SSNHF\");\n        traceNdx = strlen(traceBuf);\n#endif\n        orc = CONFREJ;\n        break;\n      \n      case CI_EPDISC:\n#if TRACELCP > 0\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" CI_EPDISC\");\n        traceNdx = strlen(traceBuf);\n#endif\n        orc = CONFREJ;\n        break;\n      \n      default:\n#if TRACELCP\n        snprintf(&traceBuf[traceNdx], sizeof(traceBuf), \" unknown %d\", citype);\n        traceNdx = strlen(traceBuf);\n#endif\n        orc = CONFREJ;\n        break;\n    }\n\n  endswitch:\n#if TRACELCP\n    if (traceNdx >= 80 - 32) {\n      LCPDEBUG(LOG_INFO, (\"lcp_reqci: rcvd%s\\n\", traceBuf));\n      traceNdx = 0;\n    }\n#endif\n    if (orc == CONFACK && /* Good CI */\n        rc != CONFACK) {  /*  but prior CI wasnt? */\n      continue;           /* Don't send this one */\n    }\n\n    if (orc == CONFNAK) {     /* Nak this CI? */\n      if (reject_if_disagree  /* Getting fed up with sending NAKs? */\n          && citype != CI_MAGICNUMBER) {\n        orc = CONFREJ;        /* Get tough if so */\n      } else {\n        if (rc == CONFREJ) {  /* Rejecting prior CI? */\n          continue;           /* Don't send this one */\n        }\n        rc = CONFNAK;\n      }\n    }\n    if (orc == CONFREJ) {        /* Reject this CI */\n      rc = CONFREJ;\n      if (cip != rejp) {         /* Need to move rejected CI? */\n        BCOPY(cip, rejp, cilen); /* Move it */\n      }\n      INCPTR(cilen, rejp);       /* Update output pointer */\n    }\n  }\n\n  /*\n   * If we wanted to send additional NAKs (for unsent CIs), the\n   * code would go here.  The extra NAKs would go at *nakp.\n   * At present there are no cases where we want to ask the\n   * peer to negotiate an option.\n   */\n\n  switch (rc) {\n    case CONFACK:\n      *lenp = (int)(next - inp);\n      break;\n    case CONFNAK:\n      /*\n       * Copy the Nak'd options from the nak_buffer to the caller's buffer.\n       */\n      *lenp = (int)(nakp - nak_buffer);\n      BCOPY(nak_buffer, inp, *lenp);\n      break;\n    case CONFREJ:\n      *lenp = (int)(rejp - inp);\n      break;\n  }\n\n#if TRACELCP > 0\n  if (traceNdx > 0) {\n    LCPDEBUG(LOG_INFO, (\"lcp_reqci: %s\\n\", traceBuf));\n  }\n#endif\n  LCPDEBUG(LOG_INFO, (\"lcp_reqci: returning CONF%s.\\n\", CODENAME(rc)));\n  return (rc);      /* Return final code */\n}\n\n\n/*\n * lcp_up - LCP has come UP.\n */\nstatic void\nlcp_up(fsm *f)\n{\n  lcp_options *wo = &lcp_wantoptions[f->unit];\n  lcp_options *ho = &lcp_hisoptions[f->unit];\n  lcp_options *go = &lcp_gotoptions[f->unit];\n  lcp_options *ao = &lcp_allowoptions[f->unit];\n\n  if (!go->neg_magicnumber) {\n    go->magicnumber = 0;\n  }\n  if (!ho->neg_magicnumber) {\n    ho->magicnumber = 0;\n  }\n\n  /*\n   * Set our MTU to the smaller of the MTU we wanted and\n   * the MRU our peer wanted.  If we negotiated an MRU,\n   * set our MRU to the larger of value we wanted and\n   * the value we got in the negotiation.\n   */\n  ppp_send_config(f->unit, LWIP_MIN(ao->mru, (ho->neg_mru? ho->mru: PPP_MRU)),\n                 (ho->neg_asyncmap? ho->asyncmap: 0xffffffffl),\n                  ho->neg_pcompression, ho->neg_accompression);\n  /*\n   * If the asyncmap hasn't been negotiated, we really should\n   * set the receive asyncmap to ffffffff, but we set it to 0\n   * for backwards contemptibility.\n   */\n  ppp_recv_config(f->unit, (go->neg_mru? LWIP_MAX(wo->mru, go->mru): PPP_MRU),\n                 (go->neg_asyncmap? go->asyncmap: 0x00000000),\n                  go->neg_pcompression, go->neg_accompression);\n\n  if (ho->neg_mru) {\n    peer_mru[f->unit] = ho->mru;\n  }\n\n  lcp_echo_lowerup(f->unit); /* Enable echo messages */\n\n  link_established(f->unit); /* The link is up; authenticate now */\n}\n\n\n/*\n * lcp_down - LCP has gone DOWN.\n *\n * Alert other protocols.\n */\nstatic void\nlcp_down(fsm *f)\n{\n  lcp_options *go = &lcp_gotoptions[f->unit];\n\n  lcp_echo_lowerdown(f->unit);\n\n  link_down(f->unit);\n\n  ppp_send_config(f->unit, PPP_MRU, 0xffffffffl, 0, 0);\n  ppp_recv_config(f->unit, PPP_MRU,\n                  (go->neg_asyncmap? go->asyncmap: 0x00000000),\n                   go->neg_pcompression, go->neg_accompression);\n  peer_mru[f->unit] = PPP_MRU;\n}\n\n\n/*\n * lcp_starting - LCP needs the lower layer up.\n */\nstatic void\nlcp_starting(fsm *f)\n{\n  link_required(f->unit); /* lwip: currently does nothing */\n}\n\n\n/*\n * lcp_finished - LCP has finished with the lower layer.\n */\nstatic void\nlcp_finished(fsm *f)\n{\n  link_terminated(f->unit); /* we are finished with the link */\n}\n\n\n#if PPP_ADDITIONAL_CALLBACKS\n/*\n * print_string - print a readable representation of a string using\n * printer.\n */\nstatic void\nprint_string( char *p, int len, void (*printer) (void *, char *, ...), void *arg)\n{\n  int c;\n  \n  printer(arg, \"\\\"\");\n  for (; len > 0; --len) {\n    c = *p++;\n    if (' ' <= c && c <= '~') {\n        if (c == '\\\\' || c == '\"') {\n          printer(arg, \"\\\\\");\n        }\n        printer(arg, \"%c\", c);\n    } else {\n      switch (c) {\n        case '\\n':\n          printer(arg, \"\\\\n\");\n          break;\n        case '\\r':\n          printer(arg, \"\\\\r\");\n          break;\n        case '\\t':\n          printer(arg, \"\\\\t\");\n          break;\n        default:\n          printer(arg, \"\\\\%.3o\", c);\n        }\n    }\n  }\n  printer(arg, \"\\\"\");\n}\n\n\n/*\n * lcp_printpkt - print the contents of an LCP packet.\n */\nstatic char *lcp_codenames[] = {\n  \"ConfReq\", \"ConfAck\", \"ConfNak\", \"ConfRej\",\n  \"TermReq\", \"TermAck\", \"CodeRej\", \"ProtRej\",\n  \"EchoReq\", \"EchoRep\", \"DiscReq\"\n};\n\nstatic int\nlcp_printpkt( u_char *p, int plen, void (*printer) (void *, char *, ...), void *arg)\n{\n  int code, id, len, olen;\n  u_char *pstart, *optend;\n  u_short cishort;\n  u32_t cilong;\n\n  if (plen < HEADERLEN) {\n    return 0;\n  }\n  pstart = p;\n  GETCHAR(code, p);\n  GETCHAR(id, p);\n  GETSHORT(len, p);\n  if (len < HEADERLEN || len > plen) {\n    return 0;\n  }\n\n  if (code >= 1 && code <= sizeof(lcp_codenames) / sizeof(char *)) {\n    printer(arg, \" %s\", lcp_codenames[code-1]);\n  } else {\n    printer(arg, \" code=0x%x\", code);\n  }\n  printer(arg, \" id=0x%x\", id);\n  len -= HEADERLEN;\n  switch (code) {\n    case CONFREQ:\n    case CONFACK:\n    case CONFNAK:\n    case CONFREJ:\n      /* print option list */\n      while (len >= 2) {\n        GETCHAR(code, p);\n        GETCHAR(olen, p);\n        p -= 2;\n        if (olen < 2 || olen > len) {\n          break;\n        }\n        printer(arg, \" <\");\n        len -= olen;\n        optend = p + olen;\n        switch (code) {\n          case CI_MRU:\n            if (olen == CILEN_SHORT) {\n              p += 2;\n              GETSHORT(cishort, p);\n              printer(arg, \"mru %d\", cishort);\n            }\n            break;\n          case CI_ASYNCMAP:\n            if (olen == CILEN_LONG) {\n              p += 2;\n              GETLONG(cilong, p);\n              printer(arg, \"asyncmap 0x%lx\", cilong);\n            }\n            break;\n          case CI_AUTHTYPE:\n            if (olen >= CILEN_SHORT) {\n              p += 2;\n              printer(arg, \"auth \");\n              GETSHORT(cishort, p);\n              switch (cishort) {\n                case PPP_PAP:\n                  printer(arg, \"pap\");\n                  break;\n                case PPP_CHAP:\n                  printer(arg, \"chap\");\n                  break;\n                default:\n                  printer(arg, \"0x%x\", cishort);\n              }\n            }\n            break;\n          case CI_QUALITY:\n            if (olen >= CILEN_SHORT) {\n              p += 2;\n              printer(arg, \"quality \");\n              GETSHORT(cishort, p);\n              switch (cishort) {\n                case PPP_LQR:\n                  printer(arg, \"lqr\");\n                  break;\n                default:\n                  printer(arg, \"0x%x\", cishort);\n              }\n            }\n            break;\n          case CI_CALLBACK:\n            if (olen >= CILEN_CHAR) {\n              p += 2;\n              printer(arg, \"callback \");\n              GETSHORT(cishort, p);\n              switch (cishort) {\n                case CBCP_OPT:\n                  printer(arg, \"CBCP\");\n                  break;\n                default:\n                  printer(arg, \"0x%x\", cishort);\n              }\n            }\n            break;\n          case CI_MAGICNUMBER:\n            if (olen == CILEN_LONG) {\n              p += 2;\n              GETLONG(cilong, p);\n              printer(arg, \"magic 0x%x\", cilong);\n            }\n            break;\n          case CI_PCOMPRESSION:\n            if (olen == CILEN_VOID) {\n              p += 2;\n              printer(arg, \"pcomp\");\n            }\n            break;\n          case CI_ACCOMPRESSION:\n            if (olen == CILEN_VOID) {\n              p += 2;\n              printer(arg, \"accomp\");\n            }\n            break;\n        }\n        while (p < optend) {\n          GETCHAR(code, p);\n          printer(arg, \" %.2x\", code);\n        }\n        printer(arg, \">\");\n      }\n      break;\n    \n    case TERMACK:\n    case TERMREQ:\n      if (len > 0 && *p >= ' ' && *p < 0x7f) {\n        printer(arg, \" \");\n        print_string((char*)p, len, printer, arg);\n        p += len;\n        len = 0;\n      }\n      break;\n    \n    case ECHOREQ:\n    case ECHOREP:\n    case DISCREQ:\n      if (len >= 4) {\n        GETLONG(cilong, p);\n        printer(arg, \" magic=0x%x\", cilong);\n        p += 4;\n        len -= 4;\n      }\n      break;\n  }\n\n  /* print the rest of the bytes in the packet */\n  for (; len > 0; --len) {\n    GETCHAR(code, p);\n    printer(arg, \" %.2x\", code);\n  }\n\n  return (int)(p - pstart);\n}\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n\n/*\n * Time to shut down the link because there is nothing out there.\n */\nstatic void\nLcpLinkFailure (fsm *f)\n{\n  if (f->state == LS_OPENED) {\n    LCPDEBUG(LOG_INFO, (\"No response to %d echo-requests\\n\", lcp_echos_pending));\n    LCPDEBUG(LOG_NOTICE, (\"Serial link appears to be disconnected.\\n\"));\n    lcp_close(f->unit, \"Peer not responding\");\n  }\n}\n\n/*\n * Timer expired for the LCP echo requests from this process.\n */\nstatic void\nLcpEchoCheck (fsm *f)\n{\n  LcpSendEchoRequest (f);\n\n  /*\n   * Start the timer for the next interval.\n   */\n  LWIP_ASSERT(\"lcp_echo_timer_running == 0\", lcp_echo_timer_running == 0);\n\n  TIMEOUT (LcpEchoTimeout, f, lcp_echo_interval);\n  lcp_echo_timer_running = 1;\n}\n\n/*\n * LcpEchoTimeout - Timer expired on the LCP echo\n */\nstatic void\nLcpEchoTimeout (void *arg)\n{\n  if (lcp_echo_timer_running != 0) {\n    lcp_echo_timer_running = 0;\n    LcpEchoCheck ((fsm *) arg);\n  }\n}\n\n/*\n * LcpEchoReply - LCP has received a reply to the echo\n */\nstatic void\nlcp_received_echo_reply (fsm *f, int id, u_char *inp, int len)\n{\n  u32_t magic;\n\n  LWIP_UNUSED_ARG(id);\n\n  /* Check the magic number - don't count replies from ourselves. */\n  if (len < 4) {\n    LCPDEBUG(LOG_WARNING, (\"lcp: received short Echo-Reply, length %d\\n\", len));\n    return;\n  }\n  GETLONG(magic, inp);\n  if (lcp_gotoptions[f->unit].neg_magicnumber && magic == lcp_gotoptions[f->unit].magicnumber) {\n    LCPDEBUG(LOG_WARNING, (\"appear to have received our own echo-reply!\\n\"));\n    return;\n  }\n\n  /* Reset the number of outstanding echo frames */\n  lcp_echos_pending = 0;\n}\n\n/*\n * LcpSendEchoRequest - Send an echo request frame to the peer\n */\nstatic void\nLcpSendEchoRequest (fsm *f)\n{\n  u32_t lcp_magic;\n  u_char pkt[4], *pktp;\n\n  /*\n   * Detect the failure of the peer at this point.\n   */\n  if (lcp_echo_fails != 0) {\n    if (lcp_echos_pending >= lcp_echo_fails) {\n      LcpLinkFailure(f);\n      lcp_echos_pending = 0;\n    }\n  }\n\n  /*\n   * Make and send the echo request frame.\n   */\n  if (f->state == LS_OPENED) {\n    lcp_magic = lcp_gotoptions[f->unit].magicnumber;\n    pktp = pkt;\n    PUTLONG(lcp_magic, pktp);\n    fsm_sdata(f, ECHOREQ, (u_char)(lcp_echo_number++ & 0xFF), pkt, (int)(pktp - pkt));\n    ++lcp_echos_pending;\n  }\n}\n\n/*\n * lcp_echo_lowerup - Start the timer for the LCP frame\n */\n\nstatic void\nlcp_echo_lowerup (int unit)\n{\n  fsm *f = &lcp_fsm[unit];\n\n  /* Clear the parameters for generating echo frames */\n  lcp_echos_pending      = 0;\n  lcp_echo_number        = 0;\n  lcp_echo_timer_running = 0;\n\n  /* If a timeout interval is specified then start the timer */\n  if (lcp_echo_interval != 0) {\n    LcpEchoCheck (f);\n  }\n}\n\n/*\n * lcp_echo_lowerdown - Stop the timer for the LCP frame\n */\n\nstatic void\nlcp_echo_lowerdown (int unit)\n{\n  fsm *f = &lcp_fsm[unit];\n\n  if (lcp_echo_timer_running != 0) {\n    UNTIMEOUT (LcpEchoTimeout, f);\n    lcp_echo_timer_running = 0;\n  }\n}\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/lcp.h",
    "content": "/*****************************************************************************\n* lcp.h - Network Link Control Protocol header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-11-05 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc.\n*   Original derived from BSD codes.\n*****************************************************************************/\n/*\n * lcp.h - Link Control Protocol definitions.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * $Id: lcp.h,v 1.4 2010/01/18 20:49:43 goldsimon Exp $\n */\n\n#ifndef LCP_H\n#define LCP_H\n/*\n * Options.\n */\n#define CI_MRU           1  /* Maximum Receive Unit */\n#define CI_ASYNCMAP      2  /* Async Control Character Map */\n#define CI_AUTHTYPE      3  /* Authentication Type */\n#define CI_QUALITY       4  /* Quality Protocol */\n#define CI_MAGICNUMBER   5  /* Magic Number */\n#define CI_PCOMPRESSION  7  /* Protocol Field Compression */\n#define CI_ACCOMPRESSION 8  /* Address/Control Field Compression */\n#define CI_CALLBACK      13 /* callback */\n#define CI_MRRU          17 /* max reconstructed receive unit; multilink */\n#define CI_SSNHF         18 /* short sequence numbers for multilink */\n#define CI_EPDISC        19 /* endpoint discriminator */\n\n/*\n * LCP-specific packet types (code numbers).\n */\n#define PROTREJ          8  /* Protocol Reject */\n#define ECHOREQ          9  /* Echo Request */\n#define ECHOREP          10 /* Echo Reply */\n#define DISCREQ          11 /* Discard Request */\n#define CBCP_OPT         6  /* Use callback control protocol */\n\n/*\n * The state of options is described by an lcp_options structure.\n */\ntypedef struct lcp_options {\n    u_int passive           : 1; /* Don't die if we don't get a response */\n    u_int silent            : 1; /* Wait for the other end to start first */\n    u_int restart           : 1; /* Restart vs. exit after close */\n    u_int neg_mru           : 1; /* Negotiate the MRU? */\n    u_int neg_asyncmap      : 1; /* Negotiate the async map? */\n    u_int neg_upap          : 1; /* Ask for UPAP authentication? */\n    u_int neg_chap          : 1; /* Ask for CHAP authentication? */\n    u_int neg_magicnumber   : 1; /* Ask for magic number? */\n    u_int neg_pcompression  : 1; /* HDLC Protocol Field Compression? */\n    u_int neg_accompression : 1; /* HDLC Address/Control Field Compression? */\n    u_int neg_lqr           : 1; /* Negotiate use of Link Quality Reports */\n    u_int neg_cbcp          : 1; /* Negotiate use of CBCP */\n#ifdef PPP_MULTILINK\n    u_int neg_mrru          : 1; /* Negotiate multilink MRRU */\n    u_int neg_ssnhf         : 1; /* Negotiate short sequence numbers */\n    u_int neg_endpoint      : 1; /* Negotiate endpoint discriminator */\n#endif\n    u_short mru;                 /* Value of MRU */\n#ifdef PPP_MULTILINK\n    u_short mrru;                /* Value of MRRU, and multilink enable */\n#endif\n    u_char chap_mdtype;          /* which MD type (hashing algorithm) */\n    u32_t asyncmap;              /* Value of async map */\n    u32_t magicnumber;\n    int numloops;                /* Number of loops during magic number neg. */\n    u32_t lqr_period;            /* Reporting period for LQR 1/100ths second */\n#ifdef PPP_MULTILINK\n    struct epdisc endpoint;      /* endpoint discriminator */\n#endif\n} lcp_options;\n\n/*\n * Values for phase from BSD pppd.h based on RFC 1661.\n */\ntypedef enum {\n  PHASE_DEAD = 0,\n  PHASE_INITIALIZE,\n  PHASE_ESTABLISH,\n  PHASE_AUTHENTICATE,\n  PHASE_CALLBACK,\n  PHASE_NETWORK,\n  PHASE_TERMINATE\n} LinkPhase;\n\n\n\nextern LinkPhase lcp_phase[NUM_PPP]; /* Phase of link session (RFC 1661) */\nextern lcp_options lcp_wantoptions[];\nextern lcp_options lcp_gotoptions[];\nextern lcp_options lcp_allowoptions[];\nextern lcp_options lcp_hisoptions[];\nextern ext_accm xmit_accm[];\n\n\nvoid lcp_init     (int);\nvoid lcp_open     (int);\nvoid lcp_close    (int, char *);\nvoid lcp_lowerup  (int);\nvoid lcp_lowerdown(int);\nvoid lcp_sprotrej (int, u_char *, int); /* send protocol reject */\n\nextern struct protent lcp_protent;\n\n/* Default number of times we receive our magic number from the peer\n   before deciding the link is looped-back. */\n#define DEFLOOPBACKFAIL 10\n\n#endif /* LCP_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/magic.c",
    "content": "/*****************************************************************************\n* magic.c - Network Random Number Generator program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 by Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-04 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original based on BSD magic.c.\n*****************************************************************************/\n/*\n * magic.c - PPP Magic Number routines.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT\n\n#include \"ppp_impl.h\"\n#include \"randm.h\"\n#include \"magic.h\"\n\n\n/*\n * magicInit - Initialize the magic number generator.\n *\n * Since we use another random number generator that has its own\n * initialization, we do nothing here.\n */\nvoid magicInit()\n{\n  return;\n}\n\n/*\n * magic - Returns the next magic number.\n */\nu32_t magic()\n{\n  return avRandom();\n}\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/magic.h",
    "content": "/*****************************************************************************\n* magic.h - Network Random Number Generator header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-04 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc.\n*   Original derived from BSD codes.\n*****************************************************************************/\n/*\n * magic.h - PPP Magic Number definitions.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * $Id: magic.h,v 1.3 2010/01/18 20:49:43 goldsimon Exp $\n */\n\n#ifndef MAGIC_H\n#define MAGIC_H\n\n/* Initialize the magic number generator */\nvoid  magicInit(void);\n\n/* Returns the next magic number */\nu32_t magic(void);\n\n#endif /* MAGIC_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/md5.c",
    "content": "/*\n ***********************************************************************\n ** md5.c -- the source code for MD5 routines                         **\n ** RSA Data Security, Inc. MD5 Message-Digest Algorithm              **\n ** Created: 2/17/90 RLR                                              **\n ** Revised: 1/91 SRD,AJ,BSK,JT Reference C ver., 7/10 constant corr. **\n ***********************************************************************\n */\n\n/*\n ***********************************************************************\n ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved.  **\n **                                                                   **\n ** License to copy and use this software is granted provided that    **\n ** it is identified as the \"RSA Data Security, Inc. MD5 Message-     **\n ** Digest Algorithm\" in all material mentioning or referencing this  **\n ** software or this function.                                        **\n **                                                                   **\n ** License is also granted to make and use derivative works          **\n ** provided that such works are identified as \"derived from the RSA  **\n ** Data Security, Inc. MD5 Message-Digest Algorithm\" in all          **\n ** material mentioning or referencing the derived work.              **\n **                                                                   **\n ** RSA Data Security, Inc. makes no representations concerning       **\n ** either the merchantability of this software or the suitability    **\n ** of this software for any particular purpose.  It is provided \"as  **\n ** is\" without express or implied warranty of any kind.              **\n **                                                                   **\n ** These notices must be retained in any copies of any part of this  **\n ** documentation and/or software.                                    **\n ***********************************************************************\n */\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#if CHAP_SUPPORT || MD5_SUPPORT\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"md5.h\"\n\n#include <string.h>\n\n/*\n ***********************************************************************\n **  Message-digest routines:                                         **\n **  To form the message digest for a message M                       **\n **    (1) Initialize a context buffer mdContext using MD5Init        **\n **    (2) Call MD5Update on mdContext and M                          **\n **    (3) Call MD5Final on mdContext                                 **\n **  The message digest is now in mdContext->digest[0...15]           **\n ***********************************************************************\n */\n\n/* forward declaration */\nstatic void Transform (u32_t *buf, u32_t *in);\n\nstatic unsigned char PADDING[64] = {\n  0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n};\n\n/* F, G, H and I are basic MD5 functions */\n#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))\n#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))\n#define H(x, y, z) ((x) ^ (y) ^ (z))\n#define I(x, y, z) ((y) ^ ((x) | (~z)))\n\n/* ROTATE_LEFT rotates x left n bits */\n#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))\n\n/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4 */\n/* Rotation is separate from addition to prevent recomputation */\n#define FF(a, b, c, d, x, s, ac) \\\n  {(a) += F ((b), (c), (d)) + (x) + (u32_t)(ac); \\\n   (a) = ROTATE_LEFT ((a), (s)); \\\n   (a) += (b); \\\n  }\n#define GG(a, b, c, d, x, s, ac) \\\n  {(a) += G ((b), (c), (d)) + (x) + (u32_t)(ac); \\\n   (a) = ROTATE_LEFT ((a), (s)); \\\n   (a) += (b); \\\n  }\n#define HH(a, b, c, d, x, s, ac) \\\n  {(a) += H ((b), (c), (d)) + (x) + (u32_t)(ac); \\\n   (a) = ROTATE_LEFT ((a), (s)); \\\n   (a) += (b); \\\n  }\n#define II(a, b, c, d, x, s, ac) \\\n  {(a) += I ((b), (c), (d)) + (x) + (u32_t)(ac); \\\n   (a) = ROTATE_LEFT ((a), (s)); \\\n   (a) += (b); \\\n  }\n\n#ifdef __STDC__\n#define UL(x) x##UL\n#else\n#ifdef WIN32\n#define UL(x) x##UL\n#else\n#define UL(x) x\n#endif\n#endif\n\n/* The routine MD5Init initializes the message-digest context\n   mdContext. All fields are set to zero.\n */\nvoid\nMD5Init (MD5_CTX *mdContext)\n{\n  mdContext->i[0] = mdContext->i[1] = (u32_t)0;\n\n  /* Load magic initialization constants. */\n  mdContext->buf[0] = (u32_t)0x67452301UL;\n  mdContext->buf[1] = (u32_t)0xefcdab89UL;\n  mdContext->buf[2] = (u32_t)0x98badcfeUL;\n  mdContext->buf[3] = (u32_t)0x10325476UL;\n}\n\n/* The routine MD5Update updates the message-digest context to\n   account for the presence of each of the characters inBuf[0..inLen-1]\n   in the message whose digest is being computed.\n */\nvoid\nMD5Update(MD5_CTX *mdContext, unsigned char *inBuf, unsigned int inLen)\n{\n  u32_t in[16];\n  int mdi;\n  unsigned int i, ii;\n\n#if 0\n  PPPDEBUG(LOG_INFO, (\"MD5Update: %u:%.*H\\n\", inLen, LWIP_MIN(inLen, 20) * 2, inBuf));\n  PPPDEBUG(LOG_INFO, (\"MD5Update: %u:%s\\n\", inLen, inBuf));\n#endif\n  \n  /* compute number of bytes mod 64 */\n  mdi = (int)((mdContext->i[0] >> 3) & 0x3F);\n\n  /* update number of bits */\n  if ((mdContext->i[0] + ((u32_t)inLen << 3)) < mdContext->i[0]) {\n    mdContext->i[1]++;\n  }\n  mdContext->i[0] += ((u32_t)inLen << 3);\n  mdContext->i[1] += ((u32_t)inLen >> 29);\n\n  while (inLen--) {\n    /* add new character to buffer, increment mdi */\n    mdContext->in[mdi++] = *inBuf++;\n\n    /* transform if necessary */\n    if (mdi == 0x40) {\n      for (i = 0, ii = 0; i < 16; i++, ii += 4) {\n        in[i] = (((u32_t)mdContext->in[ii+3]) << 24) |\n                (((u32_t)mdContext->in[ii+2]) << 16) |\n                (((u32_t)mdContext->in[ii+1]) << 8)  |\n                ((u32_t)mdContext->in[ii]);\n      }\n      Transform (mdContext->buf, in);\n      mdi = 0;\n    }\n  }\n}\n\n/* The routine MD5Final terminates the message-digest computation and\n   ends with the desired message digest in mdContext->digest[0...15].\n */\nvoid\nMD5Final (unsigned char hash[], MD5_CTX *mdContext)\n{\n  u32_t in[16];\n  int mdi;\n  unsigned int i, ii;\n  unsigned int padLen;\n\n  /* save number of bits */\n  in[14] = mdContext->i[0];\n  in[15] = mdContext->i[1];\n\n  /* compute number of bytes mod 64 */\n  mdi = (int)((mdContext->i[0] >> 3) & 0x3F);\n\n  /* pad out to 56 mod 64 */\n  padLen = (mdi < 56) ? (56 - mdi) : (120 - mdi);\n  MD5Update (mdContext, PADDING, padLen);\n\n  /* append length in bits and transform */\n  for (i = 0, ii = 0; i < 14; i++, ii += 4) {\n    in[i] = (((u32_t)mdContext->in[ii+3]) << 24) |\n            (((u32_t)mdContext->in[ii+2]) << 16) |\n            (((u32_t)mdContext->in[ii+1]) << 8)  |\n            ((u32_t)mdContext->in[ii]);\n  }\n  Transform (mdContext->buf, in);\n\n  /* store buffer in digest */\n  for (i = 0, ii = 0; i < 4; i++, ii += 4) {\n    mdContext->digest[ii]   = (unsigned char)(mdContext->buf[i] & 0xFF);\n    mdContext->digest[ii+1] =\n      (unsigned char)((mdContext->buf[i] >> 8)  & 0xFF);\n    mdContext->digest[ii+2] =\n      (unsigned char)((mdContext->buf[i] >> 16) & 0xFF);\n    mdContext->digest[ii+3] =\n      (unsigned char)((mdContext->buf[i] >> 24) & 0xFF);\n  }\n  SMEMCPY(hash, mdContext->digest, 16);\n}\n\n/* Basic MD5 step. Transforms buf based on in.\n */\nstatic void\nTransform (u32_t *buf, u32_t *in)\n{\n  u32_t a = buf[0], b = buf[1], c = buf[2], d = buf[3];\n\n  /* Round 1 */\n#define S11 7\n#define S12 12\n#define S13 17\n#define S14 22\n  FF ( a, b, c, d, in[ 0], S11, UL(3614090360)); /* 1 */\n  FF ( d, a, b, c, in[ 1], S12, UL(3905402710)); /* 2 */\n  FF ( c, d, a, b, in[ 2], S13, UL( 606105819)); /* 3 */\n  FF ( b, c, d, a, in[ 3], S14, UL(3250441966)); /* 4 */\n  FF ( a, b, c, d, in[ 4], S11, UL(4118548399)); /* 5 */\n  FF ( d, a, b, c, in[ 5], S12, UL(1200080426)); /* 6 */\n  FF ( c, d, a, b, in[ 6], S13, UL(2821735955)); /* 7 */\n  FF ( b, c, d, a, in[ 7], S14, UL(4249261313)); /* 8 */\n  FF ( a, b, c, d, in[ 8], S11, UL(1770035416)); /* 9 */\n  FF ( d, a, b, c, in[ 9], S12, UL(2336552879)); /* 10 */\n  FF ( c, d, a, b, in[10], S13, UL(4294925233)); /* 11 */\n  FF ( b, c, d, a, in[11], S14, UL(2304563134)); /* 12 */\n  FF ( a, b, c, d, in[12], S11, UL(1804603682)); /* 13 */\n  FF ( d, a, b, c, in[13], S12, UL(4254626195)); /* 14 */\n  FF ( c, d, a, b, in[14], S13, UL(2792965006)); /* 15 */\n  FF ( b, c, d, a, in[15], S14, UL(1236535329)); /* 16 */\n\n  /* Round 2 */\n#define S21 5\n#define S22 9\n#define S23 14\n#define S24 20\n  GG ( a, b, c, d, in[ 1], S21, UL(4129170786)); /* 17 */\n  GG ( d, a, b, c, in[ 6], S22, UL(3225465664)); /* 18 */\n  GG ( c, d, a, b, in[11], S23, UL( 643717713)); /* 19 */\n  GG ( b, c, d, a, in[ 0], S24, UL(3921069994)); /* 20 */\n  GG ( a, b, c, d, in[ 5], S21, UL(3593408605)); /* 21 */\n  GG ( d, a, b, c, in[10], S22, UL(  38016083)); /* 22 */\n  GG ( c, d, a, b, in[15], S23, UL(3634488961)); /* 23 */\n  GG ( b, c, d, a, in[ 4], S24, UL(3889429448)); /* 24 */\n  GG ( a, b, c, d, in[ 9], S21, UL( 568446438)); /* 25 */\n  GG ( d, a, b, c, in[14], S22, UL(3275163606)); /* 26 */\n  GG ( c, d, a, b, in[ 3], S23, UL(4107603335)); /* 27 */\n  GG ( b, c, d, a, in[ 8], S24, UL(1163531501)); /* 28 */\n  GG ( a, b, c, d, in[13], S21, UL(2850285829)); /* 29 */\n  GG ( d, a, b, c, in[ 2], S22, UL(4243563512)); /* 30 */\n  GG ( c, d, a, b, in[ 7], S23, UL(1735328473)); /* 31 */\n  GG ( b, c, d, a, in[12], S24, UL(2368359562)); /* 32 */\n\n  /* Round 3 */\n#define S31 4\n#define S32 11\n#define S33 16\n#define S34 23\n  HH ( a, b, c, d, in[ 5], S31, UL(4294588738)); /* 33 */\n  HH ( d, a, b, c, in[ 8], S32, UL(2272392833)); /* 34 */\n  HH ( c, d, a, b, in[11], S33, UL(1839030562)); /* 35 */\n  HH ( b, c, d, a, in[14], S34, UL(4259657740)); /* 36 */\n  HH ( a, b, c, d, in[ 1], S31, UL(2763975236)); /* 37 */\n  HH ( d, a, b, c, in[ 4], S32, UL(1272893353)); /* 38 */\n  HH ( c, d, a, b, in[ 7], S33, UL(4139469664)); /* 39 */\n  HH ( b, c, d, a, in[10], S34, UL(3200236656)); /* 40 */\n  HH ( a, b, c, d, in[13], S31, UL( 681279174)); /* 41 */\n  HH ( d, a, b, c, in[ 0], S32, UL(3936430074)); /* 42 */\n  HH ( c, d, a, b, in[ 3], S33, UL(3572445317)); /* 43 */\n  HH ( b, c, d, a, in[ 6], S34, UL(  76029189)); /* 44 */\n  HH ( a, b, c, d, in[ 9], S31, UL(3654602809)); /* 45 */\n  HH ( d, a, b, c, in[12], S32, UL(3873151461)); /* 46 */\n  HH ( c, d, a, b, in[15], S33, UL( 530742520)); /* 47 */\n  HH ( b, c, d, a, in[ 2], S34, UL(3299628645)); /* 48 */\n\n  /* Round 4 */\n#define S41 6\n#define S42 10\n#define S43 15\n#define S44 21\n  II ( a, b, c, d, in[ 0], S41, UL(4096336452)); /* 49 */\n  II ( d, a, b, c, in[ 7], S42, UL(1126891415)); /* 50 */\n  II ( c, d, a, b, in[14], S43, UL(2878612391)); /* 51 */\n  II ( b, c, d, a, in[ 5], S44, UL(4237533241)); /* 52 */\n  II ( a, b, c, d, in[12], S41, UL(1700485571)); /* 53 */\n  II ( d, a, b, c, in[ 3], S42, UL(2399980690)); /* 54 */\n  II ( c, d, a, b, in[10], S43, UL(4293915773)); /* 55 */\n  II ( b, c, d, a, in[ 1], S44, UL(2240044497)); /* 56 */\n  II ( a, b, c, d, in[ 8], S41, UL(1873313359)); /* 57 */\n  II ( d, a, b, c, in[15], S42, UL(4264355552)); /* 58 */\n  II ( c, d, a, b, in[ 6], S43, UL(2734768916)); /* 59 */\n  II ( b, c, d, a, in[13], S44, UL(1309151649)); /* 60 */\n  II ( a, b, c, d, in[ 4], S41, UL(4149444226)); /* 61 */\n  II ( d, a, b, c, in[11], S42, UL(3174756917)); /* 62 */\n  II ( c, d, a, b, in[ 2], S43, UL( 718787259)); /* 63 */\n  II ( b, c, d, a, in[ 9], S44, UL(3951481745)); /* 64 */\n\n  buf[0] += a;\n  buf[1] += b;\n  buf[2] += c;\n  buf[3] += d;\n}\n\n#endif /* CHAP_SUPPORT || MD5_SUPPORT */\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/md5.h",
    "content": "/*\n ***********************************************************************\n ** md5.h -- header file for implementation of MD5                    **\n ** RSA Data Security, Inc. MD5 Message-Digest Algorithm              **\n ** Created: 2/17/90 RLR                                              **\n ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version               **\n ** Revised (for MD5): RLR 4/27/91                                    **\n **   -- G modified to have y&~z instead of y&z                       **\n **   -- FF, GG, HH modified to add in last register done             **\n **   -- Access pattern: round 2 works mod 5, round 3 works mod 3     **\n **   -- distinct additive constant for each step                     **\n **   -- round 4 added, working mod 7                                 **\n ***********************************************************************\n */\n\n/*\n ***********************************************************************\n ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved.  **\n **                                                                   **\n ** License to copy and use this software is granted provided that    **\n ** it is identified as the \"RSA Data Security, Inc. MD5 Message-     **\n ** Digest Algorithm\" in all material mentioning or referencing this  **\n ** software or this function.                                        **\n **                                                                   **\n ** License is also granted to make and use derivative works          **\n ** provided that such works are identified as \"derived from the RSA  **\n ** Data Security, Inc. MD5 Message-Digest Algorithm\" in all          **\n ** material mentioning or referencing the derived work.              **\n **                                                                   **\n ** RSA Data Security, Inc. makes no representations concerning       **\n ** either the merchantability of this software or the suitability    **\n ** of this software for any particular purpose.  It is provided \"as  **\n ** is\" without express or implied warranty of any kind.              **\n **                                                                   **\n ** These notices must be retained in any copies of any part of this  **\n ** documentation and/or software.                                    **\n ***********************************************************************\n */\n\n#ifndef MD5_H\n#define MD5_H\n\n/* Data structure for MD5 (Message-Digest) computation */\ntypedef struct {\n  u32_t i[2];               /* number of _bits_ handled mod 2^64 */\n  u32_t buf[4];             /* scratch buffer */\n  unsigned char in[64];     /* input buffer */\n  unsigned char digest[16]; /* actual digest after MD5Final call */\n} MD5_CTX;\n\nvoid MD5Init  ( MD5_CTX *mdContext);\nvoid MD5Update( MD5_CTX *mdContext, unsigned char *inBuf, unsigned int inLen);\nvoid MD5Final ( unsigned char hash[], MD5_CTX *mdContext);\n\n#endif /* MD5_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/pap.c",
    "content": "/*****************************************************************************\n* pap.c - Network Password Authentication Protocol program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 by Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-12 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original.\n*****************************************************************************/\n/*\n * upap.c - User/Password Authentication Protocol.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#if PAP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"auth.h\"\n#include \"pap.h\"\n\n#include <string.h>\n\n#if 0 /* UNUSED */\nstatic bool hide_password = 1;\n\n/*\n * Command-line options.\n */\nstatic option_t pap_option_list[] = {\n    { \"hide-password\", o_bool, &hide_password,\n      \"Don't output passwords to log\", 1 },\n    { \"show-password\", o_bool, &hide_password,\n      \"Show password string in debug log messages\", 0 },\n    { \"pap-restart\", o_int, &upap[0].us_timeouttime,\n      \"Set retransmit timeout for PAP\" },\n    { \"pap-max-authreq\", o_int, &upap[0].us_maxtransmits,\n      \"Set max number of transmissions for auth-reqs\" },\n    { \"pap-timeout\", o_int, &upap[0].us_reqtimeout,\n      \"Set time limit for peer PAP authentication\" },\n    { NULL }\n};\n#endif\n\n/*\n * Protocol entry points.\n */\nstatic void upap_init      (int);\nstatic void upap_lowerup   (int);\nstatic void upap_lowerdown (int);\nstatic void upap_input     (int, u_char *, int);\nstatic void upap_protrej   (int);\n#if PPP_ADDITIONAL_CALLBACKS\nstatic int  upap_printpkt (u_char *, int, void (*)(void *, char *, ...), void *);\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n\nstruct protent pap_protent = {\n  PPP_PAP,\n  upap_init,\n  upap_input,\n  upap_protrej,\n  upap_lowerup,\n  upap_lowerdown,\n  NULL,\n  NULL,\n#if PPP_ADDITIONAL_CALLBACKS\n  upap_printpkt,\n  NULL,\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n  1,\n  \"PAP\",\n#if PPP_ADDITIONAL_CALLBACKS\n  NULL,\n  NULL,\n  NULL\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n};\n\nupap_state upap[NUM_PPP]; /* UPAP state; one for each unit */\n\nstatic void upap_timeout   (void *);\nstatic void upap_reqtimeout(void *);\nstatic void upap_rauthreq  (upap_state *, u_char *, u_char, int);\nstatic void upap_rauthack  (upap_state *, u_char *, int, int);\nstatic void upap_rauthnak  (upap_state *, u_char *, int, int);\nstatic void upap_sauthreq  (upap_state *);\nstatic void upap_sresp     (upap_state *, u_char, u_char, char *, int);\n\n\n/*\n * upap_init - Initialize a UPAP unit.\n */\nstatic void\nupap_init(int unit)\n{\n  upap_state *u = &upap[unit];\n\n  UPAPDEBUG(LOG_INFO, (\"upap_init: %d\\n\", unit));\n  u->us_unit         = unit;\n  u->us_user         = NULL;\n  u->us_userlen      = 0;\n  u->us_passwd       = NULL;\n  u->us_passwdlen    = 0;\n  u->us_clientstate  = UPAPCS_INITIAL;\n  u->us_serverstate  = UPAPSS_INITIAL;\n  u->us_id           = 0;\n  u->us_timeouttime  = UPAP_DEFTIMEOUT;\n  u->us_maxtransmits = 10;\n  u->us_reqtimeout   = UPAP_DEFREQTIME;\n}\n\n/*\n * upap_authwithpeer - Authenticate us with our peer (start client).\n *\n * Set new state and send authenticate's.\n */\nvoid\nupap_authwithpeer(int unit, char *user, char *password)\n{\n  upap_state *u = &upap[unit];\n\n  UPAPDEBUG(LOG_INFO, (\"upap_authwithpeer: %d user=%s password=%s s=%d\\n\",\n             unit, user, password, u->us_clientstate));\n\n  /* Save the username and password we're given */\n  u->us_user = user;\n  u->us_userlen = (int)strlen(user);\n  u->us_passwd = password;\n  u->us_passwdlen = (int)strlen(password);\n\n  u->us_transmits = 0;\n\n  /* Lower layer up yet? */\n  if (u->us_clientstate == UPAPCS_INITIAL ||\n      u->us_clientstate == UPAPCS_PENDING) {\n    u->us_clientstate = UPAPCS_PENDING;\n    return;\n  }\n\n  upap_sauthreq(u);      /* Start protocol */\n}\n\n\n/*\n * upap_authpeer - Authenticate our peer (start server).\n *\n * Set new state.\n */\nvoid\nupap_authpeer(int unit)\n{\n  upap_state *u = &upap[unit];\n\n  /* Lower layer up yet? */\n  if (u->us_serverstate == UPAPSS_INITIAL ||\n      u->us_serverstate == UPAPSS_PENDING) {\n    u->us_serverstate = UPAPSS_PENDING;\n    return;\n  }\n\n  u->us_serverstate = UPAPSS_LISTEN;\n  if (u->us_reqtimeout > 0) {\n    TIMEOUT(upap_reqtimeout, u, u->us_reqtimeout);\n  }\n}\n\n/*\n * upap_timeout - Retransmission timer for sending auth-reqs expired.\n */\nstatic void\nupap_timeout(void *arg)\n{\n  upap_state *u = (upap_state *) arg;\n\n  UPAPDEBUG(LOG_INFO, (\"upap_timeout: %d timeout %d expired s=%d\\n\", \n        u->us_unit, u->us_timeouttime, u->us_clientstate));\n\n  if (u->us_clientstate != UPAPCS_AUTHREQ) {\n    UPAPDEBUG(LOG_INFO, (\"upap_timeout: not in AUTHREQ state!\\n\"));\n    return;\n  }\n\n  if (u->us_transmits >= u->us_maxtransmits) {\n    /* give up in disgust */\n    UPAPDEBUG(LOG_ERR, (\"No response to PAP authenticate-requests\\n\"));\n    u->us_clientstate = UPAPCS_BADAUTH;\n    auth_withpeer_fail(u->us_unit, PPP_PAP);\n    return;\n  }\n\n  upap_sauthreq(u);    /* Send Authenticate-Request and set upap timeout*/\n}\n\n\n/*\n * upap_reqtimeout - Give up waiting for the peer to send an auth-req.\n */\nstatic void\nupap_reqtimeout(void *arg)\n{\n  upap_state *u = (upap_state *) arg;\n\n  if (u->us_serverstate != UPAPSS_LISTEN) {\n    return; /* huh?? */\n  }\n\n  auth_peer_fail(u->us_unit, PPP_PAP);\n  u->us_serverstate = UPAPSS_BADAUTH;\n}\n\n\n/*\n * upap_lowerup - The lower layer is up.\n *\n * Start authenticating if pending.\n */\nstatic void\nupap_lowerup(int unit)\n{\n  upap_state *u = &upap[unit];\n\n  UPAPDEBUG(LOG_INFO, (\"upap_lowerup: init %d clientstate s=%d\\n\", unit, u->us_clientstate));\n\n  if (u->us_clientstate == UPAPCS_INITIAL) {\n    u->us_clientstate = UPAPCS_CLOSED;\n  } else if (u->us_clientstate == UPAPCS_PENDING) {\n    upap_sauthreq(u);  /* send an auth-request */\n    /* now client state is UPAPCS__AUTHREQ */\n  }\n\n  if (u->us_serverstate == UPAPSS_INITIAL) {\n    u->us_serverstate = UPAPSS_CLOSED;\n  } else if (u->us_serverstate == UPAPSS_PENDING) {\n    u->us_serverstate = UPAPSS_LISTEN;\n    if (u->us_reqtimeout > 0) {\n      TIMEOUT(upap_reqtimeout, u, u->us_reqtimeout);\n    }\n  }\n}\n\n\n/*\n * upap_lowerdown - The lower layer is down.\n *\n * Cancel all timeouts.\n */\nstatic void\nupap_lowerdown(int unit)\n{\n  upap_state *u = &upap[unit];\n\n  UPAPDEBUG(LOG_INFO, (\"upap_lowerdown: %d s=%d\\n\", unit, u->us_clientstate));\n\n  if (u->us_clientstate == UPAPCS_AUTHREQ) { /* Timeout pending? */\n    UNTIMEOUT(upap_timeout, u);    /* Cancel timeout */\n  }\n  if (u->us_serverstate == UPAPSS_LISTEN && u->us_reqtimeout > 0) {\n    UNTIMEOUT(upap_reqtimeout, u);\n  }\n\n  u->us_clientstate = UPAPCS_INITIAL;\n  u->us_serverstate = UPAPSS_INITIAL;\n}\n\n\n/*\n * upap_protrej - Peer doesn't speak this protocol.\n *\n * This shouldn't happen.  In any case, pretend lower layer went down.\n */\nstatic void\nupap_protrej(int unit)\n{\n  upap_state *u = &upap[unit];\n\n  if (u->us_clientstate == UPAPCS_AUTHREQ) {\n    UPAPDEBUG(LOG_ERR, (\"PAP authentication failed due to protocol-reject\\n\"));\n    auth_withpeer_fail(unit, PPP_PAP);\n  }\n  if (u->us_serverstate == UPAPSS_LISTEN) {\n    UPAPDEBUG(LOG_ERR, (\"PAP authentication of peer failed (protocol-reject)\\n\"));\n    auth_peer_fail(unit, PPP_PAP);\n  }\n  upap_lowerdown(unit);\n}\n\n\n/*\n * upap_input - Input UPAP packet.\n */\nstatic void\nupap_input(int unit, u_char *inpacket, int l)\n{\n  upap_state *u = &upap[unit];\n  u_char *inp;\n  u_char code, id;\n  int len;\n\n  /*\n   * Parse header (code, id and length).\n   * If packet too short, drop it.\n   */\n  inp = inpacket;\n  if (l < (int)UPAP_HEADERLEN) {\n    UPAPDEBUG(LOG_INFO, (\"pap_input: rcvd short header.\\n\"));\n    return;\n  }\n  GETCHAR(code, inp);\n  GETCHAR(id, inp);\n  GETSHORT(len, inp);\n  if (len < (int)UPAP_HEADERLEN) {\n    UPAPDEBUG(LOG_INFO, (\"pap_input: rcvd illegal length.\\n\"));\n    return;\n  }\n  if (len > l) {\n    UPAPDEBUG(LOG_INFO, (\"pap_input: rcvd short packet.\\n\"));\n    return;\n  }\n  len -= UPAP_HEADERLEN;\n\n  /*\n   * Action depends on code.\n   */\n  switch (code) {\n    case UPAP_AUTHREQ:\n      upap_rauthreq(u, inp, id, len);\n      break;\n\n    case UPAP_AUTHACK:\n      upap_rauthack(u, inp, id, len);\n      break;\n\n    case UPAP_AUTHNAK:\n      upap_rauthnak(u, inp, id, len);\n      break;\n\n    default:        /* XXX Need code reject */\n      UPAPDEBUG(LOG_INFO, (\"pap_input: UNHANDLED default: code: %d, id: %d, len: %d.\\n\", code, id, len));\n      break;\n  }\n}\n\n\n/*\n * upap_rauth - Receive Authenticate.\n */\nstatic void\nupap_rauthreq(upap_state *u, u_char *inp, u_char id, int len)\n{\n  u_char ruserlen, rpasswdlen;\n  char *ruser, *rpasswd;\n  u_char retcode;\n  char *msg;\n  int msglen;\n\n  UPAPDEBUG(LOG_INFO, (\"pap_rauth: Rcvd id %d.\\n\", id));\n\n  if (u->us_serverstate < UPAPSS_LISTEN) {\n    return;\n  }\n\n  /*\n   * If we receive a duplicate authenticate-request, we are\n   * supposed to return the same status as for the first request.\n   */\n  if (u->us_serverstate == UPAPSS_OPEN) {\n    upap_sresp(u, UPAP_AUTHACK, id, \"\", 0);  /* return auth-ack */\n    return;\n  }\n  if (u->us_serverstate == UPAPSS_BADAUTH) {\n    upap_sresp(u, UPAP_AUTHNAK, id, \"\", 0);  /* return auth-nak */\n    return;\n  }\n\n  /*\n   * Parse user/passwd.\n   */\n  if (len < (int)sizeof (u_char)) {\n    UPAPDEBUG(LOG_INFO, (\"pap_rauth: rcvd short packet.\\n\"));\n    return;\n  }\n  GETCHAR(ruserlen, inp);\n  len -= sizeof (u_char) + ruserlen + sizeof (u_char);\n  if (len < 0) {\n    UPAPDEBUG(LOG_INFO, (\"pap_rauth: rcvd short packet.\\n\"));\n    return;\n  }\n  ruser = (char *) inp;\n  INCPTR(ruserlen, inp);\n  GETCHAR(rpasswdlen, inp);\n  if (len < rpasswdlen) {\n    UPAPDEBUG(LOG_INFO, (\"pap_rauth: rcvd short packet.\\n\"));\n    return;\n  }\n  rpasswd = (char *) inp;\n\n  /*\n   * Check the username and password given.\n   */\n  retcode = check_passwd(u->us_unit, ruser, ruserlen, rpasswd, rpasswdlen, &msg, &msglen);\n  /* lwip: currently retcode is always UPAP_AUTHACK */\n  BZERO(rpasswd, rpasswdlen);\n\n  upap_sresp(u, retcode, id, msg, msglen);\n\n  if (retcode == UPAP_AUTHACK) {\n    u->us_serverstate = UPAPSS_OPEN;\n    auth_peer_success(u->us_unit, PPP_PAP, ruser, ruserlen);\n  } else {\n    u->us_serverstate = UPAPSS_BADAUTH;\n    auth_peer_fail(u->us_unit, PPP_PAP);\n  }\n\n  if (u->us_reqtimeout > 0) {\n    UNTIMEOUT(upap_reqtimeout, u);\n  }\n}\n\n\n/*\n * upap_rauthack - Receive Authenticate-Ack.\n */\nstatic void\nupap_rauthack(upap_state *u, u_char *inp, int id, int len)\n{\n  u_char msglen;\n  char *msg;\n\n  LWIP_UNUSED_ARG(id);\n\n  UPAPDEBUG(LOG_INFO, (\"pap_rauthack: Rcvd id %d s=%d\\n\", id, u->us_clientstate));\n\n  if (u->us_clientstate != UPAPCS_AUTHREQ) { /* XXX */\n    UPAPDEBUG(LOG_INFO, (\"pap_rauthack: us_clientstate != UPAPCS_AUTHREQ\\n\"));\n    return;\n  }\n\n  /*\n   * Parse message.\n   */\n  if (len < (int)sizeof (u_char)) {\n    UPAPDEBUG(LOG_INFO, (\"pap_rauthack: ignoring missing msg-length.\\n\"));\n  } else {\n    GETCHAR(msglen, inp);\n    if (msglen > 0) {\n      len -= sizeof (u_char);\n      if (len < msglen) {\n        UPAPDEBUG(LOG_INFO, (\"pap_rauthack: rcvd short packet.\\n\"));\n        return;\n      }\n      msg = (char *) inp;\n      PRINTMSG(msg, msglen);\n    }\n  }\n  UNTIMEOUT(upap_timeout, u);    /* Cancel timeout */\n  u->us_clientstate = UPAPCS_OPEN;\n\n  auth_withpeer_success(u->us_unit, PPP_PAP);\n}\n\n\n/*\n * upap_rauthnak - Receive Authenticate-Nak.\n */\nstatic void\nupap_rauthnak(upap_state *u, u_char *inp, int id, int len)\n{\n  u_char msglen;\n  char *msg;\n\n  LWIP_UNUSED_ARG(id);\n\n  UPAPDEBUG(LOG_INFO, (\"pap_rauthnak: Rcvd id %d s=%d\\n\", id, u->us_clientstate));\n\n  if (u->us_clientstate != UPAPCS_AUTHREQ) { /* XXX */\n    return;\n  }\n\n  /*\n   * Parse message.\n   */\n  if (len < sizeof (u_char)) {\n    UPAPDEBUG(LOG_INFO, (\"pap_rauthnak: ignoring missing msg-length.\\n\"));\n  } else {\n    GETCHAR(msglen, inp);\n    if(msglen > 0) {\n      len -= sizeof (u_char);\n      if (len < msglen) {\n        UPAPDEBUG(LOG_INFO, (\"pap_rauthnak: rcvd short packet.\\n\"));\n        return;\n      }\n      msg = (char *) inp;\n      PRINTMSG(msg, msglen);\n    }\n  }\n\n  u->us_clientstate = UPAPCS_BADAUTH;\n\n  UPAPDEBUG(LOG_ERR, (\"PAP authentication failed\\n\"));\n  auth_withpeer_fail(u->us_unit, PPP_PAP);\n}\n\n\n/*\n * upap_sauthreq - Send an Authenticate-Request.\n */\nstatic void\nupap_sauthreq(upap_state *u)\n{\n  u_char *outp;\n  int outlen;\n\n  outlen = UPAP_HEADERLEN + 2 * sizeof (u_char) \n         + u->us_userlen + u->us_passwdlen;\n  outp = outpacket_buf[u->us_unit];\n\n  MAKEHEADER(outp, PPP_PAP);\n\n  PUTCHAR(UPAP_AUTHREQ, outp);\n  PUTCHAR(++u->us_id, outp);\n  PUTSHORT(outlen, outp);\n  PUTCHAR(u->us_userlen, outp);\n  BCOPY(u->us_user, outp, u->us_userlen);\n  INCPTR(u->us_userlen, outp);\n  PUTCHAR(u->us_passwdlen, outp);\n  BCOPY(u->us_passwd, outp, u->us_passwdlen);\n\n  pppWrite(u->us_unit, outpacket_buf[u->us_unit], outlen + PPP_HDRLEN);\n\n  UPAPDEBUG(LOG_INFO, (\"pap_sauth: Sent id %d\\n\", u->us_id));\n\n  TIMEOUT(upap_timeout, u, u->us_timeouttime);\n  ++u->us_transmits;\n  u->us_clientstate = UPAPCS_AUTHREQ;\n}\n\n\n/*\n * upap_sresp - Send a response (ack or nak).\n */\nstatic void\nupap_sresp(upap_state *u, u_char code, u_char id, char *msg, int msglen)\n{\n  u_char *outp;\n  int outlen;\n\n  outlen = UPAP_HEADERLEN + sizeof (u_char) + msglen;\n  outp = outpacket_buf[u->us_unit];\n  MAKEHEADER(outp, PPP_PAP);\n\n  PUTCHAR(code, outp);\n  PUTCHAR(id, outp);\n  PUTSHORT(outlen, outp);\n  PUTCHAR(msglen, outp);\n  BCOPY(msg, outp, msglen);\n  pppWrite(u->us_unit, outpacket_buf[u->us_unit], outlen + PPP_HDRLEN);\n\n  UPAPDEBUG(LOG_INFO, (\"pap_sresp: Sent code %d, id %d s=%d\\n\", code, id, u->us_clientstate));\n}\n\n#if PPP_ADDITIONAL_CALLBACKS\nstatic char *upap_codenames[] = {\n    \"AuthReq\", \"AuthAck\", \"AuthNak\"\n};\n\n/*\n * upap_printpkt - print the contents of a PAP packet.\n */\nstatic int upap_printpkt(\n  u_char *p,\n  int plen,\n  void (*printer) (void *, char *, ...),\n  void *arg\n)\n{\n  LWIP_UNUSED_ARG(p);\n  LWIP_UNUSED_ARG(plen);\n  LWIP_UNUSED_ARG(printer);\n  LWIP_UNUSED_ARG(arg);\n  return 0;\n}\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n\n#endif /* PAP_SUPPORT */\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/pap.h",
    "content": "/*****************************************************************************\n* pap.h -  PPP Password Authentication Protocol header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-12-04 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc.\n*   Original derived from BSD codes.\n*****************************************************************************/\n/*\n * upap.h - User/Password Authentication Protocol definitions.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n\n#ifndef PAP_H\n#define PAP_H\n\n#if PAP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n/*\n * Packet header = Code, id, length.\n */\n#define UPAP_HEADERLEN (sizeof (u_char) + sizeof (u_char) + sizeof (u_short))\n\n\n/*\n * UPAP codes.\n */\n#define UPAP_AUTHREQ 1 /* Authenticate-Request */\n#define UPAP_AUTHACK 2 /* Authenticate-Ack */\n#define UPAP_AUTHNAK 3 /* Authenticate-Nak */\n\n/*\n * Each interface is described by upap structure.\n */\ntypedef struct upap_state {\n  int us_unit;           /* Interface unit number */\n  const char *us_user;   /* User */\n  int us_userlen;        /* User length */\n  const char *us_passwd; /* Password */\n  int us_passwdlen;      /* Password length */\n  int us_clientstate;    /* Client state */\n  int us_serverstate;    /* Server state */\n  u_char us_id;          /* Current id */\n  int us_timeouttime;    /* Timeout (seconds) for auth-req retrans. */\n  int us_transmits;      /* Number of auth-reqs sent */\n  int us_maxtransmits;   /* Maximum number of auth-reqs to send */\n  int us_reqtimeout;     /* Time to wait for auth-req from peer */\n} upap_state;\n\n/*\n * Client states.\n */\n#define UPAPCS_INITIAL 0 /* Connection down */\n#define UPAPCS_CLOSED  1 /* Connection up, haven't requested auth */\n#define UPAPCS_PENDING 2 /* Connection down, have requested auth */\n#define UPAPCS_AUTHREQ 3 /* We've sent an Authenticate-Request */\n#define UPAPCS_OPEN    4 /* We've received an Ack */\n#define UPAPCS_BADAUTH 5 /* We've received a Nak */\n\n/*\n * Server states.\n */\n#define UPAPSS_INITIAL 0 /* Connection down */\n#define UPAPSS_CLOSED  1 /* Connection up, haven't requested auth */\n#define UPAPSS_PENDING 2 /* Connection down, have requested auth */\n#define UPAPSS_LISTEN  3 /* Listening for an Authenticate */\n#define UPAPSS_OPEN    4 /* We've sent an Ack */\n#define UPAPSS_BADAUTH 5 /* We've sent a Nak */\n\n\nextern upap_state upap[];\n\nvoid upap_authwithpeer  (int, char *, char *);\nvoid upap_authpeer      (int);\n\nextern struct protent pap_protent;\n\n#endif /* PAP_SUPPORT */\n\n#endif /* PAP_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/ppp.c",
    "content": "/*****************************************************************************\n* ppp.c - Network Point to Point Protocol program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 by Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-11-05 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original.\n*****************************************************************************/\n\n/*\n * ppp_defs.h - PPP definitions.\n *\n * if_pppvar.h - private structures and declarations for PPP.\n *\n * Copyright (c) 1994 The Australian National University.\n * All rights reserved.\n *\n * Permission to use, copy, modify, and distribute this software and its\n * documentation is hereby granted, provided that the above copyright\n * notice appears in all copies.  This software is provided without any\n * warranty, express or implied. The Australian National University\n * makes no representations about the suitability of this software for\n * any purpose.\n *\n * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY\n * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\n * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF\n * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,\n * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS\n * ON AN \"AS IS\" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO\n * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,\n * OR MODIFICATIONS.\n */\n\n/*\n * if_ppp.h - Point-to-Point Protocol definitions.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n */\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp_impl.h\"\n#include \"lwip/ip.h\" /* for ip_input() */\n\n#include \"pppdebug.h\"\n\n#include \"randm.h\"\n#include \"fsm.h\"\n#if PAP_SUPPORT\n#include \"pap.h\"\n#endif /* PAP_SUPPORT */\n#if CHAP_SUPPORT\n#include \"chap.h\"\n#endif /* CHAP_SUPPORT */\n#include \"ipcp.h\"\n#include \"lcp.h\"\n#include \"magic.h\"\n#include \"auth.h\"\n#if VJ_SUPPORT\n#include \"vj.h\"\n#endif /* VJ_SUPPORT */\n#if PPPOE_SUPPORT\n#include \"netif/ppp_oe.h\"\n#endif /* PPPOE_SUPPORT */\n\n#include \"lwip/tcpip.h\"\n#include \"lwip/api.h\"\n#include \"lwip/snmp.h\"\n\n#include <string.h>\n\n/*************************/\n/*** LOCAL DEFINITIONS ***/\n/*************************/\n\n/** PPP_INPROC_MULTITHREADED==1 call pppInput using tcpip_callback().\n * Set this to 0 if pppInProc is called inside tcpip_thread or with NO_SYS==1.\n * Default is 1 for NO_SYS==0 (multithreaded) and 0 for NO_SYS==1 (single-threaded).\n */\n#ifndef PPP_INPROC_MULTITHREADED\n#define PPP_INPROC_MULTITHREADED (NO_SYS==0)\n#endif\n\n/** PPP_INPROC_OWNTHREAD==1: start a dedicated RX thread per PPP session.\n * Default is 0: call pppos_input() for received raw characters, charcater\n * reception is up to the port */\n#ifndef PPP_INPROC_OWNTHREAD\n#define PPP_INPROC_OWNTHREAD      PPP_INPROC_MULTITHREADED\n#endif\n\n#if PPP_INPROC_OWNTHREAD && !PPP_INPROC_MULTITHREADED\n  #error \"PPP_INPROC_OWNTHREAD needs PPP_INPROC_MULTITHREADED==1\"\n#endif\n\n/*\n * The basic PPP frame.\n */\n#define PPP_ADDRESS(p)  (((u_char *)(p))[0])\n#define PPP_CONTROL(p)  (((u_char *)(p))[1])\n#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3])\n\n/* PPP packet parser states.  Current state indicates operation yet to be\n * completed. */\ntypedef enum {\n  PDIDLE = 0,  /* Idle state - waiting. */\n  PDSTART,     /* Process start flag. */\n  PDADDRESS,   /* Process address field. */\n  PDCONTROL,   /* Process control field. */\n  PDPROTOCOL1, /* Process protocol field 1. */\n  PDPROTOCOL2, /* Process protocol field 2. */\n  PDDATA       /* Process data byte. */\n} PPPDevStates;\n\n#define ESCAPE_P(accm, c) ((accm)[(c) >> 3] & pppACCMMask[c & 0x07])\n\n/************************/\n/*** LOCAL DATA TYPES ***/\n/************************/\n\n/** RX buffer size: this may be configured smaller! */\n#ifndef PPPOS_RX_BUFSIZE\n#define PPPOS_RX_BUFSIZE    (PPP_MRU + PPP_HDRLEN)\n#endif\n\ntypedef struct PPPControlRx_s {\n  /** unit number / ppp descriptor */\n  int pd;\n  /** the rx file descriptor */\n  sio_fd_t fd;\n  /** receive buffer - encoded data is stored here */\n#if PPP_INPROC_OWNTHREAD\n  u_char rxbuf[PPPOS_RX_BUFSIZE];\n#endif /* PPP_INPROC_OWNTHREAD */\n\n  /* The input packet. */\n  struct pbuf *inHead, *inTail;\n\n#if PPPOS_SUPPORT\n  u16_t inProtocol;             /* The input protocol code. */\n  u16_t inFCS;                  /* Input Frame Check Sequence value. */\n#endif /* PPPOS_SUPPORT */\n  PPPDevStates inState;         /* The input process state. */\n  char inEscaped;               /* Escape next character. */\n  ext_accm inACCM;              /* Async-Ctl-Char-Map for input. */\n} PPPControlRx;\n\n/*\n * PPP interface control block.\n */\ntypedef struct PPPControl_s {\n  PPPControlRx rx;\n  char openFlag;                /* True when in use. */\n#if PPPOE_SUPPORT\n  struct netif *ethif;\n  struct pppoe_softc *pppoe_sc;\n#endif /* PPPOE_SUPPORT */\n  int  if_up;                   /* True when the interface is up. */\n  int  errCode;                 /* Code indicating why interface is down. */\n#if PPPOS_SUPPORT\n  sio_fd_t fd;                  /* File device ID of port. */\n#endif /* PPPOS_SUPPORT */\n  u16_t mtu;                    /* Peer's mru */\n  int  pcomp;                   /* Does peer accept protocol compression? */\n  int  accomp;                  /* Does peer accept addr/ctl compression? */\n  u_long lastXMit;              /* Time of last transmission. */\n  ext_accm outACCM;             /* Async-Ctl-Char-Map for output. */\n#if PPPOS_SUPPORT && VJ_SUPPORT\n  int  vjEnabled;               /* Flag indicating VJ compression enabled. */\n  struct vjcompress vjComp;     /* Van Jacobson compression header. */\n#endif /* PPPOS_SUPPORT && VJ_SUPPORT */\n\n  struct netif netif;\n\n  struct ppp_addrs addrs;\n\n  void (*linkStatusCB)(void *ctx, int errCode, void *arg);\n  void *linkStatusCtx;\n\n} PPPControl;\n\n\n/*\n * Ioctl definitions.\n */\n\nstruct npioctl {\n  int         protocol; /* PPP procotol, e.g. PPP_IP */\n  enum NPmode mode;\n};\n\n\n\n/***********************************/\n/*** LOCAL FUNCTION DECLARATIONS ***/\n/***********************************/\n#if PPPOS_SUPPORT\n#if PPP_INPROC_OWNTHREAD\nstatic void pppInputThread(void *arg);\n#endif /* PPP_INPROC_OWNTHREAD */\nstatic void pppDrop(PPPControlRx *pcrx);\nstatic void pppInProc(PPPControlRx *pcrx, u_char *s, int l);\nstatic void pppFreeCurrentInputPacket(PPPControlRx *pcrx);\n#endif /* PPPOS_SUPPORT */\n\n\n/******************************/\n/*** PUBLIC DATA STRUCTURES ***/\n/******************************/\nu_long subnetMask;\n\nstatic PPPControl pppControl[NUM_PPP]; /* The PPP interface control blocks. */\n\n/*\n * PPP Data Link Layer \"protocol\" table.\n * One entry per supported protocol.\n * The last entry must be NULL.\n */\nstruct protent *ppp_protocols[] = {\n  &lcp_protent,\n#if PAP_SUPPORT\n  &pap_protent,\n#endif /* PAP_SUPPORT */\n#if CHAP_SUPPORT\n  &chap_protent,\n#endif /* CHAP_SUPPORT */\n#if CBCP_SUPPORT\n  &cbcp_protent,\n#endif /* CBCP_SUPPORT */\n  &ipcp_protent,\n#if CCP_SUPPORT\n  &ccp_protent,\n#endif /* CCP_SUPPORT */\n  NULL\n};\n\n\n/*\n * Buffers for outgoing packets.  This must be accessed only from the appropriate\n * PPP task so that it doesn't need to be protected to avoid collisions.\n */\nu_char outpacket_buf[NUM_PPP][PPP_MRU+PPP_HDRLEN];\n\n\n/*****************************/\n/*** LOCAL DATA STRUCTURES ***/\n/*****************************/\n\n#if PPPOS_SUPPORT\n/*\n * FCS lookup table as calculated by genfcstab.\n * @todo: smaller, slower implementation for lower memory footprint?\n */\nstatic const u_short fcstab[256] = {\n  0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,\n  0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,\n  0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,\n  0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,\n  0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,\n  0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,\n  0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,\n  0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,\n  0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,\n  0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,\n  0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,\n  0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,\n  0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,\n  0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,\n  0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,\n  0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,\n  0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,\n  0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,\n  0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,\n  0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,\n  0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,\n  0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,\n  0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,\n  0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,\n  0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,\n  0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,\n  0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,\n  0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,\n  0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,\n  0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,\n  0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,\n  0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78\n};\n\n/* PPP's Asynchronous-Control-Character-Map.  The mask array is used\n * to select the specific bit for a character. */\nstatic u_char pppACCMMask[] = {\n  0x01,\n  0x02,\n  0x04,\n  0x08,\n  0x10,\n  0x20,\n  0x40,\n  0x80\n};\n\n#if PPP_INPROC_OWNTHREAD\n/** Wake up the task blocked in reading from serial line (if any) */\nstatic void\npppRecvWakeup(int pd)\n{\n  PPPDEBUG(LOG_DEBUG, (\"pppRecvWakeup: unit %d\\n\", pd));\n  if (pppControl[pd].openFlag != 0) {\n    sio_read_abort(pppControl[pd].fd);\n  }\n}\n#endif /* PPP_INPROC_OWNTHREAD */\n#endif /* PPPOS_SUPPORT */\n\nvoid\npppLinkTerminated(int pd)\n{\n  PPPDEBUG(LOG_DEBUG, (\"pppLinkTerminated: unit %d\\n\", pd));\n\n#if PPPOE_SUPPORT\n  if (pppControl[pd].ethif) {\n    pppoe_disconnect(pppControl[pd].pppoe_sc);\n  } else\n#endif /* PPPOE_SUPPORT */\n  {\n#if PPPOS_SUPPORT\n    PPPControl* pc;\n#if PPP_INPROC_OWNTHREAD\n    pppRecvWakeup(pd);\n#endif /* PPP_INPROC_OWNTHREAD */\n    pc = &pppControl[pd];\n\n    PPPDEBUG(LOG_DEBUG, (\"pppLinkTerminated: unit %d: linkStatusCB=%p errCode=%d\\n\", pd, pc->linkStatusCB, pc->errCode));\n    if (pc->linkStatusCB) {\n      pc->linkStatusCB(pc->linkStatusCtx, pc->errCode ? pc->errCode : PPPERR_PROTOCOL, NULL);\n    }\n\n    pc->openFlag = 0;/**/\n#endif /* PPPOS_SUPPORT */\n  }\n  PPPDEBUG(LOG_DEBUG, (\"pppLinkTerminated: finished.\\n\"));\n}\n\nvoid\npppLinkDown(int pd)\n{\n  PPPDEBUG(LOG_DEBUG, (\"pppLinkDown: unit %d\\n\", pd));\n\n#if PPPOE_SUPPORT\n  if (pppControl[pd].ethif) {\n    pppoe_disconnect(pppControl[pd].pppoe_sc);\n  } else\n#endif /* PPPOE_SUPPORT */\n  {\n#if PPPOS_SUPPORT && PPP_INPROC_OWNTHREAD\n    pppRecvWakeup(pd);\n#endif /* PPPOS_SUPPORT && PPP_INPROC_OWNTHREAD*/\n  }\n}\n\n/** Initiate LCP open request */\nstatic void\npppStart(int pd)\n{\n  PPPDEBUG(LOG_DEBUG, (\"pppStart: unit %d\\n\", pd));\n  lcp_lowerup(pd);\n  lcp_open(pd); /* Start protocol */\n  PPPDEBUG(LOG_DEBUG, (\"pppStart: finished\\n\"));\n}\n\n/** LCP close request */\nstatic void\npppStop(int pd)\n{\n  PPPDEBUG(LOG_DEBUG, (\"pppStop: unit %d\\n\", pd));\n  lcp_close(pd, \"User request\");\n}\n\n/** Called when carrier/link is lost */\nstatic void\npppHup(int pd)\n{\n  PPPDEBUG(LOG_DEBUG, (\"pppHupCB: unit %d\\n\", pd));\n  lcp_lowerdown(pd);\n  link_terminated(pd);\n}\n\n/***********************************/\n/*** PUBLIC FUNCTION DEFINITIONS ***/\n/***********************************/\n/* Initialize the PPP subsystem. */\n\nstruct ppp_settings ppp_settings;\n\nvoid\npppInit(void)\n{\n  struct protent *protp;\n  int i, j;\n\n  memset(&ppp_settings, 0, sizeof(ppp_settings));\n  ppp_settings.usepeerdns = 1;\n  pppSetAuth(PPPAUTHTYPE_NONE, NULL, NULL);\n\n  magicInit();\n\n  subnetMask = PP_HTONL(0xffffff00UL);\n\n  for (i = 0; i < NUM_PPP; i++) {\n    /* Initialize each protocol to the standard option set. */\n    for (j = 0; (protp = ppp_protocols[j]) != NULL; ++j) {\n      (*protp->init)(i);\n    }\n  }\n}\n\nvoid\npppSetAuth(enum pppAuthType authType, const char *user, const char *passwd)\n{\n  switch(authType) {\n    case PPPAUTHTYPE_NONE:\n    default:\n#ifdef LWIP_PPP_STRICT_PAP_REJECT\n      ppp_settings.refuse_pap = 1;\n#else  /* LWIP_PPP_STRICT_PAP_REJECT */\n      /* some providers request pap and accept an empty login/pw */\n      ppp_settings.refuse_pap = 0;\n#endif /* LWIP_PPP_STRICT_PAP_REJECT */\n      ppp_settings.refuse_chap = 1;\n      break;\n\n    case PPPAUTHTYPE_ANY:\n      /* Warning: Using PPPAUTHTYPE_ANY might have security consequences.\n       * RFC 1994 says:\n       *\n       * In practice, within or associated with each PPP server, there is a\n       * database which associates \"user\" names with authentication\n       * information (\"secrets\").  It is not anticipated that a particular\n       * named user would be authenticated by multiple methods.  This would\n       * make the user vulnerable to attacks which negotiate the least secure\n       * method from among a set (such as PAP rather than CHAP).  If the same\n       * secret was used, PAP would reveal the secret to be used later with\n       * CHAP.\n       *\n       * Instead, for each user name there should be an indication of exactly\n       * one method used to authenticate that user name.  If a user needs to\n       * make use of different authentication methods under different\n       * circumstances, then distinct user names SHOULD be employed, each of\n       * which identifies exactly one authentication method.\n       *\n       */\n      ppp_settings.refuse_pap = 0;\n      ppp_settings.refuse_chap = 0;\n      break;\n\n    case PPPAUTHTYPE_PAP:\n      ppp_settings.refuse_pap = 0;\n      ppp_settings.refuse_chap = 1;\n      break;\n\n    case PPPAUTHTYPE_CHAP:\n      ppp_settings.refuse_pap = 1;\n      ppp_settings.refuse_chap = 0;\n      break;\n  }\n\n  if(user) {\n    strncpy(ppp_settings.user, user, sizeof(ppp_settings.user)-1);\n    ppp_settings.user[sizeof(ppp_settings.user)-1] = '\\0';\n  } else {\n    ppp_settings.user[0] = '\\0';\n  }\n\n  if(passwd) {\n    strncpy(ppp_settings.passwd, passwd, sizeof(ppp_settings.passwd)-1);\n    ppp_settings.passwd[sizeof(ppp_settings.passwd)-1] = '\\0';\n  } else {\n    ppp_settings.passwd[0] = '\\0';\n  }\n}\n\n#if PPPOS_SUPPORT\n/** Open a new PPP connection using the given I/O device.\n * This initializes the PPP control block but does not\n * attempt to negotiate the LCP session.  If this port\n * connects to a modem, the modem connection must be\n * established before calling this.\n * Return a new PPP connection descriptor on success or\n * an error code (negative) on failure.\n *\n * pppOpen() is directly defined to this function.\n */\nint\npppOverSerialOpen(sio_fd_t fd, pppLinkStatusCB_fn linkStatusCB, void *linkStatusCtx)\n{\n  PPPControl *pc;\n  int pd;\n\n  if (linkStatusCB == NULL) {\n    /* PPP is single-threaded: without a callback,\n     * there is no way to know when the link is up. */\n    return PPPERR_PARAM;\n  }\n\n  /* Find a free PPP session descriptor. */\n  for (pd = 0; pd < NUM_PPP && pppControl[pd].openFlag != 0; pd++);\n\n  if (pd >= NUM_PPP) {\n    pd = PPPERR_OPEN;\n  } else {\n    pc = &pppControl[pd];\n    /* input pbuf left over from last session? */\n    pppFreeCurrentInputPacket(&pc->rx);\n    /* @todo: is this correct or do I overwrite something? */\n    memset(pc, 0, sizeof(PPPControl));\n    pc->rx.pd = pd;\n    pc->rx.fd = fd;\n\n    pc->openFlag = 1;\n    pc->fd = fd;\n\n#if VJ_SUPPORT\n    vj_compress_init(&pc->vjComp);\n#endif /* VJ_SUPPORT */\n\n    /* \n     * Default the in and out accm so that escape and flag characters\n     * are always escaped. \n     */\n    pc->rx.inACCM[15] = 0x60; /* no need to protect since RX is not running */\n    pc->outACCM[15] = 0x60;\n\n    pc->linkStatusCB = linkStatusCB;\n    pc->linkStatusCtx = linkStatusCtx;\n\n    /*\n     * Start the connection and handle incoming events (packet or timeout).\n     */\n    PPPDEBUG(LOG_INFO, (\"pppOverSerialOpen: unit %d: Connecting\\n\", pd));\n    pppStart(pd);\n#if PPP_INPROC_OWNTHREAD\n    sys_thread_new(PPP_THREAD_NAME, pppInputThread, (void*)&pc->rx, PPP_THREAD_STACKSIZE, PPP_THREAD_PRIO);\n#endif /* PPP_INPROC_OWNTHREAD */\n  }\n\n  return pd;\n}\n#endif /* PPPOS_SUPPORT */\n\n#if PPPOE_SUPPORT\nstatic void pppOverEthernetLinkStatusCB(int pd, int up);\n\nvoid\npppOverEthernetClose(int pd)\n{\n  PPPControl* pc = &pppControl[pd];\n\n  /* *TJL* There's no lcp_deinit */\n  lcp_close(pd, NULL);\n\n  pppoe_destroy(&pc->netif);\n}\n\nint pppOverEthernetOpen(struct netif *ethif, const char *service_name, const char *concentrator_name,\n                        pppLinkStatusCB_fn linkStatusCB, void *linkStatusCtx)\n{\n  PPPControl *pc;\n  int pd;\n\n  LWIP_UNUSED_ARG(service_name);\n  LWIP_UNUSED_ARG(concentrator_name);\n\n  if (linkStatusCB == NULL) {\n    /* PPP is single-threaded: without a callback,\n     * there is no way to know when the link is up. */\n    return PPPERR_PARAM;\n  }\n\n  /* Find a free PPP session descriptor. Critical region? */\n  for (pd = 0; pd < NUM_PPP && pppControl[pd].openFlag != 0; pd++);\n  if (pd >= NUM_PPP) {\n    pd = PPPERR_OPEN;\n  } else {\n    pc = &pppControl[pd];\n    memset(pc, 0, sizeof(PPPControl));\n    pc->openFlag = 1;\n    pc->ethif = ethif;\n\n    pc->linkStatusCB  = linkStatusCB;\n    pc->linkStatusCtx = linkStatusCtx;\n\n    lcp_wantoptions[pd].mru = PPPOE_MAXMTU;\n    lcp_wantoptions[pd].neg_asyncmap = 0;\n    lcp_wantoptions[pd].neg_pcompression = 0;\n    lcp_wantoptions[pd].neg_accompression = 0;\n\n    lcp_allowoptions[pd].mru = PPPOE_MAXMTU;\n    lcp_allowoptions[pd].neg_asyncmap = 0;\n    lcp_allowoptions[pd].neg_pcompression = 0;\n    lcp_allowoptions[pd].neg_accompression = 0;\n\n    if(pppoe_create(ethif, pd, pppOverEthernetLinkStatusCB, &pc->pppoe_sc) != ERR_OK) {\n      pc->openFlag = 0;\n      return PPPERR_OPEN;\n    }\n\n    pppoe_connect(pc->pppoe_sc);\n  }\n\n  return pd;\n}\n#endif /* PPPOE_SUPPORT */\n\n\n/* Close a PPP connection and release the descriptor. \n * Any outstanding packets in the queues are dropped.\n * Return 0 on success, an error code on failure. */\nint\npppClose(int pd)\n{\n  PPPControl *pc = &pppControl[pd];\n  int st = 0;\n\n  PPPDEBUG(LOG_DEBUG, (\"pppClose() called\\n\"));\n\n  /* Disconnect */\n#if PPPOE_SUPPORT\n  if(pc->ethif) {\n    PPPDEBUG(LOG_DEBUG, (\"pppClose: unit %d kill_link -> pppStop\\n\", pd));\n    pc->errCode = PPPERR_USER;\n    /* This will leave us at PHASE_DEAD. */\n    pppStop(pd);\n  } else\n#endif /* PPPOE_SUPPORT */\n  {\n#if PPPOS_SUPPORT\n    PPPDEBUG(LOG_DEBUG, (\"pppClose: unit %d kill_link -> pppStop\\n\", pd));\n    pc->errCode = PPPERR_USER;\n    /* This will leave us at PHASE_DEAD. */\n    pppStop(pd);\n#if PPP_INPROC_OWNTHREAD\n    pppRecvWakeup(pd);\n#endif /* PPP_INPROC_OWNTHREAD */\n#endif /* PPPOS_SUPPORT */\n  }\n\n  return st;\n}\n\n/* This function is called when carrier is lost on the PPP channel. */\nvoid\npppSigHUP(int pd)\n{\n  PPPDEBUG(LOG_DEBUG, (\"pppSigHUP: unit %d sig_hup -> pppHupCB\\n\", pd));\n  pppHup(pd);\n}\n\n#if PPPOS_SUPPORT\nstatic void\nnPut(PPPControl *pc, struct pbuf *nb)\n{\n  struct pbuf *b;\n  int c;\n\n  for(b = nb; b != NULL; b = b->next) {\n    if((c = sio_write(pc->fd, b->payload, b->len)) != b->len) {\n      PPPDEBUG(LOG_WARNING,\n               (\"PPP nPut: incomplete sio_write(fd:%\"SZT_F\", len:%d, c: 0x%\"X8_F\") c = %d\\n\", (size_t)pc->fd, b->len, c, c));\n      LINK_STATS_INC(link.err);\n      pc->lastXMit = 0; /* prepend PPP_FLAG to next packet */\n      snmp_inc_ifoutdiscards(&pc->netif);\n      pbuf_free(nb);\n      return;\n    }\n  }\n\n  snmp_add_ifoutoctets(&pc->netif, nb->tot_len);\n  snmp_inc_ifoutucastpkts(&pc->netif);\n  pbuf_free(nb);\n  LINK_STATS_INC(link.xmit);\n}\n\n/* \n * pppAppend - append given character to end of given pbuf.  If outACCM\n * is not NULL and the character needs to be escaped, do so.\n * If pbuf is full, append another.\n * Return the current pbuf.\n */\nstatic struct pbuf *\npppAppend(u_char c, struct pbuf *nb, ext_accm *outACCM)\n{\n  struct pbuf *tb = nb;\n  \n  /* Make sure there is room for the character and an escape code.\n   * Sure we don't quite fill the buffer if the character doesn't\n   * get escaped but is one character worth complicating this? */\n  /* Note: We assume no packet header. */\n  if (nb && (PBUF_POOL_BUFSIZE - nb->len) < 2) {\n    tb = pbuf_alloc(PBUF_RAW, 0, PBUF_POOL);\n    if (tb) {\n      nb->next = tb;\n    } else {\n      LINK_STATS_INC(link.memerr);\n    }\n    nb = tb;\n  }\n\n  if (nb) {\n    if (outACCM && ESCAPE_P(*outACCM, c)) {\n      *((u_char*)nb->payload + nb->len++) = PPP_ESCAPE;\n      *((u_char*)nb->payload + nb->len++) = c ^ PPP_TRANS;\n    } else {\n      *((u_char*)nb->payload + nb->len++) = c;\n    }\n  }\n\n  return tb;\n}\n#endif /* PPPOS_SUPPORT */\n\n#if PPPOE_SUPPORT\nstatic err_t\npppifOutputOverEthernet(int pd, struct pbuf *p)\n{\n  PPPControl *pc = &pppControl[pd];\n  struct pbuf *pb;\n  u_short protocol = PPP_IP;\n  int i=0;\n  u16_t tot_len;\n\n  /* @todo: try to use pbuf_header() here! */\n  pb = pbuf_alloc(PBUF_LINK, PPPOE_HDRLEN + sizeof(protocol), PBUF_RAM);\n  if(!pb) {\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.proterr);\n    snmp_inc_ifoutdiscards(&pc->netif);\n    return ERR_MEM;\n  }\n\n  pbuf_header(pb, -(s16_t)PPPOE_HDRLEN);\n\n  pc->lastXMit = sys_jiffies();\n\n  if (!pc->pcomp || protocol > 0xFF) {\n    *((u_char*)pb->payload + i++) = (protocol >> 8) & 0xFF;\n  }\n  *((u_char*)pb->payload + i) = protocol & 0xFF;\n\n  pbuf_chain(pb, p);\n  tot_len = pb->tot_len;\n\n  if(pppoe_xmit(pc->pppoe_sc, pb) != ERR_OK) {\n    LINK_STATS_INC(link.err);\n    snmp_inc_ifoutdiscards(&pc->netif);\n    return PPPERR_DEVICE;\n  }\n\n  snmp_add_ifoutoctets(&pc->netif, tot_len);\n  snmp_inc_ifoutucastpkts(&pc->netif);\n  LINK_STATS_INC(link.xmit);\n  return ERR_OK;\n}\n#endif /* PPPOE_SUPPORT */\n\n/* Send a packet on the given connection. */\nstatic err_t\npppifOutput(struct netif *netif, struct pbuf *pb, ip_addr_t *ipaddr)\n{\n  int pd = (int)(size_t)netif->state;\n  PPPControl *pc = &pppControl[pd];\n#if PPPOS_SUPPORT\n  u_short protocol = PPP_IP;\n  u_int fcsOut = PPP_INITFCS;\n  struct pbuf *headMB = NULL, *tailMB = NULL, *p;\n  u_char c;\n#endif /* PPPOS_SUPPORT */\n\n  LWIP_UNUSED_ARG(ipaddr);\n\n  /* Validate parameters. */\n  /* We let any protocol value go through - it can't hurt us\n   * and the peer will just drop it if it's not accepting it. */\n  if (pd < 0 || pd >= NUM_PPP || !pc->openFlag || !pb) {\n    PPPDEBUG(LOG_WARNING, (\"pppifOutput[%d]: bad parms prot=%d pb=%p\\n\",\n              pd, PPP_IP, pb));\n    LINK_STATS_INC(link.opterr);\n    LINK_STATS_INC(link.drop);\n    snmp_inc_ifoutdiscards(netif);\n    return ERR_ARG;\n  }\n\n  /* Check that the link is up. */\n  if (lcp_phase[pd] == PHASE_DEAD) {\n    PPPDEBUG(LOG_ERR, (\"pppifOutput[%d]: link not up\\n\", pd));\n    LINK_STATS_INC(link.rterr);\n    LINK_STATS_INC(link.drop);\n    snmp_inc_ifoutdiscards(netif);\n    return ERR_RTE;\n  }\n\n#if PPPOE_SUPPORT\n  if(pc->ethif) {\n    return pppifOutputOverEthernet(pd, pb);\n  }\n#endif /* PPPOE_SUPPORT */\n\n#if PPPOS_SUPPORT\n  /* Grab an output buffer. */\n  headMB = pbuf_alloc(PBUF_RAW, 0, PBUF_POOL);\n  if (headMB == NULL) {\n    PPPDEBUG(LOG_WARNING, (\"pppifOutput[%d]: first alloc fail\\n\", pd));\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.drop);\n    snmp_inc_ifoutdiscards(netif);\n    return ERR_MEM;\n  }\n\n#if VJ_SUPPORT\n  /* \n   * Attempt Van Jacobson header compression if VJ is configured and\n   * this is an IP packet. \n   */\n  if (protocol == PPP_IP && pc->vjEnabled) {\n    switch (vj_compress_tcp(&pc->vjComp, pb)) {\n      case TYPE_IP:\n        /* No change...\n           protocol = PPP_IP_PROTOCOL; */\n        break;\n      case TYPE_COMPRESSED_TCP:\n        protocol = PPP_VJC_COMP;\n        break;\n      case TYPE_UNCOMPRESSED_TCP:\n        protocol = PPP_VJC_UNCOMP;\n        break;\n      default:\n        PPPDEBUG(LOG_WARNING, (\"pppifOutput[%d]: bad IP packet\\n\", pd));\n        LINK_STATS_INC(link.proterr);\n        LINK_STATS_INC(link.drop);\n        snmp_inc_ifoutdiscards(netif);\n        pbuf_free(headMB);\n        return ERR_VAL;\n    }\n  }\n#endif /* VJ_SUPPORT */\n\n  tailMB = headMB;\n\n  /* Build the PPP header. */\n  if ((sys_jiffies() - pc->lastXMit) >= PPP_MAXIDLEFLAG) {\n    tailMB = pppAppend(PPP_FLAG, tailMB, NULL);\n  }\n\n  pc->lastXMit = sys_jiffies();\n  if (!pc->accomp) {\n    fcsOut = PPP_FCS(fcsOut, PPP_ALLSTATIONS);\n    tailMB = pppAppend(PPP_ALLSTATIONS, tailMB, &pc->outACCM);\n    fcsOut = PPP_FCS(fcsOut, PPP_UI);\n    tailMB = pppAppend(PPP_UI, tailMB, &pc->outACCM);\n  }\n  if (!pc->pcomp || protocol > 0xFF) {\n    c = (protocol >> 8) & 0xFF;\n    fcsOut = PPP_FCS(fcsOut, c);\n    tailMB = pppAppend(c, tailMB, &pc->outACCM);\n  }\n  c = protocol & 0xFF;\n  fcsOut = PPP_FCS(fcsOut, c);\n  tailMB = pppAppend(c, tailMB, &pc->outACCM);\n\n  /* Load packet. */\n  for(p = pb; p; p = p->next) {\n    int n;\n    u_char *sPtr;\n\n    sPtr = (u_char*)p->payload;\n    n = p->len;\n    while (n-- > 0) {\n      c = *sPtr++;\n\n      /* Update FCS before checking for special characters. */\n      fcsOut = PPP_FCS(fcsOut, c);\n      \n      /* Copy to output buffer escaping special characters. */\n      tailMB = pppAppend(c, tailMB, &pc->outACCM);\n    }\n  }\n\n  /* Add FCS and trailing flag. */\n  c = ~fcsOut & 0xFF;\n  tailMB = pppAppend(c, tailMB, &pc->outACCM);\n  c = (~fcsOut >> 8) & 0xFF;\n  tailMB = pppAppend(c, tailMB, &pc->outACCM);\n  tailMB = pppAppend(PPP_FLAG, tailMB, NULL);\n\n  /* If we failed to complete the packet, throw it away. */\n  if (!tailMB) {\n    PPPDEBUG(LOG_WARNING,\n             (\"pppifOutput[%d]: Alloc err - dropping proto=%d\\n\", \n              pd, protocol));\n    pbuf_free(headMB);\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.drop);\n    snmp_inc_ifoutdiscards(netif);\n    return ERR_MEM;\n  }\n\n  /* Send it. */\n  PPPDEBUG(LOG_INFO, (\"pppifOutput[%d]: proto=0x%\"X16_F\"\\n\", pd, protocol));\n\n  nPut(pc, headMB);\n#endif /* PPPOS_SUPPORT */\n\n  return ERR_OK;\n}\n\n/* Get and set parameters for the given connection.\n * Return 0 on success, an error code on failure. */\nint\npppIOCtl(int pd, int cmd, void *arg)\n{\n  PPPControl *pc = &pppControl[pd];\n  int st = 0;\n\n  if (pd < 0 || pd >= NUM_PPP) {\n    st = PPPERR_PARAM;\n  } else {\n    switch(cmd) {\n    case PPPCTLG_UPSTATUS:      /* Get the PPP up status. */\n      if (arg) {\n        *(int *)arg = (int)(pc->if_up);\n      } else {\n        st = PPPERR_PARAM;\n      }\n      break;\n    case PPPCTLS_ERRCODE:       /* Set the PPP error code. */\n      if (arg) {\n        pc->errCode = *(int *)arg;\n      } else {\n        st = PPPERR_PARAM;\n      }\n      break;\n    case PPPCTLG_ERRCODE:       /* Get the PPP error code. */\n      if (arg) {\n        *(int *)arg = (int)(pc->errCode);\n      } else {\n        st = PPPERR_PARAM;\n      }\n      break;\n#if PPPOS_SUPPORT\n    case PPPCTLG_FD:            /* Get the fd associated with the ppp */\n      if (arg) {\n        *(sio_fd_t *)arg = pc->fd;\n      } else {\n        st = PPPERR_PARAM;\n      }\n      break;\n#endif /* PPPOS_SUPPORT */\n    default:\n      st = PPPERR_PARAM;\n      break;\n    }\n  }\n\n  return st;\n}\n\n/*\n * Return the Maximum Transmission Unit for the given PPP connection.\n */\nu_short\npppMTU(int pd)\n{\n  PPPControl *pc = &pppControl[pd];\n  u_short st;\n\n  /* Validate parameters. */\n  if (pd < 0 || pd >= NUM_PPP || !pc->openFlag) {\n    st = 0;\n  } else {\n    st = pc->mtu;\n  }\n\n  return st;\n}\n\n#if PPPOE_SUPPORT\nint\npppWriteOverEthernet(int pd, const u_char *s, int n)\n{\n  PPPControl *pc = &pppControl[pd];\n  struct pbuf *pb;\n\n  /* skip address & flags */\n  s += 2;\n  n -= 2;\n\n  LWIP_ASSERT(\"PPPOE_HDRLEN + n <= 0xffff\", PPPOE_HDRLEN + n <= 0xffff);\n  pb = pbuf_alloc(PBUF_LINK, (u16_t)(PPPOE_HDRLEN + n), PBUF_RAM);\n  if(!pb) {\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.proterr);\n    snmp_inc_ifoutdiscards(&pc->netif);\n    return PPPERR_ALLOC;\n  }\n\n  pbuf_header(pb, -(s16_t)PPPOE_HDRLEN);\n\n  pc->lastXMit = sys_jiffies();\n\n  MEMCPY(pb->payload, s, n);\n\n  if(pppoe_xmit(pc->pppoe_sc, pb) != ERR_OK) {\n    LINK_STATS_INC(link.err);\n    snmp_inc_ifoutdiscards(&pc->netif);\n    return PPPERR_DEVICE;\n  }\n\n  snmp_add_ifoutoctets(&pc->netif, (u16_t)n);\n  snmp_inc_ifoutucastpkts(&pc->netif);\n  LINK_STATS_INC(link.xmit);\n  return PPPERR_NONE;\n}\n#endif /* PPPOE_SUPPORT */\n\n/*\n * Write n characters to a ppp link.\n *  RETURN: >= 0 Number of characters written\n *           -1 Failed to write to device\n */\nint\npppWrite(int pd, const u_char *s, int n)\n{\n  PPPControl *pc = &pppControl[pd];\n#if PPPOS_SUPPORT\n  u_char c;\n  u_int fcsOut;\n  struct pbuf *headMB, *tailMB;\n#endif /* PPPOS_SUPPORT */\n\n#if PPPOE_SUPPORT\n  if(pc->ethif) {\n    return pppWriteOverEthernet(pd, s, n);\n  }\n#endif /* PPPOE_SUPPORT */\n\n#if PPPOS_SUPPORT\n  headMB = pbuf_alloc(PBUF_RAW, 0, PBUF_POOL);\n  if (headMB == NULL) {\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.proterr);\n    snmp_inc_ifoutdiscards(&pc->netif);\n    return PPPERR_ALLOC;\n  }\n\n  tailMB = headMB;\n\n  /* If the link has been idle, we'll send a fresh flag character to\n   * flush any noise. */\n  if ((sys_jiffies() - pc->lastXMit) >= PPP_MAXIDLEFLAG) {\n    tailMB = pppAppend(PPP_FLAG, tailMB, NULL);\n  }\n  pc->lastXMit = sys_jiffies();\n\n  fcsOut = PPP_INITFCS;\n  /* Load output buffer. */\n  while (n-- > 0) {\n    c = *s++;\n\n    /* Update FCS before checking for special characters. */\n    fcsOut = PPP_FCS(fcsOut, c);\n\n    /* Copy to output buffer escaping special characters. */\n    tailMB = pppAppend(c, tailMB, &pc->outACCM);\n  }\n    \n  /* Add FCS and trailing flag. */\n  c = ~fcsOut & 0xFF;\n  tailMB = pppAppend(c, tailMB, &pc->outACCM);\n  c = (~fcsOut >> 8) & 0xFF;\n  tailMB = pppAppend(c, tailMB, &pc->outACCM);\n  tailMB = pppAppend(PPP_FLAG, tailMB, NULL);\n\n  /* If we failed to complete the packet, throw it away.\n   * Otherwise send it. */\n  if (!tailMB) {\n    PPPDEBUG(LOG_WARNING,\n             (\"pppWrite[%d]: Alloc err - dropping pbuf len=%d\\n\", pd, headMB->len));\n           /*\"pppWrite[%d]: Alloc err - dropping %d:%.*H\", pd, headMB->len, LWIP_MIN(headMB->len * 2, 40), headMB->payload)); */\n    pbuf_free(headMB);\n    LINK_STATS_INC(link.memerr);\n    LINK_STATS_INC(link.proterr);\n    snmp_inc_ifoutdiscards(&pc->netif);\n    return PPPERR_ALLOC;\n  }\n\n  PPPDEBUG(LOG_INFO, (\"pppWrite[%d]: len=%d\\n\", pd, headMB->len));\n                   /* \"pppWrite[%d]: %d:%.*H\", pd, headMB->len, LWIP_MIN(headMB->len * 2, 40), headMB->payload)); */\n  nPut(pc, headMB);\n#endif /* PPPOS_SUPPORT */\n\n  return PPPERR_NONE;\n}\n\n/*\n * ppp_send_config - configure the transmit characteristics of\n * the ppp interface.\n */\nvoid\nppp_send_config( int unit, u16_t mtu, u32_t asyncmap, int pcomp, int accomp)\n{\n  PPPControl *pc = &pppControl[unit];\n  int i;\n  \n  pc->mtu = mtu;\n  pc->pcomp = pcomp;\n  pc->accomp = accomp;\n  \n  /* Load the ACCM bits for the 32 control codes. */\n  for (i = 0; i < 32/8; i++) {\n    pc->outACCM[i] = (u_char)((asyncmap >> (8 * i)) & 0xFF);\n  }\n  PPPDEBUG(LOG_INFO, (\"ppp_send_config[%d]: outACCM=%X %X %X %X\\n\",\n            unit,\n            pc->outACCM[0], pc->outACCM[1], pc->outACCM[2], pc->outACCM[3]));\n}\n\n\n/*\n * ppp_set_xaccm - set the extended transmit ACCM for the interface.\n */\nvoid\nppp_set_xaccm(int unit, ext_accm *accm)\n{\n  SMEMCPY(pppControl[unit].outACCM, accm, sizeof(ext_accm));\n  PPPDEBUG(LOG_INFO, (\"ppp_set_xaccm[%d]: outACCM=%X %X %X %X\\n\",\n            unit,\n            pppControl[unit].outACCM[0],\n            pppControl[unit].outACCM[1],\n            pppControl[unit].outACCM[2],\n            pppControl[unit].outACCM[3]));\n}\n\n\n/*\n * ppp_recv_config - configure the receive-side characteristics of\n * the ppp interface.\n */\nvoid\nppp_recv_config( int unit, int mru, u32_t asyncmap, int pcomp, int accomp)\n{\n  PPPControl *pc = &pppControl[unit];\n  int i;\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  LWIP_UNUSED_ARG(accomp);\n  LWIP_UNUSED_ARG(pcomp);\n  LWIP_UNUSED_ARG(mru);\n\n  /* Load the ACCM bits for the 32 control codes. */\n  SYS_ARCH_PROTECT(lev);\n  for (i = 0; i < 32 / 8; i++) {\n    /* @todo: does this work? ext_accm has been modified from pppd! */\n    pc->rx.inACCM[i] = (u_char)(asyncmap >> (i * 8));\n  }\n  SYS_ARCH_UNPROTECT(lev);\n  PPPDEBUG(LOG_INFO, (\"ppp_recv_config[%d]: inACCM=%X %X %X %X\\n\",\n            unit,\n            pc->rx.inACCM[0], pc->rx.inACCM[1], pc->rx.inACCM[2], pc->rx.inACCM[3]));\n}\n\n#if 0\n/*\n * ccp_test - ask kernel whether a given compression method\n * is acceptable for use.  Returns 1 if the method and parameters\n * are OK, 0 if the method is known but the parameters are not OK\n * (e.g. code size should be reduced), or -1 if the method is unknown.\n */\nint\nccp_test( int unit, int opt_len,  int for_transmit, u_char *opt_ptr)\n{\n  return 0; /* XXX Currently no compression. */\n}\n\n/*\n * ccp_flags_set - inform kernel about the current state of CCP.\n */\nvoid\nccp_flags_set(int unit, int isopen, int isup)\n{\n  /* XXX */\n}\n\n/*\n * ccp_fatal_error - returns 1 if decompression was disabled as a\n * result of an error detected after decompression of a packet,\n * 0 otherwise.  This is necessary because of patent nonsense.\n */\nint\nccp_fatal_error(int unit)\n{\n  /* XXX */\n  return 0;\n}\n#endif\n\n/*\n * get_idle_time - return how long the link has been idle.\n */\nint\nget_idle_time(int u, struct ppp_idle *ip)\n{\n  /* XXX */\n  LWIP_UNUSED_ARG(u);\n  LWIP_UNUSED_ARG(ip);\n\n  return 0;\n}\n\n\n/*\n * Return user specified netmask, modified by any mask we might determine\n * for address `addr' (in network byte order).\n * Here we scan through the system's list of interfaces, looking for\n * any non-point-to-point interfaces which might appear to be on the same\n * network as `addr'.  If we find any, we OR in their netmask to the\n * user-specified netmask.\n */\nu32_t\nGetMask(u32_t addr)\n{\n  u32_t mask, nmask;\n\n  addr = htonl(addr);\n  if (IP_CLASSA(addr)) { /* determine network mask for address class */\n    nmask = IP_CLASSA_NET;\n  } else if (IP_CLASSB(addr)) {\n    nmask = IP_CLASSB_NET;\n  } else { \n    nmask = IP_CLASSC_NET;\n  }\n\n  /* class D nets are disallowed by bad_ip_adrs */\n  mask = subnetMask | htonl(nmask);\n  \n  /* XXX\n   * Scan through the system's network interfaces.\n   * Get each netmask and OR them into our mask.\n   */\n\n  return mask;\n}\n\n/*\n * sifvjcomp - config tcp header compression\n */\nint\nsifvjcomp(int pd, int vjcomp, u8_t cidcomp, u8_t maxcid)\n{\n#if PPPOS_SUPPORT && VJ_SUPPORT\n  PPPControl *pc = &pppControl[pd];\n  \n  pc->vjEnabled = vjcomp;\n  pc->vjComp.compressSlot = cidcomp;\n  pc->vjComp.maxSlotIndex = maxcid;\n  PPPDEBUG(LOG_INFO, (\"sifvjcomp: VJ compress enable=%d slot=%d max slot=%d\\n\",\n            vjcomp, cidcomp, maxcid));\n#else /* PPPOS_SUPPORT && VJ_SUPPORT */\n  LWIP_UNUSED_ARG(pd);\n  LWIP_UNUSED_ARG(vjcomp);\n  LWIP_UNUSED_ARG(cidcomp);\n  LWIP_UNUSED_ARG(maxcid);\n#endif /* PPPOS_SUPPORT && VJ_SUPPORT */\n\n  return 0;\n}\n\n/*\n * pppifNetifInit - netif init callback\n */\nstatic err_t\npppifNetifInit(struct netif *netif)\n{\n  netif->name[0] = 'p';\n  netif->name[1] = 'p';\n  netif->output = pppifOutput;\n  netif->mtu = pppMTU((int)(size_t)netif->state);\n  netif->flags = NETIF_FLAG_POINTTOPOINT | NETIF_FLAG_LINK_UP;\n#if LWIP_NETIF_HOSTNAME\n  /* @todo: Initialize interface hostname */\n  /* netif_set_hostname(netif, \"lwip\"); */\n#endif /* LWIP_NETIF_HOSTNAME */\n  return ERR_OK;\n}\n\n\n/*\n * sifup - Config the interface up and enable IP packets to pass.\n */\nint\nsifup(int pd)\n{\n  PPPControl *pc = &pppControl[pd];\n  int st = 1;\n  \n  if (pd < 0 || pd >= NUM_PPP || !pc->openFlag) {\n    st = 0;\n    PPPDEBUG(LOG_WARNING, (\"sifup[%d]: bad parms\\n\", pd));\n  } else {\n    netif_remove(&pc->netif);\n    if (netif_add(&pc->netif, &pc->addrs.our_ipaddr, &pc->addrs.netmask,\n                  &pc->addrs.his_ipaddr, (void *)(size_t)pd, pppifNetifInit, ip_input)) {\n      netif_set_up(&pc->netif);\n      pc->if_up = 1;\n      pc->errCode = PPPERR_NONE;\n\n      PPPDEBUG(LOG_DEBUG, (\"sifup: unit %d: linkStatusCB=%p errCode=%d\\n\", pd, pc->linkStatusCB, pc->errCode));\n      if (pc->linkStatusCB) {\n        pc->linkStatusCB(pc->linkStatusCtx, pc->errCode, &pc->addrs);\n      }\n    } else {\n      st = 0;\n      PPPDEBUG(LOG_ERR, (\"sifup[%d]: netif_add failed\\n\", pd));\n    }\n  }\n\n  return st;\n}\n\n/*\n * sifnpmode - Set the mode for handling packets for a given NP.\n */\nint\nsifnpmode(int u, int proto, enum NPmode mode)\n{\n  LWIP_UNUSED_ARG(u);\n  LWIP_UNUSED_ARG(proto);\n  LWIP_UNUSED_ARG(mode);\n  return 0;\n}\n\n/*\n * sifdown - Config the interface down and disable IP.\n */\nint\nsifdown(int pd)\n{\n  PPPControl *pc = &pppControl[pd];\n  int st = 1;\n  \n  if (pd < 0 || pd >= NUM_PPP || !pc->openFlag) {\n    st = 0;\n    PPPDEBUG(LOG_WARNING, (\"sifdown[%d]: bad parms\\n\", pd));\n  } else {\n    pc->if_up = 0;\n    /* make sure the netif status callback is called */\n    netif_set_down(&pc->netif);\n    netif_remove(&pc->netif);\n    PPPDEBUG(LOG_DEBUG, (\"sifdown: unit %d: linkStatusCB=%p errCode=%d\\n\", pd, pc->linkStatusCB, pc->errCode));\n    if (pc->linkStatusCB) {\n      pc->linkStatusCB(pc->linkStatusCtx, PPPERR_CONNECT, NULL);\n    }\n  }\n  return st;\n}\n\n/**\n * sifaddr - Config the interface IP addresses and netmask.\n * @param pd Interface unit ???\n * @param o Our IP address ???\n * @param h His IP address ???\n * @param m IP subnet mask ???\n * @param ns1 Primary DNS\n * @param ns2 Secondary DNS\n */\nint\nsifaddr( int pd, u32_t o, u32_t h, u32_t m, u32_t ns1, u32_t ns2)\n{\n  PPPControl *pc = &pppControl[pd];\n  int st = 1;\n  \n  if (pd < 0 || pd >= NUM_PPP || !pc->openFlag) {\n    st = 0;\n    PPPDEBUG(LOG_WARNING, (\"sifup[%d]: bad parms\\n\", pd));\n  } else {\n    SMEMCPY(&pc->addrs.our_ipaddr, &o, sizeof(o));\n    SMEMCPY(&pc->addrs.his_ipaddr, &h, sizeof(h));\n    SMEMCPY(&pc->addrs.netmask, &m, sizeof(m));\n    SMEMCPY(&pc->addrs.dns1, &ns1, sizeof(ns1));\n    SMEMCPY(&pc->addrs.dns2, &ns2, sizeof(ns2));\n  }\n  return st;\n}\n\n/**\n * cifaddr - Clear the interface IP addresses, and delete routes\n * through the interface if possible.\n * @param pd Interface unit ???\n * @param o Our IP address ???\n * @param h IP broadcast address ???\n */\nint\ncifaddr( int pd, u32_t o, u32_t h)\n{\n  PPPControl *pc = &pppControl[pd];\n  int st = 1;\n  \n  LWIP_UNUSED_ARG(o);\n  LWIP_UNUSED_ARG(h);\n  if (pd < 0 || pd >= NUM_PPP || !pc->openFlag) {\n    st = 0;\n    PPPDEBUG(LOG_WARNING, (\"sifup[%d]: bad parms\\n\", pd));\n  } else {\n    IP4_ADDR(&pc->addrs.our_ipaddr, 0,0,0,0);\n    IP4_ADDR(&pc->addrs.his_ipaddr, 0,0,0,0);\n    IP4_ADDR(&pc->addrs.netmask, 255,255,255,0);\n    IP4_ADDR(&pc->addrs.dns1, 0,0,0,0);\n    IP4_ADDR(&pc->addrs.dns2, 0,0,0,0);\n  }\n  return st;\n}\n\n/*\n * sifdefaultroute - assign a default route through the address given.\n */\nint\nsifdefaultroute(int pd, u32_t l, u32_t g)\n{\n  PPPControl *pc = &pppControl[pd];\n  int st = 1;\n\n  LWIP_UNUSED_ARG(l);\n  LWIP_UNUSED_ARG(g);\n\n  if (pd < 0 || pd >= NUM_PPP || !pc->openFlag) {\n    st = 0;\n    PPPDEBUG(LOG_WARNING, (\"sifup[%d]: bad parms\\n\", pd));\n  } else {\n    netif_set_default(&pc->netif);\n  }\n\n  /* TODO: check how PPP handled the netMask, previously not set by ipSetDefault */\n\n  return st;\n}\n\n/*\n * cifdefaultroute - delete a default route through the address given.\n */\nint\ncifdefaultroute(int pd, u32_t l, u32_t g)\n{\n  PPPControl *pc = &pppControl[pd];\n  int st = 1;\n\n  LWIP_UNUSED_ARG(l);\n  LWIP_UNUSED_ARG(g);\n\n  if (pd < 0 || pd >= NUM_PPP || !pc->openFlag) {\n    st = 0;\n    PPPDEBUG(LOG_WARNING, (\"sifup[%d]: bad parms\\n\", pd));\n  } else {\n    netif_set_default(NULL);\n  }\n\n  return st;\n}\n\n/**********************************/\n/*** LOCAL FUNCTION DEFINITIONS ***/\n/**********************************/\n\n#if PPPOS_SUPPORT && PPP_INPROC_OWNTHREAD\n/* The main PPP process function.  This implements the state machine according\n * to section 4 of RFC 1661: The Point-To-Point Protocol. */\nstatic void\npppInputThread(void *arg)\n{\n  int count;\n  PPPControlRx *pcrx = arg;\n\n  while (lcp_phase[pcrx->pd] != PHASE_DEAD) {\n    count = sio_read(pcrx->fd, pcrx->rxbuf, PPPOS_RX_BUFSIZE);\n    if(count > 0) {\n      pppInProc(pcrx, pcrx->rxbuf, count);\n    } else {\n      /* nothing received, give other tasks a chance to run */\n      sys_msleep(1);\n    }\n  }\n}\n#endif /* PPPOS_SUPPORT && PPP_INPROC_OWNTHREAD */\n\n#if PPPOE_SUPPORT\n\nvoid\npppOverEthernetInitFailed(int pd)\n{\n  PPPControl* pc;\n\n  pppHup(pd);\n  pppStop(pd);\n\n  pc = &pppControl[pd];\n  pppoe_destroy(&pc->netif);\n  pc->openFlag = 0;\n\n  if(pc->linkStatusCB) {\n    pc->linkStatusCB(pc->linkStatusCtx, pc->errCode ? pc->errCode : PPPERR_PROTOCOL, NULL);\n  }\n}\n\nstatic void\npppOverEthernetLinkStatusCB(int pd, int up)\n{\n  if(up) {\n    PPPDEBUG(LOG_INFO, (\"pppOverEthernetLinkStatusCB: unit %d: Connecting\\n\", pd));\n    pppStart(pd);\n  } else {\n    pppOverEthernetInitFailed(pd);\n  }\n}\n#endif /* PPPOE_SUPPORT */\n\nstruct pbuf *\npppSingleBuf(struct pbuf *p)\n{\n  struct pbuf *q, *b;\n  u_char *pl;\n\n  if(p->tot_len == p->len) {\n    return p;\n  }\n\n  q = pbuf_alloc(PBUF_RAW, p->tot_len, PBUF_RAM);\n  if(!q) {\n    PPPDEBUG(LOG_ERR,\n             (\"pppSingleBuf: unable to alloc new buf (%d)\\n\", p->tot_len));\n    return p; /* live dangerously */\n  }\n\n  for(b = p, pl = q->payload; b != NULL; b = b->next) {\n    MEMCPY(pl, b->payload, b->len);\n    pl += b->len;\n  }\n\n  pbuf_free(p);\n\n  return q;\n}\n\nstruct pppInputHeader {\n  int unit;\n  u16_t proto;\n};\n\n/*\n * Pass the processed input packet to the appropriate handler.\n * This function and all handlers run in the context of the tcpip_thread\n */\nstatic void\npppInput(void *arg)\n{\n  struct pbuf *nb = (struct pbuf *)arg;\n  u16_t protocol;\n  int pd;\n\n  pd = ((struct pppInputHeader *)nb->payload)->unit;\n  protocol = ((struct pppInputHeader *)nb->payload)->proto;\n    \n  if(pbuf_header(nb, -(int)sizeof(struct pppInputHeader))) {\n    LWIP_ASSERT(\"pbuf_header failed\\n\", 0);\n    goto drop;\n  }\n\n  LINK_STATS_INC(link.recv);\n  snmp_inc_ifinucastpkts(&pppControl[pd].netif);\n  snmp_add_ifinoctets(&pppControl[pd].netif, nb->tot_len);\n\n  /*\n   * Toss all non-LCP packets unless LCP is OPEN.\n   * Until we get past the authentication phase, toss all packets\n   * except LCP, LQR and authentication packets.\n   */\n  if((lcp_phase[pd] <= PHASE_AUTHENTICATE) && (protocol != PPP_LCP)) {\n    if(!((protocol == PPP_LQR) || (protocol == PPP_PAP) || (protocol == PPP_CHAP)) ||\n        (lcp_phase[pd] != PHASE_AUTHENTICATE)) {\n      PPPDEBUG(LOG_INFO, (\"pppInput: discarding proto 0x%\"X16_F\" in phase %d\\n\", protocol, lcp_phase[pd]));\n      goto drop;\n    }\n  }\n\n  switch(protocol) {\n    case PPP_VJC_COMP:      /* VJ compressed TCP */\n#if PPPOS_SUPPORT && VJ_SUPPORT\n      PPPDEBUG(LOG_INFO, (\"pppInput[%d]: vj_comp in pbuf len=%d\\n\", pd, nb->len));\n      /*\n       * Clip off the VJ header and prepend the rebuilt TCP/IP header and\n       * pass the result to IP.\n       */\n      if ((vj_uncompress_tcp(&nb, &pppControl[pd].vjComp) >= 0) && (pppControl[pd].netif.input)) {\n        pppControl[pd].netif.input(nb, &pppControl[pd].netif);\n        return;\n      }\n      /* Something's wrong so drop it. */\n      PPPDEBUG(LOG_WARNING, (\"pppInput[%d]: Dropping VJ compressed\\n\", pd));\n#else  /* PPPOS_SUPPORT && VJ_SUPPORT */\n      /* No handler for this protocol so drop the packet. */\n      PPPDEBUG(LOG_INFO, (\"pppInput[%d]: drop VJ Comp in %d:%s\\n\", pd, nb->len, nb->payload));\n#endif /* PPPOS_SUPPORT && VJ_SUPPORT */\n      break;\n\n    case PPP_VJC_UNCOMP:    /* VJ uncompressed TCP */\n#if PPPOS_SUPPORT && VJ_SUPPORT\n      PPPDEBUG(LOG_INFO, (\"pppInput[%d]: vj_un in pbuf len=%d\\n\", pd, nb->len));\n      /*\n       * Process the TCP/IP header for VJ header compression and then pass\n       * the packet to IP.\n       */\n      if ((vj_uncompress_uncomp(nb, &pppControl[pd].vjComp) >= 0) && pppControl[pd].netif.input) {\n        pppControl[pd].netif.input(nb, &pppControl[pd].netif);\n        return;\n      }\n      /* Something's wrong so drop it. */\n      PPPDEBUG(LOG_WARNING, (\"pppInput[%d]: Dropping VJ uncompressed\\n\", pd));\n#else  /* PPPOS_SUPPORT && VJ_SUPPORT */\n      /* No handler for this protocol so drop the packet. */\n      PPPDEBUG(LOG_INFO,\n               (\"pppInput[%d]: drop VJ UnComp in %d:.*H\\n\", \n                pd, nb->len, LWIP_MIN(nb->len * 2, 40), nb->payload));\n#endif /* PPPOS_SUPPORT && VJ_SUPPORT */\n      break;\n\n    case PPP_IP:            /* Internet Protocol */\n      PPPDEBUG(LOG_INFO, (\"pppInput[%d]: ip in pbuf len=%d\\n\", pd, nb->len));\n      if (pppControl[pd].netif.input) {\n        pppControl[pd].netif.input(nb, &pppControl[pd].netif);\n        return;\n      }\n      break;\n\n    default: {\n      struct protent *protp;\n      int i;\n\n      /*\n       * Upcall the proper protocol input routine.\n       */\n      for (i = 0; (protp = ppp_protocols[i]) != NULL; ++i) {\n        if (protp->protocol == protocol && protp->enabled_flag) {\n          PPPDEBUG(LOG_INFO, (\"pppInput[%d]: %s len=%d\\n\", pd, protp->name, nb->len));\n          nb = pppSingleBuf(nb);\n          (*protp->input)(pd, nb->payload, nb->len);\n          PPPDEBUG(LOG_DETAIL, (\"pppInput[%d]: packet processed\\n\", pd));\n          goto out;\n        }\n      }\n\n      /* No handler for this protocol so reject the packet. */\n      PPPDEBUG(LOG_INFO, (\"pppInput[%d]: rejecting unsupported proto 0x%\"X16_F\" len=%d\\n\", pd, protocol, nb->len));\n      if (pbuf_header(nb, sizeof(protocol))) {\n        LWIP_ASSERT(\"pbuf_header failed\\n\", 0);\n        goto drop;\n      }\n#if BYTE_ORDER == LITTLE_ENDIAN\n      protocol = htons(protocol);\n#endif /* BYTE_ORDER == LITTLE_ENDIAN */\n      SMEMCPY(nb->payload, &protocol, sizeof(protocol));\n      lcp_sprotrej(pd, nb->payload, nb->len);\n    }\n    break;\n  }\n\ndrop:\n  LINK_STATS_INC(link.drop);\n  snmp_inc_ifindiscards(&pppControl[pd].netif);\n\nout:\n  pbuf_free(nb);\n  return;\n}\n\n#if PPPOS_SUPPORT\n/*\n * Drop the input packet.\n */\nstatic void\npppFreeCurrentInputPacket(PPPControlRx *pcrx)\n{\n  if (pcrx->inHead != NULL) {\n    if (pcrx->inTail && (pcrx->inTail != pcrx->inHead)) {\n      pbuf_free(pcrx->inTail);\n    }\n    pbuf_free(pcrx->inHead);\n    pcrx->inHead = NULL;\n  }\n  pcrx->inTail = NULL;\n}\n\n/*\n * Drop the input packet and increase error counters.\n */\nstatic void\npppDrop(PPPControlRx *pcrx)\n{\n  if (pcrx->inHead != NULL) {\n#if 0\n    PPPDEBUG(LOG_INFO, (\"pppDrop: %d:%.*H\\n\", pcrx->inHead->len, min(60, pcrx->inHead->len * 2), pcrx->inHead->payload));\n#endif\n    PPPDEBUG(LOG_INFO, (\"pppDrop: pbuf len=%d, addr %p\\n\", pcrx->inHead->len, (void*)pcrx->inHead));\n  }\n  pppFreeCurrentInputPacket(pcrx);\n#if VJ_SUPPORT\n  vj_uncompress_err(&pppControl[pcrx->pd].vjComp);\n#endif /* VJ_SUPPORT */\n\n  LINK_STATS_INC(link.drop);\n  snmp_inc_ifindiscards(&pppControl[pcrx->pd].netif);\n}\n\n#if !PPP_INPROC_OWNTHREAD\n/** Pass received raw characters to PPPoS to be decoded. This function is\n * thread-safe and can be called from a dedicated RX-thread or from a main-loop.\n *\n * @param pd PPP descriptor index, returned by pppOpen()\n * @param data received data\n * @param len length of received data\n */\nvoid\npppos_input(int pd, u_char* data, int len)\n{\n  pppInProc(&pppControl[pd].rx, data, len);\n}\n#endif\n\n/**\n * Process a received octet string.\n */\nstatic void\npppInProc(PPPControlRx *pcrx, u_char *s, int l)\n{\n  struct pbuf *nextNBuf;\n  u_char curChar;\n  u_char escaped;\n  SYS_ARCH_DECL_PROTECT(lev);\n\n  PPPDEBUG(LOG_DEBUG, (\"pppInProc[%d]: got %d bytes\\n\", pcrx->pd, l));\n  while (l-- > 0) {\n    curChar = *s++;\n\n    SYS_ARCH_PROTECT(lev);\n    escaped = ESCAPE_P(pcrx->inACCM, curChar);\n    SYS_ARCH_UNPROTECT(lev);\n    /* Handle special characters. */\n    if (escaped) {\n      /* Check for escape sequences. */\n      /* XXX Note that this does not handle an escaped 0x5d character which\n       * would appear as an escape character.  Since this is an ASCII ']'\n       * and there is no reason that I know of to escape it, I won't complicate\n       * the code to handle this case. GLL */\n      if (curChar == PPP_ESCAPE) {\n        pcrx->inEscaped = 1;\n      /* Check for the flag character. */\n      } else if (curChar == PPP_FLAG) {\n        /* If this is just an extra flag character, ignore it. */\n        if (pcrx->inState <= PDADDRESS) {\n          /* ignore it */;\n        /* If we haven't received the packet header, drop what has come in. */\n        } else if (pcrx->inState < PDDATA) {\n          PPPDEBUG(LOG_WARNING,\n                   (\"pppInProc[%d]: Dropping incomplete packet %d\\n\", \n                    pcrx->pd, pcrx->inState));\n          LINK_STATS_INC(link.lenerr);\n          pppDrop(pcrx);\n        /* If the fcs is invalid, drop the packet. */\n        } else if (pcrx->inFCS != PPP_GOODFCS) {\n          PPPDEBUG(LOG_INFO,\n                   (\"pppInProc[%d]: Dropping bad fcs 0x%\"X16_F\" proto=0x%\"X16_F\"\\n\", \n                    pcrx->pd, pcrx->inFCS, pcrx->inProtocol));\n          /* Note: If you get lots of these, check for UART frame errors or try different baud rate */\n          LINK_STATS_INC(link.chkerr);\n          pppDrop(pcrx);\n        /* Otherwise it's a good packet so pass it on. */\n        } else {\n          struct pbuf *inp;\n          /* Trim off the checksum. */\n          if(pcrx->inTail->len >= 2) {\n            pcrx->inTail->len -= 2;\n\n            pcrx->inTail->tot_len = pcrx->inTail->len;\n            if (pcrx->inTail != pcrx->inHead) {\n              pbuf_cat(pcrx->inHead, pcrx->inTail);\n            }\n          } else {\n            pcrx->inTail->tot_len = pcrx->inTail->len;\n            if (pcrx->inTail != pcrx->inHead) {\n              pbuf_cat(pcrx->inHead, pcrx->inTail);\n            }\n\n            pbuf_realloc(pcrx->inHead, pcrx->inHead->tot_len - 2);\n          }\n\n          /* Dispatch the packet thereby consuming it. */\n          inp = pcrx->inHead;\n          /* Packet consumed, release our references. */\n          pcrx->inHead = NULL;\n          pcrx->inTail = NULL;\n#if PPP_INPROC_MULTITHREADED\n          if(tcpip_callback_with_block(pppInput, inp, 0) != ERR_OK) {\n            PPPDEBUG(LOG_ERR, (\"pppInProc[%d]: tcpip_callback() failed, dropping packet\\n\", pcrx->pd));\n            pbuf_free(inp);\n            LINK_STATS_INC(link.drop);\n            snmp_inc_ifindiscards(&pppControl[pcrx->pd].netif);\n          }\n#else /* PPP_INPROC_MULTITHREADED */\n          pppInput(inp);\n#endif /* PPP_INPROC_MULTITHREADED */\n        }\n\n        /* Prepare for a new packet. */\n        pcrx->inFCS = PPP_INITFCS;\n        pcrx->inState = PDADDRESS;\n        pcrx->inEscaped = 0;\n      /* Other characters are usually control characters that may have\n       * been inserted by the physical layer so here we just drop them. */\n      } else {\n        PPPDEBUG(LOG_WARNING,\n                 (\"pppInProc[%d]: Dropping ACCM char <%d>\\n\", pcrx->pd, curChar));\n      }\n    /* Process other characters. */\n    } else {\n      /* Unencode escaped characters. */\n      if (pcrx->inEscaped) {\n        pcrx->inEscaped = 0;\n        curChar ^= PPP_TRANS;\n      }\n\n      /* Process character relative to current state. */\n      switch(pcrx->inState) {\n        case PDIDLE:                    /* Idle state - waiting. */\n          /* Drop the character if it's not 0xff\n           * we would have processed a flag character above. */\n          if (curChar != PPP_ALLSTATIONS) {\n            break;\n          }\n\n        /* Fall through */\n        case PDSTART:                   /* Process start flag. */\n          /* Prepare for a new packet. */\n          pcrx->inFCS = PPP_INITFCS;\n\n        /* Fall through */\n        case PDADDRESS:                 /* Process address field. */\n          if (curChar == PPP_ALLSTATIONS) {\n            pcrx->inState = PDCONTROL;\n            break;\n          }\n          /* Else assume compressed address and control fields so\n           * fall through to get the protocol... */\n        case PDCONTROL:                 /* Process control field. */\n          /* If we don't get a valid control code, restart. */\n          if (curChar == PPP_UI) {\n            pcrx->inState = PDPROTOCOL1;\n            break;\n          }\n#if 0\n          else {\n            PPPDEBUG(LOG_WARNING,\n                     (\"pppInProc[%d]: Invalid control <%d>\\n\", pcrx->pd, curChar));\n            pcrx->inState = PDSTART;\n          }\n#endif\n        case PDPROTOCOL1:               /* Process protocol field 1. */\n          /* If the lower bit is set, this is the end of the protocol\n           * field. */\n          if (curChar & 1) {\n            pcrx->inProtocol = curChar;\n            pcrx->inState = PDDATA;\n          } else {\n            pcrx->inProtocol = (u_int)curChar << 8;\n            pcrx->inState = PDPROTOCOL2;\n          }\n          break;\n        case PDPROTOCOL2:               /* Process protocol field 2. */\n          pcrx->inProtocol |= curChar;\n          pcrx->inState = PDDATA;\n          break;\n        case PDDATA:                    /* Process data byte. */\n          /* Make space to receive processed data. */\n          if (pcrx->inTail == NULL || pcrx->inTail->len == PBUF_POOL_BUFSIZE) {\n            if (pcrx->inTail != NULL) {\n              pcrx->inTail->tot_len = pcrx->inTail->len;\n              if (pcrx->inTail != pcrx->inHead) {\n                pbuf_cat(pcrx->inHead, pcrx->inTail);\n                /* give up the inTail reference now */\n                pcrx->inTail = NULL;\n              }\n            }\n            /* If we haven't started a packet, we need a packet header. */\n            nextNBuf = pbuf_alloc(PBUF_RAW, 0, PBUF_POOL);\n            if (nextNBuf == NULL) {\n              /* No free buffers.  Drop the input packet and let the\n               * higher layers deal with it.  Continue processing\n               * the received pbuf chain in case a new packet starts. */\n              PPPDEBUG(LOG_ERR, (\"pppInProc[%d]: NO FREE MBUFS!\\n\", pcrx->pd));\n              LINK_STATS_INC(link.memerr);\n              pppDrop(pcrx);\n              pcrx->inState = PDSTART;  /* Wait for flag sequence. */\n              break;\n            }\n            if (pcrx->inHead == NULL) {\n              struct pppInputHeader *pih = nextNBuf->payload;\n\n              pih->unit = pcrx->pd;\n              pih->proto = pcrx->inProtocol;\n\n              nextNBuf->len += sizeof(*pih);\n\n              pcrx->inHead = nextNBuf;\n            }\n            pcrx->inTail = nextNBuf;\n          }\n          /* Load character into buffer. */\n          ((u_char*)pcrx->inTail->payload)[pcrx->inTail->len++] = curChar;\n          break;\n      }\n\n      /* update the frame check sequence number. */\n      pcrx->inFCS = PPP_FCS(pcrx->inFCS, curChar);\n    }\n  } /* while (l-- > 0), all bytes processed */\n\n  avRandomize();\n}\n#endif /* PPPOS_SUPPORT */\n\n#if PPPOE_SUPPORT\nvoid\npppInProcOverEthernet(int pd, struct pbuf *pb)\n{\n  struct pppInputHeader *pih;\n  u16_t inProtocol;\n\n  if(pb->len < sizeof(inProtocol)) {\n    PPPDEBUG(LOG_ERR, (\"pppInProcOverEthernet: too small for protocol field\\n\"));\n    goto drop;\n  }\n\n  inProtocol = (((u8_t *)pb->payload)[0] << 8) | ((u8_t*)pb->payload)[1];\n\n  /* make room for pppInputHeader - should not fail */\n  if (pbuf_header(pb, sizeof(*pih) - sizeof(inProtocol)) != 0) {\n    PPPDEBUG(LOG_ERR, (\"pppInProcOverEthernet: could not allocate room for header\\n\"));\n    goto drop;\n  }\n\n  pih = pb->payload;\n\n  pih->unit = pd;\n  pih->proto = inProtocol;\n\n  /* Dispatch the packet thereby consuming it. */\n  pppInput(pb);\n  return;\n\ndrop:\n  LINK_STATS_INC(link.drop);\n  snmp_inc_ifindiscards(&pppControl[pd].netif);\n  pbuf_free(pb);\n  return;\n}\n#endif /* PPPOE_SUPPORT */\n\n#if LWIP_NETIF_STATUS_CALLBACK\n/** Set the status callback of a PPP's netif\n *\n * @param pd The PPP descriptor returned by pppOpen()\n * @param status_callback pointer to the status callback function\n *\n * @see netif_set_status_callback\n */\nvoid\nppp_set_netif_statuscallback(int pd, netif_status_callback_fn status_callback)\n{\n  netif_set_status_callback(&pppControl[pd].netif, status_callback); \n}\n#endif /* LWIP_NETIF_STATUS_CALLBACK */\n\n#if LWIP_NETIF_LINK_CALLBACK\n/** Set the link callback of a PPP's netif\n *\n * @param pd The PPP descriptor returned by pppOpen()\n * @param link_callback pointer to the link callback function\n *\n * @see netif_set_link_callback\n */\nvoid\nppp_set_netif_linkcallback(int pd, netif_status_callback_fn link_callback)\n{\n  netif_set_link_callback(&pppControl[pd].netif, link_callback); \n}\n#endif /* LWIP_NETIF_LINK_CALLBACK */\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/ppp.h",
    "content": "/*****************************************************************************\n* ppp.h - Network Point to Point Protocol header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-11-05 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc.\n*   Original derived from BSD codes.\n*****************************************************************************/\n\n#ifndef PPP_H\n#define PPP_H\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"lwip/def.h\"\n#include \"lwip/sio.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/timers.h\"\n\n\n#ifndef __u_char_defined\n\n/* Type definitions for BSD code. */\ntypedef unsigned long  u_long;\ntypedef unsigned int   u_int;\ntypedef unsigned short u_short;\ntypedef unsigned char  u_char;\n\n#endif\n\n\n/*************************\n*** PUBLIC DEFINITIONS ***\n*************************/\n\n/* Error codes. */\n#define PPPERR_NONE      0 /* No error. */\n#define PPPERR_PARAM    -1 /* Invalid parameter. */\n#define PPPERR_OPEN     -2 /* Unable to open PPP session. */\n#define PPPERR_DEVICE   -3 /* Invalid I/O device for PPP. */\n#define PPPERR_ALLOC    -4 /* Unable to allocate resources. */\n#define PPPERR_USER     -5 /* User interrupt. */\n#define PPPERR_CONNECT  -6 /* Connection lost. */\n#define PPPERR_AUTHFAIL -7 /* Failed authentication challenge. */\n#define PPPERR_PROTOCOL -8 /* Failed to meet protocol. */\n\n/*\n * PPP IOCTL commands.\n */\n/*\n * Get the up status - 0 for down, non-zero for up.  The argument must\n * point to an int.\n */\n#define PPPCTLG_UPSTATUS 100 /* Get the up status - 0 down else up */\n#define PPPCTLS_ERRCODE  101 /* Set the error code */\n#define PPPCTLG_ERRCODE  102 /* Get the error code */\n#define PPPCTLG_FD       103 /* Get the fd associated with the ppp */\n\n/************************\n*** PUBLIC DATA TYPES ***\n************************/\n\nstruct ppp_addrs {\n  ip_addr_t our_ipaddr, his_ipaddr, netmask, dns1, dns2;\n};\n\n\n/***********************\n*** PUBLIC FUNCTIONS ***\n***********************/\n\n/* Initialize the PPP subsystem. */\nvoid pppInit(void);\n\n/* Warning: Using PPPAUTHTYPE_ANY might have security consequences.\n * RFC 1994 says:\n *\n * In practice, within or associated with each PPP server, there is a\n * database which associates \"user\" names with authentication\n * information (\"secrets\").  It is not anticipated that a particular\n * named user would be authenticated by multiple methods.  This would\n * make the user vulnerable to attacks which negotiate the least secure\n * method from among a set (such as PAP rather than CHAP).  If the same\n * secret was used, PAP would reveal the secret to be used later with\n * CHAP.\n *\n * Instead, for each user name there should be an indication of exactly\n * one method used to authenticate that user name.  If a user needs to\n * make use of different authentication methods under different\n * circumstances, then distinct user names SHOULD be employed, each of\n * which identifies exactly one authentication method.\n *\n */\nenum pppAuthType {\n    PPPAUTHTYPE_NONE,\n    PPPAUTHTYPE_ANY,\n    PPPAUTHTYPE_PAP,\n    PPPAUTHTYPE_CHAP\n};\n\nvoid pppSetAuth(enum pppAuthType authType, const char *user, const char *passwd);\n\n/* Link status callback function prototype */\ntypedef void (*pppLinkStatusCB_fn)(void *ctx, int errCode, void *arg);\n\n#if PPPOS_SUPPORT\n/*\n * Open a new PPP connection using the given serial I/O device.\n * This initializes the PPP control block but does not\n * attempt to negotiate the LCP session.\n * Return a new PPP connection descriptor on success or\n * an error code (negative) on failure. \n */\nint pppOverSerialOpen(sio_fd_t fd, pppLinkStatusCB_fn linkStatusCB, void *linkStatusCtx);\n#endif /* PPPOS_SUPPORT */\n\n#if PPPOE_SUPPORT\n/*\n * Open a new PPP Over Ethernet (PPPOE) connection.\n */\nint pppOverEthernetOpen(struct netif *ethif, const char *service_name, const char *concentrator_name,\n                        pppLinkStatusCB_fn linkStatusCB, void *linkStatusCtx);\n#endif /* PPPOE_SUPPORT */\n\n/* for source code compatibility */\n#define pppOpen(fd,cb,ls) pppOverSerialOpen(fd,cb,ls)\n\n/*\n * Close a PPP connection and release the descriptor. \n * Any outstanding packets in the queues are dropped.\n * Return 0 on success, an error code on failure. \n */\nint pppClose(int pd);\n\n/*\n * Indicate to the PPP process that the line has disconnected.\n */\nvoid pppSigHUP(int pd);\n\n/*\n * Get and set parameters for the given connection.\n * Return 0 on success, an error code on failure. \n */\nint  pppIOCtl(int pd, int cmd, void *arg);\n\n/*\n * Return the Maximum Transmission Unit for the given PPP connection.\n */\nu_short pppMTU(int pd);\n\n#if PPPOS_SUPPORT && !PPP_INPROC_OWNTHREAD\n/*\n * PPP over Serial: this is the input function to be called for received data.\n * If PPP_INPROC_OWNTHREAD==1, a seperate input thread using the blocking\n * sio_read() is used, so this is deactivated.\n */\nvoid pppos_input(int pd, u_char* data, int len);\n#endif /* PPPOS_SUPPORT && !PPP_INPROC_OWNTHREAD */\n\n\n#if LWIP_NETIF_STATUS_CALLBACK\n/* Set an lwIP-style status-callback for the selected PPP device */\nvoid ppp_set_netif_statuscallback(int pd, netif_status_callback_fn status_callback);\n#endif /* LWIP_NETIF_STATUS_CALLBACK */\n#if LWIP_NETIF_LINK_CALLBACK\n/* Set an lwIP-style link-callback for the selected PPP device */\nvoid ppp_set_netif_linkcallback(int pd, netif_status_callback_fn link_callback);\n#endif /* LWIP_NETIF_LINK_CALLBACK */\n\n#endif /* PPP_SUPPORT */\n\n#endif /* PPP_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/ppp_impl.h",
    "content": "/*****************************************************************************\n* ppp.h - Network Point to Point Protocol header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1997 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 97-11-05 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc.\n*   Original derived from BSD codes.\n*****************************************************************************/\n\n#ifndef PPP_IMPL_H\n#define PPP_IMPL_H\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp.h\"\n#include \"lwip/def.h\"\n#include \"lwip/sio.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/mem.h\"\n#include \"lwip/netif.h\"\n#include \"lwip/sys.h\"\n#include \"lwip/timers.h\"\n\n/** Some defines for code we skip compared to the original pppd.\n *  These are just here to minimise the use of the ugly \"#if 0\". */\n#define PPP_ADDITIONAL_CALLBACKS  0\n\n/** Some error checks to test for unsupported code */\n#if CBCP_SUPPORT\n#error \"CBCP is not supported in lwIP PPP\"\n#endif\n#if CCP_SUPPORT\n#error \"CCP is not supported in lwIP PPP\"\n#endif\n\n/*\n * pppd.h - PPP daemon global declarations.\n *\n * Copyright (c) 1989 Carnegie Mellon University.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by Carnegie Mellon University.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n */\n/*\n * ppp_defs.h - PPP definitions.\n *\n * Copyright (c) 1994 The Australian National University.\n * All rights reserved.\n *\n * Permission to use, copy, modify, and distribute this software and its\n * documentation is hereby granted, provided that the above copyright\n * notice appears in all copies.  This software is provided without any\n * warranty, express or implied. The Australian National University\n * makes no representations about the suitability of this software for\n * any purpose.\n *\n * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY\n * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES\n * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF\n * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY\n * OF SUCH DAMAGE.\n *\n * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,\n * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS\n * ON AN \"AS IS\" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO\n * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,\n * OR MODIFICATIONS.\n */\n\n#define TIMEOUT(f, a, t)    do { sys_untimeout((f), (a)); sys_timeout((t)*1000, (f), (a)); } while(0)\n#define UNTIMEOUT(f, a)     sys_untimeout((f), (a))\n\n\n/*\n * Constants and structures defined by the internet system,\n * Per RFC 790, September 1981, and numerous additions.\n */\n\n/*\n * The basic PPP frame.\n */\n#define PPP_HDRLEN      4       /* octets for standard ppp header */\n#define PPP_FCSLEN      2       /* octets for FCS */\n\n\n/*\n * Significant octet values.\n */\n#define PPP_ALLSTATIONS 0xff    /* All-Stations broadcast address */\n#define PPP_UI          0x03    /* Unnumbered Information */\n#define PPP_FLAG        0x7e    /* Flag Sequence */\n#define PPP_ESCAPE      0x7d    /* Asynchronous Control Escape */\n#define PPP_TRANS       0x20    /* Asynchronous transparency modifier */\n\n/*\n * Protocol field values.\n */\n#define PPP_IP          0x21    /* Internet Protocol */\n#define PPP_AT          0x29    /* AppleTalk Protocol */\n#define PPP_VJC_COMP    0x2d    /* VJ compressed TCP */\n#define PPP_VJC_UNCOMP  0x2f    /* VJ uncompressed TCP */\n#define PPP_COMP        0xfd    /* compressed packet */\n#define PPP_IPCP        0x8021  /* IP Control Protocol */\n#define PPP_ATCP        0x8029  /* AppleTalk Control Protocol */\n#define PPP_CCP         0x80fd  /* Compression Control Protocol */\n#define PPP_LCP         0xc021  /* Link Control Protocol */\n#define PPP_PAP         0xc023  /* Password Authentication Protocol */\n#define PPP_LQR         0xc025  /* Link Quality Report protocol */\n#define PPP_CHAP        0xc223  /* Cryptographic Handshake Auth. Protocol */\n#define PPP_CBCP        0xc029  /* Callback Control Protocol */\n\n/*\n * Values for FCS calculations.\n */\n#define PPP_INITFCS     0xffff  /* Initial FCS value */\n#define PPP_GOODFCS     0xf0b8  /* Good final FCS value */\n#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])\n\n/*\n * Extended asyncmap - allows any character to be escaped.\n */\ntypedef u_char  ext_accm[32];\n\n/*\n * What to do with network protocol (NP) packets.\n */\nenum NPmode {\n  NPMODE_PASS,        /* pass the packet through */\n  NPMODE_DROP,        /* silently drop the packet */\n  NPMODE_ERROR,       /* return an error */\n  NPMODE_QUEUE        /* save it up for later. */\n};\n\n/*\n * Inline versions of get/put char/short/long.\n * Pointer is advanced; we assume that both arguments\n * are lvalues and will already be in registers.\n * cp MUST be u_char *.\n */\n#define GETCHAR(c, cp) { \\\n    (c) = *(cp)++; \\\n}\n#define PUTCHAR(c, cp) { \\\n    *(cp)++ = (u_char) (c); \\\n}\n\n\n#define GETSHORT(s, cp) { \\\n    (s) = *(cp); (cp)++; (s) <<= 8; \\\n    (s) |= *(cp); (cp)++; \\\n}\n#define PUTSHORT(s, cp) { \\\n    *(cp)++ = (u_char) ((s) >> 8); \\\n    *(cp)++ = (u_char) (s & 0xff); \\\n}\n\n#define GETLONG(l, cp) { \\\n    (l) = *(cp); (cp)++; (l) <<= 8; \\\n    (l) |= *(cp); (cp)++; (l) <<= 8; \\\n    (l) |= *(cp); (cp)++; (l) <<= 8; \\\n    (l) |= *(cp); (cp)++; \\\n}\n#define PUTLONG(l, cp) { \\\n    *(cp)++ = (u_char) ((l) >> 24); \\\n    *(cp)++ = (u_char) ((l) >> 16); \\\n    *(cp)++ = (u_char) ((l) >> 8); \\\n    *(cp)++ = (u_char) (l); \\\n}\n\n\n#define INCPTR(n, cp)   ((cp) += (n))\n#define DECPTR(n, cp)   ((cp) -= (n))\n\n#define BCMP(s0, s1, l)     memcmp((u_char *)(s0), (u_char *)(s1), (l))\n#define BCOPY(s, d, l)      MEMCPY((d), (s), (l))\n#define BZERO(s, n)         memset(s, 0, n)\n\n#if PPP_DEBUG\n#define PRINTMSG(m, l)  { m[l] = '\\0'; LWIP_DEBUGF(LOG_INFO, (\"Remote message: %s\\n\", m)); }\n#else  /* PPP_DEBUG */\n#define PRINTMSG(m, l)\n#endif /* PPP_DEBUG */\n\n/*\n * MAKEHEADER - Add PPP Header fields to a packet.\n */\n#define MAKEHEADER(p, t) { \\\n    PUTCHAR(PPP_ALLSTATIONS, p); \\\n    PUTCHAR(PPP_UI, p); \\\n    PUTSHORT(t, p); }\n\n/************************\n*** PUBLIC DATA TYPES ***\n************************/\n\n/*\n * The following struct gives the addresses of procedures to call\n * for a particular protocol.\n */\nstruct protent {\n    u_short protocol;       /* PPP protocol number */\n    /* Initialization procedure */\n    void (*init) (int unit);\n    /* Process a received packet */\n    void (*input) (int unit, u_char *pkt, int len);\n    /* Process a received protocol-reject */\n    void (*protrej) (int unit);\n    /* Lower layer has come up */\n    void (*lowerup) (int unit);\n    /* Lower layer has gone down */\n    void (*lowerdown) (int unit);\n    /* Open the protocol */\n    void (*open) (int unit);\n    /* Close the protocol */\n    void (*close) (int unit, char *reason);\n#if PPP_ADDITIONAL_CALLBACKS\n    /* Print a packet in readable form */\n    int  (*printpkt) (u_char *pkt, int len,\n              void (*printer) (void *, char *, ...),\n              void *arg);\n    /* Process a received data packet */\n    void (*datainput) (int unit, u_char *pkt, int len);\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n    int  enabled_flag;      /* 0 if protocol is disabled */\n    char *name;         /* Text name of protocol */\n#if PPP_ADDITIONAL_CALLBACKS\n    /* Check requested options, assign defaults */\n    void (*check_options) (u_long);\n    /* Configure interface for demand-dial */\n    int  (*demand_conf) (int unit);\n    /* Say whether to bring up link for this pkt */\n    int  (*active_pkt) (u_char *pkt, int len);\n#endif /* PPP_ADDITIONAL_CALLBACKS */\n};\n\n/*\n * The following structure records the time in seconds since\n * the last NP packet was sent or received.\n */\nstruct ppp_idle {\n  u_short xmit_idle;      /* seconds since last NP packet sent */\n  u_short recv_idle;      /* seconds since last NP packet received */\n};\n\nstruct ppp_settings {\n\n  u_int  disable_defaultip : 1;       /* Don't use hostname for default IP addrs */\n  u_int  auth_required     : 1;       /* Peer is required to authenticate */\n  u_int  explicit_remote   : 1;       /* remote_name specified with remotename opt */\n  u_int  refuse_pap        : 1;       /* Don't wanna auth. ourselves with PAP */\n  u_int  refuse_chap       : 1;       /* Don't wanna auth. ourselves with CHAP */\n  u_int  usehostname       : 1;       /* Use hostname for our_name */\n  u_int  usepeerdns        : 1;       /* Ask peer for DNS adds */\n\n  u_short idle_time_limit;            /* Shut down link if idle for this long */\n  int  maxconnect;                    /* Maximum connect time (seconds) */\n\n  char user       [MAXNAMELEN   + 1]; /* Username for PAP */\n  char passwd     [MAXSECRETLEN + 1]; /* Password for PAP, secret for CHAP */\n  char our_name   [MAXNAMELEN   + 1]; /* Our name for authentication purposes */\n  char remote_name[MAXNAMELEN   + 1]; /* Peer's name for authentication */\n};\n\n/*****************************\n*** PUBLIC DATA STRUCTURES ***\n*****************************/\n\n/* Buffers for outgoing packets. */\nextern u_char outpacket_buf[NUM_PPP][PPP_MRU+PPP_HDRLEN];\n\nextern struct ppp_settings ppp_settings;\n\nextern struct protent *ppp_protocols[]; /* Table of pointers to supported protocols */\n\n\n/***********************\n*** PUBLIC FUNCTIONS ***\n***********************/\n\n/*\n * Write n characters to a ppp link.\n * RETURN: >= 0 Number of characters written, -1 Failed to write to device.\n */\nint pppWrite(int pd, const u_char *s, int n);\n\nvoid pppInProcOverEthernet(int pd, struct pbuf *pb);\n\nstruct pbuf *pppSingleBuf(struct pbuf *p);\n\nvoid pppLinkTerminated(int pd);\n\nvoid pppLinkDown(int pd);\n\n/* Configure i/f transmit parameters */\nvoid ppp_send_config (int, u16_t, u32_t, int, int);\n/* Set extended transmit ACCM */\nvoid ppp_set_xaccm (int, ext_accm *);\n/* Configure i/f receive parameters */\nvoid ppp_recv_config (int, int, u32_t, int, int);\n/* Find out how long link has been idle */\nint  get_idle_time (int, struct ppp_idle *);\n\n/* Configure VJ TCP header compression */\nint  sifvjcomp (int, int, u8_t, u8_t);\n/* Configure i/f down (for IP) */\nint  sifup (int);\n/* Set mode for handling packets for proto */\nint  sifnpmode (int u, int proto, enum NPmode mode);\n/* Configure i/f down (for IP) */\nint  sifdown (int);\n/* Configure IP addresses for i/f */\nint  sifaddr (int, u32_t, u32_t, u32_t, u32_t, u32_t);\n/* Reset i/f IP addresses */\nint  cifaddr (int, u32_t, u32_t);\n/* Create default route through i/f */\nint  sifdefaultroute (int, u32_t, u32_t);\n/* Delete default route through i/f */\nint  cifdefaultroute (int, u32_t, u32_t);\n\n/* Get appropriate netmask for address */\nu32_t GetMask (u32_t); \n\n#endif /* PPP_SUPPORT */\n\n#endif /* PPP_IMPL_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/ppp_oe.c",
    "content": "/*****************************************************************************\n* ppp_oe.c - PPP Over Ethernet implementation for lwIP.\n*\n* Copyright (c) 2006 by Marc Boucher, Services Informatiques (MBSI) inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 06-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n*****************************************************************************/\n\n\n\n/* based on NetBSD: if_pppoe.c,v 1.64 2006/01/31 23:50:15 martin Exp */\n\n/*-\n * Copyright (c) 2002 The NetBSD Foundation, Inc.\n * All rights reserved.\n *\n * This code is derived from software contributed to The NetBSD Foundation\n * by Martin Husemann <martin@NetBSD.org>.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n *    notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n *    notice, this list of conditions and the following disclaimer in the\n *    documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software\n *    must display the following acknowledgement:\n *        This product includes software developed by the NetBSD\n *        Foundation, Inc. and its contributors.\n * 4. Neither the name of The NetBSD Foundation nor the names of its\n *    contributors may be used to endorse or promote products derived\n *    from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS\n * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\n * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS\n * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n\n#include \"lwip/opt.h\"\n\n#if PPPOE_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"netif/ppp_oe.h\"\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"lwip/timers.h\"\n#include \"lwip/memp.h\"\n\n#include <string.h>\n#include <stdio.h>\n\n\n/* Add a 16 bit unsigned value to a buffer pointed to by PTR */\n#define PPPOE_ADD_16(PTR, VAL) \\\n    *(PTR)++ = (u8_t)((VAL) / 256);    \\\n    *(PTR)++ = (u8_t)((VAL) % 256)\n\n/* Add a complete PPPoE header to the buffer pointed to by PTR */\n#define PPPOE_ADD_HEADER(PTR, CODE, SESS, LEN)  \\\n    *(PTR)++ = PPPOE_VERTYPE;  \\\n    *(PTR)++ = (CODE);         \\\n    PPPOE_ADD_16(PTR, SESS);   \\\n    PPPOE_ADD_16(PTR, LEN)\n\n#define PPPOE_DISC_TIMEOUT (5*1000)  /* base for quick timeout calculation */\n#define PPPOE_SLOW_RETRY   (60*1000) /* persistent retry interval */\n#define PPPOE_DISC_MAXPADI  4        /* retry PADI four times (quickly) */\n#define PPPOE_DISC_MAXPADR  2        /* retry PADR twice */\n\n#ifdef PPPOE_SERVER\n#error \"PPPOE_SERVER is not yet supported under lwIP!\"\n/* from if_spppsubr.c */\n#define IFF_PASSIVE IFF_LINK0 /* wait passively for connection */\n#endif\n\n#ifndef PPPOE_ERRORSTRING_LEN\n#define PPPOE_ERRORSTRING_LEN     64\n#endif\nstatic char pppoe_error_tmp[PPPOE_ERRORSTRING_LEN];\n\n\n/* input routines */\nstatic void pppoe_dispatch_disc_pkt(struct netif *, struct pbuf *);\n\n/* management routines */\nstatic int pppoe_do_disconnect(struct pppoe_softc *);\nstatic void pppoe_abort_connect(struct pppoe_softc *);\nstatic void pppoe_clear_softc(struct pppoe_softc *, const char *);\n\n/* internal timeout handling */\nstatic void pppoe_timeout(void *);\n\n/* sending actual protocol controll packets */\nstatic err_t pppoe_send_padi(struct pppoe_softc *);\nstatic err_t pppoe_send_padr(struct pppoe_softc *);\n#ifdef PPPOE_SERVER\nstatic err_t pppoe_send_pado(struct pppoe_softc *);\nstatic err_t pppoe_send_pads(struct pppoe_softc *);\n#endif\nstatic err_t pppoe_send_padt(struct netif *, u_int, const u8_t *);\n\n/* internal helper functions */\nstatic struct pppoe_softc * pppoe_find_softc_by_session(u_int, struct netif *);\nstatic struct pppoe_softc * pppoe_find_softc_by_hunique(u8_t *, size_t, struct netif *);\n\n/** linked list of created pppoe interfaces */\nstatic struct pppoe_softc *pppoe_softc_list;\n\nerr_t\npppoe_create(struct netif *ethif, int pd, void (*linkStatusCB)(int pd, int up), struct pppoe_softc **scptr)\n{\n  struct pppoe_softc *sc;\n\n  sc = (struct pppoe_softc *)memp_malloc(MEMP_PPPOE_IF);\n  if (sc == NULL) {\n    *scptr = NULL;\n    return ERR_MEM;\n  }\n  memset(sc, 0, sizeof(struct pppoe_softc));\n\n  /* changed to real address later */\n  MEMCPY(&sc->sc_dest, ethbroadcast.addr, sizeof(sc->sc_dest));\n\n  sc->sc_pd = pd;\n  sc->sc_linkStatusCB = linkStatusCB;\n  sc->sc_ethif = ethif;\n\n  /* put the new interface at the head of the list */\n  sc->next = pppoe_softc_list;\n  pppoe_softc_list = sc;\n\n  *scptr = sc;\n\n  return ERR_OK;\n}\n\nerr_t\npppoe_destroy(struct netif *ifp)\n{\n  struct pppoe_softc *sc, *prev = NULL;\n\n  for (sc = pppoe_softc_list; sc != NULL; prev = sc, sc = sc->next) {\n    if (sc->sc_ethif == ifp) {\n      break;\n    }\n  }\n\n  if(!(sc && (sc->sc_ethif == ifp))) {\n    return ERR_IF;\n  }\n\n  sys_untimeout(pppoe_timeout, sc);\n  if (prev == NULL) {\n    /* remove sc from the head of the list */\n    pppoe_softc_list = sc->next;\n  } else {\n    /* remove sc from the list */\n    prev->next = sc->next;\n  }\n\n#ifdef PPPOE_TODO\n  if (sc->sc_concentrator_name) {\n    mem_free(sc->sc_concentrator_name);\n  }\n  if (sc->sc_service_name) {\n    mem_free(sc->sc_service_name);\n  }\n#endif /* PPPOE_TODO */\n  memp_free(MEMP_PPPOE_IF, sc);\n\n  return ERR_OK;\n}\n\n/*\n * Find the interface handling the specified session.\n * Note: O(number of sessions open), this is a client-side only, mean\n * and lean implementation, so number of open sessions typically should\n * be 1.\n */\nstatic struct pppoe_softc *\npppoe_find_softc_by_session(u_int session, struct netif *rcvif)\n{\n  struct pppoe_softc *sc;\n\n  if (session == 0) {\n    return NULL;\n  }\n\n  for (sc = pppoe_softc_list; sc != NULL; sc = sc->next) {\n    if (sc->sc_state == PPPOE_STATE_SESSION\n        && sc->sc_session == session) {\n      if (sc->sc_ethif == rcvif) {\n        return sc;\n      } else {\n        return NULL;\n      }\n    }\n  }\n  return NULL;\n}\n\n/* Check host unique token passed and return appropriate softc pointer,\n * or NULL if token is bogus. */\nstatic struct pppoe_softc *\npppoe_find_softc_by_hunique(u8_t *token, size_t len, struct netif *rcvif)\n{\n  struct pppoe_softc *sc, *t;\n\n  if (pppoe_softc_list == NULL) {\n    return NULL;\n  }\n\n  if (len != sizeof sc) {\n    return NULL;\n  }\n  MEMCPY(&t, token, len);\n\n  for (sc = pppoe_softc_list; sc != NULL; sc = sc->next) {\n    if (sc == t) {\n      break;\n    }\n  }\n\n  if (sc == NULL) {\n    PPPDEBUG(LOG_DEBUG, (\"pppoe: alien host unique tag, no session found\\n\"));\n    return NULL;\n  }\n\n  /* should be safe to access *sc now */\n  if (sc->sc_state < PPPOE_STATE_PADI_SENT || sc->sc_state >= PPPOE_STATE_SESSION) {\n    printf(\"%c%c%\"U16_F\": host unique tag found, but it belongs to a connection in state %d\\n\",\n      sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num, sc->sc_state);\n    return NULL;\n  }\n  if (sc->sc_ethif != rcvif) {\n    printf(\"%c%c%\"U16_F\": wrong interface, not accepting host unique\\n\",\n      sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num);\n    return NULL;\n  }\n  return sc;\n}\n\nstatic void\npppoe_linkstatus_up(struct pppoe_softc *sc)\n{\n  sc->sc_linkStatusCB(sc->sc_pd, 1);\n}\n\n/* analyze and handle a single received packet while not in session state */\nstatic void\npppoe_dispatch_disc_pkt(struct netif *netif, struct pbuf *pb)\n{\n  u16_t tag, len;\n  u16_t session, plen;\n  struct pppoe_softc *sc;\n  const char *err_msg;\n  char devname[6];\n  u8_t *ac_cookie;\n  u16_t ac_cookie_len;\n#ifdef PPPOE_SERVER\n  u8_t *hunique;\n  size_t hunique_len;\n#endif\n  struct pppoehdr *ph;\n  struct pppoetag pt;\n  int off, err, errortag;\n  struct eth_hdr *ethhdr;\n\n  pb = pppSingleBuf(pb);\n\n  strcpy(devname, \"pppoe\");  /* as long as we don't know which instance */\n  err_msg = NULL;\n  errortag = 0;\n  if (pb->len < sizeof(*ethhdr)) {\n    goto done;\n  }\n  ethhdr = (struct eth_hdr *)pb->payload;\n  off = sizeof(*ethhdr);\n\n  ac_cookie = NULL;\n  ac_cookie_len = 0;\n#ifdef PPPOE_SERVER\n  hunique = NULL;\n  hunique_len = 0;\n#endif\n  session = 0;\n  if (pb->len - off < PPPOE_HEADERLEN) {\n    printf(\"pppoe: packet too short: %d\\n\", pb->len);\n    goto done;\n  }\n\n  ph = (struct pppoehdr *) (ethhdr + 1);\n  if (ph->vertype != PPPOE_VERTYPE) {\n    printf(\"pppoe: unknown version/type packet: 0x%x\\n\", ph->vertype);\n    goto done;\n  }\n  session = ntohs(ph->session);\n  plen = ntohs(ph->plen);\n  off += sizeof(*ph);\n\n  if (plen + off > pb->len) {\n    printf(\"pppoe: packet content does not fit: data available = %d, packet size = %u\\n\",\n        pb->len - off, plen);\n    goto done;\n  }\n  if(pb->tot_len == pb->len) {\n    pb->tot_len = pb->len = (u16_t)off + plen; /* ignore trailing garbage */\n  }\n  tag = 0;\n  len = 0;\n  sc = NULL;\n  while (off + sizeof(pt) <= pb->len) {\n    MEMCPY(&pt, (u8_t*)pb->payload + off, sizeof(pt));\n    tag = ntohs(pt.tag);\n    len = ntohs(pt.len);\n    if (off + sizeof(pt) + len > pb->len) {\n      printf(\"pppoe: tag 0x%x len 0x%x is too long\\n\", tag, len);\n      goto done;\n    }\n    switch (tag) {\n      case PPPOE_TAG_EOL:\n        goto breakbreak;\n      case PPPOE_TAG_SNAME:\n        break;  /* ignored */\n      case PPPOE_TAG_ACNAME:\n        break;  /* ignored */\n      case PPPOE_TAG_HUNIQUE:\n        if (sc != NULL) {\n          break;\n        }\n#ifdef PPPOE_SERVER\n        hunique = (u8_t*)pb->payload + off + sizeof(pt);\n        hunique_len = len;\n#endif\n        sc = pppoe_find_softc_by_hunique((u8_t*)pb->payload + off + sizeof(pt), len, netif);\n        if (sc != NULL) {\n          snprintf(devname, sizeof(devname), \"%c%c%\"U16_F, sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num);\n        }\n        break;\n      case PPPOE_TAG_ACCOOKIE:\n        if (ac_cookie == NULL) {\n          ac_cookie = (u8_t*)pb->payload + off + sizeof(pt);\n          ac_cookie_len = len;\n        }\n        break;\n      case PPPOE_TAG_SNAME_ERR:\n        err_msg = \"SERVICE NAME ERROR\";\n        errortag = 1;\n        break;\n      case PPPOE_TAG_ACSYS_ERR:\n        err_msg = \"AC SYSTEM ERROR\";\n        errortag = 1;\n        break;\n      case PPPOE_TAG_GENERIC_ERR:\n        err_msg = \"GENERIC ERROR\";\n        errortag = 1;\n        break;\n    }\n    if (err_msg) {\n      if (errortag && len) {\n        u16_t error_len = LWIP_MIN(len, sizeof(pppoe_error_tmp)-1);\n        strncpy(pppoe_error_tmp, (char*)pb->payload + off + sizeof(pt), error_len);\n        pppoe_error_tmp[error_len-1] = '\\0';\n        printf(\"%s: %s: %s\\n\", devname, err_msg, pppoe_error_tmp);\n      } else {\n        printf(\"%s: %s\\n\", devname, err_msg);\n      }\n      if (errortag) {\n        goto done;\n      }\n    }\n    off += sizeof(pt) + len;\n  }\n\nbreakbreak:;\n  switch (ph->code) {\n    case PPPOE_CODE_PADI:\n#ifdef PPPOE_SERVER\n      /*\n       * got service name, concentrator name, and/or host unique.\n       * ignore if we have no interfaces with IFF_PASSIVE|IFF_UP.\n       */\n      if (LIST_EMPTY(&pppoe_softc_list)) {\n        goto done;\n      }\n      LIST_FOREACH(sc, &pppoe_softc_list, sc_list) {\n        if (!(sc->sc_sppp.pp_if.if_flags & IFF_UP)) {\n          continue;\n        }\n        if (!(sc->sc_sppp.pp_if.if_flags & IFF_PASSIVE)) {\n          continue;\n        }\n        if (sc->sc_state == PPPOE_STATE_INITIAL) {\n          break;\n        }\n      }\n      if (sc == NULL) {\n        /* printf(\"pppoe: free passive interface is not found\\n\"); */\n        goto done;\n      }\n      if (hunique) {\n        if (sc->sc_hunique) {\n          mem_free(sc->sc_hunique);\n        }\n        sc->sc_hunique = mem_malloc(hunique_len);\n        if (sc->sc_hunique == NULL) {\n          goto done;\n        }\n        sc->sc_hunique_len = hunique_len;\n        MEMCPY(sc->sc_hunique, hunique, hunique_len);\n      }\n      MEMCPY(&sc->sc_dest, eh->ether_shost, sizeof sc->sc_dest);\n      sc->sc_state = PPPOE_STATE_PADO_SENT;\n      pppoe_send_pado(sc);\n      break;\n#endif /* PPPOE_SERVER */\n    case PPPOE_CODE_PADR:\n#ifdef PPPOE_SERVER\n      /*\n       * get sc from ac_cookie if IFF_PASSIVE\n       */\n      if (ac_cookie == NULL) {\n        /* be quiet if there is not a single pppoe instance */\n        printf(\"pppoe: received PADR but not includes ac_cookie\\n\");\n        goto done;\n      }\n      sc = pppoe_find_softc_by_hunique(ac_cookie, ac_cookie_len, netif);\n      if (sc == NULL) {\n        /* be quiet if there is not a single pppoe instance */\n        if (!LIST_EMPTY(&pppoe_softc_list)) {\n          printf(\"pppoe: received PADR but could not find request for it\\n\");\n        }\n        goto done;\n      }\n      if (sc->sc_state != PPPOE_STATE_PADO_SENT) {\n        printf(\"%c%c%\"U16_F\": received unexpected PADR\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num);\n        goto done;\n      }\n      if (hunique) {\n        if (sc->sc_hunique) {\n          mem_free(sc->sc_hunique);\n        }\n        sc->sc_hunique = mem_malloc(hunique_len);\n        if (sc->sc_hunique == NULL) {\n          goto done;\n        }\n        sc->sc_hunique_len = hunique_len;\n        MEMCPY(sc->sc_hunique, hunique, hunique_len);\n      }\n      pppoe_send_pads(sc);\n      sc->sc_state = PPPOE_STATE_SESSION;\n      pppoe_linkstatus_up(sc); /* notify upper layers */\n      break;\n#else\n      /* ignore, we are no access concentrator */\n      goto done;\n#endif /* PPPOE_SERVER */\n    case PPPOE_CODE_PADO:\n      if (sc == NULL) {\n        /* be quiet if there is not a single pppoe instance */\n        if (pppoe_softc_list != NULL) {\n          printf(\"pppoe: received PADO but could not find request for it\\n\");\n        }\n        goto done;\n      }\n      if (sc->sc_state != PPPOE_STATE_PADI_SENT) {\n        printf(\"%c%c%\"U16_F\": received unexpected PADO\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num);\n        goto done;\n      }\n      if (ac_cookie) {\n        sc->sc_ac_cookie_len = ac_cookie_len;\n        MEMCPY(sc->sc_ac_cookie, ac_cookie, ac_cookie_len);\n      }\n      MEMCPY(&sc->sc_dest, ethhdr->src.addr, sizeof(sc->sc_dest.addr));\n      sys_untimeout(pppoe_timeout, sc);\n      sc->sc_padr_retried = 0;\n      sc->sc_state = PPPOE_STATE_PADR_SENT;\n      if ((err = pppoe_send_padr(sc)) != 0) {\n        PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\": failed to send PADR, error=%d\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num, err));\n      }\n      sys_timeout(PPPOE_DISC_TIMEOUT * (1 + sc->sc_padr_retried), pppoe_timeout, sc);\n      break;\n    case PPPOE_CODE_PADS:\n      if (sc == NULL) {\n        goto done;\n      }\n      sc->sc_session = session;\n      sys_untimeout(pppoe_timeout, sc);\n      PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\": session 0x%x connected\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num, session));\n      sc->sc_state = PPPOE_STATE_SESSION;\n      pppoe_linkstatus_up(sc); /* notify upper layers */\n      break;\n    case PPPOE_CODE_PADT:\n      if (sc == NULL) {\n        goto done;\n      }\n      pppoe_clear_softc(sc, \"received PADT\");\n      break;\n    default:\n      if(sc) {\n        printf(\"%c%c%\"U16_F\": unknown code (0x%\"X16_F\") session = 0x%\"X16_F\"\\n\",\n            sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num,\n            (u16_t)ph->code, session);\n      } else {\n        printf(\"pppoe: unknown code (0x%\"X16_F\") session = 0x%\"X16_F\"\\n\", (u16_t)ph->code, session);\n      }\n      break;\n  }\n\ndone:\n  pbuf_free(pb);\n  return;\n}\n\nvoid\npppoe_disc_input(struct netif *netif, struct pbuf *p)\n{\n  /* avoid error messages if there is not a single pppoe instance */\n  if (pppoe_softc_list != NULL) {\n    pppoe_dispatch_disc_pkt(netif, p);\n  } else {\n    pbuf_free(p);\n  }\n}\n\nvoid\npppoe_data_input(struct netif *netif, struct pbuf *pb)\n{\n  u16_t session, plen;\n  struct pppoe_softc *sc;\n  struct pppoehdr *ph;\n#ifdef PPPOE_TERM_UNKNOWN_SESSIONS\n  u8_t shost[ETHER_ADDR_LEN];\n#endif\n\n#ifdef PPPOE_TERM_UNKNOWN_SESSIONS\n  MEMCPY(shost, ((struct eth_hdr *)pb->payload)->src.addr, sizeof(shost));\n#endif\n  if (pbuf_header(pb, -(int)sizeof(struct eth_hdr)) != 0) {\n    /* bail out */\n    PPPDEBUG(LOG_ERR, (\"pppoe_data_input: pbuf_header failed\\n\"));\n    LINK_STATS_INC(link.lenerr);\n    goto drop;\n  } \n\n  pb = pppSingleBuf (pb);\n\n  if (pb->len <= PPPOE_HEADERLEN) {\n    printf(\"pppoe (data): dropping too short packet: %d bytes\\n\", pb->len);\n    goto drop;\n  }\n\n  if (pb->len < sizeof(*ph)) {\n    printf(\"pppoe_data_input: could not get PPPoE header\\n\");\n    goto drop;\n  }\n  ph = (struct pppoehdr *)pb->payload;\n\n  if (ph->vertype != PPPOE_VERTYPE) {\n    printf(\"pppoe (data): unknown version/type packet: 0x%x\\n\", ph->vertype);\n    goto drop;\n  }\n  if (ph->code != 0) {\n    goto drop;\n  }\n\n  session = ntohs(ph->session);\n  sc = pppoe_find_softc_by_session(session, netif);\n  if (sc == NULL) {\n#ifdef PPPOE_TERM_UNKNOWN_SESSIONS\n    printf(\"pppoe: input for unknown session 0x%x, sending PADT\\n\", session);\n    pppoe_send_padt(netif, session, shost);\n#endif\n    goto drop;\n  }\n\n  plen = ntohs(ph->plen);\n\n  if (pbuf_header(pb, -(int)(PPPOE_HEADERLEN)) != 0) {\n    /* bail out */\n    PPPDEBUG(LOG_ERR, (\"pppoe_data_input: pbuf_header PPPOE_HEADERLEN failed\\n\"));\n    LINK_STATS_INC(link.lenerr);\n    goto drop;\n  } \n\n  PPPDEBUG(LOG_DEBUG, (\"pppoe_data_input: %c%c%\"U16_F\": pkthdr.len=%d, pppoe.len=%d\\n\",\n        sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num,\n        pb->len, plen));\n\n  if (pb->len < plen) {\n    goto drop;\n  }\n\n  pppInProcOverEthernet(sc->sc_pd, pb);\n\n  return;\n\ndrop:\n  pbuf_free(pb);\n}\n\nstatic err_t\npppoe_output(struct pppoe_softc *sc, struct pbuf *pb)\n{\n  struct eth_hdr *ethhdr;\n  u16_t etype;\n  err_t res;\n\n  if (!sc->sc_ethif) {\n    pbuf_free(pb);\n    return ERR_IF;\n  }\n\n  ethhdr = (struct eth_hdr *)pb->payload;\n  etype = sc->sc_state == PPPOE_STATE_SESSION ? ETHTYPE_PPPOE : ETHTYPE_PPPOEDISC;\n  ethhdr->type = htons(etype);\n  MEMCPY(ethhdr->dest.addr, sc->sc_dest.addr, sizeof(ethhdr->dest.addr));\n  MEMCPY(ethhdr->src.addr, ((struct eth_addr *)sc->sc_ethif->hwaddr)->addr, sizeof(ethhdr->src.addr));\n\n  PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\" (%x) state=%d, session=0x%x output -> %02\"X16_F\":%02\"X16_F\":%02\"X16_F\":%02\"X16_F\":%02\"X16_F\":%02\"X16_F\", len=%d\\n\",\n      sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num, etype,\n      sc->sc_state, sc->sc_session,\n      sc->sc_dest.addr[0], sc->sc_dest.addr[1], sc->sc_dest.addr[2], sc->sc_dest.addr[3], sc->sc_dest.addr[4], sc->sc_dest.addr[5],\n      pb->tot_len));\n\n  res = sc->sc_ethif->linkoutput(sc->sc_ethif, pb);\n\n  pbuf_free(pb);\n\n  return res;\n}\n\nstatic err_t\npppoe_send_padi(struct pppoe_softc *sc)\n{\n  struct pbuf *pb;\n  u8_t *p;\n  int len;\n#ifdef PPPOE_TODO\n  int l1 = 0, l2 = 0; /* XXX: gcc */\n#endif /* PPPOE_TODO */\n\n  if (sc->sc_state >PPPOE_STATE_PADI_SENT) {\n    PPPDEBUG(LOG_ERR, (\"ERROR: pppoe_send_padi in state %d\", sc->sc_state));\n  }\n\n  /* calculate length of frame (excluding ethernet header + pppoe header) */\n  len = 2 + 2 + 2 + 2 + sizeof sc;  /* service name tag is required, host unique is send too */\n#ifdef PPPOE_TODO\n  if (sc->sc_service_name != NULL) {\n    l1 = (int)strlen(sc->sc_service_name);\n    len += l1;\n  }\n  if (sc->sc_concentrator_name != NULL) {\n    l2 = (int)strlen(sc->sc_concentrator_name);\n    len += 2 + 2 + l2;\n  }\n#endif /* PPPOE_TODO */\n  LWIP_ASSERT(\"sizeof(struct eth_hdr) + PPPOE_HEADERLEN + len <= 0xffff\",\n    sizeof(struct eth_hdr) + PPPOE_HEADERLEN + len <= 0xffff);\n\n  /* allocate a buffer */\n  pb = pbuf_alloc(PBUF_LINK, (u16_t)(sizeof(struct eth_hdr) + PPPOE_HEADERLEN + len), PBUF_RAM);\n  if (!pb) {\n    return ERR_MEM;\n  }\n  LWIP_ASSERT(\"pb->tot_len == pb->len\", pb->tot_len == pb->len);\n\n  p = (u8_t*)pb->payload + sizeof (struct eth_hdr);\n  /* fill in pkt */\n  PPPOE_ADD_HEADER(p, PPPOE_CODE_PADI, 0, (u16_t)len);\n  PPPOE_ADD_16(p, PPPOE_TAG_SNAME);\n#ifdef PPPOE_TODO\n  if (sc->sc_service_name != NULL) {\n    PPPOE_ADD_16(p, l1);\n    MEMCPY(p, sc->sc_service_name, l1);\n    p += l1;\n  } else\n#endif /* PPPOE_TODO */\n  {\n    PPPOE_ADD_16(p, 0);\n  }\n#ifdef PPPOE_TODO\n  if (sc->sc_concentrator_name != NULL) {\n    PPPOE_ADD_16(p, PPPOE_TAG_ACNAME);\n    PPPOE_ADD_16(p, l2);\n    MEMCPY(p, sc->sc_concentrator_name, l2);\n    p += l2;\n  }\n#endif /* PPPOE_TODO */\n  PPPOE_ADD_16(p, PPPOE_TAG_HUNIQUE);\n  PPPOE_ADD_16(p, sizeof(sc));\n  MEMCPY(p, &sc, sizeof sc);\n\n  /* send pkt */\n  return pppoe_output(sc, pb);\n}\n\nstatic void\npppoe_timeout(void *arg)\n{\n  int retry_wait, err;\n  struct pppoe_softc *sc = (struct pppoe_softc*)arg;\n\n  PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\": timeout\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num));\n\n  switch (sc->sc_state) {\n    case PPPOE_STATE_PADI_SENT:\n      /*\n       * We have two basic ways of retrying:\n       *  - Quick retry mode: try a few times in short sequence\n       *  - Slow retry mode: we already had a connection successfully\n       *    established and will try infinitely (without user\n       *    intervention)\n       * We only enter slow retry mode if IFF_LINK1 (aka autodial)\n       * is not set.\n       */\n\n      /* initialize for quick retry mode */\n      retry_wait = PPPOE_DISC_TIMEOUT * (1 + sc->sc_padi_retried);\n\n      sc->sc_padi_retried++;\n      if (sc->sc_padi_retried >= PPPOE_DISC_MAXPADI) {\n#if 0\n        if ((sc->sc_sppp.pp_if.if_flags & IFF_LINK1) == 0) {\n          /* slow retry mode */\n          retry_wait = PPPOE_SLOW_RETRY;\n        } else\n#endif\n        {\n          pppoe_abort_connect(sc);\n          return;\n        }\n      }\n      if ((err = pppoe_send_padi(sc)) != 0) {\n        sc->sc_padi_retried--;\n        PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\": failed to transmit PADI, error=%d\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num, err));\n      }\n      sys_timeout(retry_wait, pppoe_timeout, sc);\n      break;\n\n    case PPPOE_STATE_PADR_SENT:\n      sc->sc_padr_retried++;\n      if (sc->sc_padr_retried >= PPPOE_DISC_MAXPADR) {\n        MEMCPY(&sc->sc_dest, ethbroadcast.addr, sizeof(sc->sc_dest));\n        sc->sc_state = PPPOE_STATE_PADI_SENT;\n        sc->sc_padr_retried = 0;\n        if ((err = pppoe_send_padi(sc)) != 0) {\n          PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\": failed to send PADI, error=%d\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num, err));\n        }\n        sys_timeout(PPPOE_DISC_TIMEOUT * (1 + sc->sc_padi_retried), pppoe_timeout, sc);\n        return;\n      }\n      if ((err = pppoe_send_padr(sc)) != 0) {\n        sc->sc_padr_retried--;\n        PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\": failed to send PADR, error=%d\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num, err));\n      }\n      sys_timeout(PPPOE_DISC_TIMEOUT * (1 + sc->sc_padr_retried), pppoe_timeout, sc);\n      break;\n    case PPPOE_STATE_CLOSING:\n      pppoe_do_disconnect(sc);\n      break;\n    default:\n      return;  /* all done, work in peace */\n  }\n}\n\n/* Start a connection (i.e. initiate discovery phase) */\nint\npppoe_connect(struct pppoe_softc *sc)\n{\n  int err;\n\n  if (sc->sc_state != PPPOE_STATE_INITIAL) {\n    return EBUSY;\n  }\n\n#ifdef PPPOE_SERVER\n  /* wait PADI if IFF_PASSIVE */\n  if ((sc->sc_sppp.pp_if.if_flags & IFF_PASSIVE)) {\n    return 0;\n  }\n#endif\n  /* save state, in case we fail to send PADI */\n  sc->sc_state = PPPOE_STATE_PADI_SENT;\n  sc->sc_padr_retried = 0;\n  err = pppoe_send_padi(sc);\n  PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\": failed to send PADI, error=%d\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num, err));\n  sys_timeout(PPPOE_DISC_TIMEOUT, pppoe_timeout, sc);\n  return err;\n}\n\n/* disconnect */\nvoid\npppoe_disconnect(struct pppoe_softc *sc)\n{\n  if (sc->sc_state < PPPOE_STATE_SESSION) {\n    return;\n  }\n  /*\n   * Do not call pppoe_disconnect here, the upper layer state\n   * machine gets confused by this. We must return from this\n   * function and defer disconnecting to the timeout handler.\n   */\n  sc->sc_state = PPPOE_STATE_CLOSING;\n  sys_timeout(20, pppoe_timeout, sc);\n}\n\nstatic int\npppoe_do_disconnect(struct pppoe_softc *sc)\n{\n  int err;\n\n  if (sc->sc_state < PPPOE_STATE_SESSION) {\n    err = EBUSY;\n  } else {\n    PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\": disconnecting\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num));\n    err = pppoe_send_padt(sc->sc_ethif, sc->sc_session, (const u8_t *)&sc->sc_dest);\n  }\n\n  /* cleanup softc */\n  sc->sc_state = PPPOE_STATE_INITIAL;\n  MEMCPY(&sc->sc_dest, ethbroadcast.addr, sizeof(sc->sc_dest));\n  sc->sc_ac_cookie_len = 0;\n#ifdef PPPOE_SERVER\n  if (sc->sc_hunique) {\n    mem_free(sc->sc_hunique);\n    sc->sc_hunique = NULL;\n  }\n  sc->sc_hunique_len = 0;\n#endif\n  sc->sc_session = 0;\n\n  sc->sc_linkStatusCB(sc->sc_pd, 0); /* notify upper layers */\n\n  return err;\n}\n\n/* Connection attempt aborted */\nstatic void\npppoe_abort_connect(struct pppoe_softc *sc)\n{\n  printf(\"%c%c%\"U16_F\": could not establish connection\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num);\n  sc->sc_state = PPPOE_STATE_CLOSING;\n\n  sc->sc_linkStatusCB(sc->sc_pd, 0); /* notify upper layers */\n\n  /* clear connection state */\n  MEMCPY(&sc->sc_dest, ethbroadcast.addr, sizeof(sc->sc_dest));\n  sc->sc_state = PPPOE_STATE_INITIAL;\n}\n\n/* Send a PADR packet */\nstatic err_t\npppoe_send_padr(struct pppoe_softc *sc)\n{\n  struct pbuf *pb;\n  u8_t *p;\n  size_t len;\n#ifdef PPPOE_TODO\n  size_t l1 = 0; /* XXX: gcc */\n#endif /* PPPOE_TODO */\n\n  if (sc->sc_state != PPPOE_STATE_PADR_SENT) {\n    return ERR_CONN;\n  }\n\n  len = 2 + 2 + 2 + 2 + sizeof(sc);    /* service name, host unique */\n#ifdef PPPOE_TODO\n  if (sc->sc_service_name != NULL) {    /* service name tag maybe empty */\n    l1 = strlen(sc->sc_service_name);\n    len += l1;\n  }\n#endif /* PPPOE_TODO */\n  if (sc->sc_ac_cookie_len > 0) {\n    len += 2 + 2 + sc->sc_ac_cookie_len;  /* AC cookie */\n  }\n  LWIP_ASSERT(\"sizeof(struct eth_hdr) + PPPOE_HEADERLEN + len <= 0xffff\",\n    sizeof(struct eth_hdr) + PPPOE_HEADERLEN + len <= 0xffff);\n  pb = pbuf_alloc(PBUF_LINK, (u16_t)(sizeof(struct eth_hdr) + PPPOE_HEADERLEN + len), PBUF_RAM);\n  if (!pb) {\n    return ERR_MEM;\n  }\n  LWIP_ASSERT(\"pb->tot_len == pb->len\", pb->tot_len == pb->len);\n  p = (u8_t*)pb->payload + sizeof (struct eth_hdr);\n  PPPOE_ADD_HEADER(p, PPPOE_CODE_PADR, 0, len);\n  PPPOE_ADD_16(p, PPPOE_TAG_SNAME);\n#ifdef PPPOE_TODO\n  if (sc->sc_service_name != NULL) {\n    PPPOE_ADD_16(p, l1);\n    MEMCPY(p, sc->sc_service_name, l1);\n    p += l1;\n  } else\n#endif /* PPPOE_TODO */\n  {\n    PPPOE_ADD_16(p, 0);\n  }\n  if (sc->sc_ac_cookie_len > 0) {\n    PPPOE_ADD_16(p, PPPOE_TAG_ACCOOKIE);\n    PPPOE_ADD_16(p, sc->sc_ac_cookie_len);\n    MEMCPY(p, sc->sc_ac_cookie, sc->sc_ac_cookie_len);\n    p += sc->sc_ac_cookie_len;\n  }\n  PPPOE_ADD_16(p, PPPOE_TAG_HUNIQUE);\n  PPPOE_ADD_16(p, sizeof(sc));\n  MEMCPY(p, &sc, sizeof sc);\n\n  return pppoe_output(sc, pb);\n}\n\n/* send a PADT packet */\nstatic err_t\npppoe_send_padt(struct netif *outgoing_if, u_int session, const u8_t *dest)\n{\n  struct pbuf *pb;\n  struct eth_hdr *ethhdr;\n  err_t res;\n  u8_t *p;\n\n  pb = pbuf_alloc(PBUF_LINK, sizeof(struct eth_hdr) + PPPOE_HEADERLEN, PBUF_RAM);\n  if (!pb) {\n    return ERR_MEM;\n  }\n  LWIP_ASSERT(\"pb->tot_len == pb->len\", pb->tot_len == pb->len);\n\n  ethhdr = (struct eth_hdr *)pb->payload;\n  ethhdr->type = PP_HTONS(ETHTYPE_PPPOEDISC);\n  MEMCPY(ethhdr->dest.addr, dest, sizeof(ethhdr->dest.addr));\n  MEMCPY(ethhdr->src.addr, ((struct eth_addr *)outgoing_if->hwaddr)->addr, sizeof(ethhdr->src.addr));\n\n  p = (u8_t*)(ethhdr + 1);\n  PPPOE_ADD_HEADER(p, PPPOE_CODE_PADT, session, 0);\n\n  res = outgoing_if->linkoutput(outgoing_if, pb);\n\n  pbuf_free(pb);\n\n  return res;\n}\n\n#ifdef PPPOE_SERVER\nstatic err_t\npppoe_send_pado(struct pppoe_softc *sc)\n{\n  struct pbuf *pb;\n  u8_t *p;\n  size_t len;\n\n  if (sc->sc_state != PPPOE_STATE_PADO_SENT) {\n    return ERR_CONN;\n  }\n\n  /* calc length */\n  len = 0;\n  /* include ac_cookie */\n  len += 2 + 2 + sizeof(sc);\n  /* include hunique */\n  len += 2 + 2 + sc->sc_hunique_len;\n  pb = pbuf_alloc(PBUF_LINK, sizeof(struct eth_hdr) + PPPOE_HEADERLEN + len, PBUF_RAM);\n  if (!pb) {\n    return ERR_MEM;\n  }\n  LWIP_ASSERT(\"pb->tot_len == pb->len\", pb->tot_len == pb->len);\n  p = (u8_t*)pb->payload + sizeof (struct eth_hdr);\n  PPPOE_ADD_HEADER(p, PPPOE_CODE_PADO, 0, len);\n  PPPOE_ADD_16(p, PPPOE_TAG_ACCOOKIE);\n  PPPOE_ADD_16(p, sizeof(sc));\n  MEMCPY(p, &sc, sizeof(sc));\n  p += sizeof(sc);\n  PPPOE_ADD_16(p, PPPOE_TAG_HUNIQUE);\n  PPPOE_ADD_16(p, sc->sc_hunique_len);\n  MEMCPY(p, sc->sc_hunique, sc->sc_hunique_len);\n  return pppoe_output(sc, pb);\n}\n\nstatic err_t\npppoe_send_pads(struct pppoe_softc *sc)\n{\n  struct pbuf *pb;\n  u8_t *p;\n  size_t len, l1 = 0;  /* XXX: gcc */\n\n  if (sc->sc_state != PPPOE_STATE_PADO_SENT) {\n    return ERR_CONN;\n  }\n\n  sc->sc_session = mono_time.tv_sec % 0xff + 1;\n  /* calc length */\n  len = 0;\n  /* include hunique */\n  len += 2 + 2 + 2 + 2 + sc->sc_hunique_len;  /* service name, host unique*/\n  if (sc->sc_service_name != NULL) {    /* service name tag maybe empty */\n    l1 = strlen(sc->sc_service_name);\n    len += l1;\n  }\n  pb = pbuf_alloc(PBUF_LINK, sizeof(struct eth_hdr) + PPPOE_HEADERLEN + len, PBUF_RAM);\n  if (!pb) {\n    return ERR_MEM;\n  }\n  LWIP_ASSERT(\"pb->tot_len == pb->len\", pb->tot_len == pb->len);\n  p = (u8_t*)pb->payload + sizeof (struct eth_hdr);\n  PPPOE_ADD_HEADER(p, PPPOE_CODE_PADS, sc->sc_session, len);\n  PPPOE_ADD_16(p, PPPOE_TAG_SNAME);\n  if (sc->sc_service_name != NULL) {\n    PPPOE_ADD_16(p, l1);\n    MEMCPY(p, sc->sc_service_name, l1);\n    p += l1;\n  } else {\n    PPPOE_ADD_16(p, 0);\n  }\n  PPPOE_ADD_16(p, PPPOE_TAG_HUNIQUE);\n  PPPOE_ADD_16(p, sc->sc_hunique_len);\n  MEMCPY(p, sc->sc_hunique, sc->sc_hunique_len);\n  return pppoe_output(sc, pb);\n}\n#endif\n\nerr_t\npppoe_xmit(struct pppoe_softc *sc, struct pbuf *pb)\n{\n  u8_t *p;\n  size_t len;\n\n  /* are we ready to process data yet? */\n  if (sc->sc_state < PPPOE_STATE_SESSION) {\n    /*sppp_flush(&sc->sc_sppp.pp_if);*/\n    pbuf_free(pb);\n    return ERR_CONN;\n  }\n\n  len = pb->tot_len;\n\n  /* make room for Ethernet header - should not fail */\n  if (pbuf_header(pb, sizeof(struct eth_hdr) + PPPOE_HEADERLEN) != 0) {\n    /* bail out */\n    PPPDEBUG(LOG_ERR, (\"pppoe: %c%c%\"U16_F\": pppoe_xmit: could not allocate room for header\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num));\n    LINK_STATS_INC(link.lenerr);\n    pbuf_free(pb);\n    return ERR_BUF;\n  } \n\n  p = (u8_t*)pb->payload + sizeof(struct eth_hdr);\n  PPPOE_ADD_HEADER(p, 0, sc->sc_session, len);\n\n  return pppoe_output(sc, pb);\n}\n\n#if 0 /*def PFIL_HOOKS*/\nstatic int\npppoe_ifattach_hook(void *arg, struct pbuf **mp, struct netif *ifp, int dir)\n{\n  struct pppoe_softc *sc;\n  int s;\n\n  if (mp != (struct pbuf **)PFIL_IFNET_DETACH) {\n    return 0;\n  }\n\n  LIST_FOREACH(sc, &pppoe_softc_list, sc_list) {\n    if (sc->sc_ethif != ifp) {\n      continue;\n    }\n    if (sc->sc_sppp.pp_if.if_flags & IFF_UP) {\n      sc->sc_sppp.pp_if.if_flags &= ~(IFF_UP|IFF_RUNNING);\n      printf(\"%c%c%\"U16_F\": ethernet interface detached, going down\\n\",\n          sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num);\n    }\n    sc->sc_ethif = NULL;\n    pppoe_clear_softc(sc, \"ethernet interface detached\");\n  }\n\n  return 0;\n}\n#endif\n\nstatic void\npppoe_clear_softc(struct pppoe_softc *sc, const char *message)\n{\n  LWIP_UNUSED_ARG(message);\n\n  /* stop timer */\n  sys_untimeout(pppoe_timeout, sc);\n  PPPDEBUG(LOG_DEBUG, (\"pppoe: %c%c%\"U16_F\": session 0x%x terminated, %s\\n\", sc->sc_ethif->name[0], sc->sc_ethif->name[1], sc->sc_ethif->num, sc->sc_session, message));\n\n  /* fix our state */\n  sc->sc_state = PPPOE_STATE_INITIAL;\n\n  /* notify upper layers */\n  sc->sc_linkStatusCB(sc->sc_pd, 0);\n\n  /* clean up softc */\n  MEMCPY(&sc->sc_dest, ethbroadcast.addr, sizeof(sc->sc_dest));\n  sc->sc_ac_cookie_len = 0;\n  sc->sc_session = 0;\n}\n\n#endif /* PPPOE_SUPPORT */\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/pppdebug.h",
    "content": "/*****************************************************************************\n* pppdebug.h - System debugging utilities.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* portions Copyright (c) 1998 Global Election Systems Inc.\n* portions Copyright (c) 2001 by Cognizant Pty Ltd.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY (please don't use tabs!)\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 98-07-29 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Original.\n*\n*****************************************************************************\n*/\n#ifndef PPPDEBUG_H\n#define PPPDEBUG_H\n\n/* Trace levels. */\n#define LOG_CRITICAL  (PPP_DEBUG | LWIP_DBG_LEVEL_SEVERE)\n#define LOG_ERR       (PPP_DEBUG | LWIP_DBG_LEVEL_SEVERE)\n#define LOG_NOTICE    (PPP_DEBUG | LWIP_DBG_LEVEL_WARNING)\n#define LOG_WARNING   (PPP_DEBUG | LWIP_DBG_LEVEL_WARNING)\n#define LOG_INFO      (PPP_DEBUG)\n#define LOG_DETAIL    (PPP_DEBUG)\n#define LOG_DEBUG     (PPP_DEBUG)\n\n\n#define TRACELCP PPP_DEBUG\n\n#if PPP_DEBUG\n\n#define AUTHDEBUG(a, b) LWIP_DEBUGF(a, b)\n#define IPCPDEBUG(a, b) LWIP_DEBUGF(a, b)\n#define UPAPDEBUG(a, b) LWIP_DEBUGF(a, b)\n#define LCPDEBUG(a, b)  LWIP_DEBUGF(a, b)\n#define FSMDEBUG(a, b)  LWIP_DEBUGF(a, b)\n#define CHAPDEBUG(a, b) LWIP_DEBUGF(a, b)\n#define PPPDEBUG(a, b)  LWIP_DEBUGF(a, b)\n\n#else /* PPP_DEBUG */\n\n#define AUTHDEBUG(a, b)\n#define IPCPDEBUG(a, b)\n#define UPAPDEBUG(a, b)\n#define LCPDEBUG(a, b)\n#define FSMDEBUG(a, b)\n#define CHAPDEBUG(a, b)\n#define PPPDEBUG(a, b)\n\n#endif /* PPP_DEBUG */\n\n#endif /* PPPDEBUG_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/randm.c",
    "content": "/*****************************************************************************\n* randm.c - Random number generator program file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* Copyright (c) 1998 by Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 98-06-03 Guy Lancaster <lancasterg@acm.org>, Global Election Systems Inc.\n*   Extracted from avos.\n*****************************************************************************/\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"md5.h\"\n#include \"randm.h\"\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include <string.h>\n\n#if MD5_SUPPORT /* this module depends on MD5 */\n#define RANDPOOLSZ 16   /* Bytes stored in the pool of randomness. */\n\n/*****************************/\n/*** LOCAL DATA STRUCTURES ***/\n/*****************************/\nstatic char randPool[RANDPOOLSZ];   /* Pool of randomness. */\nstatic long randCount = 0;      /* Pseudo-random incrementer */\n\n\n/***********************************/\n/*** PUBLIC FUNCTION DEFINITIONS ***/\n/***********************************/\n/*\n * Initialize the random number generator.\n *\n * Since this is to be called on power up, we don't have much\n *  system randomess to work with.  Here all we use is the\n *  real-time clock.  We'll accumulate more randomness as soon\n *  as things start happening.\n */\nvoid\navRandomInit()\n{\n  avChurnRand(NULL, 0);\n}\n\n/*\n * Churn the randomness pool on a random event.  Call this early and often\n *  on random and semi-random system events to build randomness in time for\n *  usage.  For randomly timed events, pass a null pointer and a zero length\n *  and this will use the system timer and other sources to add randomness.\n *  If new random data is available, pass a pointer to that and it will be\n *  included.\n *\n * Ref: Applied Cryptography 2nd Ed. by Bruce Schneier p. 427\n */\nvoid\navChurnRand(char *randData, u32_t randLen)\n{\n  MD5_CTX md5;\n\n  /* LWIP_DEBUGF(LOG_INFO, (\"churnRand: %u@%P\\n\", randLen, randData)); */\n  MD5Init(&md5);\n  MD5Update(&md5, (u_char *)randPool, sizeof(randPool));\n  if (randData) {\n    MD5Update(&md5, (u_char *)randData, randLen);\n  } else {\n    struct {\n      /* INCLUDE fields for any system sources of randomness */\n      char foobar;\n    } sysData;\n\n    /* Load sysData fields here. */\n    MD5Update(&md5, (u_char *)&sysData, sizeof(sysData));\n  }\n  MD5Final((u_char *)randPool, &md5);\n/*  LWIP_DEBUGF(LOG_INFO, (\"churnRand: -> 0\\n\")); */\n}\n\n/*\n * Use the random pool to generate random data.  This degrades to pseudo\n *  random when used faster than randomness is supplied using churnRand().\n * Note: It's important that there be sufficient randomness in randPool\n *  before this is called for otherwise the range of the result may be\n *  narrow enough to make a search feasible.\n *\n * Ref: Applied Cryptography 2nd Ed. by Bruce Schneier p. 427\n *\n * XXX Why does he not just call churnRand() for each block?  Probably\n *  so that you don't ever publish the seed which could possibly help\n *  predict future values.\n * XXX Why don't we preserve md5 between blocks and just update it with\n *  randCount each time?  Probably there is a weakness but I wish that\n *  it was documented.\n */\nvoid\navGenRand(char *buf, u32_t bufLen)\n{\n  MD5_CTX md5;\n  u_char tmp[16];\n  u32_t n;\n\n  while (bufLen > 0) {\n    n = LWIP_MIN(bufLen, RANDPOOLSZ);\n    MD5Init(&md5);\n    MD5Update(&md5, (u_char *)randPool, sizeof(randPool));\n    MD5Update(&md5, (u_char *)&randCount, sizeof(randCount));\n    MD5Final(tmp, &md5);\n    randCount++;\n    MEMCPY(buf, tmp, n);\n    buf += n;\n    bufLen -= n;\n  }\n}\n\n/*\n * Return a new random number.\n */\nu32_t\navRandom()\n{\n  u32_t newRand;\n\n  avGenRand((char *)&newRand, sizeof(newRand));\n\n  return newRand;\n}\n\n#else /* MD5_SUPPORT */\n\n/*****************************/\n/*** LOCAL DATA STRUCTURES ***/\n/*****************************/\nstatic int  avRandomized = 0;       /* Set when truely randomized. */\nstatic u32_t avRandomSeed = 0;      /* Seed used for random number generation. */\n\n\n/***********************************/\n/*** PUBLIC FUNCTION DEFINITIONS ***/\n/***********************************/\n/*\n * Initialize the random number generator.\n *\n * Here we attempt to compute a random number seed but even if\n * it isn't random, we'll randomize it later.\n *\n * The current method uses the fields from the real time clock,\n * the idle process counter, the millisecond counter, and the\n * hardware timer tick counter.  When this is invoked\n * in startup(), then the idle counter and timer values may\n * repeat after each boot and the real time clock may not be\n * operational.  Thus we call it again on the first random\n * event.\n */\nvoid\navRandomInit()\n{\n#if 0\n  /* Get a pointer into the last 4 bytes of clockBuf. */\n  u32_t *lptr1 = (u32_t *)((char *)&clockBuf[3]);\n\n  /*\n   * Initialize our seed using the real-time clock, the idle\n   * counter, the millisecond timer, and the hardware timer\n   * tick counter.  The real-time clock and the hardware\n   * tick counter are the best sources of randomness but\n   * since the tick counter is only 16 bit (and truncated\n   * at that), the idle counter and millisecond timer\n   * (which may be small values) are added to help\n   * randomize the lower 16 bits of the seed.\n   */\n  readClk();\n  avRandomSeed += *(u32_t *)clockBuf + *lptr1 + OSIdleCtr\n           + ppp_mtime() + ((u32_t)TM1 << 16) + TM1;\n#else\n  avRandomSeed += sys_jiffies(); /* XXX */\n#endif\n\n  /* Initialize the Borland random number generator. */\n  srand((unsigned)avRandomSeed);\n}\n\n/*\n * Randomize our random seed value.  Here we use the fact that\n * this function is called at *truely random* times by the polling\n * and network functions.  Here we only get 16 bits of new random\n * value but we use the previous value to randomize the other 16\n * bits.\n */\nvoid\navRandomize(void)\n{\n  static u32_t last_jiffies;\n\n  if (!avRandomized) {\n    avRandomized = !0;\n    avRandomInit();\n    /* The initialization function also updates the seed. */\n  } else {\n    /* avRandomSeed += (avRandomSeed << 16) + TM1; */\n    avRandomSeed += (sys_jiffies() - last_jiffies); /* XXX */\n  }\n  last_jiffies = sys_jiffies();\n}\n\n/*\n * Return a new random number.\n * Here we use the Borland rand() function to supply a pseudo random\n * number which we make truely random by combining it with our own\n * seed which is randomized by truely random events. \n * Thus the numbers will be truely random unless there have been no\n * operator or network events in which case it will be pseudo random\n * seeded by the real time clock.\n */\nu32_t\navRandom()\n{\n  return ((((u32_t)rand() << 16) + rand()) + avRandomSeed);\n}\n\n#endif /* MD5_SUPPORT */\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/randm.h",
    "content": "/*****************************************************************************\n* randm.h - Random number generator header file.\n*\n* Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc.\n* Copyright (c) 1998 Global Election Systems Inc.\n*\n* The authors hereby grant permission to use, copy, modify, distribute,\n* and license this software and its documentation for any purpose, provided\n* that existing copyright notices are retained in all copies and that this\n* notice and the following disclaimer are included verbatim in any \n* distributions. No written agreement, license, or royalty fee is required\n* for any of the authorized uses.\n*\n* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR\n* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \n* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*\n******************************************************************************\n* REVISION HISTORY\n*\n* 03-01-01 Marc Boucher <marc@mbsi.ca>\n*   Ported to lwIP.\n* 98-05-29 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc.\n*   Extracted from avos.\n*****************************************************************************/\n\n#ifndef RANDM_H\n#define RANDM_H\n\n/***********************\n*** PUBLIC FUNCTIONS ***\n***********************/\n/*\n * Initialize the random number generator.\n */\nvoid avRandomInit(void);\n\n/*\n * Churn the randomness pool on a random event.  Call this early and often\n * on random and semi-random system events to build randomness in time for\n * usage.  For randomly timed events, pass a null pointer and a zero length\n * and this will use the system timer and other sources to add randomness.\n * If new random data is available, pass a pointer to that and it will be\n * included.\n */\nvoid avChurnRand(char *randData, u32_t randLen);\n\n/*\n * Randomize our random seed value.  To be called for truely random events\n * such as user operations and network traffic.\n */\n#if MD5_SUPPORT\n#define avRandomize() avChurnRand(NULL, 0)\n#else  /* MD5_SUPPORT */\nvoid avRandomize(void);\n#endif /* MD5_SUPPORT */\n\n/*\n * Use the random pool to generate random data.  This degrades to pseudo\n * random when used faster than randomness is supplied using churnRand().\n * Thus it's important to make sure that the results of this are not\n * published directly because one could predict the next result to at\n * least some degree.  Also, it's important to get a good seed before\n * the first use.\n */\nvoid avGenRand(char *buf, u32_t bufLen);\n\n/*\n * Return a new random number.\n */\nu32_t avRandom(void);\n\n\n#endif /* RANDM_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/vj.c",
    "content": "/*\n * Routines to compress and uncompess tcp packets (for transmission\n * over low speed serial lines.\n *\n * Copyright (c) 1989 Regents of the University of California.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by the University of California, Berkeley.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:\n *   Initial distribution.\n *\n * Modified June 1993 by Paul Mackerras, paulus@cs.anu.edu.au,\n * so that the entire packet being decompressed doesn't have\n * to be in contiguous memory (just the compressed header).\n *\n * Modified March 1998 by Guy Lancaster, glanca@gesn.com,\n * for a 16 bit processor.\n */\n\n#include \"lwip/opt.h\"\n\n#if PPP_SUPPORT /* don't build if not configured for use in lwipopts.h */\n\n#include \"ppp_impl.h\"\n#include \"pppdebug.h\"\n\n#include \"vj.h\"\n\n#include <string.h>\n\n#if VJ_SUPPORT\n\n#if LINK_STATS\n#define INCR(counter) ++comp->stats.counter\n#else\n#define INCR(counter)\n#endif\n\nvoid\nvj_compress_init(struct vjcompress *comp)\n{\n  register u_char i;\n  register struct cstate *tstate = comp->tstate;\n  \n#if MAX_SLOTS == 0\n  memset((char *)comp, 0, sizeof(*comp));\n#endif\n  comp->maxSlotIndex = MAX_SLOTS - 1;\n  comp->compressSlot = 0;    /* Disable slot ID compression by default. */\n  for (i = MAX_SLOTS - 1; i > 0; --i) {\n    tstate[i].cs_id = i;\n    tstate[i].cs_next = &tstate[i - 1];\n  }\n  tstate[0].cs_next = &tstate[MAX_SLOTS - 1];\n  tstate[0].cs_id = 0;\n  comp->last_cs = &tstate[0];\n  comp->last_recv = 255;\n  comp->last_xmit = 255;\n  comp->flags = VJF_TOSS;\n}\n\n\n/* ENCODE encodes a number that is known to be non-zero.  ENCODEZ\n * checks for zero (since zero has to be encoded in the long, 3 byte\n * form).\n */\n#define ENCODE(n) { \\\n  if ((u_short)(n) >= 256) { \\\n    *cp++ = 0; \\\n    cp[1] = (u_char)(n); \\\n    cp[0] = (u_char)((n) >> 8); \\\n    cp += 2; \\\n  } else { \\\n    *cp++ = (u_char)(n); \\\n  } \\\n}\n#define ENCODEZ(n) { \\\n  if ((u_short)(n) >= 256 || (u_short)(n) == 0) { \\\n    *cp++ = 0; \\\n    cp[1] = (u_char)(n); \\\n    cp[0] = (u_char)((n) >> 8); \\\n    cp += 2; \\\n  } else { \\\n    *cp++ = (u_char)(n); \\\n  } \\\n}\n\n#define DECODEL(f) { \\\n  if (*cp == 0) {\\\n    u32_t tmp = ntohl(f) + ((cp[1] << 8) | cp[2]); \\\n    (f) = htonl(tmp); \\\n    cp += 3; \\\n  } else { \\\n    u32_t tmp = ntohl(f) + (u32_t)*cp++; \\\n    (f) = htonl(tmp); \\\n  } \\\n}\n\n#define DECODES(f) { \\\n  if (*cp == 0) {\\\n    u_short tmp = ntohs(f) + (((u_short)cp[1] << 8) | cp[2]); \\\n    (f) = htons(tmp); \\\n    cp += 3; \\\n  } else { \\\n    u_short tmp = ntohs(f) + (u_short)*cp++; \\\n    (f) = htons(tmp); \\\n  } \\\n}\n\n#define DECODEU(f) { \\\n  if (*cp == 0) {\\\n    (f) = htons(((u_short)cp[1] << 8) | cp[2]); \\\n    cp += 3; \\\n  } else { \\\n    (f) = htons((u_short)*cp++); \\\n  } \\\n}\n\n/*\n * vj_compress_tcp - Attempt to do Van Jacobson header compression on a\n * packet.  This assumes that nb and comp are not null and that the first\n * buffer of the chain contains a valid IP header.\n * Return the VJ type code indicating whether or not the packet was\n * compressed.\n */\nu_int\nvj_compress_tcp(struct vjcompress *comp, struct pbuf *pb)\n{\n  register struct ip_hdr *ip = (struct ip_hdr *)pb->payload;\n  register struct cstate *cs = comp->last_cs->cs_next;\n  register u_short hlen = IPH_HL(ip);\n  register struct tcp_hdr *oth;\n  register struct tcp_hdr *th;\n  register u_short deltaS, deltaA;\n  register u_long deltaL;\n  register u_int changes = 0;\n  u_char new_seq[16];\n  register u_char *cp = new_seq;\n\n  /*  \n   * Check that the packet is IP proto TCP.\n   */\n  if (IPH_PROTO(ip) != IP_PROTO_TCP) {\n    return (TYPE_IP);\n  }\n\n  /*\n   * Bail if this is an IP fragment or if the TCP packet isn't\n   * `compressible' (i.e., ACK isn't set or some other control bit is\n   * set).  \n   */\n  if ((IPH_OFFSET(ip) & PP_HTONS(0x3fff)) || pb->tot_len < 40) {\n    return (TYPE_IP);\n  }\n  th = (struct tcp_hdr *)&((long *)ip)[hlen];\n  if ((TCPH_FLAGS(th) & (TCP_SYN|TCP_FIN|TCP_RST|TCP_ACK)) != TCP_ACK) {\n    return (TYPE_IP);\n  }\n  /*\n   * Packet is compressible -- we're going to send either a\n   * COMPRESSED_TCP or UNCOMPRESSED_TCP packet.  Either way we need\n   * to locate (or create) the connection state.  Special case the\n   * most recently used connection since it's most likely to be used\n   * again & we don't have to do any reordering if it's used.\n   */\n  INCR(vjs_packets);\n  if (!ip_addr_cmp(&ip->src, &cs->cs_ip.src)\n      || !ip_addr_cmp(&ip->dest, &cs->cs_ip.dest)\n      || *(long *)th != ((long *)&cs->cs_ip)[IPH_HL(&cs->cs_ip)]) {\n    /*\n     * Wasn't the first -- search for it.\n     *\n     * States are kept in a circularly linked list with\n     * last_cs pointing to the end of the list.  The\n     * list is kept in lru order by moving a state to the\n     * head of the list whenever it is referenced.  Since\n     * the list is short and, empirically, the connection\n     * we want is almost always near the front, we locate\n     * states via linear search.  If we don't find a state\n     * for the datagram, the oldest state is (re-)used.\n     */\n    register struct cstate *lcs;\n    register struct cstate *lastcs = comp->last_cs;\n    \n    do {\n      lcs = cs; cs = cs->cs_next;\n      INCR(vjs_searches);\n      if (ip_addr_cmp(&ip->src, &cs->cs_ip.src)\n          && ip_addr_cmp(&ip->dest, &cs->cs_ip.dest)\n          && *(long *)th == ((long *)&cs->cs_ip)[IPH_HL(&cs->cs_ip)]) {\n        goto found;\n      }\n    } while (cs != lastcs);\n\n    /*\n     * Didn't find it -- re-use oldest cstate.  Send an\n     * uncompressed packet that tells the other side what\n     * connection number we're using for this conversation.\n     * Note that since the state list is circular, the oldest\n     * state points to the newest and we only need to set\n     * last_cs to update the lru linkage.\n     */\n    INCR(vjs_misses);\n    comp->last_cs = lcs;\n    hlen += TCPH_HDRLEN(th);\n    hlen <<= 2;\n    /* Check that the IP/TCP headers are contained in the first buffer. */\n    if (hlen > pb->len) {\n      return (TYPE_IP);\n    }\n    goto uncompressed;\n\n    found:\n    /*\n     * Found it -- move to the front on the connection list.\n     */\n    if (cs == lastcs) {\n      comp->last_cs = lcs;\n    } else {\n      lcs->cs_next = cs->cs_next;\n      cs->cs_next = lastcs->cs_next;\n      lastcs->cs_next = cs;\n    }\n  }\n\n  oth = (struct tcp_hdr *)&((long *)&cs->cs_ip)[hlen];\n  deltaS = hlen;\n  hlen += TCPH_HDRLEN(th);\n  hlen <<= 2;\n  /* Check that the IP/TCP headers are contained in the first buffer. */\n  if (hlen > pb->len) {\n    PPPDEBUG(LOG_INFO, (\"vj_compress_tcp: header len %d spans buffers\\n\", hlen));\n    return (TYPE_IP);\n  }\n\n  /*\n   * Make sure that only what we expect to change changed. The first\n   * line of the `if' checks the IP protocol version, header length &\n   * type of service.  The 2nd line checks the \"Don't fragment\" bit.\n   * The 3rd line checks the time-to-live and protocol (the protocol\n   * check is unnecessary but costless).  The 4th line checks the TCP\n   * header length.  The 5th line checks IP options, if any.  The 6th\n   * line checks TCP options, if any.  If any of these things are\n   * different between the previous & current datagram, we send the\n   * current datagram `uncompressed'.\n   */\n  if (((u_short *)ip)[0] != ((u_short *)&cs->cs_ip)[0] \n      || ((u_short *)ip)[3] != ((u_short *)&cs->cs_ip)[3] \n      || ((u_short *)ip)[4] != ((u_short *)&cs->cs_ip)[4] \n      || TCPH_HDRLEN(th) != TCPH_HDRLEN(oth) \n      || (deltaS > 5 && BCMP(ip + 1, &cs->cs_ip + 1, (deltaS - 5) << 2)) \n      || (TCPH_HDRLEN(th) > 5 && BCMP(th + 1, oth + 1, (TCPH_HDRLEN(th) - 5) << 2))) {\n    goto uncompressed;\n  }\n\n  /*\n   * Figure out which of the changing fields changed.  The\n   * receiver expects changes in the order: urgent, window,\n   * ack, seq (the order minimizes the number of temporaries\n   * needed in this section of code).\n   */\n  if (TCPH_FLAGS(th) & TCP_URG) {\n    deltaS = ntohs(th->urgp);\n    ENCODEZ(deltaS);\n    changes |= NEW_U;\n  } else if (th->urgp != oth->urgp) {\n    /* argh! URG not set but urp changed -- a sensible\n     * implementation should never do this but RFC793\n     * doesn't prohibit the change so we have to deal\n     * with it. */\n    goto uncompressed;\n  }\n\n  if ((deltaS = (u_short)(ntohs(th->wnd) - ntohs(oth->wnd))) != 0) {\n    ENCODE(deltaS);\n    changes |= NEW_W;\n  }\n\n  if ((deltaL = ntohl(th->ackno) - ntohl(oth->ackno)) != 0) {\n    if (deltaL > 0xffff) {\n      goto uncompressed;\n    }\n    deltaA = (u_short)deltaL;\n    ENCODE(deltaA);\n    changes |= NEW_A;\n  }\n\n  if ((deltaL = ntohl(th->seqno) - ntohl(oth->seqno)) != 0) {\n    if (deltaL > 0xffff) {\n      goto uncompressed;\n    }\n    deltaS = (u_short)deltaL;\n    ENCODE(deltaS);\n    changes |= NEW_S;\n  }\n\n  switch(changes) {\n  case 0:\n    /*\n     * Nothing changed. If this packet contains data and the\n     * last one didn't, this is probably a data packet following\n     * an ack (normal on an interactive connection) and we send\n     * it compressed.  Otherwise it's probably a retransmit,\n     * retransmitted ack or window probe.  Send it uncompressed\n     * in case the other side missed the compressed version.\n     */\n    if (IPH_LEN(ip) != IPH_LEN(&cs->cs_ip) &&\n      ntohs(IPH_LEN(&cs->cs_ip)) == hlen) {\n      break;\n    }\n\n  /* (fall through) */\n\n  case SPECIAL_I:\n  case SPECIAL_D:\n    /*\n     * actual changes match one of our special case encodings --\n     * send packet uncompressed.\n     */\n    goto uncompressed;\n\n  case NEW_S|NEW_A:\n    if (deltaS == deltaA && deltaS == ntohs(IPH_LEN(&cs->cs_ip)) - hlen) {\n      /* special case for echoed terminal traffic */\n      changes = SPECIAL_I;\n      cp = new_seq;\n    }\n    break;\n\n  case NEW_S:\n    if (deltaS == ntohs(IPH_LEN(&cs->cs_ip)) - hlen) {\n      /* special case for data xfer */\n      changes = SPECIAL_D;\n      cp = new_seq;\n    }\n    break;\n  }\n\n  deltaS = (u_short)(ntohs(IPH_ID(ip)) - ntohs(IPH_ID(&cs->cs_ip)));\n  if (deltaS != 1) {\n    ENCODEZ(deltaS);\n    changes |= NEW_I;\n  }\n  if (TCPH_FLAGS(th) & TCP_PSH) {\n    changes |= TCP_PUSH_BIT;\n  }\n  /*\n   * Grab the cksum before we overwrite it below.  Then update our\n   * state with this packet's header.\n   */\n  deltaA = ntohs(th->chksum);\n  BCOPY(ip, &cs->cs_ip, hlen);\n\n  /*\n   * We want to use the original packet as our compressed packet.\n   * (cp - new_seq) is the number of bytes we need for compressed\n   * sequence numbers.  In addition we need one byte for the change\n   * mask, one for the connection id and two for the tcp checksum.\n   * So, (cp - new_seq) + 4 bytes of header are needed.  hlen is how\n   * many bytes of the original packet to toss so subtract the two to\n   * get the new packet size.\n   */\n  deltaS = (u_short)(cp - new_seq);\n  if (!comp->compressSlot || comp->last_xmit != cs->cs_id) {\n    comp->last_xmit = cs->cs_id;\n    hlen -= deltaS + 4;\n    if(pbuf_header(pb, -hlen)){\n      /* Can we cope with this failing?  Just assert for now */\n      LWIP_ASSERT(\"pbuf_header failed\\n\", 0);\n    }\n    cp = (u_char *)pb->payload;\n    *cp++ = (u_char)(changes | NEW_C);\n    *cp++ = cs->cs_id;\n  } else {\n    hlen -= deltaS + 3;\n    if(pbuf_header(pb, -hlen)) {\n      /* Can we cope with this failing?  Just assert for now */\n      LWIP_ASSERT(\"pbuf_header failed\\n\", 0);\n    }\n    cp = (u_char *)pb->payload;\n    *cp++ = (u_char)changes;\n  }\n  *cp++ = (u_char)(deltaA >> 8);\n  *cp++ = (u_char)deltaA;\n  BCOPY(new_seq, cp, deltaS);\n  INCR(vjs_compressed);\n  return (TYPE_COMPRESSED_TCP);\n\n  /*\n   * Update connection state cs & send uncompressed packet (that is,\n   * a regular ip/tcp packet but with the 'conversation id' we hope\n   * to use on future compressed packets in the protocol field).\n   */\nuncompressed:\n  BCOPY(ip, &cs->cs_ip, hlen);\n  IPH_PROTO_SET(ip, cs->cs_id);\n  comp->last_xmit = cs->cs_id;\n  return (TYPE_UNCOMPRESSED_TCP);\n}\n\n/*\n * Called when we may have missed a packet.\n */\nvoid\nvj_uncompress_err(struct vjcompress *comp)\n{\n  comp->flags |= VJF_TOSS;\n  INCR(vjs_errorin);\n}\n\n/*\n * \"Uncompress\" a packet of type TYPE_UNCOMPRESSED_TCP.\n * Return 0 on success, -1 on failure.\n */\nint\nvj_uncompress_uncomp(struct pbuf *nb, struct vjcompress *comp)\n{\n  register u_int hlen;\n  register struct cstate *cs;\n  register struct ip_hdr *ip;\n  \n  ip = (struct ip_hdr *)nb->payload;\n  hlen = IPH_HL(ip) << 2;\n  if (IPH_PROTO(ip) >= MAX_SLOTS\n      || hlen + sizeof(struct tcp_hdr) > nb->len\n      || (hlen += TCPH_HDRLEN(((struct tcp_hdr *)&((char *)ip)[hlen])) << 2)\n          > nb->len\n      || hlen > MAX_HDR) {\n    PPPDEBUG(LOG_INFO, (\"vj_uncompress_uncomp: bad cid=%d, hlen=%d buflen=%d\\n\", \n      IPH_PROTO(ip), hlen, nb->len));\n    comp->flags |= VJF_TOSS;\n    INCR(vjs_errorin);\n    return -1;\n  }\n  cs = &comp->rstate[comp->last_recv = IPH_PROTO(ip)];\n  comp->flags &=~ VJF_TOSS;\n  IPH_PROTO_SET(ip, IP_PROTO_TCP);\n  BCOPY(ip, &cs->cs_ip, hlen);\n  cs->cs_hlen = (u_short)hlen;\n  INCR(vjs_uncompressedin);\n  return 0;\n}\n\n/*\n * Uncompress a packet of type TYPE_COMPRESSED_TCP.\n * The packet is composed of a buffer chain and the first buffer\n * must contain an accurate chain length.\n * The first buffer must include the entire compressed TCP/IP header. \n * This procedure replaces the compressed header with the uncompressed\n * header and returns the length of the VJ header.\n */\nint\nvj_uncompress_tcp(struct pbuf **nb, struct vjcompress *comp)\n{\n  u_char *cp;\n  struct tcp_hdr *th;\n  struct cstate *cs;\n  u_short *bp;\n  struct pbuf *n0 = *nb;\n  u32_t tmp;\n  u_int vjlen, hlen, changes;\n\n  INCR(vjs_compressedin);\n  cp = (u_char *)n0->payload;\n  changes = *cp++;\n  if (changes & NEW_C) {\n    /* \n     * Make sure the state index is in range, then grab the state.\n     * If we have a good state index, clear the 'discard' flag. \n     */\n    if (*cp >= MAX_SLOTS) {\n      PPPDEBUG(LOG_INFO, (\"vj_uncompress_tcp: bad cid=%d\\n\", *cp));\n      goto bad;\n    }\n\n    comp->flags &=~ VJF_TOSS;\n    comp->last_recv = *cp++;\n  } else {\n    /* \n     * this packet has an implicit state index.  If we've\n     * had a line error since the last time we got an\n     * explicit state index, we have to toss the packet. \n     */\n    if (comp->flags & VJF_TOSS) {\n      PPPDEBUG(LOG_INFO, (\"vj_uncompress_tcp: tossing\\n\"));\n      INCR(vjs_tossed);\n      return (-1);\n    }\n  }\n  cs = &comp->rstate[comp->last_recv];\n  hlen = IPH_HL(&cs->cs_ip) << 2;\n  th = (struct tcp_hdr *)&((u_char *)&cs->cs_ip)[hlen];\n  th->chksum = htons((*cp << 8) | cp[1]);\n  cp += 2;\n  if (changes & TCP_PUSH_BIT) {\n    TCPH_SET_FLAG(th, TCP_PSH);\n  } else {\n    TCPH_UNSET_FLAG(th, TCP_PSH);\n  }\n\n  switch (changes & SPECIALS_MASK) {\n  case SPECIAL_I:\n    {\n      register u32_t i = ntohs(IPH_LEN(&cs->cs_ip)) - cs->cs_hlen;\n      /* some compilers can't nest inline assembler.. */\n      tmp = ntohl(th->ackno) + i;\n      th->ackno = htonl(tmp);\n      tmp = ntohl(th->seqno) + i;\n      th->seqno = htonl(tmp);\n    }\n    break;\n\n  case SPECIAL_D:\n    /* some compilers can't nest inline assembler.. */\n    tmp = ntohl(th->seqno) + ntohs(IPH_LEN(&cs->cs_ip)) - cs->cs_hlen;\n    th->seqno = htonl(tmp);\n    break;\n\n  default:\n    if (changes & NEW_U) {\n      TCPH_SET_FLAG(th, TCP_URG);\n      DECODEU(th->urgp);\n    } else {\n      TCPH_UNSET_FLAG(th, TCP_URG);\n    }\n    if (changes & NEW_W) {\n      DECODES(th->wnd);\n    }\n    if (changes & NEW_A) {\n      DECODEL(th->ackno);\n    }\n    if (changes & NEW_S) {\n      DECODEL(th->seqno);\n    }\n    break;\n  }\n  if (changes & NEW_I) {\n    DECODES(cs->cs_ip._id);\n  } else {\n    IPH_ID_SET(&cs->cs_ip, ntohs(IPH_ID(&cs->cs_ip)) + 1);\n    IPH_ID_SET(&cs->cs_ip, htons(IPH_ID(&cs->cs_ip)));\n  }\n\n  /*\n   * At this point, cp points to the first byte of data in the\n   * packet.  Fill in the IP total length and update the IP\n   * header checksum.\n   */\n  vjlen = (u_short)(cp - (u_char*)n0->payload);\n  if (n0->len < vjlen) {\n    /* \n     * We must have dropped some characters (crc should detect\n     * this but the old slip framing won't) \n     */\n    PPPDEBUG(LOG_INFO, (\"vj_uncompress_tcp: head buffer %d too short %d\\n\", \n          n0->len, vjlen));\n    goto bad;\n  }\n\n#if BYTE_ORDER == LITTLE_ENDIAN\n  tmp = n0->tot_len - vjlen + cs->cs_hlen;\n  IPH_LEN_SET(&cs->cs_ip, htons((u_short)tmp));\n#else\n  IPH_LEN_SET(&cs->cs_ip, htons(n0->tot_len - vjlen + cs->cs_hlen));\n#endif\n\n  /* recompute the ip header checksum */\n  bp = (u_short *) &cs->cs_ip;\n  IPH_CHKSUM_SET(&cs->cs_ip, 0);\n  for (tmp = 0; hlen > 0; hlen -= 2) {\n    tmp += *bp++;\n  }\n  tmp = (tmp & 0xffff) + (tmp >> 16);\n  tmp = (tmp & 0xffff) + (tmp >> 16);\n  IPH_CHKSUM_SET(&cs->cs_ip,  (u_short)(~tmp));\n  \n  /* Remove the compressed header and prepend the uncompressed header. */\n  if(pbuf_header(n0, -((s16_t)(vjlen)))) {\n    /* Can we cope with this failing?  Just assert for now */\n    LWIP_ASSERT(\"pbuf_header failed\\n\", 0);\n    goto bad;\n  }\n\n  if(LWIP_MEM_ALIGN(n0->payload) != n0->payload) {\n    struct pbuf *np, *q;\n    u8_t *bufptr;\n\n    np = pbuf_alloc(PBUF_RAW, n0->len + cs->cs_hlen, PBUF_POOL);\n    if(!np) {\n      PPPDEBUG(LOG_WARNING, (\"vj_uncompress_tcp: realign failed\\n\"));\n      goto bad;\n    }\n\n    if(pbuf_header(np, -cs->cs_hlen)) {\n      /* Can we cope with this failing?  Just assert for now */\n      LWIP_ASSERT(\"pbuf_header failed\\n\", 0);\n      goto bad;\n    }\n\n    bufptr = n0->payload;\n    for(q = np; q != NULL; q = q->next) {\n      MEMCPY(q->payload, bufptr, q->len);\n      bufptr += q->len;\n    }\n\n    if(n0->next) {\n      pbuf_chain(np, n0->next);\n      pbuf_dechain(n0);\n    }\n    pbuf_free(n0);\n    n0 = np;\n  }\n\n  if(pbuf_header(n0, cs->cs_hlen)) {\n    struct pbuf *np;\n\n    LWIP_ASSERT(\"vj_uncompress_tcp: cs->cs_hlen <= PBUF_POOL_BUFSIZE\", cs->cs_hlen <= PBUF_POOL_BUFSIZE);\n    np = pbuf_alloc(PBUF_RAW, cs->cs_hlen, PBUF_POOL);\n    if(!np) {\n      PPPDEBUG(LOG_WARNING, (\"vj_uncompress_tcp: prepend failed\\n\"));\n      goto bad;\n    }\n    pbuf_cat(np, n0);\n    n0 = np;\n  }\n  LWIP_ASSERT(\"n0->len >= cs->cs_hlen\", n0->len >= cs->cs_hlen);\n  MEMCPY(n0->payload, &cs->cs_ip, cs->cs_hlen);\n\n  *nb = n0;\n\n  return vjlen;\n\nbad:\n  comp->flags |= VJF_TOSS;\n  INCR(vjs_errorin);\n  return (-1);\n}\n\n#endif /* VJ_SUPPORT */\n\n#endif /* PPP_SUPPORT */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/ppp/vj.h",
    "content": "/*\n * Definitions for tcp compression routines.\n *\n * $Id: vj.h,v 1.7 2010/02/22 17:52:09 goldsimon Exp $\n *\n * Copyright (c) 1989 Regents of the University of California.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms are permitted\n * provided that the above copyright notice and this paragraph are\n * duplicated in all such forms and that any documentation,\n * advertising materials, and other materials related to such\n * distribution and use acknowledge that the software was developed\n * by the University of California, Berkeley.  The name of the\n * University may not be used to endorse or promote products derived\n * from this software without specific prior written permission.\n * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR\n * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED\n * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.\n *\n * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:\n * - Initial distribution.\n */\n\n#ifndef VJ_H\n#define VJ_H\n\n#include \"lwip/ip.h\"\n#include \"lwip/tcp_impl.h\"\n\n#define MAX_SLOTS 16 /* must be > 2 and < 256 */\n#define MAX_HDR   128\n\n/*\n * Compressed packet format:\n *\n * The first octet contains the packet type (top 3 bits), TCP\n * 'push' bit, and flags that indicate which of the 4 TCP sequence\n * numbers have changed (bottom 5 bits).  The next octet is a\n * conversation number that associates a saved IP/TCP header with\n * the compressed packet.  The next two octets are the TCP checksum\n * from the original datagram.  The next 0 to 15 octets are\n * sequence number changes, one change per bit set in the header\n * (there may be no changes and there are two special cases where\n * the receiver implicitly knows what changed -- see below).\n * \n * There are 5 numbers which can change (they are always inserted\n * in the following order): TCP urgent pointer, window,\n * acknowlegement, sequence number and IP ID.  (The urgent pointer\n * is different from the others in that its value is sent, not the\n * change in value.)  Since typical use of SLIP links is biased\n * toward small packets (see comments on MTU/MSS below), changes\n * use a variable length coding with one octet for numbers in the\n * range 1 - 255 and 3 octets (0, MSB, LSB) for numbers in the\n * range 256 - 65535 or 0.  (If the change in sequence number or\n * ack is more than 65535, an uncompressed packet is sent.)\n */\n\n/*\n * Packet types (must not conflict with IP protocol version)\n *\n * The top nibble of the first octet is the packet type.  There are\n * three possible types: IP (not proto TCP or tcp with one of the\n * control flags set); uncompressed TCP (a normal IP/TCP packet but\n * with the 8-bit protocol field replaced by an 8-bit connection id --\n * this type of packet syncs the sender & receiver); and compressed\n * TCP (described above).\n *\n * LSB of 4-bit field is TCP \"PUSH\" bit (a worthless anachronism) and\n * is logically part of the 4-bit \"changes\" field that follows.  Top\n * three bits are actual packet type.  For backward compatibility\n * and in the interest of conserving bits, numbers are chosen so the\n * IP protocol version number (4) which normally appears in this nibble\n * means \"IP packet\".\n */\n\n/* packet types */\n#define TYPE_IP               0x40\n#define TYPE_UNCOMPRESSED_TCP 0x70\n#define TYPE_COMPRESSED_TCP   0x80\n#define TYPE_ERROR            0x00\n\n/* Bits in first octet of compressed packet */\n#define NEW_C 0x40 /* flag bits for what changed in a packet */\n#define NEW_I 0x20\n#define NEW_S 0x08\n#define NEW_A 0x04\n#define NEW_W 0x02\n#define NEW_U 0x01\n\n/* reserved, special-case values of above */\n#define SPECIAL_I (NEW_S|NEW_W|NEW_U) /* echoed interactive traffic */\n#define SPECIAL_D (NEW_S|NEW_A|NEW_W|NEW_U) /* unidirectional data */\n#define SPECIALS_MASK (NEW_S|NEW_A|NEW_W|NEW_U)\n\n#define TCP_PUSH_BIT 0x10\n\n\n/*\n * \"state\" data for each active tcp conversation on the wire.  This is\n * basically a copy of the entire IP/TCP header from the last packet\n * we saw from the conversation together with a small identifier\n * the transmit & receive ends of the line use to locate saved header.\n */\nstruct cstate {\n  struct cstate *cs_next; /* next most recently used state (xmit only) */\n  u_short cs_hlen;        /* size of hdr (receive only) */\n  u_char cs_id;           /* connection # associated with this state */\n  u_char cs_filler;\n  union {\n    char csu_hdr[MAX_HDR];\n    struct ip_hdr csu_ip;     /* ip/tcp hdr from most recent packet */\n  } vjcs_u;\n};\n#define cs_ip vjcs_u.csu_ip\n#define cs_hdr vjcs_u.csu_hdr\n\n\nstruct vjstat {\n  unsigned long vjs_packets;        /* outbound packets */\n  unsigned long vjs_compressed;     /* outbound compressed packets */\n  unsigned long vjs_searches;       /* searches for connection state */\n  unsigned long vjs_misses;         /* times couldn't find conn. state */\n  unsigned long vjs_uncompressedin; /* inbound uncompressed packets */\n  unsigned long vjs_compressedin;   /* inbound compressed packets */\n  unsigned long vjs_errorin;        /* inbound unknown type packets */\n  unsigned long vjs_tossed;         /* inbound packets tossed because of error */\n};\n\n/*\n * all the state data for one serial line (we need one of these per line).\n */\nstruct vjcompress {\n  struct cstate *last_cs;          /* most recently used tstate */\n  u_char last_recv;                /* last rcvd conn. id */\n  u_char last_xmit;                /* last sent conn. id */\n  u_short flags;\n  u_char maxSlotIndex;\n  u_char compressSlot;             /* Flag indicating OK to compress slot ID. */\n#if LINK_STATS\n  struct vjstat stats;\n#endif\n  struct cstate tstate[MAX_SLOTS]; /* xmit connection states */\n  struct cstate rstate[MAX_SLOTS]; /* receive connection states */\n};\n\n/* flag values */\n#define VJF_TOSS 1U /* tossing rcvd frames because of input err */\n\nextern void  vj_compress_init    (struct vjcompress *comp);\nextern u_int vj_compress_tcp     (struct vjcompress *comp, struct pbuf *pb);\nextern void  vj_uncompress_err   (struct vjcompress *comp);\nextern int   vj_uncompress_uncomp(struct pbuf *nb, struct vjcompress *comp);\nextern int   vj_uncompress_tcp   (struct pbuf **nb, struct vjcompress *comp);\n\n#endif /* VJ_H */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip/src/netif/slipif.c",
    "content": "/**\n * @file\n * SLIP Interface\n *\n */\n\n/*\n * Copyright (c) 2001-2004 Swedish Institute of Computer Science.\n * All rights reserved. \n *\n * Redistribution and use in source and binary forms, with or without \n * modification, are permitted provided that the following conditions \n * are met: \n * 1. Redistributions of source code must retain the above copyright \n *    notice, this list of conditions and the following disclaimer. \n * 2. Redistributions in binary form must reproduce the above copyright \n *    notice, this list of conditions and the following disclaimer in the \n *    documentation and/or other materials provided with the distribution. \n * 3. Neither the name of the Institute nor the names of its contributors \n *    may be used to endorse or promote products derived from this software \n *    without specific prior written permission. \n *\n * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND \n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \n * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE \n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL \n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS \n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) \n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT \n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY \n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF \n * SUCH DAMAGE. \n *\n * This file is built upon the file: src/arch/rtxc/netif/sioslip.c\n *\n * Author: Magnus Ivarsson <magnus.ivarsson(at)volvo.com> \n *         Simon Goldschmidt\n *\n * Usage: This netif can be used in three ways:\n *        1) For NO_SYS==0, an RX thread can be used which blocks on sio_read()\n *           until data is received.\n *        2) In your main loop, call slipif_poll() to check for new RX bytes,\n *           completed packets are fed into netif->input().\n *        3) Call slipif_received_byte[s]() from your serial RX ISR and\n *           slipif_process_rxqueue() from your main loop. ISR level decodes\n *           packets and puts completed packets on a queue which is fed into\n *           the stack from the main loop (needs SYS_LIGHTWEIGHT_PROT for\n *           pbuf_alloc to work on ISR level!).\n *     \n */\n\n/* \n * This is an arch independent SLIP netif. The specific serial hooks must be\n * provided by another file. They are sio_open, sio_read/sio_tryread and sio_send\n */\n\n#include \"netif/slipif.h\"\n#include \"lwip/opt.h\"\n\n#if LWIP_HAVE_SLIPIF\n\n#include \"lwip/def.h\"\n#include \"lwip/pbuf.h\"\n#include \"lwip/stats.h\"\n#include \"lwip/snmp.h\"\n#include \"lwip/sio.h\"\n#include \"lwip/sys.h\"\n\n#define SLIP_END     0xC0 /* 0300: start and end of every packet */\n#define SLIP_ESC     0xDB /* 0333: escape start (one byte escaped data follows) */\n#define SLIP_ESC_END 0xDC /* 0334: following escape: original byte is 0xC0 (END) */\n#define SLIP_ESC_ESC 0xDD /* 0335: following escape: original byte is 0xDB (ESC) */\n\n/** Maximum packet size that is received by this netif */\n#ifndef SLIP_MAX_SIZE\n#define SLIP_MAX_SIZE 1500\n#endif\n\n/** Define this to the interface speed for SNMP\n * (sio_fd is the sio_fd_t returned by sio_open).\n * The default value of zero means 'unknown'.\n */\n#ifndef SLIP_SIO_SPEED\n#define SLIP_SIO_SPEED(sio_fd) 0\n#endif\n\nenum slipif_recv_state {\n    SLIP_RECV_NORMAL,\n    SLIP_RECV_ESCAPE,\n};\n\nstruct slipif_priv {\n  sio_fd_t sd;\n  /* q is the whole pbuf chain for a packet, p is the current pbuf in the chain */\n  struct pbuf *p, *q;\n  u8_t state;\n  u16_t i, recved;\n#if SLIP_RX_FROM_ISR\n  struct pbuf *rxpackets;\n#endif\n};\n\n/**\n * Send a pbuf doing the necessary SLIP encapsulation\n *\n * Uses the serial layer's sio_send()\n *\n * @param netif the lwip network interface structure for this slipif\n * @param p the pbuf chaing packet to send\n * @param ipaddr the ip address to send the packet to (not used for slipif)\n * @return always returns ERR_OK since the serial layer does not provide return values\n */\nerr_t\nslipif_output(struct netif *netif, struct pbuf *p, ip_addr_t *ipaddr)\n{\n  struct slipif_priv *priv;\n  struct pbuf *q;\n  u16_t i;\n  u8_t c;\n\n  LWIP_ASSERT(\"netif != NULL\", (netif != NULL));\n  LWIP_ASSERT(\"netif->state != NULL\", (netif->state != NULL));\n  LWIP_ASSERT(\"p != NULL\", (p != NULL));\n\n  LWIP_UNUSED_ARG(ipaddr);\n\n  LWIP_DEBUGF(SLIP_DEBUG, (\"slipif_output(%\"U16_F\"): sending %\"U16_F\" bytes\\n\", (u16_t)netif->num, p->tot_len));\n  priv = netif->state;\n\n  /* Send pbuf out on the serial I/O device. */\n  /* Start with packet delimiter. */\n  sio_send(SLIP_END, priv->sd);\n\n  for (q = p; q != NULL; q = q->next) {\n    for (i = 0; i < q->len; i++) {\n      c = ((u8_t *)q->payload)[i];\n      switch (c) {\n      case SLIP_END:\n        /* need to escape this byte (0xC0 -> 0xDB, 0xDC) */\n        sio_send(SLIP_ESC, priv->sd);\n        sio_send(SLIP_ESC_END, priv->sd);\n        break;\n      case SLIP_ESC:\n        /* need to escape this byte (0xDB -> 0xDB, 0xDD) */\n        sio_send(SLIP_ESC, priv->sd);\n        sio_send(SLIP_ESC_ESC, priv->sd);\n        break;\n      default:\n        /* normal byte - no need for escaping */\n        sio_send(c, priv->sd);\n        break;\n      }\n    }\n  }\n  /* End with packet delimiter. */\n  sio_send(SLIP_END, priv->sd);\n  return ERR_OK;\n}\n\n/**\n * Handle the incoming SLIP stream character by character\n *\n * @param netif the lwip network interface structure for this slipif\n * @param c received character (multiple calls to this function will\n *        return a complete packet, NULL is returned before - used for polling)\n * @return The IP packet when SLIP_END is received\n */\nstatic struct pbuf*\nslipif_rxbyte(struct netif *netif, u8_t c)\n{\n  struct slipif_priv *priv;\n  struct pbuf *t;\n\n  LWIP_ASSERT(\"netif != NULL\", (netif != NULL));\n  LWIP_ASSERT(\"netif->state != NULL\", (netif->state != NULL));\n\n  priv = netif->state;\n\n  switch (priv->state) {\n  case SLIP_RECV_NORMAL:\n    switch (c) {\n    case SLIP_END:\n      if (priv->recved > 0) {\n        /* Received whole packet. */\n        /* Trim the pbuf to the size of the received packet. */\n        pbuf_realloc(priv->q, priv->recved);\n\n        LINK_STATS_INC(link.recv);\n\n        LWIP_DEBUGF(SLIP_DEBUG, (\"slipif: Got packet (%\"U16_F\" bytes)\\n\", priv->recved));\n        t = priv->q;\n        priv->p = priv->q = NULL;\n        priv->i = priv->recved = 0;\n        return t;\n      }\n      return NULL;\n    case SLIP_ESC:\n      priv->state = SLIP_RECV_ESCAPE;\n      return NULL;\n    } /* end switch (c) */\n    break;\n  case SLIP_RECV_ESCAPE:\n    /* un-escape END or ESC bytes, leave other bytes\n       (although that would be a protocol error) */\n    switch (c) {\n    case SLIP_ESC_END:\n      c = SLIP_END;\n      break;\n    case SLIP_ESC_ESC:\n      c = SLIP_ESC;\n      break;\n    }\n    priv->state = SLIP_RECV_NORMAL;\n    break;\n  } /* end switch (priv->state) */\n\n  /* byte received, packet not yet completely received */\n  if (priv->p == NULL) {\n    /* allocate a new pbuf */\n    LWIP_DEBUGF(SLIP_DEBUG, (\"slipif_input: alloc\\n\"));\n    priv->p = pbuf_alloc(PBUF_LINK, (PBUF_POOL_BUFSIZE - PBUF_LINK_HLEN), PBUF_POOL);\n\n    if (priv->p == NULL) {\n      LINK_STATS_INC(link.drop);\n      LWIP_DEBUGF(SLIP_DEBUG, (\"slipif_input: no new pbuf! (DROP)\\n\"));\n      /* don't process any further since we got no pbuf to receive to */\n      return NULL;\n    }\n\n    if (priv->q != NULL) {\n      /* 'chain' the pbuf to the existing chain */\n      pbuf_cat(priv->q, priv->p);\n    } else {\n      /* p is the first pbuf in the chain */\n      priv->q = priv->p;\n    }\n  }\n\n  /* this automatically drops bytes if > SLIP_MAX_SIZE */\n  if ((priv->p != NULL) && (priv->recved <= SLIP_MAX_SIZE)) {\n    ((u8_t *)priv->p->payload)[priv->i] = c;\n    priv->recved++;\n    priv->i++;\n    if (priv->i >= priv->p->len) {\n      /* on to the next pbuf */\n      priv->i = 0;\n      if (priv->p->next != NULL && priv->p->next->len > 0) {\n        /* p is a chain, on to the next in the chain */\n          priv->p = priv->p->next;\n      } else {\n        /* p is a single pbuf, set it to NULL so next time a new\n         * pbuf is allocated */\n          priv->p = NULL;\n      }\n    }\n  }\n  return NULL;\n}\n\n/** Like slipif_rxbyte, but passes completed packets to netif->input\n *\n * @param netif The lwip network interface structure for this slipif\n * @param data received character\n */\nstatic void\nslipif_rxbyte_input(struct netif *netif, u8_t c)\n{\n  struct pbuf *p;\n  p = slipif_rxbyte(netif, c);\n  if (p != NULL) {\n    if (netif->input(p, netif) != ERR_OK) {\n      pbuf_free(p);\n    }\n  }\n}\n\n#if SLIP_USE_RX_THREAD\n/**\n * The SLIP input thread.\n *\n * Feed the IP layer with incoming packets\n *\n * @param nf the lwip network interface structure for this slipif\n */\nstatic void\nslipif_loop_thread(void *nf)\n{\n  u8_t c;\n  struct netif *netif = (struct netif *)nf;\n  struct slipif_priv *priv = (struct slipif_priv *)netif->state;\n\n  while (1) {\n    if (sio_read(priv->sd, &c, 1) > 0) {\n      slipif_rxbyte_input(netif, c);\n    }\n  }\n}\n#endif /* SLIP_USE_RX_THREAD */\n\n/**\n * SLIP netif initialization\n *\n * Call the arch specific sio_open and remember\n * the opened device in the state field of the netif.\n *\n * @param netif the lwip network interface structure for this slipif\n * @return ERR_OK if serial line could be opened,\n *         ERR_MEM if no memory could be allocated,\n *         ERR_IF is serial line couldn't be opened\n *\n * @note netif->num must contain the number of the serial port to open\n *       (0 by default). If netif->state is != NULL, it is interpreted as an\n *       u8_t pointer pointing to the serial port number instead of netif->num.\n *\n */\nerr_t\nslipif_init(struct netif *netif)\n{\n  struct slipif_priv *priv;\n  u8_t sio_num;\n\n  LWIP_DEBUGF(SLIP_DEBUG, (\"slipif_init: netif->num=%\"U16_F\"\\n\", (u16_t)netif->num));\n\n  /* Allocate private data */\n  priv = (struct slipif_priv *)mem_malloc(sizeof(struct slipif_priv));\n  if (!priv) {\n    return ERR_MEM;\n  }\n\n  netif->name[0] = 's';\n  netif->name[1] = 'l';\n  netif->output = slipif_output;\n  netif->mtu = SLIP_MAX_SIZE;\n  netif->flags |= NETIF_FLAG_POINTTOPOINT;\n\n  /* netif->state or netif->num contain the port number */\n  if (netif->state != NULL) {\n    sio_num = *(u8_t*)netif->state;\n  } else {\n    sio_num = netif->num;\n  }\n  /* Try to open the serial port. */\n  priv->sd = sio_open(sio_num);\n  if (!priv->sd) {\n    /* Opening the serial port failed. */\n    mem_free(priv);\n    return ERR_IF;\n  }\n\n  /* Initialize private data */\n  priv->p = NULL;\n  priv->q = NULL;\n  priv->state = SLIP_RECV_NORMAL;\n  priv->i = 0;\n  priv->recved = 0;\n#if SLIP_RX_FROM_ISR\n  priv->rxpackets = NULL;\n#endif\n\n  netif->state = priv;\n\n  /* initialize the snmp variables and counters inside the struct netif */\n  NETIF_INIT_SNMP(netif, snmp_ifType_slip, SLIP_SIO_SPEED(priv->sd));\n\n#if SLIP_USE_RX_THREAD\n  /* Create a thread to poll the serial line. */\n  sys_thread_new(SLIPIF_THREAD_NAME, slipif_loop_thread, netif,\n    SLIPIF_THREAD_STACKSIZE, SLIPIF_THREAD_PRIO);\n#endif /* SLIP_USE_RX_THREAD */\n  return ERR_OK;\n}\n\n/**\n * Polls the serial device and feeds the IP layer with incoming packets.\n *\n * @param netif The lwip network interface structure for this slipif\n */\nvoid\nslipif_poll(struct netif *netif)\n{\n  u8_t c;\n  struct slipif_priv *priv;\n\n  LWIP_ASSERT(\"netif != NULL\", (netif != NULL));\n  LWIP_ASSERT(\"netif->state != NULL\", (netif->state != NULL));\n\n  priv = (struct slipif_priv *)netif->state;\n\n  while (sio_tryread(priv->sd, &c, 1) > 0) {\n    slipif_rxbyte_input(netif, c);\n  }\n}\n\n#if SLIP_RX_FROM_ISR\n/**\n * Feeds the IP layer with incoming packets that were receive\n *\n * @param netif The lwip network interface structure for this slipif\n */\nvoid\nslipif_process_rxqueue(struct netif *netif)\n{\n  struct slipif_priv *priv;\n  SYS_ARCH_DECL_PROTECT(old_level);\n\n  LWIP_ASSERT(\"netif != NULL\", (netif != NULL));\n  LWIP_ASSERT(\"netif->state != NULL\", (netif->state != NULL));\n\n  priv = (struct slipif_priv *)netif->state;\n\n  SYS_ARCH_PROTECT(old_level);\n  while (priv->rxpackets != NULL) {\n    struct pbuf *p = priv->rxpackets;\n#if SLIP_RX_QUEUE\n    /* dequeue packet */\n    struct pbuf *q = p;\n    while ((q->len != q->tot_len) && (q->next != NULL)) {\n      q = q->next;\n    }\n    priv->rxpackets = q->next;\n    q->next = NULL;\n#else /* SLIP_RX_QUEUE */\n    priv->rxpackets = NULL;\n#endif /* SLIP_RX_QUEUE */\n    SYS_ARCH_UNPROTECT(old_level);\n    if (netif->input(p, netif) != ERR_OK) {\n      pbuf_free(p);\n    }\n    SYS_ARCH_PROTECT(old_level);\n  }\n}\n\n/** Like slipif_rxbyte, but queues completed packets.\n *\n * @param netif The lwip network interface structure for this slipif\n * @param data Received serial byte\n */\nstatic void\nslipif_rxbyte_enqueue(struct netif *netif, u8_t data)\n{\n  struct pbuf *p;\n  struct slipif_priv *priv = (struct slipif_priv *)netif->state;\n  SYS_ARCH_DECL_PROTECT(old_level);\n\n  p = slipif_rxbyte(netif, data);\n  if (p != NULL) {\n    SYS_ARCH_PROTECT(old_level);\n    if (priv->rxpackets != NULL) {\n#if SLIP_RX_QUEUE\n      /* queue multiple pbufs */\n      struct pbuf *q = p;\n      while(q->next != NULL) {\n        q = q->next;\n      }\n      q->next = p;\n    } else {\n#else /* SLIP_RX_QUEUE */\n      pbuf_free(priv->rxpackets);\n    }\n    {\n#endif /* SLIP_RX_QUEUE */\n      priv->rxpackets = p;\n    }\n    SYS_ARCH_UNPROTECT(old_level);\n  }\n}\n\n/**\n * Process a received byte, completed packets are put on a queue that is\n * fed into IP through slipif_process_rxqueue().\n *\n * This function can be called from ISR if SYS_LIGHTWEIGHT_PROT is enabled.\n *\n * @param netif The lwip network interface structure for this slipif\n * @param data received character\n */\nvoid\nslipif_received_byte(struct netif *netif, u8_t data)\n{\n  LWIP_ASSERT(\"netif != NULL\", (netif != NULL));\n  LWIP_ASSERT(\"netif->state != NULL\", (netif->state != NULL));\n  slipif_rxbyte_enqueue(netif, data);\n}\n\n/**\n * Process multiple received byte, completed packets are put on a queue that is\n * fed into IP through slipif_process_rxqueue().\n *\n * This function can be called from ISR if SYS_LIGHTWEIGHT_PROT is enabled.\n *\n * @param netif The lwip network interface structure for this slipif\n * @param data received character\n * @param len Number of received characters\n */\nvoid\nslipif_received_bytes(struct netif *netif, u8_t *data, u8_t len)\n{\n  u8_t i;\n  u8_t *rxdata = data;\n  LWIP_ASSERT(\"netif != NULL\", (netif != NULL));\n  LWIP_ASSERT(\"netif->state != NULL\", (netif->state != NULL));\n\n  for (i = 0; i < len; i++, rxdata++) {\n    slipif_rxbyte_enqueue(netif, *rxdata);\n  }\n}\n#endif /* SLIP_RX_FROM_ISR */\n\n#endif /* LWIP_HAVE_SLIPIF */\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip-iOS/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>0.3.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/lwip-macOS/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>0.3.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2016 Zhuhao Wang. All rights reserved.</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks/TSIPStack.swift",
    "content": "import Foundation\nimport lwip\n\n/// The delegate that the developer should implement to handle what to do when a new TCP socket is connected.\npublic protocol TSIPStackDelegate: class {\n    /**\n     A new TCP socket is accepted. This means we received a new TCP packet containing SYN signal.\n     \n     - parameter sock: the socket object.\n     */\n    func didAcceptTCPSocket(_ sock: TSTCPSocket)\n}\n\nfunc tcpAcceptFn(_ arg: UnsafeMutableRawPointer?, pcb: UnsafeMutablePointer<tcp_pcb>?, error: err_t) -> err_t {\n    return TSIPStack.stack.didAcceptTCPSocket(pcb!, error: error)\n}\n\nfunc outputPCB(_ interface: UnsafeMutablePointer<netif>?, buf: UnsafeMutablePointer<pbuf>?, ipaddr: UnsafeMutablePointer<ip_addr_t>?) -> err_t {\n    TSIPStack.stack.writeOut(pbuf: buf!)\n    return err_t(ERR_OK)\n}\n\n/**\n This is the IP stack that receives and outputs IP packets.\n \n `outputBlock` and `delegate` should be set before any input.\n Then call `receivedPacket(_:)` when a new IP packet is read from the TUN interface.\n \n There is a timer running internally. When the device is going to sleep (which means the timer will not fire for some time), then the timer must be paused by calling `suspendTimer()` and resumed by `resumeTimer()` when the deivce wakes up.\n \n - note: This class is NOT thread-safe.\n */\npublic final class TSIPStack {\n    /// The singleton stack instance that developer should use. The `init()` method is a private method, which means there will never be more than one IP stack running at the same time.\n    public static var stack = TSIPStack()\n    \n    // The whole stack is running in this dispatch queue.\n    public var processQueue = DispatchQueue(label: \"tun2socks.IPStackQueue\", attributes: [])\n    \n    var timer: DispatchSourceTimer?\n    let listenPCB: UnsafeMutablePointer<tcp_pcb>\n    \n    /// When the IP stack decides to output some IP packets, this block is called.\n    ///\n    /// - warning: This should be set before any input.\n    public var outputBlock: (([Data], [NSNumber]) -> ())!\n    \n    /// The delegate instance.\n    ///\n    /// - warning: Setting this variable is not protected in the GCD queue, so this shoule be set before any input and shoule never change afterwards.\n    public weak var delegate: TSIPStackDelegate?\n    \n    // Since all we need is a mock interface, we just use the loopback interface provided by lwip.\n    // No need to add any interface.\n    var interface: UnsafeMutablePointer<netif> {\n        return netif_list\n    }\n    \n    private init() {\n        lwip_init()\n        \n        // add a listening pcb\n        var pcb = tcp_new()\n        var addr = ip_addr_any\n        tcp_bind(pcb, &addr, 0)\n        pcb = tcp_listen_with_backlog(pcb, UInt8(TCP_DEFAULT_LISTEN_BACKLOG))\n        listenPCB = pcb!\n        tcp_accept(pcb, tcpAcceptFn)\n        \n        netif_list.pointee.output = outputPCB\n    }\n    \n    private func checkTimeout() {\n        sys_check_timeouts()\n    }\n    \n    func dispatch_call(_ block: @escaping () -> ()) {\n        processQueue.async(execute: block)\n    }\n    \n    /**\n     Suspend the timer. The timer should be suspended when the device is going to sleep.\n     */\n    public func suspendTimer() {\n        timer = nil\n    }\n    \n    /**\n     Resume the timer when the device is awoke.\n     \n     - warning: Do not call this unless the stack is not resumed or you suspend the timer.\n     */\n    public func resumeTimer() {\n        timer = DispatchSource.makeTimerSource(queue: processQueue)\n        // note the default tcp_tmr interval is 250 ms.\n        // I don't know the best way to set leeway.\n        timer!.scheduleRepeating(deadline: DispatchTime.distantFuture , interval: DispatchTimeInterval.microseconds(250), leeway: DispatchTimeInterval.microseconds(250))\n        timer!.setEventHandler {\n            [weak self] in\n            self?.checkTimeout()\n        }\n        sys_restart_timeouts()\n        timer!.resume()\n    }\n    \n    /**\n     Input an IP packet.\n     \n     - parameter packet: the data containing the whole IP packet.\n     */\n    public func received(packet: Data) {\n        // Due to the limitation of swift, if we want a zero-copy implemention, we have to change the definition of `pbuf.payload` to `const`, which is not possible.\n        // So we have to copy the data anyway.\n        let buf = pbuf_alloc(PBUF_RAW, UInt16(packet.count), PBUF_RAM)!\n        packet.copyBytes(to: buf.pointee.payload.bindMemory(to: UInt8.self, capacity: packet.count), count: packet.count)\n        \n        // The `netif->input()` should be ip_input(). According to the docs of lwip, we do not pass packets into the `ip_input()` function directly.\n        _ = netif_list.pointee.input(buf, interface)\n    }\n    \n    func writeOut(pbuf: UnsafeMutablePointer<pbuf>) {\n        var data = Data(count: Int(pbuf.pointee.tot_len))\n        _ = data.withUnsafeMutableBytes {\n            pbuf_copy_partial(pbuf, $0, pbuf.pointee.tot_len, 0)\n        }\n        // Only support IPv4 as of now.\n        outputBlock([data], [NSNumber(value: AF_INET)])\n    }\n    \n    func didAcceptTCPSocket(_ pcb: UnsafeMutablePointer<tcp_pcb>, error: err_t) -> err_t {\n        tcp_accepted_c(listenPCB)\n        delegate?.didAcceptTCPSocket(TSTCPSocket(pcb: pcb, queue: processQueue))\n        return err_t(ERR_OK)\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks/TSTCPSocket.swift",
    "content": "import Foundation\nimport lwip\n\n/**\n The delegate that developer should implement to handle various TCP events.\n */\npublic protocol TSTCPSocketDelegate: class {\n    /**\n     The socket is closed on tx side (FIN received). We will not read any data.\n     */\n    func localDidClose(_ socket: TSTCPSocket)\n    \n    /**\n     The socket is reseted (RST received), it should be released immediately.\n     */\n    func socketDidReset(_ socket: TSTCPSocket)\n    \n    /**\n     The socket is aborted (RST sent), it should be released immediately.\n     */\n    func socketDidAbort(_ socket: TSTCPSocket)\n    \n    /**\n     The socket is closed. This will only be triggered if the socket is closed actively by calling `close()`. It should be released immediately.\n     */\n    func socketDidClose(_ socket: TSTCPSocket)\n    \n    \n    /**\n     Socket read data from local tx side.\n     \n     - parameter data: The read data.\n     - parameter from: The socket object.\n     */\n    func didReadData(_ data: Data, from: TSTCPSocket)\n    \n    /**\n     The socket has sent the specific length of data.\n     \n     - parameter length: The length of data being ACKed.\n     - parameter from:   The socket.\n     */\n    func didWriteData(_ length: Int, from: TSTCPSocket)\n}\n\n// There is no way the error will be anything but ERR_OK, so the `error` parameter should be ignored.\nfunc tcp_recv_func(_ arg: UnsafeMutableRawPointer?, pcb: UnsafeMutablePointer<tcp_pcb>?, buf: UnsafeMutablePointer<pbuf>?, error: err_t) -> err_t {\n    assert(error == err_t(ERR_OK))\n    \n    assert(arg != nil)\n    \n    guard let socket = SocketDict.lookup(arg!) else {\n        // we do not know what this socket is, abort it\n        tcp_abort(pcb!)\n        return err_t(ERR_ABRT)\n    }\n    socket.recved(buf)\n    return err_t(ERR_OK)\n}\n\nfunc tcp_sent_func(_ arg: UnsafeMutableRawPointer?, pcb: UnsafeMutablePointer<tcp_pcb>?, len: UInt16) -> err_t {\n    assert(arg != nil)\n    \n    guard let socket = SocketDict.lookup(arg!) else {\n        // we do not know what this socket is, abort it\n        tcp_abort(pcb!)\n        return err_t(ERR_ABRT)\n    }\n    socket.sent(Int(len))\n    return err_t(ERR_OK)\n}\n\nfunc tcp_err_func(_ arg: UnsafeMutableRawPointer?, error: err_t) {\n    assert(arg != nil)\n    \n    SocketDict.lookup(arg!)?.errored(error)\n}\n\nstruct SocketDict {\n    static var socketDict: [Int:TSTCPSocket] = [:]\n    \n    static func lookup(_ id: Int) -> TSTCPSocket? {\n        return socketDict[id]\n    }\n    \n    static func lookup(_ arg: UnsafeMutableRawPointer) -> TSTCPSocket? {\n        return SocketDict.lookup(arg.bindMemory(to: Int.self, capacity: 1).pointee)\n    }\n    \n    static func newKey() -> Int {\n        var key = arc4random()\n        while let _ = socketDict[Int(key)] {\n            key = arc4random()\n        }\n        \n        return Int(key)\n    }\n}\n\n/**\n The TCP socket class.\n \n - note: Unless one of `socketDidReset(_:)`, `socketDidAbort(_:)` or `socketDidClose(_:)` delegation methods is called, please do `close()`the socket actively and wait for `socketDidClose(_:)` before releasing it.\n - note: This class is NOT thread-safe, make sure every method call is on the same dispatch queue as `TSIPStack`.\n */\npublic final class TSTCPSocket {\n    fileprivate var pcb: UnsafeMutablePointer<tcp_pcb>?\n    /// The source IPv4 address.\n    public let sourceAddress: in_addr\n    /// The destination IPv4 address\n    public let destinationAddress: in_addr\n    /// The source port.\n    public let sourcePort: UInt16\n    /// The destination port.\n    public let destinationPort: UInt16\n    \n    fileprivate var identity: Int\n    fileprivate let identityArg: UnsafeMutablePointer<Int>\n    fileprivate var closedSignalSend = false\n    \n    \n    var isValid: Bool {\n        return pcb != nil\n    }\n    \n    /// Whether the socket is connected (we can receive and send data).\n    public var isConnected: Bool {\n        return isValid && pcb!.pointee.state != CLOSED\n    }\n    \n    /**\n     The delegate that handles various TCP events.\n     \n     - warning: This should be set immediately when developer gets an instance of TSTCPSocket from `didAcceptTCPSocket(_:)` on the same thread that calls it. Simply say, just set it when you get an instance of TSTCPSocket.\n     */\n    public weak var delegate: TSTCPSocketDelegate?\n    \n    init(pcb: UnsafeMutablePointer<tcp_pcb>, queue: DispatchQueue) {\n        self.pcb = pcb\n        \n        // see comments in \"lwip/src/core/ipv4/ip.c\"\n        sourcePort = pcb.pointee.remote_port\n        destinationPort = pcb.pointee.local_port\n        sourceAddress = in_addr(s_addr: pcb.pointee.remote_ip.addr)\n        destinationAddress = in_addr(s_addr: pcb.pointee.local_ip.addr)\n        \n        identity = SocketDict.newKey()\n        identityArg = UnsafeMutablePointer<Int>.allocate(capacity: 1)\n        identityArg.pointee = identity\n        SocketDict.socketDict[identity] = self\n        \n        tcp_arg(pcb, identityArg)\n        tcp_recv(pcb, tcp_recv_func)\n        tcp_sent(pcb, tcp_sent_func)\n        tcp_err(pcb, tcp_err_func)\n    }\n    \n    func errored(_ error: err_t) {\n        release()\n        switch Int32(error) {\n        case ERR_RST:\n            delegate?.socketDidReset(self)\n        case ERR_ABRT:\n            delegate?.socketDidAbort(self)\n        default:\n            break\n        }\n    }\n    \n    func sent(_ length: Int) {\n        delegate?.didWriteData(length, from: self)\n    }\n    \n    func recved(_ buf: UnsafeMutablePointer<pbuf>?) {\n        if buf == nil {\n            delegate?.localDidClose(self)\n        } else {\n            let data = NSMutableData(length: Int((buf?.pointee.tot_len)!))!\n            pbuf_copy_partial(buf, data.mutableBytes, (buf?.pointee.tot_len)!, 0)\n            delegate?.didReadData(data as Data, from: self)\n            if isValid {\n                tcp_recved(pcb, (buf?.pointee.tot_len)!)\n            }\n            pbuf_free(buf)\n        }\n    }\n    \n    /**\n     Send data to local rx side.\n     \n     - parameter data: The data to send.\n     */\n    public func writeData(_ data: Data) {\n        guard isValid else {\n            return\n        }\n        \n        let err = tcp_write(pcb, (data as NSData).bytes, UInt16(data.count), UInt8(TCP_WRITE_FLAG_COPY))\n        if  err != err_t(ERR_OK) {\n            close()\n        } else {\n            tcp_output(pcb)\n        }\n    }\n    \n    /**\n     Close the socket. The socket should not be read or write again.\n     */\n    public func close() {\n        guard isValid else {\n            return\n        }\n        \n        tcp_arg(pcb, nil)\n        tcp_recv(pcb, nil)\n        tcp_sent(pcb, nil)\n        tcp_err(pcb, nil)\n        \n        assert(tcp_close(pcb)==err_t(ERR_OK))\n        \n        release()\n        // the lwip will handle the rest things for us\n        delegate?.socketDidClose(self)\n    }\n    \n    /**\n     Reset the socket. The socket should not be read or write again.\n     */\n    public func reset() {\n        guard isValid else {\n            return\n        }\n        \n        tcp_arg(pcb, nil)\n        tcp_recv(pcb, nil)\n        tcp_sent(pcb, nil)\n        tcp_err(pcb, nil)\n        \n        tcp_abort(pcb)\n        release()\n        \n        delegate?.socketDidClose(self)\n    }\n    \n    func release() {\n        pcb = nil\n        identityArg.deinitialize()\n        identityArg.deallocate(capacity: 1)\n        SocketDict.socketDict.removeValue(forKey: identity)\n    }\n    \n    deinit {\n    }\n}\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks-ios/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>0.3.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks-ios/tun2socks-ios.h",
    "content": "//\n//  tun2socks-ios.h\n//  tun2socks-ios\n//\n//  Created by Zhuhao Wang on 5/27/16.\n//  Copyright © 2016 Zhuhao Wang. All rights reserved.\n//\n\n#import <UIKit/UIKit.h>\n\n//! Project version number for tun2socks-ios.\nFOUNDATION_EXPORT double tun2socks_iosVersionNumber;\n\n//! Project version string for tun2socks-ios.\nFOUNDATION_EXPORT const unsigned char tun2socks_iosVersionString[];\n\n// In this header, you should import all the public headers of your framework using statements like #import <tun2socks_ios/PublicHeader.h>\n\n\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks-macOS/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>FMWK</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>0.3.0</string>\n\t<key>CFBundleSignature</key>\n\t<string>????</string>\n\t<key>CFBundleVersion</key>\n\t<string>$(CURRENT_PROJECT_VERSION)</string>\n\t<key>NSHumanReadableCopyright</key>\n\t<string>Copyright © 2016 Zhuhao Wang. All rights reserved.</string>\n\t<key>NSPrincipalClass</key>\n\t<string></string>\n</dict>\n</plist>\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks-macOS/tun2socks.h",
    "content": "#import <Cocoa/Cocoa.h>\n\n//! Project version number for tun2socks.\nFOUNDATION_EXPORT double tun2socksVersionNumber;\n\n//! Project version string for tun2socks.\nFOUNDATION_EXPORT const unsigned char tun2socksVersionString[];\n\n// In this header, you should import all the public headers of your framework using statements like #import <tun2socks/PublicHeader.h>\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t369E758E1CF48F3800D52D3C /* api.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA591CEDCC71001E0AAF /* api.h */; };\n\t\t369E758F1CF48F3800D52D3C /* api_msg.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5A1CEDCC71001E0AAF /* api_msg.h */; };\n\t\t369E75901CF48F3800D52D3C /* arch.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5B1CEDCC71001E0AAF /* arch.h */; };\n\t\t369E75911CF48F3800D52D3C /* autoip.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4A1CEDCC71001E0AAF /* autoip.h */; };\n\t\t369E75921CF48F3800D52D3C /* debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5C1CEDCC71001E0AAF /* debug.h */; };\n\t\t369E75931CF48F3800D52D3C /* def.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5D1CEDCC71001E0AAF /* def.h */; };\n\t\t369E75941CF48F3800D52D3C /* dhcp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5E1CEDCC71001E0AAF /* dhcp.h */; };\n\t\t369E75951CF48F3800D52D3C /* dns.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5F1CEDCC71001E0AAF /* dns.h */; };\n\t\t369E75961CF48F3800D52D3C /* err.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA601CEDCC71001E0AAF /* err.h */; };\n\t\t369E75971CF48F3800D52D3C /* icmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4B1CEDCC71001E0AAF /* icmp.h */; };\n\t\t369E75981CF48F3800D52D3C /* igmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4C1CEDCC71001E0AAF /* igmp.h */; };\n\t\t369E75991CF48F3800D52D3C /* inet.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4D1CEDCC71001E0AAF /* inet.h */; };\n\t\t369E759A1CF48F3800D52D3C /* inet_chksum.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4E1CEDCC71001E0AAF /* inet_chksum.h */; };\n\t\t369E759B1CF48F3800D52D3C /* init.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA611CEDCC71001E0AAF /* init.h */; };\n\t\t369E759C1CF48F3800D52D3C /* ip.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4F1CEDCC71001E0AAF /* ip.h */; };\n\t\t369E759D1CF48F3800D52D3C /* ip_addr.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA501CEDCC71001E0AAF /* ip_addr.h */; };\n\t\t369E759E1CF48F3800D52D3C /* ip_frag.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA511CEDCC71001E0AAF /* ip_frag.h */; };\n\t\t369E759F1CF48F3800D52D3C /* mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA621CEDCC71001E0AAF /* mem.h */; };\n\t\t369E75A01CF48F3800D52D3C /* memp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA631CEDCC71001E0AAF /* memp.h */; };\n\t\t369E75A11CF48F3800D52D3C /* memp_std.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA641CEDCC71001E0AAF /* memp_std.h */; };\n\t\t369E75A21CF48F3800D52D3C /* netbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA651CEDCC71001E0AAF /* netbuf.h */; };\n\t\t369E75A31CF48F3800D52D3C /* netdb.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA661CEDCC71001E0AAF /* netdb.h */; };\n\t\t369E75A41CF48F3800D52D3C /* netif.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA671CEDCC71001E0AAF /* netif.h */; };\n\t\t369E75A51CF48F3800D52D3C /* netifapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA681CEDCC71001E0AAF /* netifapi.h */; };\n\t\t369E75A61CF48F3800D52D3C /* opt.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA691CEDCC71001E0AAF /* opt.h */; };\n\t\t369E75A71CF48F3800D52D3C /* pbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6A1CEDCC71001E0AAF /* pbuf.h */; };\n\t\t369E75A81CF48F3800D52D3C /* raw.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6B1CEDCC71001E0AAF /* raw.h */; };\n\t\t369E75A91CF48F3800D52D3C /* sio.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6C1CEDCC71001E0AAF /* sio.h */; };\n\t\t369E75AA1CF48F3800D52D3C /* snmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6D1CEDCC71001E0AAF /* snmp.h */; };\n\t\t369E75AB1CF48F3800D52D3C /* snmp_asn1.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6E1CEDCC71001E0AAF /* snmp_asn1.h */; };\n\t\t369E75AC1CF48F3800D52D3C /* snmp_msg.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6F1CEDCC71001E0AAF /* snmp_msg.h */; };\n\t\t369E75AD1CF48F3800D52D3C /* snmp_structs.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA701CEDCC71001E0AAF /* snmp_structs.h */; };\n\t\t369E75AE1CF48F3800D52D3C /* sockets.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA711CEDCC71001E0AAF /* sockets.h */; };\n\t\t369E75AF1CF48F3800D52D3C /* stats.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA721CEDCC71001E0AAF /* stats.h */; };\n\t\t369E75B01CF48F3800D52D3C /* sys.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA731CEDCC71001E0AAF /* sys.h */; };\n\t\t369E75B11CF48F3800D52D3C /* tcp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA741CEDCC71001E0AAF /* tcp.h */; };\n\t\t369E75B21CF48F3800D52D3C /* tcp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA751CEDCC71001E0AAF /* tcp_impl.h */; };\n\t\t369E75B31CF48F3800D52D3C /* tcpip.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA761CEDCC71001E0AAF /* tcpip.h */; };\n\t\t369E75B41CF48F3800D52D3C /* timers.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA771CEDCC71001E0AAF /* timers.h */; };\n\t\t369E75B51CF48F3800D52D3C /* udp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA781CEDCC71001E0AAF /* udp.h */; };\n\t\t36A7190B1D5B0D9300DC35F5 /* err.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA191CEDCC71001E0AAF /* err.c */; };\n\t\t36A7190C1D5B0D9300DC35F5 /* err.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA191CEDCC71001E0AAF /* err.c */; };\n\t\t36A7190D1D5B0DC000DC35F5 /* def.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA201CEDCC71001E0AAF /* def.c */; };\n\t\t36A7190E1D5B0DC000DC35F5 /* def.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA201CEDCC71001E0AAF /* def.c */; };\n\t\t36A7190F1D5B0DC600DC35F5 /* init.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA231CEDCC71001E0AAF /* init.c */; };\n\t\t36A719101D5B0DC600DC35F5 /* init.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA231CEDCC71001E0AAF /* init.c */; };\n\t\t36A719111D5B0DCB00DC35F5 /* mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA331CEDCC71001E0AAF /* mem.c */; };\n\t\t36A719121D5B0DCC00DC35F5 /* mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA331CEDCC71001E0AAF /* mem.c */; };\n\t\t36A719131D5B0DD100DC35F5 /* memp.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA341CEDCC71001E0AAF /* memp.c */; };\n\t\t36A719141D5B0DD200DC35F5 /* memp.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA341CEDCC71001E0AAF /* memp.c */; };\n\t\t36A719151D5B0DDA00DC35F5 /* netif.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA351CEDCC71001E0AAF /* netif.c */; };\n\t\t36A719161D5B0DDB00DC35F5 /* netif.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA351CEDCC71001E0AAF /* netif.c */; };\n\t\t36A719171D5B0DDF00DC35F5 /* pbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA361CEDCC71001E0AAF /* pbuf.c */; };\n\t\t36A719181D5B0DE000DC35F5 /* pbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA361CEDCC71001E0AAF /* pbuf.c */; };\n\t\t36A719191D5B0DEB00DC35F5 /* raw.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA371CEDCC71001E0AAF /* raw.c */; };\n\t\t36A7191A1D5B0DEB00DC35F5 /* raw.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA371CEDCC71001E0AAF /* raw.c */; };\n\t\t36A7191B1D5B0DEF00DC35F5 /* sys.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA401CEDCC71001E0AAF /* sys.c */; };\n\t\t36A7191C1D5B0DEF00DC35F5 /* sys.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA401CEDCC71001E0AAF /* sys.c */; };\n\t\t36A7191D1D5B0DF400DC35F5 /* tcp.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA411CEDCC71001E0AAF /* tcp.c */; };\n\t\t36A7191E1D5B0DF400DC35F5 /* tcp.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA411CEDCC71001E0AAF /* tcp.c */; };\n\t\t36A7191F1D5B0DF800DC35F5 /* tcp_in.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA421CEDCC71001E0AAF /* tcp_in.c */; };\n\t\t36A719201D5B0DF800DC35F5 /* tcp_in.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA421CEDCC71001E0AAF /* tcp_in.c */; };\n\t\t36A719211D5B0DFC00DC35F5 /* tcp_out.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA431CEDCC71001E0AAF /* tcp_out.c */; };\n\t\t36A719221D5B0DFC00DC35F5 /* tcp_out.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA431CEDCC71001E0AAF /* tcp_out.c */; };\n\t\t36A719231D5B0DFF00DC35F5 /* timers.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA441CEDCC71001E0AAF /* timers.c */; };\n\t\t36A719241D5B0E0000DC35F5 /* timers.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA441CEDCC71001E0AAF /* timers.c */; };\n\t\t36A719251D5B0E0400DC35F5 /* udp.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA451CEDCC71001E0AAF /* udp.c */; };\n\t\t36A719261D5B0E0400DC35F5 /* udp.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA451CEDCC71001E0AAF /* udp.c */; };\n\t\t36A719271D5B0E0E00DC35F5 /* inet.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA281CEDCC71001E0AAF /* inet.c */; };\n\t\t36A719281D5B0E0F00DC35F5 /* inet.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA281CEDCC71001E0AAF /* inet.c */; };\n\t\t36A719291D5B0E1400DC35F5 /* inet_chksum.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA291CEDCC71001E0AAF /* inet_chksum.c */; };\n\t\t36A7192A1D5B0E1500DC35F5 /* inet_chksum.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA291CEDCC71001E0AAF /* inet_chksum.c */; };\n\t\t36A7192B1D5B0E1A00DC35F5 /* ip.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA2A1CEDCC71001E0AAF /* ip.c */; };\n\t\t36A7192C1D5B0E1B00DC35F5 /* ip.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA2A1CEDCC71001E0AAF /* ip.c */; };\n\t\t36A7192D1D5B0E1E00DC35F5 /* ip_addr.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA2B1CEDCC71001E0AAF /* ip_addr.c */; };\n\t\t36A7192E1D5B0E1E00DC35F5 /* ip_addr.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA2B1CEDCC71001E0AAF /* ip_addr.c */; };\n\t\t36A7192F1D5B0E2100DC35F5 /* ip_frag.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA2C1CEDCC71001E0AAF /* ip_frag.c */; };\n\t\t36A719301D5B0E2200DC35F5 /* ip_frag.c in Sources */ = {isa = PBXBuildFile; fileRef = 3642CA2C1CEDCC71001E0AAF /* ip_frag.c */; };\n\t\t36A719311D5B0E2D00DC35F5 /* compat.c in Sources */ = {isa = PBXBuildFile; fileRef = 36BC58961CF2A33800E0E367 /* compat.c */; };\n\t\t36A719321D5B0E2D00DC35F5 /* compat.c in Sources */ = {isa = PBXBuildFile; fileRef = 36BC58961CF2A33800E0E367 /* compat.c */; };\n\t\t36A719331D5B0E3200DC35F5 /* sys_arch.c in Sources */ = {isa = PBXBuildFile; fileRef = 36E702771CEEDCCD002C2421 /* sys_arch.c */; };\n\t\t36A719341D5B0E3200DC35F5 /* sys_arch.c in Sources */ = {isa = PBXBuildFile; fileRef = 36E702771CEEDCCD002C2421 /* sys_arch.c */; };\n\t\t36A719351D5B0EFF00DC35F5 /* lwip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36A718F11D5B0A1B00DC35F5 /* lwip.framework */; };\n\t\t36A719361D5B0F0300DC35F5 /* lwip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36A718FF1D5B0AC100DC35F5 /* lwip.framework */; };\n\t\t36A719381D5B0F3100DC35F5 /* lwip.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A719371D5B0F3100DC35F5 /* lwip.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A719391D5B0F3100DC35F5 /* lwip.h in Headers */ = {isa = PBXBuildFile; fileRef = 36A719371D5B0F3100DC35F5 /* lwip.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36A7193A1D5B141000DC35F5 /* cc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CB541CEEAF05001E0AAF /* cc.h */; };\n\t\t36A7193B1D5B141100DC35F5 /* cc.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CB541CEEAF05001E0AAF /* cc.h */; };\n\t\t36A7193C1D5B141600DC35F5 /* perf.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CB5B1CEEB851001E0AAF /* perf.h */; };\n\t\t36A7193D1D5B141700DC35F5 /* perf.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CB5B1CEEB851001E0AAF /* perf.h */; };\n\t\t36A7193E1D5B141B00DC35F5 /* sys_arch.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CB5A1CEEB696001E0AAF /* sys_arch.h */; };\n\t\t36A7193F1D5B141B00DC35F5 /* sys_arch.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CB5A1CEEB696001E0AAF /* sys_arch.h */; };\n\t\t36BC58531CEF514200E0E367 /* TSIPStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36BC58521CEF514200E0E367 /* TSIPStack.swift */; };\n\t\t36C48CA51CF8701A0071804F /* tun2socks-ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 36C48CA41CF8701A0071804F /* tun2socks-ios.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36C48CC11CF8706F0071804F /* TSIPStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36BC58521CEF514200E0E367 /* TSIPStack.swift */; };\n\t\t36C48CC21CF8706F0071804F /* TSTCPSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E702791CEEEB57002C2421 /* TSTCPSocket.swift */; };\n\t\t36C48CCA1CF870B50071804F /* api.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA591CEDCC71001E0AAF /* api.h */; };\n\t\t36C48CCB1CF870B50071804F /* api_msg.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5A1CEDCC71001E0AAF /* api_msg.h */; };\n\t\t36C48CCC1CF870B50071804F /* arch.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5B1CEDCC71001E0AAF /* arch.h */; };\n\t\t36C48CCD1CF870B50071804F /* autoip.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4A1CEDCC71001E0AAF /* autoip.h */; };\n\t\t36C48CCE1CF870B50071804F /* debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5C1CEDCC71001E0AAF /* debug.h */; };\n\t\t36C48CCF1CF870B50071804F /* def.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5D1CEDCC71001E0AAF /* def.h */; };\n\t\t36C48CD01CF870B50071804F /* dhcp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5E1CEDCC71001E0AAF /* dhcp.h */; };\n\t\t36C48CD11CF870B50071804F /* dns.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA5F1CEDCC71001E0AAF /* dns.h */; };\n\t\t36C48CD21CF870B50071804F /* err.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA601CEDCC71001E0AAF /* err.h */; };\n\t\t36C48CD31CF870B50071804F /* icmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4B1CEDCC71001E0AAF /* icmp.h */; };\n\t\t36C48CD41CF870B50071804F /* igmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4C1CEDCC71001E0AAF /* igmp.h */; };\n\t\t36C48CD51CF870B50071804F /* inet.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4D1CEDCC71001E0AAF /* inet.h */; };\n\t\t36C48CD61CF870B50071804F /* inet_chksum.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4E1CEDCC71001E0AAF /* inet_chksum.h */; };\n\t\t36C48CD71CF870B50071804F /* init.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA611CEDCC71001E0AAF /* init.h */; };\n\t\t36C48CD81CF870B50071804F /* ip.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA4F1CEDCC71001E0AAF /* ip.h */; };\n\t\t36C48CD91CF870B50071804F /* ip_addr.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA501CEDCC71001E0AAF /* ip_addr.h */; };\n\t\t36C48CDA1CF870B50071804F /* ip_frag.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA511CEDCC71001E0AAF /* ip_frag.h */; };\n\t\t36C48CDB1CF870B50071804F /* mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA621CEDCC71001E0AAF /* mem.h */; };\n\t\t36C48CDC1CF870B50071804F /* memp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA631CEDCC71001E0AAF /* memp.h */; };\n\t\t36C48CDD1CF870B50071804F /* memp_std.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA641CEDCC71001E0AAF /* memp_std.h */; };\n\t\t36C48CDE1CF870B50071804F /* netbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA651CEDCC71001E0AAF /* netbuf.h */; };\n\t\t36C48CDF1CF870B50071804F /* netdb.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA661CEDCC71001E0AAF /* netdb.h */; };\n\t\t36C48CE01CF870B50071804F /* netif.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA671CEDCC71001E0AAF /* netif.h */; };\n\t\t36C48CE11CF870B60071804F /* netifapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA681CEDCC71001E0AAF /* netifapi.h */; };\n\t\t36C48CE21CF870B60071804F /* opt.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA691CEDCC71001E0AAF /* opt.h */; };\n\t\t36C48CE31CF870B60071804F /* pbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6A1CEDCC71001E0AAF /* pbuf.h */; };\n\t\t36C48CE41CF870B60071804F /* raw.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6B1CEDCC71001E0AAF /* raw.h */; };\n\t\t36C48CE51CF870B60071804F /* sio.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6C1CEDCC71001E0AAF /* sio.h */; };\n\t\t36C48CE61CF870B60071804F /* snmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6D1CEDCC71001E0AAF /* snmp.h */; };\n\t\t36C48CE71CF870B60071804F /* snmp_asn1.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6E1CEDCC71001E0AAF /* snmp_asn1.h */; };\n\t\t36C48CE81CF870B60071804F /* snmp_msg.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA6F1CEDCC71001E0AAF /* snmp_msg.h */; };\n\t\t36C48CE91CF870B60071804F /* snmp_structs.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA701CEDCC71001E0AAF /* snmp_structs.h */; };\n\t\t36C48CEA1CF870B60071804F /* sockets.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA711CEDCC71001E0AAF /* sockets.h */; };\n\t\t36C48CEB1CF870B60071804F /* stats.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA721CEDCC71001E0AAF /* stats.h */; };\n\t\t36C48CEC1CF870B60071804F /* sys.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA731CEDCC71001E0AAF /* sys.h */; };\n\t\t36C48CED1CF870B60071804F /* tcp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA741CEDCC71001E0AAF /* tcp.h */; };\n\t\t36C48CEE1CF870B60071804F /* tcp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA751CEDCC71001E0AAF /* tcp_impl.h */; };\n\t\t36C48CEF1CF870B60071804F /* tcpip.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA761CEDCC71001E0AAF /* tcpip.h */; };\n\t\t36C48CF01CF870B60071804F /* timers.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA771CEDCC71001E0AAF /* timers.h */; };\n\t\t36C48CF11CF870B60071804F /* udp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA781CEDCC71001E0AAF /* udp.h */; };\n\t\t36C48CF21CF870B60071804F /* compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 36BC58971CF2A33800E0E367 /* compat.h */; };\n\t\t36C48CF41CF870B60071804F /* lwipopts.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CB4E1CEDCD6E001E0AAF /* lwipopts.h */; };\n\t\t36C48CF71CF871D10071804F /* compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 36BC58971CF2A33800E0E367 /* compat.h */; };\n\t\t36C48CF81CF871D50071804F /* lwipopts.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CB4E1CEDCD6E001E0AAF /* lwipopts.h */; };\n\t\t36E44A001CF2EA9500185DBF /* tun2socks.h in Headers */ = {isa = PBXBuildFile; fileRef = 3642CA011CEDCC60001E0AAF /* tun2socks.h */; settings = {ATTRIBUTES = (Public, ); }; };\n\t\t36E7027A1CEEEB57002C2421 /* TSTCPSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36E702791CEEEB57002C2421 /* TSTCPSocket.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\t36A719071D5B0B0100DC35F5 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 3642C9F51CEDCC60001E0AAF /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 36A718F01D5B0A1B00DC35F5;\n\t\t\tremoteInfo = \"lwip-macOS\";\n\t\t};\n\t\t36A719091D5B0B0800DC35F5 /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = 3642C9F51CEDCC60001E0AAF /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = 36A718FE1D5B0AC100DC35F5;\n\t\t\tremoteInfo = \"lwip-iOS\";\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXFileReference section */\n\t\t3642C9FE1CEDCC60001E0AAF /* tun2socks.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = tun2socks.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t3642CA011CEDCC60001E0AAF /* tun2socks.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tun2socks.h; sourceTree = \"<group>\"; };\n\t\t3642CA031CEDCC60001E0AAF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t3642CA0A1CEDCC71001E0AAF /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = \"<group>\"; };\n\t\t3642CA0B1CEDCC71001E0AAF /* COPYING */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = COPYING; sourceTree = \"<group>\"; };\n\t\t3642CA131CEDCC71001E0AAF /* FILES */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = FILES; sourceTree = \"<group>\"; };\n\t\t3642CA141CEDCC71001E0AAF /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = \"<group>\"; };\n\t\t3642CA171CEDCC71001E0AAF /* api_lib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = api_lib.c; sourceTree = \"<group>\"; };\n\t\t3642CA181CEDCC71001E0AAF /* api_msg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = api_msg.c; sourceTree = \"<group>\"; };\n\t\t3642CA191CEDCC71001E0AAF /* err.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = err.c; sourceTree = \"<group>\"; };\n\t\t3642CA1A1CEDCC71001E0AAF /* netbuf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = netbuf.c; sourceTree = \"<group>\"; };\n\t\t3642CA1B1CEDCC71001E0AAF /* netdb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = netdb.c; sourceTree = \"<group>\"; };\n\t\t3642CA1C1CEDCC71001E0AAF /* netifapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = netifapi.c; sourceTree = \"<group>\"; };\n\t\t3642CA1D1CEDCC71001E0AAF /* sockets.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sockets.c; sourceTree = \"<group>\"; };\n\t\t3642CA1E1CEDCC71001E0AAF /* tcpip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tcpip.c; sourceTree = \"<group>\"; };\n\t\t3642CA201CEDCC71001E0AAF /* def.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = def.c; sourceTree = \"<group>\"; };\n\t\t3642CA211CEDCC71001E0AAF /* dhcp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dhcp.c; sourceTree = \"<group>\"; };\n\t\t3642CA221CEDCC71001E0AAF /* dns.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dns.c; sourceTree = \"<group>\"; };\n\t\t3642CA231CEDCC71001E0AAF /* init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = init.c; sourceTree = \"<group>\"; };\n\t\t3642CA251CEDCC71001E0AAF /* autoip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = autoip.c; sourceTree = \"<group>\"; };\n\t\t3642CA261CEDCC71001E0AAF /* icmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = icmp.c; sourceTree = \"<group>\"; };\n\t\t3642CA271CEDCC71001E0AAF /* igmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = igmp.c; sourceTree = \"<group>\"; };\n\t\t3642CA281CEDCC71001E0AAF /* inet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inet.c; sourceTree = \"<group>\"; };\n\t\t3642CA291CEDCC71001E0AAF /* inet_chksum.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inet_chksum.c; sourceTree = \"<group>\"; };\n\t\t3642CA2A1CEDCC71001E0AAF /* ip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ip.c; sourceTree = \"<group>\"; };\n\t\t3642CA2B1CEDCC71001E0AAF /* ip_addr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ip_addr.c; sourceTree = \"<group>\"; };\n\t\t3642CA2C1CEDCC71001E0AAF /* ip_frag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ip_frag.c; sourceTree = \"<group>\"; };\n\t\t3642CA2E1CEDCC71001E0AAF /* icmp6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = icmp6.c; sourceTree = \"<group>\"; };\n\t\t3642CA2F1CEDCC71001E0AAF /* inet6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inet6.c; sourceTree = \"<group>\"; };\n\t\t3642CA301CEDCC71001E0AAF /* ip6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ip6.c; sourceTree = \"<group>\"; };\n\t\t3642CA311CEDCC71001E0AAF /* ip6_addr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ip6_addr.c; sourceTree = \"<group>\"; };\n\t\t3642CA321CEDCC71001E0AAF /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = \"<group>\"; };\n\t\t3642CA331CEDCC71001E0AAF /* mem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mem.c; sourceTree = \"<group>\"; };\n\t\t3642CA341CEDCC71001E0AAF /* memp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memp.c; sourceTree = \"<group>\"; };\n\t\t3642CA351CEDCC71001E0AAF /* netif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = netif.c; sourceTree = \"<group>\"; };\n\t\t3642CA361CEDCC71001E0AAF /* pbuf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pbuf.c; sourceTree = \"<group>\"; };\n\t\t3642CA371CEDCC71001E0AAF /* raw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = raw.c; sourceTree = \"<group>\"; };\n\t\t3642CA391CEDCC71001E0AAF /* asn1_dec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = asn1_dec.c; sourceTree = \"<group>\"; };\n\t\t3642CA3A1CEDCC71001E0AAF /* asn1_enc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = asn1_enc.c; sourceTree = \"<group>\"; };\n\t\t3642CA3B1CEDCC71001E0AAF /* mib2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mib2.c; sourceTree = \"<group>\"; };\n\t\t3642CA3C1CEDCC71001E0AAF /* mib_structs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mib_structs.c; sourceTree = \"<group>\"; };\n\t\t3642CA3D1CEDCC71001E0AAF /* msg_in.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msg_in.c; sourceTree = \"<group>\"; };\n\t\t3642CA3E1CEDCC71001E0AAF /* msg_out.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msg_out.c; sourceTree = \"<group>\"; };\n\t\t3642CA3F1CEDCC71001E0AAF /* stats.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stats.c; sourceTree = \"<group>\"; };\n\t\t3642CA401CEDCC71001E0AAF /* sys.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sys.c; sourceTree = \"<group>\"; };\n\t\t3642CA411CEDCC71001E0AAF /* tcp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tcp.c; sourceTree = \"<group>\"; };\n\t\t3642CA421CEDCC71001E0AAF /* tcp_in.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tcp_in.c; sourceTree = \"<group>\"; };\n\t\t3642CA431CEDCC71001E0AAF /* tcp_out.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tcp_out.c; sourceTree = \"<group>\"; };\n\t\t3642CA441CEDCC71001E0AAF /* timers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = timers.c; sourceTree = \"<group>\"; };\n\t\t3642CA451CEDCC71001E0AAF /* udp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = udp.c; sourceTree = \"<group>\"; };\n\t\t3642CA461CEDCC71001E0AAF /* FILES */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = FILES; sourceTree = \"<group>\"; };\n\t\t3642CA4A1CEDCC71001E0AAF /* autoip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = autoip.h; sourceTree = \"<group>\"; };\n\t\t3642CA4B1CEDCC71001E0AAF /* icmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = icmp.h; sourceTree = \"<group>\"; };\n\t\t3642CA4C1CEDCC71001E0AAF /* igmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = igmp.h; sourceTree = \"<group>\"; };\n\t\t3642CA4D1CEDCC71001E0AAF /* inet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inet.h; sourceTree = \"<group>\"; };\n\t\t3642CA4E1CEDCC71001E0AAF /* inet_chksum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inet_chksum.h; sourceTree = \"<group>\"; };\n\t\t3642CA4F1CEDCC71001E0AAF /* ip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip.h; sourceTree = \"<group>\"; };\n\t\t3642CA501CEDCC71001E0AAF /* ip_addr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip_addr.h; sourceTree = \"<group>\"; };\n\t\t3642CA511CEDCC71001E0AAF /* ip_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip_frag.h; sourceTree = \"<group>\"; };\n\t\t3642CA591CEDCC71001E0AAF /* api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = api.h; sourceTree = \"<group>\"; };\n\t\t3642CA5A1CEDCC71001E0AAF /* api_msg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = api_msg.h; sourceTree = \"<group>\"; };\n\t\t3642CA5B1CEDCC71001E0AAF /* arch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arch.h; sourceTree = \"<group>\"; };\n\t\t3642CA5C1CEDCC71001E0AAF /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = \"<group>\"; };\n\t\t3642CA5D1CEDCC71001E0AAF /* def.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = def.h; sourceTree = \"<group>\"; };\n\t\t3642CA5E1CEDCC71001E0AAF /* dhcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dhcp.h; sourceTree = \"<group>\"; };\n\t\t3642CA5F1CEDCC71001E0AAF /* dns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dns.h; sourceTree = \"<group>\"; };\n\t\t3642CA601CEDCC71001E0AAF /* err.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = err.h; sourceTree = \"<group>\"; };\n\t\t3642CA611CEDCC71001E0AAF /* init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = init.h; sourceTree = \"<group>\"; };\n\t\t3642CA621CEDCC71001E0AAF /* mem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem.h; sourceTree = \"<group>\"; };\n\t\t3642CA631CEDCC71001E0AAF /* memp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memp.h; sourceTree = \"<group>\"; };\n\t\t3642CA641CEDCC71001E0AAF /* memp_std.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memp_std.h; sourceTree = \"<group>\"; };\n\t\t3642CA651CEDCC71001E0AAF /* netbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = netbuf.h; sourceTree = \"<group>\"; };\n\t\t3642CA661CEDCC71001E0AAF /* netdb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = netdb.h; sourceTree = \"<group>\"; };\n\t\t3642CA671CEDCC71001E0AAF /* netif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = netif.h; sourceTree = \"<group>\"; };\n\t\t3642CA681CEDCC71001E0AAF /* netifapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = netifapi.h; sourceTree = \"<group>\"; };\n\t\t3642CA691CEDCC71001E0AAF /* opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opt.h; sourceTree = \"<group>\"; };\n\t\t3642CA6A1CEDCC71001E0AAF /* pbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pbuf.h; sourceTree = \"<group>\"; };\n\t\t3642CA6B1CEDCC71001E0AAF /* raw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = raw.h; sourceTree = \"<group>\"; };\n\t\t3642CA6C1CEDCC71001E0AAF /* sio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sio.h; sourceTree = \"<group>\"; };\n\t\t3642CA6D1CEDCC71001E0AAF /* snmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = snmp.h; sourceTree = \"<group>\"; };\n\t\t3642CA6E1CEDCC71001E0AAF /* snmp_asn1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = snmp_asn1.h; sourceTree = \"<group>\"; };\n\t\t3642CA6F1CEDCC71001E0AAF /* snmp_msg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = snmp_msg.h; sourceTree = \"<group>\"; };\n\t\t3642CA701CEDCC71001E0AAF /* snmp_structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = snmp_structs.h; sourceTree = \"<group>\"; };\n\t\t3642CA711CEDCC71001E0AAF /* sockets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sockets.h; sourceTree = \"<group>\"; };\n\t\t3642CA721CEDCC71001E0AAF /* stats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stats.h; sourceTree = \"<group>\"; };\n\t\t3642CA731CEDCC71001E0AAF /* sys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sys.h; sourceTree = \"<group>\"; };\n\t\t3642CA741CEDCC71001E0AAF /* tcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcp.h; sourceTree = \"<group>\"; };\n\t\t3642CA751CEDCC71001E0AAF /* tcp_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcp_impl.h; sourceTree = \"<group>\"; };\n\t\t3642CA761CEDCC71001E0AAF /* tcpip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcpip.h; sourceTree = \"<group>\"; };\n\t\t3642CA771CEDCC71001E0AAF /* timers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timers.h; sourceTree = \"<group>\"; };\n\t\t3642CA781CEDCC71001E0AAF /* udp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = udp.h; sourceTree = \"<group>\"; };\n\t\t3642CA821CEDCC71001E0AAF /* etharp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = etharp.c; sourceTree = \"<group>\"; };\n\t\t3642CA831CEDCC71001E0AAF /* ethernetif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ethernetif.c; sourceTree = \"<group>\"; };\n\t\t3642CA841CEDCC71001E0AAF /* FILES */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = FILES; sourceTree = \"<group>\"; };\n\t\t3642CA861CEDCC71001E0AAF /* auth.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auth.c; sourceTree = \"<group>\"; };\n\t\t3642CA871CEDCC71001E0AAF /* auth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = auth.h; sourceTree = \"<group>\"; };\n\t\t3642CA881CEDCC71001E0AAF /* chap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = chap.c; sourceTree = \"<group>\"; };\n\t\t3642CA891CEDCC71001E0AAF /* chap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chap.h; sourceTree = \"<group>\"; };\n\t\t3642CA8A1CEDCC71001E0AAF /* chpms.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = chpms.c; sourceTree = \"<group>\"; };\n\t\t3642CA8B1CEDCC71001E0AAF /* chpms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chpms.h; sourceTree = \"<group>\"; };\n\t\t3642CA8C1CEDCC71001E0AAF /* fsm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fsm.c; sourceTree = \"<group>\"; };\n\t\t3642CA8D1CEDCC71001E0AAF /* fsm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fsm.h; sourceTree = \"<group>\"; };\n\t\t3642CA8E1CEDCC71001E0AAF /* ipcp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ipcp.c; sourceTree = \"<group>\"; };\n\t\t3642CA8F1CEDCC71001E0AAF /* ipcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipcp.h; sourceTree = \"<group>\"; };\n\t\t3642CA901CEDCC71001E0AAF /* lcp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lcp.c; sourceTree = \"<group>\"; };\n\t\t3642CA911CEDCC71001E0AAF /* lcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lcp.h; sourceTree = \"<group>\"; };\n\t\t3642CA921CEDCC71001E0AAF /* magic.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = magic.c; sourceTree = \"<group>\"; };\n\t\t3642CA931CEDCC71001E0AAF /* magic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = magic.h; sourceTree = \"<group>\"; };\n\t\t3642CA941CEDCC71001E0AAF /* md5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = md5.c; sourceTree = \"<group>\"; };\n\t\t3642CA951CEDCC71001E0AAF /* md5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = \"<group>\"; };\n\t\t3642CA961CEDCC71001E0AAF /* pap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pap.c; sourceTree = \"<group>\"; };\n\t\t3642CA971CEDCC71001E0AAF /* pap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pap.h; sourceTree = \"<group>\"; };\n\t\t3642CA981CEDCC71001E0AAF /* ppp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ppp.c; sourceTree = \"<group>\"; };\n\t\t3642CA991CEDCC71001E0AAF /* ppp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ppp.h; sourceTree = \"<group>\"; };\n\t\t3642CA9A1CEDCC71001E0AAF /* ppp_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ppp_impl.h; sourceTree = \"<group>\"; };\n\t\t3642CA9B1CEDCC71001E0AAF /* ppp_oe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ppp_oe.c; sourceTree = \"<group>\"; };\n\t\t3642CA9C1CEDCC71001E0AAF /* pppdebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pppdebug.h; sourceTree = \"<group>\"; };\n\t\t3642CA9D1CEDCC71001E0AAF /* randm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = randm.c; sourceTree = \"<group>\"; };\n\t\t3642CA9E1CEDCC71001E0AAF /* randm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = randm.h; sourceTree = \"<group>\"; };\n\t\t3642CA9F1CEDCC71001E0AAF /* vj.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vj.c; sourceTree = \"<group>\"; };\n\t\t3642CAA01CEDCC71001E0AAF /* vj.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vj.h; sourceTree = \"<group>\"; };\n\t\t3642CAA11CEDCC71001E0AAF /* slipif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = slipif.c; sourceTree = \"<group>\"; };\n\t\t3642CAB71CEDCC71001E0AAF /* UPGRADING */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = UPGRADING; sourceTree = \"<group>\"; };\n\t\t3642CB4E1CEDCD6E001E0AAF /* lwipopts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lwipopts.h; sourceTree = \"<group>\"; };\n\t\t3642CB541CEEAF05001E0AAF /* cc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cc.h; sourceTree = \"<group>\"; };\n\t\t3642CB5A1CEEB696001E0AAF /* sys_arch.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sys_arch.h; sourceTree = \"<group>\"; };\n\t\t3642CB5B1CEEB851001E0AAF /* perf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = perf.h; sourceTree = \"<group>\"; };\n\t\t36A718F11D5B0A1B00DC35F5 /* lwip.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = lwip.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t36A718F51D5B0A1B00DC35F5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t36A718FF1D5B0AC100DC35F5 /* lwip.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = lwip.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t36A719031D5B0AC100DC35F5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t36A719371D5B0F3100DC35F5 /* lwip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lwip.h; sourceTree = \"<group>\"; };\n\t\t36BC58521CEF514200E0E367 /* TSIPStack.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TSIPStack.swift; sourceTree = \"<group>\"; };\n\t\t36BC58961CF2A33800E0E367 /* compat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compat.c; sourceTree = \"<group>\"; };\n\t\t36BC58971CF2A33800E0E367 /* compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compat.h; sourceTree = \"<group>\"; };\n\t\t36C48C9C1CF8667F0071804F /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = \"<group>\"; };\n\t\t36C48CA21CF8701A0071804F /* tun2socks.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = tun2socks.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t36C48CA41CF8701A0071804F /* tun2socks-ios.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = \"tun2socks-ios.h\"; sourceTree = \"<group>\"; };\n\t\t36C48CA61CF8701A0071804F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\t36E44A9C1CF3EB6B00185DBF /* etharp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = etharp.h; sourceTree = \"<group>\"; };\n\t\t36E44A9D1CF3EB6B00185DBF /* ppp_oe.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ppp_oe.h; sourceTree = \"<group>\"; };\n\t\t36E44A9E1CF3EB6B00185DBF /* slipif.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = slipif.h; sourceTree = \"<group>\"; };\n\t\t36E702771CEEDCCD002C2421 /* sys_arch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sys_arch.c; sourceTree = \"<group>\"; };\n\t\t36E702791CEEEB57002C2421 /* TSTCPSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TSTCPSocket.swift; sourceTree = \"<group>\"; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\t3642C9FA1CEDCC60001E0AAF /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A719351D5B0EFF00DC35F5 /* lwip.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A718ED1D5B0A1B00DC35F5 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A718FB1D5B0AC100DC35F5 /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36C48C9E1CF8701A0071804F /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A719361D5B0F0300DC35F5 /* lwip.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t3642C9F41CEDCC60001E0AAF = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642C9FF1CEDCC60001E0AAF /* Products */,\n\t\t\t\t36A718F21D5B0A1B00DC35F5 /* lwip */,\n\t\t\t\t36A719001D5B0AC100DC35F5 /* lwip-iOS */,\n\t\t\t\t36A718F91D5B0AA400DC35F5 /* lwip-macOS */,\n\t\t\t\t3642CA001CEDCC60001E0AAF /* tun2socks */,\n\t\t\t\t36C48CA31CF8701A0071804F /* tun2socks-iOS */,\n\t\t\t\t368225B41D114ADF00E7B495 /* tun2socks-macOS */,\n\t\t\t\t36C48C9C1CF8667F0071804F /* README.md */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642C9FF1CEDCC60001E0AAF /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642C9FE1CEDCC60001E0AAF /* tun2socks.framework */,\n\t\t\t\t36C48CA21CF8701A0071804F /* tun2socks.framework */,\n\t\t\t\t36A718F11D5B0A1B00DC35F5 /* lwip.framework */,\n\t\t\t\t36A718FF1D5B0AC100DC35F5 /* lwip.framework */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA001CEDCC60001E0AAF /* tun2socks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36BC58521CEF514200E0E367 /* TSIPStack.swift */,\n\t\t\t\t36E702791CEEEB57002C2421 /* TSTCPSocket.swift */,\n\t\t\t);\n\t\t\tpath = tun2socks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA151CEDCC71001E0AAF /* src */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA161CEDCC71001E0AAF /* api */,\n\t\t\t\t3642CA1F1CEDCC71001E0AAF /* core */,\n\t\t\t\t3642CB501CEEAEDD001E0AAF /* darwin */,\n\t\t\t\t3642CA811CEDCC71001E0AAF /* netif */,\n\t\t\t\t3642CA461CEDCC71001E0AAF /* FILES */,\n\t\t\t);\n\t\t\tpath = src;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA161CEDCC71001E0AAF /* api */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA171CEDCC71001E0AAF /* api_lib.c */,\n\t\t\t\t3642CA181CEDCC71001E0AAF /* api_msg.c */,\n\t\t\t\t3642CA191CEDCC71001E0AAF /* err.c */,\n\t\t\t\t3642CA1A1CEDCC71001E0AAF /* netbuf.c */,\n\t\t\t\t3642CA1B1CEDCC71001E0AAF /* netdb.c */,\n\t\t\t\t3642CA1C1CEDCC71001E0AAF /* netifapi.c */,\n\t\t\t\t3642CA1D1CEDCC71001E0AAF /* sockets.c */,\n\t\t\t\t3642CA1E1CEDCC71001E0AAF /* tcpip.c */,\n\t\t\t);\n\t\t\tpath = api;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA1F1CEDCC71001E0AAF /* core */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA241CEDCC71001E0AAF /* ipv4 */,\n\t\t\t\t3642CA2D1CEDCC71001E0AAF /* ipv6 */,\n\t\t\t\t3642CA381CEDCC71001E0AAF /* snmp */,\n\t\t\t\t3642CA201CEDCC71001E0AAF /* def.c */,\n\t\t\t\t3642CA211CEDCC71001E0AAF /* dhcp.c */,\n\t\t\t\t3642CA221CEDCC71001E0AAF /* dns.c */,\n\t\t\t\t3642CA231CEDCC71001E0AAF /* init.c */,\n\t\t\t\t3642CA331CEDCC71001E0AAF /* mem.c */,\n\t\t\t\t3642CA341CEDCC71001E0AAF /* memp.c */,\n\t\t\t\t3642CA351CEDCC71001E0AAF /* netif.c */,\n\t\t\t\t3642CA361CEDCC71001E0AAF /* pbuf.c */,\n\t\t\t\t3642CA371CEDCC71001E0AAF /* raw.c */,\n\t\t\t\t3642CA3F1CEDCC71001E0AAF /* stats.c */,\n\t\t\t\t3642CA401CEDCC71001E0AAF /* sys.c */,\n\t\t\t\t3642CA411CEDCC71001E0AAF /* tcp.c */,\n\t\t\t\t3642CA421CEDCC71001E0AAF /* tcp_in.c */,\n\t\t\t\t3642CA431CEDCC71001E0AAF /* tcp_out.c */,\n\t\t\t\t3642CA441CEDCC71001E0AAF /* timers.c */,\n\t\t\t\t3642CA451CEDCC71001E0AAF /* udp.c */,\n\t\t\t);\n\t\t\tpath = core;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA241CEDCC71001E0AAF /* ipv4 */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA251CEDCC71001E0AAF /* autoip.c */,\n\t\t\t\t3642CA261CEDCC71001E0AAF /* icmp.c */,\n\t\t\t\t3642CA271CEDCC71001E0AAF /* igmp.c */,\n\t\t\t\t3642CA281CEDCC71001E0AAF /* inet.c */,\n\t\t\t\t3642CA291CEDCC71001E0AAF /* inet_chksum.c */,\n\t\t\t\t3642CA2A1CEDCC71001E0AAF /* ip.c */,\n\t\t\t\t3642CA2B1CEDCC71001E0AAF /* ip_addr.c */,\n\t\t\t\t3642CA2C1CEDCC71001E0AAF /* ip_frag.c */,\n\t\t\t);\n\t\t\tpath = ipv4;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA2D1CEDCC71001E0AAF /* ipv6 */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA321CEDCC71001E0AAF /* README */,\n\t\t\t\t3642CA2E1CEDCC71001E0AAF /* icmp6.c */,\n\t\t\t\t3642CA2F1CEDCC71001E0AAF /* inet6.c */,\n\t\t\t\t3642CA301CEDCC71001E0AAF /* ip6.c */,\n\t\t\t\t3642CA311CEDCC71001E0AAF /* ip6_addr.c */,\n\t\t\t);\n\t\t\tpath = ipv6;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA381CEDCC71001E0AAF /* snmp */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA391CEDCC71001E0AAF /* asn1_dec.c */,\n\t\t\t\t3642CA3A1CEDCC71001E0AAF /* asn1_enc.c */,\n\t\t\t\t3642CA3B1CEDCC71001E0AAF /* mib2.c */,\n\t\t\t\t3642CA3C1CEDCC71001E0AAF /* mib_structs.c */,\n\t\t\t\t3642CA3D1CEDCC71001E0AAF /* msg_in.c */,\n\t\t\t\t3642CA3E1CEDCC71001E0AAF /* msg_out.c */,\n\t\t\t);\n\t\t\tpath = snmp;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA581CEDCC71001E0AAF /* lwip */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA591CEDCC71001E0AAF /* api.h */,\n\t\t\t\t3642CA5A1CEDCC71001E0AAF /* api_msg.h */,\n\t\t\t\t3642CA5B1CEDCC71001E0AAF /* arch.h */,\n\t\t\t\t3642CA4A1CEDCC71001E0AAF /* autoip.h */,\n\t\t\t\t3642CA5C1CEDCC71001E0AAF /* debug.h */,\n\t\t\t\t3642CA5D1CEDCC71001E0AAF /* def.h */,\n\t\t\t\t3642CA5E1CEDCC71001E0AAF /* dhcp.h */,\n\t\t\t\t3642CA5F1CEDCC71001E0AAF /* dns.h */,\n\t\t\t\t3642CA601CEDCC71001E0AAF /* err.h */,\n\t\t\t\t3642CA4B1CEDCC71001E0AAF /* icmp.h */,\n\t\t\t\t3642CA4C1CEDCC71001E0AAF /* igmp.h */,\n\t\t\t\t3642CA4D1CEDCC71001E0AAF /* inet.h */,\n\t\t\t\t3642CA4E1CEDCC71001E0AAF /* inet_chksum.h */,\n\t\t\t\t3642CA611CEDCC71001E0AAF /* init.h */,\n\t\t\t\t3642CA4F1CEDCC71001E0AAF /* ip.h */,\n\t\t\t\t3642CA501CEDCC71001E0AAF /* ip_addr.h */,\n\t\t\t\t3642CA511CEDCC71001E0AAF /* ip_frag.h */,\n\t\t\t\t3642CA621CEDCC71001E0AAF /* mem.h */,\n\t\t\t\t3642CA631CEDCC71001E0AAF /* memp.h */,\n\t\t\t\t3642CA641CEDCC71001E0AAF /* memp_std.h */,\n\t\t\t\t3642CA651CEDCC71001E0AAF /* netbuf.h */,\n\t\t\t\t3642CA661CEDCC71001E0AAF /* netdb.h */,\n\t\t\t\t3642CA671CEDCC71001E0AAF /* netif.h */,\n\t\t\t\t3642CA681CEDCC71001E0AAF /* netifapi.h */,\n\t\t\t\t3642CA691CEDCC71001E0AAF /* opt.h */,\n\t\t\t\t3642CA6A1CEDCC71001E0AAF /* pbuf.h */,\n\t\t\t\t3642CA6B1CEDCC71001E0AAF /* raw.h */,\n\t\t\t\t3642CA6C1CEDCC71001E0AAF /* sio.h */,\n\t\t\t\t3642CA6D1CEDCC71001E0AAF /* snmp.h */,\n\t\t\t\t3642CA6E1CEDCC71001E0AAF /* snmp_asn1.h */,\n\t\t\t\t3642CA6F1CEDCC71001E0AAF /* snmp_msg.h */,\n\t\t\t\t3642CA701CEDCC71001E0AAF /* snmp_structs.h */,\n\t\t\t\t3642CA711CEDCC71001E0AAF /* sockets.h */,\n\t\t\t\t3642CA721CEDCC71001E0AAF /* stats.h */,\n\t\t\t\t3642CA731CEDCC71001E0AAF /* sys.h */,\n\t\t\t\t3642CA741CEDCC71001E0AAF /* tcp.h */,\n\t\t\t\t3642CA751CEDCC71001E0AAF /* tcp_impl.h */,\n\t\t\t\t3642CA761CEDCC71001E0AAF /* tcpip.h */,\n\t\t\t\t3642CA771CEDCC71001E0AAF /* timers.h */,\n\t\t\t\t3642CA781CEDCC71001E0AAF /* udp.h */,\n\t\t\t);\n\t\t\tpath = lwip;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA811CEDCC71001E0AAF /* netif */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA851CEDCC71001E0AAF /* ppp */,\n\t\t\t\t3642CA841CEDCC71001E0AAF /* FILES */,\n\t\t\t\t3642CA821CEDCC71001E0AAF /* etharp.c */,\n\t\t\t\t3642CA831CEDCC71001E0AAF /* ethernetif.c */,\n\t\t\t\t3642CAA11CEDCC71001E0AAF /* slipif.c */,\n\t\t\t);\n\t\t\tpath = netif;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CA851CEDCC71001E0AAF /* ppp */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA861CEDCC71001E0AAF /* auth.c */,\n\t\t\t\t3642CA871CEDCC71001E0AAF /* auth.h */,\n\t\t\t\t3642CA881CEDCC71001E0AAF /* chap.c */,\n\t\t\t\t3642CA891CEDCC71001E0AAF /* chap.h */,\n\t\t\t\t3642CA8A1CEDCC71001E0AAF /* chpms.c */,\n\t\t\t\t3642CA8B1CEDCC71001E0AAF /* chpms.h */,\n\t\t\t\t3642CA8C1CEDCC71001E0AAF /* fsm.c */,\n\t\t\t\t3642CA8D1CEDCC71001E0AAF /* fsm.h */,\n\t\t\t\t3642CA8E1CEDCC71001E0AAF /* ipcp.c */,\n\t\t\t\t3642CA8F1CEDCC71001E0AAF /* ipcp.h */,\n\t\t\t\t3642CA901CEDCC71001E0AAF /* lcp.c */,\n\t\t\t\t3642CA911CEDCC71001E0AAF /* lcp.h */,\n\t\t\t\t3642CA921CEDCC71001E0AAF /* magic.c */,\n\t\t\t\t3642CA931CEDCC71001E0AAF /* magic.h */,\n\t\t\t\t3642CA941CEDCC71001E0AAF /* md5.c */,\n\t\t\t\t3642CA951CEDCC71001E0AAF /* md5.h */,\n\t\t\t\t3642CA961CEDCC71001E0AAF /* pap.c */,\n\t\t\t\t3642CA971CEDCC71001E0AAF /* pap.h */,\n\t\t\t\t3642CA981CEDCC71001E0AAF /* ppp.c */,\n\t\t\t\t3642CA991CEDCC71001E0AAF /* ppp.h */,\n\t\t\t\t3642CA9A1CEDCC71001E0AAF /* ppp_impl.h */,\n\t\t\t\t3642CA9B1CEDCC71001E0AAF /* ppp_oe.c */,\n\t\t\t\t3642CA9C1CEDCC71001E0AAF /* pppdebug.h */,\n\t\t\t\t3642CA9D1CEDCC71001E0AAF /* randm.c */,\n\t\t\t\t3642CA9E1CEDCC71001E0AAF /* randm.h */,\n\t\t\t\t3642CA9F1CEDCC71001E0AAF /* vj.c */,\n\t\t\t\t3642CAA01CEDCC71001E0AAF /* vj.h */,\n\t\t\t);\n\t\t\tpath = ppp;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CB501CEEAEDD001E0AAF /* darwin */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CB571CEEB655001E0AAF /* src */,\n\t\t\t);\n\t\t\tpath = darwin;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CB521CEEAEEE001E0AAF /* arch */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CB541CEEAF05001E0AAF /* cc.h */,\n\t\t\t\t3642CB5B1CEEB851001E0AAF /* perf.h */,\n\t\t\t\t3642CB5A1CEEB696001E0AAF /* sys_arch.h */,\n\t\t\t);\n\t\t\tpath = arch;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t3642CB571CEEB655001E0AAF /* src */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36BC58961CF2A33800E0E367 /* compat.c */,\n\t\t\t\t36E702771CEEDCCD002C2421 /* sys_arch.c */,\n\t\t\t);\n\t\t\tpath = src;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t368225B41D114ADF00E7B495 /* tun2socks-macOS */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CA031CEDCC60001E0AAF /* Info.plist */,\n\t\t\t\t3642CA011CEDCC60001E0AAF /* tun2socks.h */,\n\t\t\t);\n\t\t\tpath = \"tun2socks-macOS\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36A718F21D5B0A1B00DC35F5 /* lwip */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t3642CB521CEEAEEE001E0AAF /* arch */,\n\t\t\t\t3642CA581CEDCC71001E0AAF /* lwip */,\n\t\t\t\t36E44A9B1CF3EB6B00185DBF /* netif */,\n\t\t\t\t3642CA151CEDCC71001E0AAF /* src */,\n\t\t\t\t3642CA0A1CEDCC71001E0AAF /* CHANGELOG */,\n\t\t\t\t3642CA0B1CEDCC71001E0AAF /* COPYING */,\n\t\t\t\t3642CA131CEDCC71001E0AAF /* FILES */,\n\t\t\t\t3642CA141CEDCC71001E0AAF /* README */,\n\t\t\t\t3642CAB71CEDCC71001E0AAF /* UPGRADING */,\n\t\t\t\t36BC58971CF2A33800E0E367 /* compat.h */,\n\t\t\t\t3642CB4E1CEDCD6E001E0AAF /* lwipopts.h */,\n\t\t\t\t36A719371D5B0F3100DC35F5 /* lwip.h */,\n\t\t\t);\n\t\t\tpath = lwip;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36A718F91D5B0AA400DC35F5 /* lwip-macOS */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36A718F51D5B0A1B00DC35F5 /* Info.plist */,\n\t\t\t);\n\t\t\tpath = \"lwip-macOS\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36A719001D5B0AC100DC35F5 /* lwip-iOS */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36A719031D5B0AC100DC35F5 /* Info.plist */,\n\t\t\t);\n\t\t\tpath = \"lwip-iOS\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36C48CA31CF8701A0071804F /* tun2socks-iOS */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36C48CA61CF8701A0071804F /* Info.plist */,\n\t\t\t\t36C48CA41CF8701A0071804F /* tun2socks-ios.h */,\n\t\t\t);\n\t\t\tpath = \"tun2socks-iOS\";\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\t36E44A9B1CF3EB6B00185DBF /* netif */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\t36E44A9C1CF3EB6B00185DBF /* etharp.h */,\n\t\t\t\t36E44A9D1CF3EB6B00185DBF /* ppp_oe.h */,\n\t\t\t\t36E44A9E1CF3EB6B00185DBF /* slipif.h */,\n\t\t\t);\n\t\t\tpath = netif;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXHeadersBuildPhase section */\n\t\t3642C9FB1CEDCC60001E0AAF /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t369E75991CF48F3800D52D3C /* inet.h in Headers */,\n\t\t\t\t369E75961CF48F3800D52D3C /* err.h in Headers */,\n\t\t\t\t369E759F1CF48F3800D52D3C /* mem.h in Headers */,\n\t\t\t\t369E75A41CF48F3800D52D3C /* netif.h in Headers */,\n\t\t\t\t369E75B21CF48F3800D52D3C /* tcp_impl.h in Headers */,\n\t\t\t\t369E75AC1CF48F3800D52D3C /* snmp_msg.h in Headers */,\n\t\t\t\t369E75A61CF48F3800D52D3C /* opt.h in Headers */,\n\t\t\t\t369E75981CF48F3800D52D3C /* igmp.h in Headers */,\n\t\t\t\t369E75AD1CF48F3800D52D3C /* snmp_structs.h in Headers */,\n\t\t\t\t369E75B31CF48F3800D52D3C /* tcpip.h in Headers */,\n\t\t\t\t369E75A51CF48F3800D52D3C /* netifapi.h in Headers */,\n\t\t\t\t369E75A71CF48F3800D52D3C /* pbuf.h in Headers */,\n\t\t\t\t369E759C1CF48F3800D52D3C /* ip.h in Headers */,\n\t\t\t\t369E75931CF48F3800D52D3C /* def.h in Headers */,\n\t\t\t\t369E75AA1CF48F3800D52D3C /* snmp.h in Headers */,\n\t\t\t\t369E75921CF48F3800D52D3C /* debug.h in Headers */,\n\t\t\t\t36E44A001CF2EA9500185DBF /* tun2socks.h in Headers */,\n\t\t\t\t36C48CF71CF871D10071804F /* compat.h in Headers */,\n\t\t\t\t369E75941CF48F3800D52D3C /* dhcp.h in Headers */,\n\t\t\t\t36C48CF81CF871D50071804F /* lwipopts.h in Headers */,\n\t\t\t\t369E75911CF48F3800D52D3C /* autoip.h in Headers */,\n\t\t\t\t369E759D1CF48F3800D52D3C /* ip_addr.h in Headers */,\n\t\t\t\t369E758F1CF48F3800D52D3C /* api_msg.h in Headers */,\n\t\t\t\t369E75A21CF48F3800D52D3C /* netbuf.h in Headers */,\n\t\t\t\t369E75A81CF48F3800D52D3C /* raw.h in Headers */,\n\t\t\t\t369E759A1CF48F3800D52D3C /* inet_chksum.h in Headers */,\n\t\t\t\t369E75AF1CF48F3800D52D3C /* stats.h in Headers */,\n\t\t\t\t369E75A91CF48F3800D52D3C /* sio.h in Headers */,\n\t\t\t\t369E75A31CF48F3800D52D3C /* netdb.h in Headers */,\n\t\t\t\t369E759B1CF48F3800D52D3C /* init.h in Headers */,\n\t\t\t\t369E75AE1CF48F3800D52D3C /* sockets.h in Headers */,\n\t\t\t\t369E75AB1CF48F3800D52D3C /* snmp_asn1.h in Headers */,\n\t\t\t\t369E75951CF48F3800D52D3C /* dns.h in Headers */,\n\t\t\t\t369E75A01CF48F3800D52D3C /* memp.h in Headers */,\n\t\t\t\t369E75B51CF48F3800D52D3C /* udp.h in Headers */,\n\t\t\t\t369E75B01CF48F3800D52D3C /* sys.h in Headers */,\n\t\t\t\t369E75901CF48F3800D52D3C /* arch.h in Headers */,\n\t\t\t\t369E75B41CF48F3800D52D3C /* timers.h in Headers */,\n\t\t\t\t369E758E1CF48F3800D52D3C /* api.h in Headers */,\n\t\t\t\t369E75A11CF48F3800D52D3C /* memp_std.h in Headers */,\n\t\t\t\t369E75971CF48F3800D52D3C /* icmp.h in Headers */,\n\t\t\t\t369E759E1CF48F3800D52D3C /* ip_frag.h in Headers */,\n\t\t\t\t369E75B11CF48F3800D52D3C /* tcp.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A718EE1D5B0A1B00DC35F5 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A719381D5B0F3100DC35F5 /* lwip.h in Headers */,\n\t\t\t\t36A7193E1D5B141B00DC35F5 /* sys_arch.h in Headers */,\n\t\t\t\t36A7193C1D5B141600DC35F5 /* perf.h in Headers */,\n\t\t\t\t36A7193A1D5B141000DC35F5 /* cc.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A718FC1D5B0AC100DC35F5 /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A719391D5B0F3100DC35F5 /* lwip.h in Headers */,\n\t\t\t\t36A7193F1D5B141B00DC35F5 /* sys_arch.h in Headers */,\n\t\t\t\t36A7193D1D5B141700DC35F5 /* perf.h in Headers */,\n\t\t\t\t36A7193B1D5B141100DC35F5 /* cc.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36C48C9F1CF8701A0071804F /* Headers */ = {\n\t\t\tisa = PBXHeadersBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36C48CA51CF8701A0071804F /* tun2socks-ios.h in Headers */,\n\t\t\t\t36C48CCA1CF870B50071804F /* api.h in Headers */,\n\t\t\t\t36C48CCB1CF870B50071804F /* api_msg.h in Headers */,\n\t\t\t\t36C48CCC1CF870B50071804F /* arch.h in Headers */,\n\t\t\t\t36C48CCD1CF870B50071804F /* autoip.h in Headers */,\n\t\t\t\t36C48CCE1CF870B50071804F /* debug.h in Headers */,\n\t\t\t\t36C48CCF1CF870B50071804F /* def.h in Headers */,\n\t\t\t\t36C48CD01CF870B50071804F /* dhcp.h in Headers */,\n\t\t\t\t36C48CD11CF870B50071804F /* dns.h in Headers */,\n\t\t\t\t36C48CD21CF870B50071804F /* err.h in Headers */,\n\t\t\t\t36C48CD31CF870B50071804F /* icmp.h in Headers */,\n\t\t\t\t36C48CD41CF870B50071804F /* igmp.h in Headers */,\n\t\t\t\t36C48CD51CF870B50071804F /* inet.h in Headers */,\n\t\t\t\t36C48CD61CF870B50071804F /* inet_chksum.h in Headers */,\n\t\t\t\t36C48CD71CF870B50071804F /* init.h in Headers */,\n\t\t\t\t36C48CD81CF870B50071804F /* ip.h in Headers */,\n\t\t\t\t36C48CD91CF870B50071804F /* ip_addr.h in Headers */,\n\t\t\t\t36C48CDA1CF870B50071804F /* ip_frag.h in Headers */,\n\t\t\t\t36C48CDB1CF870B50071804F /* mem.h in Headers */,\n\t\t\t\t36C48CDC1CF870B50071804F /* memp.h in Headers */,\n\t\t\t\t36C48CDD1CF870B50071804F /* memp_std.h in Headers */,\n\t\t\t\t36C48CDE1CF870B50071804F /* netbuf.h in Headers */,\n\t\t\t\t36C48CDF1CF870B50071804F /* netdb.h in Headers */,\n\t\t\t\t36C48CE01CF870B50071804F /* netif.h in Headers */,\n\t\t\t\t36C48CE11CF870B60071804F /* netifapi.h in Headers */,\n\t\t\t\t36C48CE21CF870B60071804F /* opt.h in Headers */,\n\t\t\t\t36C48CE31CF870B60071804F /* pbuf.h in Headers */,\n\t\t\t\t36C48CE41CF870B60071804F /* raw.h in Headers */,\n\t\t\t\t36C48CE51CF870B60071804F /* sio.h in Headers */,\n\t\t\t\t36C48CE61CF870B60071804F /* snmp.h in Headers */,\n\t\t\t\t36C48CE71CF870B60071804F /* snmp_asn1.h in Headers */,\n\t\t\t\t36C48CE81CF870B60071804F /* snmp_msg.h in Headers */,\n\t\t\t\t36C48CE91CF870B60071804F /* snmp_structs.h in Headers */,\n\t\t\t\t36C48CEA1CF870B60071804F /* sockets.h in Headers */,\n\t\t\t\t36C48CEB1CF870B60071804F /* stats.h in Headers */,\n\t\t\t\t36C48CEC1CF870B60071804F /* sys.h in Headers */,\n\t\t\t\t36C48CED1CF870B60071804F /* tcp.h in Headers */,\n\t\t\t\t36C48CEE1CF870B60071804F /* tcp_impl.h in Headers */,\n\t\t\t\t36C48CEF1CF870B60071804F /* tcpip.h in Headers */,\n\t\t\t\t36C48CF01CF870B60071804F /* timers.h in Headers */,\n\t\t\t\t36C48CF11CF870B60071804F /* udp.h in Headers */,\n\t\t\t\t36C48CF21CF870B60071804F /* compat.h in Headers */,\n\t\t\t\t36C48CF41CF870B60071804F /* lwipopts.h in Headers */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXHeadersBuildPhase section */\n\n/* Begin PBXNativeTarget section */\n\t\t3642C9FD1CEDCC60001E0AAF /* tun2socks-macOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 3642CA061CEDCC60001E0AAF /* Build configuration list for PBXNativeTarget \"tun2socks-macOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t3642C9F91CEDCC60001E0AAF /* Sources */,\n\t\t\t\t3642C9FA1CEDCC60001E0AAF /* Frameworks */,\n\t\t\t\t3642C9FB1CEDCC60001E0AAF /* Headers */,\n\t\t\t\t3642C9FC1CEDCC60001E0AAF /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t36A719081D5B0B0100DC35F5 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"tun2socks-macOS\";\n\t\t\tproductName = tun2socks;\n\t\t\tproductReference = 3642C9FE1CEDCC60001E0AAF /* tun2socks.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t36A718F01D5B0A1B00DC35F5 /* lwip-macOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 36A718F81D5B0A1B00DC35F5 /* Build configuration list for PBXNativeTarget \"lwip-macOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t36A718EC1D5B0A1B00DC35F5 /* Sources */,\n\t\t\t\t36A718ED1D5B0A1B00DC35F5 /* Frameworks */,\n\t\t\t\t36A718EE1D5B0A1B00DC35F5 /* Headers */,\n\t\t\t\t36A718EF1D5B0A1B00DC35F5 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"lwip-macOS\";\n\t\t\tproductName = lwip;\n\t\t\tproductReference = 36A718F11D5B0A1B00DC35F5 /* lwip.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t36A718FE1D5B0AC100DC35F5 /* lwip-iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 36A719041D5B0AC100DC35F5 /* Build configuration list for PBXNativeTarget \"lwip-iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t36A718FA1D5B0AC100DC35F5 /* Sources */,\n\t\t\t\t36A718FB1D5B0AC100DC35F5 /* Frameworks */,\n\t\t\t\t36A718FC1D5B0AC100DC35F5 /* Headers */,\n\t\t\t\t36A718FD1D5B0AC100DC35F5 /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = \"lwip-iOS\";\n\t\t\tproductName = \"lwip-iOS\";\n\t\t\tproductReference = 36A718FF1D5B0AC100DC35F5 /* lwip.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n\t\t36C48CA11CF8701A0071804F /* tun2socks-iOS */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = 36C48CA71CF8701A0071804F /* Build configuration list for PBXNativeTarget \"tun2socks-iOS\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t36C48C9D1CF8701A0071804F /* Sources */,\n\t\t\t\t36C48C9E1CF8701A0071804F /* Frameworks */,\n\t\t\t\t36C48C9F1CF8701A0071804F /* Headers */,\n\t\t\t\t36C48CA01CF8701A0071804F /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\t36A7190A1D5B0B0800DC35F5 /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = \"tun2socks-iOS\";\n\t\t\tproductName = \"tun2socks-ios\";\n\t\t\tproductReference = 36C48CA21CF8701A0071804F /* tun2socks.framework */;\n\t\t\tproductType = \"com.apple.product-type.framework\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\t3642C9F51CEDCC60001E0AAF /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastUpgradeCheck = 0810;\n\t\t\t\tORGANIZATIONNAME = \"Zhuhao Wang\";\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\t3642C9FD1CEDCC60001E0AAF = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.3.1;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t\t36A718F01D5B0A1B00DC35F5 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.3.1;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t\t36A718FE1D5B0AC100DC35F5 = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.3.1;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t\t36C48CA11CF8701A0071804F = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 7.3.1;\n\t\t\t\t\t\tLastSwiftMigration = 0810;\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = 3642C9F81CEDCC60001E0AAF /* Build configuration list for PBXProject \"tun2socks\" */;\n\t\t\tcompatibilityVersion = \"Xcode 3.2\";\n\t\t\tdevelopmentRegion = English;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t);\n\t\t\tmainGroup = 3642C9F41CEDCC60001E0AAF;\n\t\t\tproductRefGroup = 3642C9FF1CEDCC60001E0AAF /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\t3642C9FD1CEDCC60001E0AAF /* tun2socks-macOS */,\n\t\t\t\t36C48CA11CF8701A0071804F /* tun2socks-iOS */,\n\t\t\t\t36A718F01D5B0A1B00DC35F5 /* lwip-macOS */,\n\t\t\t\t36A718FE1D5B0AC100DC35F5 /* lwip-iOS */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\t3642C9FC1CEDCC60001E0AAF /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A718EF1D5B0A1B00DC35F5 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A718FD1D5B0AC100DC35F5 /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36C48CA01CF8701A0071804F /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\t3642C9F91CEDCC60001E0AAF /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36E7027A1CEEEB57002C2421 /* TSTCPSocket.swift in Sources */,\n\t\t\t\t36BC58531CEF514200E0E367 /* TSIPStack.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A718EC1D5B0A1B00DC35F5 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A7192B1D5B0E1A00DC35F5 /* ip.c in Sources */,\n\t\t\t\t36A7191B1D5B0DEF00DC35F5 /* sys.c in Sources */,\n\t\t\t\t36A7191D1D5B0DF400DC35F5 /* tcp.c in Sources */,\n\t\t\t\t36A719331D5B0E3200DC35F5 /* sys_arch.c in Sources */,\n\t\t\t\t36A719191D5B0DEB00DC35F5 /* raw.c in Sources */,\n\t\t\t\t36A719151D5B0DDA00DC35F5 /* netif.c in Sources */,\n\t\t\t\t36A719321D5B0E2D00DC35F5 /* compat.c in Sources */,\n\t\t\t\t36A719131D5B0DD100DC35F5 /* memp.c in Sources */,\n\t\t\t\t36A719271D5B0E0E00DC35F5 /* inet.c in Sources */,\n\t\t\t\t36A7191F1D5B0DF800DC35F5 /* tcp_in.c in Sources */,\n\t\t\t\t36A719231D5B0DFF00DC35F5 /* timers.c in Sources */,\n\t\t\t\t36A719291D5B0E1400DC35F5 /* inet_chksum.c in Sources */,\n\t\t\t\t36A719251D5B0E0400DC35F5 /* udp.c in Sources */,\n\t\t\t\t36A7190F1D5B0DC600DC35F5 /* init.c in Sources */,\n\t\t\t\t36A719171D5B0DDF00DC35F5 /* pbuf.c in Sources */,\n\t\t\t\t36A7192F1D5B0E2100DC35F5 /* ip_frag.c in Sources */,\n\t\t\t\t36A719211D5B0DFC00DC35F5 /* tcp_out.c in Sources */,\n\t\t\t\t36A719111D5B0DCB00DC35F5 /* mem.c in Sources */,\n\t\t\t\t36A7190B1D5B0D9300DC35F5 /* err.c in Sources */,\n\t\t\t\t36A7190D1D5B0DC000DC35F5 /* def.c in Sources */,\n\t\t\t\t36A7192D1D5B0E1E00DC35F5 /* ip_addr.c in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36A718FA1D5B0AC100DC35F5 /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36A7192C1D5B0E1B00DC35F5 /* ip.c in Sources */,\n\t\t\t\t36A7191C1D5B0DEF00DC35F5 /* sys.c in Sources */,\n\t\t\t\t36A7191E1D5B0DF400DC35F5 /* tcp.c in Sources */,\n\t\t\t\t36A719341D5B0E3200DC35F5 /* sys_arch.c in Sources */,\n\t\t\t\t36A7191A1D5B0DEB00DC35F5 /* raw.c in Sources */,\n\t\t\t\t36A719161D5B0DDB00DC35F5 /* netif.c in Sources */,\n\t\t\t\t36A719311D5B0E2D00DC35F5 /* compat.c in Sources */,\n\t\t\t\t36A719141D5B0DD200DC35F5 /* memp.c in Sources */,\n\t\t\t\t36A719281D5B0E0F00DC35F5 /* inet.c in Sources */,\n\t\t\t\t36A719201D5B0DF800DC35F5 /* tcp_in.c in Sources */,\n\t\t\t\t36A719241D5B0E0000DC35F5 /* timers.c in Sources */,\n\t\t\t\t36A7192A1D5B0E1500DC35F5 /* inet_chksum.c in Sources */,\n\t\t\t\t36A719261D5B0E0400DC35F5 /* udp.c in Sources */,\n\t\t\t\t36A719101D5B0DC600DC35F5 /* init.c in Sources */,\n\t\t\t\t36A719181D5B0DE000DC35F5 /* pbuf.c in Sources */,\n\t\t\t\t36A719301D5B0E2200DC35F5 /* ip_frag.c in Sources */,\n\t\t\t\t36A719221D5B0DFC00DC35F5 /* tcp_out.c in Sources */,\n\t\t\t\t36A719121D5B0DCC00DC35F5 /* mem.c in Sources */,\n\t\t\t\t36A7190C1D5B0D9300DC35F5 /* err.c in Sources */,\n\t\t\t\t36A7190E1D5B0DC000DC35F5 /* def.c in Sources */,\n\t\t\t\t36A7192E1D5B0E1E00DC35F5 /* ip_addr.c in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\t36C48C9D1CF8701A0071804F /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\t36C48CC11CF8706F0071804F /* TSIPStack.swift in Sources */,\n\t\t\t\t36C48CC21CF8706F0071804F /* TSTCPSocket.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\t36A719081D5B0B0100DC35F5 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 36A718F01D5B0A1B00DC35F5 /* lwip-macOS */;\n\t\t\ttargetProxy = 36A719071D5B0B0100DC35F5 /* PBXContainerItemProxy */;\n\t\t};\n\t\t36A7190A1D5B0B0800DC35F5 /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = 36A718FE1D5B0AC100DC35F5 /* lwip-iOS */;\n\t\t\ttargetProxy = 36A719091D5B0B0800DC35F5 /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin XCBuildConfiguration section */\n\t\t3642CA041CEDCC60001E0AAF /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.11;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t3642CA051CEDCC60001E0AAF /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++0x\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"-\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tCURRENT_PROJECT_VERSION = 1;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.11;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = macosx;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tVERSIONING_SYSTEM = \"apple-generic\";\n\t\t\t\tVERSION_INFO_PREFIX = \"\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t3642CA071CEDCC60001E0AAF /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tINFOPLIST_FILE = \"tun2socks-macOS/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.osx.tun2socks;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t3642CA081CEDCC60001E0AAF /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tINFOPLIST_FILE = \"tun2socks-macOS/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.osx.tun2socks;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t36A718F61D5B0A1B00DC35F5 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tINFOPLIST_FILE = \"lwip-macOS/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.osx.lwip;\n\t\t\t\tPRODUCT_NAME = lwip;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tUSER_HEADER_SEARCH_PATHS = \"$(SRCROOT)/lwip\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t36A718F71D5B0A1B00DC35F5 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCOMBINE_HIDPI_IMAGES = YES;\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tFRAMEWORK_VERSION = A;\n\t\t\t\tINFOPLIST_FILE = \"lwip-macOS/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/../Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.osx.lwip;\n\t\t\t\tPRODUCT_NAME = lwip;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tUSER_HEADER_SEARCH_PATHS = \"$(SRCROOT)/lwip\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t36A719051D5B0AC100DC35F5 /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"lwip-iOS/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.ios.lwip;\n\t\t\t\tPRODUCT_NAME = lwip;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tUSER_HEADER_SEARCH_PATHS = \"$(SRCROOT)/lwip/\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t36A719061D5B0AC100DC35F5 /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"lwip-iOS/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.ios.lwip;\n\t\t\t\tPRODUCT_NAME = lwip;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tUSER_HEADER_SEARCH_PATHS = \"$(SRCROOT)/lwip/\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\t36C48CA81CF8701A0071804F /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"tun2socks-iOS/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.ios.tun2socks;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\t36C48CA91CF8701A0071804F /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tAPPLICATION_EXTENSION_API_ONLY = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"\";\n\t\t\t\tDEFINES_MODULE = YES;\n\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n\t\t\t\tDYLIB_INSTALL_NAME_BASE = \"@rpath\";\n\t\t\t\tINFOPLIST_FILE = \"tun2socks-iOS/Info.plist\";\n\t\t\t\tINSTALL_PATH = \"$(LOCAL_LIBRARY_DIR)/Frameworks\";\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @loader_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = me.zhuhaow.ios.tun2socks;\n\t\t\t\tPRODUCT_NAME = \"$(PROJECT_NAME)\";\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 3.0;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\t3642C9F81CEDCC60001E0AAF /* Build configuration list for PBXProject \"tun2socks\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t3642CA041CEDCC60001E0AAF /* Debug */,\n\t\t\t\t3642CA051CEDCC60001E0AAF /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t3642CA061CEDCC60001E0AAF /* Build configuration list for PBXNativeTarget \"tun2socks-macOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t3642CA071CEDCC60001E0AAF /* Debug */,\n\t\t\t\t3642CA081CEDCC60001E0AAF /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t36A718F81D5B0A1B00DC35F5 /* Build configuration list for PBXNativeTarget \"lwip-macOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t36A718F61D5B0A1B00DC35F5 /* Debug */,\n\t\t\t\t36A718F71D5B0A1B00DC35F5 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t36A719041D5B0AC100DC35F5 /* Build configuration list for PBXNativeTarget \"lwip-iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t36A719051D5B0AC100DC35F5 /* Debug */,\n\t\t\t\t36A719061D5B0AC100DC35F5 /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\t36C48CA71CF8701A0071804F /* Build configuration list for PBXNativeTarget \"tun2socks-iOS\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\t36C48CA81CF8701A0071804F /* Debug */,\n\t\t\t\t36C48CA91CF8701A0071804F /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = 3642C9F51CEDCC60001E0AAF /* Project object */;\n}\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks.xcodeproj/xcshareddata/xcschemes/lwip-iOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0810\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"36A718FE1D5B0AC100DC35F5\"\n               BuildableName = \"lwip.framework\"\n               BlueprintName = \"lwip-iOS\"\n               ReferencedContainer = \"container:tun2socks.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A718FE1D5B0AC100DC35F5\"\n            BuildableName = \"lwip.framework\"\n            BlueprintName = \"lwip-iOS\"\n            ReferencedContainer = \"container:tun2socks.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A718FE1D5B0AC100DC35F5\"\n            BuildableName = \"lwip.framework\"\n            BlueprintName = \"lwip-iOS\"\n            ReferencedContainer = \"container:tun2socks.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks.xcodeproj/xcshareddata/xcschemes/lwip-macOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0810\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"36A718F01D5B0A1B00DC35F5\"\n               BuildableName = \"lwip.framework\"\n               BlueprintName = \"lwip-macOS\"\n               ReferencedContainer = \"container:tun2socks.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A718F01D5B0A1B00DC35F5\"\n            BuildableName = \"lwip.framework\"\n            BlueprintName = \"lwip-macOS\"\n            ReferencedContainer = \"container:tun2socks.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36A718F01D5B0A1B00DC35F5\"\n            BuildableName = \"lwip.framework\"\n            BlueprintName = \"lwip-macOS\"\n            ReferencedContainer = \"container:tun2socks.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks.xcodeproj/xcshareddata/xcschemes/tun2socks-iOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0810\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"36C48CA11CF8701A0071804F\"\n               BuildableName = \"tun2socks.framework\"\n               BlueprintName = \"tun2socks-iOS\"\n               ReferencedContainer = \"container:tun2socks.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36C48CA11CF8701A0071804F\"\n            BuildableName = \"tun2socks.framework\"\n            BlueprintName = \"tun2socks-iOS\"\n            ReferencedContainer = \"container:tun2socks.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"36C48CA11CF8701A0071804F\"\n            BuildableName = \"tun2socks.framework\"\n            BlueprintName = \"tun2socks-iOS\"\n            ReferencedContainer = \"container:tun2socks.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "Carthage/Checkouts/tun2socks/tun2socks.xcodeproj/xcshareddata/xcschemes/tun2socks-macOS.xcscheme",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0810\"\n   version = \"1.3\">\n   <BuildAction\n      parallelizeBuildables = \"YES\"\n      buildImplicitDependencies = \"YES\">\n      <BuildActionEntries>\n         <BuildActionEntry\n            buildForTesting = \"YES\"\n            buildForRunning = \"YES\"\n            buildForProfiling = \"YES\"\n            buildForArchiving = \"YES\"\n            buildForAnalyzing = \"YES\">\n            <BuildableReference\n               BuildableIdentifier = \"primary\"\n               BlueprintIdentifier = \"3642C9FD1CEDCC60001E0AAF\"\n               BuildableName = \"tun2socks.framework\"\n               BlueprintName = \"tun2socks-macOS\"\n               ReferencedContainer = \"container:tun2socks.xcodeproj\">\n            </BuildableReference>\n         </BuildActionEntry>\n      </BuildActionEntries>\n   </BuildAction>\n   <TestAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\">\n      <Testables>\n      </Testables>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </TestAction>\n   <LaunchAction\n      buildConfiguration = \"Debug\"\n      selectedDebuggerIdentifier = \"Xcode.DebuggerFoundation.Debugger.LLDB\"\n      selectedLauncherIdentifier = \"Xcode.DebuggerFoundation.Launcher.LLDB\"\n      launchStyle = \"0\"\n      useCustomWorkingDirectory = \"NO\"\n      ignoresPersistentStateOnLaunch = \"NO\"\n      debugDocumentVersioning = \"YES\"\n      debugServiceExtension = \"internal\"\n      allowLocationSimulation = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"3642C9FD1CEDCC60001E0AAF\"\n            BuildableName = \"tun2socks.framework\"\n            BlueprintName = \"tun2socks-macOS\"\n            ReferencedContainer = \"container:tun2socks.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n      <AdditionalOptions>\n      </AdditionalOptions>\n   </LaunchAction>\n   <ProfileAction\n      buildConfiguration = \"Release\"\n      shouldUseLaunchSchemeArgsEnv = \"YES\"\n      savedToolIdentifier = \"\"\n      useCustomWorkingDirectory = \"NO\"\n      debugDocumentVersioning = \"YES\">\n      <MacroExpansion>\n         <BuildableReference\n            BuildableIdentifier = \"primary\"\n            BlueprintIdentifier = \"3642C9FD1CEDCC60001E0AAF\"\n            BuildableName = \"tun2socks.framework\"\n            BlueprintName = \"tun2socks-macOS\"\n            ReferencedContainer = \"container:tun2socks.xcodeproj\">\n         </BuildableReference>\n      </MacroExpansion>\n   </ProfileAction>\n   <AnalyzeAction\n      buildConfiguration = \"Debug\">\n   </AnalyzeAction>\n   <ArchiveAction\n      buildConfiguration = \"Release\"\n      revealArchiveInOrganizer = \"YES\">\n   </ArchiveAction>\n</Scheme>\n"
  },
  {
    "path": "PacketTunnel/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>$(DEVELOPMENT_LANGUAGE)</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>PacketTunnel</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>XPC!</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.6.2</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>NSExtension</key>\n\t<dict>\n\t\t<key>NSExtensionPointIdentifier</key>\n\t\t<string>com.apple.networkextension.packet-tunnel</string>\n\t\t<key>NSExtensionPrincipalClass</key>\n\t\t<string>$(PRODUCT_MODULE_NAME).PacketTunnelProvider</string>\n\t</dict>\n</dict>\n</plist>\n"
  },
  {
    "path": "PacketTunnel/PacketTunnel.entitlements",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>com.apple.developer.networking.networkextension</key>\n\t<array>\n\t\t<string>app-proxy-provider</string>\n\t\t<string>content-filter-provider</string>\n\t\t<string>packet-tunnel-provider</string>\n\t</array>\n\t<key>com.apple.developer.networking.vpn.api</key>\n\t<array>\n\t\t<string>allow-vpn</string>\n\t</array>\n\t<key>com.apple.security.application-groups</key>\n\t<array>\n\t\t<string>group.com.qding.ladder</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "PacketTunnel/PacketTunnelProvider.swift",
    "content": "//\n//  PacketTunnelProvider.swift\n//  PacketTunnel\n//\n//  Created by tony han on 2017/11/15.\n//  Copyright © 2017年 qding. All rights reserved.\n//\n\nimport NetworkExtension\nimport NEKit\nimport CocoaLumberjackSwift\nimport Yaml\n\nclass PacketTunnelProvider: NEPacketTunnelProvider {\n    \n    var interface: TUNInterface!\n    // Since tun2socks is not stable, this is recommended to set to false\n    var enablePacketProcessing = false\n    \n    var proxyPort: Int!\n    \n    var proxyServer: ProxyServer!\n    \n    var lastPath:NWPath?\n    \n    var started:Bool = false\n\n    override func startTunnel(options: [String : NSObject]?, completionHandler: @escaping (Error?) -> Void) {\n        DDLog.removeAllLoggers()\n        // warning: setting to .Debug level might be way too verbose.\n        DDLog.add(DDASLLogger.sharedInstance, with: DDLogLevel.info)\n        \n        // Use the build-in debug observer.\n        ObserverFactory.currentFactory = DebugObserverFactory()\n        \n        guard let conf = (protocolConfiguration as! NETunnelProviderProtocol).providerConfiguration else {\n            NSLog(\"[ERROR] No ProtocolConfiguration Found\")\n            exit(EXIT_FAILURE)\n        }\n        \n        let ss_adder = conf[\"ss_address\"] as! String\n        let ss_port = conf[\"ss_port\"] as! Int\n        let method = conf[\"ss_method\"] as! String\n        let password = conf[\"ss_password\"] as!String\n        \n        // Proxy Adapter\n        \n        \n        // SSR Httpsimple\n        //        let obfuscater = ShadowsocksAdapter.ProtocolObfuscater.HTTPProtocolObfuscater.Factory(hosts:[\"intl.aliyun.com\",\"cdn.aliyun.com\"], customHeader:nil)\n        \n        \n        // Origin\n        let obfuscater = ShadowsocksAdapter.ProtocolObfuscater.OriginProtocolObfuscater.Factory()\n        \n        \n        let algorithm:CryptoAlgorithm\n        \n        switch method{\n        case \"AES128CFB\":algorithm = .AES128CFB\n        case \"AES192CFB\":algorithm = .AES192CFB\n        case \"AES256CFB\":algorithm = .AES256CFB\n        case \"CHACHA20\":algorithm = .CHACHA20\n        case \"SALSA20\":algorithm = .SALSA20\n        case \"RC4MD5\":algorithm = .RC4MD5\n        default:\n            fatalError(\"Undefined algorithm!\")\n        }\n        \n        \n        let ssAdapterFactory = ShadowsocksAdapterFactory(serverHost: ss_adder, serverPort: ss_port, protocolObfuscaterFactory:obfuscater, cryptorFactory: ShadowsocksAdapter.CryptoStreamProcessor.Factory(password: password, algorithm: algorithm), streamObfuscaterFactory: ShadowsocksAdapter.StreamObfuscater.OriginStreamObfuscater.Factory())\n        \n        let directAdapterFactory = DirectAdapterFactory()\n        \n        //Get lists from conf\n        let yaml_str = conf[\"ymal_conf\"] as! String\n        let value = try! Yaml.load(yaml_str)\n        \n        var UserRules:[NEKit.Rule] = []\n        \n        for each in (value[\"rule\"].array! ){\n            let adapter:NEKit.AdapterFactory\n            if (each[\"adapter\"].string! == \"direct\") {\n                adapter = directAdapterFactory\n            } else {\n                adapter = ssAdapterFactory\n            }\n            \n            let ruleType = each[\"type\"].string!\n            switch ruleType {\n            case \"domainlist\":\n                var rule_array : [NEKit.DomainListRule.MatchCriterion] = []\n                for dom in each[\"criteria\"].array! {\n                    let raw_dom = dom.string!\n                    let index = raw_dom.index(raw_dom.startIndex, offsetBy: 1)\n                    let index2 = raw_dom.index(raw_dom.startIndex, offsetBy: 2)\n                    let typeStr = String(raw_dom[..<index])\n                    let url = String(raw_dom[index2...])\n                    \n                    if (typeStr == \"s\") {\n                        rule_array.append(DomainListRule.MatchCriterion.suffix(url))\n                    } else if (typeStr == \"k\") {\n                        rule_array.append(DomainListRule.MatchCriterion.keyword(url))\n                    } else if (typeStr == \"p\") {\n                        rule_array.append(DomainListRule.MatchCriterion.prefix(url))\n                    } else if (typeStr == \"r\") {\n                        // ToDo:\n                        // shoud be complete\n                    }\n                }\n                UserRules.append(DomainListRule(adapterFactory: adapter, criteria: rule_array))\n                \n                \n            case \"iplist\":\n                let ipArray = each[\"criteria\"].array!.map{$0.string!}\n                UserRules.append(try! IPRangeListRule(adapterFactory: adapter, ranges: ipArray))\n            default:\n                break\n            }\n        }\n        \n        \n        // Rules\n        \n        let chinaRule = CountryRule(countryCode: \"CN\", match: true, adapterFactory: directAdapterFactory)\n        let unKnowLoc = CountryRule(countryCode: \"--\", match: true, adapterFactory: directAdapterFactory)\n        let dnsFailRule = DNSFailRule(adapterFactory: ssAdapterFactory)\n        \n        let allRule = AllRule(adapterFactory: ssAdapterFactory)\n        UserRules.append(contentsOf: [chinaRule,unKnowLoc,dnsFailRule,allRule])\n        \n        let manager = RuleManager(fromRules: UserRules, appendDirect: true)\n        \n        RuleManager.currentManager = manager\n        proxyPort =  9090\n        \n        RawSocketFactory.TunnelProvider = self\n        \n        // the `tunnelRemoteAddress` is meaningless because we are not creating a tunnel.\n        let networkSettings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: \"8.8.8.8\")\n        networkSettings.mtu = 1500\n        \n        let ipv4Settings = NEIPv4Settings(addresses: [\"192.169.89.1\"], subnetMasks: [\"255.255.255.0\"])\n        if enablePacketProcessing {\n            ipv4Settings.includedRoutes = [NEIPv4Route.default()]\n            ipv4Settings.excludedRoutes = [\n                NEIPv4Route(destinationAddress: \"10.0.0.0\", subnetMask: \"255.0.0.0\"),\n                NEIPv4Route(destinationAddress: \"100.64.0.0\", subnetMask: \"255.192.0.0\"),\n                NEIPv4Route(destinationAddress: \"127.0.0.0\", subnetMask: \"255.0.0.0\"),\n                NEIPv4Route(destinationAddress: \"169.254.0.0\", subnetMask: \"255.255.0.0\"),\n                NEIPv4Route(destinationAddress: \"172.16.0.0\", subnetMask: \"255.240.0.0\"),\n                NEIPv4Route(destinationAddress: \"192.168.0.0\", subnetMask: \"255.255.0.0\"),\n                NEIPv4Route(destinationAddress: \"17.0.0.0\", subnetMask: \"255.0.0.0\"),\n            ]\n        }\n        networkSettings.ipv4Settings = ipv4Settings\n        \n        let proxySettings = NEProxySettings()\n        //        proxySettings.autoProxyConfigurationEnabled = true\n        //        proxySettings.proxyAutoConfigurationJavaScript = \"function FindProxyForURL(url, host) {return \\\"SOCKS 127.0.0.1:\\(proxyPort)\\\";}\"\n        proxySettings.httpEnabled = true\n        proxySettings.httpServer = NEProxyServer(address: \"127.0.0.1\", port: proxyPort)\n        proxySettings.httpsEnabled = true\n        proxySettings.httpsServer = NEProxyServer(address: \"127.0.0.1\", port: proxyPort)\n        proxySettings.excludeSimpleHostnames = true\n        // This will match all domains\n        proxySettings.matchDomains = [\"\"]\n        proxySettings.exceptionList = [\"api.smoot.apple.com\",\"configuration.apple.com\",\"xp.apple.com\",\"smp-device-content.apple.com\",\"guzzoni.apple.com\",\"captive.apple.com\",\"*.ess.apple.com\",\"*.push.apple.com\",\"*.push-apple.com.akadns.net\"]\n        networkSettings.proxySettings = proxySettings\n        \n        // the 198.18.0.0/15 is reserved for benchmark.\n        if enablePacketProcessing {\n            let DNSSettings = NEDNSSettings(servers: [\"198.18.0.1\"])\n            DNSSettings.matchDomains = [\"\"]\n            DNSSettings.matchDomainsNoSearch = false\n            networkSettings.dnsSettings = DNSSettings\n        }\n        \n        setTunnelNetworkSettings(networkSettings) {\n            error in\n            guard error == nil else {\n                DDLogError(\"Encountered an error setting up the network: \\(error.debugDescription)\")\n                completionHandler(error)\n                return\n            }\n            \n            if (!self.started) {\n                self.proxyServer = GCDHTTPProxyServer(address: IPAddress(fromString: \"127.0.0.1\"), port: NEKit.Port(port: UInt16(self.proxyPort)))\n                try! self.proxyServer.start()\n                self.addObserver(self, forKeyPath: \"defaultPath\", options: .initial, context: nil)\n            } else {\n                self.proxyServer.stop()\n                try! self.proxyServer.start()\n            }\n            \n            completionHandler(nil)\n            \n            \n            if (self.enablePacketProcessing) {\n                if (self.started) {\n                    self.interface.stop()\n                }\n                \n                self.interface = TUNInterface(packetFlow: self.packetFlow)\n                \n                \n                let fakeIPPool = try! IPPool(range: IPRange(startIP: IPAddress(fromString: \"198.18.1.1\")!, endIP: IPAddress(fromString: \"198.18.255.255\")!))\n                \n                \n                let dnsServer = DNSServer(address: IPAddress(fromString: \"198.18.0.1\")!, port: NEKit.Port(port: 53), fakeIPPool: fakeIPPool)\n                let resolver = UDPDNSResolver(address: IPAddress(fromString: \"114.114.114.114\")!, port: NEKit.Port(port: 53))\n                dnsServer.registerResolver(resolver)\n                self.interface.register(stack: dnsServer)\n                \n                DNSServer.currentServer = dnsServer\n                \n                let udpStack = UDPDirectStack()\n                self.interface.register(stack: udpStack)\n                let tcpStack = TCPStack.stack\n                tcpStack.proxyServer = self.proxyServer\n                self.interface.register(stack:tcpStack)\n                self.interface.start()\n            }\n            self.started = true\n            \n        }\n    }\n    \n    override func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) {\n        if enablePacketProcessing {\n            interface.stop()\n            interface = nil\n            DNSServer.currentServer = nil\n        }\n        \n        proxyServer.stop()\n        proxyServer = nil\n        RawSocketFactory.TunnelProvider = nil\n        \n        completionHandler()\n        \n        //框架作者并不知道为何还会运行一会儿，这样会导致无法立即开始另一个配置，所以此处进行手动的崩溃。\n        exit(EXIT_SUCCESS)\n    }\n    \n    /// 监听网络状态，切换不同的网络的时候，需要重新连接vpn\n    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {\n        if (keyPath == \"defaultPath\") {\n            if self.defaultPath?.status == .satisfied && self.defaultPath != self.lastPath {\n                if (self.lastPath == nil) {\n                    self.lastPath = self.defaultPath\n                } else {\n                    NSLog(\"received network change notifcation\")\n                    let xSeconds = 1.0\n                    DispatchQueue.main.asyncAfter(deadline: .now() + xSeconds) {\n                        self.startTunnel(options: nil){ _ in }\n                    }\n                }\n            } else {\n                self.lastPath = defaultPath\n            }\n        }\n        \n    }\n}\n"
  },
  {
    "path": "Podfile",
    "content": "source 'https://github.com/CocoaPods/Specs.git'\n\nplatform :ios, '9.0'\nuse_frameworks!\n\ndef common\n    pod 'SwiftColor', '~>1.0.0'\n    pod 'CocoaLumberjack/Swift', '~>3.4.2'\nend\n\ntarget \"QLadder\" do\n    common\n    pod 'Alamofire', '~>4.7.3'\n    pod 'Kanna', '~>4.0.2'\n    pod 'Kingfisher', '~>4.10.0'\nend\n\n\ntarget \"PacketTunnel\" do\n    common\nend\n\n"
  },
  {
    "path": "QLadder/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"icon-20@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"icon-20@3x.png\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"size\" : \"29x29\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"icon-29@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"29x29\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"icon-29@3x.png\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"size\" : \"40x40\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"icon-40@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"40x40\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"icon-40@3x.png\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"size\" : \"60x60\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"icon-60@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"60x60\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"icon-60@3x.png\",\n      \"scale\" : \"3x\"\n    },\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"icon-20-ipad.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"icon-20@2x-ipad.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"29x29\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"icon-29-ipad.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"size\" : \"29x29\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"icon-29@2x-ipad.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"40x40\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"icon-40.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"size\" : \"40x40\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"icon-40@2x-1.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"76x76\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"icon-76.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"size\" : \"76x76\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"icon-76@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"83.5x83.5\",\n      \"idiom\" : \"ipad\",\n      \"filename\" : \"icon-83.5@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"size\" : \"1024x1024\",\n      \"idiom\" : \"ios-marketing\",\n      \"filename\" : \"icon-1024.png\",\n      \"scale\" : \"1x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/Base/Contents.json",
    "content": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/Base/empty.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"empty@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"empty@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/Base/nav-back.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"nav-back.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"nav-back@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"nav-back@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/Contents.json",
    "content": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/LaunchView/Contents.json",
    "content": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/LaunchView/logo.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"logo.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"logo@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"logo@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/TabBar/Contents.json",
    "content": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/TabBar/tabbar-item-link-selected.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-link-selected.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-link-selected@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-link-selected@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/TabBar/tabbar-item-link.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-link.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-link@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-link@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/TabBar/tabbar-item-setting-selected.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-setting-selected.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-setting-selected@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-setting-selected@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/TabBar/tabbar-item-setting.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-setting.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-setting@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-setting@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/TabBar/tabbar-item-user-selected.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-user-selected.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-user-selected@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-user-selected@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Assets.xcassets/TabBar/tabbar-item-user.imageset/Contents.json",
    "content": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-user.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-user@2x.png\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"tabbar-item-user@3x.png\",\n      \"scale\" : \"3x\"\n    }\n  ],\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "QLadder/Base.lproj/LaunchScreen.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"13529\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" launchScreen=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\" initialViewController=\"01J-lp-oVM\">\n    <device id=\"retina4_7\" orientation=\"portrait\">\n        <adaptation id=\"fullscreen\"/>\n    </device>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"13527\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <!--View Controller-->\n        <scene sceneID=\"EHf-IW-A2E\">\n            <objects>\n                <viewController storyboardIdentifier=\"LaunchScreen\" id=\"01J-lp-oVM\" sceneMemberID=\"viewController\">\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"Ze5-6b-2t3\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <imageView userInteractionEnabled=\"NO\" contentMode=\"scaleToFill\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" image=\"logo\" highlightedImage=\"logo\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"4jW-xC-69F\">\n                                <rect key=\"frame\" x=\"149.5\" y=\"256\" width=\"75\" height=\"75\"/>\n                                <constraints>\n                                    <constraint firstAttribute=\"height\" constant=\"75\" id=\"Szx-HB-f25\"/>\n                                    <constraint firstAttribute=\"width\" constant=\"75\" id=\"gau-eS-WzG\"/>\n                                </constraints>\n                            </imageView>\n                        </subviews>\n                        <color key=\"backgroundColor\" red=\"0.99093729259999996\" green=\"0.64275377990000004\" blue=\"0.072395630180000003\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                        <constraints>\n                            <constraint firstItem=\"4jW-xC-69F\" firstAttribute=\"centerX\" secondItem=\"Ze5-6b-2t3\" secondAttribute=\"centerX\" id=\"eif-Bb-MbM\"/>\n                            <constraint firstItem=\"4jW-xC-69F\" firstAttribute=\"centerY\" secondItem=\"Ze5-6b-2t3\" secondAttribute=\"centerY\" constant=\"-40\" id=\"glw-uf-R3d\"/>\n                        </constraints>\n                        <viewLayoutGuide key=\"safeArea\" id=\"6Tk-OE-BBY\"/>\n                    </view>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"iYj-Kq-Ea1\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"52\" y=\"374.66266866566718\"/>\n        </scene>\n    </scenes>\n    <resources>\n        <image name=\"logo\" width=\"98\" height=\"98\"/>\n    </resources>\n</document>\n"
  },
  {
    "path": "QLadder/Base.lproj/Main.storyboard",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3.0\" toolsVersion=\"14460.31\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\" initialViewController=\"0vq-HG-DNd\">\n    <device id=\"retina4_7\" orientation=\"portrait\">\n        <adaptation id=\"fullscreen\"/>\n    </device>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"14460.20\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <scenes>\n        <!--Item-->\n        <scene sceneID=\"gwg-p9-8bk\">\n            <objects>\n                <navigationController id=\"9Oc-ed-9hm\" sceneMemberID=\"viewController\">\n                    <tabBarItem key=\"tabBarItem\" title=\"Item\" id=\"usK-E6-9Oj\"/>\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" insetsLayoutMarginsFromSafeArea=\"NO\" id=\"iEo-Sx-4vF\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"20\" width=\"375\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"BYZ-38-t0r\" kind=\"relationship\" relationship=\"rootViewController\" id=\"Wc8-ar-mOQ\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"Zxk-TY-WjU\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-1063\" y=\"-913\"/>\n        </scene>\n        <!--Tab Bar Controller-->\n        <scene sceneID=\"U75-jn-hpy\">\n            <objects>\n                <tabBarController id=\"0vq-HG-DNd\" customClass=\"QLTabBarController\" customModule=\"QLadder\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <tabBar key=\"tabBar\" contentMode=\"scaleToFill\" insetsLayoutMarginsFromSafeArea=\"NO\" id=\"Eru-sq-E0C\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"49\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                        <color key=\"backgroundColor\" white=\"0.0\" alpha=\"0.0\" colorSpace=\"calibratedWhite\"/>\n                    </tabBar>\n                    <connections>\n                        <segue destination=\"9Oc-ed-9hm\" kind=\"relationship\" relationship=\"viewControllers\" id=\"aPG-GP-H4t\"/>\n                        <segue destination=\"11U-fx-ubs\" kind=\"relationship\" relationship=\"viewControllers\" id=\"aqe-WT-NoJ\"/>\n                        <segue destination=\"GYL-ZY-t8o\" kind=\"relationship\" relationship=\"viewControllers\" id=\"rgp-Nc-Tv7\"/>\n                    </connections>\n                </tabBarController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"Qjp-u9-EQC\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-2433\" y=\"227\"/>\n        </scene>\n        <!--Item-->\n        <scene sceneID=\"MWj-9n-57D\">\n            <objects>\n                <navigationController id=\"11U-fx-ubs\" customClass=\"QLNavigationController\" customModule=\"QLadder\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <tabBarItem key=\"tabBarItem\" title=\"Item\" id=\"bD4-Vl-hET\"/>\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" insetsLayoutMarginsFromSafeArea=\"NO\" id=\"t46-be-aBX\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"20\" width=\"375\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"fXX-Bl-65h\" kind=\"relationship\" relationship=\"rootViewController\" id=\"kHN-Lh-iaE\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"sdv-Mo-Gnp\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-1063\" y=\"-173\"/>\n        </scene>\n        <!--Me View Controller-->\n        <scene sceneID=\"veH-5Q-ceW\">\n            <objects>\n                <viewController id=\"fXX-Bl-65h\" customClass=\"QLMeViewController\" customModule=\"QLadder\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"6ed-u5-VjR\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <tableView clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" dataMode=\"prototypes\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"-1\" estimatedRowHeight=\"-1\" sectionHeaderHeight=\"28\" sectionFooterHeight=\"28\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"CvT-Bv-qyt\">\n                                <rect key=\"frame\" x=\"0.0\" y=\"64\" width=\"375\" height=\"554\"/>\n                                <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                            </tableView>\n                        </subviews>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                        <constraints>\n                            <constraint firstItem=\"CvT-Bv-qyt\" firstAttribute=\"top\" secondItem=\"hzC-Li-bBF\" secondAttribute=\"top\" id=\"1Af-Fc-Wsu\"/>\n                            <constraint firstItem=\"hzC-Li-bBF\" firstAttribute=\"bottom\" secondItem=\"CvT-Bv-qyt\" secondAttribute=\"bottom\" id=\"Cme-eb-T81\"/>\n                            <constraint firstItem=\"CvT-Bv-qyt\" firstAttribute=\"leading\" secondItem=\"hzC-Li-bBF\" secondAttribute=\"leading\" id=\"qLH-0e-scd\"/>\n                            <constraint firstItem=\"hzC-Li-bBF\" firstAttribute=\"trailing\" secondItem=\"CvT-Bv-qyt\" secondAttribute=\"trailing\" id=\"rHQ-Aj-0zJ\"/>\n                        </constraints>\n                        <viewLayoutGuide key=\"safeArea\" id=\"hzC-Li-bBF\"/>\n                    </view>\n                    <navigationItem key=\"navigationItem\" id=\"Gom-zY-pyJ\"/>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"Gr7-wf-cKe\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-287\" y=\"-173\"/>\n        </scene>\n        <!--Home View Controller-->\n        <scene sceneID=\"tne-QT-ifu\">\n            <objects>\n                <viewController id=\"BYZ-38-t0r\" customClass=\"QLHomeViewController\" customModule=\"QLadder\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"8bC-Xf-vdC\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <button opaque=\"NO\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"center\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"SuW-0Z-2UT\">\n                                <rect key=\"frame\" x=\"164.5\" y=\"318.5\" width=\"46\" height=\"30\"/>\n                                <state key=\"normal\" title=\"Button\"/>\n                                <connections>\n                                    <action selector=\"connect:\" destination=\"BYZ-38-t0r\" eventType=\"touchUpInside\" id=\"f2G-qp-po4\"/>\n                                </connections>\n                            </button>\n                            <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"当前代理\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"zq6-D7-abo\">\n                                <rect key=\"frame\" x=\"152.5\" y=\"236.5\" width=\"70\" height=\"21\"/>\n                                <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                                <nil key=\"textColor\"/>\n                                <nil key=\"highlightedColor\"/>\n                            </label>\n                            <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"center\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Label\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"k8q-SB-D9Z\">\n                                <rect key=\"frame\" x=\"166.5\" y=\"277.5\" width=\"42\" height=\"21\"/>\n                                <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                                <nil key=\"textColor\"/>\n                                <nil key=\"highlightedColor\"/>\n                            </label>\n                        </subviews>\n                        <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n                        <constraints>\n                            <constraint firstItem=\"SuW-0Z-2UT\" firstAttribute=\"centerX\" secondItem=\"8bC-Xf-vdC\" secondAttribute=\"centerX\" id=\"0Px-uW-EB4\"/>\n                            <constraint firstItem=\"SuW-0Z-2UT\" firstAttribute=\"top\" secondItem=\"k8q-SB-D9Z\" secondAttribute=\"bottom\" constant=\"20\" id=\"AQW-aL-a1e\"/>\n                            <constraint firstItem=\"k8q-SB-D9Z\" firstAttribute=\"top\" secondItem=\"zq6-D7-abo\" secondAttribute=\"bottom\" constant=\"20\" id=\"cxJ-XO-UdJ\"/>\n                            <constraint firstItem=\"zq6-D7-abo\" firstAttribute=\"centerX\" secondItem=\"8bC-Xf-vdC\" secondAttribute=\"centerX\" id=\"di5-RT-7xl\"/>\n                            <constraint firstItem=\"k8q-SB-D9Z\" firstAttribute=\"centerX\" secondItem=\"8bC-Xf-vdC\" secondAttribute=\"centerX\" id=\"jCd-ge-ZZF\"/>\n                            <constraint firstItem=\"SuW-0Z-2UT\" firstAttribute=\"centerY\" secondItem=\"8bC-Xf-vdC\" secondAttribute=\"centerY\" id=\"kF0-Lu-vqd\"/>\n                        </constraints>\n                        <viewLayoutGuide key=\"safeArea\" id=\"6Tk-OE-BBY\"/>\n                    </view>\n                    <navigationItem key=\"navigationItem\" id=\"suy-nB-Gdr\"/>\n                    <connections>\n                        <outlet property=\"connectButton\" destination=\"SuW-0Z-2UT\" id=\"uwQ-2V-1xp\"/>\n                        <outlet property=\"proxyConfigLabel\" destination=\"k8q-SB-D9Z\" id=\"LgU-Ip-DbW\"/>\n                    </connections>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"dkx-z0-nzr\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-287.19999999999999\" y=\"-913.49325337331345\"/>\n        </scene>\n        <!--Item-->\n        <scene sceneID=\"h8o-7w-R9R\">\n            <objects>\n                <navigationController id=\"GYL-ZY-t8o\" customClass=\"QLNavigationController\" customModule=\"QLadder\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <tabBarItem key=\"tabBarItem\" title=\"Item\" id=\"0t1-OW-7Ku\"/>\n                    <navigationBar key=\"navigationBar\" contentMode=\"scaleToFill\" insetsLayoutMarginsFromSafeArea=\"NO\" id=\"vIa-4F-Wv2\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"20\" width=\"375\" height=\"44\"/>\n                        <autoresizingMask key=\"autoresizingMask\"/>\n                    </navigationBar>\n                    <connections>\n                        <segue destination=\"jiA-Rt-mu0\" kind=\"relationship\" relationship=\"rootViewController\" id=\"tPk-wM-SGX\"/>\n                    </connections>\n                </navigationController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"OJE-4T-GR4\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-1063\" y=\"556\"/>\n        </scene>\n        <!--About View Controller-->\n        <scene sceneID=\"Bjr-Qa-JMs\">\n            <objects>\n                <viewController id=\"jiA-Rt-mu0\" customClass=\"QLAboutViewController\" customModule=\"QLadder\" customModuleProvider=\"target\" sceneMemberID=\"viewController\">\n                    <view key=\"view\" contentMode=\"scaleToFill\" id=\"rsM-oT-Q4A\">\n                        <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n                        <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n                        <subviews>\n                            <textField opaque=\"NO\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" borderStyle=\"roundedRect\" textAlignment=\"natural\" minimumFontSize=\"17\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"iLb-xN-0R9\">\n                                <rect key=\"frame\" x=\"87.5\" y=\"318.5\" width=\"200\" height=\"30\"/>\n                                <constraints>\n                                    <constraint firstAttribute=\"width\" constant=\"200\" id=\"PPU-aO-rys\"/>\n                                </constraints>\n                                <nil key=\"textColor\"/>\n                                <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"14\"/>\n                                <textInputTraits key=\"textInputTraits\"/>\n                            </textField>\n                        </subviews>\n                        <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"calibratedWhite\"/>\n                        <constraints>\n                            <constraint firstItem=\"iLb-xN-0R9\" firstAttribute=\"centerX\" secondItem=\"rsM-oT-Q4A\" secondAttribute=\"centerX\" id=\"okv-Kq-owr\"/>\n                            <constraint firstItem=\"iLb-xN-0R9\" firstAttribute=\"centerY\" secondItem=\"rsM-oT-Q4A\" secondAttribute=\"centerY\" id=\"tpT-Vf-8CS\"/>\n                        </constraints>\n                        <viewLayoutGuide key=\"safeArea\" id=\"3i6-ay-RO9\"/>\n                    </view>\n                    <navigationItem key=\"navigationItem\" id=\"uHW-CM-jzQ\"/>\n                    <connections>\n                        <outlet property=\"textField\" destination=\"iLb-xN-0R9\" id=\"Mh9-mG-2FO\"/>\n                    </connections>\n                </viewController>\n                <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"8bw-x9-Gjo\" userLabel=\"First Responder\" sceneMemberID=\"firstResponder\"/>\n            </objects>\n            <point key=\"canvasLocation\" x=\"-287\" y=\"555\"/>\n        </scene>\n    </scenes>\n</document>\n"
  },
  {
    "path": "QLadder/Class/AppDelegate.swift",
    "content": "//\n//  AppDelegate.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/15.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n    var window: UIWindow?\n\n\n    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n        // Override point for customization after application launch.\n        \n        let manager = ConfigManager.shared\n        manager.loadConfig()\n\n        return true\n    }\n    \n    func dataWithHexString(hex: String) -> Data {\n        var hex = hex\n        var data = Data()\n        while(hex.count > 0) {\n            let subIndex = hex.index(hex.startIndex, offsetBy: 2)\n            let c = String(hex[..<subIndex])\n            hex = String(hex[subIndex...])\n            var ch: UInt32 = 0\n            Scanner(string: c).scanHexInt32(&ch)\n            var char = UInt8(ch)\n            data.append(&char, count: 1)\n        }\n        return data\n    }\n\n    func applicationWillResignActive(_ application: UIApplication) {\n        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.\n        // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.\n    }\n\n    func applicationDidEnterBackground(_ application: UIApplication) {\n        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.\n        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.\n    }\n\n    func applicationWillEnterForeground(_ application: UIApplication) {\n        // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.\n    }\n\n    func applicationDidBecomeActive(_ application: UIApplication) {\n        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.\n    }\n\n    func applicationWillTerminate(_ application: UIApplication) {\n        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.\n    }\n\n\n}\n\n"
  },
  {
    "path": "QLadder/Class/Model/Buddha.swift",
    "content": "//\n//  Buddha.swift\n//  QLadder\n//\n//  Created by TonyHan on 2018/3/19.\n//  Copyright © 2018年 TonyHan All rights reserved.\n//\n\nimport Foundation\n\nstruct Buddha {\n    \n    var name: String?\n    var url: String?\n    var imgUrl: String?\n    var duration: String?\n    var addTime: String?\n    var user: String?\n    \n    var videoUrl: String?\n    var name_zh: String?\n    var detailImgUrl: String?\n    var addTime_zh: String?\n    var points: String?\n    \n    init(name: String, url: String, imgUrl: String, duration: String, addTime: String, user: String) {\n        self.name = name\n        self.url = url\n        self.imgUrl = imgUrl\n        self.duration = duration\n        self.addTime = addTime\n        self.user = user\n    }\n    \n    func mutableCopy(with zone: NSZone? = nil) -> Buddha {\n        var mutableBuddha = Buddha(name: name ?? \"\", url: url ?? \"\", imgUrl: imgUrl ?? \"\", duration: duration ?? \"\", addTime: addTime ?? \"\", user: user ?? \"\")\n        mutableBuddha.videoUrl = videoUrl  ?? \"\"\n        mutableBuddha.name_zh = name_zh  ?? \"\"\n        mutableBuddha.detailImgUrl = detailImgUrl  ?? \"\"\n        mutableBuddha.addTime_zh = addTime_zh  ?? \"\"\n        mutableBuddha.points = points  ?? \"\"\n        return mutableBuddha\n    }\n}\n"
  },
  {
    "path": "QLadder/Class/Model/Proxy.swift",
    "content": "//\n//  Proxy.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/23.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport Foundation\n\nstruct Proxy {\n    \n    var name: String?\n    var host: String?\n    var port: Int?\n    var password: String?\n    \n    init(name: String, host: String, port: Int, password: String) {\n        self.name = name\n        self.host = host\n        self.port = port\n        self.password = password\n    }\n}\n"
  },
  {
    "path": "QLadder/Class/SDK/Common/Control/QLBaseViewController.swift",
    "content": "//\n//  QLBaseViewController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/16.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\nclass QLBaseViewController: UIViewController {\n    \n    var emptyView: UIView?\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        view.backgroundColor = QLColor.C2\n\n\t\tlet backImage = UIImage(named: \"nav-back\")?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)\n\t\t\n\t\tnavigationController?.navigationBar.backIndicatorImage = backImage\n        navigationController?.navigationBar.backIndicatorTransitionMaskImage = backImage\n\t\t\n        let backItem = UIBarButtonItem(title: \"\", style: .plain, target: nil, action: nil)\n        navigationItem.backBarButtonItem = backItem\n\t\t\n        navigationController?.navigationBar.barTintColor = QLColor.C2\n    }\n    \n    func showEmptyView() {\n        if emptyView == nil {\n            let emptyView = UIView(frame: view.bounds)\n            let image = UIImage(named: \"empty\")\n            let imageView = UIImageView(image: image)\n            imageView.center = emptyView.center\n            imageView.frame.size = image!.size\n            emptyView.addSubview(imageView)\n            emptyView.isUserInteractionEnabled = true\n            let singleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(emptyViewDidClick(_:)))\n            singleTap.numberOfTapsRequired = 1;\n            emptyView.addGestureRecognizer(singleTap)\n            self.emptyView = emptyView\n        }\n        view.addSubview(emptyView!)\n    }\n    \n    func hideEmptyView() {\n        emptyView?.removeFromSuperview()\n    }\n    \n    func isEmptyViewShowing() -> Bool {\n        if let emptyView = self.emptyView, let _ = emptyView.superview {\n            return true\n        }\n        return false\n    }\n    \n    func layoutEmptyView() -> Bool {\n        if let emptyView = self.emptyView, let superview = emptyView.superview {\n            if (isViewLoaded) {\n                let newSize = superview.bounds.size\n                let oldSize = emptyView.frame.size\n                if !oldSize.equalTo(newSize) {\n                    emptyView.frame = CGRect(x: emptyView.frame.minX, y: emptyView.frame.minY, width: newSize.width, height: newSize.height)\n                }\n                return true\n            }\n        }\n        return false\n    }\n    \n    @objc func emptyViewDidClick(_ gestureRecognizer: UITapGestureRecognizer) {\n        \n    }\n}\n"
  },
  {
    "path": "QLadder/Class/SDK/Common/Control/QLNavigationController.swift",
    "content": "//\n//  QLNavigationController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/16.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\nclass QLNavigationController: UINavigationController {\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n\n        // Do any additional setup after loading the view.\n    }\n}\n"
  },
  {
    "path": "QLadder/Class/SDK/Common/Control/QLTabBarController.swift",
    "content": "//\n//  QLTabBarController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/16.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\nclass QLTabBarController: UITabBarController {\n\n    let images = [[\"tabbar-item-link\", \"tabbar-item-link-selected\"],\n                  [\"tabbar-item-user\", \"tabbar-item-user-selected\"],\n                  [\"tabbar-item-setting\", \"tabbar-item-setting-selected\"]\n                  ]\n    let titles = [\"连接\", \"我的\", \"设置\"]\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        UITabBarItem.appearance().setTitleTextAttributes([NSAttributedString.Key.foregroundColor : QLColor.C3], for: .normal)\n        UITabBarItem.appearance().setTitleTextAttributes([NSAttributedString.Key.foregroundColor : QLColor.C3], for: .selected)\n        \n        //自定义tabbar的item\n        for (index, item) in (self.tabBar.items?.enumerated())! {\n            item.image = UIImage(named: images[index][0])?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)\n            item.selectedImage = UIImage(named: images[index][1])?.withRenderingMode(UIImage.RenderingMode.alwaysOriginal)\n            item.title = titles[index];\n        }\n    }\n}\n"
  },
  {
    "path": "QLadder/Class/SDK/Common/Define/AppConfig.swift",
    "content": "//\n//  AppConfig.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/21.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport Foundation\n\npublic struct AppConfig {\n    // App Name\n    // App Version\n    // App Build\n    public static var version: String {\n        return Bundle.main.object(forInfoDictionaryKey: \"CFBundleShortVersionString\") as! String\n    }\n    \n    public static var fullVersion: String {\n        return \"\\(AppConfig.version) Build \\(AppConfig.build)\"\n    }\n    \n    public static var build: String {\n        return Bundle.main.object(forInfoDictionaryKey: \"CFBundleVersion\") as! String\n    }\n    \n    public static var countryCode: String {\n        return (Locale.current as NSLocale).object(forKey: NSLocale.Key.countryCode) as? String ?? \"US\"\n    }\n    \n    public static var languageCode: String {\n        return (Locale.current as NSLocale).object(forKey: NSLocale.Key.languageCode) as? String ?? \"en\"\n    }\n    \n    public static var appName: String {\n        return Bundle.main.object(forInfoDictionaryKey: \"CFBundleDisplayName\") as! String\n    }\n    \n    public static var isTestFlight: Bool {\n        return isAppStoreReceiptSandbox && !hasEmbeddedMobileProvision\n    }\n    \n    public static var isAppStore: Bool {\n        if isAppStoreReceiptSandbox || hasEmbeddedMobileProvision {\n            return false\n        }\n        return true\n    }\n    \n    fileprivate static var isAppStoreReceiptSandbox: Bool {\n        let b = Bundle.main.appStoreReceiptURL?.lastPathComponent == \"sandboxReceipt\"\n        NSLog(\"isAppStoreReceiptSandbox: \\(b)\")\n        return b\n    }\n    \n    fileprivate static var hasEmbeddedMobileProvision: Bool {\n        let b = Bundle.main.path(forResource: \"embedded\", ofType: \"mobileprovision\") != nil\n        NSLog(\"hasEmbeddedMobileProvision: \\(b)\")\n        return b\n    }\n    \n}\n"
  },
  {
    "path": "QLadder/Class/SDK/Common/Define/QLColorDefine.swift",
    "content": "//\n//  QLColorDefine.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/16.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport Foundation\nimport SwiftColor\n\nstruct QLColor {\n    static let C0 = \"000000\".color // 黑色\n    static let C1 = \"FDA413\".color // 主色\n    static let C2 = \"FFFFFF\".color // 白色\n    static let C3 = \"333333\".color // 主标题、正文\n    static let C4 = \"555555\".color // 副标题\n    static let C5 = \"888888\".color // 辅助文字、描述\n    static let C6 = \"9D9D9D\".color // 时间、日期、更多\n    static let C7 = \"CCCCCC\".color // 灰色装饰图标\n    static let C8 = \"DBDBDB\".color // 辅助线、分割线、弱化文字\n    static let C9 = \"F2F2F2\".color // 背景色\n    static let C10 = \"F4F4F4\".color // 背景色\n    static let C11 = \"FFF2DC\".color // 辅助色\n    static let C12 = \"CC1F28\".color // 价格\n    \n}\n"
  },
  {
    "path": "QLadder/Class/SDK/Extension/UIView+Color.swift",
    "content": "//\n//  UIView+Color.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/28.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\nextension UIColor {\n    func rgb() -> Int? {\n        var fRed : CGFloat = 0\n        var fGreen : CGFloat = 0\n        var fBlue : CGFloat = 0\n        var fAlpha: CGFloat = 0\n        if self.getRed(&fRed, green: &fGreen, blue: &fBlue, alpha: &fAlpha) {\n            let iRed = Int(fRed * 255.0)\n            let iGreen = Int(fGreen * 255.0)\n            let iBlue = Int(fBlue * 255.0)\n            let iAlpha = Int(fAlpha * 255.0)\n            \n            //  (Bits 24-31 are alpha, 16-23 are red, 8-15 are green, 0-7 are blue).\n            let rgb = (iAlpha << 24) + (iRed << 16) + (iGreen << 8) + iBlue\n            return rgb\n        } else {\n            // Could not extract RGBA components:\n            return nil\n        }\n    }\n}\n\n//use\n//let swiftColor = UIColor(red: 1, green: 165/255, blue: 0, alpha: 1)\n//if let rgb = swiftColor.rgb() {\n//    print(rgb)\n//} else {\n//    print(\"conversion failed\")\n//}\n\n"
  },
  {
    "path": "QLadder/Class/SDK/Manager/ConfigManager.swift",
    "content": "//\n//  ConfigManager.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/23.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport Foundation\n\nprivate struct ProxyDictKey {\n    static let name = \"name\"\n    static let host = \"host\"\n    static let port = \"port\"\n    static let passwd = \"passwd\"\n}\n\nprivate let KUserDefaultsProxys: String = {\n    return \"KUserDefaultsProxys\"\n}()\n\nprotocol ConfigManagerDelegate: class {\n    func manager(_ manager: ConfigManager, didReceivedConfig proxy: Proxy?)\n}\n\nclass ConfigManager {\n    static let shared = ConfigManager()\n    \n    weak var delegate: ConfigManagerDelegate?\n    \n    var currentProxy: Proxy?\n    \n    var proxys: [Proxy] = [] {\n        didSet {\n            if proxys.count > 0 {\n                let index = Int(arc4random_uniform(UInt32(proxys.count)))\n//                print(index)\n                currentProxy = proxys[index]\n            } else {\n                currentProxy = Proxy(name: \"\", host: \"0.0.0.0\", port: 0, password: \"0\")\n            }\n            delegate?.manager(self, didReceivedConfig: currentProxy)\n        }\n    }\n    \n    fileprivate init() {\n        guard let _ = UserDefaults.standard.array(forKey: KUserDefaultsProxys) else {\n            UserDefaults.standard.set([[String: String]](), forKey: KUserDefaultsProxys)\n            return\n        }\n    }\n\n    deinit {\n    }\n    \n    public func loadConfig() {\n//        print(String(describing: Proxy.self))\n        if let dicts = UserDefaults.standard.array(forKey: KUserDefaultsProxys) {\n            convertModel(dicts as! [[String: String]])\n        }\n    }\n    \n    func convertModel(_ dicts:[[String: String]]) {\n//        print(type(of: dicts))\n        var tmpProxys: [Proxy] = [];\n        for dict in dicts {\n            let name = dict[ProxyDictKey.name] ?? \"\"\n            let host = dict[ProxyDictKey.host] ?? \"\"\n            let port = dict[ProxyDictKey.port] ?? \"0\"\n            let password = dict[ProxyDictKey.passwd] ?? \"\"\n            let proxy = Proxy(name: name, host: host, port: Int(port)!, password: password)\n            tmpProxys.append(proxy)\n        }\n        proxys = tmpProxys\n    }\n    \n    func saveConfig(host: String, port: String, passwd: String) {\n        var proxys = [[String: String]]()\n//        var proxys = UserDefaults.standard.array(forKey: KUserDefaultsProxys) ?? []\n        let proxy = [ProxyDictKey.host: host, ProxyDictKey.port: port, ProxyDictKey.passwd: passwd]\n        proxys.append(proxy)\n        UserDefaults.standard.set(proxys, forKey: KUserDefaultsProxys)\n    }\n}\n"
  },
  {
    "path": "QLadder/Class/SDK/Manager/QueryManager.swift",
    "content": "//\n//  QueryManager.swift\n//  QLadder\n//\n//  Created by TonyHan on 2018/3/19.\n//  Copyright © 2018年 TonyHan All rights reserved.\n//\n\nimport Foundation\nimport Alamofire\nimport Kanna\nimport JavaScriptCore\n\nclass QueryManager {\n    \n    static let shared = QueryManager()\n    \n    typealias QueryResult = ([Buddha], String?) -> ()\n    \n    typealias QueryDetailResult = (Buddha, String?) -> ()\n    \n    \n    /// 是否需要隐藏，隐藏后图片和标题变为英文\n    var covertMode = true\n    \n    var covertImageUrl: String {\n        let urls = [\n            \"https://pic1.zhimg.com/80/v2-55e8e364ceee397d6dac7db5964b1187_hd.jpg\",\n            \"https://pic2.zhimg.com/80/v2-6e50b80726539aa10f93c8839fcef04c_hd.jpg\",\n            \"https://pic1.zhimg.com/80/v2-aa2870bc4825833bed8661a6a29b3dc4_hd.jpg\",\n            \"https://pic7.zhimg.com/80/v2-99e63cdc0ccc69cffaaab3453648ad2b_hd.jpg\",\n            \"https://pic1.zhimg.com/80/v2-f579363fac082861e2744acb8140c0c7_hd.jpg\",\n            \"https://pic2.zhimg.com/80/v2-fc0b5635984cff3aefa1988efadb18dc_hd.jpg\",\n            \"https://pic1.zhimg.com/80/v2-9af7dbabd02c224026072efacfd11b4f_hd.jpg\",\n            \"https://pic2.zhimg.com/80/v2-1b0b1d2eca953b008ea5e125cbe1d48e_hd.jpg\"\n            ]\n        let index = Int(arc4random_uniform(UInt32(urls.count)))\n        return urls[index]\n    }\n    \n    // 1\n    let defaultSession = URLSession(configuration: .default)\n    // 2\n    var dataTask: URLSessionDataTask?\n    var buddhas: [Buddha] = []\n    \n    private var headers: HTTPHeaders {\n        get {\n            let ip = \"\\(arc4random_uniform(255) + 1).\\(arc4random_uniform(255) + 1).\\(arc4random_uniform(255) + 1).\\(arc4random_uniform(255) + 1)\"\n            let headers = [\n                \"Accept-Language\": \"zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7\",\n                \"X-Forwarded-For\": ip\n            ]\n            return headers\n        }\n    }\n    \n    // MARK: BuddhaList\n    func fetchBuddhas(_ buddhaType: BuddhaType, _ page: Int, completion: @escaping QueryResult) {\n        var url = \"\"\n        if buddhaType == .porn_91 {\n            if page <= 0 {\n                url = \"http://91porn.com/v.php?category=rf&viewtype=basic&page=1\"\n            } else {\n                url = \"http://91porn.com/v.php?category=rf&viewtype=basic&page=\\(page)\"\n            }\n            \n            Alamofire.request(url)\n                .responseData { response in\n                    if let error = response.error {\n                        print(error)\n                        DispatchQueue.main.async {\n                            completion(self.buddhas, error.localizedDescription)\n                        }\n                    } else {\n                        if let data = response.data {\n                            let htmlString = String(data: data, encoding: .utf8) ?? String(decoding: data, as: UTF8.self)\n                            self.updateBuddhasIn91(htmlString as NSString)\n                        }\n                        DispatchQueue.main.async {\n                            completion(self.buddhas, nil)\n                        }\n                    }\n            }\n        } else {\n            if page <= 0 {\n                url = \"https://www.pornhub.com/video?o=mv&cc=us\"\n            } else {\n                url = \"https://www.pornhub.com/video?o=mv&cc=us&page=\\(page)\"\n            }\n            \n            Alamofire.request(url)\n                .responseString { response in\n                    if let error = response.error {\n                        print(error)\n                        DispatchQueue.main.async {\n                            completion(self.buddhas, error.localizedDescription)\n                        }\n                    } else {\n                        self.updateBuddhasInHub(response.result.value! as NSString)\n                        DispatchQueue.main.async {\n                            completion(self.buddhas, nil)\n                        }\n                    }\n            }\n        }\n    }\n    \n    fileprivate func updateBuddhasInHub(_ htmlString: NSString) {\n        \n//        saveToFile(htmlString as String)\n        \n        if htmlString == \"\" {\n            return\n        }\n        \n        do {\n            // if encoding is omitted, it defaults to NSUTF8StringEncoding\n            let doc = try HTML(html: htmlString as String, encoding: .utf8)\n            \n            var tempBuddhas = [Buddha]()\n            \n            for item in doc.xpath(\"//div[@class='phimage']\") {\n                var name: String = \"\"\n                var url: String = \"\"\n                var imgUrl: String = \"\"\n                var duration: String = \"\"\n                let addTime:String = \"\"\n                let user: String = \"\"\n                \n                if let a = item.xpath(\"div/a[@class='img ']\").first {\n                    url = a[\"href\"] ?? \"\"\n                \n                    if let img = a.xpath(\"img\").first {\n                        name = img[\"title\"] ?? \"\"\n                        imgUrl = img[\"src\"] ?? \"\"\n                    }\n                }\n                \n                if imgUrl == \"\" || !imgUrl.hasPrefix(\"http\") {\n                    continue\n                }\n                \n                if let textArray = item.text?.components(separatedBy: \"\\n\") {\n                    for text in textArray {\n                        duration = text.trimmingCharacters(in: .whitespacesAndNewlines)\n                        if duration != \"\" {\n                            break\n                        }\n                    }\n                }\n                \n                let buddha = Buddha(name: name, url: url, imgUrl: imgUrl, duration: duration, addTime: addTime, user: user)\n                \n                if buddha.name != \"\" {\n                    tempBuddhas.append(buddha)\n                }\n            }\n            buddhas = tempBuddhas\n            \n        } catch let error {\n            print(error)\n        }\n    }\n    \n    fileprivate func updateBuddhasIn91(_ htmlString: NSString) {\n\n//        saveToFile(htmlString as String)\n        \n        if htmlString == \"\" {\n            return\n        }\n\n        do {\n            // if encoding is omitted, it defaults to NSUTF8StringEncoding\n            let doc = try HTML(html: htmlString as String, encoding: .utf8)\n            \n            // XPath queries\n            \n            var tempBuddhas = [Buddha]()\n            \n            for item in doc.xpath(\"//*[@class='listchannel']\") {\n                var name: String = \"\"\n                var url: String = \"\"\n                var imgUrl: String = \"\"\n                var duration: String = \"\"\n                var addTime:String = \"\"\n                var user: String = \"\"\n                if let img = item.xpath(\"div/a[@target='blank']/img\").first {\n                    name = img[\"title\"] ?? \"\"\n                    imgUrl = img[\"src\"] ?? \"\"\n                }\n                if let urlItem = item.xpath(\"a[@target='blank']\").first {\n                    url = urlItem[\"href\"] ?? \"\"\n                }\n                \n                for (index, textItem) in item.xpath(\"text()\").enumerated() {\n                    if let text = textItem.text?.trimmingCharacters(in: .whitespacesAndNewlines) {\n                        if text.contains(\":\") {\n                            duration = text\n                        }\n                        if text.contains(\"ago\") {\n                            addTime = text\n                        }\n                        if (index == 8) {\n                            user = text\n                        }\n                    }\n                }\n                let buddha = Buddha(name: name, url: url, imgUrl: imgUrl, duration: duration, addTime: addTime, user: user)\n                tempBuddhas.append(buddha)\n            }\n            buddhas = tempBuddhas\n            \n        } catch let error {\n            print(error)\n        }\n        \n    }\n    \n    // MARK: BuddhaDetail\n    func fetchBuddhaDetailIn91(_ buddha:Buddha, completion: @escaping QueryDetailResult) {\n        guard let url = buddha.url else {\n            DispatchQueue.main.async {\n                completion(buddha, \"url 为空\")\n            }\n            return\n        }\n        \n        setCookieIn91()\n        \n        Alamofire.request(url, headers: headers)\n            .responseString { response in\n                \n                if let error = response.error {\n                    print(error)\n                    DispatchQueue.main.async {\n                        completion(buddha, error.localizedDescription)\n                    }\n                } else {\n                    if let newBuddha = self.parseBuddhaIn91(buddha, response.result.value! as NSString){\n                        DispatchQueue.main.async {\n                            completion(newBuddha, nil)\n                        }\n                    } else {\n                        DispatchQueue.main.async {\n                            completion(buddha, \"转换失败\")\n                        }\n                    }\n                }\n        }\n    }\n    \n    fileprivate func parseBuddhaIn91(_ buddha: Buddha, _ htmlString: NSString) -> Buddha? {\n        if htmlString == \"\" {\n            return nil\n        }\n        \n        do {\n            var newBuddha = buddha.mutableCopy()\n            \n            // if encoding is omitted, it defaults to NSUTF8StringEncoding\n            let doc = try HTML(html: htmlString as String, encoding: .utf8)\n            \n            // XPath queries\n            if let nameItem = doc.xpath(\"//div[@id='viewvideo-title']/text()\").first {\n                newBuddha.name_zh = nameItem.text?.trimmingCharacters(in: .whitespacesAndNewlines)\n            }\n            \n            if let videoItem = doc.xpath(\"//video[@id='vid']/source\").first {\n                newBuddha.videoUrl = videoItem[\"src\"]?.trimmingCharacters(in: .whitespacesAndNewlines)\n            }\n\n            if let imageItem = doc.xpath(\"//div[@class='example-video-container']/video\").first {\n                newBuddha.detailImgUrl = imageItem[\"poster\"]?.trimmingCharacters(in: .whitespacesAndNewlines)\n            }\n\n            if let addTimeItem = doc.xpath(\"//div[@id='videodetails-content']/span[@class='title']/text()\").first {\n                newBuddha.addTime_zh = addTimeItem.text?.trimmingCharacters(in: .whitespacesAndNewlines)\n            }\n\n            if let infoItem = doc.xpath(\"//div[@class='boxPart']\").first {\n                let pointsItemString = infoItem.text\n                var itemStringArray = [String]()\n                for item in infoItem.xpath(\"span[@class='info']\") {\n                    let itemString = item.text\n                    itemStringArray.append(itemString ?? \"\")\n                }\n\n                var points = pointsItemString?.components(separatedBy: itemStringArray[4])[1]\n                points = points?.replacingOccurrences(of: \"</div>\", with: \"\").trimmingCharacters(in: .whitespacesAndNewlines)\n                newBuddha.points = points\n            }\n            \n            return newBuddha\n        } catch let error {\n            print(error)\n        }\n        return nil\n    }\n    \n    private func setCookieIn91() {\n        //创建一个HTTPCookie对象\n        var props = Dictionary<HTTPCookiePropertyKey, Any>()\n        props[HTTPCookiePropertyKey.name] = \"watch_times\"\n        props[HTTPCookiePropertyKey.value] = \"1\"\n        props[HTTPCookiePropertyKey.path] = \"/\"\n        props[HTTPCookiePropertyKey.domain] = \"91porn.com\"\n        let cookie = HTTPCookie(properties: props)\n        let cstorage = HTTPCookieStorage.shared\n        //        通过setCookie方法把Cookie保存起来\n        cstorage.setCookie(cookie!)\n    }\n    \n    func fetchBuddhaDetailInHub(_ buddha:Buddha, completion: @escaping QueryDetailResult) {\n        guard let relativeUrl = buddha.url else {\n            DispatchQueue.main.async {\n                completion(buddha, \"url 为空\")\n            }\n            return\n        }\n        \n        let url = \"https://www.pornhub.com\" + relativeUrl\n        \n        Alamofire.request(url, headers: headers)\n            .responseString { response in\n                \n                if let error = response.error {\n                    print(error)\n                    DispatchQueue.main.async {\n                        completion(buddha, error.localizedDescription)\n                    }\n                } else {\n                    if let newBuddha = self.parseBuddhaInHub(buddha, response.result.value! as NSString){\n                        DispatchQueue.main.async {\n                            completion(newBuddha, nil)\n                        }\n                    } else {\n                        DispatchQueue.main.async {\n                            completion(buddha, \"转换失败\")\n                        }\n                    }\n                }\n        }\n    }\n    \n    fileprivate func parseBuddhaInHub(_ buddha: Buddha, _ htmlString: NSString) -> Buddha? {\n        if htmlString == \"\" {\n            return nil\n        }\n        \n        saveToFile(htmlString as String)\n        \n        do {\n            var newBuddha = buddha.mutableCopy()\n            \n            // if encoding is omitted, it defaults to NSUTF8StringEncoding\n            let doc = try HTML(html: htmlString as String, encoding: .utf8)\n            \n            // XPath queries\n            if let scriptItem = doc.xpath(\"//div[@id='player']/script\").first, let script = scriptItem.text?.replacingOccurrences(of: \"\\n\", with: \"\").replacingOccurrences(of: \"\\t\", with: \"\") {\n                \n                newBuddha.videoUrl = matchInfo(script, \"videoUrl\")\n            }\n            \n            if newBuddha.videoUrl == \"\" {\n                print(newBuddha)\n            }\n            \n            newBuddha.detailImgUrl = newBuddha.imgUrl\n            \n            if let fromItem = doc.xpath(\"//div[@class='video-info-row']/div/a\").first {\n                newBuddha.user = fromItem.text\n            }\n            \n            if let addOnItem = doc.xpath(\"//div[@class='video-info-row showLess']/span\").reversed().first {\n                newBuddha.addTime = addOnItem.text\n                newBuddha.addTime_zh = addOnItem.text\n            }\n            \n            if let pointsItem = doc.xpath(\"//div[@class='votes-count-container']/span\").first {\n                newBuddha.points = pointsItem.text\n            }\n            \n            return newBuddha\n        } catch let error {\n            print(error)\n        }\n        return nil\n    }\n    \n    private func matchInfo(_ string:String, _ pattern:String) -> String {\n        var result = \"\"\n        // - 1、创建规则\n        let pattern1 = \"(?<=\\(pattern)\\\\\\\":\\\\\\\").*?(?=\\\\\\\")\"\n        // - 2、创建正则表达式对象\n        let regex1 = try! NSRegularExpression(pattern: pattern1, options: NSRegularExpression.Options.caseInsensitive)\n        // - 3、开始匹配A\n        let res = regex1.matches(in: string, options: NSRegularExpression.MatchingOptions.init(rawValue: 0), range: NSMakeRange(0, string.count))\n        // 输出结果\n        for checkingRes in res.reversed() {\n            result = (string as NSString).substring(with: checkingRes.range)\n            if result != \"\" {\n                break\n            }\n        }\n        result = result.replacingOccurrences(of: \"\\\\\", with: \"\")\n        return result\n    }\n    \n    private func setCookieInHub() {\n        //创建一个HTTPCookie对象\n        var props = Dictionary<HTTPCookiePropertyKey, Any>()\n        props[HTTPCookiePropertyKey.name] = \"platform\"\n        props[HTTPCookiePropertyKey.value] = \"pc\"\n        props[HTTPCookiePropertyKey.name] = \"ss\"\n        props[HTTPCookiePropertyKey.value] = \"367701188698225489\"\n        props[HTTPCookiePropertyKey.name] = \"bs\"\n        props[HTTPCookiePropertyKey.value] = \"\"\n        props[HTTPCookiePropertyKey.name] = \"RNLBSERVERID\"\n        props[HTTPCookiePropertyKey.value] = \"ded6699\"\n        props[HTTPCookiePropertyKey.name] = \"FastPopSessionRequestNumber\"\n        props[HTTPCookiePropertyKey.value] = \"1\"\n        props[HTTPCookiePropertyKey.name] = \"FPSRN\"\n        props[HTTPCookiePropertyKey.value] = \"1\"\n        props[HTTPCookiePropertyKey.name] = \"performance_timing\"\n        props[HTTPCookiePropertyKey.value] = \"home\"\n        props[HTTPCookiePropertyKey.name] = \"RNKEY\"\n        props[HTTPCookiePropertyKey.value] = \"40859743*68067497:1190152786:3363277230:1\"\n        props[HTTPCookiePropertyKey.path] = \"/\"\n        props[HTTPCookiePropertyKey.domain] = \"91porn.com\"\n        let cookie = HTTPCookie(properties: props)\n        let cstorage = HTTPCookieStorage.shared\n        //        通过setCookie方法把Cookie保存起来\n        cstorage.setCookie(cookie!)\n    }\n    \n    private func saveToFile(_ htmlString: String) {\n        let file = \"data.html\"\n        if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {\n            let fileURL = dir.appendingPathComponent(file)\n            //writing\n            do {\n                try (htmlString as String).write(to: fileURL, atomically: false, encoding: .utf8)\n            }\n            catch {\n                /* error handling here */\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "QLadder/Class/SDK/Manager/VPNManager.swift",
    "content": "//\n//  VpnManager.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/20.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport Foundation\nimport NetworkExtension\n\npublic enum ManagerError: Error {\n    case invalidProvider\n    case vpnStartFail\n}\n\npublic enum VpnStatus {\n    case off\n    case connecting\n    case on\n    case disconnecting\n}\n\nprotocol VpnManagerDelegate: class {\n    func manager(_ manager: VpnManager, didChangeStatus status: VpnStatus)\n}\n\nclass VpnManager {\n    static let shared = VpnManager()\n    \n    weak var delegate: VpnManagerDelegate?\n\n    var observerDidAdd: Bool = false\n    \n    fileprivate(set) var vpnStatus = VpnStatus.off {\n        didSet {\n            delegate?.manager(self, didChangeStatus: vpnStatus)\n        }\n    }\n    \n    fileprivate init() {\n        loadProviderManager {\n            if let manager = $0 {//$0就是闭包的第一个参数\n                self.updateVPNStatus(manager)\n            }\n        }\n        addVPNStatusObserver()\n    }\n    \n    deinit {\n        NotificationCenter.default.removeObserver(self)\n    }\n    \n    /// 添加vpn的状态的监听\n    func addVPNStatusObserver() {\n        guard !observerDidAdd else {\n            return\n        }\n        loadProviderManager {\n            if let manager = $0 {\n                self.observerDidAdd = true\n                NotificationCenter.default.addObserver(forName: NSNotification.Name.NEVPNStatusDidChange, object: manager.connection, queue: OperationQueue.main, using: { [unowned self] (notification) -> Void in\n                    self.updateVPNStatus(manager)\n                })\n            }\n        }\n    }\n    \n    /// 更新vpn的连接状态\n    ///\n    /// - Parameter manager: NEVPNManager\n    func updateVPNStatus(_ manager: NEVPNManager) {\n        \n        switch manager.connection.status {\n        case .connected:\n            vpnStatus = .on\n        case .connecting, .reasserting://reasserting  暂时无法获得确切状态\n            vpnStatus = .connecting\n        case .disconnecting:\n            vpnStatus = .disconnecting\n        case .disconnected, .invalid://invalid 无效状态，配置有错\n            vpnStatus = .off\n        }\n    }\n    \n    /// 切换vpn\n    open func switchVPN() {\n        \n    }\n}\n\n// load VPN Profiles\nextension VpnManager {\n    \n    fileprivate func createProviderManager() -> NETunnelProviderManager {\n        let manager = NETunnelProviderManager()\n        manager.protocolConfiguration = NETunnelProviderProtocol()\n        return manager\n    }\n    \n    func loadAndCreateProviderManager(_ complete: @escaping (NETunnelProviderManager?, Error?) -> Void ) {\n        NETunnelProviderManager.loadAllFromPreferences { (managers, error) in\n            guard let managers = managers else { return }\n            let manager: NETunnelProviderManager\n            if (managers.count > 0) {\n                manager = managers[0]\n            } else {\n                manager = self.createProviderManager()\n            }\n            manager.isEnabled = true\n            manager.localizedDescription = AppConfig.appName\n            manager.protocolConfiguration?.serverAddress = AppConfig.appName\n            manager.isOnDemandEnabled = true\n//            默认的配置\n            self.setConnectionConfig(manager)\n            manager.saveToPreferences {\n                if let error = $0 {\n                    complete(nil, error)\n                } else {\n                    manager.loadFromPreferences(completionHandler: { (error) -> Void in\n                        if let error = error {\n                            complete(nil, error)\n                        } else {\n                            complete(manager, nil)\n                        }\n                    })\n                }\n            }\n            \n        }\n    }\n    \n    func loadProviderManager(_ complete: @escaping (NETunnelProviderManager?) -> Void) {\n        NETunnelProviderManager.loadAllFromPreferences { (managers, error) in\n            if let managers = managers {\n                if managers.count > 0 {\n                    let manager = managers[0]\n                    complete(manager)\n                    return\n                }\n            }\n            complete(nil)\n        }\n    }\n}\n\n\n// MARK: - public func\nextension VpnManager {\n    \n    public func isVPNStarted(_ complete: @escaping (Bool, NETunnelProviderManager?) -> Void) {\n        loadProviderManager {\n            if let manager = $0 {\n                complete(manager.connection.status == .connected, manager)\n            } else {\n                complete(false, nil)\n            }\n        }\n    }\n    \n    public func startVPN(_ complete: ((NETunnelProviderManager?, Error?) -> Void)? = nil) {\n        startVPNWithOptions(nil, complete: complete)\n    }\n    \n    fileprivate func startVPNWithOptions(_ options: [String : NSObject]?, complete: ((NETunnelProviderManager?, Error?) -> Void)? = nil) {\n        // Load provider\n        loadAndCreateProviderManager { (manager, error) -> Void in\n            if let error = error {\n                complete?(nil, error)\n            } else {\n                guard let manager = manager else {\n                    complete?(nil, ManagerError.invalidProvider)\n                    return\n                }\n                if manager.connection.status == .disconnected || manager.connection.status == .invalid {\n                    do {\n                        try manager.connection.startVPNTunnel(options: options)\n                        self.addVPNStatusObserver()\n                        complete?(manager, nil)\n                    }catch {\n                        complete?(nil, error)\n                    }\n                } else {\n                    self.addVPNStatusObserver()\n                    complete?(manager, nil)\n                }\n            }\n        }\n    }\n    \n    public func stopVPN() {\n        // Stop provider\n        loadProviderManager {\n            guard let manager = $0 else {\n                return\n            }\n            manager.connection.stopVPNTunnel()\n        }\n    }\n}\n\n// Generate and Load ConfigFile\nextension VpnManager {\n    \n    fileprivate func getRuleConf() -> String {\n        let path = Bundle.main.path(forResource: \"NEKitRule\", ofType: \"conf\")\n        let data = try? Foundation.Data(contentsOf: URL(fileURLWithPath: path!))\n        let str = String(data: data!, encoding: String.Encoding.utf8)!\n        return str\n    }\n    \n    fileprivate func setConnectionConfig(_ manager:NETunnelProviderManager) {\n        var conf = [String:AnyObject]()\n//        conf[\"ss_address\"] = \"201.244.92.221\" as AnyObject?//这里填写你的ss-server地址\n//        conf[\"ss_port\"] = 8899 as AnyObject?//ss-server端口\n//        conf[\"ss_method\"] = \"AES256CFB\" as AnyObject? // 大写 没有横杠 看Extension中的枚举类设定 否则引发fatal error\n//        conf[\"ss_password\"] = \"1234\" as AnyObject?// ss-server 密码\n        if let proxy = ConfigManager.shared.currentProxy {\n            conf[\"ss_address\"] = proxy.host as AnyObject?\n            conf[\"ss_port\"] = proxy.port as AnyObject?\n            conf[\"ss_method\"] = \"AES256CFB\" as AnyObject? // 大写 没有横杠 看Extension中的枚举类设定 否则引发fatal error\n            conf[\"ss_password\"] = proxy.password as AnyObject?\n            \n            conf[\"ymal_conf\"] = getRuleConf() as AnyObject?\n            let orignConf = manager.protocolConfiguration as! NETunnelProviderProtocol\n            orignConf.providerConfiguration = conf\n            manager.protocolConfiguration = orignConf\n        }\n    }\n\n}\n"
  },
  {
    "path": "QLadder/Class/ViewController/About/QLAboutViewController.swift",
    "content": "//\n//  QLAboutViewController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/16.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\nclass QLAboutViewController: QLBaseViewController {\n\n    @IBOutlet weak var textField: UITextField!\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n\n        navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(rightBarButtonItemDidClick))\n        navigationItem.title = \"关于\"\n        \n        let tapGesture = UITapGestureRecognizer(target: self, action: #selector(tap(tapGesture:)))\n        view.addGestureRecognizer(tapGesture)\n    }\n    \n    override func viewDidAppear(_ animated: Bool) {\n        textField.text = nil\n        view.endEditing(true)\n    }\n    \n    @objc func tap(tapGesture: UIGestureRecognizer) {\n        view.endEditing(true)\n    }\n    \n    @objc private func rightBarButtonItemDidClick() {\n        \n        guard let typeText = textField.text else {\n            return\n        }\n        \n        var buddhaType:BuddhaType = .porn_none\n        \n        if typeText == \"91\" {\n            buddhaType = .porn_91\n        } else if typeText == \"hub\" {\n            buddhaType = .porn_hub\n        }\n        \n        if buddhaType != .porn_none {\n            let vc = QLBuddhaListViewController(buddhaType: buddhaType)\n            vc.hidesBottomBarWhenPushed = true\n            self.navigationController?.pushViewController(vc, animated: true)\n        }\n    }\n\n}\n"
  },
  {
    "path": "QLadder/Class/ViewController/About/QLBuddhaListViewController.swift",
    "content": "//\n//  QLBuddhaListViewController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2018/3/22.\n//  Copyright © 2018年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\npublic enum BuddhaType {\n    case porn_none\n    case porn_91\n    case porn_hub\n}\n\nclass QLBuddhaListViewController: QLBaseViewController {\n    \n    init(buddhaType: BuddhaType) {\n        self.buddhaType = buddhaType\n        super.init(nibName: nil, bundle: nil)\n    }\n    \n    required init?(coder aDecoder: NSCoder) {\n        fatalError(\"init(coder:) has not been implemented\")\n    }\n    \n    private var buddhaType: BuddhaType\n\n    private var buddhas: [Buddha] = []\n    \n    @IBOutlet weak var tableView: UITableView!\n    \n    private var refreshControl: UIRefreshControl!\n    \n    private var currentPage: Int = 0\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        initSubviews()\n    }\n    \n    override func viewWillAppear(_ animated: Bool) {\n        super.viewWillAppear(animated)\n        \n        if buddhas.count == 0 {\n            refresh()\n        }\n    }\n    \n    func initSubviews() {\n        navigationItem.title = \"Buddha\"\n        \n        let rightSwitch = UISwitch()\n        let rightBarButtonItem = UIBarButtonItem(customView: rightSwitch)\n        navigationItem.rightBarButtonItem = rightBarButtonItem\n        rightSwitch.setOn(true, animated: false)\n        rightSwitch.addTarget(self, action: #selector(rightSwitchDidClick(_:)), for: .valueChanged)\n        QueryManager.shared.covertMode = rightSwitch.isOn\n        \n        tableView.separatorStyle = .none;\n        tableView.showsVerticalScrollIndicator = false;\n        \n        let nib = UINib(nibName: QLBuddhaCell.identifier(), bundle: nil)\n        self.tableView.register(nib, forCellReuseIdentifier: QLBuddhaCell.identifier())\n        \n        refreshControl = UIRefreshControl()\n        refreshControl.addTarget(self, action:\n            #selector(handleRefresh(_:)),\n                                 for: .valueChanged)\n        refreshControl.tintColor = QLColor.C1\n        tableView.addSubview(refreshControl)\n    }\n    \n    @objc private func handleRefresh(_ refreshControl: UIRefreshControl) {\n        loadData()\n    }\n    \n    private func loadData() {\n        currentPage = 0\n        QueryManager.shared.fetchBuddhas(self.buddhaType, 0) { (buddhas, errorMessage) in\n            if errorMessage != nil {\n                self.showEmptyView()\n            } else {\n                self.buddhas = buddhas\n                self.tableView.reloadData()\n                self.currentPage += 1\n            }\n            self.refreshControl.endRefreshing()\n        }\n    }\n    \n    private func loadMoreData() {\n        QueryManager.shared.fetchBuddhas(self.buddhaType, currentPage + 1) { (buddhas, errorMessage) in\n            if errorMessage != nil {\n                \n            } else {\n                self.buddhas += buddhas\n                self.tableView.reloadData()\n                self.currentPage += 1\n            }\n        }\n    }\n    \n    @objc private func rightSwitchDidClick(_ rightSwitch: UISwitch) {\n        let covertMode = rightSwitch.isOn\n        QueryManager.shared.covertMode = covertMode\n        DispatchQueue.global().async {\n            DispatchQueue.main.async {\n                self.tableView.reloadData()\n            }\n        }\n    }\n    \n    @objc override func emptyViewDidClick(_ gestureRecognizer: UITapGestureRecognizer) {\n        refresh()\n    }\n    \n    private func refresh() {\n        tableView.contentOffset = CGPoint(x: 0, y: -refreshControl.frame.size.height)\n        refreshControl.beginRefreshing()\n        handleRefresh(refreshControl)\n        hideEmptyView()\n    }\n}\n\nextension QLBuddhaListViewController: UITableViewDelegate, UITableViewDataSource {\n    \n    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n        return buddhas.count\n    }\n    \n    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n        if let cell = tableView.dequeueReusableCell(withIdentifier: QLBuddhaCell.identifier()) as? QLBuddhaCell {\n            let buddha = buddhas[indexPath.row] as Buddha\n            cell.buddha = buddha\n            return cell\n        }\n        return UITableViewCell()\n    }\n    \n    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {\n        return QLBuddhaCell.height()\n    }\n    \n    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {\n        let lastElement = buddhas.count - 1\n        if !refreshControl.isRefreshing && indexPath.row == lastElement {\n            //            indicator.startAnimating()\n            loadMoreData()\n        }\n    }\n    \n    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {\n        let buddha = buddhas[indexPath.row] as Buddha\n        let vc = QLBuddhaViewController(buddha, buddhaType: self.buddhaType)\n        navigationController?.pushViewController(vc, animated: true)\n    }\n}\n"
  },
  {
    "path": "QLadder/Class/ViewController/About/QLBuddhaListViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"14460.31\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\">\n    <device id=\"retina4_7\" orientation=\"portrait\">\n        <adaptation id=\"fullscreen\"/>\n    </device>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"14460.20\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\" customClass=\"QLBuddhaListViewController\" customModule=\"QLadder\" customModuleProvider=\"target\">\n            <connections>\n                <outlet property=\"tableView\" destination=\"GY5-ya-ZXJ\" id=\"gPv-9j-wQB\"/>\n                <outlet property=\"view\" destination=\"i5M-Pr-FkT\" id=\"sfx-zR-JGt\"/>\n            </connections>\n        </placeholder>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view clearsContextBeforeDrawing=\"NO\" contentMode=\"scaleToFill\" id=\"i5M-Pr-FkT\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <tableView clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"-1\" estimatedRowHeight=\"-1\" sectionHeaderHeight=\"28\" sectionFooterHeight=\"28\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"GY5-ya-ZXJ\">\n                    <rect key=\"frame\" x=\"0.0\" y=\"20\" width=\"375\" height=\"647\"/>\n                    <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"genericGamma22GrayColorSpace\"/>\n                    <connections>\n                        <outlet property=\"dataSource\" destination=\"-1\" id=\"xBr-vQ-UuW\"/>\n                        <outlet property=\"delegate\" destination=\"-1\" id=\"enh-lu-yVd\"/>\n                    </connections>\n                </tableView>\n            </subviews>\n            <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n            <constraints>\n                <constraint firstItem=\"fnl-2z-Ty3\" firstAttribute=\"bottom\" secondItem=\"GY5-ya-ZXJ\" secondAttribute=\"bottom\" id=\"T8z-Q1-Liy\"/>\n                <constraint firstItem=\"GY5-ya-ZXJ\" firstAttribute=\"top\" secondItem=\"fnl-2z-Ty3\" secondAttribute=\"top\" id=\"buV-Q9-OsF\"/>\n                <constraint firstItem=\"GY5-ya-ZXJ\" firstAttribute=\"leading\" secondItem=\"fnl-2z-Ty3\" secondAttribute=\"leading\" id=\"vW4-BW-AJm\"/>\n                <constraint firstItem=\"fnl-2z-Ty3\" firstAttribute=\"trailing\" secondItem=\"GY5-ya-ZXJ\" secondAttribute=\"trailing\" id=\"z4r-XF-if7\"/>\n            </constraints>\n            <viewLayoutGuide key=\"safeArea\" id=\"fnl-2z-Ty3\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "QLadder/Class/ViewController/About/QLBuddhaViewController.swift",
    "content": "//\n//  QLBuddhaViewController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2018/3/22.\n//  Copyright © 2018年 TonyHan All rights reserved.\n//\n\nimport UIKit\nimport AVKit\nimport Alamofire\n\nclass QLBuddhaViewController: QLBaseViewController {\n    \n    private var buddha: Buddha\n    \n    private var buddhaType: BuddhaType\n    \n    @IBOutlet weak var imageView: UIImageView!\n    \n    @IBOutlet weak var nameDetailLabel: UILabel!\n    \n    @IBOutlet weak var durationLabel: UILabel!\n    \n    @IBOutlet weak var addTimeLabel: UILabel!\n    \n    @IBOutlet weak var userLabel: UILabel!\n    \n    @IBOutlet weak var pointsLabel: UILabel!\n    \n    init(_ buddha: Buddha, buddhaType: BuddhaType) {\n        self.buddha = buddha\n        self.buddhaType = buddhaType\n        super.init(nibName: nil, bundle: nil)\n    }\n    \n    required init?(coder aDecoder: NSCoder) {\n        fatalError(\"init(coder:) has not been implemented\") // or see Roman Sausarnes's answer\n    }\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        initSubviews()\n\n        if (self.buddhaType == .porn_91) {\n            QueryManager.shared.fetchBuddhaDetailIn91(buddha) { (newBuddha, errorMessage) in\n                if errorMessage != nil {\n                    \n                } else {\n                    self.buddha = newBuddha\n                    self.updateUI()\n                }\n            }\n        } else {\n            QueryManager.shared.fetchBuddhaDetailInHub(buddha) { (newBuddha, errorMessage) in\n                if errorMessage != nil {\n                    \n                } else {\n                    self.buddha = newBuddha\n                    self.updateUI()\n                }\n            }\n        }\n        \n    }\n    \n    private func initSubviews() {\n        \n        navigationItem.title = buddha.name\n        \n        nameDetailLabel.textColor = QLColor.C0\n        nameDetailLabel.font = UIFont.systemFont(ofSize: 18)\n        nameDetailLabel.numberOfLines = 2\n        \n        imageView.contentMode = .scaleAspectFill\n        imageView.clipsToBounds = true\n        imageView.backgroundColor = UIColor.lightGray\n        imageView.isUserInteractionEnabled = false\n        let singleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(singleTapping(_:)))\n        singleTap.numberOfTapsRequired = 1;\n        imageView.addGestureRecognizer(singleTap)\n        \n        durationLabel.textColor = QLColor.C6\n        durationLabel.font = UIFont.systemFont(ofSize: 13)\n        addTimeLabel.textColor = QLColor.C6\n        addTimeLabel.font = UIFont.systemFont(ofSize: 13)\n        userLabel.textColor = QLColor.C6\n        userLabel.font = UIFont.systemFont(ofSize: 13)\n        pointsLabel.textColor = QLColor.C6\n        pointsLabel.font = UIFont.systemFont(ofSize: 13)\n        \n        nameDetailLabel.text = \"\"\n        durationLabel.text = \"\"\n        addTimeLabel.text = \"\"\n        userLabel.text = \"\"\n        pointsLabel.text = \"\"\n    }\n    \n    private func updateUI() {\n        \n        var imgUrl = QueryManager.shared.covertImageUrl\n        var name = buddha.name\n        if !QueryManager.shared.covertMode && buddha.detailImgUrl != nil {\n            imgUrl = buddha.detailImgUrl!\n            name = buddha.name_zh\n        }\n        \n        imageView.kf.setImage(with: URL(string: imgUrl), placeholder: nil, options: nil, progressBlock: nil) { (image, error, _, url) in\n            self.imageView.isUserInteractionEnabled = true\n        }\n        \n        nameDetailLabel.text = name\n        durationLabel.text = \"时长：\\(buddha.duration ?? \"\")\"\n        addTimeLabel.text = \"添加时间：\\(buddha.addTime_zh ?? \"\")\"\n        userLabel.text = \"作者：\\(buddha.user ?? \"\")\"\n        pointsLabel.text = \"积分：\\(buddha.points ?? \"\")\"\n    }\n    \n    @objc private func singleTapping(_ recognizer: UIGestureRecognizer) {\n        if let videoUrl = buddha.videoUrl, let url = URL(string:videoUrl) {\n            //定义一个视频播放器\n            let player = AVPlayer(url: url)\n            let playerViewController = AVPlayerViewController()\n            playerViewController.player = player\n            self.present(playerViewController, animated: true) {\n                playerViewController.player!.play()\n            }\n        }\n    }\n}\n\nextension QLBuddhaViewController {\n\n}\n"
  },
  {
    "path": "QLadder/Class/ViewController/About/QLBuddhaViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"14460.31\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\">\n    <device id=\"retina4_7\" orientation=\"portrait\">\n        <adaptation id=\"fullscreen\"/>\n    </device>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"14460.20\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\" customClass=\"QLBuddhaViewController\" customModule=\"QLadder\" customModuleProvider=\"target\">\n            <connections>\n                <outlet property=\"addTimeLabel\" destination=\"zjZ-LR-eK0\" id=\"3hQ-v8-4Vu\"/>\n                <outlet property=\"durationLabel\" destination=\"AWH-IB-PeL\" id=\"Pww-4u-5ZX\"/>\n                <outlet property=\"imageView\" destination=\"Zqa-XL-b53\" id=\"z4B-YA-RN6\"/>\n                <outlet property=\"nameDetailLabel\" destination=\"RYl-Yn-G13\" id=\"cvn-dg-Fs4\"/>\n                <outlet property=\"pointsLabel\" destination=\"1jq-MZ-LiX\" id=\"hJP-R6-apg\"/>\n                <outlet property=\"userLabel\" destination=\"e7H-Mp-JPJ\" id=\"IjE-8R-jXM\"/>\n                <outlet property=\"view\" destination=\"i5M-Pr-FkT\" id=\"sfx-zR-JGt\"/>\n            </connections>\n        </placeholder>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view clearsContextBeforeDrawing=\"NO\" contentMode=\"scaleToFill\" id=\"i5M-Pr-FkT\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <imageView userInteractionEnabled=\"NO\" contentMode=\"scaleToFill\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"Zqa-XL-b53\">\n                    <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"281.5\"/>\n                    <constraints>\n                        <constraint firstAttribute=\"width\" secondItem=\"Zqa-XL-b53\" secondAttribute=\"height\" multiplier=\"4:3\" id=\"Tm6-Mj-JvW\"/>\n                    </constraints>\n                </imageView>\n                <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"新恒结衣\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"RYl-Yn-G13\">\n                    <rect key=\"frame\" x=\"15\" y=\"296.5\" width=\"345\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <nil key=\"textColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"时长：\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"AWH-IB-PeL\">\n                    <rect key=\"frame\" x=\"15\" y=\"332.5\" width=\"345\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <nil key=\"textColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"上传时间：\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"zjZ-LR-eK0\">\n                    <rect key=\"frame\" x=\"15\" y=\"368.5\" width=\"345\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <nil key=\"textColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"上传用户：\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"e7H-Mp-JPJ\">\n                    <rect key=\"frame\" x=\"15\" y=\"404.5\" width=\"345\" height=\"21\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <nil key=\"textColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"积分：\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"1jq-MZ-LiX\">\n                    <rect key=\"frame\" x=\"15\" y=\"440.5\" width=\"345\" height=\"20.5\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <nil key=\"textColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n            </subviews>\n            <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n            <constraints>\n                <constraint firstItem=\"e7H-Mp-JPJ\" firstAttribute=\"top\" secondItem=\"zjZ-LR-eK0\" secondAttribute=\"bottom\" constant=\"15\" id=\"8Gm-cr-h6F\"/>\n                <constraint firstItem=\"1jq-MZ-LiX\" firstAttribute=\"leading\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"leading\" id=\"AMg-Qm-ud7\"/>\n                <constraint firstItem=\"1jq-MZ-LiX\" firstAttribute=\"trailing\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"trailing\" id=\"Hrk-ve-O6j\"/>\n                <constraint firstItem=\"fnl-2z-Ty3\" firstAttribute=\"trailing\" secondItem=\"Zqa-XL-b53\" secondAttribute=\"trailing\" id=\"I7x-Bz-bKt\"/>\n                <constraint firstItem=\"AWH-IB-PeL\" firstAttribute=\"top\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"bottom\" constant=\"15\" id=\"LUB-8v-82v\"/>\n                <constraint firstItem=\"RYl-Yn-G13\" firstAttribute=\"top\" secondItem=\"Zqa-XL-b53\" secondAttribute=\"bottom\" constant=\"15\" id=\"S0m-jp-Ib1\"/>\n                <constraint firstItem=\"1jq-MZ-LiX\" firstAttribute=\"top\" secondItem=\"e7H-Mp-JPJ\" secondAttribute=\"bottom\" constant=\"15\" id=\"X6L-xe-h26\"/>\n                <constraint firstItem=\"zjZ-LR-eK0\" firstAttribute=\"leading\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"leading\" id=\"Z11-DM-Hhb\"/>\n                <constraint firstItem=\"Zqa-XL-b53\" firstAttribute=\"top\" secondItem=\"i5M-Pr-FkT\" secondAttribute=\"top\" id=\"djw-nk-bfn\"/>\n                <constraint firstItem=\"e7H-Mp-JPJ\" firstAttribute=\"trailing\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"trailing\" id=\"gFT-bY-WrP\"/>\n                <constraint firstItem=\"e7H-Mp-JPJ\" firstAttribute=\"leading\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"leading\" id=\"gO1-53-Ds6\"/>\n                <constraint firstItem=\"AWH-IB-PeL\" firstAttribute=\"leading\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"leading\" id=\"kTJ-Ei-xtU\"/>\n                <constraint firstItem=\"zjZ-LR-eK0\" firstAttribute=\"trailing\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"trailing\" id=\"kxC-0f-QzM\"/>\n                <constraint firstItem=\"AWH-IB-PeL\" firstAttribute=\"trailing\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"trailing\" id=\"lNH-PZ-9lr\"/>\n                <constraint firstItem=\"Zqa-XL-b53\" firstAttribute=\"leading\" secondItem=\"fnl-2z-Ty3\" secondAttribute=\"leading\" id=\"owB-65-XPh\"/>\n                <constraint firstItem=\"fnl-2z-Ty3\" firstAttribute=\"trailing\" secondItem=\"RYl-Yn-G13\" secondAttribute=\"trailing\" constant=\"15\" id=\"plw-66-cwo\"/>\n                <constraint firstItem=\"zjZ-LR-eK0\" firstAttribute=\"top\" secondItem=\"AWH-IB-PeL\" secondAttribute=\"bottom\" constant=\"15\" id=\"qMQ-Nc-0j9\"/>\n                <constraint firstItem=\"RYl-Yn-G13\" firstAttribute=\"leading\" secondItem=\"fnl-2z-Ty3\" secondAttribute=\"leading\" constant=\"15\" id=\"yhN-Iv-3Cv\"/>\n            </constraints>\n            <viewLayoutGuide key=\"safeArea\" id=\"fnl-2z-Ty3\"/>\n            <point key=\"canvasLocation\" x=\"34.5\" y=\"67.5\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "QLadder/Class/ViewController/About/QLDebugViewController.swift",
    "content": "//\n//  QLDebugViewController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/17.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport UIKit\nimport Alamofire\nimport WebKit\n\nclass QLDebugViewController: QLBaseViewController {\n    \n    private var buddhas: [Buddha] = []\n    \n    @IBOutlet weak var tableView: UITableView!\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        navigationItem.title = \"Debug\"\n        \n        let nib = UINib(nibName: QLBuddhaCell.identifier(), bundle: nil)\n        self.tableView.register(nib, forCellReuseIdentifier: QLBuddhaCell.identifier())\n        \n        QueryManager.shared.fetchBuddhas(.porn_91, 1) { (buddhas, errorMessage) in\n            self.buddhas += buddhas\n            self.tableView.reloadData()\n        }\n    }\n}\n\nextension QLDebugViewController: UITableViewDelegate, UITableViewDataSource {\n    \n    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {\n        return buddhas.count\n    }\n    \n    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n        if let cell = tableView.dequeueReusableCell(withIdentifier: QLBuddhaCell.identifier()) as? QLBuddhaCell {\n            let buddha = buddhas[indexPath.row] as Buddha\n            cell.buddha = buddha\n            return cell\n        }\n        return UITableViewCell()\n    }\n    \n    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {\n        return 100\n    }\n}\n"
  },
  {
    "path": "QLadder/Class/ViewController/About/QLDebugViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"13771\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\">\n    <device id=\"retina4_7\" orientation=\"portrait\">\n        <adaptation id=\"fullscreen\"/>\n    </device>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"13772\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\" customClass=\"QLDebugViewController\" customModule=\"QLadder\" customModuleProvider=\"target\">\n            <connections>\n                <outlet property=\"tableView\" destination=\"QKT-8T-DjJ\" id=\"cNx-EV-rxD\"/>\n                <outlet property=\"view\" destination=\"iN0-l3-epB\" id=\"EB2-A9-usR\"/>\n            </connections>\n        </placeholder>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <tableView clipsSubviews=\"YES\" contentMode=\"scaleToFill\" alwaysBounceVertical=\"YES\" style=\"plain\" separatorStyle=\"default\" rowHeight=\"-1\" estimatedRowHeight=\"-1\" sectionHeaderHeight=\"28\" sectionFooterHeight=\"28\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"QKT-8T-DjJ\">\n                    <rect key=\"frame\" x=\"0.0\" y=\"20\" width=\"375\" height=\"647\"/>\n                    <color key=\"backgroundColor\" white=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"genericGamma22GrayColorSpace\"/>\n                    <connections>\n                        <outlet property=\"dataSource\" destination=\"-1\" id=\"oQ5-99-Z2I\"/>\n                        <outlet property=\"delegate\" destination=\"-1\" id=\"iqB-wd-yev\"/>\n                    </connections>\n                </tableView>\n            </subviews>\n            <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n            <constraints>\n                <constraint firstItem=\"vUN-kp-3ea\" firstAttribute=\"trailing\" secondItem=\"QKT-8T-DjJ\" secondAttribute=\"trailing\" id=\"8yj-XN-DwG\"/>\n                <constraint firstItem=\"QKT-8T-DjJ\" firstAttribute=\"leading\" secondItem=\"vUN-kp-3ea\" secondAttribute=\"leading\" id=\"HpC-GM-G1v\"/>\n                <constraint firstItem=\"vUN-kp-3ea\" firstAttribute=\"bottom\" secondItem=\"QKT-8T-DjJ\" secondAttribute=\"bottom\" id=\"nvH-tX-0fI\"/>\n                <constraint firstItem=\"QKT-8T-DjJ\" firstAttribute=\"top\" secondItem=\"vUN-kp-3ea\" secondAttribute=\"top\" id=\"st9-y7-y9q\"/>\n            </constraints>\n            <viewLayoutGuide key=\"safeArea\" id=\"vUN-kp-3ea\"/>\n            <point key=\"canvasLocation\" x=\"34.5\" y=\"138.5\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "QLadder/Class/ViewController/About/View/QLBuddhaCell.swift",
    "content": "//\n//  QLBuddhaCell.swift\n//  QLadder\n//\n//  Created by TonyHan on 2018/3/21.\n//  Copyright © 2018年 TonyHan All rights reserved.\n//\n\nimport UIKit\nimport Kingfisher\n\nclass QLBuddhaCell: UITableViewCell {\n    \n    @IBOutlet weak var nameLabel: UILabel!\n    \n    @IBOutlet weak var videoImageView: UIImageView!\n    \n    @IBOutlet weak var durationLabel: UILabel!\n    \n    @IBOutlet weak var addTimeLabel: UILabel!\n    \n    @IBOutlet weak var userLabel: UILabel!\n    \n    public var buddha: Buddha! {\n        didSet {\n            nameLabel.text = buddha.name\n            \n            var imgUrl = QueryManager.shared.covertImageUrl\n            if !QueryManager.shared.covertMode && buddha.imgUrl != nil {\n                imgUrl = buddha.imgUrl!\n            }\n            \n            videoImageView.kf.setImage(with: URL(string: imgUrl))\n            \n            durationLabel.text = \" \\(buddha.duration ?? \"\") \"\n            addTimeLabel.text = buddha.addTime\n            userLabel.text = buddha.user\n        }\n    }\n    \n    public class func identifier() -> String {\n        return String(describing: self)\n    }\n    \n    public class func height() -> CGFloat {\n        return 110\n    }\n    \n    override func awakeFromNib() {\n        super.awakeFromNib()\n        \n        selectionStyle = .none\n        \n        nameLabel.textColor = QLColor.C0\n        nameLabel.font = UIFont.systemFont(ofSize: 17)\n        nameLabel.numberOfLines = 3\n        \n        videoImageView.contentMode = .scaleAspectFill\n        videoImageView.clipsToBounds = true\n        videoImageView.backgroundColor = UIColor.lightGray\n        \n        durationLabel.textColor = QLColor.C2\n        durationLabel.font = UIFont.systemFont(ofSize: 12)\n        durationLabel.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.8)\n        durationLabel.layer.cornerRadius = 3\n        durationLabel.layer.masksToBounds = true\n        \n        addTimeLabel.textColor = QLColor.C6\n        addTimeLabel.font = UIFont.systemFont(ofSize: 12)\n        \n        userLabel.textColor = QLColor.C6\n        userLabel.font = UIFont.systemFont(ofSize: 12)\n    }\n\n    \n}\n"
  },
  {
    "path": "QLadder/Class/ViewController/About/View/QLBuddhaCell.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"14460.31\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\">\n    <device id=\"retina4_7\" orientation=\"portrait\">\n        <adaptation id=\"fullscreen\"/>\n    </device>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"14460.20\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\"/>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <tableViewCell contentMode=\"scaleToFill\" selectionStyle=\"default\" indentationWidth=\"10\" reuseIdentifier=\"QLBuddhaCell\" rowHeight=\"113\" id=\"KGk-i7-Jjw\" userLabel=\"QLBuddhaCell\" customClass=\"QLBuddhaCell\" customModule=\"QLadder\" customModuleProvider=\"target\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"110\"/>\n            <autoresizingMask key=\"autoresizingMask\" flexibleMaxX=\"YES\" flexibleMaxY=\"YES\"/>\n            <tableViewCellContentView key=\"contentView\" opaque=\"NO\" clipsSubviews=\"YES\" multipleTouchEnabled=\"YES\" contentMode=\"center\" tableViewCell=\"KGk-i7-Jjw\" id=\"H2p-sc-9uM\">\n                <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"109.5\"/>\n                <autoresizingMask key=\"autoresizingMask\"/>\n                <subviews>\n                    <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Drunkenness on a large table\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"Nbx-bf-xaR\">\n                        <rect key=\"frame\" x=\"190\" y=\"10\" width=\"170\" height=\"20.5\"/>\n                        <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                        <nil key=\"textColor\"/>\n                        <nil key=\"highlightedColor\"/>\n                    </label>\n                    <imageView userInteractionEnabled=\"NO\" contentMode=\"scaleToFill\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"XXS-Ew-mIM\">\n                        <rect key=\"frame\" x=\"15\" y=\"10\" width=\"160\" height=\"90\"/>\n                        <constraints>\n                            <constraint firstAttribute=\"width\" constant=\"160\" id=\"BZb-7i-AbX\"/>\n                            <constraint firstAttribute=\"height\" constant=\"90\" id=\"U20-6y-JIR\"/>\n                        </constraints>\n                    </imageView>\n                    <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"15 minutes ago\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"b0T-mK-zbT\">\n                        <rect key=\"frame\" x=\"225\" y=\"40.5\" width=\"86\" height=\"14.5\"/>\n                        <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"12\"/>\n                        <nil key=\"textColor\"/>\n                        <nil key=\"highlightedColor\"/>\n                    </label>\n                    <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"Label\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"eh9-Vf-oTK\">\n                        <rect key=\"frame\" x=\"128\" y=\"74\" width=\"42\" height=\"21\"/>\n                        <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                        <nil key=\"textColor\"/>\n                        <nil key=\"highlightedColor\"/>\n                    </label>\n                    <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\"user\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"m6U-a8-lnz\">\n                        <rect key=\"frame\" x=\"190\" y=\"40.5\" width=\"25\" height=\"14.5\"/>\n                        <constraints>\n                            <constraint firstAttribute=\"width\" relation=\"lessThanOrEqual\" constant=\"80\" id=\"FCK-11-197\"/>\n                        </constraints>\n                        <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"12\"/>\n                        <nil key=\"textColor\"/>\n                        <nil key=\"highlightedColor\"/>\n                    </label>\n                </subviews>\n                <constraints>\n                    <constraint firstAttribute=\"trailing\" secondItem=\"Nbx-bf-xaR\" secondAttribute=\"trailing\" constant=\"15\" id=\"Ni2-pe-b0E\"/>\n                    <constraint firstItem=\"eh9-Vf-oTK\" firstAttribute=\"trailing\" secondItem=\"XXS-Ew-mIM\" secondAttribute=\"trailing\" constant=\"-5\" id=\"T2h-hr-VeW\"/>\n                    <constraint firstItem=\"eh9-Vf-oTK\" firstAttribute=\"bottom\" secondItem=\"XXS-Ew-mIM\" secondAttribute=\"bottom\" constant=\"-5\" id=\"UWt-XU-3yy\"/>\n                    <constraint firstItem=\"m6U-a8-lnz\" firstAttribute=\"leading\" secondItem=\"Nbx-bf-xaR\" secondAttribute=\"leading\" id=\"XhC-bF-WMO\"/>\n                    <constraint firstItem=\"Nbx-bf-xaR\" firstAttribute=\"leading\" secondItem=\"XXS-Ew-mIM\" secondAttribute=\"trailing\" constant=\"15\" id=\"cJi-rE-lCc\"/>\n                    <constraint firstItem=\"XXS-Ew-mIM\" firstAttribute=\"centerY\" secondItem=\"H2p-sc-9uM\" secondAttribute=\"centerY\" id=\"cPn-WX-I89\"/>\n                    <constraint firstItem=\"b0T-mK-zbT\" firstAttribute=\"centerY\" secondItem=\"m6U-a8-lnz\" secondAttribute=\"centerY\" id=\"csw-eO-ZXs\"/>\n                    <constraint firstItem=\"XXS-Ew-mIM\" firstAttribute=\"leading\" secondItem=\"H2p-sc-9uM\" secondAttribute=\"leading\" constant=\"15\" id=\"fgQ-eE-fto\"/>\n                    <constraint firstItem=\"b0T-mK-zbT\" firstAttribute=\"leading\" secondItem=\"m6U-a8-lnz\" secondAttribute=\"trailing\" constant=\"10\" id=\"i9G-Dt-GNI\"/>\n                    <constraint firstItem=\"Nbx-bf-xaR\" firstAttribute=\"top\" secondItem=\"XXS-Ew-mIM\" secondAttribute=\"top\" id=\"m6e-V0-Pp7\"/>\n                    <constraint firstItem=\"m6U-a8-lnz\" firstAttribute=\"top\" secondItem=\"Nbx-bf-xaR\" secondAttribute=\"bottom\" constant=\"10\" id=\"srU-hd-3Zb\"/>\n                </constraints>\n            </tableViewCellContentView>\n            <viewLayoutGuide key=\"safeArea\" id=\"njF-e1-oar\"/>\n            <connections>\n                <outlet property=\"addTimeLabel\" destination=\"b0T-mK-zbT\" id=\"HF2-OL-te1\"/>\n                <outlet property=\"durationLabel\" destination=\"eh9-Vf-oTK\" id=\"dTJ-Db-ruG\"/>\n                <outlet property=\"nameLabel\" destination=\"Nbx-bf-xaR\" id=\"43B-Iv-AkF\"/>\n                <outlet property=\"userLabel\" destination=\"m6U-a8-lnz\" id=\"j0A-ED-sIY\"/>\n                <outlet property=\"videoImageView\" destination=\"XXS-Ew-mIM\" id=\"9MW-3I-1J1\"/>\n            </connections>\n            <point key=\"canvasLocation\" x=\"33.5\" y=\"30\"/>\n        </tableViewCell>\n    </objects>\n</document>\n"
  },
  {
    "path": "QLadder/Class/ViewController/Home/QLHomeViewController.swift",
    "content": "//\n//  QLHomeViewController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2017/11/16.\n//  Copyright © 2017年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\nclass QLHomeViewController: QLBaseViewController, VpnManagerDelegate, ConfigManagerDelegate, QLNewViewControllerDelegate {\n\n    @IBOutlet weak var connectButton: UIButton!\n    \n    @IBOutlet weak var proxyConfigLabel: UILabel!\n    \n    var isStatusBarHidden:Bool = true\n    \n    var status: VpnStatus {\n        didSet {\n            updateConnectButtonText(status: status)\n        }\n    }\n    \n    required init?(coder aDecoder: NSCoder) {\n        status = .off\n        super.init(coder: aDecoder)\n    }\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        isStatusBarHidden = false\n        setNeedsStatusBarAppearanceUpdate()\n        \n        navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(newConfig))\n        navigationItem.title = \"连接\"\n        \n        ConfigManager.shared.delegate = self as ConfigManagerDelegate\n        VpnManager.shared.delegate = self as VpnManagerDelegate\n        \n        ConfigManager.shared.loadConfig()\n    }\n    \n    override func viewWillAppear(_ animated: Bool) {\n        super.viewWillAppear(animated)\n        status = VpnManager.shared.vpnStatus\n    }\n    \n    override func viewDidAppear(_ animated: Bool) {\n        super.viewDidAppear(animated)\n    }\n    \n    func updateConnectButtonText(status: VpnStatus) {\n        DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {\n            switch status {\n            case .connecting:\n                self.connectButton.setTitle(\"连接中...\", for: .normal)\n            case .disconnecting:\n                self.connectButton.setTitle(\"断开中...\", for: .normal)\n            case .on:\n                self.connectButton.setTitle(\"断开\", for: .normal)\n            case .off:\n                self.connectButton.setTitle(\"连接\", for: .normal)\n            }\n            self.connectButton.isEnabled = [VpnStatus.on, VpnStatus.off].contains(status)\n        }\n    }\n    \n    @objc private func newConfig() {\n        let newVC = QLNewViewController()\n        newVC.hidesBottomBarWhenPushed = true\n        newVC.delegate = self\n        navigationController?.pushViewController(newVC, animated: true)\n    }\n    \n    @IBAction func connect(_ sender: UIButton) {\n        if (VpnManager.shared.vpnStatus == .off) {\n            VpnManager.shared.startVPN()\n        } else {\n            VpnManager.shared.stopVPN()\n        }\n    }\n    \n    func updateConfigUI(_ proxy: Proxy?) {\n        if let proxy = proxy {\n            connectButton.isEnabled = true\n            if let host: String = proxy.host, let port: Int = proxy.port {\n                proxyConfigLabel.text = \"\\(host):\\(port)\"\n            }\n        } else {\n            connectButton.isEnabled = false\n            proxyConfigLabel.text = \"正在获取配置\"\n        }\n    }\n}\n\n// MARK: - VpnManagerDelegate\nextension QLHomeViewController {\n    func manager(_ manager: VpnManager, didChangeStatus status: VpnStatus) {\n        updateConnectButtonText(status: status)\n    }\n}\n\n// MARK: - ConfigManagerDelegate\nextension QLHomeViewController {\n    func manager(_ manager: ConfigManager, didReceivedConfig proxy: Proxy?) {\n        updateConfigUI(proxy)\n    }\n}\n\n// MARK: - StatusBar\nextension QLHomeViewController {\n    \n    override var prefersStatusBarHidden: Bool {\n        return self.isStatusBarHidden\n    }\n}\n\n// MARK: - QLNewViewControllerDelegate\nextension QLHomeViewController {\n    func newViewControllerDidAddConfig(_ controller: QLNewViewController) {\n        ConfigManager.shared.loadConfig()\n        if (VpnManager.shared.vpnStatus == .on) {\n            VpnManager.shared.stopVPN()\n        }\n    }\n}\n\n"
  },
  {
    "path": "QLadder/Class/ViewController/Home/QLNewViewController.swift",
    "content": "//\n//  QLNewViewController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2018/3/16.\n//  Copyright © 2018年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\nprotocol QLNewViewControllerDelegate: class {\n    func newViewControllerDidAddConfig(_ controller: QLNewViewController)\n}\n\nclass QLNewViewController: QLBaseViewController {\n    \n    weak var delegate: QLNewViewControllerDelegate?\n    \n    \n    @IBOutlet weak var hostTextField: UITextField!\n    \n    private var host: String = \"\"\n    \n    @IBOutlet weak var portTextField: UITextField!\n    \n    private var port: String = \"\"\n    \n    @IBOutlet weak var passwdTextField: UITextField!\n    \n    private var passwd: String = \"\"\n    \n    override func viewDidLoad() {\n        super.viewDidLoad()\n        \n        hostTextField.keyboardType = .decimalPad\n        hostTextField.returnKeyType = .next\n        \n        portTextField.keyboardType = .numberPad\n        portTextField.returnKeyType = .next\n        \n        passwdTextField.delegate = self\n        passwdTextField.keyboardType = .asciiCapable\n        passwdTextField.returnKeyType = .done\n        \n        navigationItem.title = \"新建\"\n    }\n    \n    @IBAction func addDidClick(_ sender: Any?) {\n        host = hostTextField.text ?? \"\"\n        port = portTextField.text ?? \"\"\n        passwd = passwdTextField.text ?? \"\"\n        \n        if host != \"\" && port != \"\" && passwd != \"\" {\n            ConfigManager.shared.saveConfig(host: host, port: port, passwd: passwd)\n            delegate?.newViewControllerDidAddConfig(self)\n            DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {\n                self.navigationController?.popViewController(animated: true)\n            }\n        }\n    }\n}\n\n// MARK: - UITextFieldDelegate\nextension QLNewViewController: UITextFieldDelegate {\n    func textFieldShouldReturn(_ textField: UITextField) -> Bool {\n        if textField == passwdTextField {\n            textField.resignFirstResponder()\n            addDidClick(nil)\n        }\n        return true\n    }\n}\n"
  },
  {
    "path": "QLadder/Class/ViewController/Home/QLNewViewController.xib",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVersion=\"13771\" targetRuntime=\"iOS.CocoaTouch\" propertyAccessControl=\"none\" useAutolayout=\"YES\" useTraitCollections=\"YES\" useSafeAreas=\"YES\" colorMatched=\"YES\">\n    <device id=\"retina4_7\" orientation=\"portrait\">\n        <adaptation id=\"fullscreen\"/>\n    </device>\n    <dependencies>\n        <deployment identifier=\"iOS\"/>\n        <plugIn identifier=\"com.apple.InterfaceBuilder.IBCocoaTouchPlugin\" version=\"13772\"/>\n        <capability name=\"Safe area layout guides\" minToolsVersion=\"9.0\"/>\n        <capability name=\"documents saved in the Xcode 8 format\" minToolsVersion=\"8.0\"/>\n    </dependencies>\n    <objects>\n        <placeholder placeholderIdentifier=\"IBFilesOwner\" id=\"-1\" userLabel=\"File's Owner\" customClass=\"QLNewViewController\" customModule=\"QLadder\" customModuleProvider=\"target\">\n            <connections>\n                <outlet property=\"hostTextField\" destination=\"U4W-aH-VNX\" id=\"8Nm-0o-ZUM\"/>\n                <outlet property=\"passwdTextField\" destination=\"OKd-T9-vdO\" id=\"DlS-uG-eFM\"/>\n                <outlet property=\"portTextField\" destination=\"9Ax-jE-moj\" id=\"cDT-vl-1K1\"/>\n                <outlet property=\"view\" destination=\"iN0-l3-epB\" id=\"RNH-2z-BKI\"/>\n            </connections>\n        </placeholder>\n        <placeholder placeholderIdentifier=\"IBFirstResponder\" id=\"-2\" customClass=\"UIResponder\"/>\n        <view contentMode=\"scaleToFill\" id=\"iN0-l3-epB\">\n            <rect key=\"frame\" x=\"0.0\" y=\"0.0\" width=\"375\" height=\"667\"/>\n            <autoresizingMask key=\"autoresizingMask\" widthSizable=\"YES\" heightSizable=\"YES\"/>\n            <subviews>\n                <textField opaque=\"NO\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" borderStyle=\"roundedRect\" placeholder=\"地址\" textAlignment=\"natural\" minimumFontSize=\"17\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"U4W-aH-VNX\">\n                    <rect key=\"frame\" x=\"30\" y=\"120\" width=\"165\" height=\"30\"/>\n                    <nil key=\"textColor\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"14\"/>\n                    <textInputTraits key=\"textInputTraits\" returnKeyType=\"next\" enablesReturnKeyAutomatically=\"YES\" textContentType=\"username\"/>\n                </textField>\n                <textField opaque=\"NO\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" borderStyle=\"roundedRect\" placeholder=\"端口\" textAlignment=\"natural\" minimumFontSize=\"17\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"9Ax-jE-moj\">\n                    <rect key=\"frame\" x=\"245\" y=\"120\" width=\"100\" height=\"30\"/>\n                    <constraints>\n                        <constraint firstAttribute=\"width\" constant=\"100\" id=\"VJM-T0-pgE\"/>\n                    </constraints>\n                    <nil key=\"textColor\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"14\"/>\n                    <textInputTraits key=\"textInputTraits\"/>\n                </textField>\n                <textField opaque=\"NO\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"left\" contentVerticalAlignment=\"center\" borderStyle=\"roundedRect\" placeholder=\"密码\" textAlignment=\"natural\" minimumFontSize=\"17\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"OKd-T9-vdO\">\n                    <rect key=\"frame\" x=\"30\" y=\"180\" width=\"315\" height=\"30\"/>\n                    <nil key=\"textColor\"/>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"14\"/>\n                    <textInputTraits key=\"textInputTraits\" autocorrectionType=\"no\"/>\n                </textField>\n                <label opaque=\"NO\" userInteractionEnabled=\"NO\" contentMode=\"left\" horizontalHuggingPriority=\"251\" verticalHuggingPriority=\"251\" text=\":\" textAlignment=\"natural\" lineBreakMode=\"tailTruncation\" baselineAdjustment=\"alignBaselines\" adjustsFontSizeToFit=\"NO\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"irU-hV-o6i\">\n                    <rect key=\"frame\" x=\"215\" y=\"120\" width=\"10\" height=\"30\"/>\n                    <constraints>\n                        <constraint firstAttribute=\"width\" constant=\"10\" id=\"aCM-E5-Wi2\"/>\n                    </constraints>\n                    <fontDescription key=\"fontDescription\" type=\"system\" pointSize=\"17\"/>\n                    <nil key=\"textColor\"/>\n                    <nil key=\"highlightedColor\"/>\n                </label>\n                <button opaque=\"NO\" contentMode=\"scaleToFill\" contentHorizontalAlignment=\"center\" contentVerticalAlignment=\"center\" buttonType=\"roundedRect\" lineBreakMode=\"middleTruncation\" translatesAutoresizingMaskIntoConstraints=\"NO\" id=\"YvF-hm-vYI\">\n                    <rect key=\"frame\" x=\"172\" y=\"240\" width=\"31\" height=\"30\"/>\n                    <state key=\"normal\" title=\"添加\"/>\n                    <connections>\n                        <action selector=\"addDidClick:\" destination=\"-1\" eventType=\"touchUpInside\" id=\"ngH-Gd-7z9\"/>\n                    </connections>\n                </button>\n            </subviews>\n            <color key=\"backgroundColor\" red=\"1\" green=\"1\" blue=\"1\" alpha=\"1\" colorSpace=\"custom\" customColorSpace=\"sRGB\"/>\n            <constraints>\n                <constraint firstItem=\"irU-hV-o6i\" firstAttribute=\"top\" secondItem=\"U4W-aH-VNX\" secondAttribute=\"top\" id=\"1lW-6i-UV6\"/>\n                <constraint firstItem=\"irU-hV-o6i\" firstAttribute=\"bottom\" secondItem=\"U4W-aH-VNX\" secondAttribute=\"bottom\" id=\"34F-Tg-0mW\"/>\n                <constraint firstItem=\"OKd-T9-vdO\" firstAttribute=\"top\" secondItem=\"U4W-aH-VNX\" secondAttribute=\"bottom\" constant=\"30\" id=\"EIr-tT-wpM\"/>\n                <constraint firstItem=\"irU-hV-o6i\" firstAttribute=\"leading\" secondItem=\"U4W-aH-VNX\" secondAttribute=\"trailing\" constant=\"20\" id=\"F9F-DW-eTE\"/>\n                <constraint firstItem=\"U4W-aH-VNX\" firstAttribute=\"top\" secondItem=\"vUN-kp-3ea\" secondAttribute=\"top\" constant=\"100\" id=\"LoY-EC-0mX\"/>\n                <constraint firstItem=\"OKd-T9-vdO\" firstAttribute=\"leading\" secondItem=\"U4W-aH-VNX\" secondAttribute=\"leading\" id=\"QTW-SQ-Fu8\"/>\n                <constraint firstItem=\"OKd-T9-vdO\" firstAttribute=\"trailing\" secondItem=\"9Ax-jE-moj\" secondAttribute=\"trailing\" id=\"R0s-xI-1m3\"/>\n                <constraint firstItem=\"vUN-kp-3ea\" firstAttribute=\"trailing\" secondItem=\"9Ax-jE-moj\" secondAttribute=\"trailing\" constant=\"30\" id=\"eNy-DH-6Am\"/>\n                <constraint firstItem=\"YvF-hm-vYI\" firstAttribute=\"top\" secondItem=\"OKd-T9-vdO\" secondAttribute=\"bottom\" constant=\"30\" id=\"fZl-2f-i2e\"/>\n                <constraint firstItem=\"9Ax-jE-moj\" firstAttribute=\"leading\" secondItem=\"irU-hV-o6i\" secondAttribute=\"trailing\" constant=\"20\" id=\"mE5-be-LRN\"/>\n                <constraint firstItem=\"9Ax-jE-moj\" firstAttribute=\"centerY\" secondItem=\"U4W-aH-VNX\" secondAttribute=\"centerY\" id=\"o3O-vJ-IoZ\"/>\n                <constraint firstItem=\"YvF-hm-vYI\" firstAttribute=\"centerX\" secondItem=\"OKd-T9-vdO\" secondAttribute=\"centerX\" id=\"uQN-Bg-4wr\"/>\n                <constraint firstItem=\"U4W-aH-VNX\" firstAttribute=\"leading\" secondItem=\"vUN-kp-3ea\" secondAttribute=\"leading\" constant=\"30\" id=\"xjS-gp-WjO\"/>\n            </constraints>\n            <viewLayoutGuide key=\"safeArea\" id=\"vUN-kp-3ea\"/>\n            <point key=\"canvasLocation\" x=\"34.5\" y=\"54.5\"/>\n        </view>\n    </objects>\n</document>\n"
  },
  {
    "path": "QLadder/Class/ViewController/Me/QLMeViewController.swift",
    "content": "//\n//  QLMeViewController.swift\n//  QLadder\n//\n//  Created by TonyHan on 2018/3/19.\n//  Copyright © 2018年 TonyHan All rights reserved.\n//\n\nimport UIKit\n\nclass QLMeViewController: QLBaseViewController {\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n\n        navigationItem.title = \"我的\"\n    }\n\n}\n"
  },
  {
    "path": "QLadder/Info.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>CFBundleDevelopmentRegion</key>\n\t<string>$(DEVELOPMENT_LANGUAGE)</string>\n\t<key>CFBundleDisplayName</key>\n\t<string>千梯</string>\n\t<key>CFBundleExecutable</key>\n\t<string>$(EXECUTABLE_NAME)</string>\n\t<key>CFBundleIdentifier</key>\n\t<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\n\t<key>CFBundleInfoDictionaryVersion</key>\n\t<string>6.0</string>\n\t<key>CFBundleName</key>\n\t<string>$(PRODUCT_NAME)</string>\n\t<key>CFBundlePackageType</key>\n\t<string>APPL</string>\n\t<key>CFBundleShortVersionString</key>\n\t<string>1.6.2</string>\n\t<key>CFBundleVersion</key>\n\t<string>1</string>\n\t<key>LSRequiresIPhoneOS</key>\n\t<true/>\n\t<key>NSAppTransportSecurity</key>\n\t<dict>\n\t\t<key>NSAllowsArbitraryLoads</key>\n\t\t<true/>\n\t</dict>\n\t<key>UILaunchStoryboardName</key>\n\t<string>LaunchScreen</string>\n\t<key>UIMainStoryboardFile</key>\n\t<string>Main</string>\n\t<key>UIRequiredDeviceCapabilities</key>\n\t<array>\n\t\t<string>armv7</string>\n\t</array>\n\t<key>UIStatusBarHidden</key>\n\t<true/>\n\t<key>UISupportedInterfaceOrientations</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t</array>\n\t<key>UISupportedInterfaceOrientations~ipad</key>\n\t<array>\n\t\t<string>UIInterfaceOrientationPortrait</string>\n\t\t<string>UIInterfaceOrientationPortraitUpsideDown</string>\n\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "QLadder/QLadder.entitlements",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>com.apple.developer.networking.networkextension</key>\n\t<array>\n\t\t<string>app-proxy-provider</string>\n\t\t<string>content-filter-provider</string>\n\t\t<string>packet-tunnel-provider</string>\n\t</array>\n\t<key>com.apple.developer.networking.vpn.api</key>\n\t<array>\n\t\t<string>allow-vpn</string>\n\t</array>\n\t<key>com.apple.security.application-groups</key>\n\t<array>\n\t\t<string>group.com.qding.ladder</string>\n\t</array>\n</dict>\n</plist>\n"
  },
  {
    "path": "QLadder/Resource/NEKitRule.conf",
    "content": "rule:\n  #这些域名直连\n  - type: domainlist\n    adapter: direct\n    criteria:\n      - s,apple.com\n      - s,icloud.com\n      - s,itunes.com\n      - s,crashlytics.com\n      - s,mzstatic.com\n      - s,localhost\n      - s,.cn\n  #这些域名走代理，防止IP污染\n  - type: domainlist\n    adapter: proxyAdapter\n    criteria:\n      - k,instagram\n      - k,cdninstagram\n      - k,twitter\n      - k,twimg\n      - k,facebook\n      - k,fbcdn\n      - k,google\n      - s,gstatic.com\n  #内网IP不走代理\n  - type: iplist\n    adapter: direct\n    criteria:\n      - 127.0.0.0/8\n      - 192.168.0.0/16\n      - 10.0.0.0/8\n      - 224.0.0.0/8\n      - 169.254.0.0/16\n  #污染IP走代理\n  - type: iplist\n    adapter: proxyAdapter\n    criteria:\n      - 4.36.66.178/32\n      - 8.7.198.45/32\n      - 23.89.5.60/32\n      - 37.61.54.158/32\n      - 46.82.174.68/32\n      - 49.2.123.56/32\n      - 54.76.135.1/32\n      - 59.24.3.173/32\n      - 64.33.88.161/32\n      - 64.33.99.47/32\n      - 64.66.163.251/32\n      - 65.104.202.252/32\n      - 65.160.219.113/32\n      - 66.45.252.237/32\n      - 72.14.205.99/32\n      - 72.14.205.104/32\n      - 77.4.7.92/32\n      - 78.16.49.15/32\n      - 93.46.8.89/32\n      - 118.5.49.6/32\n      - 128.121.126.139/32\n      - 159.106.121.75/32\n      - 169.132.13.103/32\n      - 188.5.4.96/32\n      - 189.163.17.5/32\n      - 192.67.198.6/32\n      - 197.4.4.12/32\n      - 202.106.1.2/32\n      - 202.181.7.85/32\n      - 203.98.7.65/32\n      - 203.161.230.171/32\n      - 207.12.88.98/32\n      - 208.56.31.43/32\n      - 209.36.73.33/32\n      - 209.145.54.50/32\n      - 209.220.30.174/32\n      - 211.94.66.147/32\n      - 213.169.251.35/32\n      - 216.221.188.182/32\n      - 216.234.179.13/32\n      - 243.185.187.39/32\n      - 249.129.46.48/32\n      - 253.157.14.165/32\n      - 74.125.31.113/32\n      - 74.125.39.102/32\n      - 74.125.39.113/32\n      - 74.125.127.102/32\n      - 74.125.130.47/32\n      - 74.125.155.102/32\n      - 209.85.229.138/32\n      - 210.242.125.20/32\n      - 2.1.1.2/32\n      - 4.193.80.0/32\n      - 8.105.84.0/32\n      - 12.87.133.0/32\n      - 16.63.155.0/32\n      - 20.139.56.0/32\n      - 24.51.184.0/32\n      - 28.121.126.139/32\n      - 28.13.216.0/32\n      - 46.20.126.252/32\n      - 46.38.24.209/32\n      - 61.54.28.6/32\n      - 66.206.11.194/32\n      - 74.117.57.138/32\n      - 89.31.55.106/32\n      - 113.11.194.190/32\n      - 118.5.49.6/32\n      - 122.218.101.190/32\n      - 123.50.49.171/32\n      - 123.126.249.238/32\n      - 125.230.148.48/32\n      - 173.201.216.6/32\n      - 203.199.57.81/32\n      - 208.109.138.55/32\n      - 211.5.133.18/32\n      - 211.8.69.27/32\n      - 213.186.33.5/32\n      - 216.139.213.144/32\n      - 221.8.69.27/32\n      - 243.185.187.3/32\n      - 243.185.187.30/32\n"
  },
  {
    "path": "QLadder.xcodeproj/project.pbxproj",
    "content": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 48;\n\tobjects = {\n\n/* Begin PBXBuildFile section */\n\t\t0116629339E64F2C3974AB90 /* Pods_QLadder.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F95177D1B41FAEF4A74163C7 /* Pods_QLadder.framework */; };\n\t\t1BB905E40E906E2AF0240D57 /* Pods_PacketTunnel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F94862F15FCEBB7D7F3DD0D6 /* Pods_PacketTunnel.framework */; };\n\t\tD80F5B19205FBF7400251694 /* QueryManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80F5B18205FBF7400251694 /* QueryManager.swift */; };\n\t\tD80F5B1B205FBFB700251694 /* Buddha.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80F5B1A205FBFB700251694 /* Buddha.swift */; };\n\t\tD859A39F205BA3B800B089FC /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = D859A39E205BA3B800B089FC /* Proxy.swift */; };\n\t\tD8866B831FBC396F002E406C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D8866B811FBC396F002E406C /* Main.storyboard */; };\n\t\tD8866B851FBC396F002E406C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D8866B841FBC396F002E406C /* Assets.xcassets */; };\n\t\tD8866B881FBC396F002E406C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D8866B861FBC396F002E406C /* LaunchScreen.storyboard */; };\n\t\tD8866BB21FBC39D9002E406C /* PacketTunnelProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8866BB11FBC39D9002E406C /* PacketTunnelProvider.swift */; };\n\t\tD8866BB71FBC39D9002E406C /* PacketTunnel.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = D8866BAF1FBC39D8002E406C /* PacketTunnel.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };\n\t\tD8866BBF1FBC3C7D002E406C /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BBE1FBC3C7D002E406C /* NetworkExtension.framework */; };\n\t\tD8866BC01FBC3CAF002E406C /* NetworkExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BBE1FBC3C7D002E406C /* NetworkExtension.framework */; };\n\t\tD8866BCB1FBD7450002E406C /* Yaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC21FBD7450002E406C /* Yaml.framework */; };\n\t\tD8866BCC1FBD7450002E406C /* CocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC31FBD7450002E406C /* CocoaAsyncSocket.framework */; };\n\t\tD8866BCD1FBD7450002E406C /* CocoaLumberjackSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC41FBD7450002E406C /* CocoaLumberjackSwift.framework */; };\n\t\tD8866BCE1FBD7450002E406C /* NEKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC51FBD7450002E406C /* NEKit.framework */; };\n\t\tD8866BCF1FBD7450002E406C /* tun2socks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC61FBD7450002E406C /* tun2socks.framework */; };\n\t\tD8866BD01FBD7450002E406C /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC71FBD7450002E406C /* CocoaLumberjack.framework */; };\n\t\tD8866BD11FBD7450002E406C /* lwip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC81FBD7450002E406C /* lwip.framework */; };\n\t\tD8866BD21FBD7450002E406C /* Resolver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC91FBD7450002E406C /* Resolver.framework */; };\n\t\tD8866BD31FBD7450002E406C /* Sodium.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BCA1FBD7450002E406C /* Sodium.framework */; };\n\t\tD8866BD41FBD7456002E406C /* CocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC31FBD7450002E406C /* CocoaAsyncSocket.framework */; };\n\t\tD8866BD51FBD7456002E406C /* CocoaLumberjack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC71FBD7450002E406C /* CocoaLumberjack.framework */; };\n\t\tD8866BD61FBD7456002E406C /* CocoaLumberjackSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC41FBD7450002E406C /* CocoaLumberjackSwift.framework */; };\n\t\tD8866BD71FBD7456002E406C /* lwip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC81FBD7450002E406C /* lwip.framework */; };\n\t\tD8866BD81FBD7456002E406C /* NEKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC51FBD7450002E406C /* NEKit.framework */; };\n\t\tD8866BD91FBD7456002E406C /* Resolver.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC91FBD7450002E406C /* Resolver.framework */; };\n\t\tD8866BDA1FBD7456002E406C /* Sodium.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BCA1FBD7450002E406C /* Sodium.framework */; };\n\t\tD8866BDB1FBD7456002E406C /* tun2socks.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC61FBD7450002E406C /* tun2socks.framework */; };\n\t\tD8866BDC1FBD7456002E406C /* Yaml.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BC21FBD7450002E406C /* Yaml.framework */; };\n\t\tD8866BDE1FBD7457002E406C /* MMDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8866BDD1FBD7457002E406C /* MMDB.framework */; };\n\t\tD8866BE61FBD7844002E406C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8866BE01FBD7844002E406C /* AppDelegate.swift */; };\n\t\tD8866BF21FBD8001002E406C /* QLColorDefine.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8866BF11FBD8000002E406C /* QLColorDefine.swift */; };\n\t\tD8866BF41FBD8053002E406C /* QLBaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8866BF31FBD8053002E406C /* QLBaseViewController.swift */; };\n\t\tD8866C001FBD8552002E406C /* QLNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8866BFF1FBD8552002E406C /* QLNavigationController.swift */; };\n\t\tD8866C021FBD856A002E406C /* QLTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8866C011FBD856A002E406C /* QLTabBarController.swift */; };\n\t\tD89A2A5920633E140000D6A0 /* QLBuddhaViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89A2A5720633E140000D6A0 /* QLBuddhaViewController.swift */; };\n\t\tD89A2A5A20633E140000D6A0 /* QLBuddhaViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D89A2A5820633E140000D6A0 /* QLBuddhaViewController.xib */; };\n\t\tD89A2A5F20636A710000D6A0 /* QLBuddhaListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89A2A5D20636A700000D6A0 /* QLBuddhaListViewController.swift */; };\n\t\tD89A2A6020636A710000D6A0 /* QLBuddhaListViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D89A2A5E20636A700000D6A0 /* QLBuddhaListViewController.xib */; };\n\t\tD8D45F0920624CA400DEEF1D /* QLHomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D45EFF20624CA400DEEF1D /* QLHomeViewController.swift */; };\n\t\tD8D45F0A20624CA400DEEF1D /* QLNewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D45F0020624CA400DEEF1D /* QLNewViewController.swift */; };\n\t\tD8D45F0B20624CA400DEEF1D /* QLNewViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8D45F0120624CA400DEEF1D /* QLNewViewController.xib */; };\n\t\tD8D45F0C20624CA400DEEF1D /* QLDebugViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8D45F0320624CA400DEEF1D /* QLDebugViewController.xib */; };\n\t\tD8D45F0D20624CA400DEEF1D /* QLAboutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D45F0420624CA400DEEF1D /* QLAboutViewController.swift */; };\n\t\tD8D45F0E20624CA400DEEF1D /* QLDebugViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D45F0620624CA400DEEF1D /* QLDebugViewController.swift */; };\n\t\tD8D45F0F20624CA400DEEF1D /* QLMeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D45F0820624CA400DEEF1D /* QLMeViewController.swift */; };\n\t\tD8D45F1220624CC500DEEF1D /* QLBuddhaCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D45F1020624CC500DEEF1D /* QLBuddhaCell.swift */; };\n\t\tD8D45F1320624CC500DEEF1D /* QLBuddhaCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8D45F1120624CC500DEEF1D /* QLBuddhaCell.xib */; };\n\t\tD8EBED2C1FC2C84300477A97 /* VPNManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EBED2B1FC2C84300477A97 /* VPNManager.swift */; };\n\t\tD8EBED321FC3D09600477A97 /* NEKitRule.conf in Resources */ = {isa = PBXBuildFile; fileRef = D8EBED311FC3D09600477A97 /* NEKitRule.conf */; };\n\t\tD8EBED351FC4055000477A97 /* AppConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EBED341FC4055000477A97 /* AppConfig.swift */; };\n\t\tD8FF912F1FC6CCD400AFA494 /* ConfigManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FF912E1FC6CCD400AFA494 /* ConfigManager.swift */; };\n\t\tD8FF91391FCD0BF900AFA494 /* UIView+Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FF91381FCD0BF800AFA494 /* UIView+Color.swift */; };\n/* End PBXBuildFile section */\n\n/* Begin PBXContainerItemProxy section */\n\t\tD8866BB51FBC39D9002E406C /* PBXContainerItemProxy */ = {\n\t\t\tisa = PBXContainerItemProxy;\n\t\t\tcontainerPortal = D8866B721FBC396F002E406C /* Project object */;\n\t\t\tproxyType = 1;\n\t\t\tremoteGlobalIDString = D8866BAE1FBC39D8002E406C;\n\t\t\tremoteInfo = PacketTunnel;\n\t\t};\n/* End PBXContainerItemProxy section */\n\n/* Begin PBXCopyFilesBuildPhase section */\n\t\tD8866BBB1FBC39D9002E406C /* Embed App Extensions */ = {\n\t\t\tisa = PBXCopyFilesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tdstPath = \"\";\n\t\t\tdstSubfolderSpec = 13;\n\t\t\tfiles = (\n\t\t\t\tD8866BB71FBC39D9002E406C /* PacketTunnel.appex in Embed App Extensions */,\n\t\t\t);\n\t\t\tname = \"Embed App Extensions\";\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXCopyFilesBuildPhase section */\n\n/* Begin PBXFileReference section */\n\t\t072D594BED902B2FA183883C /* Pods-QLadder.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-QLadder.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-QLadder/Pods-QLadder.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t2592B8F9266210F74A9B00D1 /* Pods_QLadderUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_QLadderUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\t6FBBC7B7C96FF6CD3C1F2E01 /* Pods-PacketTunnel.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-PacketTunnel.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-PacketTunnel/Pods-PacketTunnel.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\t87C7EF1E372693D4B4D12141 /* Pods-QLadder.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-QLadder.release.xcconfig\"; path = \"Pods/Target Support Files/Pods-QLadder/Pods-QLadder.release.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tA773E43AB7F368E6A353D9F7 /* Pods_QLadderTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_QLadderTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tBEA8410ADD1CCB5860EDF120 /* Pods-PacketTunnel.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = \"Pods-PacketTunnel.debug.xcconfig\"; path = \"Pods/Target Support Files/Pods-PacketTunnel/Pods-PacketTunnel.debug.xcconfig\"; sourceTree = \"<group>\"; };\n\t\tD80F5B18205FBF7400251694 /* QueryManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QueryManager.swift; sourceTree = \"<group>\"; };\n\t\tD80F5B1A205FBFB700251694 /* Buddha.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Buddha.swift; sourceTree = \"<group>\"; };\n\t\tD859A39E205BA3B800B089FC /* Proxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Proxy.swift; sourceTree = \"<group>\"; };\n\t\tD8866B7A1FBC396F002E406C /* QLadder.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = QLadder.app; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD8866B821FBC396F002E406C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = \"<group>\"; };\n\t\tD8866B841FBC396F002E406C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = \"<group>\"; };\n\t\tD8866B871FBC396F002E406C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = \"<group>\"; };\n\t\tD8866B891FBC396F002E406C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tD8866BAF1FBC39D8002E406C /* PacketTunnel.appex */ = {isa = PBXFileReference; explicitFileType = \"wrapper.app-extension\"; includeInIndex = 0; path = PacketTunnel.appex; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tD8866BB11FBC39D9002E406C /* PacketTunnelProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PacketTunnelProvider.swift; sourceTree = \"<group>\"; };\n\t\tD8866BB31FBC39D9002E406C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = \"<group>\"; };\n\t\tD8866BB41FBC39D9002E406C /* PacketTunnel.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = PacketTunnel.entitlements; sourceTree = \"<group>\"; };\n\t\tD8866BBC1FBC3A25002E406C /* QLadder.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = QLadder.entitlements; sourceTree = \"<group>\"; };\n\t\tD8866BBE1FBC3C7D002E406C /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; };\n\t\tD8866BC21FBD7450002E406C /* Yaml.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Yaml.framework; path = Carthage/Build/iOS/Yaml.framework; sourceTree = \"<group>\"; };\n\t\tD8866BC31FBD7450002E406C /* CocoaAsyncSocket.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CocoaAsyncSocket.framework; path = Carthage/Build/iOS/CocoaAsyncSocket.framework; sourceTree = \"<group>\"; };\n\t\tD8866BC41FBD7450002E406C /* CocoaLumberjackSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CocoaLumberjackSwift.framework; path = Carthage/Build/iOS/CocoaLumberjackSwift.framework; sourceTree = \"<group>\"; };\n\t\tD8866BC51FBD7450002E406C /* NEKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NEKit.framework; path = Carthage/Build/iOS/NEKit.framework; sourceTree = \"<group>\"; };\n\t\tD8866BC61FBD7450002E406C /* tun2socks.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = tun2socks.framework; path = Carthage/Build/iOS/tun2socks.framework; sourceTree = \"<group>\"; };\n\t\tD8866BC71FBD7450002E406C /* CocoaLumberjack.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CocoaLumberjack.framework; path = Carthage/Build/iOS/CocoaLumberjack.framework; sourceTree = \"<group>\"; };\n\t\tD8866BC81FBD7450002E406C /* lwip.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = lwip.framework; path = Carthage/Build/iOS/lwip.framework; sourceTree = \"<group>\"; };\n\t\tD8866BC91FBD7450002E406C /* Resolver.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Resolver.framework; path = Carthage/Build/iOS/Resolver.framework; sourceTree = \"<group>\"; };\n\t\tD8866BCA1FBD7450002E406C /* Sodium.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sodium.framework; path = Carthage/Build/iOS/Sodium.framework; sourceTree = \"<group>\"; };\n\t\tD8866BDD1FBD7457002E406C /* MMDB.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MMDB.framework; path = Carthage/Build/iOS/MMDB.framework; sourceTree = \"<group>\"; };\n\t\tD8866BE01FBD7844002E406C /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = \"<group>\"; };\n\t\tD8866BF11FBD8000002E406C /* QLColorDefine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QLColorDefine.swift; sourceTree = \"<group>\"; };\n\t\tD8866BF31FBD8053002E406C /* QLBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QLBaseViewController.swift; sourceTree = \"<group>\"; };\n\t\tD8866BFF1FBD8552002E406C /* QLNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QLNavigationController.swift; sourceTree = \"<group>\"; };\n\t\tD8866C011FBD856A002E406C /* QLTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QLTabBarController.swift; sourceTree = \"<group>\"; };\n\t\tD89A2A5720633E140000D6A0 /* QLBuddhaViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QLBuddhaViewController.swift; sourceTree = \"<group>\"; };\n\t\tD89A2A5820633E140000D6A0 /* QLBuddhaViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = QLBuddhaViewController.xib; sourceTree = \"<group>\"; };\n\t\tD89A2A5D20636A700000D6A0 /* QLBuddhaListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QLBuddhaListViewController.swift; sourceTree = \"<group>\"; };\n\t\tD89A2A5E20636A700000D6A0 /* QLBuddhaListViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = QLBuddhaListViewController.xib; sourceTree = \"<group>\"; };\n\t\tD8D45EFF20624CA400DEEF1D /* QLHomeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QLHomeViewController.swift; sourceTree = \"<group>\"; };\n\t\tD8D45F0020624CA400DEEF1D /* QLNewViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QLNewViewController.swift; sourceTree = \"<group>\"; };\n\t\tD8D45F0120624CA400DEEF1D /* QLNewViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = QLNewViewController.xib; sourceTree = \"<group>\"; };\n\t\tD8D45F0320624CA400DEEF1D /* QLDebugViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = QLDebugViewController.xib; sourceTree = \"<group>\"; };\n\t\tD8D45F0420624CA400DEEF1D /* QLAboutViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QLAboutViewController.swift; sourceTree = \"<group>\"; };\n\t\tD8D45F0620624CA400DEEF1D /* QLDebugViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QLDebugViewController.swift; sourceTree = \"<group>\"; };\n\t\tD8D45F0820624CA400DEEF1D /* QLMeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QLMeViewController.swift; sourceTree = \"<group>\"; };\n\t\tD8D45F1020624CC500DEEF1D /* QLBuddhaCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QLBuddhaCell.swift; sourceTree = \"<group>\"; };\n\t\tD8D45F1120624CC500DEEF1D /* QLBuddhaCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = QLBuddhaCell.xib; sourceTree = \"<group>\"; };\n\t\tD8EBED2B1FC2C84300477A97 /* VPNManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VPNManager.swift; sourceTree = \"<group>\"; };\n\t\tD8EBED311FC3D09600477A97 /* NEKitRule.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NEKitRule.conf; sourceTree = \"<group>\"; };\n\t\tD8EBED341FC4055000477A97 /* AppConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppConfig.swift; sourceTree = \"<group>\"; };\n\t\tD8FF912E1FC6CCD400AFA494 /* ConfigManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigManager.swift; sourceTree = \"<group>\"; };\n\t\tD8FF91381FCD0BF800AFA494 /* UIView+Color.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = \"UIView+Color.swift\"; sourceTree = \"<group>\"; };\n\t\tF94862F15FCEBB7D7F3DD0D6 /* Pods_PacketTunnel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PacketTunnel.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n\t\tF95177D1B41FAEF4A74163C7 /* Pods_QLadder.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_QLadder.framework; sourceTree = BUILT_PRODUCTS_DIR; };\n/* End PBXFileReference section */\n\n/* Begin PBXFrameworksBuildPhase section */\n\t\tD8866B771FBC396F002E406C /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD8866BBF1FBC3C7D002E406C /* NetworkExtension.framework in Frameworks */,\n\t\t\t\tD8866BCB1FBD7450002E406C /* Yaml.framework in Frameworks */,\n\t\t\t\tD8866BCC1FBD7450002E406C /* CocoaAsyncSocket.framework in Frameworks */,\n\t\t\t\tD8866BCD1FBD7450002E406C /* CocoaLumberjackSwift.framework in Frameworks */,\n\t\t\t\tD8866BCE1FBD7450002E406C /* NEKit.framework in Frameworks */,\n\t\t\t\tD8866BCF1FBD7450002E406C /* tun2socks.framework in Frameworks */,\n\t\t\t\tD8866BD01FBD7450002E406C /* CocoaLumberjack.framework in Frameworks */,\n\t\t\t\tD8866BD11FBD7450002E406C /* lwip.framework in Frameworks */,\n\t\t\t\tD8866BD21FBD7450002E406C /* Resolver.framework in Frameworks */,\n\t\t\t\tD8866BD31FBD7450002E406C /* Sodium.framework in Frameworks */,\n\t\t\t\t0116629339E64F2C3974AB90 /* Pods_QLadder.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD8866BAC1FBC39D8002E406C /* Frameworks */ = {\n\t\t\tisa = PBXFrameworksBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD8866BC01FBC3CAF002E406C /* NetworkExtension.framework in Frameworks */,\n\t\t\t\tD8866BDE1FBD7457002E406C /* MMDB.framework in Frameworks */,\n\t\t\t\tD8866BD41FBD7456002E406C /* CocoaAsyncSocket.framework in Frameworks */,\n\t\t\t\tD8866BD51FBD7456002E406C /* CocoaLumberjack.framework in Frameworks */,\n\t\t\t\tD8866BD61FBD7456002E406C /* CocoaLumberjackSwift.framework in Frameworks */,\n\t\t\t\tD8866BD71FBD7456002E406C /* lwip.framework in Frameworks */,\n\t\t\t\tD8866BD81FBD7456002E406C /* NEKit.framework in Frameworks */,\n\t\t\t\tD8866BD91FBD7456002E406C /* Resolver.framework in Frameworks */,\n\t\t\t\tD8866BDA1FBD7456002E406C /* Sodium.framework in Frameworks */,\n\t\t\t\tD8866BDB1FBD7456002E406C /* tun2socks.framework in Frameworks */,\n\t\t\t\tD8866BDC1FBD7456002E406C /* Yaml.framework in Frameworks */,\n\t\t\t\t1BB905E40E906E2AF0240D57 /* Pods_PacketTunnel.framework in Frameworks */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXFrameworksBuildPhase section */\n\n/* Begin PBXGroup section */\n\t\t44CC8C8D996DB7C4CB8E4575 /* Pods */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tBEA8410ADD1CCB5860EDF120 /* Pods-PacketTunnel.debug.xcconfig */,\n\t\t\t\t6FBBC7B7C96FF6CD3C1F2E01 /* Pods-PacketTunnel.release.xcconfig */,\n\t\t\t\t072D594BED902B2FA183883C /* Pods-QLadder.debug.xcconfig */,\n\t\t\t\t87C7EF1E372693D4B4D12141 /* Pods-QLadder.release.xcconfig */,\n\t\t\t);\n\t\t\tname = Pods;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD859A39D205BA3B800B089FC /* Model */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD859A39E205BA3B800B089FC /* Proxy.swift */,\n\t\t\t\tD80F5B1A205FBFB700251694 /* Buddha.swift */,\n\t\t\t);\n\t\t\tpath = Model;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866B711FBC396F002E406C = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866B7C1FBC396F002E406C /* QLadder */,\n\t\t\t\tD8866BB01FBC39D9002E406C /* PacketTunnel */,\n\t\t\t\tD8866B7B1FBC396F002E406C /* Products */,\n\t\t\t\tD8866BBD1FBC3C7D002E406C /* Frameworks */,\n\t\t\t\t44CC8C8D996DB7C4CB8E4575 /* Pods */,\n\t\t\t);\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866B7B1FBC396F002E406C /* Products */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866B7A1FBC396F002E406C /* QLadder.app */,\n\t\t\t\tD8866BAF1FBC39D8002E406C /* PacketTunnel.appex */,\n\t\t\t);\n\t\t\tname = Products;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866B7C1FBC396F002E406C /* QLadder */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8EBED301FC3D09600477A97 /* Resource */,\n\t\t\t\tD8866BDF1FBD7844002E406C /* Class */,\n\t\t\t\tD8866BBC1FBC3A25002E406C /* QLadder.entitlements */,\n\t\t\t\tD8866B811FBC396F002E406C /* Main.storyboard */,\n\t\t\t\tD8866B841FBC396F002E406C /* Assets.xcassets */,\n\t\t\t\tD8866B861FBC396F002E406C /* LaunchScreen.storyboard */,\n\t\t\t\tD8866B891FBC396F002E406C /* Info.plist */,\n\t\t\t);\n\t\t\tpath = QLadder;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866BB01FBC39D9002E406C /* PacketTunnel */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866BB11FBC39D9002E406C /* PacketTunnelProvider.swift */,\n\t\t\t\tD8866BB31FBC39D9002E406C /* Info.plist */,\n\t\t\t\tD8866BB41FBC39D9002E406C /* PacketTunnel.entitlements */,\n\t\t\t);\n\t\t\tpath = PacketTunnel;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866BBD1FBC3C7D002E406C /* Frameworks */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866BDD1FBD7457002E406C /* MMDB.framework */,\n\t\t\t\tD8866BC31FBD7450002E406C /* CocoaAsyncSocket.framework */,\n\t\t\t\tD8866BC71FBD7450002E406C /* CocoaLumberjack.framework */,\n\t\t\t\tD8866BC41FBD7450002E406C /* CocoaLumberjackSwift.framework */,\n\t\t\t\tD8866BC81FBD7450002E406C /* lwip.framework */,\n\t\t\t\tD8866BC51FBD7450002E406C /* NEKit.framework */,\n\t\t\t\tD8866BC91FBD7450002E406C /* Resolver.framework */,\n\t\t\t\tD8866BCA1FBD7450002E406C /* Sodium.framework */,\n\t\t\t\tD8866BC61FBD7450002E406C /* tun2socks.framework */,\n\t\t\t\tD8866BC21FBD7450002E406C /* Yaml.framework */,\n\t\t\t\tD8866BBE1FBC3C7D002E406C /* NetworkExtension.framework */,\n\t\t\t\tF94862F15FCEBB7D7F3DD0D6 /* Pods_PacketTunnel.framework */,\n\t\t\t\tF95177D1B41FAEF4A74163C7 /* Pods_QLadder.framework */,\n\t\t\t\tA773E43AB7F368E6A353D9F7 /* Pods_QLadderTests.framework */,\n\t\t\t\t2592B8F9266210F74A9B00D1 /* Pods_QLadderUITests.framework */,\n\t\t\t);\n\t\t\tname = Frameworks;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866BDF1FBD7844002E406C /* Class */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866BE01FBD7844002E406C /* AppDelegate.swift */,\n\t\t\t\tD859A39D205BA3B800B089FC /* Model */,\n\t\t\t\tD8866BED1FBD8000002E406C /* SDK */,\n\t\t\t\tD8D45EFD20624CA400DEEF1D /* ViewController */,\n\t\t\t);\n\t\t\tpath = Class;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866BED1FBD8000002E406C /* SDK */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8FF91371FCD0BD600AFA494 /* Extension */,\n\t\t\t\tD8EBED2D1FC2C87A00477A97 /* Utils */,\n\t\t\t\tD8EBED2A1FC2C84300477A97 /* Manager */,\n\t\t\t\tD8866BEE1FBD8000002E406C /* Common */,\n\t\t\t);\n\t\t\tpath = SDK;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866BEE1FBD8000002E406C /* Common */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866BEF1FBD8000002E406C /* Control */,\n\t\t\t\tD8866BF01FBD8000002E406C /* Define */,\n\t\t\t);\n\t\t\tpath = Common;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866BEF1FBD8000002E406C /* Control */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866BF31FBD8053002E406C /* QLBaseViewController.swift */,\n\t\t\t\tD8866BFF1FBD8552002E406C /* QLNavigationController.swift */,\n\t\t\t\tD8866C011FBD856A002E406C /* QLTabBarController.swift */,\n\t\t\t);\n\t\t\tpath = Control;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866BF01FBD8000002E406C /* Define */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866BF11FBD8000002E406C /* QLColorDefine.swift */,\n\t\t\t\tD8EBED341FC4055000477A97 /* AppConfig.swift */,\n\t\t\t);\n\t\t\tpath = Define;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8D45EFD20624CA400DEEF1D /* ViewController */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8D45EFE20624CA400DEEF1D /* Home */,\n\t\t\t\tD8D45F0220624CA400DEEF1D /* About */,\n\t\t\t\tD8D45F0720624CA400DEEF1D /* Me */,\n\t\t\t);\n\t\t\tpath = ViewController;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8D45EFE20624CA400DEEF1D /* Home */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8D45EFF20624CA400DEEF1D /* QLHomeViewController.swift */,\n\t\t\t\tD8D45F0020624CA400DEEF1D /* QLNewViewController.swift */,\n\t\t\t\tD8D45F0120624CA400DEEF1D /* QLNewViewController.xib */,\n\t\t\t);\n\t\t\tpath = Home;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8D45F0220624CA400DEEF1D /* About */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8D45F0420624CA400DEEF1D /* QLAboutViewController.swift */,\n\t\t\t\tD8D45F0620624CA400DEEF1D /* QLDebugViewController.swift */,\n\t\t\t\tD8D45F0320624CA400DEEF1D /* QLDebugViewController.xib */,\n\t\t\t\tD89A2A5720633E140000D6A0 /* QLBuddhaViewController.swift */,\n\t\t\t\tD89A2A5820633E140000D6A0 /* QLBuddhaViewController.xib */,\n\t\t\t\tD89A2A5D20636A700000D6A0 /* QLBuddhaListViewController.swift */,\n\t\t\t\tD89A2A5E20636A700000D6A0 /* QLBuddhaListViewController.xib */,\n\t\t\t\tD8D45F0520624CA400DEEF1D /* View */,\n\t\t\t);\n\t\t\tpath = About;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8D45F0520624CA400DEEF1D /* View */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8D45F1020624CC500DEEF1D /* QLBuddhaCell.swift */,\n\t\t\t\tD8D45F1120624CC500DEEF1D /* QLBuddhaCell.xib */,\n\t\t\t);\n\t\t\tpath = View;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8D45F0720624CA400DEEF1D /* Me */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8D45F0820624CA400DEEF1D /* QLMeViewController.swift */,\n\t\t\t);\n\t\t\tpath = Me;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8EBED2A1FC2C84300477A97 /* Manager */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8EBED2B1FC2C84300477A97 /* VPNManager.swift */,\n\t\t\t\tD8FF912E1FC6CCD400AFA494 /* ConfigManager.swift */,\n\t\t\t\tD80F5B18205FBF7400251694 /* QueryManager.swift */,\n\t\t\t);\n\t\t\tpath = Manager;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8EBED2D1FC2C87A00477A97 /* Utils */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t);\n\t\t\tpath = Utils;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8EBED301FC3D09600477A97 /* Resource */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8EBED311FC3D09600477A97 /* NEKitRule.conf */,\n\t\t\t);\n\t\t\tpath = Resource;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8FF91371FCD0BD600AFA494 /* Extension */ = {\n\t\t\tisa = PBXGroup;\n\t\t\tchildren = (\n\t\t\t\tD8FF91381FCD0BF800AFA494 /* UIView+Color.swift */,\n\t\t\t);\n\t\t\tpath = Extension;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXGroup section */\n\n/* Begin PBXNativeTarget section */\n\t\tD8866B791FBC396F002E406C /* QLadder */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D8866BA21FBC396F002E406C /* Build configuration list for PBXNativeTarget \"QLadder\" */;\n\t\t\tbuildPhases = (\n\t\t\t\t0F8A06E0594BE59A755ED2E0 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tD8866B761FBC396F002E406C /* Sources */,\n\t\t\t\tD8866B771FBC396F002E406C /* Frameworks */,\n\t\t\t\tD8866B781FBC396F002E406C /* Resources */,\n\t\t\t\tD8866BBB1FBC39D9002E406C /* Embed App Extensions */,\n\t\t\t\tD8866BC11FBD729E002E406C /* ShellScript */,\n\t\t\t\tA9C7CD57315A1523D6639EE1 /* [CP] Embed Pods Frameworks */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t\tD8866BB61FBC39D9002E406C /* PBXTargetDependency */,\n\t\t\t);\n\t\t\tname = QLadder;\n\t\t\tproductName = QLadder;\n\t\t\tproductReference = D8866B7A1FBC396F002E406C /* QLadder.app */;\n\t\t\tproductType = \"com.apple.product-type.application\";\n\t\t};\n\t\tD8866BAE1FBC39D8002E406C /* PacketTunnel */ = {\n\t\t\tisa = PBXNativeTarget;\n\t\t\tbuildConfigurationList = D8866BB81FBC39D9002E406C /* Build configuration list for PBXNativeTarget \"PacketTunnel\" */;\n\t\t\tbuildPhases = (\n\t\t\t\tDDF05FC472331099A324FD75 /* [CP] Check Pods Manifest.lock */,\n\t\t\t\tD8866BAB1FBC39D8002E406C /* Sources */,\n\t\t\t\tD8866BAC1FBC39D8002E406C /* Frameworks */,\n\t\t\t\tD8866BAD1FBC39D8002E406C /* Resources */,\n\t\t\t);\n\t\t\tbuildRules = (\n\t\t\t);\n\t\t\tdependencies = (\n\t\t\t);\n\t\t\tname = PacketTunnel;\n\t\t\tproductName = PacketTunnel;\n\t\t\tproductReference = D8866BAF1FBC39D8002E406C /* PacketTunnel.appex */;\n\t\t\tproductType = \"com.apple.product-type.app-extension\";\n\t\t};\n/* End PBXNativeTarget section */\n\n/* Begin PBXProject section */\n\t\tD8866B721FBC396F002E406C /* Project object */ = {\n\t\t\tisa = PBXProject;\n\t\t\tattributes = {\n\t\t\t\tLastSwiftUpdateCheck = 0910;\n\t\t\t\tLastUpgradeCheck = 1010;\n\t\t\t\tORGANIZATIONNAME = qding;\n\t\t\t\tTargetAttributes = {\n\t\t\t\t\tD8866B791FBC396F002E406C = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 9.1;\n\t\t\t\t\t\tLastSwiftMigration = 1010;\n\t\t\t\t\t\tProvisioningStyle = Manual;\n\t\t\t\t\t\tSystemCapabilities = {\n\t\t\t\t\t\t\tcom.apple.ApplicationGroups.iOS = {\n\t\t\t\t\t\t\t\tenabled = 1;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tcom.apple.NetworkExtensions.iOS = {\n\t\t\t\t\t\t\t\tenabled = 1;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tcom.apple.VPNLite = {\n\t\t\t\t\t\t\t\tenabled = 1;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t\tD8866BAE1FBC39D8002E406C = {\n\t\t\t\t\t\tCreatedOnToolsVersion = 9.1;\n\t\t\t\t\t\tLastSwiftMigration = 1010;\n\t\t\t\t\t\tProvisioningStyle = Manual;\n\t\t\t\t\t\tSystemCapabilities = {\n\t\t\t\t\t\t\tcom.apple.NetworkExtensions.iOS = {\n\t\t\t\t\t\t\t\tenabled = 1;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tcom.apple.VPNLite = {\n\t\t\t\t\t\t\t\tenabled = 1;\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t};\n\t\t\tbuildConfigurationList = D8866B751FBC396F002E406C /* Build configuration list for PBXProject \"QLadder\" */;\n\t\t\tcompatibilityVersion = \"Xcode 8.0\";\n\t\t\tdevelopmentRegion = en;\n\t\t\thasScannedForEncodings = 0;\n\t\t\tknownRegions = (\n\t\t\t\ten,\n\t\t\t\tBase,\n\t\t\t);\n\t\t\tmainGroup = D8866B711FBC396F002E406C;\n\t\t\tproductRefGroup = D8866B7B1FBC396F002E406C /* Products */;\n\t\t\tprojectDirPath = \"\";\n\t\t\tprojectRoot = \"\";\n\t\t\ttargets = (\n\t\t\t\tD8866B791FBC396F002E406C /* QLadder */,\n\t\t\t\tD8866BAE1FBC39D8002E406C /* PacketTunnel */,\n\t\t\t);\n\t\t};\n/* End PBXProject section */\n\n/* Begin PBXResourcesBuildPhase section */\n\t\tD8866B781FBC396F002E406C /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD8866B881FBC396F002E406C /* LaunchScreen.storyboard in Resources */,\n\t\t\t\tD89A2A5A20633E140000D6A0 /* QLBuddhaViewController.xib in Resources */,\n\t\t\t\tD8EBED321FC3D09600477A97 /* NEKitRule.conf in Resources */,\n\t\t\t\tD8D45F0B20624CA400DEEF1D /* QLNewViewController.xib in Resources */,\n\t\t\t\tD8D45F0C20624CA400DEEF1D /* QLDebugViewController.xib in Resources */,\n\t\t\t\tD89A2A6020636A710000D6A0 /* QLBuddhaListViewController.xib in Resources */,\n\t\t\t\tD8866B851FBC396F002E406C /* Assets.xcassets in Resources */,\n\t\t\t\tD8D45F1320624CC500DEEF1D /* QLBuddhaCell.xib in Resources */,\n\t\t\t\tD8866B831FBC396F002E406C /* Main.storyboard in Resources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD8866BAD1FBC39D8002E406C /* Resources */ = {\n\t\t\tisa = PBXResourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXResourcesBuildPhase section */\n\n/* Begin PBXShellScriptBuildPhase section */\n\t\t0F8A06E0594BE59A755ED2E0 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-QLadder-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tA9C7CD57315A1523D6639EE1 /* [CP] Embed Pods Frameworks */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_ROOT}/Target Support Files/Pods-QLadder/Pods-QLadder-frameworks.sh\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/Kanna/Kanna.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework\",\n\t\t\t\t\"${BUILT_PRODUCTS_DIR}/SwiftColor/SwiftColor.framework\",\n\t\t\t);\n\t\t\tname = \"[CP] Embed Pods Frameworks\";\n\t\t\toutputPaths = (\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kanna.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework\",\n\t\t\t\t\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftColor.framework\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"\\\"${PODS_ROOT}/Target Support Files/Pods-QLadder/Pods-QLadder-frameworks.sh\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n\t\tD8866BC11FBD729E002E406C /* ShellScript */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 12;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/NEKit.framework\",\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/CocoaAsyncSocket.framework\",\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/CocoaLumberjack.framework\",\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/CocoaLumberjackSwift.framework\",\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/lwip.framework\",\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/MMDB.framework\",\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/Resolver.framework\",\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/tun2socks.framework\",\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/Sodium.framework\",\n\t\t\t\t\"$(SRCROOT)/Carthage/Build/iOS/Yaml.framework\",\n\t\t\t);\n\t\t\toutputPaths = (\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"/usr/local/bin/carthage copy-frameworks\\n\";\n\t\t};\n\t\tDDF05FC472331099A324FD75 /* [CP] Check Pods Manifest.lock */ = {\n\t\t\tisa = PBXShellScriptBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t);\n\t\t\tinputPaths = (\n\t\t\t\t\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\",\n\t\t\t\t\"${PODS_ROOT}/Manifest.lock\",\n\t\t\t);\n\t\t\tname = \"[CP] Check Pods Manifest.lock\";\n\t\t\toutputPaths = (\n\t\t\t\t\"$(DERIVED_FILE_DIR)/Pods-PacketTunnel-checkManifestLockResult.txt\",\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t\tshellPath = /bin/sh;\n\t\t\tshellScript = \"diff \\\"${PODS_PODFILE_DIR_PATH}/Podfile.lock\\\" \\\"${PODS_ROOT}/Manifest.lock\\\" > /dev/null\\nif [ $? != 0 ] ; then\\n    # print error to STDERR\\n    echo \\\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\\" >&2\\n    exit 1\\nfi\\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\\necho \\\"SUCCESS\\\" > \\\"${SCRIPT_OUTPUT_FILE_0}\\\"\\n\";\n\t\t\tshowEnvVarsInLog = 0;\n\t\t};\n/* End PBXShellScriptBuildPhase section */\n\n/* Begin PBXSourcesBuildPhase section */\n\t\tD8866B761FBC396F002E406C /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD8866C021FBD856A002E406C /* QLTabBarController.swift in Sources */,\n\t\t\t\tD8FF912F1FC6CCD400AFA494 /* ConfigManager.swift in Sources */,\n\t\t\t\tD8EBED351FC4055000477A97 /* AppConfig.swift in Sources */,\n\t\t\t\tD8D45F0E20624CA400DEEF1D /* QLDebugViewController.swift in Sources */,\n\t\t\t\tD8D45F0A20624CA400DEEF1D /* QLNewViewController.swift in Sources */,\n\t\t\t\tD859A39F205BA3B800B089FC /* Proxy.swift in Sources */,\n\t\t\t\tD80F5B19205FBF7400251694 /* QueryManager.swift in Sources */,\n\t\t\t\tD8EBED2C1FC2C84300477A97 /* VPNManager.swift in Sources */,\n\t\t\t\tD8FF91391FCD0BF900AFA494 /* UIView+Color.swift in Sources */,\n\t\t\t\tD8866BF41FBD8053002E406C /* QLBaseViewController.swift in Sources */,\n\t\t\t\tD8866BF21FBD8001002E406C /* QLColorDefine.swift in Sources */,\n\t\t\t\tD89A2A5920633E140000D6A0 /* QLBuddhaViewController.swift in Sources */,\n\t\t\t\tD8D45F0F20624CA400DEEF1D /* QLMeViewController.swift in Sources */,\n\t\t\t\tD8D45F1220624CC500DEEF1D /* QLBuddhaCell.swift in Sources */,\n\t\t\t\tD8866BE61FBD7844002E406C /* AppDelegate.swift in Sources */,\n\t\t\t\tD8866C001FBD8552002E406C /* QLNavigationController.swift in Sources */,\n\t\t\t\tD89A2A5F20636A710000D6A0 /* QLBuddhaListViewController.swift in Sources */,\n\t\t\t\tD8D45F0D20624CA400DEEF1D /* QLAboutViewController.swift in Sources */,\n\t\t\t\tD8D45F0920624CA400DEEF1D /* QLHomeViewController.swift in Sources */,\n\t\t\t\tD80F5B1B205FBFB700251694 /* Buddha.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n\t\tD8866BAB1FBC39D8002E406C /* Sources */ = {\n\t\t\tisa = PBXSourcesBuildPhase;\n\t\t\tbuildActionMask = 2147483647;\n\t\t\tfiles = (\n\t\t\t\tD8866BB21FBC39D9002E406C /* PacketTunnelProvider.swift in Sources */,\n\t\t\t);\n\t\t\trunOnlyForDeploymentPostprocessing = 0;\n\t\t};\n/* End PBXSourcesBuildPhase section */\n\n/* Begin PBXTargetDependency section */\n\t\tD8866BB61FBC39D9002E406C /* PBXTargetDependency */ = {\n\t\t\tisa = PBXTargetDependency;\n\t\t\ttarget = D8866BAE1FBC39D8002E406C /* PacketTunnel */;\n\t\t\ttargetProxy = D8866BB51FBC39D9002E406C /* PBXContainerItemProxy */;\n\t\t};\n/* End PBXTargetDependency section */\n\n/* Begin PBXVariantGroup section */\n\t\tD8866B811FBC396F002E406C /* Main.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866B821FBC396F002E406C /* Base */,\n\t\t\t);\n\t\t\tname = Main.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n\t\tD8866B861FBC396F002E406C /* LaunchScreen.storyboard */ = {\n\t\t\tisa = PBXVariantGroup;\n\t\t\tchildren = (\n\t\t\t\tD8866B871FBC396F002E406C /* Base */,\n\t\t\t);\n\t\t\tname = LaunchScreen.storyboard;\n\t\t\tsourceTree = \"<group>\";\n\t\t};\n/* End PBXVariantGroup section */\n\n/* Begin XCBuildConfiguration section */\n\t\tD8866BA01FBC396F002E406C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++14\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = dwarf;\n\t\t\t\tDEVELOPMENT_TEAM = 6232V88552;\n\t\t\t\tENABLE_BITCODE = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tENABLE_TESTABILITY = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu11;\n\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = (\n\t\t\t\t\t\"DEBUG=1\",\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t);\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 11.1;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = YES;\n\t\t\t\tONLY_ACTIVE_ARCH = YES;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Onone\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD8866BA11FBC396F002E406C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbuildSettings = {\n\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n\t\t\t\tCLANG_ANALYZER_NONNULL = YES;\n\t\t\t\tCLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;\n\t\t\t\tCLANG_CXX_LANGUAGE_STANDARD = \"gnu++14\";\n\t\t\t\tCLANG_CXX_LIBRARY = \"libc++\";\n\t\t\t\tCLANG_ENABLE_MODULES = YES;\n\t\t\t\tCLANG_ENABLE_OBJC_ARC = YES;\n\t\t\t\tCLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;\n\t\t\t\tCLANG_WARN_BOOL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_COMMA = YES;\n\t\t\t\tCLANG_WARN_CONSTANT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;\n\t\t\t\tCLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;\n\t\t\t\tCLANG_WARN_DOCUMENTATION_COMMENTS = YES;\n\t\t\t\tCLANG_WARN_EMPTY_BODY = YES;\n\t\t\t\tCLANG_WARN_ENUM_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_INFINITE_RECURSION = YES;\n\t\t\t\tCLANG_WARN_INT_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;\n\t\t\t\tCLANG_WARN_OBJC_LITERAL_CONVERSION = YES;\n\t\t\t\tCLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;\n\t\t\t\tCLANG_WARN_RANGE_LOOP_ANALYSIS = YES;\n\t\t\t\tCLANG_WARN_STRICT_PROTOTYPES = YES;\n\t\t\t\tCLANG_WARN_SUSPICIOUS_MOVE = YES;\n\t\t\t\tCLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;\n\t\t\t\tCLANG_WARN_UNREACHABLE_CODE = YES;\n\t\t\t\tCLANG_WARN__DUPLICATE_METHOD_MATCH = YES;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Developer\";\n\t\t\t\tCOPY_PHASE_STRIP = NO;\n\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n\t\t\t\tDEVELOPMENT_TEAM = 6232V88552;\n\t\t\t\tENABLE_BITCODE = NO;\n\t\t\t\tENABLE_NS_ASSERTIONS = NO;\n\t\t\t\tENABLE_STRICT_OBJC_MSGSEND = YES;\n\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu11;\n\t\t\t\tGCC_NO_COMMON_BLOCKS = YES;\n\t\t\t\tGCC_WARN_64_TO_32_BIT_CONVERSION = YES;\n\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;\n\t\t\t\tGCC_WARN_UNDECLARED_SELECTOR = YES;\n\t\t\t\tGCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;\n\t\t\t\tGCC_WARN_UNUSED_FUNCTION = YES;\n\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 11.1;\n\t\t\t\tMTL_ENABLE_DEBUG_INFO = NO;\n\t\t\t\tSDKROOT = iphoneos;\n\t\t\t\tSWIFT_OPTIMIZATION_LEVEL = \"-Owholemodule\";\n\t\t\t\tVALIDATE_PRODUCT = YES;\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD8866BA31FBC396F002E406C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 072D594BED902B2FA183883C /* Pods-QLadder.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCODE_SIGN_ENTITLEMENTS = QLadder/QLadder.entitlements;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Developer: chunyu zhao (JNW34ZPMFS)\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer: chunyu zhao (JNW34ZPMFS)\";\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = 6232V88552;\n\t\t\t\tENABLE_BITCODE = NO;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = QLadder/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.qding.ladder.enterprise;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE = \"c54e53df-b639-4cf3-9ba2-c3be76e5daa2\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"ladder-dev\";\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD8866BA41FBC396F002E406C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 87C7EF1E372693D4B4D12141 /* Pods-QLadder.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;\n\t\t\t\tCODE_SIGN_ENTITLEMENTS = QLadder/QLadder.entitlements;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Distribution: Beijing Qianding Internet Technology Co., Ltd.\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Distribution: Beijing Qianding Internet Technology Co., Ltd.\";\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = 6232V88552;\n\t\t\t\tENABLE_BITCODE = NO;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = QLadder/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.qding.ladder.enterprise;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE = \"c9a3035a-f1ee-497b-b346-1448d4c504d7\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"ladder-enterprise\";\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n\t\tD8866BB91FBC39D9002E406C /* Debug */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = BEA8410ADD1CCB5860EDF120 /* Pods-PacketTunnel.debug.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCODE_SIGN_ENTITLEMENTS = PacketTunnel/PacketTunnel.entitlements;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Developer: chunyu zhao (JNW34ZPMFS)\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Developer: chunyu zhao (JNW34ZPMFS)\";\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = 6232V88552;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = PacketTunnel/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.qding.ladder.enterprise.tunnel;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE = \"fad5ac66-f134-4252-94e1-9643ee5f8bc1\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"ladder tunnel-dev\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Debug;\n\t\t};\n\t\tD8866BBA1FBC39D9002E406C /* Release */ = {\n\t\t\tisa = XCBuildConfiguration;\n\t\t\tbaseConfigurationReference = 6FBBC7B7C96FF6CD3C1F2E01 /* Pods-PacketTunnel.release.xcconfig */;\n\t\t\tbuildSettings = {\n\t\t\t\tCODE_SIGN_ENTITLEMENTS = PacketTunnel/PacketTunnel.entitlements;\n\t\t\t\tCODE_SIGN_IDENTITY = \"iPhone Distribution: Beijing Qianding Internet Technology Co., Ltd.\";\n\t\t\t\t\"CODE_SIGN_IDENTITY[sdk=iphoneos*]\" = \"iPhone Distribution: Beijing Qianding Internet Technology Co., Ltd.\";\n\t\t\t\tCODE_SIGN_STYLE = Manual;\n\t\t\t\tDEVELOPMENT_TEAM = 6232V88552;\n\t\t\t\tFRAMEWORK_SEARCH_PATHS = (\n\t\t\t\t\t\"$(inherited)\",\n\t\t\t\t\t\"$(PROJECT_DIR)/Carthage/Build/iOS\",\n\t\t\t\t);\n\t\t\t\tINFOPLIST_FILE = PacketTunnel/Info.plist;\n\t\t\t\tIPHONEOS_DEPLOYMENT_TARGET = 9.3;\n\t\t\t\tLD_RUNPATH_SEARCH_PATHS = \"$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks\";\n\t\t\t\tPRODUCT_BUNDLE_IDENTIFIER = com.qding.ladder.enterprise.tunnel;\n\t\t\t\tPRODUCT_NAME = \"$(TARGET_NAME)\";\n\t\t\t\tPROVISIONING_PROFILE = \"c4bf8664-718a-4ea0-9761-1a83f69eb1cc\";\n\t\t\t\tPROVISIONING_PROFILE_SPECIFIER = \"ladder tunnel-enterprise\";\n\t\t\t\tSKIP_INSTALL = YES;\n\t\t\t\tSWIFT_VERSION = 4.2;\n\t\t\t\tTARGETED_DEVICE_FAMILY = \"1,2\";\n\t\t\t};\n\t\t\tname = Release;\n\t\t};\n/* End XCBuildConfiguration section */\n\n/* Begin XCConfigurationList section */\n\t\tD8866B751FBC396F002E406C /* Build configuration list for PBXProject \"QLadder\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD8866BA01FBC396F002E406C /* Debug */,\n\t\t\t\tD8866BA11FBC396F002E406C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD8866BA21FBC396F002E406C /* Build configuration list for PBXNativeTarget \"QLadder\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD8866BA31FBC396F002E406C /* Debug */,\n\t\t\t\tD8866BA41FBC396F002E406C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n\t\tD8866BB81FBC39D9002E406C /* Build configuration list for PBXNativeTarget \"PacketTunnel\" */ = {\n\t\t\tisa = XCConfigurationList;\n\t\t\tbuildConfigurations = (\n\t\t\t\tD8866BB91FBC39D9002E406C /* Debug */,\n\t\t\t\tD8866BBA1FBC39D9002E406C /* Release */,\n\t\t\t);\n\t\t\tdefaultConfigurationIsVisible = 0;\n\t\t\tdefaultConfigurationName = Release;\n\t\t};\n/* End XCConfigurationList section */\n\t};\n\trootObject = D8866B721FBC396F002E406C /* Project object */;\n}\n"
  },
  {
    "path": "QLadder.xcworkspace/contents.xcworkspacedata",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:QLadder.xcodeproj\">\n   </FileRef>\n   <FileRef\n      location = \"group:Pods/Pods.xcodeproj\">\n   </FileRef>\n</Workspace>\n"
  },
  {
    "path": "QLadder.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>IDEDidComputeMac32BitWarning</key>\n\t<true/>\n</dict>\n</plist>\n"
  },
  {
    "path": "README.md",
    "content": "## QLadder\n\nDemo for bolg [Building a Network Extension Project](http://ibloodline.com/articles/2017/11/15/NetworkExtension-02.html).\n\nXcode 10 and Swift 4.2.\n\nUse `carthage update --no-use-binaries --platform mac,ios` to install all frameworks.\n\nIs also uses CocoaPod to manage some dependencies.\n\nAny question is welcome.\n\n## Support Us\n\n- Support the excellent projects mentioned above([NEKit](https://github.com/zhuhaow/NEKit), [Potatso](https://github.com/Potatso/Potatso), etc. ).\n- Buy me a cup of coke.\n\n![coke](https://lettleprince.github.io/images/support/wechat-coke-240.png)\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2017-2019, [Tony Han](https://github.com/lettleprince).\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "topic.txt",
    "content": "FlowerWrong=>Can I ask you a question about utun with Potatso-iOS project?zhuhaow=>问吧\nFlowerWrong=>https://github.com/shadowsocks/Potatso-iOS/issues/18#issuecomment-229556311\nFlowerWrong=>我看了Potatso-iOS 源码整理出来这个图，但发现有些地方走不通。NEPacketTunnelProvider会配置一个http proxy，但是又有utun0。不知道数据到底是怎么走的。\nzhuhaow=>没有完全读过他的代码\nzhuhaow=>不过我这么猜\nzhuhaow=>utun0出来的数据被重新组成TCPflow\nzhuhaow=>然后送入proxy中\nzhuhaow=>http proxy设置了以后支持http proxy的地方\nzhuhaow=>也就是比NSStream更高层的调用\nzhuhaow=>都会自动使用代理\nzhuhaow=>这样就不会走到utun0去\nzhuhaow=>也不是猜\nzhuhaow=>只有重新封装成TCP flow后的处理是猜的\nzhuhaow=>其他都是一定的\nzhuhaow=>顺带一说，他实现的UDP的转发完全是错的，只在某些情况下可用\nzhuhaow=>你知道那个全局代理到底改变了什么么\nFlowerWrong=>稍等，我画个图\nFlowerWrong=>[![iosnet2.png](https://files.gitter.im/zhuhaow/NEKit/9rTB/thumb/iosnet2.png)](https://files.gitter.im/zhuhaow/NEKit/9rTB/iosnet2.png)\nzhuhaow=>不是这样的\nzhuhaow=>走代理的并不会到tun这一级去啊\nzhuhaow=>HTTP这一级就连到代理了\nzhuhaow=>你能看到DNS的结果么，google.com是被污染的\nzhuhaow=>我不知道他是怎么处理这个的\nFlowerWrong=>对\nFlowerWrong=>这个dns是有问题的。\nzhuhaow=>如果他通过代理连这个IP，自然是连不上的\nzhuhaow=>但是通过代理连本机解析出来的IP这样做是不对的，虽然我发现很多人喜欢这样\nzhuhaow=>你试试www.google.com可以不可以\nzhuhaow=>另外我完全没懂全局模式是在干嘛，是指无视所有规则的意思么\nFlowerWrong=>我也没懂。我去看看代码。\nzhuhaow=>还有个问题，你试一下，twitter.app可以用么\nFlowerWrong=>全局模式 google.com 是可以的\nzhuhaow=>我看了一下，他处理了污染的情况\nzhuhaow=>但是仅仅是在代理服务器这边\nzhuhaow=>如果是tun这边的话，被污染了应该没法连了\nFlowerWrong=>[![1.pic.jpg](https://files.gitter.im/zhuhaow/NEKit/OC3C/thumb/1.pic.jpg)](https://files.gitter.im/zhuhaow/NEKit/OC3C/1.pic.jpg)\nFlowerWrong=>全局模式，twitter.app报这个错误\nFlowerWrong=>没这个地址吧\nzhuhaow=>不是，我说的是twitter这个app\nFlowerWrong=>。。。抱歉\nFlowerWrong=>可以用\nzhuhaow=>因为我只知道twitter这个地址是被污染并且是无视代理规则的\nzhuhaow=>不是网页访问twitter\nFlowerWrong=>twitter app 可以的\nFlowerWrong=>刚发了一条twitter\nzhuhaow=>嗯，在shadowsocks-libev里面做了\nzhuhaow=>虽然不知道是怎么做的\nzhuhaow=>你要是不怕麻烦的话\nzhuhaow=>去下个Fing\nzhuhaow=>然后点第二个tab，进去输google.com看看IP是多少\nFlowerWrong=>全局的意思可能是都走代理，即使 baidu.com\nzhuhaow=>因为我从来没用过shadowsocks，所以之前我不太搞得清楚他的功能究竟是到了什么样子，我现在大概清楚了\nzhuhaow=>其实potatso真的是非常简单\nzhuhaow=>他就是包了一下shadowsocks，所有的逻辑都已经做好了，他只是做了个生成配置文件的GUI\nFlowerWrong=>ss我知道，我写过客户端。就是转发socks5的请求，加密解密\nFlowerWrong=>不是喔\nzhuhaow=>不是，我说的是shadowsocks-libev提供的功能\nzhuhaow=>其实非常多\nFlowerWrong=>https://zh.wikipedia.org/wiki/SOCKS#SOCKS5\nzhuhaow=>你说的我都知道\nzhuhaow=>但是他还有很多很多配套的东西都打包到shadowsocks-libev里了\nzhuhaow=>你如果把fing的结果给我看一下，我应该能发现问题了\nFlowerWrong=>fing那个好像没效果，浏览器打开baidu.com，ip显示是代理服务器的。\nzhuhaow=>我估计，google.com的解析结果不知道为什么虽然是被污染的，但是却被当成未被污染的了\nzhuhaow=>fing在我这可以用啊\nFlowerWrong=>[![2.pic.jpg](https://files.gitter.im/zhuhaow/NEKit/Hn4e/thumb/2.pic.jpg)](https://files.gitter.im/zhuhaow/NEKit/Hn4e/2.pic.jpg)\nzhuhaow=>google.com.hk呢？\nFlowerWrong=>也是一样的\nFlowerWrong=>我再去啃啃代码。\nFlowerWrong=>过不过tun那里，我的图有问题吗\nzhuhaow=>可能是fing不支持cname的原因\n\n```\n └────────────────┘                                       \n │      TUN       │◀───────────────────────────┘          \n ┌────────┴───────┐                            │          \n          │                                    │          \n          │                                    │          \n          │                                    │          \n└─────────▲────────────┘            └────────────────────┘\n│                      │            │                    │\n│        Proxy         ◀────────────│                    │\n│                      │            │        APP         │\n┌──────────────────────┐            │                    │\n                                    ┌────────────────────┐\nzhuhaow=>```\nzhuhaow=>应该是这样的\nzhuhaow=>app调用的库支持代理的，访问网络直接走代理\nzhuhaow=>不支持的才到tun\nzhuhaow=>再去重新装成tcp流走代理\nFlowerWrong=>\"再去重新装成tcp流走代理\" 这个应该不会走配置的那个http代理了吧。走自己本地启动的代理。\nzhuhaow=>嗯，这里就是完全由potasto随意控制了\nzhuhaow=>会直接发到ss\nzhuhaow=>fing无法检测到IP的原因是因为DNS直接就查不到东西，比如fb.com\nzhuhaow=>不知道这里具体是怎么处理的\nzhuhaow=>但是估计是DNS出了问题\nFlowerWrong=>明白了一部分，谢谢。大概可以串联起来了。余下问题应该是potasto怎么处理的dns\nzhuhaow=>这库核心就是ShadowPath，下面有Antinat(SOCKS5 proxy)，Privoxy(HTTP proxy)和shadowsocks-libev\nzhuhaow=>Potatso又加了一个tun2socks来把TCP转为TCP流\nzhuhaow=>然后这些东西接收到数据就直接转发给shadowsocks-libev\nzhuhaow=>shadowsocks-libev负责处理规则，连接远程服务器等等\nzhuhaow=>包括DNS也是shadowsocks-libev处理\nFlowerWrong=>dns不是\nFlowerWrong=>utun0 -> tun2socks －》Antinat(SOCKS5 proxy) －》shadowsocks-libev\nFlowerWrong=>不遵从代理应该是这么走的\nzhuhaow=>应该不需要ANtinat\nFlowerWrong=>我看的代码，ANtinat 的fd是作为参数传递给tun2socks的\nFlowerWrong=>作者应该是为了加自定义http代理功能\nFlowerWrong=>utun0 -> tun2socks －》Antinat(SOCKS5 proxy) －》http代理\nzhuhaow=>不是，我明白了\nzhuhaow=>Antinat应该是为了和ss通信的\nzhuhaow=>ss建立了SOCKS5代理\nzhuhaow=>好像也不对\nzhuhaow=>诶，这个不是重点，反正DNS也不在这些里面\nFlowerWrong=>https://github.com/cykor/Surf/blob/master/NE.pdf\nFlowerWrong=>这个不知道是谁写的，可靠性也不知道\nzhuhaow=>像是一个联手项目，并没有打算真正用的那种\nzhuhaow=>基于Apple官方的那个demo改的\nFlowerWrong=>那个pdf分析了surge和surf，可能是surf的作者\nzhuhaow=>surf是什么\nFlowerWrong=>https://itunes.apple.com/cn/app/a.big.t/id1051326718?mt=8\nFlowerWrong=>a.big.t\nzhuhaow=>有可能这个是他尝试的时候写的，然后就开始认真写闭源的了\nFlowerWrong=>😄，可能真是\nzhuhaow=>分析的对的，因为我觉得只有这一种实现方式\nzhuhaow=>不过给他一画感觉格外复杂\nzhuhaow=>好吧，所有的DNS请求都没有被劫持，我完全不知道究竟是怎么回事了\nFlowerWrong=>我也是看到没有劫持，只是转发了\nzhuhaow=>你在fing里面试试twitter.com，Facebook.com或者其他被污染的地址试试\nFlowerWrong=>得到的结果是被污染的\nzhuhaow=>哇，这还能通过tun使用……原理上不通啊\nFlowerWrong=>确实是被污染的，和我在电脑上host得到的地址一样\nFlowerWrong=>ss需要发送域名和端口给他，这域名和端口从哪里来。确定这个应该就可以了\nzhuhaow=>如果没有劫持DNS的话连到SOCKS5代理的时候会发给他啊，这个没问题的，问题是重建的TCP流是一个污染过的目标IP\nzhuhaow=>根本就没法获取真实域名了\nzhuhaow=>surge的处理是这样的，只有返回IP被污染的时候，或者这个域名明确的在某个规则里的时候\nzhuhaow=>DNS会返回一个虚假的IP\nzhuhaow=>这样就可以反查了\nzhuhaow=>但是没劫持的话就无从知道真实域名了\nFlowerWrong=>就是建立一个hash，查询域名对应fakeip\nzhuhaow=>我有点怀疑Twitter已经不再采用自己的SPDY库而是直接调用系统的NSURLConnection之类的东西了\nFlowerWrong=>但potatso好像没有\nzhuhaow=>毕竟iOS应该已经支持了\nzhuhaow=>这样就会走代理了\nzhuhaow=>原来Twitter用的自己的那个CocoaSPDY不支持代理设置\nzhuhaow=>自己搞个socket\nzhuhaow=>Potatso好像不能关掉packet功能\nFlowerWrong=>但如果走tun，发送给ss服务器的domain和端口从哪里来的呢\nzhuhaow=>永远不知道，但是如果IP是真实的也不是不能连，虽然我在NEKit是一定要反查出域名的\nzhuhaow=>我写的说明你可以看一下https://github.com/zhuhaow/NEKit\nFlowerWrong=>https://github.com/zhuhaow/NEKit#dnsserver 嗯，这种比较好理解。\nFlowerWrong=>但如果不知道，我发的ip是污染的。那么ss服务器也不能返回的。肯定有什么地方我们没发现\nzhuhaow=>我有99%的把握twitter的不知那个版本开始支持代理了\nzhuhaow=>这个连接是走代理的，所以污染不污染无所谓了\nzhuhaow=>等等，又不确定了\nzhuhaow=>好的，我确定了，twitter并没有走tun接口\nzhuhaow=>可以用mail.app实验，因为这个是只走SOCKS5代理，而iOS是不能设置SOCKS5代理的\nFlowerWrong=>额，那其实这个tun没用是吧\nzhuhaow=>获取到的是Unknown，没有连接信息\nzhuhaow=>而twitter的连接居然有http请求头\nzhuhaow=>他偷懒了，这个tun在ip不被污染的情况下是可以用的\nzhuhaow=>当然并不能解释为何google.com上不去\nFlowerWrong=>google.com他好像说是match domain的问题，我这边全局后可以上\nFlowerWrong=>https://github.com/shadowsocks/Potatso-iOS/commit/8e3a51b75e0e3a65774d81524a15b914457ef7ab\nFlowerWrong=>这个commit\nzhuhaow=>这里怎么了\nFlowerWrong=>google\nFlowerWrong=>能上去\nzhuhaow=>他把规则放到http这里去了？\nFlowerWrong=>我试了下mail.app，好像真有问题\nFlowerWrong=>是的\nzhuhaow=>奇怪啊。难道tun还要先转成http connect连http代理\nzhuhaow=>严格来说规则放http是对的\nzhuhaow=>因为没有规定http代理中一个socket收到的多个请求连接的是同一个host\nFlowerWrong=>mail.app可以发邮件，代发，我全局开了vpn\nFlowerWrong=>不会吧\nzhuhaow=>但是chrome和苹果的实现都是保证请求连到同一个host的\nzhuhaow=>gmail么？\nzhuhaow=>不翻墙也可以上的\nFlowerWrong=>苹果自带的mail\nzhuhaow=>如果是gmail的imap不用翻墙的\nzhuhaow=>你可以ping一下\nzhuhaow=>慢一点而已\nFlowerWrong=>看了代码，确定tun没有再转发到http\nFlowerWrong=>utun0 -> tun2socks －》Antinat(SOCKS5 proxy) －》shadowsocks-libev\nFlowerWrong=>这样走的\nFlowerWrong=>privoxy http proxy -> shadowsocks-libev\nFlowerWrong=>遵从代理是这么走的\nzhuhaow=>搞不懂。难道antinat又判断了一遍？\nzhuhaow=>或者他觉得tun的东西反正不多干脆都走代理\nFlowerWrong=>有什么方法可以测试吗\nFlowerWrong=>写个spdy协议的东西？\nzhuhaow=>测试什么\nzhuhaow=>antinat唯一的作用就是结合tun的\nzhuhaow=>ss以socks5代理的形式运行\nzhuhaow=>http代理由\nzhuhaow=>privoxy翻译为socks5\nFlowerWrong=>测试tun的作用，确定作者其实没有用tun。只用了http proxy\nzhuhaow=>antinat把裸的tcp流包了一个socks5\nFlowerWrong=>tun对于污染的dns没有实际效果\nzhuhaow=>应该用了吧。不然那个tun2socks干什么的\nzhuhaow=>你如果想试试规则\nzhuhaow=>可以设一个不能连的ss服务器\nzhuhaow=>再看看mail还能不能用\nzhuhaow=>国内的邮箱\nFlowerWrong=>我开全局，mail可以用，但浏览器就不能用了\nzhuhaow=>感觉好像tun都变直连了\nFlowerWrong=>😄\nFlowerWrong=>全局mail都还能用，我试了下，本地电脑起ss server，mail没有代理过去\nzhuhaow=>那这个tun2socks除了占资源没有任何用\nzhuhaow=>而且badvpn这个tun2socks实现的也够复杂的\nFlowerWrong=>感觉越来越复杂了\nlemon4ex=>来晚了，来晚了,NEKit啥时候弄个完整点的demo，不会用\nzhuhaow=>等我有空的时候，其实有一个现成的，但是太乱了\nlemon4ex=>@zhuhaow 坐等坐等，如果没空整理，乱点也可以，可以先看着，总比木有好😊\nBillllll=>@zhuhaow 我今天小试了一下, NEKit-macOS编译能通过, 能运行, 但是流量没有走代理, 强制指定socks5代理也不能访问, 端口确实是在监听的, 求指导\nzhuhaow=>@Billllll 因为NEKit-macOS只是一个framework，自身并不会运行啊\nzhuhaow=>@Billllll 如果你说那个demo，那么你需要写个配置文件啊，看下代码和那个配置文件的例子\nzhuhaow=>@Billllll 而且demo并没有用到NetworkExtension\nBillllll=>@zhuhaow 抱歉, 我表达错了, 我编的是demo, 配置文件也是对的\nBillllll=>我先后试过ss和http两种adapter, 都不行~ 是我理解错了什么吗?\n\nzhuhaow=>我不知道。晚上再说吧\nBillllll=>@zhuhaow 好的, 多谢\nzhuhaow=>@Billllll 话说你是不是配置文件放的地方不对\nBillllll=>HOME目录下, 应该没错\nzhuhaow=>@all https://github.com/zhuhaow/Specht有个demo\nYuQiang=>NEKit-iOS 版本编译没法通过\nzhuhaow=>我可以啊。什么错误？\nYuQiang=>NEKit/src/RawSocket/GCDTCPSocket.swift:47:47: Value of optional type 'String?' not unwrapped; did you mean to use '!' or '?'?  NEKit/src/RawSocket/GCDTCPSocket.swift:213:25: Cannot convert value of type '[NSObject : AnyObject]!' to expected argument type '[String : NSNumber]?'\nzhuhaow=>是最新版本的么，git pull一下？\nYuQiang=>最新的，重新clone 最新的了\nzhuhaow=>应该好了，GCDAsyncSocket更新了新版本，而我的Cartfile没有fix住版本号\nYuQiang=>@zhuhaow 好了，多谢！\nzhuhaow=>最新版本的NEKit和Specht已经可以用HTTP proxy server了，不需要再用PAC写SOCKS5代理了\nzhuhaow=>@all\nlemon4ex=>carthage update 后，显示编译失败：\n(2 failures)  编译环境，XCode7.2，10.11.1，是swift新语法编译不过么？\n\tCompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler\n\tCompileSwift normal arm64 /Users/lemon4ex/Desktop/NEKit/Carthage/Checkouts/CocoaLumberjack/Classes/CocoaLumberjack.swift\nlemon4ex=>The following build commands failed:\nzhuhaow=>failure 信息是什么？\nFlowerWrong=>@zhuhaow 可以画个数据流图吗？到现在都还没搞清楚。\nzhuhaow=>@FlowerWrong readme看了么？\nFlowerWrong=>@zhuhaow 我是指https://github.com/zhuhaow/Specht 这个应用，其他单独部分的应用都是清楚的，但是specht在mac下怎么工作一直没弄清楚。之前讨论过potatso，我还是一团浆糊。哈哈。\nzhuhaow=>@FlowerWrong 今明我会把所有东西整理好发布一下\nFlowerWrong=>thx\nicodesign=>awesome\nicodesign=>@zhuhaow 有在实际的 App 中使用了吗\nzhuhaow=>@icodesign Specht算么？就是没人用所以我才写了Specht推广一下NEKit的。\nicodesign=>好像用了 CocoaAsyncSocket?\nzhuhaow=>嗯\nicodesign=>那个东西有内存问题\nzhuhaow=>其实我不确定，因为我用CocoaAsyncSocket写的代理已经跑了快两年了\nzhuhaow=>现在不知道是不是修复了，又更新了这么多版本\nicodesign=>你的代理是 Mac 上的还是 iOS\nzhuhaow=>但是考虑到Mac上内存不吃紧，所以没注意过\nicodesign=>一开始我也用它，但是稍微一跑就崩\nzhuhaow=>我在iOS上也用了一年多\nzhuhaow=>不会有问题\nzhuhaow=>问题是不是在simulator里?\nicodesign=>你用 simulator？\nzhuhaow=>不用\nicodesign=>simulator 不行吧，跑不起 NE\nzhuhaow=>我之前一个非NE的iOS app\nzhuhaow=>并不会有问题\nicodesign=>那肯定\nzhuhaow=>https://github.com/robbiehanson/CocoaAsyncSocket/issues/349\nicodesign=>NE 5/6M 内存限制\nzhuhaow=>可能是simulator的问题\nicodesign=>它的 NSData 缓存太大，而且还改不了\nzhuhaow=>这个应该没问题，因为如果是用NE的话，NEKit只有连接本地用CocoaAsyncSocket\nicodesign=>这个库的 License 是？\nzhuhaow=>BSD3\nicodesign=>高峰期会直接跑掉 2M 多内存\nzhuhaow=>有可能\nzhuhaow=>不过内存不会紧张到这个地步，而且iOS10里面内存限制是10M\nicodesign=>最近在打算重构 Potatso，之前各种库用的，导致很不稳定，也不好扩展\nicodesign=>没错，iOS 10 就不会了\nzhuhaow=>Potatso根本就无法重构啊……\nicodesign=>为毛不可以。。。\nzhuhaow=>因为所有的东西都搅在一起\nicodesign=>所以才要重构\nzhuhaow=>很多都是基于现成的硬改的\nicodesign=>没错\nzhuhaow=>这种太难重构了\nicodesign=>直接放弃原来的\nzhuhaow=>这就不是重构了……\nzhuhaow=>不过我很欢迎你用NEKit重构\nicodesign=>但是思想还是一样的\nFlowerWrong=>@zhuhaow   type: shadowsocks  => type: ss  in https://github.com/zhuhaow/SpechtLite#configuration-file\nzhuhaow=>@FlowerWrong 呃，我蠢了，改过来了，谢谢\nYuQiang=>iOS 下测试。 HTTP代理能正常访问，SS代理无法访问，没有任何报错提示\n    adapter: shadowsocksproxy\n  - type: all\nrule:\n    auth: false\n    port: xxxx\n    host: 120.26.x.x\n    type: HTTP\n  - id: httpproxy\n    password: xxxxxx\n    port: xxxx\n    host: 116.251.x.x\n    method: AES-256-CFB\n    type: ss\n  - id: shadowsocksproxy\nadapter:\nYuQiang=>port: 9090\nYuQiang=>另外两个小问题反馈下：1.iOS 下 NETunnelProviderManager.enabled 需要设置为true才能运行VPN，2. SS Adapter 密码为全数字的时候会报错\nzhuhaow=>1. 这个就和NEKit无关了；2. 这个明天会修正\nzhuhaow=>2已经修正了\nzhuhaow=>我最近再改一改SpechtLite然后会写一些测试了，虽然NE不能测，但是其他部分还是可以测一下的\nzhuhaow=>ss问题已经修正\nYuQiang=>赞！\nYuQiang=>更新到0.2.2版本还是有问题，以下是shadowsocks 的日志\n2016-08-13 08:46:34 ERROR    [Errno 104] Connection reset by peer\n2016-08-13 08:46:33 INFO     connecting play.itunes.apple.com:443 from 125.120.28.48:51575\n2016-08-13 08:46:29 ERROR    [Errno 110] Connection timed out\nYuQiang=>2016-08-13 08:46:19 INFO     connecting www.baidu.com:80 from 125.120.28.48:51573\nYuQiang=>carthage update 添加 --no-use-binaries  就正常了，赞！\nzhuhaow=>可能是有些编译好的东西实在太古老了\nzhuhaow=>更新了readme了\nFlowerWrong=>[![屏幕快照 2016-08-13 下午10.41.59.png](https://files.gitter.im/zhuhaow/NEKit/SqAX/thumb/____-2016-08-13-__10.41.59.png)](https://files.gitter.im/zhuhaow/NEKit/SqAX/____-2016-08-13-__10.41.59.png)\nFlowerWrong=>启动失败，然后按照https://github.com/zhuhaow/Specht#some-tips 手动plugkit -a了还是不行\nFlowerWrong=>有人知道什么原因吗？\nzhuhaow=>试试kill neagent\nzhuhaow=>另一个可能的yuany@是bundle identifier的问题，比如group app权限不对啊什么的\nzhuhaow=>所以在跑起来之前我不建议改任何原本的东西\nFlowerWrong=>thx，bundle identifier的问题。可以跑了\nFlowerWrong=>@zhuhaow 请问下，为什么`curl https://www.facebook.com` 走TUN（log：Accepted a new socket from IP stack.），而`curl http://www.facebook.com` 直接走的是http代理。\nzhuhaow=>因为你没设https_proxy？\nFlowerWrong=>@zhuhaow 我蠢了！！！\nFlowerWrong=>[![ne.png](https://files.gitter.im/zhuhaow/NEKit/hFFC/thumb/ne.png)](https://files.gitter.im/zhuhaow/NEKit/hFFC/ne.png)\nFlowerWrong=>@zhuhaow 这个数据流图理解正确吗？\nFlowerWrong=>[![ne.png](https://files.gitter.im/zhuhaow/NEKit/FMt4/thumb/ne.png)](https://files.gitter.im/zhuhaow/NEKit/FMt4/ne.png)\nzhuhaow=>后面基本是对的，就是mainProxy其实只用来处理tun2socks的请求，其他的代理根据监听的端口直接到对应的GCDProxyServer上\nzhuhaow=>这个接口我可能会改一下，不叫mainProxy，有点令人误解\nzhuhaow=>可能把它放到TCPStack里去\nFlowerWrong=>@zhuhaow store request log to database?看其他app都有这个功能。\nzhuhaow=>我只会提供一些event，这个和NEKit无关\nFinb=>拜读了一下源码，这TM加个UI不就是成品么~\nzhuhaow=>@Finb 我都写到这份上了居然没人关注你说我多伤心\nFlowerWrong=>赶紧上线一个\nzhuhaow=>@FlowerWrong 不想折腾，写到我觉得满意还挺花时间的\nzhuhaow=>@FlowerWrong 不过我最近event这块写完了如果觉得写个UI也不麻烦有可能会上线\nFlowerWrong=>😄，通病，都觉得做ui麻烦\nFlowerWrong=>对于我来说，这个产品就差一个log和reject，最好加个icloud同步，还有一个default route，就差不多了，不用特别复杂的ui，也用不上。\nbjzhou=>为啥Proxifier代理服务器设成NEKit的ss代理上不了\nzhuhaow=>配置文件\nbjzhou=>配置文件全走的ss代理，源码调了下走到ShadowsocksAdapter了，但是好像没有数据返回\nzhuhaow=>配置文件发我看一下\nbjzhou=>等会发你\nbjzhou=>proxifier蛮奇怪，他会dns解析之后再发给上级代理\nbjzhou=>\nzhuhaow=>不要在这里把密码发出来啊……\nbjzhou=>...\nbjzhou=>忘了。。\nzhuhaow=>删了吧\n```\n    adapter: speed\n  - type: all\nrule:\n        delay: 60\n      - id: direct\n        delay: 300\n      - id: jp2\n        delay: 300\n      - id: hk1\n    adapters:\n    type: SPEED\n  - id: speed\n    password: xxx\n    method: rc4-md5\n    port: xxx\n    host: jp2.bcloud.work\n    type: ss\n  - id: jp2\n    password: xxx\n    method: rc4-md5\n    port: xxx\n    host: hk1.bcloud.work\n    type: ss\n  - id: hk1\nadapter:\nport: 9090\n\nbjzhou=>```\nzhuhaow=>你可以用浏览器试试9090的http代理和9091的socks5代理是不是可以用\nbjzhou=>试过了直接设置系统代理是没问题的\nzhuhaow=>direct不要加delay\nzhuhaow=>平白多了60延迟\nbjzhou=>不加delay好像会解析到ss去\nzhuhaow=>不会啊，delay 0我都用了很久了\nbjzhou=>那我试试，没问题就改回来\nbjzhou=>不知道proxifier干了啥，Surge+Proxifier是没问题的\nbjzhou=>不过因为上级代理收到的不是host，而是Proxifier解析好的ip，所以基于host的规则全是无效的，基于ip的规则可以正常使用\nzhuhaow=>应该不会有什么问题才对\nzhuhaow=>SpechtLite没有被proxifier吧\nzhuhaow=>我从来没用过\nbjzhou=>主要是用在terminal和其他不支持系统代理的app\nzhuhaow=>试试看能不能在Proxifier里面加rule保证SpechtLite没有被代理\nbjzhou=>排除了的\nzhuhaow=>他的设置里有Resolve hostnames through proxy可以开，不过工作原理和NEKit的一样，都是fake IP\nzhuhaow=>我不知道原因了\nzhuhaow=>很难猜啊\nzhuhaow=>SpechtLite check update能成功么？\nbjzhou=>我在用NEkit源码调。。。研究着玩。。\nzhuhaow=>没有调用Network Extension？\nbjzhou=>开发者账号过期了，不想续...\nzhuhaow=>似乎没有什么问题\nzhuhaow=>按理说这两个之间不会有联系才对\nzhuhaow=>你这样用NEKit做的事应该和Surge一样的\n![pic](http://obxw9raj1.bkt.clouddn.com/c6cab081098469c8eee674b706a6d0bf)\nbjzhou=>给SpechtLite加了两个小功能，要不要提个pr\nzhuhaow=>这个set as system proxy要求管理员权限么？\nFlowerWrong=>要的\n来吧，非常欢迎\nzhuhaow=>算了，无所谓了\nbjzhou=>第一次运行需要，后面就不用了\nFlowerWrong=>把shell的也一起设置了吧\nbjzhou=>shell只能是copy之后手动粘贴到terminal里吧\nzhuhaow=>可以加到rc里，不过我非常不建议\nbjzhou=>加到rc还是算了\nzhuhaow=>哇，这实现手法好dirty啊，只有用applescript+shell这一招么\nbjzhou=>要不然每次都请求管理员权限...\nzhuhaow=>……\nbjzhou=>方案是抄的原来的ShadowsocksX\n\nFlowerWrong=>Surge for mac应该也是这么干的\nzhuhaow=>我可能还会改一下代码，谢谢啦\nbjzhou=>![sss](http://obxw9raj1.bkt.clouddn.com/e722f51539338dca053d7b01ee89193c)\nbjzhou=>左边是设成系统代理的请求，右边是proxifier发过来的，有啥区别...\nbjzhou=>还在纠结proxifier的问题...\nzhuhaow=>区别在于proxifier发过来的并不是代理请求\nzhuhaow=>他发过来的是直接的请求\nzhuhaow=>可以看成是透明代理\nzhuhaow=>但是NEKit是不支持透明代理的，proxifier设置里面可以改么？\nbjzhou=>应该不能，没找到相关设置\nzhuhaow=>说老实话我觉得NEKit应该也是支持透明代理的\nzhuhaow=>不知道哪里有问题\nzhuhaow=>我会再看一下这个问题\nzhuhaow=>24号之后要有半个多月基本不能上网，不知道之前能不能解决这些问题\nzhuhaow=>有些东西我好像理解错了\nzhuhaow=>proxifier先发送了CONNECT然后自己再发的所有请求\nzhuhaow=>那就和透明代理什么没关系了，这样的话应该是不会有问题才对\nnie11kun=>我加进来了😄\nzhuhaow=>ss那边能看到连接请求么\nnie11kun=>这个还没看\nnie11kun=>我直接粘贴的配置\nnie11kun=>网址也是加了\\.com的\nnie11kun=>又给我自动修复了😳\nzhuhaow=>chacha20这个加密方式我不记得我测试过没有\nzhuhaow=>所以有可能是不能用的……\nnie11kun=>这样呀\nzhuhaow=>所以你要看看ss那边的连接请求看看是什么问题\nnie11kun=>那我先试试别的加密方式的ss\nzhuhaow=>AES-CFB这个应该是唯一测试过的\nzhuhaow=>RC4应该也可以用\nzhuhaow=>chacha主要是换了libsodium的缘故，不知道好用不好用\nnie11kun=>果然这样，人次\nnie11kun=>rc4OK了\nzhuhaow=>你私聊我一下给我个chacha20的服务器\nzhuhaow=>我有空的时候修复一下\nnie11kun=>可以\nCoderJin=>[![blob](https://files.gitter.im/zhuhaow/NEKit/rCnK/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/rCnK/blob)\nCoderJin=>这个是怎么回事?\nCoderJin=>[![blob](https://files.gitter.im/zhuhaow/NEKit/y9Vw/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/y9Vw/blob)\nzhuhaow=>ls -la ~/.SpechtLite\ntest  ok !!\nCoderJin=>type ss  method AES-256-CFB \njostyee=>@zhuhaow 有没有做过SpechtLite和Surge的可以参照？\nzhuhaow=>？\njostyee=>特性或者性能上的\njostyee=>我想找个支持HTTP/2的client，刚看了下SpechtLite也没说有\nzhuhaow=>并没有，不理解这种功能存在的意义\nbjzhou=>建议NEKit里的ProxyServer的address改成可选类型，这样客户端传空的时候局域网内其他设备也可以设置这个代理，不然只有本机才能设代理\nzhuhaow=>更新了，但是其实如果用NE的话必须要设地址才行，不然会连不上\nzhuhaow=>原因不明\nbjzhou=>可以啊\nbjzhou=>https://github.com/bjzhou/NEKit/commit/ac063026d2c2f35a675abc1e02a6066255920bf9\nbjzhou=>这是我的改动，试了可以用\nzhuhaow=>诶，我当时试了很久都不行\nzhuhaow=>好吧，反正改了，要用的可以自行选择\nYuQiang=>iOS 下 list 的大小受限制，过大的list文件导致VPN无法启动\nzhuhaow=>无解，别搞太大的list，有这么大的需求？\nYuQiang=>我把gfwlist翻译成list格式了..\nzhuhaow=>多大啊\nYuQiang=>4464行\nzhuhaow=>崩了也正常，即便是字符应该都有150K了吧\nzhuhaow=>如果一定要用也可以的，时间换空间，不要预先编译正则表达式，每次匹配的时候现编译\nzhuhaow=>可以再结合adblock里面用到的算法\nzhuhaow=>感觉是纯折腾，不知道图啥\nbjzhou=>拆分成几个list不就好了吗...\nYuQiang=>我本意是想用gfwlist 替代Country rule的\nzhuhaow=>为何要这样，基本没有几个国外网站的访问是能以正常速度访问的\nzhuhaow=>而且我还专门写了SpeedAdapter\nzhuhaow=>gfwlist根本没有意义，几乎所有AWS和Cloudflare的网站都无法正常访问，他能涵盖几个\nYuQiang=>之前测试 Country rule 不是有奇怪的访问慢的情况么.. 就尝试着用list替代..\nzhuhaow=>拆成多少个list都不会减少内存啊\nzhuhaow=>说到这个都忘了，我现在就把那个问题修复一下\nbjzhou=>其实那个所谓的gfwlist根本不靠谱，一堆乱七八糟的域名，真正用得上的倒不一定有\nzhuhaow=>那个也是没办法的，毕竟现在是CDN+云的时代，而封的都是所有的主流供应商\nYuQiang=>这倒是. AWS 被封了一堆IP号段\nbjzhou=>基于ip段的规则感觉是有必要有的\nzhuhaow=>明天到9月10号我都无法更新，只能手机上网\nzhuhaow=>其实现在写也写完了，但是懒得写\nzhuhaow=>DNS解析的问题在master里面已经修复了\nYuQiang=>OK \nYuQiang=>master 版本访问速度貌似正常了，不过VPN很容易就crash退出\nzhuhaow=>crash log给我看一下\nzhuhaow=>master已经支持ip list了\nYuQiang=>\nlioliy=>Spechtlite支持ssr吗\nzhuhaow=>暂不。有广泛需求么？\nnie11kun=>ssr可能适合以后可能干扰的情况下用吧\nnie11kun=>可以加入一个记录当前流量访问日志功能吗，类似surge的recent request\nnie11kun=>感觉有时候方便自己确认需要代理或直连\nlioliy=>ssr应该挺有用吧，现在很多站都是ssr的服务端了，并且不容易被检测出来。\nzhuhaow=>等我回来了就加ssr\nzhuhaow=>现有的NEKit实现这个是不难。不过想要任何GUI功能的可以自己提pull request，我这里优先级很低，而且最近很忙，可以慢慢等\nnie11kun=>OK\nbjzhou=>访问日志的功能提pull request了，我之前自己做了下，有人需要就提下pr吧，点show log会打开系统控制台，log样式·Request: pd-st.itunes.apple.com, Type: DirectAdapter, Rule: <CountryRule countryCode:CN match:true>·\nnie11kun=>顶\nnie11kun=>应该可以看到本机的所有流量记录吧\nzhuhaow=>谢谢pr，但是NEKit这部分不会merge\nzhuhaow=>我的设想是尽量的non-opinionated \nzhuhaow=>所以NEKit最终会完全去除对cocoalumberjack的依赖\nzhuhaow=>而是采用event的方法\nzhuhaow=>如果想要获取现在的log的信息，应当监听adaptersocket的SocketOpened事件\nzhuhaow=>方法可以参考DebugOberserver\nbjzhou=>ok,有空改改\nbjzhou=>改了，不过需要先merge下NEKit，添加了init，不然SpechtLite编不过\nzhuhaow=>无论如何现在SpechtLite都编译不过，除非把cartfile改成master，我先不merge了，等我回去发布了NEKit就merge\nbjzhou=>对\nzhuhaow=>真的有需求？\nzhuhaow=>完全无法理解，ssr就是ss加上一堆莫名其妙的头或者毫无意义的传输协议\nbjzhou=>一直以为ssr属于邪教，明明没啥用还一堆人相信...\nzhuhaow=>我还以为是什么实质的增强，看了一堆什么插件扩展完全没看到任何有用的东西，都快去看源码了，看到一句兼容ss\nlioliy=>不懂，但很多都说站支持ssr和推荐使用ssr，ssr服务器用户也挺多的。。。\nlioliy=>好像ssr主要就多了个 obfs什么的插件吧https://github.com/breakwa11/shadowsocks-rss/wiki/obfs\nlioliy=>反馈一下当前版本SpechtLite（0.2.1）的bug，tetegram挂代理无论（http和socks）连接不上![](http://7xrn7f.com1.z0.glb.clouddn.com/16-8-30/96776815.jpg)，全局代理后qq的图片收不到![](http://7xrn7f.com1.z0.glb.clouddn.com/16-8-30/99564710.jpg)，Safari好像也有很小网页出现中断。。\nzhuhaow=>telegram有可能并不走代理，qq图片我会看一下，你是不是用了speed adapter？\nlioliy=>是\nzhuhaow=>估计是有点小bug\nlioliy=>嗯，测了下不用speed adapter bug仍存在\nzhuhaow=>诶，这就难搞了，是不是代理服务器连接不稳定？\nmaocuu=>lwip 2.0.0 RC2 released ,  including dual-stack IPv6 support\nmaocuu=>@zhuhaow  NEKit 解决了 DNS 投毒的问题吗？\nzhuhaow=>可以自行解决\nzhuhaow=>自定义dns解析方式\nmaocuu=>自定义远程dns？\nzhuhaow=>或者利用iprange的规则\nzhuhaow=>可以使用任何方式做dns解析啊\nzhuhaow=>自定义host，dnscrypt都可与\nzhuhaow=>ipv6会在功能稳定以后添加\nzhuhaow=>主要是我连调试环境都没有\nmaocuu=>哦，只研究过 potatso ，他是有个 dns 有毒的列表，本地 dns解析（twitter等）到这些ip就走代理了。       类似 ChinaDNS。     这样的好处就是国内 taobao 能解析到最有的ip\nzhuhaow=>NEKit也可以\nmaocuu=>自定义dns解析方式，就是自己实现一个 DNSResolverProtocol ？\nzhuhaow=>是\nYuQiang=>SSR就是在头上加了一些混淆，避免SS被识别并屏蔽。\nzhuhaow=>并不觉得这样有很大意义，我高度怀疑gfw真的有能力分析数据流，成本太高\nbjzhou=>gfw一般只封ss服务器ip，不会分析数据流\nYuQiang=>SS 不了解，VPN确实是会识别，之前有个VPS用得好好的，手贱搭建了个PPTP用，没两天IP彻底被封\nbjzhou=>只分析明文吧\nzhuhaow=>pptp流量特征比较明显吧。尤其是端口号\nzhuhaow=>我知道的加密被封只有证书验证的openvpn\nzhuhaow=>估计是握手阶段的特征太明显了\nYuQiang=>openvpn也是有明显特征的 \nmaocuu=>NEkit Framework 磁盘上的 14.7 MB  太大了，放不到 iOS 上面的 network extension 里面。\nYuQiang=>根据大家反馈SS出现不稳定的情况，我猜测是会对一些流量大的IP进行识别分析\nYuQiang=>iOS 可以的呀，我已经有成型APP在等待审核了。就是app 有点大，60多M,另外手机耗电有点高。 \nmaocuu=>真的可以吗？我加上 NEKit 后，调试空的 network extension 都不行。\nzhuhaow=>app大是swift的原因\nzhuhaow=>至于iOS我重来没试过 但是mac上也没10M内存啊\nzhuhaow=>耗电我感觉surge也有点高\nYuQiang=>估计是其他原因导致调试不成功，可以把保存私信发我，可能我遇到过。 \nzhuhaow=>不知道为什么\nYuQiang=>缓存一些规则结果理论上有可能好一些吗？  比如Country缓存下最近的IP\nzhuhaow=>相较整个请求过程这么过程根本就可以忽略\nzhuhaow=>没法优化出什么\nzhuhaow=>我唯一能想到的是休眠的问题\nzhuhaow=>但是我完全想不到什么能够阻止系统休眠的东西\nYuQiang=>不理解为什么系统休眠增加功耗\nzhuhaow=>不是。iOS系统休眠很频繁，但是如果程序一直阻止休眠的话就会显著耗电了\nzhuhaow=>可以参考NEProvider的方法，sleep和wake\nzhuhaow=>问题是我想不出需要做什么\nzhuhaow=>有一个事情我想是应该做的。就是tcpstack里面的那个timer，我应该是写了一个pause和resume的方法的，但我不记得specht里面我用没用\nzhuhaow=>还有就是之前说的，不要处理packet，只用ne设一下系统代理，绝对会显著降低功耗\n走packet某些场景下访问卡的问题依旧存在。 \nYuQiang=>现在就是没走packet ，耗电占比15%左右（手机使用基本不离手）\nmaocuu=>@zhuhaow  最新版里面  DirectAdapterFactory() 不存在？没办法调用。\nzhuhaow=>耗电占比高是必然的。因为所有的网络访问的耗电都算他头上了\nzhuhaow=>卡的问题只有我慢慢调了\nzhuhaow=>你看看是不是我没标成public？\nzhuhaow=>NEKit目前只支持swift\nmaocuu=>class DirectAdapterFactory: AdapterFactory {}\nzhuhaow=>不过卡是网络经常卡住不动还是CPU占用过高？\nzhuhaow=>忘了加public了……提个pull request吧\nzhuhaow=>我现在改不了代码\nnie11kun=>最近在学iOS开发，希望早日可以做贡献😄\nmaocuu=>@zhuhaow  提交了pull request 不知道对不对，我是  iOS 新手。\nzhuhaow=>已merge。谢谢了\nmaocuu=>'DirectAdapterFactory' cannot be constructed because it has no accessible initializers\nzhuhaow=>只有master更新了。还没发布\nzhuhaow=>@nie11kun 欢迎\nmaocuu=>@zhuhaow  shadowsocks 好像不支持 ota\nzhuhaow=>不支持。这些无关紧要的功能我真是懒得支持\nmaocuu=>支持 https 代理？\nmaocuu=> @zhuhaow    'HTTPAuthentication' cannot be constructed because it has no accessible initializers @zhuhaow  \nzhuhaow=>支持https\nzhuhaow=>……又是忘记public了\nbjzhou=>NEKit有好多地方该public的没public\nzhuhaow=>嗯，因为一开始我想限制一些东西的，所以public的特别小心，很多东西写的时候都没public，之后就忘了\nzhuhaow=>而且我自己只用一个Parser去处理配置，所以注意不到\nzhuhaow=>我后来已经public了很多东西了。但是还是忘了一些\nzhuhaow=>你们发现我没public的告诉我一声\nzhuhaow=>默认没有public，太容易忘记了\nbjzhou=>之前看好像DNSServer相关的有几个地方没public，具体忘记了\nmaocuu=>NEKit  是不是无法使用 hangouts 打电话，测试 surge 和 potatso 可以。\nzhuhaow=>不觉得这和NEKit有太大关系，很有可能是规则设的不对所以没走代理\nzhuhaow=>比如域名污染到国内IP了但是没用IPRange\nmaocuu=>IPRange 怎么解决dns污染到国内 ip？\nzhuhaow=>被污染到的域名只会被解析到那么几个IP，全部设成走代理就可以了\nbjzhou=>没开发证书，编出来的版本怎么给别人用。。。\n      PacketProvider.PacketTunnelProvider.(startTunnelWithOptions ([Swift.String : __ObjC.NSObject]?, completionHandler : (__ObjC.NSError?) -> ()) -> ()).(closure #1) in PacketTunnelProvider.o\n  \"type metadata accessor for NEKit.Port\", referenced from:\n      PacketProvider.PacketTunnelProvider.(startTunnelWithOptions ([Swift.String : __ObjC.NSObject]?, completionHandler : (__ObjC.NSError?) -> ()) -> ()).(closure #1) in PacketTunnelProvider.o\nmaocuu=>\"type metadata accessor for NEKit.GCDHTTPProxyServer\", referenced from:\nmaocuu=>这是啥问题？昨天还好的，今天编译出这个问题，\n\n\n\nclang: error: linker command failed with exit code 1 (use -v to see invocation)\nld: symbol(s) not found for architecture arm64\n      PacketProvider.PacketTunnelProvider.stopTunnelWithReason (__C.NEProviderStopReason, completionHandler : () -> ()) -> () in PacketTunnelProvider.o\n      PacketProvider.PacketTunnelProvider.startTunnelWithOptions ([Swift.String : __ObjC.NSObject]?, completionHandler : (__ObjC.NSError?) -> ()) -> () in PacketTunnelProvider.o\nmaocuu=>  \"NEKit.RawSocketFactory.TunnelProvider.unsafeMutableAddressor : weak __ObjC.NETunnelProvider?\", referenced from:\nzhuhaow=>clean一下\nmaocuu=>carthage clean ？\nmaocuu=>xcode 菜单 product 下面的 clean。。。  新手。\nzhuhaow=>mac的话，除非需要用network extension 不然应该不用证书\nbjzhou=>我自己可以用，但发给别人说用不了，不知道怎么弄\nzhuhaow=>不要签名试一试\nzhuhaow=>对方电脑要允许运行未知开发者的程序\nmaocuu=>规则改成全部走 ss，也没办法  hangouts 打电话\nzhuhaow=>iOS上？\nmaocuu=>是的\n\nzhuhaow=>那就是hangouts不走代理你又没处理packet？\nmaocuu=>照抄 Specht  里面的 startTunnelWithOptions\nzhuhaow=>enableProcessPacket设成true了？\nmaocuu=>嗯\nzhuhaow=>没有log很难猜啊。Specht的NEKit不是最新版的\nmaocuu=>估计是 packet 的问题，全局的规则下，telegram 也刷不出来\nzhuhaow=>mail可以收邮件么\nmaocuu=>gmail app可以收，mail没有配置账户\nzhuhaow=>gmail肯定可以的。mail并不遵循http代理。如果packet有问题应该就访问不了了。你现在的NEKit什么版本的\nmaocuu=>最新版本的IKEv2，我自己fork的。\nmaocuu=>最新版本的NEkit\nzhuhaow=>NEKit如何和IKEv2结合\nmaocuu=>写错了。\n\nzhuhaow=>0.3.0之前有一个很大的DNS的bug\nzhuhaow=>最新版已经修了\nzhuhaow=>你试试不设置http代理还能不能上网\nmaocuu=>我自己fork的上面 head 打了个 tag ，拿来用的。\n\n//        proxySettings.HTTPSServer = NEProxyServer(address: \"127.0.0.1\", port: proxyPort)\n//        proxySettings.HTTPSEnabled = true\n//        proxySettings.HTTPServer = NEProxyServer(address: \"127.0.0.1\", port: proxyPort)\nmaocuu=>注释掉 //        proxySettings.HTTPEnabled = true\nmaocuu=>还可以上网\nmaocuu=>全局代理工作正常的。\nzhuhaow=>我现在无法调试，你可以用DebugObserver看看发生了什么\nSep  1 17:22:45 iPhone6plus PacketProvider[4432] <Warning>: Adapter socket <ShadowsocksAdapter host:149.154.175.100 port:443)> connected to remote wi\nSep  1 17:22:45 iPhone6plus PacketProvider[4432] <Warning>: Adapter socket <ShadowsocksAdapter host:149.154.175.50 port:443)> connected to remote with response <ConnectResponse>.\nSep  1 17:22:45 iPhone6plus Telegram[4229] <Error>: tcp_connection_destination_perform_socket_connect 4737 connectx to 0.0.7.209:80@0 failed: [65] No route to host\nSep  1 17:22:45 iPhone6plus Telegram[4229] <Error>: tcp_connection_destination_perform_socket_connect 4737 connectx to 0.0.7.209:80@0 failed: [65] No route to host\nSep  1 17:22:45 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:149.154.175.50 port: 443)> received request <ConnectRequest host:149.154.175.50 port:443>.\nSep  1 17:22:45 iPhone6plus Telegram[4229] <Error>: tcp_connection_destination_perform_socket_connect 4735 connectx to 0.0.7.209:80@0 failed: [65] No route to host\nSep  1 17:22:45 iPhone6plus Telegram[4229] <Error>: tcp_connection_destination_perform_socket_connect 4735 connectx to 0.0.7.209:80@0 failed: [65] No route to host\nSep  1 17:22:45 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:149.154.175.100 port: 443)> received request <ConnectRequest host:149.154.175.100 port:443>.\nSep  1 17:22:45 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:149.154.175.100 port: 443)> received request <ConnectRequest host:149.154.175.100 port:443>.\nSep  1 17:22:45 iPhone6plus locationd[64] <Notice>: Gesture EnabledForTopClient: 1 (SiriCalled)\nSep  1 17:22:45 iPhone6plus PacketProvider[4432] <Warning>: Adapter socket <ShadowsocksAdapter host:91.108.56.150 port:443)> connected to remote with response <ConnectResponse>.\nSep  1 17:22:44 iPhone6plus Telegram[4229] <Error>: tcp_connection_destination_perform_socket_connect 4732 connectx to 0.0.7.209:80@0 failed: [65] No route to host\nSep  1 17:22:44 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:91.108.56.150 port: 443)> received request <ConnectRequest host:91.108.56.150 port:443>.\nSep  1 17:22:44 iPhone6plus Telegram[4229] <Error>: tcp_connection_destination_perform_socket_connect 4732 connectx to 0.0.7.209:80@0 failed: [65] No route to host\nSep  1 17:22:44 iPhone6plus PacketProvider[4432] <Warning>: Adapter socket <ShadowsocksAdapter host:91.108.56.150 port:443)> connected to remote with response <ConnectResponse>.\nSep  1 17:22:44 iPhone6plus PacketProvider[4432] <Warning>: Adapter socket <ShadowsocksAdapter host:149.154.175.50 port:443)> connected to remote with response <ConnectResponse>.\nSep  1 17:22:44 iPhone6plus PacketProvider[4432] <Warning>: Adapter socket <ShadowsocksAdapter host:91.108.56.150 port:443)> connected to remote with response <ConnectResponse>.\nSep  1 17:22:44 iPhone6plus PacketProvider[4432] <Warning>: Adapter socket <ShadowsocksAdapter host:149.154.167.91 port:443)> connected to remote with response <ConnectResponse>.\nSep  1 17:22:44 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:91.108.56.150 port: 443)> received request <ConnectRequest host:91.108.56.150 port:443>.\nSep  1 17:22:44 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:149.154.175.50 port: 443)> received request <ConnectRequest host:149.154.175.50 port:443>.\nSep  1 17:22:44 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:91.108.56.150 port: 443)> received request <ConnectRequest host:91.108.56.150 port:443>.\nSep  1 17:22:44 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:149.154.167.91 port: 443)> received request <ConnectRequest host:149.154.167.91 port:443>.\nSep  1 17:22:44 iPhone6plus locationd[64] <Notice>: Gesture EnabledForTopClient: 1 (SiriCalled)\nmaocuu=>Sep  1 17:22:44 iPhone6plus networkd[92] <Error>: -[NETClient sendMessage:replyHandler:] attempting to send an XPC message to a suspended client Telegram.4229! This is a bug!\nmaocuu=>这里又可用的信息吗？\nmaocuu=>这里有可用的信息吗？\nSep  1 17:23:08 iPhone6plus Telegram[4229] <Error>: tcp_connection_destination_perform_socket_connect 4773 connectx to 0.0.7.209:80@0 failed: [65] No route to host\nSep  1 17:23:08 iPhone6plus Telegram[4229] <Error>: tcp_connection_destination_perform_socket_connect 4773 connectx to 0.0.7.209:80@0 failed: [65] No route to host\nSep  1 17:23:08 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:91.108.56.150 port: 443)> received request <ConnectRequest host:91.108.56.150 port:443>.\nmaocuu=>Sep  1 17:23:08 iPhone6plus PacketProvider[4432] <Warning>: Proxy socket <DirectProxySocket host:91.108.56.150 port: 443)> received request <ConnectRequest host:91.108.56.150 port:443>.\nzhuhaow=>这个0.0.7.209应该就是问题所在了\nzhuhaow=>但是telegram为什么会报这个错\n\n然后看看具体这个请求match到什么规则上了\nzhuhaow=>你把debug level设到verbose 或者debug\nzhuhaow=>91.108这个ip连接不成功\nmaocuu=>连上vpn的时候有个错误： PacketProvider[4468] <Critical>: NWTCPSocket got an error when writing data: Optional(Error Domain=NSPOSIXErrorDomain Code=22 \"Invalid argument\")\nzhuhaow=>感觉这个可能有点关系。但是我不确定\nzhuhaow=>主要是这个错误毫无信息量\nFlowerWrong=>看到twitter上ssr作者表示不再维护，建议使用ss\nmaocuu=>breakwa11 很早就不在 github发布客户端了。 需要使用 zeronet 来下载 ssr的客户端。一直在更新的。\nzhuhaow=>上他那个卖服务的网站上不就下下来了\nYuQiang=>\nYuQiang=>NEKit 加 REJECT Adapter 有必要吗？\nzhuhaow=>有可能会有程序处理的不好无限重连，不过我可以加上，设个reject的延迟就好了\nzhuhaow=>乘着上午能上网都加上了\nzhuhaow=>几乎所有东西都public了，有空我要好好整理一下，可能要用accessor了，好麻烦\nYuQiang=>list rule 是匹配域名还是请求的整个路径？\nzhuhaow=>域名\nzhuhaow=>只有http才有可能匹配路径\nCloudnuY=>已经把Telegram的IP段直接用type: list写进去，adapter直接写到了代理上，然后在Telegram里面使用自动、http模式、socks模式都还是不走代理……\nzhuhaow=>ip的话要用iplist\nzhuhaow=>不过你要试直接用all就好了\nCloudnuY=>用all一样，不管Telegram用自动还是手动配置到SpechtLite的监听端口还是无法连接\n也没法调\n但我现在不能上网\n原因尚不明\nzhuhaow=>现在已知telegram和qq手机图片不可用\nCloudnuY=>测试了一下，使用all到代理，无其他规则的时候，直接访问域名可以打开比如http://www.baidu.com/ ，而用百度的IP地址直接访问比如http://61.135.169.121/ 则无法打开。使用all到Direct则没有此问题。目测是proxy模块对IP直接访问不友好\nCloudnuY=>手机QQ的图片好像是QQ用HTTPDNS获取到图片服务器的IP地址之后直接用IP访问的，同样的问题\nzhuhaow=>代理用的是什么代理\nCloudnuY=>代理用的ss\nbjzhou=>这么看好像IP访问的都存在问题？\nbjzhou=>之前proxifier也是解析成IP之后发给SpechtLite，结果访问不了\nzhuhaow=>找到问题就好了。但是我看了一下代码感觉没有问题，可惜我现在不能调，明天上午看能不能上网\nzhuhaow=>如果你们愿意调试可以看一下ssadapter里面的disconnect\nzhuhaow=>几个可能的问题\nzhuhaow=>ss不支持区分ipv4，v6和domain，感觉不太像\nzhuhaow=>要么就是我发送ipv4地址的代码错了\n}\n    case AES128CFB = \"AES-128-CFB\", AES192CFB = \"AES-192-CFB\", AES256CFB = \"AES-256-CFB\", CHACHA20 = \"chacha20\", SALSA20 = \"salsa20\", RC4MD5 = \"rc4-md5\"\nYuQiang=>public enum CryptoAlgorithm: String {\nYuQiang=>不同的加密方式有习惯的大小写方式，不过建议YAML配置文件能兼容大小写，目前是需要大小写完全匹配\nYuQiang=>Telegram 和 QQ 图片问题与SS应该没关系，测试使用 ALL 也是无法访问的。\nzhuhaow=>嗯 会merge\nzhuhaow=>all的话如果IP不能访问自然还是不能访问\nYuQiang=>恩，我的意思是可以大概率排除SS相关问题，也可能是我误解你的回复了。 \nYuQiang=>不好意思，是我逻辑错误了.. 我ALL 之后 走的还是SS代理，收回刚才的判断\nYuQiang=>ALL 之后 direct 是可以正常访问QQ图片的\n\nYuQiang=>刚刚测试  匹配 ALL 之后 走 http 代理 同样无法访问QQ图片，域名访问百度正常，IP访问百度不正常\nYuQiang=>通过NEKit http代理访问IP的header是这样的\n\nAccept-Encoding: gzip, deflate\nDNT: 1\nAccept-Language: zh-cn\nUser-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G36 Safari/601.1\nCookie: BDSVRTM=20\nConnection: keep-alive\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\nHost: 61.135.169.121\nGET / HTTP/1.1\n\nContent-Length: 0\nHost: 61.135.169.121:80\nYuQiang=>CONNECT 61.135.169.121:80 HTTP/1.1\nzhuhaow=>看不出问题。明天我试试\nYuQiang=>正常的header 是没有这一段的\nContent-Length: 0\nHost: 61.135.169.121:80\nYuQiang=>CONNECT 61.135.169.121:80 HTTP/1.1\nzhuhaow=>我会直接发connect请求 这样之后的请求都不是代理请求了\nzhuhaow=>只有第一个是代理请求\nYuQiang=>我不特别懂这块，但同样的配置下，域名访问的header就不会有connect 这一段\nYuQiang=>貌似有connect这一段header会导致请求类型无法被识别\nzhuhaow=>按理说域名应该是一样的才对\nYuQiang=>至少通过Charles监控到的域名请求是没有connect这段header的\nbjzhou=>之前也调试过，接收到connect之后，下次发来的header就不会当作header来处理了，而是会当做content来处理\n```\n            }\n                port = 80\n                host = urlInfo[0]\n            } else {\n                self.port = port\n                }\n                    return nil\n                guard let port = Int(urlInfo[1]) else {\n                host = urlInfo[0]\n            if urlInfo.count == 2 {\n            }\n                return nil\n            guard urlInfo.count <= 1 else {\nlet urlInfo = url.componentsSeparatedByString(\":\")\n```\nbjzhou=>HTTPHeader里这段代码写的有问题吧\nbjzhou=>带端口号的访问不了\nzhuhaow=>……好像写反了\nbjzhou=>没，1改成2就好了\nzhuhaow=>这样的话一直以来是怎么访问的……\nYuQiang=>😶\nYuQiang=>早上看了这段代码,没发现..\nbjzhou=>只有HTTP协议用到了吧，SOCKS协议没用到？\nzhuhaow=>我已经发现ss似乎不支持发送IP了\n```\n\n        }\n            helloData.appendData(responseData)\n            responseData = encryptData(responseData)\n            var responseData = NSData(bytes: response, length: response.count)\n            response += [UInt8](request.host.utf8)\n            response.append(UInt8(request.host.utf8.count))\n            var response: [UInt8] = [0x03]\n        } else {\n            helloData.appendData(responseData)\n            responseData = encryptData(responseData)\n            var responseData = NSData(bytes: response, length: response.count)\n            response += Utils.IP.IPv6ToBytes(request.host)!\n            var response: [UInt8] = [0x04]\n        } else if request.isIPv6() {\n            helloData.appendData(responseData)\n            responseData = encryptData(responseData)\n            var responseData = NSData(bytes: response, length: response.count)\n            response += Utils.IP.IPv4ToBytes(request.host)!\n            var response: [UInt8] = [0x01]\nif request.isIPv4() {\nzhuhaow=>```\nzhuhaow=>这里，直接用最后一段的话都可以用了\nbjzhou=>前面两段多此一举了😂?\nzhuhaow=>是的，理论上是没用，这个是之前我写的SOCKS5代理那里挪过来的\nzhuhaow=>所以多此一举了\nzhuhaow=>代理的话必须要支持这个\nbjzhou=>果然好了。。。\nbjzhou=>之前怀疑过这段代码，但想了想既然写成这样那应该没什么问题....\nzhuhaow=>其实ss这里也有问题，他本身是个简化了socks5代理，但是没有把这个0x03的标识给简化掉\nzhuhaow=>所以我就觉得既然要多写这一段自然是要区分的\nbjzhou=>试试HTTP代理行不行，之前试了好像HTTP代理也有问题\nYuQiang=>昨天测试HTTP代理也是不行的\nzhuhaow=>我这里可以啊\nYuQiang=>QQ图片也可以？ \nzhuhaow=>看来问题就是这个guard\nzhuhaow=>connect是单独判断的没写错\nzhuhaow=>普通http请求一般都是没端口号的默认80，就没问题\nzhuhaow=>一旦是其他端口就崩了\nzhuhaow=>好了，现在master应该可以了\nYuQiang=>这个版本 CryptoAlgorithm 大小写的匹配的也merge 下吧\nzhuhaow=>merge了\nzhuhaow=>没问题我release了\nlioliy=>哦，支持ssr的混淆了吗\nzhuhaow=>不\nCloudnuY=>Specht有没有支持socks4/5代理的计划呢？\nzhuhaow=>原来有，我懒得维护，又删掉了……\nzhuhaow=>有需求么\nzhuhaow=>一般不太有用socks的。加密都用ss了\nCloudnuY=>如果有人喜欢用ssr的话就可以用ssr python搭起来socks通道然后通过specht分线路走了……😂不知道需求大不大\nzhuhaow=>直接用ss连不就完了。有空我会加上socks5\nzhuhaow=>真的有任何证据表明ssr是有意义的么\nCloudnuY=>都是玄学（逃\n\nzhuhaow=>我搜了搜大致上都是介绍ssr怎么安的和软文无差的文章\nCloudnuY=>最近墙有些高，感觉SSR比SS稍微多抗那么点儿干扰，可能是幻觉……\nzhuhaow=>我至今不觉得gfw有能力分析流\nCloudnuY=>自己搭建的服务器上有ss和ssr，连一段时间之后就有一段时间的断流，但是能ping通而且80端口的HTTP服务没问题。过一段时间又恢复了\nzhuhaow=>高端口大量随机流量。特征太明显了\nzhuhaow=>ssr能解决？\nCloudnuY=>我再多试几次\n\nFlowerWrong=>G20最近\nYuQiang=>因为“宽衣”吧😊\njannerchang=>有 config 的文件没？我怎么编辑的总说错误呢？\nzhuhaow=>看看错误是什么然后改啊\njannerchang=>怎么发图啊😳\njannerchang=>说无法分析 yaml\njannerchang=>我再重新改下试试\njannerchang=>有 telegram 群否？\njannerchang=>看来是服务器名称问题\nzhuhaow=>解决了？\njannerchang=>嗯哪，adapter ID 是不是不能换？\nzhuhaow=>可以随意取啊。不是direct就行\njannerchang=>我光改了个服务器地址等可以了，改 adapter ID 会有问题\njannerchang=>哦，可以放多个 ss 服务器不？\nzhuhaow=>你改adapter ID要把引用的都改了\nzhuhaow=>当然可以\njannerchang=>还是说你的建议是一个服务器一个 yaml 文件？\nzhuhaow=>adapter个数可以随意啊。规则任意组合\njannerchang=>但是在选择服务器的时候好像是选某一个 yaml 配置的\njannerchang=>而不是选 adapter\nzhuhaow=>是啊。但是一个配置里面可以有很多adapter。然后基于规则走到不同的adapter去\njannerchang=>哦，了解啦，一个配置文件可以相当于 surge 的 autogroup\nnie11kun=>@zhuhaow 我这边始终还是连不上chacha20 。rc4正常\nzhuhaow=>我觉得真的是你配置的问题啊。我自己开的chacha20是可以连的\nzhuhaow=>你用别的客户端可以连上？\njannerchang=>有 telegram 群否？\nzhuhaow=>没有。有什么可以直接私聊\njannerchang=>😂，就是觉得这个得开网页？\nnie11kun=>surge\nnie11kun=>正常使用中\nnie11kun=>shadow socksX没有ota选项，所以也是连不上\njannerchang=>原来有 app\nzhuhaow=>app就是包了个网页\njannerchang=>哦，不如 telegram 方便，不好发图\nzhuhaow=>如果和ota有关的话那和chacha就没关系了\nnie11kun=>这个app说实话不好用，每次打开都要从新加载\n但是如果我没理解错。不支持ota也是可以连的才对\nzhuhaow=>ota有空会考虑支持\nzhuhaow=>这个好像是电脑上拖进去可以发\nzhuhaow=>手机上不行\nzhuhaow=>但是telegram应该没有网页版吧\nzhuhaow=>原理上似乎不可能\njannerchang=>有吧，手机也有 app 呢 \nzhuhaow=>没找到哪里能发图片的\nnie11kun=>tl客户端是不是得要代理对应网页才能翻出去\njannerchang=>telegram 全平台都有呢\njannerchang=>没用过网页版\nnie11kun=>上下行当前流量貌似也挺实用的\nzhuhaow=>Telegram居然有网页版\nzhuhaow=>它的key存在哪里？\njannerchang=>有哇，tg 很强大\njannerchang=>不知道\nzhuhaow=>SpechtLite的功能我真的无心再加了\nzhuhaow=>本来是以demo形式存在的\nzhuhaow=>现在已经越来越杂了\njannerchang=>搞个正式的卖吧\njannerchang=>😁\n\nzhuhaow=>并不想写GUI\njannerchang=>配置逻辑搞简单点儿\nzhuhaow=>主要是最近要做的事情太多了\njannerchang=>慢慢来吧\nzhuhaow=>NEKit本身还有很多东西要做\nzhuhaow=>还有其他的一些事\nzhuhaow=>哦。我明白telegram的原理了\nzhuhaow=>等我回家建一个吧\njannerchang=>👍\nzhuhaow=>@bjzhou 麻烦签一下CLA，在pull request里面可以看到，然后我merge了\nbjzhou=>好了\nbreakwa11=>到家了没？\nzhuhaow=>明天到家\nlioliy=>这个发图可以直接用mark down啊\nzhuhaow=>问题是图传哪里去啊\nzgia=>配置文件没有看懂，弱\nzhuhaow=>明天写个中文的\nzgia=>请问直连的设配器怎么写？\n  - id: shadowsocks-SG4\n    type: direct\nzgia=>  - id: direct\nzgia=>是这么写吗？\nzhuhaow=>不用写。默认有一个direct的adapter\nid就是direct\nzhuhaow=>直接用\nzhuhaow=>我能问一句你们是怎么知道的specht的么\nzhuhaow=>怎么突然多了这么多人\nzgia=>twiter\nzgia=>directiprange\nzgia=>Error when parsing config file: /Users/liyuntian/.SpechtLite/config.yaml. InvalidYamlFile\nzgia=>好惨\nzhuhaow=>你的yaml格式就没对。所以这样了\nzgia=>这个我明白\nzgia=>我就是很感叹。。。。。\nzgia=>我复制了git下的，又试了一次。还是格式错误\nzgia=>找到了，我写错一个字符，本\nzgia=>[![blob](https://files.gitter.im/zhuhaow/NEKit/3HOR/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/3HOR/blob)\nzhuhaow=>增加了中文说明\nzgia=>现在没有问题了，就是连接失败， 我看看哪里写错了\nzgia=>请问log在哪个位置？\nzhuhaow=>你set as system proxy选上\nzhuhaow=>或者自己设好\nzgia=>[![blob](https://files.gitter.im/zhuhaow/NEKit/z5P8/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/z5P8/blob)\nzgia=>[![blob](https://files.gitter.im/zhuhaow/NEKit/PhlM/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/PhlM/blob)\nzgia=>搞定了，多谢你set as system proxy选上\nzgia=>搞定了，多谢你 @zhuhaow \nzhuhaow=>这个熊猫翻滚的教程在哪看啊\nzhuhaow=>进去没找着啊\nzgia=>熊猫翻滚？\nzgia=>不了解\nFlowerWrong=>我看到twitter有人发\nzhuhaow=>嗯。@zgia 说完之后我去搜到了\nzgia=>@zhuhaow 请问reject也是系统缺省的吗？\nzhuhaow=>并不是。虽然感觉应该加上\nlioliy=>图床呀\nlioliy=>不知道\nlioliy=>现在人的确好多\n因为有很多好事的人。。。\n\nbreakwa11=>> 怎么突然多了这么多人\nnie11kun=>举手\nlioliy=>specht有好多人在用？我编译了下，运行时日志是权限不允许，查了下错误说是要购买开发者账号(99刀一年)还要申请私人vpn权限什么的。。。\n99刀加额外申请\nzhuhaow=>应该基本没人用吧，门槛太高\nCoderJin=>@zhuhaow 能用于客户端不?NEKit?\nzhuhaow=>客户端干什么用？\nCoderJin=>vpn\nzhuhaow=>客户段自己连代理自己传数据用？\nCoderJin=>是的\nCoderJin=>Specht 有在客户端上 有测试用过没...我按Specht 的方法 测试客户端 好像不行?\nzhuhaow=>看一下官方的AppProxy\nzhuhaow=>用是可以用的\nzhuhaow=>不过我自己平时也不用\nzhuhaow=>你的不行是怎么不行\nCoderJin=>那我在研究一下 你说可以 那肯定没问题的 ..问题在我这边 我试一下 ?\nCoderJin=>找找其他原因 ..按照你实例 ?\nzhuhaow=>你打开console看看log\nCoderJin=>O k  我再研究一下 \nFlowerWrong=>我用过，因为icmp不能用，所以放弃了\nCoderJin=>\nCoderJin=>\nCoderJin=>[![CF18DB7F-3E39-4AA6-AC0D-C3D98054F972.png](https://files.gitter.im/zhuhaow/NEKit/XEvP/thumb/CF18DB7F-3E39-4AA6-AC0D-C3D98054F972.jpg)](https://files.gitter.im/zhuhaow/NEKit/XEvP/CF18DB7F-3E39-4AA6-AC0D-C3D98054F972.png)\nCoderJin=>[![6B2514B1-64F4-493B-B6EF-83B79E92599B.png](https://files.gitter.im/zhuhaow/NEKit/vfop/thumb/6B2514B1-64F4-493B-B6EF-83B79E92599B.jpg)](https://files.gitter.im/zhuhaow/NEKit/vfop/6B2514B1-64F4-493B-B6EF-83B79E92599B.png)\n\nzhuhaow=>你log过滤一下多截几条\nzhuhaow=>我明白说吧，ne就是个坑，我跌的半死才算爬出一半\nzhuhaow=>你等着满满跌吧\n\n \nCoderJin=>@zhuhaow  我检查了很多遍 你那个 demo从本地读取的,我直接放到项目中,读取,看那个 device 中的日志 如上图 ..  \nzhuhaow=>问题是你的log里没信息啊。信息应该会比这个多才对\nCoderJin=>[![2D34BD8F-81F2-42B4-8CAC-EFAA2ED57409.png](https://files.gitter.im/zhuhaow/NEKit/V33G/thumb/2D34BD8F-81F2-42B4-8CAC-EFAA2ED57409.jpg)](https://files.gitter.im/zhuhaow/NEKit/V33G/2D34BD8F-81F2-42B4-8CAC-EFAA2ED57409.png)\nCoderJin=>[![82456947-3611-460A-A667-0F688389C5D6.png](https://files.gitter.im/zhuhaow/NEKit/iXJS/thumb/82456947-3611-460A-A667-0F688389C5D6.jpg)](https://files.gitter.im/zhuhaow/NEKit/iXJS/82456947-3611-460A-A667-0F688389C5D6.png)\nCoderJin=>你那个 demo从本地读取的,我直接放到项目中,读取? 这个应该没问题啦?\nzhuhaow=>没问题啊\nFlowerWrong=>enable YES\nduyuwei=>设为系统代理后，idea开发时连接Redis的时候无法连接，尝试在directlist中增加192.168.0.0/16，还是不成，来问一下~~\nduyuwei=>Redis在局域网\nduyuwei=>看log也没有找到对应的请求\nzhuhaow=>加个country rule 把country是--的设成direct\nzhuhaow=>但是log没有不太正常\n    adapter: direct\n    match: true\n    country: --\nduyuwei=>  - type: country\nduyuwei=>已添加了这条记录\nzhuhaow=>……这样的话可能不是这个的问题，毕竟log没有相关信息\nSep  9 20:57:18 jin kernel[0] <Notice>: AppleARMPMUCharger: limiting USB input current to 100 mA (measured 223 mA)\nSep  9 20:57:17 jin nesessionmanager[123] <Notice>: NESMVPNSession[a:53727108-B0D8-4840-99E6-AAD928F4A88E]: status changed to disconnected, last stop reason Configuration was disabled\nSep  9 20:57:17 jin nesessionmanager[123] <Notice>: NESMVPNSession[a:53727108-B0D8-4840-99E6-AAD928F4A88E]: Received a start command from MyVpn[270], but start was rejected\nSep  9 20:57:17 jin nesessionmanager[123] <Notice>: NESMVPNSession[a:53727108-B0D8-4840-99E6-AAD928F4A88E]: status changed to disconnecting\nSep  9 20:56:44 jin Preferences[201] <Warning>: Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.\nSep  9 20:56:44 jin Preferences[201] <Warning>: /BuildRoot/Library/Caches/com.apple.xbs/Sources/ExternalAccessory/ExternalAccessory-329.40.4/EAAccessoryManager.m:__51-[EAAccessoryManager _checkForConnectedAccessories]_block_invoke-632 ending background task\nSep  9 20:56:43 jin UserEventAgent[23] <Error>: Probe message failed\nSep  9 20:56:43 jin SpringBoard[54] <Error>:  SecTrustEvaluate  [leaf IssuerCommonName SubjectCommonName]\nSep  9 20:56:43 jin nehelper[101] <Error>: Configuration for provider com.apple.NetworkExtension.NetworkServiceProxy does not exist (<__NSConcreteUUID 0x13d5021f0> D2CEB35B-05E9-4A11-83A6-A625816B29D8) or is not enabled (0)\nSep  9 20:56:43 jin SpringBoard[54] <Error>:  SecTrustEvaluate  [leaf IssuerCommonName SubjectCommonName]\nSep  9 20:56:43 jin nesessionmanager[123] <Notice>: Failed to create a session with type 1 and configuration ID <__NSConcreteUUID 0x13cd23410> 9498508A-4130-4ED6-A01B-9DB2AB999CF4\nSep  9 20:56:43 jin nesessionmanager[123] <Notice>: Failed to load configuration with ID <__NSConcreteUUID 0x13cd23410> 9498508A-4130-4ED6-A01B-9DB2AB999CF4\nSep  9 20:56:43 jin nesessionmanager[123] <Notice>: Failed to create a session with type 1 and configuration ID <__NSConcreteUUID 0x13cd23410> E3328AB7-7DA2-4C06-BFB2-E0DAA3931A04\nSep  9 20:56:43 jin nesessionmanager[123] <Notice>: Failed to load configuration with ID <__NSConcreteUUID 0x13cd23410> E3328AB7-7DA2-4C06-BFB2-E0DAA3931A04\nSep  9 20:56:43 jin configd[34] <Notice>: network changed\nCoderJin=>Sep  9 20:56:42 jin kernel[0] <Notice>: AppleMesa::handleStateMachine: finger off in pause mode while command pending\nzhuhaow=>你的bundle id是com.apple？\nCoderJin=>项目的->cn.likejin.www.MyVpn ,TunnelProvider ->cn.likejin.www.MyVpn.MyVpnTunnelProvider\nzhuhaow=>系统什么版本\nCoderJin=>我看你 demo 也是这个样子的\nzhuhaow=>你能跑Specht么\nCoderJin=>没有测试 \nCoderJin=>我看土豆丝的也是这样做的 啊\nCoderJin=>你猜测是什么原因 ?\nCoderJin=>[![blob](https://files.gitter.im/zhuhaow/NEKit/h98M/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/h98M/blob)\nCoderJin=>Version 7.3.1 (7D1014)\nzhuhaow=>你先读一下官方的一些文档和demo\n\nzhuhaow=>有很多小东西要设\nzhuhaow=>我不建议不会的人上来就自己设。必然掉坑\nCoderJin=>好\nCoderJin=>我先把Specht 能不能再我这边运行 \ndurmilk=>你好，有配置好的yaml文件么？小白实在是一点也看不懂\nzhuhaow=>并没有啊……中文的说明看过了么\nzhuhaow=>telegram应该用什么，channel？\nbreakwa11=>不是频道\nbreakwa11=>是group\nzhuhaow=>group可以自己加？感觉好像只能我邀请\nbreakwa11=>建立后升级为super group，就可以建立公共链接\nbreakwa11=>需要至少一个好友才能建立group\ndurmilk=>看了，真的一点也不会。\nbreakwa11=>建立后升级超级群就好了\nzhuhaow=>好吧，一个好友也没有\nzhuhaow=>你们谁加我一下，就这个id\nbreakwa11=>加好友需要交换手机号码\nbreakwa11=>交换后就是好友了\nzhuhaow=>这里写着可以选一个username啊\nbreakwa11=>那个是搜索好友的列表吧\nzhuhaow=>搜索框里面搜我id搜不出来？\nzhuhaow=>如果真的一点不会我也没办法啊，这本来就是个自定义的东西\nzhuhaow=>https://telegram.me/joinchat/ERFGsQkJ3DXyhi07tkwpSA\nzhuhaow=>telegram group link\nzhuhaow=>https://telegram.me/NEKitGroup\nlioliy=>。。。\nlioliy=>建tg群额\nlioliy=>感觉没必要用tg，gitter挺好的。。\nzhuhaow=>都可以，我都在的\nzhuhaow=>如果gitter这个客户端不是网页的就好了\nmaocuu=>@zhuhaow  反应一个问题，使用 SecureHTTPAdapterFactory  （服务器配合 squid）， 代理 https 网站没问题，代理 http 网站好像不行。\nmaocuu=>怀疑是 url 自动后 加上 :80 导致的。\nzhuhaow=>是最新版？\nmaocuu=>是的。\nzhuhaow=>感觉加上80就不能用说明实现的不标准啊\nmaocuu=>我试试调整下squid配置看看。\nzhuhaow=>我感觉配置应该不管这个吧，你还可以试试直接改代码\nzhuhaow=>HTTPAdapter里面\nzhuhaow=>CFHTTPMessageSetHeaderFieldValue(message, \"Host\", \"\\(request.host):\\(request.port)\")\nzhuhaow=>这一行加个判断\nzhuhaow=>看看是不是解决了\nzhuhaow=>是的话我就改一下\nmaocuu=>OK、等下试试。\nzhuhaow=>还有上面的url变量\n        CFHTTPMessageSetHeaderFieldValue(message, \"Host\", \"\\(request.host):\\(request.port)\")\nmaocuu=>是把\n        CFHTTPMessageSetHeaderFieldValue(message, \"Host\", \"\\(request.host)\") 吗？\nmaocuu=>改成\nzhuhaow=>加个if判断一下是不是等于80\n        }\n            CFHTTPMessageSetHeaderFieldValue(message, \"Host\", \"\\(request.host):\\(request.port)\")\n        }else{\n            CFHTTPMessageSetHeaderFieldValue(message, \"Host\", \"\\(request.host)\")\n        if request.port == 80 {\nmaocuu=>这样？\nzhuhaow=>嗯\nzhuhaow=>还有上面的url\n        }\n            url = NSURL(string: \"\\(request.host)\")!\n        if request.port == 80 {\n        }\n            return\n            disconnect()\n            observer?.signal(.ErrorOccured(HTTPAdapterError.InvalidURL, on: self))\n        guard var url = NSURL(string: \"\\(request.host):\\(request.port)\") else {\nmaocuu=>\nmaocuu=>同样的问题。\nmaocuu=>能代理 https 网站，没法代理 http 网站\nmaocuu=>400 Bad Request， the plain HTTP request was sent to HTTPS port\nzhuhaow=>这个错误是哪里返回的\nmaocuu=>You're speaking plain HTTP to an SSL-enabled server port. \nmaocuu=>这个错误，是通过代理访问某些http 网站的提示错误\nzhuhaow=>感觉你自己的squid设置的有问题\nzhuhaow=>为什么SecureHTTPAdapter会发送plain HTTP request？\nzhuhaow=>你完整配置文件私信我\nFlowerWrong=>我之前也有，有些网站header host不标准\nzhuhaow=>怎么样的\nzhuhaow=>问题是这个header是NEKit发的\nmaocuu=>通过 squid 的 https 服务器，访问 www.ip.cn 会提示这个错误。\n    end\n      @port = @port.nil? ? 80 : @port.to_i\n    else\n      @port = @port.nil? ? 443 : @port.to_i\n      @domain, @port = @parser.request_url.split(':')\n    if @parser.http_method == 'CONNECT'\nFlowerWrong=>domain, @port = headers['Host'].split(':')\nFlowerWrong=>我是这么干的\nzhuhaow=>啊？还有connect就默认443的说法……\nzhuhaow=>去掉80端口之前也是一样的错误么？\nmaocuu=>未修改的时候，  X-Squid-Error:ERR_INVALID_URL\nmaocuu=>trying to retrieve the URL: www.ip.cn:80  \nmaocuu=>Access DEnied.\nzhuhaow=>我看看rfc怎么写的\n#http_access deny CONNECT !SSL_ports\nzhuhaow=># Deny CONNECT to other than secure SSL ports\nzhuhaow=>你设置的问题\n#http_access deny CONNECT !SSL_ports\nzhuhaow=>```# Deny CONNECT to other than secure SSL ports\nzhuhaow=>```\n#http_access deny CONNECT !SSL_ports\nzhuhaow=># Deny CONNECT to other than secure SSL ports\nzhuhaow=>诶，排版不了，你自己看吧\nzhuhaow=>NEKit现在支持SOCKS5 adapter了\nzhuhaow=>@/all \nmaocuu=>NEkit 是不是修复了  telegram 和Hangouts 的问题？\nzhuhaow=>应该修复了吧，上次修完没人再说了\nmaocuu=>刚才测试正常了。\nmaocuu=>breakwa11 来了 NEKit 是不是帮我们实现 shadowsocksR 啊\nzhuhaow=>SSR支持会有的，就是要等\nzhuhaow=>因为我最近没时间\nzhuhaow=>以下是接下来NEKit要做的事情，部分功能会反映到SpechtLite中去：\nzhuhaow=>1. 重新设计所有类的接口，现在的public和internal很乱我会从新整理，对兼容性应该无影响\nzhuhaow=>2. ssr支持，一点一点加\nzhuhaow=>3. 增加unit test\nzhuhaow=>以上东西顺序随机，进度随心，取决于我最近其它事情的顺利成都\nlioliy=>我下载了SpechtLite源码并编译用了一下，speedtest测延时高达700ms以上\nzhuhaow=>如果speedtest用的是ping那根本就不走代理\nzhuhaow=>如果走代理那就是本来就这么高\nzhuhaow=>或者speed里面的delay\nnie11kun=>有必要加dns map吗\nzhuhaow=>类似host？\nnie11kun=>对\nnie11kun=>不过感觉有了speed模式可以代替\nzhuhaow=>很难插进现有的架构中去\nzhuhaow=>即不是adapter也不是rule\nzhuhaow=>也很难定义出来的ip怎么处理，是继续match rule还是直连？\nnie11kun=>应该是更底层的规则，优先级最高\nzhuhaow=>如果是处理packet的模式的话，几行就实现了，因为DNS都是自己处理的\nzhuhaow=>但是现在SpechtLite的模式很难加这个\nnie11kun=>恩，影响也不大\nnie11kun=>访问不畅的直接走代理了\nFlowerWrong=>直接在代理层也可以哇，先查一遍自定义hosts文件，再用hosts结果connect\nFlowerWrong=>省略dns query\nzhuhaow=>只在direct adapter里面这么做？\nFlowerWrong=>我是这么干的，正常使用下想不出有别的需求，又不是搞隐身什么的。\nFlowerWrong=>建议加个mitm功能，抓包https\nbjzhou=>speedtest是走代理连https://www.google.com/generate_204\nbjzhou=>[![Screenshot 2016-09-11 10.38.53.png](https://files.gitter.im/zhuhaow/NEKit/osDi/thumb/Screenshot-2016-09-11-10.38.53.png)](https://files.gitter.im/zhuhaow/NEKit/osDi/Screenshot-2016-09-11-10.38.53.png)\nbjzhou=>我大概有病。。。。\nzhuhaow=>在你继续之前我强烈建议先讨论一下重新设计配置格式的问题\nbjzhou=>会不会继续做还得看心情😂\nlioliy=>为什么speed test会出现很高的延迟\nbjzhou=>speed test不是ping，是去连google，等他返回一个204状态码给你\nlioliy=>嗯，但安卓版的ssr我测延时是50多点，也是用的generate_204\nlioliy=>https://github.com/shadowsocks/shadowsocks-android/blob/master/src/main/scala/com/github/shadowsocks/Shadowsocks.scala  第360行 \nzhuhaow=>speed如果你设了延迟那显然是要等延迟的时间的啊\nlioliy=>\nlioliy=>嗯，没有使用speed延时300多，使用了700以上\nzhuhaow=>那就是正常就是300多。要么就是你的dns很慢\nlioliy=>我在手机上延时是50左右，应该不是dns问题，dns不是会缓存吗，第一次测后就不再用dns了吧\nzhuhaow=>dns的缓存是不由specht完成的\nzhuhaow=>不过应该是\nzhuhaow=>手机和电脑上的speedtest原理一样么？\nbjzhou=>原理是一样的，不过可能有误差\nzhuhaow=>误差很大啊，难道Geo lookup有这么慢？\nbjzhou=>试试把rule都去掉，只用all全走代理？\nzhuhaow=>我这里没什么问题，香港的68ms，包括Geo IP lookup\njannerchang=>j\n\n```\n\n    adapter: hk2\n  - type: all\nrule:\n    password: xxx\n    method: xxx\n    port: xxx\n    host: xxx\n    type: ss\n  - id: hk2\nadapter:\nport: 9090\n```yaml\n\nlioliy=>\nlioliy=>我是这样设置的\nlioliy=>现在延时高的吓人，1400多ms\nzhuhaow=>是不是测试服务器自动选的不对啊\nzhuhaow=>我还有一堆其它的规则最后也就68ms\nlioliy=>我只设置ip也300多，ping服务器是time=40.654 ms\nlioliy=>没有用speed adapter\nzhuhaow=>ping服务器的时间和最终时间肯定不一样的\nlioliy=>嗯，但也不至于300＋\nzhuhaow=>但是应该不会到300\nzhuhaow=>我想了一下配置文件的问题\nzhuhaow=>首先，为什么会有这个配置文件\nzhuhaow=>是因为我懒不想写test\nzhuhaow=>所以把之前soca用的配置文件又拿来用了。方便测试的\nzhuhaow=>在NEKit的readme也写了 明确不建议使用\nzhuhaow=>因为NEKit本身很灵活。而配置文件本身太难以达成所有人的需求了\nzhuhaow=>接下来的SpechtLite只是一个demo。所以直接用了NEKit提供的配置文件处理功能\nzhuhaow=>但是这不是说这个配置文件是好的或者这饿这个配置文件涵盖了所有的功能\nzhuhaow=>现在的问题是我应当怎样去处理配置文件\nzhuhaow=>首先NEKit本身不应当提供配置文件，这是理念本身的问题\nzhuhaow=>但是我可以把他提到一个NEKitConfiguration里去\nzhuhaow=>下一个问题就是配置文件的格式\nzhuhaow=>本来我想的是大家都有一个GUI去设置\nzhuhaow=>所以配置文件根本没用，自然就无所谓好用不好用\nzhuhaow=>但是配置文件的需求还是存在，所以我想提供一个样本也是好的，并且还可以完善一下SpechtLite\n要么就是多个服务器但是同一组规则\nzhuhaow=>大多数人的需求要么就是一个服务器一组规则\nbjzhou=>配置的关键是RuleManager吧，写GUI的话，配置文件确实没用\nzhuhaow=>最DRY最干净的方法就是所有服务器一个文件，每组规则另外的文件，然后通过alias服务器的方法，这样只需要切换alias就可以切换服务器而不用写重复的规则 当然了，每个列表也是单独的文件，这样没有一点重复 但是现在这样的配置文件已经有人说不懂 那样写基本就更没戏了\nzhuhaow=>而且如果多个文件\nzhuhaow=>gui也是个很大的问题\nzhuhaow=>单文件是最简单最容易的。还没有路径的问题\nzhuhaow=>但是单文件如何减少重复？\nbjzhou=>我想的是数据库存储...\nzhuhaow=>是啊\nzhuhaow=>我支持这样\nzhuhaow=>但是这样开发对gui的要求就高了\nzhuhaow=>如果有配置文件就可以应付高级用户的需求\nzhuhaow=>而不需要华丽的gui了\njannerchang=>用 surge 的配置就行吧\nzhuhaow=>surge废话太多了，而且我有一大堆一模一样的配置只有服务器不一样\nzhuhaow=>我改都懒得改，因为每一个都要改\nnie11kun=>支持服务器一个文件，规则一个文件\nnie11kun=>然后服务器可以分组\nzhuhaow=>我是可以理解，问题是用户能不能理解\nnie11kun=>反正现在规则也是分好几个文件的\nzhuhaow=>问题是现在的list比较好理解\nzhuhaow=>那堆映射来映射去的\nnie11kun=>现在同一个配置不同服务器要写好几个几乎一样的文件\nzhuhaow=>所以怎么设计才能比较好懂\nnie11kun=>而且说实话配置语法有点儿麻烦，基本三句行描述一个情景\nzhuhaow=>但是简单\nnie11kun=>对，对于懂点儿程序的也许比较舒服\nnie11kun=>视觉上利用率有点儿低\nzhuhaow=>为什么在意这种东西\nzhuhaow=>用yaml配置几乎是所有现在程序的一致选择\nnie11kun=>只是随便说说的哈哈\nzhuhaow=>因为比较好理解\nmaocuu=>方便第一重要。\nzhuhaow=>如果用一行如何记住顺序就是个问题\nzhuhaow=>更不要说如果有几种不同的可能组合\nnie11kun=>毕竟现在流行的ios下的那些app基本都是一个格式了\nzhuhaow=>就完全没法做了\nzhuhaow=>大家一般都喜欢follow最知名的那个么\nnie11kun=>也许吧\nzhuhaow=>我觉得又不是学个大东西，至于非要降低这点学习成本么\nzhuhaow=>支持surge格式很容易，但是真的很烂，所有问题一概都有，比现在的格式还要严重\nnie11kun=>也许他的格式符合他未来的发展需求吧\nnie11kun=>不一定适合其他开发者\nzhuhaow=>单一文件的格式确实好处理啊，多个文件怎么设计GUI来编辑？\nzhuhaow=>我记得surge最早是没有设置界面，只能手写的\nzhuhaow=>这样就很好理解为什么一定要单文件的\nnie11kun=>除非明确每个文件的类别\nnie11kun=>但相互牵扯的地方就复杂了\nzhuhaow=>还要涉及到路径问题，文件名问题，想想都烦，还不如单文件\nzhuhaow=>单文件也就是高级用户麻烦\nzhuhaow=>一般人就一个服务器几条基本规则完事\nmaocuu=>高级用户少，大部分都是菜鸟。\nnie11kun=>那就看app 的服务对象了\nnie11kun=>定位是什么\nzhuhaow=>但是我的设计理念必然要我自己用的舒心……\nzhuhaow=>所以我希望app自己去设计\nzhuhaow=>别用NEKit自带的这个\nnie11kun=>那就按你自己的想法实现\nzhuhaow=>还是要考虑普遍人民群众的啊，毕竟现在还是有人在用的\nnie11kun=>我想现在的使用者还是有一定经验的居多吧\nzhuhaow=>现在这个格式基本是极限了，再复杂基本就是方便高级用户折腾死普通用户的节奏了\nnie11kun=>纯小白应该还没有大量到来的吧\nzhuhaow=>所有内容都是纯英文应该不会到来吧\nmaocuu=>SpechtLite 怎么舒服怎么折腾。 毕竟只是 NEKit 长出来的一个分支。 只要NEKit 好用，觉得 SpechtLite 不好的，会造轮子的。\nnie11kun=>没关系做好配置示例应该问题不大\nzhuhaow=>我有若干设想，都是太复杂的针对多服务器切换的方案\nzhuhaow=>实在难以抉择\nnie11kun=>多服务器必定会越来越普遍\nmaocuu=>多服务器是指不同目标网站通过不同服务器吗？\nzhuhaow=>不是，指一样的规则切换不一样的服务器用\nzhuhaow=>你们可以正常使用pip么\nzhuhaow=>我挂了代理就是Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', BadStatusLine(\"''\",))': /simple/scipy/\nlioliy=>用Mac的小白应该不多吧，感觉现在配置挺好的，完全可以不用surge的配置啊，毕竟繁琐很多功能意义不大\nlioliy=>gui确实不好做\nbjzhou=>多服务器切换可以参考chrome插件SwitchyOmega的做法，添加一个虚情景模式，相当于一个软链接，所有规则都指向这个软链接，切换服务器只需要切换目标地址就行了\nzhuhaow=>SwitchyOmega切换服务器实际上还是要写很多个不同的profile\nbjzhou=>[![Screenshot 2016-09-12 10.51.13.png](https://files.gitter.im/zhuhaow/NEKit/PrRU/thumb/Screenshot-2016-09-12-10.51.13.png)](https://files.gitter.im/zhuhaow/NEKit/PrRU/Screenshot-2016-09-12-10.51.13.png)\nzhuhaow=>哦\nzhuhaow=>我试了一下，没明白他干了什么\nzhuhaow=>每次切服务器\nzhuhaow=>还是要进来改一下Virtual Profile指向的服务器\nbjzhou=>[![Screenshot 2016-09-12 10.56.18.png](https://files.gitter.im/zhuhaow/NEKit/NGwK/thumb/Screenshot-2016-09-12-10.56.18.png)](https://files.gitter.im/zhuhaow/NEKit/NGwK/Screenshot-2016-09-12-10.56.18.png)\njannerchang=>有这个配置app就方便多啦\njannerchang=>鸡翅膀用了一天挺稳定啊\nzhuhaow=>我要想想如何把这个用配置文件的方式写出来\nlioliy=>这种配置文件不错，和以前一样支持实时切换节点\nlioliy=>mac版的ssx都不能实时切换节点，需要等一会或重开浏览器\nzhuhaow=>在用NEKit的人觉得是要升级到Swift3还是等等\nYuQiang=>SwitchyOmega 目标服务器和规则是分开的。适合用GUI进行管理。\nnie11kun=>那个wingy是谁开发的呀\nzhuhaow=>就在群里，我就不@了，你要干啥\nnie11kun=>刚刚看到这个app，看了下居于NEkit的\nnie11kun=>就来问问\nnie11kun=>内建的规则呀\nzhuhaow=>诶，这群里没讨论过，telegram已经讨论过了\nnie11kun=>我刚刚加那个群了\nzhuhaow=>没啥劲，都不知道在说啥\nnie11kun=>看来鸡喜欢讨论实质性的技术问题\nnie11kun=>你喜欢\n应该半个钟头内就可以更新了\nZhuhao Wang, [13.09.16 21:12]\n\n正在Travis CI构建\nZhuhao Wang, [13.09.16 21:12]\n\n另外增加了SOCKS5 adapter\nZhuhao Wang, [13.09.16 21:11]\n\ntelegram应该也可以用了\nZhuhao Wang, [13.09.16 21:11]\n\n修复了SOCKS5代理的问题\nZhuhao Wang, [13.09.16 21:11]\n\nSpechtLite 0.4.0发布了\nzhuhaow=>Zhuhao Wang, [13.09.16 21:11]\nYuQiang=>d=====(￣▽￣*)b\nnie11kun=>鼓掌👏\nnie11kun=>修复socks5  待会试试Google photos\nzhuhaow=>https://travis-ci.org/zhuhaow/SpechtLite/builds/159588446\nzhuhaow=>构建好就自动发布了\nnie11kun=>我把360的域名放到reject里了，但看日志还是走的direct adopter \nnie11kun=>没匹配上\nnie11kun=>｀｀｀\n```\n2016/09/13 21:49:08:318  Request: haostat.qihoo.com Type: DirectAdapter Rule: Optional(<CountryRule countryCode:CN match:true>)\n2016/09/13 21:49:08:315  Request: haostat.qihoo.com Type: DirectAdapter Rule: Optional(<CountryRule countryCode:CN match:true>)\n2016/09/13 21:49:08:302  Request: vis.360.cn Type: DirectAdapter Rule: Optional(<CountryRule countryCode:CN match:true>)\n2016/09/13 21:49:08:298  Request: vis.360.cn Type: DirectAdapter Rule: Optional(<CountryRule countryCode:CN match:true>)\n2016/09/13 21:49:08:279  Request: index.360.cn Type: DirectAdapter Rule: Optional(<CountryRule countryCode:CN match:true>)\n2016/09/13 21:49:08:274  Request: js.login.360.cn Type: DirectAdapter Rule: Optional(<CountryRule countryCode:CN match:true>)\n2016/09/13 21:49:08:271  Request: www.so.com Type: DirectAdapter Rule: Optional(<CountryRule countryCode:CN match:true>)\nnie11kun=>```\nzhuhaow=>如果你要匹配360.cn那要写360\\.cn\n```\nqhimg\\.com\nso\\.com\nqihoo\\.com\n360\\.cn\n360\\.com\nnie11kun=>```\nnie11kun=>reject这样写的\nzhuhaow=>你是不是country rule在这个rule的前面啊\nnie11kun=>对\nnie11kun=>这个顺序还有要求的呀\nzhuhaow=>不然我怎么知道你矛盾的规则怎么选\nnie11kun=>按照配置文件的顺序设定优先级？\nzhuhaow=>对啊\nzhuhaow=>CNrule已经apply了啊\nnie11kun=>我以为是有一套你内建的顺序\nnie11kun=>好了\nnie11kun=>我发现了一个奇怪的问题\nnie11kun=>我屏蔽掉360.com，第一次刷新的确显示无法打开网页，但刷新一次却可以正常访问了\nzhuhaow=>log怎么说\nnie11kun=>一次类推，这两种状态我刷新期间来回循环\nnie11kun=>日志显示每次刷新都是正确匹配到RejectAdapter了\nnie11kun=>还有现在的0.3.1每次打开日志都会同时打开配置文件夹\nzhuhaow=>并不会啊\nzhuhaow=>你试试清空浏览器的缓存了\nnie11kun=>的确是缓存问题\nnie11kun=>清掉后没问题了\nnie11kun=>我的第二个情况，是在那个配置文件夹打开的情况下，打开日志会先置顶配置文件夹而不是日志窗口\nzhuhaow=>因为实现的时候有点问题，我是没搞懂Mac OS的置顶窗口的原理\nzhuhaow=>更新0.4.1，修复所有SOCKS5问题，我睡觉了\nrongxiong=>[![blob](https://files.gitter.im/zhuhaow/NEKit/5GI1/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/5GI1/blob)\nzhuhaow=>哇，居然又有一个人跑起来NE了\nrongxiong=>为什么同是gmail，一个用shadowsocks adapter，一个用direct adapter\nzhuhaow=>不是的，是speed adapter还没处理好这块，所以两个请求一起发出都显示出来了\nzhuhaow=>speed adapter一直有一点问题，但是能用，实在没时间改，所以Event这个也没处理过\nrongxiong=>我没配置speed adapter的，这是默认启用的吗？\nzhuhaow=>不是，你的配置文件怎么写就是怎么连的\nrongxiong=>[![blob](https://files.gitter.im/zhuhaow/NEKit/5YJE/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/5YJE/blob)\nzhuhaow=>adapter1什么类型？\nrongxiong=>我这样配然后黑名单没起作用\nrongxiong=>shadowsocks\nzhuhaow=>大概是黑名单没写成正则\nrongxiong=>[![blob](https://files.gitter.im/zhuhaow/NEKit/79vh/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/79vh/blob)\nrongxiong=>不是这样写的吗？\nzhuhaow=>没什么问题\nrongxiong=>不知道哪个环节出了问题\nzhuhaow=>你的黑名单没走代理？\nrongxiong=>对，没走\nzhuhaow=>那黑名单里的域名match到什么rule了\nrongxiong=>[![blob](https://files.gitter.im/zhuhaow/NEKit/WRX2/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/WRX2/blob)\nrongxiong=>应该是match上的，但就是打不开网页\nrongxiong=>我似乎找到了一点规律了，感觉只有第个list会起作用\nmaocuu=>NEKit 支持 swift 2.3 吗？\nzhuhaow=>2.2和2.3几乎没有区别\nzhuhaow=>我主要是要不要升到3\nmaocuu=>我升级到 swift 2.3 了。 carthage update 失败了。\nzhuhaow=>其它项目编译失败了还是NEKit编译失败了\nzhuhaow=>2.3删了两个感叹号，看起来更像是SDK的更新\n\n** CLEAN FAILED **\nmaocuu=>A shell task (/usr/bin/xcrun xcodebuild -workspace /Users/mao/nekit18/Carthage/Checkouts/CocoaLumberjack/Framework/Lumberjack.xcworkspace -scheme CocoaLumberjackSwift-iOS -configuration Release -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build) failed with exit code 65:\nzhuhaow=>这个错误怎么看都不是swift的问题吧\nmaocuu=>网上说是要升级 carthage 0.18\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:4268:3: warning: 'AsyncSocket' is de\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:4252:38: warning: 'AsyncSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:4252:3: warning: 'AsyncSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:671:17: warning: Implementing deprecated class [-Wdeprecated-implementations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:4282:38: warning: 'AsyncSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:4282:3: warning: 'AsyncSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:4268:38: warning: 'AsyncSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:4268:3: warning: 'AsyncSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:4252:38: warning: 'AsyncSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:4252:3: warning: 'AsyncSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncSocket.m:671:17: warning: Implementing deprecated class [-Wdeprecated-implementations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncUdpSocket.m:2307:41: warning: 'AsyncUdpSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncUdpSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncUdpSocket.m:2307:3: warning: 'AsyncUdpSocket' is deprecated: The RunLoop versions of CocoaAsyncSocket are deprecated and will be removed in a future release. Please migrate to GCDAsyncUdpSocket. [-Wdeprecated-declarations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/RunLoop/AsyncUdpSocket.m:195:17: warning: Implementing deprecated class [-Wdeprecated-implementations]\n/Users/mao/Desktop/NEKit/Carthage/Checkouts/CocoaAsyncSocket/Source/GCD/GCDAsyncSocket.m:1985:37: warning: multiple methods named 'initWithDelegate:delegateQueue:socketQueue:' found [-Wstrict-selector-match]\n(1 failure)\n\tCheck dependencies\nThe following build commands failed:\n\n\n** BUILD FAILED **\n(1 failure)\n\tCheck dependencies\nThe following build commands failed:\n\n\n** CLEAN FAILED **\n*** Building scheme \"CocoaLumberjackSwift-iOS\" in Lumberjack.xcworkspace\nmaocuu=>\nbjzhou=>升级xcode8，下载完成后安装到一半又开始重新下载了是什么鬼\nFlowerWrong=>是这样的\nzhuhaow=>我更新了，没遇到这个问题\nFlowerWrong=>你们carthage成功吗？我原来用2.2。系统的默认是3\nzhuhaow=>不成功。还没编译出来\nlioliy=>需要升swift3？\neasunny=>今天刚刚升级了xcdoe carthage一直编译失败 我把里面的chekcout的项目手动改成swift2.3版本了 编译tun2socks的时候出了问题\neasunny=>Xcode = =\neasunny=>[![blob](https://files.gitter.im/zhuhaow/NEKit/Iqut/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/Iqut/blob)\nzhuhaow=>最近没空，不处理这些问题\nbjzhou=>有个诡异的问题，mac同时挂着gitter和telegram客户端，关掉telegram客户端窗口，gitter窗口会弹出来。。。\nzhuhaow=>我还有finder和console乱跳的\nloik160=>@zhuhaow 不知道我怎么搞的 现在我打开软件。。状态栏不会出现软件图标了 。。。用不了\nluckypoem=>怎么用不了啊？\nwksora=>问一下，有没有谁转换过 gfwlist 到这边的配置。\nwksora=>还一个小问题，已经载入过的配置，但是删除了配置文件，怎么让他在下拉栏里也能删除掉。\nzhuhaow=>Reload config\nzhuhaow=>发现问题了\nzhuhaow=>修复了\nwksora=>有考虑可以支持下 gfwlist 或者 pac 格式的规则文件么？\nzhuhaow=>无，不会支持\nwksora=>走 Speed 模式的时候，所有配置在 Speed 里面的代理流量是否都会用到（换言之流量是否会 X n）？还是只是在测试谁延迟最快，然后再传流量。 每次都走会不会出现服务器跳来跳去的情况，有没有考虑选择之后一段时间内都用那台服务器。\nzhuhaow=>只是发起多个连接\nzhuhaow=>那个先连上用哪个\nCoderJin=>[![blob](https://files.gitter.im/zhuhaow/NEKit/fjce/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/fjce/blob)\nCoderJin=>没文档了吗\nsimpzan=>@wksora pac ios NE sdk支持的，用NEProxySettings可以设置。\nclavichord93=>能不能给Specht加入词典支持，方便实用Apple Script和Alfred？\nzhuhaow=>已经很方便了啊……应该不会做\nrongxiong=>Specht是不是所有DNS请求都是走的本地？\nzhuhaow=>是也不是，我不知道你是怎么理解的\nzhuhaow=>发给代理服务器的一定是域名\nnie11kun=>\nnie11kun=>\n2016/09/27 21:18:58:452  Request: github-cloud.s3.amazonaws.com Type: ShadowsocksAdapter Rule: <AllRule>\nnie11kun=>2016/09/27 21:18:58:148  Request: github-cloud.s3.amazonaws.com Type: DirectAdapter Rule: <AllRule>\nnie11kun=>发现同一个流量日志里有两条记录，不知道实际走的哪个\nzhuhaow=>不知。因为speed adapter的log一直没写好\nnie11kun=>应该direct\nnie11kun=>Mac自带字典里的wikipedia不能走代理嘛\nnie11kun=>试了下无法访问，看了下日志里面也没有访问记录\nzhuhaow=>我好像一直可以访问wiki\nnie11kun=>我这边不行\nzhuhaow=>我明天试试\nnie11kun=>[![Screen Shot 2016-09-28 at 22.24.58.png](https://files.gitter.im/zhuhaow/NEKit/ftGb/thumb/Screen-Shot-2016-09-28-at-22.24.58.png)](https://files.gitter.im/zhuhaow/NEKit/ftGb/Screen-Shot-2016-09-28-at-22.24.58.png)\nzhuhaow=>今天忘了\nnie11kun=>😳\nCloudnuY=>为什么点Show log之后日志显示出来了，但是把Finder唤醒到前台了。。有时候还会唤醒其他运行中但不在前台的程序\nbjzhou=>@zhuhaow 把showLogfile里的selectFile改成openFile\nzhuhaow=>字典就是不走代理，也没办法\nnie11kun=>不过用处也不大\nnie11kun=>speed的确感觉有问题，使用中一般都无法准确处理allrule\nCoderJin=>[![blob](https://files.gitter.im/zhuhaow/NEKit/xg3I/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/xg3I/blob)\n这样匹配 好像不管用 ,直接用tudou\\\\.com  好像可以在RejectAdapterFactory 有作用 @zhuhaow  ?有办法匹配没\nCoderJin=> \nzhuhaow=>前面的点为什么不转义\nCoderJin=>ok \nCoderJin=>谢谢\nwangjinwei0806=>@zhuhaow  - `DomainRuleList` can match domain based on prefix, suffix and keyword.   这个啥时候发布 ,NEKit大神...\nzhuhaow=>可以用了。只不过配置文件不支持\nzhuhaow=>正则比他们强太多\nwangjinwei0806=>牛 B ..\nnie11kun=>suffix不是本来就支持吗\nclavichord93=>今天升级0.4.8之后directlist文件显示如下错误：\nclavichord93=>http://ww1.sinaimg.cn/large/006y8lVagw1f8js11h2i1j30s00g8wgl.jpg\nclavichord93=>这是什么情况。。。0.4.7的时候没有这个问题\nzhuhaow=>升级0.4.9试试\nclavichord93=>可以了～\nzgia=>请问 @zhuhaow 在吗？\nzgia=>@clavichord93 规则中不能有空行\nzgia=>@zhuhaow 规则中有个g.co，这样xxxg.com就会被解析成g.co，这个情况下，请问g.co如何设置？\nzhuhaow=>^g.co\nbjzhou=>^g\\.co$\nzhuhaow=>'''\nbjzhou=>为什么转译的\\会消失。。\nzgia=>多谢，我试一试\nzhuhaow=>``` ^g\\.co ```\nzgia=>ok了\nzgia=>thx\nzgia=>我都没有对.进行转义\nzgia=>发现也可以\nzgia=>再请教一个问题\nzgia=>[![blob](https://files.gitter.im/zhuhaow/NEKit/NnRc/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/NnRc/blob)\nzgia=>请这里的delay是如何起作用的？\nzgia=>[![blob](https://files.gitter.im/zhuhaow/NEKit/brD9/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/brD9/blob)\nzgia=>我有多个ss，如果SpechtLite\nzgia=>我有多个ss，如果SpechtLite每次取的都是Delay最小的那么是不是说speed中delay大的就没有用了呢\nzhuhaow=>每次根据delay同时连接，取先连接成功的\nzgia=>明白了，多谢多谢\n\n\t}\n\t    reportReason = \"REPORT_REASON_DATA_STALL_AT_APP_LAYER\";\n\t    delegated = 0;\n\t    };\n\t        trafficClass = 0;\n\t        \"timeToDNSStart_msecs\" = 0;\n\t        \"timeToDNSResolved_msecs\" = 0;\n\t        \"timeToConnectionStart_msecs\" = 3;\n\t        \"timeToConnectionEstablishment_msecs\" = 4;\n\t        tcpFastOpen = 0;\n\t        synRetransmissionCount = 0;\n\t        \"smoothedRTT_msecs\" = 0;\n\t        packetsRetransmitted = 0;\n\t        packetsOutOfOrder = 0;\n\t        packetsOut = 1;\n\t        packetsIn = 0;\n\t        packetsDuplicate = 0;\n\t        kernelReportingWriteStalled = 0;\n\t        kernelReportingReadStalled = 0;\n\t        kernelReportingConnectionStalled = 0;\n\t        kernelReportedStalls = 0;\n\t        interfaceType = \"INTERFACE_TYPE_WIFI\";\n\t        \"flowDuration_msecs\" = 15654;\n\t        \"currentRTT_msecs\" = 0;\n\t        connectionReuseCount = 0;\n\t        \"connectionEstablishmentTime_msecs\" = 1;\n\t        connectedInterfaceType = \"(unknown: 4)\";\n\t        connected = 1;\n\t        cellularRRCConnected = 0;\n\t        cellularFallback = 0;\n\t        bytesRetransmitted = 0;\n\t        bytesOutOfOrder = 0;\n\t        bytesOut = 410;\n\t        bytesIn = 0;\n\t        bytesDuplicate = 0;\n\t        betterRouteEventCount = 0;\n\t        \"bestRTT_msecs\" = 0;\n\t        appReportingDataStallCount = 1;\n\t        \"appDataStallTimer_msecs\" = 3;\n\t        RTTvariance = 0;\n\t        \"DNSResolvedTime_msecs\" = 0;\n\t        DNSAnswersCached = 0;\n\t    connectionStatisticsReport =     {\n\t    clientIdentifier = \"com.burbn.instagram\";\n\t    };\n\t        );\n\t            3013\n\t        \"timeToNetworkEvents_msecs\" =         (\n\t        );\n\t            \"NETWORK_EVENT_DATA_STALL_AT_APP_LAYER\"\n\t        networkEvents =         (\n\t        fellback = 0;\n\t        \"fallbackTimer_msecs\" = 0;\n\t        );\n\t            }\n\t                bytesOut = 410;\n\t                bytesIn = 0;\n\t                        {\n\t        dataUsageSnapshotsAtNetworkEvents =         (\n\t    cellularFallbackReport =     {\n\t<AWDLibnetcoreTCPConnectionReport: 0x12fd6c590> {\nOct  8 11:52:01 jin networkd[88] <Error>: -[NETAWDManager reportStats:metricID:] AWDServerConnection newMetricContainerWithIdentifier failed for metric 2686983, server 0x12fe773c0, not reporting:\nhost:scontent.cdninstagram.com port: 80)> received request <ConnectRequest host:scontent.cdninstagram.com port:80>.\nwangjinwei0806=>instagram 图片打不开 ruller  instagram\\.com\nwangjinwei0806=>哪位大哥知道怎么回事 是不是应该匹配keyword? instagram?\nzhuhaow=>instagram的cdn有些地方dns污染了\nwangjinwei0806=>如果全局走代理的话 ,没啥问题的 \nwangjinwei0806=>如果我用移动4G网络 的话 instagram的图片能显示..\nnie11kun=>是否speed里的delay越大相当于越照顾对应的adepter？\nzhuhaow=>越小\nnie11kun=>恩，如果我有一条us线路和hk线路，为了优先使用us的大流量我就要吧hk的delay设大了吧\nzhuhaow=>那就把hk去掉\nnie11kun=>加上hk可以防止us偶尔抽风\nzhuhaow=>那就随意了\nnie11kun=>有人在使用twitter的Mac客户端吗\nnie11kun=>我的登录不了，弹出一个空白的页面一直无响应\nnie11kun=>[![Screen Shot 2016-10-08 at 21.00.22.png](https://files.gitter.im/zhuhaow/NEKit/kchS/thumb/Screen-Shot-2016-10-08-at-21.00.22.png)](https://files.gitter.im/zhuhaow/NEKit/kchS/Screen-Shot-2016-10-08-at-21.00.22.png)\nnie11kun=>查了下日志也是没什么异常的链接\nnie11kun=>研究了下正则表达式\nnie11kun=>功能很强大\nnie11kun=>如果我想匹配所有google关键字的话是否因该添加下面的\nnie11kun=>\\bgoogle\nnie11kun=>Google\\b\nzhuhaow=>google\nnie11kun=>直接写google会不会无法匹配类似uersgoogle.com\nzhuhaow=>不会\nTangMonk=>很好用啊\nTangMonk=>这个rule的配置\nTangMonk=>请问下什么时候可以上架到商店呢\nTangMonk=>Network Extension是可以全局代理的吧，shell都可以代理吧?\nzhuhaow=>应该不会上架\nTangMonk=>唔。。上架多好\nTangMonk=>那只有让我朋友帮我编译一个了\nzhuhaow=>不建议使用 不稳定\nTangMonk=>哦，好的，那我只用Lite版本了\nrongxiong=>那以后Specht都不更新了吗？我都想参与开发了，只是看不太懂\nzhuhaow=>看不懂为何还要开发。应该不会更新吧。一直也没更新过\nrongxiong=>可惜了，Extension多好用的\nlioliy=>github怎么更新fork上的内容\nzhuhaow=>pull一下吧\nlioliy=>刚才点错pullrequest到zhuhaow:master上了。不是自己可以pullrequest更新fork上的内容吗\nlioliy=>https://github.com/lioliy/SpechtLite/commit/2d336dd0bd6843ecf795d23792d68299afb26e35 像这个\nlioliy=>好了\nnetworkextension=>提了一个issue https://github.com/zhuhaow/NEKit/issues/20\nnetworkextension=>32bit  iOS9 下IPv4Address hashValue 错误\nzhuhaow=>@abigt 为什么会出错\nnetworkextension=>@zhuhaow  UInt32 to Int 问题\nzhuhaow=>那为什么swap了就不会有问题了\nnetworkextension=>@zhuhaow  byteswap 后不溢出\nzhuhaow=>感觉你这只是偶然对了而已\nnetworkextension=>@zhuhaow  http://stackoverflow.com/questions/29434253/xcode-exc-breakpoint-exc-arm-breakpoint-subcode-0xe7ffdefe 类似问题的讨论\nnetworkextension=>@zhuhaow  byteswap 后也会溢出，不过ip地址是0x00000000-0xffffffff\nnetworkextension=>而0x00 开头的基本碰不到\n        }\n            print(addr.hashValue)\n            let addr = IPv4Address.init(fromUInt32InHostOrder:(UInt32.max - UInt32(i)))\n            \nnetworkextension=>@zhuhaow 测试代码 for i in 1 ...  100{\n        return Int(r) 测试没问题\nnetworkextension=>let r :Int32 = Int32(bitPattern: _in_addr.s_addr)\nnetworkextension=>这个问题是UInt32 在32为cpu 不能直接转成Int\nzhuhaow=>我会看一下。但是不好测试啊\nzhuhaow=>32位是5和5c？\nnetworkextension=>5c 和5 都是32bit\nzhuhaow=>直接返回hashvalue就好了\nnetworkextension=>嗯\nCoderJin=>[![blob](https://files.gitter.im/zhuhaow/NEKit/BhdY/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/BhdY/blob)\nCoderJin=>你们能用Carthage 获取 NEKit 最新版本吗?为啥我编辑总是这个错误 ..能指点不 ?\nzxl777=>请问一下，用NEKIT＋SS，在iOS上是有一个本地的socket5代理吗？还是iOS本身的NEPacketTunnelProvider直接接管了网络IP包？\nzhuhaow=>应该都不是\nzxl777=>那是什么方式？\nzhuhaow=>是http代理转发请求\nzxl777=>Shadowrocket连接后，我看wifi的网络设置，http代理是关闭的。\nzhuhaow=>因为并不是在那个接口上\nzxl777=>是不是在 NEPacketTunnelProvider 提供的接口上？\nzhuhaow=>嗯\nplokijuhhb=>请问一下 NEKit有没有打算支持iOS9.0-9.2这之间的版本呢, 还是说这段版本之间有一些坑点吗\nzhuhaow=>我也不知道\nzhuhaow=>能编译就能用吧\nzxl777=>请问，设置直连，不通过代理，是不是通过设置NEIPv4Route？\nzhuhaow=>什么都不设就好了\nzxl777=>QQ 访问 UTUN0 interface ，什么都不设置，QQ会通过UTUN0访问外网？\nzxl777=>已经打开VPN都情况下\nzhuhaow=>不会\nzxl777=>怎么设置，让QQ直连外网？\nzhuhaow=>什么都不设\nzxl777=>什么都不设置的话，QQ通过哪个路径访问外网？直接通过物理网卡？无视UTUN0虚拟网卡？\nzhuhaow=>嗯\nzxl777=>那通过设置哪一项，让Safari － Youtube知道要通过虚拟网卡？\nzhuhaow=>设哪一项应该都做不到\nzhuhaow=>你网络一点不懂？\nzxl777=>差不多不懂，一片混乱了\nzhuhaow=>不懂还做这种？\nzxl777=>暂时不懂：） 我看官方文档说是都通过UTUN0处理 － This is a virtual interface, so instead of sending the packets out over the physical network it will divert them to the NEPacket Tunnel Provider.\nzxl777=>NEPacket Tunnel Provider has a lot of control over the UTUN0 interface. Most importantly, it can specify the routes.\nzxl777=>不知道我和你说的是不是一个东西？\nzhuhaow=>你路由表没写一个包也不会发过去的\nzhuhaow=>代理服务器则是另一个问题\nzxl777=>设置路由表，是不是通过设置NEIPv4Route？\nzhuhaow=>是\nzxl777=>我先设置路由表，让QQ 读写 UTUN0，然后自己写代理程序转发QQ的读写数据吗？\nzhuhaow=>嗯\nila123=>请问type: SPEED,如果配置过多代理，会不会导致访问过慢？这个speed的规则在哪看？\nzhuhaow=>在哪里看？\nnie11kun=>不会慢但应该会负载大吧\nila123=>就是想请问adapters下有10个id和一个id，速度是一样的吗？是不是配置10id就10个id都发起一次请求\nzhuhaow=>是\nila123=>明白，非常感谢！ @zhuhaow  @nie11kun \nsiton=>66666\nmaocuu=>NEKit swift3 分支  carthage update --no-use-binaries --platform ios 好像有错误。\nmaocuu=>用模拟器有问题，再用真机试试。\nzhuhaow=>把carthage文件夹删掉\n func tcp_recv_func(_ arg: UnsafeMutableRawPointer?, pcb: UnsafeMutablePointer<tcp_pcb>?, buf:  \nmaocuu=>\n    socket.recved(buf!)  报错。\nmaocuu=>里面的 \nmaocuu=>tun2socks was compiled with optimization - stepping may behave oddly; variables may not be available.\nmaocuu=>swift3 一会就断线了。。。\nzhuhaow=>tun的问题暂时无力修复\n\nmaocuu=>libswiftFoundation.dylib`function signature specialization <Arg[0] = Owned To Guaranteed, Arg[1] = Dead> of static Foundation.Data._unconditionallyBridgeFromObjectiveC (Swift.Optional<__ObjC.NSData>) -> Foundation.Data:\nzhuhaow=>这是哪里的\nopchen=>@zhuhaow I have an issue with ip setting\nopchen=>我设置了特别的ip地址通过某个socks5出去，但设置貌似没有生效。如果排错呢？\nopchen=>如何排错呢？\nzhuhaow=>不明白你的意思\nopchen=>我的iplist文件是每个ip段写了一行： 192.168.1.0/24\n    file: ~/.SpechtLite/inner\n    adapter: SOCKETS-CD\nopchen=>  - type: iplist\n       port: 1081\n       host: 127.0.0.1\n       type: socks5\nopchen=>     - id: SOCKETS-CD\nzhuhaow=>然后你想干嘛\nopchen=>我想让 192.168.1.0这个网段的网络通信都通过我设置的socks5代理走\nopchen=>但是貌似设置没有起到作用，不知道如何排错\nzhuhaow=>自己设置系统代理，把bypass里面的192.168/16去掉\nopchen=>bypass已经去掉了\nzhuhaow=>什么样的请求\nopchen=>http\nzhuhaow=>terminal的？\nopchen=>不是，web的\nzhuhaow=>log怎么说\nopchen=>log里没显示我的记录\nzhuhaow=>什么客户端\nopchen=>chrome\nopchen=>其他设置是生效的，比如google，youtube\nzhuhaow=>设了代理了\nzhuhaow=>？\nopchen=>但就是iplist的配置没有起作用\nopchen=>代理已经设置为system profile\nzhuhaow=>你chrome代理怎么设的\nopchen=>system proxy\nzhuhaow=>chrome://net-internals/#proxy\nopchen=>哦，看到了，这里有个bypass 192.168.0.0/16\nopchen=>但是系统设置里没有\nopchen=>奇怪的是在系统里又看到192.168，我删除后，在log中看到我的匹配了。请问是什么原因呢？\nopchen=>现在正常了\nopchen=>OK, 现在可以通过日志看到通过socks走流量了，但是我的chrome是一直在loading，并没有访问到目标网页。\nzhuhaow=>直接设成127.0.0.1:1081可用？\nopchen=>是的，直接设置是可用的\nzhuhaow=>可能有bug吧，不知道了，没人用socks5，也没太多测试，而且只支持最标准的一种情况\nopchen=>最标准是指什么情况呢\nzhuhaow=>发510\nzhuhaow=>对面会5X\nzhuhaow=>然后根据请求发5101，5104或者5013\nzhuhaow=>其他的所有情况都不支持\nopchen=>好的，谢谢\nxohozu=>@zhuhaow 你好，请问一点关于NE权限申请的问题？之前尝试申请NE权限，理由大概是personal education use，但是被拒了。\nzhuhaow=>已经不需要申请了\nxohozu=>是最近更改的吗?我是在8月申请过一次被拒。\nxohozu=>👍先试玩一下Specht看看\nTralny=>ins看不了图能破吗？😂\nzhuhaow=>规则问题\nTralny=>改好了，谢谢作者了。\nTralny=>🌚🌚🌚\nArgs=>请问出现这个的原因是什么呢 Error Domain=NEVPNErrorDomain Code=5 \"permission denied\" \nexxfzc=>为什么我的用不了呀,伤心....\n2016/12/13 20:34:13:097  Request: xp.apple.com Type: SpeedAdapter Rule: <AllRule>\n2016/12/13 20:34:11:366  Request: init.itunes.apple.com Type: DirectAdapter Rule: <CountryRule countryCode:CN match:true>\n2016/12/13 20:32:32:912  Request: api.smoot.apple.com.cn Type: DirectAdapter Rule: <CountryRule countryCode:CN match:true>\n2016/12/13 20:32:20:281  Request: www.google.com Type: SpeedAdapter Rule: <IPRangeList>\n2016/12/13 20:31:24:969  Request: zhidao.baidu.com Type: DirectAdapter Rule: <CountryRule countryCode:CN match:true>\n2016/12/13 20:30:48:242  Request: api-glb-sea.smoot.apple.com Type: SpeedAdapter Rule: <AllRule>\n2016/12/13 20:30:43:563  Request: api-glb-sea.smoot.apple.com Type: SpeedAdapter Rule: <AllRule>\n2016/12/13 20:30:41:373  Request: api-glb-sea.smoot.apple.com Type: SpeedAdapter Rule: <AllRule>\n2016/12/13 20:30:32:122  Request: api-glb-sea.smoot.apple.com Type: SpeedAdapter Rule: <AllRule>\n2016/12/13 20:30:32:119  Request: api-glb-sea.smoot.apple.com Type: SpeedAdapter Rule: <AllRule>\n2016/12/13 20:30:31:933  Request: api.smoot.apple.com.cn Type: DirectAdapter Rule: <CountryRule countryCode:CN match:true>\n2016/12/13 20:30:29:505  Request: kstj.baidu.com Type: DirectAdapter Rule: <CountryRule countryCode:CN match:true>\n2016/12/13 20:30:29:504  Request: gss0.bdstatic.com Type: DirectAdapter Rule: <CountryRule countryCode:CN match:true>\n2016/12/13 20:30:29:202  Request: api-glb-sea.smoot.apple.com Type: SpeedAdapter Rule: <AllRule>\n2016/12/13 20:29:29:165  Request: ws.audioscrobbler.com Type: SpeedAdapter Rule: <AllRule>\n2016/12/13 20:28:23:762  Request: zhidao.baidu.com Type: DirectAdapter Rule: <CountryRule countryCode:CN match:true>\nexxfzc=>2016/12/13 20:27:55:225  Request: api.smoot.apple.com.cn Type: DirectAdapter Rule: <CountryRule countryCode:CN match:true>\nexxfzc=>貌似speed test不准确,测速经常去到2000多ms,但是上网速度很快\nzhuhaow=>那你就心中除100吧\n这行就报这个错，请问这个应该从哪入手解决？\nsuzee=>dyld: lazy symbol binding failed: can't resolve symbol __TZFO4Yaml4Yaml4loadfzSSS0_ in /Users/fanzz/Library/Developer/Xcode/DerivedData/network-ezpscqqsdkszvsctgbuoegfxtvbo/Build/Products/Debug-iphonesimulator/NEKit.framework/NEKit because dependent dylib #1 could not be loaded            加载NEKit时候程序运行到            try config.load(fromConfigString: content)\nzhuhaow=>学一下怎么用carthage\nzhuhaow=>估计没加yaml库\nsuzee=>carthage 加载完成了，编译也成功了，运行时候就报这个错，yaml这个库是存在的\nzhuhaow=>你用过carthage么\nsuzee=>用过，略小白\nzhuhaow=>不知道为什么，因为我没遇到过，但是明显库没找到\nzhuhaow=>但是显示的错误也很奇怪\nzhuhaow=>你carthage没用no use binary?\nsuzee=>google 了好久，其他类似错误都能通过把库加入到Embedded中，Linked Frameworks and LIbraries 中移除掉就可以解决掉类似这种could not be loaded 错误，但是这个NEKit没有 Embedded Binaries, 就一直报这个错误，carthage update时候用的 no use binary\nsuzee=>一脸懵逼，求大神指路\nsuzee=>我成功的通过父工程添加yaml逃避了这个问题😂😂😂~~~~\n    }这个代码块一直循环状态，多次循环后，崩溃，->  0x10062d1ec <+120>: brk    #0x1\n        return littleEndian ? v.littleEndian : v.bigEndian\n        position += MemoryLayout<T>.size\n        }\n          \n             $0.advanced(by: position).load(as: T.self)\n          \n        let v = data.withUnsafeRawPointer {\n\n        }\n            return nil\n        if remaining < MemoryLayout<T>.size {\nsuzee=>@zhuhaow  配置ss代理用networkExtension加载NEKit,连上一会就断开，断点测试显示   open func read<T: BinaryReadable>() -> T? {\nsuzee=>无其他报错信息，仅在 函数调用栈执行过程中提示，function signature specialization <preserving fragile attribute, Arg[1] = [Closure Propagated : reabstraction thunk helper from @callee_owned (@unowned Swift.UnsafeBufferPointer<Swift.UInt8>) -> () to @callee_owned (@unowned Swift.UnsafeBufferPointer<Swift.UInt8>) -> (@out ()), Argument Types : [@callee_owned (@unowned Swift.UnsafeBufferPointer<Swift.UInt8>) -> ()]> of generic specialization <preserving fragile attribute, ()> of Swift.StaticString.withUTF8Buffer <A> ((Swift.UnsafeBufferPointer<Swift.UInt8>) -> A) -> A  ->  0x10062d1ec <+120>: brk    #0x1\nsuzee=>大神，求提示下，非常感谢\nzhuhaow=>你给个stack也行啊，都不知道错在哪\n\nsuzee=>#2\t0x0000000100319818 in BinaryDataScanner.(read<A where ...> () -> A?).(closure #1) at   NEKit-master/src/Utils/BinaryDataScanner.swift:64\nzhuhaow=>stack\nzhuhaow=>把整个crash report发出来\n\n    0x100604704 <+96>: bl     0x10062d174               ; function signature specialization <preserving fragile attribute, Arg[2] = Dead, Arg[3] = Dead> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt, flags : Swift.UInt32) -> Swift.Never\n    0x100604700 <+92>: movz   w6, #0\n    0x1006046fc <+88>: orr    w5, wzr, #0x2\n    0x1006046f8 <+84>: orr    w4, wzr, #0x20\n    0x1006046f4 <+80>: orr    w2, wzr, #0x2\n    0x1006046f0 <+76>: movz   w1, #0xb\n    0x1006046ec <+72>: nop    \n    0x1006046e8 <+68>: adr    x3, #955496               ; \"load from misaligned raw pointer\"\n    0x1006046e4 <+64>: nop    \n    0x1006046e0 <+60>: adr    x0, #951226               ; \"fatal error\"\n    0x1006046dc <+56>: mov    x29, sp\n    0x1006046d8 <+52>: stp    x29, x30, [sp, #-16]!\n    0x1006046d4 <+48>: brk    #0x1\n    0x1006046d0 <+44>: br     x4\n    0x1006046cc <+40>: mov    x2, x3\n    0x1006046c8 <+36>: mov    x0, x8\n    0x1006046c4 <+32>: ldr    x4, [x9, #48]\n    0x1006046c0 <+28>: cbnz   x10, 0x1006046d8          ; <+52>\n    0x1006046bc <+24>: and    x10, x10, x1\n    0x1006046b8 <+20>: add    x1, x2, x0\n    0x1006046b4 <+16>: b.lo   0x1006046d4               ; <+48>\n    0x1006046b0 <+12>: subs   x10, x10, #1              ; =1 \n    0x1006046ac <+8>:  add    x10, x10, #1              ; =1 \n    0x1006046a8 <+4>:  ldrh   w10, [x9, #144]\n    0x1006046a4 <+0>:  ldur   x9, [x3, #-8]\nsuzee=>libswiftCore.dylib`Swift.UnsafeRawPointer.load <A> (fromByteOffset : Swift.Int, as : A.Type) -> A:\nzhuhaow=>你要是在xcode里调试crash的时候把左边的stack截个图\nsuzee=>[![屏幕快照 2016-12-16 下午1.57.45.png](https://files.gitter.im/zhuhaow/NEKit/RM2o/thumb/____-2016-12-16-__1.57.45.png)](https://files.gitter.im/zhuhaow/NEKit/RM2o/____-2016-12-16-__1.57.45.png)\nzhuhaow=>不要用TUNInterface\nsuzee=>enen\nzhuhaow=>readme里面不是写了么\nsuzee=>恩恩，粗心了，谢谢，非常感谢\nsuzee=>[![屏幕快照 2016-12-16 下午2.48.44.png](https://files.gitter.im/zhuhaow/NEKit/V2E4/thumb/____-2016-12-16-__2.48.44.png)](https://files.gitter.im/zhuhaow/NEKit/V2E4/____-2016-12-16-__2.48.44.png)\nsuzee=>@zhuhaow 链接上一会断开了就\nzhuhaow=>错误是什么\nYzsXQ=>@suzee 我也有这个问题\n\n->  0x100a5aa44 <+160>: brk    #0x1\n    0x100a5aa40 <+156>: ret    \n    0x100a5aa3c <+152>: ldp    x20, x19, [sp], #32\n    0x100a5aa38 <+148>: ldp    x29, x30, [sp, #16]\n    0x100a5aa34 <+144>: sub    sp, x29, #16              ; =16 \n    0x100a5aa30 <+140>: str    x19, [x0, #16]\n    0x100a5aa2c <+136>: bl     0x100a43bb4               ; rt_swift_allocObject\n    0x100a5aa28 <+132>: orr    w2, wzr, #0x7\n    0x100a5aa24 <+128>: orr    w1, wzr, #0x18\n    0x100a5aa20 <+124>: stlr   x0, [x8]\n    0x100a5aa1c <+120>: nop    \n    0x100a5aa18 <+116>: adr    x8, #319488               ; lazy cache variable for type metadata for Foundation._SwiftNSData\n    0x100a5aa14 <+112>: bl     0x100a421a4               ; rt_swift_getInitializedObjCClass\n    0x100a5aa10 <+108>: add    x0, x8, #16               ; =16 \n    0x100a5aa0c <+104>: nop    \n    0x100a5aa08 <+100>: adr    x8, #299272               ; (void *)0x0000000100a0ecc4: Foundation._SwiftNSData.__deallocating_deinit\n    0x100a5aa04 <+96>:  cbnz   x0, 0x100a5aa24           ; <+128>\n    0x100a5aa00 <+92>:  ldr    x0, [x8, #2584]\n    0x100a5a9fc <+88>:  adrp   x8, 78\n    0x100a5a9f8 <+84>:  mov    x19, x0\n    0x100a5a9f4 <+80>:  bl     0x100a84aa0               ; symbol stub for: _swift_bridgeAnythingNonVerbatimToObjectiveC\n    0x100a5a9f0 <+76>:  mov    x0, sp\n    0x100a5a9ec <+72>:  mov    x1, x0\n    0x100a5a9e8 <+68>:  bl     0x100a50994               ; type metadata accessor for Any\n    0x100a5a9e4 <+64>:  str    x0, [sp, #24]\n    0x100a5a9e0 <+60>:  str    xzr, [sp]\n    0x100a5a9dc <+56>:  bl     0x100a508f4               ; type metadata accessor for Swift.Optional<Swift.AnyObject>\n    0x100a5a9d8 <+52>:  b      0x100a5a9e4               ; <+64>\n    0x100a5a9d4 <+48>:  str    x19, [sp]\n    0x100a5a9d0 <+44>:  bl     0x100a84cb0               ; symbol stub for: swift_getObjectType\n    0x100a5a9cc <+40>:  mov    x0, x19\n    0x100a5a9c8 <+36>:  cbz    x19, 0x100a5a9dc          ; <+56>\n    0x100a5a9c4 <+32>:  mov    x19, x0\n    0x100a5a9c0 <+28>:  bl     0x100a842cc               ; symbol stub for: objc_msgSend\n    0x100a5a9bc <+24>:  ldr    x1, #294844               ; \"copy\"\n    0x100a5a9b8 <+20>:  nop    \n    0x100a5a9b4 <+16>:  sub    sp, sp, #32               ; =32 \n    0x100a5a9b0 <+12>:  add    x29, sp, #16              ; =16 \n    0x100a5a9ac <+8>:   stp    x29, x30, [sp, #16]\n    0x100a5a9a8 <+4>:   stp    x20, x19, [sp, #-32]!\n    0x100a5a9a4 <+0>:   cbz    x0, 0x100a5aa44           ; <+160>\nsuzee=>libswiftFoundation.dylib`function signature specialization <Arg[0] = Owned To Guaranteed, Arg[1] = Dead> of static Foundation.Data._unconditionallyBridgeFromObjectiveC (Swift.Optional<__ObjC.NSData>) -> Foundation.Data:\nsuzee=>[![屏幕快照 2016-12-16 下午3.03.26.png](https://files.gitter.im/zhuhaow/NEKit/HpVU/thumb/____-2016-12-16-__3.03.26.png)](https://files.gitter.im/zhuhaow/NEKit/HpVU/____-2016-12-16-__3.03.26.png)\nsuzee=>现在变成这样了😢\nzhuhaow=>`RawSocketFactory.TunnelProvider = self`去掉\nsuzee=>好了。膜拜膜拜膜拜大神中，🙏🙏，非常感谢大神\nqianxin0126=>能通过规则 加速ss服务吗\nqianxin0126=>谁遇到iOS版wingy新版打开代理 完全断网的情况\nzgia=>[![blob](https://files.gitter.im/zhuhaow/NEKit/fHKk/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/fHKk/blob)\nzgia=>请教一个问题，百度地图，输入某个地址，比如常营，就出现如图的信息\nzgia=>于是无法定位到目的地\nzgia=>请问这个有可能是什么原因？我使用了两个配置，一个根据域名加速，一个是禁止。\nzgia=>我把两个配置都置空，还是同样\nzhuhaow=>完整网址发一下\nzgia=>http://ditu.baidu.com/\nzgia=>百度地图，输入某个地方\nzhuhaow=>log里那个\nzgia=>[![blob](https://files.gitter.im/zhuhaow/NEKit/Kibk/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/Kibk/blob)\nzgia=>http://ditu.baidu.com/?newmap=1&reqflag=pcmap&biz=1&from=webmap&da_par=direct&pcevaname=pc4.1&qt=s&da_src=searchBox.button&wd=%E5%B8%B8%E8%90%A5-%E5%9C%B0%E9%93%81%E7%AB%99&c=131&src=0&wd2=&sug=0&l=12&b=(12941506,4813149;13015234,4851485)&from=webmap&biz_forward={%22scaler%22:1,%22styles%22:%22pl%22}&sug_forward=&tn=B_NORMAL_MAP&nn=0&u_loc=12965634,4832317&ie=utf-8&t=1482140160182\nzhuhaow=>这些程序员太有创意了\nzhuhaow=>天天创建这些非法url\nzgia=>hahaha \nyueisme=>[![blob](https://files.gitter.im/zhuhaow/NEKit/c7KT/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/c7KT/blob)\n这是什么情况\n\nyueisme=>Speed test failed: Error Domain=NSURLErrorDomain Code=-1001 \"The request timed out.\" UserInfo={NSUnderlyingError=0x7fa7ad85c660 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 \"(null)\" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=https://www.gstatic.com/generate_204, NSErrorFailingURLKey=https://www.gstatic.com/generate_204, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.}\nyueisme=>adapter1 指向shadowsocks本地客户端\nnailuoGG=>type不对\nqianxin0126=>type TCP host 0.0.0.0试试再\nzhuhaow=>代理没启用吧\nyueisme=>Speed test failed: Error Domain=NSURLErrorDomain Code=-1200 \"An SSL error has occurred and a secure connection to the server cannot be made.\" UserInfo={_kCFStreamErrorCodeKey=-9806, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSUnderlyingError=0x7fd2a0edf290 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 \"(null)\" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, _kCFNetworkCFStreamSSLErrorOriginalValue=-9806, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9806}}, NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., NSErrorFailingURLKey=https://www.gstatic.com/generate_204, NSErrorFailingURLStringKey=https://www.gstatic.com/generate_204, _kCFStreamErrorDomainKey=3}\nyueisme=>恩，配置修改了，再测就是这个错误。。\nyueisme=>[![blob](https://files.gitter.im/zhuhaow/NEKit/zdLT/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/zdLT/blob)\nzhuhaow=>ssl证书错误\nzhuhaow=>可能是代理信息不对\nyueisme=>这个adapter1是配到SS客户端的端口，做二级代理，如果是直接用type: ss又会抛出-1001错误 :worried: \nyueisme=>怪怪的\nzhuhaow=>ss的端口是socks5喽\nyueisme=>尴尬啦~我试试\n我记得windows上socks跟http代理都是一个端口的，那么mac按道理填http/socks5都一样吧\nyueisme=>不行，又是-1001\nzhuhaow=>啊？\nyueisme=>以后再看看吧，先不折腾了\nArgs=>[self.packetFlow readPacketsWithCompletionHandler:];用这个份方法的时候读取到的好像都是IP数据报请问这正常吗？\nzhuhaow=>你想读到什么……\nArgs=>额..其实我现在的问题是，读到这些数据报 如果我想把数据传回，不走服务器，只通过tunnel来监控网络 需要用什么方式传回呢  困扰几天了- -\nArgs=>而且我看好多源码中都是建立了NWUDPSession，但是我不知道这个是否能给自己传数据，而且怎么看这玩意也不像是为ip数据报准备的呀\nzhuhaow=>不能这样监控网络\nArgs=>(惊 那监控网络是怎么实现的 这个？NEAppProxyProvider 大牛给个方向\nzhuhaow=>监控什么\nArgs=>比如我想把某个地址的信息屏蔽掉 访问的时候直接把这地址的数据丢弃\nArgs=>这样的话 如果想全局屏蔽某些网站 貌似NEAppProxyProvider是不行的吧 这个好像是应用内？\n            \"   adapter: direct\" + \"\\n\"   时，代理连接上开始网页浏览后，就自动断开了vpn，请问大神这可能是哪里出现了问题\n            \"   match: true\" + \"\\n\" +\n            \"   country: CN\" + \"\\n\" +\n            \" - type: country\" + \"\\n\" +\n            \"   adapter: \\(uuid)\" + \"\\n\" +\n            \"   match: true\" + \"\\n\" +\n            \"   country: JP\" + \"\\n\" +\n            \" - type: country\" + \"\\n\" +\n            \"   adapter: \\(uuid)\" + \"\\n\" +\n            \"   match: true\" + \"\\n\" +\n            \"   country: US\" + \"\\n\" +\n            \" - type: country\" + \"\\n\" +\n            //\"   adapter: \\(uuid)\" + \"\\n\" +\n            //\" - type: all\" + \"\\n\" +\nsuzee=>@zhuhaow  我配置rule为\"rule:\" + \"\\n\" +\nzhuhaow=>不知道\nzhuhaow=>完全没信息量啊\nsuzee=>没有任何报错信息，只是vpn自动断开，只要开始网络连接请求，vpn就自动断开\nsuzee=>[![屏幕快照 2016-12-27 下午5.44.58.png](https://files.gitter.im/zhuhaow/NEKit/c5T9/thumb/____-2016-12-27-__5.44.58.png)](https://files.gitter.im/zhuhaow/NEKit/c5T9/____-2016-12-27-__5.44.58.png)\nsuzee=>[![屏幕快照 2016-12-27 下午5.44.52.png](https://files.gitter.im/zhuhaow/NEKit/6wBD/thumb/____-2016-12-27-__5.44.52.png)](https://files.gitter.im/zhuhaow/NEKit/6wBD/____-2016-12-27-__5.44.52.png)\nsuzee=>[![屏幕快照 2016-12-27 下午5.44.52.png](https://files.gitter.im/zhuhaow/NEKit/uIXb/thumb/____-2016-12-27-__5.44.52.png)](https://files.gitter.im/zhuhaow/NEKit/uIXb/____-2016-12-27-__5.44.52.png)\nsuzee=>到这里断了，求助，🙏\nzhuhaow=>开tun了？\nsuzee=>没有啊\nsuzee=>只是配置下country那个rule\nsuzee=>然后就出现这个问题\nzhuhaow=>MMDB这个方法返回了nil\nzhuhaow=>看看为什么\nsuzee=>debug进入不了MMDB的构造方法里\nzhuhaow=>你link mmdb了么\nsuzee=>症结所在啊，谢谢大神\nsuzee=>泪目\nArgs=>[![IMG_0346.PNG](https://files.gitter.im/zhuhaow/NEKit/qQd9/thumb/IMG_0346.png)](https://files.gitter.im/zhuhaow/NEKit/qQd9/IMG_0346.PNG)\nArgs=>这样为什么是不通的\nzhuhaow=>这样为什么会能用\nArgs=>(ó﹏ò｡)那应该怎么办呢\nzhuhaow=>processpacket应该在block里面\nArgs=>哦 对\nArgs=>但是总觉得改到里面也不能用。。。\nArgs=>那个packets 原封不动的write 回去能行吗\nzhuhaow=>我不知道你要干嘛\nArgs=>😂是我自己有点蒙圈 我再看看\nzgia=>http://reg.163.com/Logout.jsp?username=pptpz&url=http://mail.163.com/logout.htm%23163|pptpz|1482892699688|false\nzgia=>@zhuhaow 这个地址无法退出网易邮箱\nzgia=>ERR_EMPTY_RESPONSE\nArgs=>[![屏幕快照 2016-12-28 下午5.21.52.png](https://files.gitter.im/zhuhaow/NEKit/uLOm/thumb/____-2016-12-28-__5.21.52.png)](https://files.gitter.im/zhuhaow/NEKit/uLOm/____-2016-12-28-__5.21.52.png)\nArgs=>tunnel里导入NEKit extension会崩在这里\nArgs=>[![屏幕快照 2016-12-28 下午5.21.52.png](https://files.gitter.im/zhuhaow/NEKit/zdXr/thumb/____-2016-12-28-__5.21.52.png)](https://files.gitter.im/zhuhaow/NEKit/zdXr/____-2016-12-28-__5.21.52.png)\nArgs=>😳\nArgs=>dalao知道咋回事不(⊙…⊙)\nzhuhaow=>信息量太大我要判断一下\nArgs=>光import 是没关系的，用到一句NEKit ，哪怕是声明个变量 就会这样\nArgs=>。。。\nzhuhaow=>不过你可以先买本xcode基本操作什么的学习一下\nArgs=>。。。。\nrongxiong=>现在不是支持ssr了吗，怎样设置的？\nzhuhaow=>看readme\nArgs=>Tuninterface 不再用的话，那些操作也直接注释掉吗？比如register Stack之类的。有什么类替换它吗\nzhuhaow=>都删掉\nArgs=>噢。。\nArgs=>[![屏幕快照 2016-12-30 上午10.02.12.png](https://files.gitter.im/zhuhaow/NEKit/EhgX/thumb/____-2016-12-30-__10.02.12.png)](https://files.gitter.im/zhuhaow/NEKit/EhgX/____-2016-12-30-__10.02.12.png)\nArgs=>请问这样初始化对吗\nsoppysonny=>鼓起勇气做一次伸手党...看了一周大神的SpechtLite, 想模仿一下wingy, 原本没有接触过Swift, ReactiveSwift更是不懂, 望能不吝赐教...目前RuleManager设定完Rule, GCDHTTPProxyServer,GCDSOCKS5ProxyServer start之后 大概需要走什么样的流程?\nzhuhaow=>大致上就跑起来了\nsoppysonny=>这...VPN标志没出现呢 怎么才能让VPN标志出现?\nzhuhaow=>route 0.0.0.0/8\nsoppysonny=>我好像还在另一个次元...我再琢磨琢磨吧...\nArgs=>请问tunnel 配置好后，QQ微信不能联网了是什么原因呢 其他应用基本正常\nzhuhaow=>udp direct stack没有加\nArgs=>我看到源码里这个加在TUNinterface上了  可是这个不是不在用了吗\nzhuhaow=>现在不稳定啊\nzhuhaow=>不要route数据啊\nArgs=>额 好 知道了\nArgs=>多谢大佬(´⌣`ʃƪ)\njiangyancong=>你好，想知道既然NEKit可以独立于network extension运行，那么如果只是用来做ss代理的话。是否就没必要使用network extension entitlement？不清楚NEKit和Network Extension一起用是什么场景？目前在土豆丝的代码上已经能够正常跑起VPN，但是发现并没有用到NEKit。看看有没有优化空间。\nzhuhaow=>NEKit是一组工具。没有说非要和什么一起用。\njiangyancong=>好的，我只是回过头来看，当初好像就没有必要申请个开发证书，就可以搞定了。\nAlbertDu=>请问，那个 type 出了 speed还有什么， 从哪里可以看到支持的所有 type 啊，比如手动选择什么的？\nAlbertDu=>（除了）\nAlbertDu=>还是一定要写多个yaml文件进行手动选择？\nzhuhaow=>不知道你在问什么\nAlbertDu=>啊..不好意思，就是我配置了多个adapter , 在选择的时候type可以是 speed（示例里边的）， 我就想问下有没有其他的 type?\nzhuhaow=>那种都可以\nzhuhaow=>你speed里面写的那些都可以\nArgs=>speed http shttp ss sock5 reject \nAlbertDu=>哦哦，我好像知道了\nzhuhaow=>想手动选就建多个yaml\nAlbertDu=>恩恩，我知道了~谢谢~\nAlbertDu=>https://github.com/zhuhaow/SpechtLite/issues/41 开发者您好，您可以测试一下，情况应该可以复现~\nzhuhaow=>你是说ipv6.google.com会dnsfail？\nAlbertDu=>恩，就是这种纯 ipv6地址\nAlbertDu=>不过您要是要复现，应该把 Google 从您的 list里边去掉\nzhuhaow=>因为当前解析的时候只解析ipv4\nzhuhaow=>所以就fail了\nAlbertDu=>哦哦，顺便问一下，现在我们使用的 dns策略是（对proxy使用远程服务器的 dns,对与 direct使用本机 dns ）吗？\nzhuhaow=>是\nAlbertDu=>哦哦，ok~\nAlbertDu=>貌似 Sierra 10.12.1 的开机启动有问题，我电脑从来都没成功，虽然我之前用 SSX-NG, 但是我已经把它设为开机不启动了，不知道是我哪里弄错了？\nArgs=>请问如果adapter是direct,不开tun 应该怎么处理对QQ的影响呢\nzhuhaow=>为什么会对qq有影响呢\nArgs=>(⊙…⊙)不知道啊\nzhuhaow=>我也不知道啊\nArgs=>ヽ(ﾟДﾟ)ﾉ\nArgs=>QQ会显示连不上网 但实际上消息能收到\nArgs=>是和一些UDP 有关吗 就像你之前说的\nzhuhaow=>不route东西为什么会和udp有关\nArgs=>噢。。\nAlbertDu=>开机启动不成功应该看哪里的日志信息啊？\nzhuhaow=>不知道\nzhuhaow=>我不知道问题在哪\nzhuhaow=>时灵时不灵\nAlbertDu=>哦哦这样啊，那祝您早日排掉 bug~\n\nzhuhaow=>……\nzhuhaow=>你们能不能先学一下网络基础\nzhuhaow=>那就不要做了啊\nsuzee=>恩，搞完这个就不做了\nAlbertDu=>您好，SpechtLite版本的更新会不会加入那个check for update?\nzhuhaow=>不然那个是干嘛的\nzhuhaow=>NEKit.Port\nzhuhaow=>正确设置origin了？\nzhuhaow=>试试84fb994这个commit\nzhuhaow=>还不对就是你的问题了\nwangjinwei0806=>能正常工作啊 我一直都使用的是origin  没有遇到问题，还非常稳定啊\nwangjinwei0806=>不是用的 Python 2.8.2 ，shadowsocks-libev(https://teddysun.com/357.html )\nwangjinwei0806=>还有这个https://shadowsocks.be/9.html  也可以\nwangjinwei0806=>Shadowsocks Python  （https://teddysun.com/342.html） 刚在vps安装了  ，还是能正常使用。\nwangjinwei0806=>https://github.com/zhuhaow/NEKit/releases/tag/0.7.3\nwangjinwei0806=>用这个版本试一下 \n我的iOS是9.3.5版本，估计是这个原因？不知楼主有没在这个版本下测试过？” 应该是这个问题 。你看一下作者的changelog\n换了一个网络环境，依然连不上。\nwangjinwei0806=>“@ralphshane\n(2 failures)\n\tCompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler\n\tCompileSwift normal arm64\nYzsXQ=>he following build commands failed:\nclavichord93=>请问SpechtLite怎么导入gfwlist啊，或者说有没有什么靠谱的proxylist。。。之前一直用白名单模式，最近网络状况不太好，打算换黑名单模式试试。。。\nyvbbrjdr=>NEAppProxyProvider和NEPacketTunnelProvider有啥区别？\nyvbbrjdr=>@zhuhaow \nsoppysonny=>有人遇到过 NSExtensionContextVendor _setPrincipalObject:forUUID 这个崩溃吗?\n258076067=>你好，请问NEKIT的dns rewrite request这部分有详细点的资料吗？或者用哪个方法啊？谢谢\nyeye63=>spechtlite什么时候支持SSR的全部混淆协议呀？\nchenyihu=>@zhuhaow  你好，**IPPacket** 的 buildPacket 好像有点问题导致 **UDPDirectStack** 还有 **DNSServer** 工作不正常，我这里 Log 了下，发出去的包是：`DNS, 192.169.89.1:60839 ---> 114.114.114.114:53(114.114.114.114)`, query: www.apple.com，UDPDirectStack 输出的回包是 `UDP, 1.89.169.192:0 <--- 114.114.114.114:0`\nzhuhaow=>即便修了还是不能用的\nchenyihu=>现在主要有哪些问题呢？ 我昨天用了一下，TCPStack 是 OK 的。或许我可以尝试修复下，因为之前已经写过一个功能类似的 App，但是感觉 NEKit 封装的更好一点，所以希望能引入到自己的项目里来。\nzhuhaow=>ok是因为你用的时间短\nzhuhaow=>不要用tuninterface\nchenyihu=>好的，了解\nchenyihu=>tun2socks 可以用吗？\nzhuhaow=>不能\nchenyihu=>了解，非常感谢\nzhang9tian=>有人在吗？\nzhang9tian=>新手用NEKit遇到问题，想请教。\nskyjacker=>想用NEKit做本地广告屏蔽可以吗？ \nzhang9tian=>理论上是可以的哦。把指定域名给直接阻止了。\nzhang9tian=>skyjacker,你用NEKit编译出应用没有？\nskyjacker=>没有啊，我正在下载中\nskyjacker=>刚知道NEKit...\nzhang9tian=>我用carthage自动编译不行，编译出的mac版运行时缺少一个.NEKit_demo.yaml\nArgs=>自己添加进去就好\nzhang9tian=>内容呢？\nzhang9tian=>不知道如何写呢。\nArgs=>哦 你说那个demo啊 库编译好就行了吧 demo不用运行 \nskyjacker=>我是想在iOS上用\nzhang9tian=>我也是想在IOS上用。IOS的demo没有。我想先看看mac的。\nzhang9tian=>这里有没有哪位同学完成IOS的demo的，给点建议？\nzhang9tian=>那个yaml的配置如何编写？\nArgs=>Github 里有些其他项目的链接 你可以去看看\n\nArgs=>Specht之类的\nchenyihu=>这两天在 iOS 上试用了下 NEKit 的 TCPStack，其中 tun2socks 有两个会导致 crash 的地方修正了一下，然后运行了一段较长的时间因为内存占用过多被系统杀死了，暂时没查出是什么地方内存管理出了问题。\nchenyihu=>UDPDirectStack 也重写了一个，运行正常\nchenyihu=>@zhuhaow 我做了一些修改，使 NEKit 的 UDPDirectStack 可以正常使用了  https://github.com/zhuhaow/NEKit/pull/51\npartyspy=>@zhuhaow 哥 你讲的DNS查询时用到Fake IP Pool是何原因? 硬是没看明白那段.\n\nzhuhaow=>？\npartyspy=>GCDProxyServer.swfit里的start()内会产生崩溃试过么. 崩溃于这句listenSocket = GCDAsyncSocket(delegate: self, delegateQueue: QueueFactory.getQueue(), socketQueue: QueueFactory.getQueue())\npartyspy=>EXC_BAD_ACCESS(code=1, address=0x00)\npartyspy=>[![blob](https://files.gitter.im/zhuhaow/NEKit/7eMv/thumb/blob.png)](https://files.gitter.im/zhuhaow/NEKit/7eMv/blob)\nchenyihu=>@partyspy  因为 IP 和域名不是一一对应关系，需要使用 IP Pool 将它强制成一对一关系，这样才能反查出域名。\npartyspy=>@chenyihu 谢谢回答. 还没完全明白, 我再想想看\npartyspy=>导入NEKit时我遇到各种框架依赖导致的错误, 你们是怎么导入的. 直接拖还是用Carthage?\nArgs=>直接拖\n  Reason: image not found\n  Referenced from: /private/var/containers/Bundle/Application/277AA390-9207-49EF-9E5A-3D9C528C19EA/WaterDrop.app/Frameworks/NEKit.framework/NEKit\npartyspy=>dyld: Library not loaded: @rpath/Resolver.framework/Resolver\npartyspy=>直接拖时, 启动时会遇到这错误\npartyspy=>在主工程的target里, 是不是只需嵌入NEKit.framework和NetworkExtension.framework就可以了?\n2. I am looking using the `TUNInterface, you say it doesn't work, what needs to be done for it to work? I am wondering if I can help.\nmcfedr=>Hi, 1. Really happy I found NEKit, thanks for the hard work!\nzhuhaow=>当然不是\npartyspy=>nekit依赖的框架全部在主工程又添加一遍吗?\nzhuhaow=>Well, some crash should be fixed by the latest pull request, allegedly. I haven't tried it yet. But there are still some memory leakage in tun2socks\nzhuhaow=>这样的，NEKit是让懂的人不要重复劳动，不是降低门槛\nzhuhaow=>如果你对iOS开发怎么搞在概念上有疑问\nzhuhaow=>应该先学一下\nzhuhaow=>所有在NEKit的编译时候标为required的都要加上\npartyspy=>好 明白了\nchenyihu=>iOS 10 似乎放开了内存限制，实际使用  TCPStack 半天后内存涨到了 50 M 左右，但是仍然未被系统杀死。\nmcfedr=>I see.\nmcfedr=>I might try out your pull request then\nchenyihu=>@mcfedr   https://github.com/zhuhaow/NEKit/issues/50    https://github.com/zhuhaow/tun2socks/pulls?q=is%3Apr+is%3Aclosed\npartyspy=>全部框架都添加进主工程了. 实在不知哪里出问题. 真机安装时报错App installation failed Could not inspect the application package.\npartyspy=>有人遇到过吗\npartyspy=>加一个NEKit依赖的框架(比如Resolver.framework)进主工程, 则报上述错误. 若不加, 则为dyld: Library not loaded: 之类的错误.\npartyspy=>环境 Xcode8.1+ iOS9.3.3\ntwenky-kiki=>hello， 大家好，我最近在研究Network Extension，希望能获得大家的指点啊\ntwenky-kiki=>请问，有没有什么比较好的使用NETunnelProvider的例子或者文章呢，我下了苹果官方的SimpleTunnel，服务端和客户端都编好运行了，但是不知道怎么填配置文件让她们可以连起来\nchenyihu=>@zhuhaow  https://github.com/zhuhaow/libnekit  会支持 tun2socks 吗？\ntwenky-kiki=>请问有人用过SimpleTunnel，客户端和服务端连接起来了吗\nzhuhaow=>@chenyihu 会\nzscorpio=>我如果问https://github.com/zhuhaow/Specht  github \"zhuhaow/NEKit\" \"0.3.0\"编译不过....是不是不太好....\nzscorpio=>本来想走一遍流程....\nArgs=>是 \nArgs=>容易被大佬打死\nzscorpio=>那我还是用最新版本自己写个demo吧...那个nekit版本也有点小...\ntwenky-kiki=>@xie\ntwenky-kiki=>@zscorpio 如果您写出来了能发我一份吗？我也不想做伸手党，目前也编译有问题，正在努力改\ntwenky-kiki=>另外想问大家一个问题，我现在有一个特简单的需求，就是想对ios上特定域名的流量做过滤，比如对所有baidu的流量过滤掉，我的想法是，用NETunnelProvider连个简单的服务器，只对特定的域名流量走这个服务器，服务器上把所有收到的包都直接弃掉不处理，请问这种处理方案可行吗\nwangjinwei0806=> NEKit 大神 早就用提供了demo，https://github.com/zhuhaow/Specht，只是这个不是swift3的，这个demo 是能运行的 ！\nzscorpio=>@twenky-kiki 我先试试吧,不确定可以.\nzscorpio=>@wangjinwei0806 我是这个运行不起来...尴尬\ntwenky-kiki=>@zscorpio 好的，谢谢啦\nkobeLw=>大神 为什么我的项目一直不走NEPacketTunnelProvider的startTunnelWithOptions方法?\npartyspy=>你开了extension调试了吗\nkobeLw=>怎么开?\npartyspy=>Debug>>Attach to process...\nzscorpio=>我这两天也一直被困恼....有时候可以,有时候就是进不去,但是看系统的console却是可以,这样很尴尬啊....\nzscorpio=>好像当vpn连接不对的时候,就会死活上不去....\nkobeLw=>我能把应用加到vpn里,但是点连接一直连接不上\n\t\t\t\t\t})\n\t\t\t\t\t\tself.updateVPNStatus(manager)\nzscorpio=>@kobeLw 你NotificationCenter.default.addObserver(forName: NSNotification.Name.NEVPNStatusDidChange, object: manager.connection, queue: OperationQueue.main, using: { [unowned self] (notification) -> Void in\nzscorpio=>看manager.connection.status \nzscorpio=>估计和我一样是connecting之后就直接disconnect了\npartyspy=>还是得看它报什么错\nzscorpio=>strat不报错的\nzscorpio=>我是start不报错的\nkobeLw=>@partyspy 就是不报错   就是不走startTunnelWithOptions这个方法\npartyspy=>如果startTunnelWithOptions:都进不去, 一般来说应该是Extension在启动时就崩溃了. \nzscorpio=>@kobeLw 你和我一样startTunnelWithOptions nslog一下看系统的console吧\npartyspy=>我的经验是可能跟框架依赖或者项目授权的某些设定不妥相关..\nkobeLw=>@zscorpio 在哪里nslog\nzscorpio=>@kobeLw startTunnelWithOptions里面\nkobeLw=>@partyspy capabilities里面要打开哪些?\npartyspy=>我开了PersonalVPN和App Group\npartyspy=>我之前试过personalVPN没开会导致你说的那个问题\nzscorpio=>我看了系统的报错\n\n默认\t15:38:48.456775 +0800\tNESwift\tvpn disconnecting\n默认\t15:38:48.454836 +0800\tnesessionmanager\tNESMVPNSession[SwiftVPN:0B03F2A6-05A6-4427-A268-C8469D7196F8]: status changed to disconnecting\n错误\t15:38:48.453097 +0800\tnesessionmanager\tim.tt.vpn[5673]: dropping a message because the current state is not \"started\" (0)\n错误\t15:38:48.451847 +0800\tnesessionmanager\tim.tt.vpn[5673]: dropping a message because the current state is not \"started\" (0)\n默认\t15:38:48.449437 +0800\tNESwift\tvpn connecting\n默认\t15:38:48.445210 +0800\tpkd\tNo plugins found to match query <private>\n默认\t15:38:48.443006 +0800\tNESwift\tvpn connecting\n错误\t15:38:48.442590 +0800\tneagent\tNEAgentSession: failed to initialize the delegate\n错误\t15:38:48.440250 +0800\tneagent\tFailed to create an NSExtension with type im.tt.vpn: (null)\n默认\t15:38:48.432361 +0800\tnesessionmanager\tNESMVPNSession[SwiftVPN:0B03F2A6-05A6-4427-A268-C8469D7196F8]: status changed to connecting\nzscorpio=>默认\t15:38:48.426097 +0800\tnesessionmanager\tNESMVPNSession[SwiftVPN:0B03F2A6-05A6-4427-A268-C8469D7196F8]: Received a start command from NESwift[5658]\nzscorpio=>neagent Failed to create an NSExtension with type im.tt.vpn: (null)\nzscorpio=>https://forums.developer.apple.com/thread/31167\nkobeLw=>这个咋解决..\n\t\t\t\tconfiguration.providerConfiguration = [\"lol\":1]\nzscorpio=>\t\t\t\tconfiguration.providerBundleIdentifier = \"im.tt.vpn.tunnel\"\nzscorpio=>我代码加了这2行之后好像进了断电\nzscorpio=>不过我之前没加 经过断点,后来不知道怎么挂了\nkobeLw=>试了各种办法  就是不走那个方法...\nzscorpio=>@zhuhaow 库封装完美....暂时用起来没什么问题,准备再去找找shadowsocks的配置方法....然后再看看源码...\nchenyihu=>@zscorpio  提示这个错误有可能 1. 没有设置正确的 .entitlements 文件。2. 没有把需要的 framework 复制到 App bundle 内，你看下 Carthage 的文档。\nkobeLw=>@chenyihu  .entitlements文件应该怎么设置啊？\njiangyancong=>请问有人知道怎样让用户不能通过设置->通用->VPN去连接VPN，只能通过App去连接呢？应该是NETunnelProviderManager在saveToPreferences之前做一些设置？我看openVPN就是，只能用App去连，不能用在设置里面来连。\njiangyancong=>@kobeLw entitlements文件在开发者的证书里面打开相关选项，然后把provision文件同步到xcode就可以。\npartyspy=>![](https://files.gitter.im/zhuhaow/NEKit/V2E4/____-2016-12-16-__2.48.44.png)\npartyspy=>我也遇到这问题. 看聊天记录也有这个. 楼主说不要用TUNInterface是什么意思? @zhuhaow \npartyspy=>不用它岂不是没入口了?\nwangjinwei0806=>https://github.com/zhuhaow/Specht/blob/master/SpechtTunnelPacketProvider/PacketTunnelProvider.swift#L7\nwangjinwei0806=>这里设置为false  就不会走这种错误出现了\npartyspy=>谢谢!\npartyspy=>我试下\npartyspy=>那东西不用岂不是操作不了packetFlow了?\nzscorpio=>这几天看了potatso的源代码...才发现这东西好像还需要c的基础....\nzscorpio=>想问问你们都看得懂源代码么..."
  }
]